/* Enterprise visual foundation. Layouts reference this scale; business styles stay local. */
:root{
 --ui-canvas:#f3f6f5;--ui-surface:#fff;--ui-surface-alt:#f6f8f7;--ui-text:#1d3731;--ui-muted:#586d67;--ui-border:#dbe4df;--ui-control-border:#91a89d;
 --ui-accent:#176a51;--ui-on-accent:#fff;--ui-module-accent:#176a51;--ui-accent-hover:#10513d;--ui-selected:#e7f2ec;--ui-focus:#167153;
 --ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:24px;--ui-space-6:32px;
 --ui-radius:12px;--ui-control-radius:6px;--ui-control-height:36px;--ui-row-height:40px;--ui-shadow:0 6px 24px #193e290b;--ui-overlay:rgba(15,30,49,.5);--ui-motion:120ms;
 --ink-900:var(--ui-text);--ink-800:#2c4939;--ink-700:#435e49;--ink-600:var(--ui-muted);--ink-500:#64795e;--ink-400:#8a9b82;--ink-300:#b7c3aa;--ink-200:var(--ui-border);--ink-100:#e8eddf;--ink-50:var(--ui-surface-alt);--white:var(--ui-surface);
 --brand-700:#295234;--brand-600:var(--ui-accent);--brand-500:#537e46;--brand-100:#e0e8ce;--brand-50:var(--ui-selected);--brand-text:#315937;
 --success-700:#216343;--success-600:#278150;--success-100:#e5f4eb;--warn-700:#795300;--warn-600:#9b6b00;--warn-100:#fff4d8;--danger-700:#a52834;--danger-600:#bb2d3b;--danger-100:#fdecef;--info-700:#185c91;--info-600:#2276ac;--info-100:#e4f2fb;
 --font:'IBM Plex Sans',system-ui,sans-serif;--font-display:var(--font);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--sidebar-w:244px;--shadow-sm:0 1px 2px #142d4510;--shadow-md:var(--ui-shadow);--shadow-lg:0 12px 40px #102c4d26;

 --brand-900:#183a29;
 --brand-800:#264d32;
 --accent2-600:#96643d;
 --table-head:#eaf1ee;
 --table-head-text:#244c3d;
 --table-grid:#dce5df;
 --table-stripe:#f7faf8;
 --table-total:#e5f0e9;
 --table-total-text:#264632;
}
:root[data-theme="dark"]{
 --ui-canvas:#11211e;--ui-surface:#1b2f29;--ui-surface-alt:#233b32;--ui-text:#edf5ef;--ui-muted:#b7cdc2;--ui-border:#3d574a;--ui-control-border:#789785;--ui-accent:#b7e2cd;--ui-on-accent:#173b2b;--ui-module-accent:#b7e2cd;--ui-accent-hover:#d0eddf;--ui-selected:#2c4e3e;--ui-focus:#a0e4c4;
 --ink-800:#e0e8d3;--ink-700:#d0dcc3;--ink-500:#b2c5a1;--ink-400:#94a780;--ink-300:#627756;--ink-100:#29422c;--brand-700:#c7d9a8;--brand-500:#bdd39a;--brand-100:#314b2e;--brand-text:#d1dfa9;
 --success-700:#99dfb7;--success-100:#193f30;--warn-700:#f5cf79;--warn-100:#463919;--danger-700:#ffb0ba;--danger-100:#4d2732;--info-700:#a3d6fa;--info-100:#1f405b;

 --brand-900:#e3ebd1;
 --brand-800:#d7e2c3;
 --table-head:#2d4935;
 --table-head-text:#f5f5e7;
 --table-grid:#536c4c;
 --table-stripe:#243d2b;
 --table-total:#354c2e;
 --table-total-text:#dae7be;
}
body{background:var(--ui-canvas);color:var(--ui-text);}
/* Module identifiers vary; controls and data surfaces share the same system. */
#page-content[data-workspace=targets],#page-content[data-workspace=reports]{--ui-module-accent:var(--info-700);}
#page-content[data-workspace=value-chain],#page-content[data-workspace=sales-incentive-matrix]{--ui-module-accent:var(--warn-700);}
#page-content[data-workspace=scm],#page-content[data-workspace=masters]{--ui-module-accent:var(--brand-text);}
#page-content :is(.sp-eyebrow,.ic-eyebrow,.bd-eyebrow,.si-eyebrow,.report-eyebrow,.rp-eyebrow,.cr-eyebrow){color:var(--ui-module-accent);font-size:11px;letter-spacing:.08em;}
:is(#app-shell,#modal-root,#login-screen) ::placeholder{color:var(--ui-muted);opacity:1;}
#app-shell{font-size:14px;line-height:1.5;}
#app-shell .main-area{min-width:0;background:var(--ui-canvas);}
#page-content{min-width:0;padding:20px 24px 32px;}
#app-shell .sidebar{background:var(--ui-surface);border-right:1px solid var(--ui-border);box-shadow:none;}
#app-shell .sidebar::before{display:none;}
#app-shell .sidebar-brand{min-height:70px;padding:14px 16px;gap:10px;}
#app-shell .sidebar-brand-text b{font-size:12px;white-space:normal;line-height:1.3;}
#app-shell .sidebar-brand-text span{font-size:9px;letter-spacing:.09em;}
#app-shell .brand-logo-mark{width:34px;height:34px;border-radius:6px;box-shadow:none;}
#app-shell .nav-section{padding:12px 10px 4px;}
#app-shell .nav-section-label{font-size:10px;letter-spacing:.09em;color:var(--ui-muted);padding:8px 10px;}
#app-shell .nav-link{width:100%;border:0;border-radius:4px;background:transparent;min-height:36px;padding:8px 10px;gap:9px;color:var(--ui-text);font:inherit;text-align:left;text-decoration:none;box-shadow:none;transition:background var(--ui-motion);}
#app-shell .nav-link:hover{background:var(--ui-surface-alt);transform:none;}
#app-shell .nav-link.active{background:var(--ui-selected);color:var(--brand-text);box-shadow:inset 3px 0 var(--ui-accent);font-weight:600;}
#app-shell .nav-link .ico,#app-shell .nav-link.sub .ico{color:var(--ui-muted);background:transparent;width:20px;height:20px;border-radius:0;opacity:1;transform:none;}
#app-shell .nav-link.active .ico{color:var(--brand-text);}
#app-shell .nav-link .ico svg{width:18px;height:18px;}
#app-shell .nav-text{white-space:normal;line-height:1.3;}
#app-shell .nav-group-children .nav-link{padding-left:36px;font-size:12px;}
#app-shell .nav-group-children .nav-group-children .nav-link{padding-left:48px;}
#app-shell .nav-chevron{margin-left:auto;}
#app-shell .sidebar-toggle{margin:8px 12px;min-height:32px;background:var(--ui-surface);}
#app-shell .topbar{min-height:60px;height:auto;padding:10px 24px;border-bottom:1px solid var(--ui-border);box-shadow:none;background:var(--ui-surface);gap:16px;}
#app-shell .topbar-title{font-size:14px;font-weight:600;}
#app-shell .topbar-crumb{font-size:11px;color:var(--ui-muted);}
#app-shell .topbar-right{gap:8px;flex-wrap:wrap;}
#app-shell :is(.theme-pill,.layout-pill,.fy-pill,.support-bell-pill,.maintenance-pill){box-shadow:none;border-radius:6px;border-color:var(--ui-border);}
#app-shell .user-avatar{border-radius:6px;background:#145cba;color:white;}
#app-shell .btn-logout{min-height:32px;}
#app-shell[data-nav-pos="top"] .sidebar-brand{min-height:52px;}
#app-shell[data-nav-pos="top"] .nav-link{width:auto;min-height:34px;font-size:12px;white-space:nowrap;}
#app-shell[data-nav-pos="top"] .nav-text{white-space:nowrap;}
#app-shell[data-nav-pos="top"] .nav-group-children{border-radius:6px;box-shadow:var(--ui-shadow);border:1px solid var(--ui-border);min-width:240px;}
#app-shell[data-nav-pos="top"] .nav-group-children .nav-link{padding:8px 12px;}
#app-shell.sidebar-collapsed .nav-link{justify-content:center;padding:8px;}
#page-content :is(.page-header,.sp-header,.ic-header,.bd-header,.si-header,.hub-header,.studio-toolbar,.rp-header,.cr-header){display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 0 16px;margin:0 0 16px;border:0;border-bottom:1px solid var(--ui-border);background:none;}
#page-content .page-header::before{display:none;}
#page-content :is(.page-header,.sp-header,.ic-header,.bd-header,.si-header,.hub-header,.studio-toolbar,.rp-header,.cr-header) p{color:var(--ui-muted);font-size:13px;line-height:1.5;margin:5px 0 0;max-width:850px;}
#page-content :is(.page-title,.page-context h1,.sp-header h1,.ic-header h1,.bd-header h2,.si-header h2,.hub-header h2,.studio-heading h2,.rp-header h2,.cr-header h2,.page-header h1,.page-header h2,.library-header h2,.workspace-intro h2,.sw-config h2,.sw-toolbar h2,.ra-hero h2){font-size:24px;line-height:1.2;letter-spacing:-.025em;font-weight:600;color:var(--ui-text);margin:0;}
.page-context{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.page-context .context-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:6px;background:var(--ui-selected);color:var(--brand-text);}
.page-context .context-icon svg{width:20px;height:20px;}
.page-context small{display:block;color:var(--ui-muted);font-size:11px;margin-bottom:3px;}
#page-content .header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
#page-content :is(.card,.recovery-card){border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:0 1px 2px #142d4505;min-width:0;}
#page-content .card-pad{padding:16px;}
#page-content .card :is(h3,h4){font-size:15px;font-weight:600;}
#page-content .grid{gap:16px;}
#page-content .filter-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:12px 16px;margin-bottom:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);}
#page-content .filter-bar .field{flex:1 1 145px;min-width:130px;max-width:100%;margin:0;}
#page-content .filter-bar .search-box{flex:2 1 220px;}
#page-content .filter-bar label{font-size:12px;font-weight:500;letter-spacing:0;}
:is(#app-shell,#modal-root) .btn{min-height:var(--ui-control-height);padding:6px 12px;border-radius:var(--ui-control-radius);box-shadow:none;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:0;transition:background var(--ui-motion),border-color var(--ui-motion);}
:is(#app-shell,#modal-root) .btn:hover,:is(#app-shell,#modal-root) .btn:active{transform:none;box-shadow:none;}
:is(#app-shell,#modal-root) .btn-primary,#page-content .sp-primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent);}

:is(#app-shell,#modal-root) .btn-primary:hover{background:var(--ui-accent-hover);}
:is(#app-shell,#modal-root) .btn-secondary{background:var(--ui-surface);border-color:var(--ui-control-border);color:var(--brand-text);}
:is(#app-shell,#modal-root) .btn-secondary:hover{background:var(--ui-selected);}
:is(#app-shell,#modal-root) .btn-danger{background:var(--danger-700);border-color:var(--danger-700);color:#fff;}
:root[data-theme="dark"] :is(#app-shell,#modal-root) .btn-danger{background:#b93446;color:#fff;}
:is(#app-shell,#modal-root) .btn-sm{min-height:26px;padding:4px 8px;font-size:12px;}
:is(#app-shell,#modal-root) button:disabled{opacity:.55;cursor:not-allowed;}
:is(#app-shell,#modal-root) .field{margin-bottom:12px;min-width:0;}
:is(#app-shell,#modal-root) .field label{font-size:12px;font-weight:500;color:var(--ui-text);margin-bottom:5px;}
:is(#app-shell,#modal-root) :is(.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.ss-trigger){min-height:var(--ui-control-height);border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);font-size:14px;padding:7px 10px;box-shadow:none;}
:is(#app-shell,#modal-root) :is(input,select,textarea)[readonly]{background:var(--ui-surface-alt);}
:is(#app-shell,#modal-root) :is(input,select,textarea)[aria-invalid=true]{border-color:var(--danger-700);}
:is(#app-shell,#modal-root) .form-grid{gap:4px 16px;}
:is(#app-shell,#modal-root) input:is([type=checkbox],[type=radio]){accent-color:var(--ui-accent);width:16px;height:16px;}
:is(#app-shell,#modal-root) :focus-visible,.ss-panel :focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px;}
:is(#app-shell,#modal-root) .table-wrap{max-width:100%;max-height:65vh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ui-border);border-radius:5px;scrollbar-gutter:stable;}
:is(#app-shell,#modal-root) .data-table{font-size:13px;border-collapse:separate;border-spacing:0;}
:is(#app-shell,#modal-root) .data-table th{position:sticky;top:0;z-index:2;background:var(--ui-surface-alt);color:var(--ui-muted);padding:8px 12px;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--ui-border);white-space:nowrap;}
:is(#app-shell,#modal-root) .data-table td{padding:7px 12px;min-height:var(--ui-row-height);border-bottom:1px solid var(--ink-100);font-variant-numeric:tabular-nums;vertical-align:middle;line-height:1.5;}
:is(#app-shell,#modal-root) .data-table tbody tr:nth-child(even){background:var(--ui-surface-alt);}
:is(#app-shell,#modal-root) .data-table tbody tr:hover{background:var(--ui-selected);}
:is(#app-shell,#modal-root) .data-table td.cell-number{text-align:right;}
/* Shared table presentation: centered grids, distinct headings and totals. */

:is(#app-shell,#modal-root) :is(table,.data-table){border-color:var(--table-grid);}
:is(#app-shell,#modal-root) :is(table,.data-table) :is(th,td){text-align:center!important;vertical-align:middle;border-right:1px solid var(--table-grid);border-bottom:1px solid var(--table-grid);}
:is(#app-shell,#modal-root) :is(table,.data-table) tr > :last-child{border-right:0;}
/* Specialized sheets own their header palette; do not leak white text into pale sticky cells. */
:where(#app-shell,#modal-root) table thead th{background:var(--ui-surface-alt);color:var(--ui-text);font-weight:600;}
:is(#app-shell,#modal-root) .data-table:not(.cov-matrix) thead th{background:var(--table-head);color:var(--table-head-text);font-weight:600;}
:where(#app-shell,#modal-root) table thead th :is(button,output){color:inherit;text-align:center;}
:is(#app-shell,#modal-root) :is(table,.data-table) tbody tr:nth-child(even):not(.sec-row):not(.row-selected){background:var(--table-stripe);}
:is(#app-shell,#modal-root) .table-wrap{border:1px solid var(--table-grid);border-radius:8px;box-shadow:0 2px 6px #15324d08;}
:is(#app-shell,#modal-root) .data-table th{padding:11px 14px;line-height:1.4;}
:is(#app-shell,#modal-root) .data-table td{padding:10px 14px;line-height:1.5;}
/* Selection columns are narrower than data cells: normal 28px padding would
   push an 18px checkbox across the border of a fixed 34px column. */
:is(#app-shell,#modal-root) .data-table :is(th,td).cell-select{padding-inline:6px;}
:is(#app-shell,#modal-root) .data-table .cell-select input:is([type=checkbox],[type=radio]){margin:0;vertical-align:middle;}
:is(#app-shell,#modal-root) .data-table :is(td.cell-number,td.num){white-space:nowrap;font-variant-numeric:tabular-nums;}
:is(#app-shell,#modal-root) .data-table .row-actions{justify-content:center;}
:is(#app-shell,#modal-root) :is(table,.data-table) tbody tr:hover:not(.sec-row){background:var(--ui-selected);}
:is(#app-shell,#modal-root) :is(table,.data-table) tbody tr:focus-within{outline:2px solid var(--ui-focus);outline-offset:-2px;}
#app-shell #filtered-totals{padding:12px;background:var(--ui-surface-alt);border:1px solid var(--table-grid);border-radius:8px;}
#app-shell #filtered-totals > b{display:block;margin-bottom:8px;color:var(--brand-text);}
#app-shell #filtered-totals .data-table tbody td{background:var(--table-total);color:var(--table-total-text);font-weight:700;font-size:13px;white-space:nowrap;}
:is(#app-shell,#modal-root) .data-table td.cell-actions{white-space:nowrap;}
:is(#app-shell,#modal-root) .data-table:has(thead tr:nth-child(2)) th{position:static;}
:is(#app-shell,#modal-root) .table-pager{padding:10px 0;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ui-muted);}
:is(#app-shell,#modal-root) .badge{font-size:11px;padding:2px 7px;border-radius:4px;font-weight:500;letter-spacing:0;text-transform:none;border:1px solid currentColor;}
#page-content .kpi{padding:14px 16px;border-radius:6px;border-top:3px solid var(--ui-border);min-width:0;box-shadow:none;}
#page-content .kpi::before,#page-content .kpi::after{display:none;}
#page-content .kpi-label{font-size:12px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--ui-muted);}
#page-content .kpi-value{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.3;margin:7px 0 3px;}
#page-content .kpi-sub{font-size:11px;line-height:1.5;color:var(--ui-muted);}
#page-content .kpi.accent-brand{border-top-color:var(--ui-accent);}#page-content .kpi.accent-success{border-top-color:var(--success-600);}#page-content .kpi.accent-warn{border-top-color:var(--warn-600);}#page-content .kpi.accent-danger{border-top-color:var(--danger-600);}#page-content .kpi.accent-info{border-top-color:var(--info-600);}
#page-content :is(.tabs,.sw-tabs){gap:2px;border-bottom:1px solid var(--ui-border);padding:0;margin:0 0 16px;flex-wrap:wrap;}
#page-content :is(.tab,.tab-btn,.sw-tabs button){border-radius:0;padding:9px 13px;font-size:12px;min-height:36px;box-shadow:none;}
#page-content :is(.tab.active,.tab-btn.active,.sw-tabs button[aria-selected=true]){background:var(--ui-selected);color:var(--brand-text);box-shadow:inset 0 -2px var(--ui-accent);}
#page-content .empty-state{padding:32px 20px;text-align:center;color:var(--ui-muted);background:var(--ui-surface);border-radius:6px;}
#page-content .empty-state .ico{width:36px;height:36px;margin:0 auto 10px;color:var(--ui-muted);background:var(--ui-surface-alt);border-radius:6px;display:grid;place-items:center;}
#page-content .empty-state h4{font-size:14px;margin:0;color:var(--ui-text);}
#page-content .page-loading{min-height:240px;}
#page-content .select-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:16px;}
#page-content .select-panel-sticky{top:76px;min-width:0;}
#page-content .privacy-pill{font-size:11px;border-radius:4px;}
#page-content :is(.incentive-dashboard-grid,.incentive-config-grid,.calculation-kpi-grid){gap:16px;}
#page-content .calculation-hero{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:6px;padding:16px;}
#page-content .calculation-hero h2{font-size:24px;}
#page-content :is(.focus-product-card,.readiness-item){border-radius:5px;}
#page-content :is(.ticket-comment,.chat-message){box-shadow:none;border-radius:6px;}
#page-content :is(.ticket-detail-layout,.chat-admin-layout){gap:16px;}
#page-content [class*="hierarchy"]{--connector-color:var(--ui-control-border);}
#page-content .workspace-intro{padding:0 0 18px;margin:0 0 20px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ui-border);}
.workspace-eyebrow{display:block;color:var(--ui-muted);font-size:11px;letter-spacing:.07em;margin-bottom:6px;}
.workspace-intro h2{font-size:26px;font-weight:600;margin:0 0 7px;letter-spacing:-.025em;}.workspace-intro p{margin:0;color:var(--ui-muted);}.workspace-date{font-size:12px;color:var(--ui-muted);}
#module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
#module-grid .module-card{padding:18px;min-height:190px;border-radius:6px;display:flex;flex-direction:column;box-shadow:none;transition:border-color var(--ui-motion);}
#module-grid .module-card:hover{transform:none;border-color:var(--ui-accent);background:var(--ui-surface);}
#module-grid .module-card-head b{font-size:16px;font-weight:600;}
#module-grid .module-icon{width:34px;height:34px;border-radius:6px;background:var(--ui-selected);color:var(--brand-text);}
#module-grid .module-desc{font-size:13px;line-height:1.5;margin:14px 0;white-space:normal;display:block;}
#module-grid .module-stats{margin-top:auto;padding-top:12px;border-top:1px solid var(--ui-border);flex-wrap:wrap;gap:12px;}
#module-grid .module-stats b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;}
#module-grid .module-stats span{font-size:11px;}
#modal-root .modal-overlay{padding:24px;background:var(--ui-overlay);backdrop-filter:none;}
#modal-root .modal{border:1px solid var(--ui-border);border-radius:8px;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;}
#modal-root .modal-head{padding:16px 20px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-alt);flex-shrink:0;}
#modal-root .modal-head h3{font-size:18px;font-weight:600;}
#modal-root .modal-close{width:32px;height:32px;border-radius:4px;color:var(--ui-muted);font-size:25px;}
#modal-root .modal-body{padding:20px;overflow:auto;min-height:0;}
#modal-root .modal-foot{padding:12px 20px;gap:8px;border-top:1px solid var(--ui-border);background:var(--ui-surface-alt);flex-shrink:0;}
.ss-panel{border:1px solid var(--ui-border);border-radius:6px;box-shadow:var(--ui-shadow);font-size:13px;}.ss-option{min-height:32px;padding:7px 10px;}.ss-option.highlighted{background:var(--ui-selected);color:var(--brand-text);}
#toast-root .toast{border-radius:6px;box-shadow:var(--ui-shadow);font-size:13px;max-width:min(420px,calc(100vw - 32px));}
#busy-root .busy-box{border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);}
.skip-link{position:fixed;top:8px;left:8px;z-index:10000;transform:translateY(-150%);padding:10px 16px;background:var(--ui-accent);color:white;border-radius:4px;}.skip-link:focus{transform:none;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:1200px){#module-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#page-content .select-layout{grid-template-columns:minmax(0,1fr) minmax(260px,300px);}#app-shell .user-meta{display:none;}#app-shell .topbar{padding:10px 16px;}}
@media(max-width:900px){#page-content{padding:16px;}#page-content .select-layout{grid-template-columns:minmax(0,1fr);}#page-content .select-panel-sticky{position:static;}#app-shell .topbar{flex-wrap:wrap;}#page-content .grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}.workspace-date{display:none;}}
@media(max-width:600px){#page-content{padding:12px;}#app-shell .topbar{gap:8px;padding:10px 12px;}#app-shell .topbar-right{gap:6px;}#page-content .page-title,.page-context h1{font-size:21px;}#module-grid,#page-content .grid-cols-2,#page-content .grid-cols-4{grid-template-columns:minmax(0,1fr);}#page-content .filter-bar{padding:12px;gap:10px;}#page-content .filter-bar .field{min-width:0;flex-basis:calc(50% - 10px);}#page-content .filter-bar .search-box{flex-basis:100%;}#page-content .form-grid{grid-template-columns:minmax(0,1fr);}#modal-root .modal-overlay{padding:8px;}#modal-root .modal{max-height:calc(100dvh - 16px);width:100%;}#modal-root .modal-body{padding:16px;}#modal-root .modal-foot{flex-wrap:wrap;}#page-content .card-pad{padding:12px;}#page-content .table-wrap{max-height:65vh;}.workspace-intro{flex-direction:column;}}
@media(prefers-reduced-motion:reduce){#app-shell *,#modal-root *,#login-screen *,#toast-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
/* Specialised surfaces use the shared scale, while retaining their own layouts. */
#page-content .data-table .row-actions{flex-wrap:nowrap;gap:5px;}
#page-content .data-table .cell-actions{width:1%;}
#page-content[data-page="mastersProducts"] .data-table td:nth-child(3){min-width:230px;}
#page-content :is(.vc-chip,.vc-chip-add){border-radius:4px;}
#page-content .page-header p::before{display:none;}
#page-content .page-header p{padding-left:0;font-weight:400;}
#page-content .sw .sw-intro h2{font-size:24px;font-weight:600;}
#page-content .sw{gap:10px;}
#page-content .sw .sw-scope{padding:12px;border-radius:6px;gap:10px;}
#page-content .sw .sw-panel{padding:12px;border-radius:6px;}
#page-content .sw .sw-status{font-size:12px;padding:8px 10px;border-radius:4px;}
#page-content .sw :is(input,select){font-size:12px;}
#page-content .sw .wg-table th button{min-height:30px;height:30px;padding:4px 7px;font-size:12px;}
#page-content .sw .wg-table thead tr.wg-filters th{top:30px;}
#page-content .sw .wg-table td :is(input,select){height:26px;min-height:26px;padding:4px 7px;border-radius:0;}
#page-content .sw .wg-table .wg-filters input{height:25px;min-height:25px;}
#page-content .sw .wg-table{color:var(--ui-text);}
#page-content .sw .wg-scroll{border-color:var(--ui-border);border-radius:4px;}
#page-content .sw .sw-error{background:var(--danger-100);color:var(--danger-700);}
#page-content .sw-config{grid-template-columns:minmax(180px,220px) minmax(0,1fr);}
#page-content .sw-config label{min-width:0;}
#page-content .sw details p{overflow-wrap:anywhere;}
@media(max-width:1100px){#page-content .sw-config{grid-template-columns:minmax(0,1fr);}#page-content .sw-config aside{border-right:0;border-bottom:1px solid var(--ui-border);padding:0 0 12px;}#page-content .sw-config aside button{width:auto;margin-right:6px;}}
#page-content .report-hub .hub-header h2{font-size:24px;margin:0 0 8px;}
#page-content .report-hub .hub-template{padding:16px;border-radius:6px;}
#page-content .report-hub .hub-template>span:last-child{display:block;font-size:12px;}
#page-content :is(.hub-template-icon,.studio-question-icon) svg{width:22px;height:22px;}
#page-content .report-hub .hub-template:first-child{background:var(--ui-selected);border-color:var(--ui-border);color:var(--ui-text);}
#page-content .report-hub .hub-template:first-child :is(small,span:last-child){color:var(--ui-muted);}
#page-content .excel-studio{font-size:12px;}
#page-content .excel-studio :is(.pivot-chip,.pivot-zone-item,.pivot-dropzone b){font-size:12px;}
#page-content .excel-studio .pivot-chip-actions{display:flex;}
#page-content .excel-studio .pivot-sort-row{display:flex;}
#page-content .excel-studio .pivot-dropzone{border-radius:4px;padding:8px;}
#page-content .excel-studio :is(.excel-toolbar,.excel-field-panel,.excel-chart-options){border-color:var(--ui-border);}
#page-content .chart-legend{gap:12px;font-size:12px;color:var(--ui-muted);flex-wrap:wrap;}
#page-content .chart-legend .swatch{border-radius:2px;}
#page-content .chart-legend .item{color:var(--ui-muted);}
#page-content .status-pending-text{color:var(--warn-700);}
#page-content .status-approved-text{color:var(--success-700);}
#page-content .status-rejected-text{color:var(--danger-700);}
#page-content .donut-chart{max-width:100%;}
.mobile-menu,.mobile-nav-close,.mobile-nav-shade{display:none;}
@media(max-width:760px){
 #app-shell .main-area,#app-shell.sidebar-collapsed .main-area{margin-left:0;width:100%;}
 #app-shell .mobile-menu{display:inline-flex;}
 #app-shell .sidebar,#app-shell[data-nav-pos="top"] .sidebar{display:none;}
 #app-shell.mobile-nav-open .sidebar,#app-shell.mobile-nav-open[data-nav-pos="top"] .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(300px,85vw);height:100dvh;z-index:3001;flex-direction:column;align-items:stretch;overflow:hidden;background:var(--ui-surface);}
 #app-shell.mobile-nav-open #sidebar-nav{display:block;overflow:auto;flex:1;padding:0;}
 #app-shell.mobile-nav-open .nav-section{display:block;border:0;margin:0;padding:8px;}
 #app-shell.mobile-nav-open .nav-link{width:100%;text-align:left;justify-content:flex-start;padding:8px 10px;white-space:normal;}
 #app-shell.mobile-nav-open .nav-text,#app-shell.mobile-nav-open .sidebar-brand-text,#app-shell.mobile-nav-open .nav-section-label{display:block;white-space:normal;}
 #app-shell.mobile-nav-open .nav-group-children{position:static;box-shadow:none;border:0;min-width:0;width:100%;}
 #app-shell.mobile-nav-open .nav-group-children .nav-link{padding-left:36px;}
 #app-shell.mobile-nav-open .mobile-nav-close{display:block;flex-shrink:0;padding:12px;border:0;background:var(--ui-surface-alt);color:var(--ui-text);text-align:right;font:inherit;}
 #app-shell.mobile-nav-open .mobile-nav-shade{display:block;position:fixed;inset:0;background:var(--ui-overlay);border:0;z-index:3000;}
 #page-content .report-hub .hub-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:420px){#page-content .report-hub .hub-template-grid{grid-template-columns:minmax(0,1fr);}}
/* Login presentation is owned by css/agave-login.css. */
#maintenance-screen .login-card{border-radius:8px;background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text);box-shadow:var(--ui-shadow);}
/* User access: pages, report sources, geographic scope and review. */
.ua-role-note{padding:10px 12px;margin-bottom:12px;background:var(--ink-50,#f5f7fa);border:1px solid var(--ink-200,#d5dfeb);font-size:12px}
.ua-toolbar,.ua-identity,.ua-module-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ua-toolbar{margin-bottom:12px}.ua-toolbar label{display:flex;align-items:center;gap:10px}.ua-toolbar input{min-width:240px}
.ua-identity{font-size:12px;margin-bottom:12px}.ua-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}#modal-root .ua-tabs .btn[aria-current=step]{background:var(--ui-selected);border-color:var(--brand-600);color:var(--brand-text);box-shadow:inset 0 -2px var(--brand-600)}
.ua-actions{display:flex;align-items:center;gap:20px;margin-bottom:14px}.ua-actions label{min-width:200px}.ua-actions select{display:block;width:100%;margin-top:4px}.ua-actions p{max-width:620px;font-size:12px}
.ua-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ua-module{border:1px solid var(--ink-200,#d5dfeb);padding:12px;border-radius:4px}.ua-module h4{margin:0 0 10px;font-size:13px}.ua-module-head{margin-bottom:8px}.ua-module-head h4{margin:0}
.ua-choices{display:grid;gap:4px}.ua-editor .ua-choice{display:flex;align-items:center;gap:8px;padding:6px 4px;margin:0;font-size:12px;cursor:pointer}.ua-choice input{flex:none}.ua-choice small{margin-left:auto}.ua-review li{padding:5px 0}.ua-error{color:#b42335}.ua-warning{padding:10px;background:#fff2d6;color:#654200}#ua-changes{margin-right:auto}
@media(max-width:640px){.ua-modules{grid-template-columns:1fr}.ua-actions{display:block}.ua-tabs button{flex:1 1 40%}.ua-toolbar input{min-width:0;width:100%}.ua-toolbar label{width:100%}}
.ua-action-matrix{width:100%;border-collapse:collapse;font-size:12px}.ua-action-matrix th,.ua-action-matrix td{padding:8px 5px;border-bottom:1px solid var(--ui-border)}.ua-action-matrix td{text-align:center}.ua-action-matrix th{text-align:left}.ua-action-matrix thead th:not(:first-child){text-align:center}.ua-action-matrix input:disabled{opacity:.2}.ua-modules:has(.ua-action-matrix){grid-template-columns:1fr}
.chart-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin:8px 0}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:10px;height:10px;display:inline-block;border-radius:2px}.chart-pie{display:flex;align-items:center;gap:12px}.chart-pie svg{width:55%;min-width:180px}.chart-pie .chart-legend{flex:1;display:grid}.chart-bar-group{margin:8px 0;font-size:12px}.chart-bar-line{display:flex;align-items:center;gap:8px}.chart-bar-track{flex:1;background:var(--ui-surface-alt);height:12px}.chart-bar-track i{display:block;height:100%}.chart-data{margin-top:12px;font-size:12px}.chart-panel-actions{display:flex;gap:6px;margin-top:10px}.excel-chart-settings fieldset label{display:flex;gap:6px;align-items:center}.excel-chart-settings label{font-size:12px}.excel-chart-body svg{width:100%;max-height:400px}.excel-dashboard-panel h4{margin:0 0 8px}.chart-pie svg{width:55%}
.studio-filter-open{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.studio-filter-tools{display:flex;align-items:center;gap:8px;margin:10px 0;flex-wrap:wrap}
.studio-filter-values{max-height:320px;overflow:auto;border:1px solid var(--ui-border);margin:10px 0}
.studio-filter-values>label{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--ui-border);cursor:pointer}
.studio-filter-values input{width:16px;height:16px;min-height:0;flex-shrink:0}
.studio-filter-values span{overflow-wrap:anywhere}
#studio-filter-status{font-size:12px;color:var(--ui-muted)}
#studio-filter-search,#studio-filter-manual{display:block;width:100%;min-height:34px;padding:7px 9px;border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-surface);color:var(--ui-text);margin:5px 0}
/* Expense receipts: a contained document view with metadata and download. */
.oe-file-name{margin:0;overflow-wrap:anywhere;line-height:1.5;min-width:0;}
.oe-file-name span{display:block;color:var(--ui-muted);font-size:12px;margin-top:4px;}
.oe-receipt-preview{display:grid;gap:12px;min-width:0;}
.oe-receipt-canvas{border:1px solid var(--ui-border);border-radius:12px;overflow:hidden;background:var(--ui-surface-alt);min-width:0;}
.oe-pdf-ready{padding:24px;display:grid;justify-items:start;gap:12px;}
.oe-pdf-ready p{margin:0;color:var(--ui-muted);line-height:1.5;}
.oe-pdf-ready .btn{min-height:44px;white-space:normal;text-align:center;}
.oe-receipt-canvas img{display:block;width:auto;max-width:100%;max-height:60vh;object-fit:contain;margin:auto;}
#oe-file{width:100%;max-width:100%;min-width:0;}

.studio-filter-broaden{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.studio-filter-broaden input{flex-shrink:0;width:18px;height:18px;min-height:0}

/* Warehouse mapping contains a report, not a narrow detail inspector.
   Keep its pager outside the single table scrollport. */
#page-content .select-layout.warehouse-mapping-layout{grid-template-columns:minmax(0,1fr);}
#page-content .warehouse-mapping-layout>.select-panel-sticky{position:static;}
#page-content .warehouse-mapping-layout>.select-panel-sticky .flex-between{flex-wrap:wrap;gap:8px;}
#page-content .warehouse-mapping-layout>.select-panel-sticky .flex-between>b{flex-basis:100%;}
#page-content #wmap-report{min-width:0;max-height:none;overflow:visible;}
#page-content #wmap-report>.table-wrap{max-height:55dvh;overflow:auto;overscroll-behavior:auto;}
#page-content #wmap-report .data-table{min-width:560px;table-layout:fixed;}
#page-content #wmap-report :is(th,td){overflow-wrap:anywhere;white-space:normal;}
#page-content #wmap-report th:nth-child(1){width:36%;}
#page-content #wmap-report th:nth-child(2){width:39%;}
#page-content #wmap-report th:nth-child(3){width:25%;}
#page-content #wmap-report thead th{position:sticky;top:0;z-index:2;}
@media(min-width:1400px){
 #page-content .select-layout.warehouse-mapping-layout{grid-template-columns:minmax(0,1.3fr) minmax(440px,1fr);}
 #page-content .warehouse-mapping-layout>.select-panel-sticky{position:sticky;top:16px;}
}
