/* PHM UI LAB 1 · Presentation only. The original stylesheet remains intact. */
:root {
  --lab-ink:#182b3b; --lab-muted:#586c7b; --lab-brand:#086b68;
  --lab-brand-dark:#07524f; --lab-accent:#dbf2ec; --lab-bg:#f2f5f7;
  --lab-surface:#fff; --lab-line:#dce4e9; --lab-success:#16744a;
  --lab-warning:#9a5a08; --lab-danger:#b32c35;
  --lab-font:"Segoe UI",system-ui,-apple-system,sans-serif;
  --lab-text:14px; --lab-small:12px; --lab-title:21px;
  --lab-space-1:4px; --lab-space-2:8px; --lab-space-3:12px;
  --lab-space-4:16px; --lab-space-5:24px; --lab-space-6:32px;
  --lab-radius:10px; --lab-radius-sm:6px; --lab-shadow:0 3px 16px #15334608;
  --lab-control:38px; --lab-touch:48px;
  --lab-z-sticky:20; --lab-z-tools:30; --lab-z-overlay:100; --lab-z-keyboard:5000;
  --lab-kb-height:0px;
  --black:var(--lab-ink); --muted:var(--lab-muted); --white:var(--lab-surface);
  --cyan:var(--lab-brand); --cyan-dark:var(--lab-brand-dark); --cyan-soft:var(--lab-accent);
  --line:var(--lab-line); --success:var(--lab-success); --danger:var(--lab-danger);
  --warning:var(--lab-warning);
  font-family:var(--lab-font); color:var(--lab-ink); background:var(--lab-bg);
}
body {font-family:var(--lab-font);font-size:var(--lab-text);background:var(--lab-bg);color:var(--lab-ink)}
button,input,select,textarea,summary {font-family:inherit}
button {min-height:var(--lab-control);border-radius:var(--lab-radius-sm);font-size:13px;font-weight:600;transition:background .12s,border-color .12s;touch-action:manipulation}
button.primary {background:var(--lab-brand);border-color:var(--lab-brand);color:#fff;box-shadow:none}
button.primary:hover:not(:disabled) {background:var(--lab-brand-dark)}
button.secondary {background:#fff;border:1px solid #cbd7de;color:var(--lab-ink)}
button.secondary:hover:not(:disabled) {background:#edf5f3;border-color:var(--lab-brand)}
button:disabled {opacity:.5;cursor:not-allowed}
:is(button,input,select,textarea,summary):focus-visible {outline:3px solid #2a9b8c;outline-offset:2px}
input:not([type=checkbox]):not([type=radio]),select,textarea {min-height:var(--lab-control);border:1px solid #c9d5dc;border-radius:var(--lab-radius-sm);padding:8px 10px;font-size:14px;background:#fff;color:var(--lab-ink);max-width:100%}
input:disabled,select:disabled,textarea:disabled,input[readonly] {background:#f3f6f8;color:#607483}
input[type=checkbox],input[type=radio] {accent-color:var(--lab-brand);width:18px;height:18px}
label {font-size:12px;font-weight:600;line-height:1.45;gap:6px;color:#405566}
h1,h2,h3,h4 {font-family:inherit;color:var(--lab-ink);line-height:1.3;letter-spacing:-.02em}
h2 {font-size:var(--lab-title);margin:0 0 8px}
h3 {font-size:16px;margin:0 0 10px}
h4 {font-size:14px}
.muted {color:var(--lab-muted);line-height:1.5}
.card {padding:18px;border:1px solid var(--lab-line);border-radius:var(--lab-radius);box-shadow:var(--lab-shadow);background:#fff}
.cardHead {align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.cardHead h2,.cardHead h3 {margin:0}
.cardHead p {margin:5px 0 0;max-width:84ch}
.grid,.formGrid {gap:var(--lab-space-3)}
.stat,.miniStat {border-radius:8px;border-color:var(--lab-line);box-shadow:none;min-height:0}
.systemMasterStats {grid-template-columns:repeat(4,minmax(0,1fr))}
.globalAdminHero,.systemMastersHero {min-height:0;padding:16px}
.stat {padding:12px 16px;border-top:1px solid var(--lab-line)}
.stat strong,.miniStat strong {font-size:24px;letter-spacing:-.025em}
.stat span,.miniStat span {color:var(--lab-muted);font-size:12px}
.statusTag,.moduleAvailability,.permissionPills span {border-radius:5px;font-weight:600;line-height:1.4}
.inlineMessage,.securityNote,.info {border-radius:7px;line-height:1.5;font-size:13px}
.inlineMessage:empty {display:none}
.inlineMessage.success {background:#edf8f2;color:#146640;border-color:#b7ddc5}
.inlineMessage.error,.errorText:not(:empty) {background:#fff1f1;color:#a61f2b;border-color:#edbcc0;padding:12px}
.inlineMessage.warn {background:#fff7e8;color:#86500b;border-color:#ead4ac}
.toastContainer {z-index:var(--lab-z-overlay)}
/* Shell and compact context */
#appShell>header {min-height:64px;padding:9px 18px;background:#102d3b;border:0;gap:16px;box-shadow:0 1px 0 #ffffff15}
#appShell>header h1 {font-size:17px;color:#fff;letter-spacing:-.02em}
.appBrandLogoWrap {padding:3px 7px;border-radius:6px}
.appBrandLogo {width:116px;max-height:38px;object-fit:contain}
.headright {gap:8px;flex-wrap:wrap}
.headright .headerBtn {min-height:36px;font-size:12px;border-color:#ffffff30;background:transparent}
.headright .headerBtn:hover {background:#ffffff12}
#empresaBadge,#usuarioBadge {max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.moduleSidebar {background:#fff;border-right:1px solid var(--lab-line);width:238px;flex-basis:238px;padding:16px 10px}
.moduleSidebarTitle {color:var(--lab-ink);padding:0 10px 14px;border-bottom:1px solid var(--lab-line)}
.moduleSidebarTitle strong {color:var(--lab-ink);font-size:17px}
.moduleSidebarTitle small,.moduleSidebarEyebrow,.moduleSidebarDivider {color:var(--lab-muted)}
.moduleSideButton {color:var(--lab-ink);border:1px solid transparent;padding:10px;margin:4px 0;border-radius:8px;min-height:54px}
.moduleSideButton strong {font-size:13px;color:var(--lab-ink)}
.moduleSideButton.active strong {color:var(--lab-brand-dark)}
.moduleHomeButton.active small {color:var(--lab-brand-dark)}
.moduleSideButton small {color:var(--lab-muted);font-size:11px}
.moduleSideButton:hover {background:#f1f5f7}
.moduleSideButton.active {background:var(--lab-accent);border-color:#baded3;color:var(--lab-brand-dark);box-shadow:inset 3px 0 var(--lab-brand)}
.moduleIcon {background:#edf3f5!important;border-radius:7px!important;color:var(--lab-brand)}
.moduleSubmenu {border-color:var(--lab-line);margin-left:12px}
.moduleSubmenuButton {color:#405566;border-radius:6px;min-height:40px}
.moduleSubmenuButton:hover,.moduleSubmenuButton.active {background:var(--lab-accent);color:var(--lab-brand-dark)}
.moduleSubmenuContext {color:var(--lab-muted)}
.sidebarCollapseBtn {color:var(--lab-ink);background:#f1f5f7;border:1px solid var(--lab-line)}
.sidebarRailToggle {background:var(--lab-brand);color:#fff}
.moduleContextBar {display:flex!important;padding:10px 20px;background:#fff;min-height:58px;gap:12px}
.moduleContextBar strong {font-size:16px;color:var(--lab-ink)}
.moduleContextEyebrow {font-size:10px;color:var(--lab-muted);letter-spacing:.09em}
.moduleContextStatus {border-color:var(--lab-line);background:#f5f7f8;color:#405566}
.moduleProjectContext select {min-height:34px;max-width:270px}
.moduleWorkspace main {padding:18px}
.sectionSubnav {gap:4px;padding:4px;background:#e9eff2;border:0;border-radius:8px;margin-bottom:16px;flex-wrap:wrap}
.sectionSubnav button {border:0;background:transparent;color:#526777;border-radius:6px;font-size:12px;padding:8px 12px}
.sectionSubnav button.active {background:#fff;color:var(--lab-brand-dark);box-shadow:0 1px 4px #17364714}
.lab-version {display:inline-flex;align-items:center;gap:6px;background:#e9f3ef;color:#145c4c;border:1px solid #c1ded3;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:750;letter-spacing:.04em;white-space:nowrap}
.lab-shell-tools {display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.lab-shell-tools button {font-size:11px;min-height:32px;padding:5px 8px}
.lab-shell-tools button[aria-pressed=true] {background:var(--lab-accent);border-color:var(--lab-brand);color:var(--lab-brand-dark)}
.lab-section-line {font-size:12px;color:var(--lab-muted);margin-top:3px}
.lab-section-line:empty,.lab-main-title {display:none}
.lab-context-icon {float:left;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--lab-accent);color:var(--lab-brand);margin-right:10px}
#accountsPayableLastSyncStat {font-size:14px;line-height:1.5}
/* Home: useful choices without oversized cards. */
.moduleLandingHero {border:1px solid var(--lab-line);padding:20px 24px;margin-bottom:16px;background:#fff;box-shadow:none}
.moduleLandingHero h2 {font-size:25px;margin:5px 0}
.moduleLandingKicker {font-size:10px;letter-spacing:.12em;color:var(--lab-brand)}
.moduleLandingProject {background:#f3f7f7;border-color:var(--lab-line);padding:12px 16px;min-width:220px}
.moduleLandingProject strong {font-size:15px}
.moduleCardsGrid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.moduleCard {min-height:155px;border:1px solid var(--lab-line);border-radius:10px;padding:18px;background:#fff;box-shadow:none;text-align:left;position:relative}
.moduleCard.roadmapPriority {border:1px solid var(--lab-line);background:#fff}
.moduleCard:hover:not(:disabled) {border-color:#6aa99a;background:#f9fcfb;transform:none;box-shadow:0 2px 8px #123a3010}
.moduleCard h3 {font-size:17px;margin:10px 0 6px}
.moduleCard p {font-size:12px;line-height:1.5;margin:0;max-width:70ch}
.moduleCardIcon {font-size:22px}
.moduleCard .moduleAreas {margin-top:12px}
.moduleAreas span {background:#f0f5f6;color:#536c77;font-size:10px;border-radius:4px}
.moduleSessionSummary {margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.moduleSessionSummary .stat strong {font-size:17px}
.moduleSectionChooserCard {max-width:850px;margin:20px auto}
/* Table system: preserve the existing resize / column component. */
.tableWrap {border:1px solid var(--lab-line);border-radius:8px;overflow:auto;overscroll-behavior:contain;max-width:100%}
table.dataTable {font-size:12px;border-collapse:separate;border-spacing:0}
table.dataTable th {position:sticky;top:0;background:#edf3f5;color:#405566;font-size:11px;font-weight:700;line-height:1.35;z-index:2;border-bottom:1px solid #ccd9e0;padding:11px 10px}
table.dataTable td {padding:10px;border-bottom:1px solid #e8eef1;line-height:1.4;vertical-align:middle}
table.dataTable tbody tr:nth-child(even) {background:#f8fafb}
table.dataTable tbody tr:hover {background:#edf6f4}
table.dataTable tbody tr:focus-within {background:#e3f2ed;outline:2px solid #58a68b;outline-offset:-2px}
.lab-search-excluded {display:none!important}
.dataTable .moneyCol,.dataTable .num,.dataTable .number {text-align:right;font-variant-numeric:tabular-nums}
.dataTable .lab-date-cell {text-align:center;font-variant-numeric:tabular-nums}
.phmGridToolbar {gap:8px;margin:5px 0;min-height:36px;z-index:var(--lab-z-tools)}
.phmGridToolbar button,.phmGridColumnMenu>summary,.consultColumnSelector>summary {min-height:34px;padding:7px 10px;font-size:12px;border-radius:6px;border-color:#cbd7de;background:#fff;color:var(--lab-ink)}
.phmGridHint {font-size:11px;color:var(--lab-muted)}
.phmGridColumnMenuPanel,.consultColumnSelectorMenu {border:1px solid var(--lab-line);box-shadow:0 12px 36px #18364624;border-radius:8px;max-height:min(420px,65vh);overflow:auto}
.phmGridColumnMenuPanel label,.consultColumnSelectorMenu label {padding:7px;min-height:36px}
.phmGridResizeHandle {width:12px!important;right:-5px!important;touch-action:none}
.inventoryTableToolbar {padding:0;margin:8px 0;gap:8px;background:transparent;border:0;min-height:36px}
.inventoryTableToolbarNote {font-size:11px;max-width:65ch;color:var(--lab-muted)}
.lab-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.lab-actions:empty {display:none}
.lab-filter-host {display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;grid-template-columns:none!important;margin:8px 0!important}
.lab-filter-host>.phmGridToolbar {margin:0;flex:1 1 auto}
.lab-filter-host>.phmGridToolbar .phmGridHint {display:none}
.lab-filter-host>.inventoryTableToolbar {display:contents}
.lab-filter-host>.inventoryTableToolbar .lab-help {margin:0;font-size:11px}
.accountsPayableActions:has(.lab-native-filter-action) {display:none}
.lab-filter-trigger {display:inline-flex;gap:7px;align-items:center}
.lab-filter-trigger[aria-expanded=true] {border-color:var(--lab-brand);background:var(--lab-accent)}
.lab-chips {display:flex;flex-wrap:wrap;gap:6px;width:100%;margin:0 0 4px}
.lab-chips:empty {display:none}
.lab-chip {min-height:28px;border:1px solid #cae0d9;background:#edf7f3;color:#205c4b;font-size:11px;padding:4px 8px;border-radius:5px;max-width:100%;white-space:normal;text-align:left}
.lab-native-filter-action {display:none!important}
.lab-date-range {font-size:12px;color:var(--lab-muted)}
dialog {border:1px solid var(--lab-line);border-radius:12px;box-shadow:0 20px 70px #102a3c33;color:var(--lab-ink);max-width:calc(100vw - 24px)}
dialog::backdrop {background:#102b3b70;backdrop-filter:blur(2px)}
dialog.lab-drawer {position:fixed;inset:0 0 0 auto;margin:0;width:420px;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--lab-line);border-radius:0;padding:0;overflow:auto}
dialog.lab-date-dialog {margin:auto;inset:0;width:440px;height:fit-content;max-height:90dvh;border-radius:12px}
.lab-drawer-head {padding:20px;border-bottom:1px solid var(--lab-line);display:flex;gap:12px;align-items:center;justify-content:space-between}
.lab-drawer-head h2 {font-size:19px;margin:0}
.lab-drawer-body {padding:20px;display:grid;gap:16px;grid-template-columns:1fr}
.lab-drawer-body label {display:flex;flex-direction:column;gap:7px;min-width:0;width:100%}
.lab-drawer-body :is(input,select) {width:100%;min-height:44px}
.lab-drawer-foot {display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px;background:#f6f9fa;border-top:1px solid var(--lab-line);position:sticky;bottom:0;z-index:2}
.lab-drawer-foot .primary {margin-left:auto}
.lab-presets {display:flex;flex-wrap:wrap;gap:6px;padding:16px 20px 0}
.lab-help {margin:6px 0 12px;font-size:12px}
.lab-help>summary {color:var(--lab-muted);cursor:pointer;padding:5px 0;width:fit-content;min-height:28px}
.lab-help[open] {padding:8px 12px;border-left:2px solid #b6d4c9;background:#f6faf8}
.lab-help p {margin:5px 0;max-width:95ch}
/* Dedicated field / warehouse workspaces. */
#tabletRegisterPanel .tabletCard,#inventoryDeliveryPanel .tabletCard {max-width:1100px;margin-inline:auto}
.lab-touch-steps {display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;padding:0;list-style:none}
.lab-touch-steps button {background:#eef4f5;border:1px solid var(--lab-line);color:#436171;min-height:40px;font-size:12px;padding:8px 12px}
.lab-touch-steps b {display:inline-grid;place-items:center;width:22px;height:22px;background:#fff;border-radius:50%;margin-right:7px;color:var(--lab-brand)}
#tabletRegisterPanel :is(select,input:not([type=checkbox]),textarea,button),
#inventoryDeliveryPanel :is(select,input:not([type=checkbox]),textarea,button),
#inventorySlipsPanel :is(select,input:not([type=checkbox]),textarea,button) {min-height:48px;font-size:15px}
#tabletRegisterPanel label,#inventoryDeliveryPanel label,#inventorySlipsPanel label {font-size:13px}
#tabletRegisterPanel input[type=checkbox],#inventoryDeliveryPanel input[type=checkbox],#inventorySlipsPanel input[type=checkbox] {min-width:48px;min-height:48px;margin:0;cursor:pointer}
#tabletRegisterPanel .progressStatus {padding:12px;margin:12px 0;background:#eef6f3;border:1px solid #d2e6dd;border-radius:8px}
#tabletRegisterPanel .progressStatus strong {font-size:23px;color:var(--lab-brand-dark)}
#tabletRegisterPanel #fieldPercentage {font-size:28px;font-weight:650}
.lab-sticky-action {position:sticky;bottom:0;z-index:var(--lab-z-sticky);box-shadow:0 -5px 18px #fff;min-height:50px!important;margin-top:14px}
.lab-camera-actions {display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.lab-camera-actions button {min-width:120px}
input[type=file]::file-selector-button {min-height:40px;border:0;border-radius:6px;background:#e7f2ed;color:#145b48;padding:8px 14px;margin-right:12px;cursor:pointer}
.lab-touch-search {display:block;margin:14px 0}
.lab-touch-search input {width:100%}
.lab-material-summary {padding:8px 12px;background:#edf5f2;border:1px solid #cce2d8;border-radius:6px;font-size:12px;color:#285c4a;margin:8px 0}
html[data-lab-touch=on] :is(button,summary,select,input:not([type=checkbox]):not([type=radio]),textarea) {min-height:48px}
html[data-lab-touch=on] button,#tabletRegisterPanel button,#inventoryDeliveryPanel button,#inventorySlipsPanel button {min-width:48px}
html[data-lab-touch=on] :is(.moduleSubmenuButton,.sectionSubnav button) {min-height:48px}
html[data-lab-touch=on] :is(input[type=checkbox],input[type=radio]) {width:24px;height:24px}
html[data-lab-touch=on] :is(.phmGridColumnMenuPanel,.consultColumnSelectorMenu) label {min-height:48px}
/* PHM keyboard: optional, local, restricted to the field workspaces. */
.lab-keyboard {position:fixed;bottom:0;left:0;right:0;z-index:var(--lab-z-keyboard);padding:10px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));background:#e5edef;box-shadow:0 -8px 30px #12334424;border-top:1px solid #b6c9d1;max-height:48dvh;overflow:auto}
.lab-keyboard-inner {max-width:920px;margin:auto}
.lab-keyboard-head {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12px;color:#405b69}
.lab-keyboard-value {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.lab-keyboard-row {display:flex;justify-content:center;gap:5px;margin:5px 0}
.lab-keyboard-row button {flex:1;min-width:0;max-width:78px;min-height:48px!important;padding:7px 3px;border:1px solid #bccdd3;border-radius:7px;background:#fff;color:#163c4c;font-size:17px!important;box-shadow:0 2px 0 #bdd0d8}
.lab-keyboard-row button:active {background:#d0e8df;transform:translateY(1px)}
.lab-keyboard-row .lab-wide-key {max-width:220px;flex:2;font-size:13px!important}
.lab-keyboard-row .primary {background:var(--lab-brand);color:#fff;border-color:var(--lab-brand)}
.lab-keyboard[data-kind=number] .lab-keyboard-inner {max-width:520px}
.lab-keyboard[data-kind=number] .lab-keyboard-row button {max-width:none}
html[data-lab-keyboard=open]:not([data-lab-keyboard-kind=text]) .moduleWorkspace main>.view {padding-bottom:calc(var(--lab-kb-height) + 24px)!important}
html[data-lab-keyboard=open]:not([data-lab-keyboard-kind=text]) .lab-sticky-action {position:static}
html[data-lab-keyboard=open]:not([data-lab-keyboard-kind=text]) dialog[open] {padding-bottom:var(--lab-kb-height)}
/* Login uses the supplied brand asset, with a quieter hierarchy. */
.loginScreen {background:#edf2f4;background-image:linear-gradient(120deg,#e7efef 0%,#f4f7f8 65%);padding:32px 20px}
.phmLoginCard {max-width:460px;padding:28px 32px;border-radius:14px;border:1px solid #d5e0e5;box-shadow:0 16px 55px #16344812}
.loginBrandLogo {max-width:310px;margin-bottom:16px}
.loginBrand h1 {font-size:23px}
.moduleKicker {background:var(--lab-accent);color:var(--lab-brand-dark);font-size:10px}
.loginBrand>.muted {font-size:12px}
.loginCard label {margin:14px 0}
.loginCard #loginBtn {min-height:46px;margin-top:5px}
.loginCard .securityNote {font-size:11px;background:#f3f6f7;border-color:var(--lab-line)}
.lab-login-note {margin:0 0 14px;text-align:center;font-size:11px;color:#786026}
@media(min-width:900px) {
  #tabletRegisterPanel .tabletCard {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px}
  #tabletRegisterPanel .tabletCard>* {margin-top:0;margin-bottom:0}
  #tabletRegisterPanel .tabletCard>:is(h2,.lab-touch-steps,.lab-help,.inlineMessage,.progressStatus,.lab-sticky-action) {grid-column:1/-1}
  #tabletRegisterPanel .tabletCard>.formGrid {grid-column:1/-1}
}
@media(max-width:1100px) {
  .moduleCardsGrid {grid-template-columns:repeat(2,minmax(0,1fr))}
  #appShell>header {padding:8px 12px;gap:8px;flex-wrap:wrap}
  #appModuleName {font-size:15px}
  #usuarioBadge {max-width:140px}
  .moduleContextBar {padding:8px 12px;flex-wrap:wrap}
  .moduleWorkspace main {padding:12px}
  .lab-shell-tools {gap:5px}
  .card {padding:14px}
  .moduleLandingHero {padding:18px}
  .headright {gap:5px}
}
@media(max-width:760px) {
  .systemMasterStats,.accountsPayableStats {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .accountsPayableStats .miniStat {padding:10px}
  .accountsPayableStats .miniStat strong {font-size:20px}
  .accountsPayableStats #accountsPayableLastSyncStat {font-size:12px}
  #appShell>header {align-items:center;min-height:58px}
  .appBrandLogo {width:90px;max-height:30px}
  .appBrand {min-width:0}
  .headright {width:100%;padding-top:4px}
  #empresaBadge {max-width:160px}
  #usuarioBadge {max-width:120px;font-size:10px}
  .headright .headerBtn {padding:6px 8px;min-height:38px}
  .moduleSidebar {display:block;background:#fff;z-index:90}
  .moduleSidebarTitle {display:block}
  .moduleSideButton {width:100%;flex-basis:auto}
  .moduleSidebarDivider {display:block}
  .moduleContextBar {gap:8px}
  .moduleContextActions {flex-wrap:wrap;gap:6px;min-width:0}
  .lab-shell-tools {width:100%}
  .lab-version {font-size:9px}
  .moduleCardsGrid {grid-template-columns:1fr}
  .moduleCard {min-height:145px;padding:16px}
  .moduleLandingHero h2 {font-size:22px}
  .moduleLandingProject {min-width:0;margin-top:12px}
  .moduleSessionSummary {grid-template-columns:1fr}
  .cardHead {align-items:flex-start}
  .cardHead h2,h2 {font-size:19px}
  .formGrid {grid-template-columns:1fr}
  .tableWrap {width:100%;max-width:100%}
  .phmGridHint {display:none}
  .lab-keyboard {padding-inline:5px}
  .lab-keyboard-row {gap:3px}
  .lab-keyboard-row button {font-size:14px!important;min-height:44px!important}
  .lab-keyboard-row .lab-wide-key {font-size:11px!important}
  .lab-drawer-body {padding:16px}
}
@media(prefers-reduced-motion:reduce) {*{scroll-behavior:auto!important;transition:none!important}}
@media print {
  .lab-shell-tools,.lab-version,.lab-keyboard,.lab-actions,.lab-filter-host,.lab-touch-steps,.lab-camera-actions,.lab-help>summary {display:none!important}
  .lab-sticky-action {position:static}
  .card {box-shadow:none}
}
/* UI LAB 1.1: only the alphanumeric keyboard becomes a contextual floating panel. */
.lab-keyboard[data-kind=text] {inset:auto;position:fixed;box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:none;margin:0;padding:9px 10px;border:1px solid #b6c9d1;border-radius:12px;box-shadow:0 5px 20px #12334424;overflow:visible}
.lab-keyboard[data-kind=text]::backdrop {background:transparent;pointer-events:none}
.lab-keyboard[data-kind=text] .lab-keyboard-inner {max-width:none;margin:0}
.lab-keyboard[data-kind=text] .lab-keyboard-head {margin:0 0 5px;gap:8px;min-height:32px}
.lab-keyboard[data-kind=text] .lab-keyboard-head button {min-width:0!important;min-height:32px!important;height:32px;padding:3px 9px;font-size:12px}
.lab-keyboard[data-kind=text] .lab-keyboard-row {gap:4px;margin:4px 0}
.lab-keyboard[data-kind=text] .lab-keyboard-row button {min-width:0!important;min-height:40px!important;height:40px;max-width:none;padding:3px 2px;line-height:1.1;font-size:15px!important}
.lab-keyboard[data-kind=text] .lab-keyboard-row .lab-wide-key {flex:1.35;font-size:12px!important}
.lab-keyboard[data-kind=text] .lab-alphabet-actions .lab-space-key {flex:2}
.lab-keyboard[data-kind=text] .lab-alphabet-actions .lab-key {flex:.65}
@media(max-width:440px) {
  .lab-keyboard[data-kind=text] {padding:8px}
  .lab-keyboard[data-kind=text] .lab-alphabet-actions {flex-wrap:wrap}
  .lab-keyboard[data-kind=text] .lab-alphabet-actions button {flex:1 1 18%}
  .lab-keyboard[data-kind=text] .lab-alphabet-actions .lab-space-key {flex:2 1 36%}
}
.lab-keyboard[data-kind=text] .lab-symbol-row button {max-width:78px}
.lab-keyboard[data-kind=text] .lab-symbol-row .lab-wide-key {max-width:120px}
