/* Office palette: all surfaces, text, borders, states and focus indicators
   share the same tokens in both appearances. No inverted-filter dark mode. */
html.sh-office{--office-bg:#f4f6f7;--office-surface:#fff;--office-raised:#f8faf9;--office-ink:#25323b;--office-muted:#69757f;--office-line:#dce2e6;--office-accent:#087f72;--office-soft:#e3f3ef;--office-on-accent:#fff;--office-danger:#b62d40;--office-warning:#855014;--office-shadow:0 12px 42px #1332241c;--office-radius:8px}
html.sh-office[data-theme=dark]{--office-bg:#1a1f24;--office-surface:#22282e;--office-raised:#2b3239;--office-ink:#e8f0eb;--office-muted:#a1b7aa;--office-line:#3b454d;--office-accent:#72d6c3;--office-soft:#244c39;--office-on-accent:#102c1e;--office-danger:#ff8fa2;--office-warning:#f2c078;--office-shadow:0 12px 42px #0005}
html.sh-office{--bg:var(--office-bg)!important;--sidebar:var(--office-surface)!important;--top:var(--office-surface)!important;--card:var(--office-surface)!important;--card2:var(--office-raised)!important;--surface:var(--office-surface)!important;--surface2:var(--office-raised)!important;--input:var(--office-surface)!important;--border:var(--office-line)!important;--border2:var(--office-line)!important;--line:var(--office-line)!important;--text:var(--office-ink)!important;--muted:var(--office-muted)!important;--green:var(--office-accent)!important;--green-soft:var(--office-soft)!important;--red:var(--office-danger)!important;--orange:var(--office-warning)!important;--success:var(--office-accent)!important;--fin-bg:var(--office-bg);--fin-card:var(--office-surface);--fin-card2:var(--office-raised);--fin-text:var(--office-ink);--fin-muted:var(--office-muted);--fin-border:var(--office-line);--fin-green:var(--office-accent);--fin-red:var(--office-danger);--cs-card:var(--office-surface);--cs-card2:var(--office-surface);--cs-text:var(--office-ink);--cs-muted:var(--office-muted);--cs-line:var(--office-line);--cs-green:var(--office-accent);--cs-orange:var(--office-warning);--cs-red:var(--office-danger)}
html.sh-office[data-theme] body,html.sh-office[data-theme] body .main,html.sh-office[data-theme] .sh-workspace-frame-host,html.sh-office[data-theme] .sh-workspace-frame{background:var(--office-bg)!important;color:var(--office-ink)!important}
html.sh-office[data-theme] body .sidebar{background:var(--office-surface)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body .topbar{background:var(--office-surface)!important;border-color:var(--office-line)!important;min-height:64px!important;box-shadow:none!important}
html.sh-office[data-theme] body .topbar-title,html.sh-office[data-theme] body .sidebar .unified-brand .brand-copy b{color:var(--office-ink)!important}
html.sh-office[data-theme] body .sidebar .brand-copy small,html.sh-office[data-theme] body .topbar-sub,html.sh-office[data-theme] body .nav-section,html.sh-office[data-theme] body .nav-title{color:var(--office-muted)!important}
html.sh-office[data-theme] body .sidebar .unified-main-nav a,html.sh-office[data-theme] body .sidebar .documents-nav-toggle{color:var(--office-muted)!important;background:transparent!important;border-color:transparent!important;font-size:13px!important;min-height:35px!important;border-radius:6px!important}
html.sh-office[data-theme] body .sidebar .unified-main-nav a:hover,html.sh-office[data-theme] body .sidebar .documents-nav-toggle:hover{color:var(--office-ink)!important;background:var(--office-raised)!important}
html.sh-office[data-theme] body .sidebar .unified-main-nav a.active,html.sh-office[data-theme] body .sidebar .documents-nav-toggle.active{color:var(--office-accent)!important;background:var(--office-soft)!important;border-color:var(--office-line)!important;box-shadow:none!important}
html.sh-office[data-theme] body .sidebar .documents-subnav{border-color:var(--office-line)!important}
html.sh-office[data-theme] body .sidebar .sh-language-switcher,html.sh-office[data-theme] body .sidebar .sh-language-segment{background:var(--office-surface)!important;border-color:var(--office-line)!important;color:var(--office-ink)!important}
html.sh-office[data-theme] .office-appearance{display:grid!important;gap:6px;padding:12px;margin-top:12px;border-top:1px solid var(--office-line);font-size:11px;color:var(--office-muted)}
html.sh-office[data-theme] .office-appearance select{font:inherit;font-size:12px;min-height:34px;border:1px solid var(--office-line);border-radius:6px;background:var(--office-raised);color:var(--office-ink);padding:6px}
html.sh-office[data-theme] body.sh-sidebar-collapsed .office-appearance{padding:8px 2px}
html.sh-office[data-theme] body.sh-sidebar-collapsed .office-appearance span{display:none}
html.sh-office[data-theme] body.sh-sidebar-collapsed .office-appearance select{width:60px}
html.sh-office[data-theme] :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--office-accent)!important;outline-offset:3px!important}
html.sh-office[data-theme] .sh-workspace-frame[hidden]{display:none!important}
html.sh-office[data-theme] .office-button{border:1px solid var(--office-line);border-radius:6px;padding:7px 11px;background:var(--office-surface);color:var(--office-ink);font:500 12px/1.4 inherit;cursor:pointer}
html.sh-office[data-theme] .office-button.primary{background:var(--office-accent);border-color:var(--office-accent);color:var(--office-on-accent)}
html.sh-office[data-theme] .office-button:disabled{opacity:.55;cursor:default}
html.sh-office[data-theme] .office-meta{font-size:12px;color:var(--office-muted);line-height:1.5}
html.sh-office[data-theme] .office-panel{background:var(--office-surface);border:1px solid var(--office-line);border-radius:8px;overflow:hidden}
html.sh-office[data-theme] .office-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px}
html.sh-office[data-theme] .office-toolbar label{display:grid;gap:5px;font-size:11px;color:var(--office-muted)}
html.sh-office[data-theme] .office-toolbar :is(input,select){background:var(--office-surface);border:1px solid var(--office-line);color:var(--office-ink);border-radius:6px;padding:7px 9px;min-height:34px;max-width:100%;font:inherit;font-size:12px}
html.sh-office[data-theme] .office-table-wrap{overflow:auto;max-height:65vh}
html.sh-office[data-theme] .office-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums}
html.sh-office[data-theme] .office-table :is(th,td){padding:9px 11px;border-bottom:1px solid var(--office-line);white-space:nowrap;color:var(--office-ink);background:var(--office-surface);text-align:left}
html.sh-office[data-theme] .office-table th{position:sticky;top:0;z-index:2;background:var(--office-raised);font-size:11px;font-weight:600;color:var(--office-muted)}
html.sh-office[data-theme] .office-table :is(th,td).num{text-align:right}
html.sh-office[data-theme] .office-table tr[aria-selected=true] td,html.sh-office[data-theme] .office-table tr:hover td{background:var(--office-soft)}
html.sh-office[data-theme] .office-table tfoot td{font-weight:600;background:var(--office-raised)}
html.sh-office[data-theme] .office-table button{color:var(--office-accent);border:0;background:transparent;font:inherit;padding:2px;text-decoration:underline;text-underline-offset:3px}
html.sh-office[data-theme] .office-detail{margin-top:14px;padding:16px;background:var(--office-surface);border:1px solid var(--office-line);border-radius:8px}
html.sh-office[data-theme] .office-detail-head{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}
html.sh-office[data-theme] .office-detail h2{font-size:16px;margin:0;color:var(--office-ink)}
html.sh-office[data-theme] .office-detail dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
html.sh-office[data-theme] .office-detail dt{font-size:11px;color:var(--office-muted)}
html.sh-office[data-theme] .office-detail dd{font-size:13px;margin:5px 0 0;font-variant-numeric:tabular-nums}
html.sh-office[data-theme] .office-empty{padding:38px 18px;text-align:center;font-size:13px;color:var(--office-muted)}
html.sh-office[data-theme] .office-error{color:var(--office-danger);padding:12px;line-height:1.5;font-size:13px}
html.sh-office[data-theme] .office-tag{font-size:11px;color:var(--office-accent)}
/* Compact cash register: important columns first, all details on selection. */
html.sh-office[data-theme] .cash-shifts-page{max-width:none;padding:20px 24px!important}
html.sh-office[data-theme] .cs-title{font-size:23px!important;color:var(--office-ink)}
html.sh-office[data-theme] .cs-kicker,html.sh-office[data-theme] .cs-sub{display:none}
html.sh-office[data-theme] .cs-head{margin-bottom:16px}
html.sh-office[data-theme] .cs-panel{padding:14px;border-radius:8px}
html.sh-office[data-theme] .cs-filters{grid-template-columns:165px 165px minmax(100px,1fr) auto}
html.sh-office[data-theme] .cs-field input{background:var(--office-surface);border-color:var(--office-line);color:var(--office-ink);border-radius:6px;font-size:12px}
html.sh-office[data-theme] .cs-btn{background:var(--office-accent);color:var(--office-on-accent);font-size:12px;font-weight:600;border-radius:6px}
html.sh-office[data-theme] .cs-stats{display:flex;flex-wrap:wrap;gap:22px;margin:14px 0}
html.sh-office[data-theme] .cs-stat{border:0;background:transparent;padding:0;min-width:100px}
html.sh-office[data-theme] .cs-stat strong{font-size:20px;color:var(--office-ink)}
html.sh-office[data-theme] .cs-stat span{font-size:11px;color:var(--office-muted);letter-spacing:0;text-transform:none}
html.sh-office[data-theme] .cs-stat small{display:none}
html.sh-office[data-theme] .cs-status{font-size:12px;color:var(--office-muted)}
html.sh-office[data-theme] .cs-status.error{color:var(--office-danger)}
html.sh-office[data-theme] .cs-table-wrap{border:0;background:transparent}
/* OLAP is one workspace, with its result visible below compact field zones. */
html.sh-office[data-theme] body .reports-page,html.sh-office[data-theme] body .app-content{padding:20px 24px!important}
html.sh-office[data-theme] body .reports-page .app-content{padding:0!important}
html.sh-office[data-theme] body #olap-builder{max-width:none!important}
html.sh-office[data-theme] body #olap-builder .olap-report-head{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:14px!important;margin-bottom:14px!important}
html.sh-office[data-theme] body #olap-builder .olap-report-title{font-size:22px!important;color:var(--office-ink)!important}
html.sh-office[data-theme] body #olap-builder .olap-report-subtitle{display:none!important}
html.sh-office[data-theme] body #olap-builder .olap-report-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:end!important}
html.sh-office[data-theme] body #olap-builder .olap-workspace{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
html.sh-office[data-theme] body #olap-builder :is(.olap-fields-card,.olap-main-card,.olap-zone-card,.olap-filters-panel,.olap-result-card){background:var(--office-surface)!important;border:1px solid var(--office-line)!important;border-radius:8px!important;padding:12px!important;box-shadow:none!important;min-width:0!important}
html.sh-office[data-theme] body #olap-builder .olap-main-card{border:0!important;padding:0!important;background:transparent!important;display:grid!important;gap:12px!important}
html.sh-office[data-theme] body #olap-builder .olap-zones{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
html.sh-office[data-theme] body #olap-builder .olap-zone-card{min-height:100px!important}
html.sh-office[data-theme] body #olap-builder .olap-selected{min-height:50px!important;padding:6px 0!important}
html.sh-office[data-theme] body #olap-builder .olap-fields{max-height:65vh!important;overflow:auto!important}
html.sh-office[data-theme] body #olap-builder .olap-field{padding:8px 7px!important;border:0!important;border-bottom:1px solid var(--office-line)!important;border-radius:0!important;background:var(--office-surface)!important;color:var(--office-ink)!important;min-height:40px!important}
html.sh-office[data-theme] body #olap-builder .olap-field strong{font-size:12px!important;font-weight:500!important;color:var(--office-ink)!important}
html.sh-office[data-theme] body #olap-builder .olap-field small{display:none!important}
html.sh-office[data-theme] body #olap-builder :is(.olap-card-title,label,.olap-status,.olap-empty,.olap-flags){color:var(--office-muted)!important;font-size:11px!important;letter-spacing:0!important;text-transform:none!important}
html.sh-office[data-theme] body #olap-builder :is(input,select,button){background:var(--office-surface)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important;border-radius:5px!important;font-size:12px!important;min-height:32px!important}
html.sh-office[data-theme] body #olap-builder :is(.olap-primary,.olap-excel){background:var(--office-accent)!important;color:var(--office-on-accent)!important}
html.sh-office[data-theme] body #olap-builder :is(.olap-chip,.olap-selected-field,.olap-selected-item){background:var(--office-soft)!important;color:var(--office-accent)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body #olap-builder .olap-filter-editor{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
html.sh-office[data-theme] body #olap-builder .olap-filter-editor label{flex:1;min-width:125px}
html.sh-office[data-theme] body #olap-builder .olap-result{margin:0!important;padding:0!important;min-height:180px!important;background:var(--office-surface)!important}
html.sh-office[data-theme] .office-pivot-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;font-size:12px;color:var(--office-muted)}
html.sh-office[data-theme] .office-pivot-table th{top:0}
html.sh-office[data-theme] .office-pivot-table tr[data-group] td{font-weight:600;background:var(--office-raised)}
html.sh-office[data-theme] .office-pivot-table .office-total td{font-weight:600;background:var(--office-soft)}
html.sh-office[data-theme] .office-pivot-table [hidden]{display:none!important}
html.sh-office[data-theme] .office-pivot-table button{min-width:28px;min-height:28px;text-decoration:none}
html.sh-office[data-theme] .office-pagination{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:10px;color:var(--office-muted);font-size:12px}
/* Finance: retain the existing protected accounting editor and ledger. */
html.sh-office[data-theme] body .finance-page{padding:20px 24px!important;max-width:none!important}
html.sh-office[data-theme] .fin-hero h1{font-size:23px;margin:0;color:var(--office-ink)}
html.sh-office[data-theme] :is(.fin-kicker,.fin-source,.fin-hero p,.fin-panel-head p,.fin-section-kicker){display:none!important}
html.sh-office[data-theme] .fin-panel{padding:14px;border-radius:8px}
html.sh-office[data-theme] .fin-summary{gap:10px!important}
html.sh-office[data-theme] .fin-summary>div{background:var(--office-surface)!important;border-color:var(--office-line)!important;border-radius:8px!important;padding:12px!important}
html.sh-office[data-theme] .fin-summary :is(span,small){color:var(--office-muted)!important}
html.sh-office[data-theme] .fin-summary strong{font-size:18px!important;color:var(--office-ink)!important}
html.sh-office[data-theme] .fin-panel :is(input,button),html.sh-office[data-theme] .fin-modal :is(input,button){background:var(--office-surface)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important;font-size:12px!important;border-radius:6px!important}
html.sh-office[data-theme] .fin-btn{background:var(--office-accent)!important;color:var(--office-on-accent)!important}
html.sh-office[data-theme] :is(.fin-tree-row,.fin-group,.fin-tree-legend,.fin-modal-card,.fin-modal-kpis>div,.fin-table-wrap,.fin-drawer-period){background:var(--office-surface)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important;box-shadow:none!important}
html.sh-office[data-theme] :is(.fin-tree-name,.fin-tree-balance,.fin-group-name,.fin-modal-head h2,.fin-modal-kpis b){color:var(--office-ink)!important}
html.sh-office[data-theme] :is(.fin-tree-type,.fin-tree-code,.fin-status,.fin-modal-status,.fin-modal-meta,.fin-modal-kpis span){color:var(--office-muted)!important;font-size:12px!important}
html.sh-office[data-theme] .fin-tree-row:hover{background:var(--office-soft)!important}
html.sh-office[data-theme] .fin-table-wrap :is(th,td){color:var(--office-ink)!important;border-color:var(--office-line)!important;background:var(--office-surface)!important;padding:9px 11px!important;font-size:12px!important}
html.sh-office[data-theme] .fin-table-wrap th{background:var(--office-raised)!important}
/* Invoice list and existing editor share the same appearance. */
html.sh-office[data-theme] .invoices-page{padding:20px 24px!important;max-width:none!important;color:var(--office-ink)!important}
html.sh-office[data-theme] .invoices-page-title{font-size:23px!important;color:var(--office-ink)!important}
html.sh-office[data-theme] .invoices-page-sub{display:none}
html.sh-office[data-theme] .invoices-page :is(.invoice-filterbar,.table-search,.invoice-table-wrap,.invoice-details,.invoice-panel,.invoice-summary){background:var(--office-surface)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important;box-shadow:none!important;border-radius:8px!important}
html.sh-office[data-theme] .invoices-page :is(input,select,textarea),html.sh-office[data-theme] #invoice-details :is(input,select,textarea){color:var(--office-ink)!important;background:var(--office-surface)!important;border-color:var(--office-line)!important;font-size:12px!important}
html.sh-office[data-theme] .invoices-page :is(th,td){color:var(--office-ink)!important;background:var(--office-surface)!important;border-color:var(--office-line)!important;font-size:12px!important;padding:9px 10px!important}
html.sh-office[data-theme] .invoices-page th{background:var(--office-raised)!important}
html.sh-office[data-theme] .invoices-page :is(label,small,.invoice-status){color:var(--office-muted)!important}
html.sh-office[data-theme] .invoices-page tbody tr:hover td{background:var(--office-soft)!important}
@media(max-width:1050px){html.sh-office[data-theme] body #olap-builder .olap-workspace{grid-template-columns:185px minmax(0,1fr)!important}html.sh-office[data-theme] body #olap-builder .olap-zones{grid-template-columns:1fr!important}html.sh-office[data-theme] body #olap-builder .olap-zone-card{min-height:55px!important}html.sh-office[data-theme] body #olap-builder .olap-selected{min-height:24px!important}}
@media(max-width:760px){html.sh-office[data-theme] body :is(.cash-shifts-page,.finance-page,.reports-page,.invoices-page,.app-content){padding:16px 12px!important}html.sh-office[data-theme] .cs-filters{grid-template-columns:1fr 1fr}html.sh-office[data-theme] .office-detail dl{grid-template-columns:1fr 1fr}html.sh-office[data-theme] body #olap-builder .olap-workspace{grid-template-columns:1fr!important}html.sh-office[data-theme] body #olap-builder .olap-fields{max-height:180px!important}html.sh-office[data-theme] .office-table-wrap{max-height:60vh}}
@media(prefers-reduced-motion:reduce){html.sh-office[data-theme] *{scroll-behavior:auto!important}}

/* Explicitly retire legacy app-shell !important color literals. */
html.sh-office[data-theme] body :is(input,select,textarea){color:var(--office-ink)!important;background:var(--office-surface)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body :is(.panel-title,.pagehead h1,.page-head h1,.brand){color:var(--office-ink)!important}
html.sh-office[data-theme] body .office-table :is(td,th){color:var(--office-ink)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body .office-table th{color:var(--office-muted)!important}
html.sh-office[data-theme] body .office-table :is(td,th).num{text-align:right!important}
html.sh-office[data-theme] body .office-detail :is(dd,h2){color:var(--office-ink)!important}
html.sh-office[data-theme] body :is(.section-kicker,.panel-muted){color:var(--office-muted)!important}
html.sh-office[data-theme] body .sidebar .sh-brand-copy small{color:var(--office-muted)!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder :is(.olap-fields-card,.olap-zone-card,.olap-filters-panel,.olap-result-card){background:var(--office-surface)!important;border-color:var(--office-line)!important;box-shadow:none!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-main-card{background:transparent!important;border:0!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder :is(.olap-search-wrap,.olap-selected,.olap-filter-editor,.olap-result-empty,.olap-empty){background:var(--office-raised)!important;border-color:var(--office-line)!important;color:var(--office-muted)!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder :is(.olap-field strong,.olap-selected-field strong,.olap-result-empty strong,.olap-report-title){color:var(--office-ink)!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder :is(.olap-report-actions,.olap-filter-editor,.olap-search-wrap) :is(input,select){background:var(--office-surface)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder :is(.olap-selected-field,.olap-filter-item){background:var(--office-soft)!important;color:var(--office-accent)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-selected-field small{display:none!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-selected-field button{color:var(--office-ink)!important;background:var(--office-surface)!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder #olap-save-report{width:auto!important;min-width:80px!important;padding:0 12px!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder :is(#olap-run,#olap-export){background:var(--office-accent)!important;color:var(--office-on-accent)!important;border-color:var(--office-accent)!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-filter-editor [style*="display: none"],html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-filter-editor [style*="display:none"]{display:none!important}
html.sh-office[data-theme] body #olap-result :is(table,th,td){background:var(--office-surface)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body #olap-result th{background:var(--office-raised)!important;color:var(--office-muted)!important}
html.sh-office[data-theme] body #olap-result .office-total td,html.sh-office[data-theme] body #olap-result tr[data-group] td{background:var(--office-soft)!important}
html.sh-office[data-theme] body #olap-result .num{text-align:right!important}
html.sh-office[data-theme] .fin-tree-group,html.sh-office[data-theme] .fin-tree-group-body,html.sh-office[data-theme] .fin-empty{background:var(--office-surface)!important;color:var(--office-muted)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] .fin-tree-group-head{background:var(--office-raised)!important;border-color:var(--office-line)!important;color:var(--office-ink)!important;border-radius:0!important;padding:10px 14px!important}
html.sh-office[data-theme] .fin-tree-group-head strong{color:var(--office-ink)!important}
html.sh-office[data-theme] .fin-summary>div{min-height:82px!important}
html.sh-office[data-theme] .fin-panel .fin-btn,html.sh-office[data-theme] .fin-modal .fin-btn{background:var(--office-accent)!important;color:var(--office-on-accent)!important;white-space:nowrap!important;min-width:110px}
html.sh-office[data-theme] .fin-modal-head{padding-right:0!important}
html.sh-office[data-theme] .fin-modal-section-head h3{color:var(--office-ink)!important}
html.sh-office[data-theme] .invoices-page :is(.invoice-summary>div,.invoice-table-card,.invoice-table-head,.invoice-details-head,.invoice-details-grid>div){background:var(--office-surface)!important;border-color:var(--office-line)!important;color:var(--office-ink)!important;box-shadow:none!important;border-radius:8px!important}
html.sh-office[data-theme] .invoice-summary>div{padding:13px 16px!important}
html.sh-office[data-theme] .invoice-summary>div:after{display:none}
html.sh-office[data-theme] .invoice-summary strong{font-size:21px!important}
html.sh-office[data-theme] .invoice-table td:first-child strong,html.sh-office[data-theme] .invoice-details-grid strong{color:var(--office-ink)!important}
html.sh-office[data-theme] .invoice-details-grid{background:var(--office-line)!important}
html.sh-office[data-theme] .invoices-page .invoice-primary{background:var(--office-accent)!important;color:var(--office-on-accent)!important;box-shadow:none!important;border-radius:6px!important}
html.sh-office[data-theme] .invoices-page :is(.invoice-secondary,.invoice-details-head button){background:var(--office-raised)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important;border-radius:6px!important}
html.sh-office[data-theme] .invoices-page .invoice-status-pill{color:var(--office-ink)!important;background:var(--office-raised)!important}
html.sh-office[data-theme] .invoices-page .status-new{color:var(--office-warning)!important}
html.sh-office[data-theme] .invoices-page .status-deleted{color:var(--office-danger)!important}
html.sh-office[data-theme] .invoices-page .status-processed{color:var(--office-accent)!important}
html.sh-office[data-theme] .invoices-page .invoice-status.error{color:var(--office-danger)!important}
html.sh-office[data-theme] .inc-dialog,html.sh-office[data-theme] .inc-head,html.sh-office[data-theme] .inc-item{background:var(--office-surface)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important;border-radius:8px}
html.sh-office[data-theme] .inc-dialog{box-shadow:var(--office-shadow)!important}
html.sh-office[data-theme] .inc-btn{background:var(--office-raised)!important;color:var(--office-ink)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] .inc-primary{background:var(--office-accent)!important;color:var(--office-on-accent)!important}
html.sh-office[data-theme] .inc-danger{color:var(--office-danger)!important}
html.sh-office[data-theme] .inc-note{background:var(--office-soft)!important;color:var(--office-ink)!important}
html.sh-office[data-theme] .inc-body label,html.sh-office[data-theme] .inc-entry-status,html.sh-office[data-theme] .inc-total{color:var(--office-muted)!important}
html.sh-office[data-theme] .inc-total b{color:var(--office-ink)!important}
html.sh-office[data-theme] .inc-entry-status.error{color:var(--office-danger)!important}
html.sh-office[data-theme] .office-field-actions{display:flex;flex-wrap:wrap;gap:5px;padding:6px 0 10px}
html.sh-office[data-theme] body #olap-builder .office-field-actions button{font-size:11px!important;padding:5px 7px!important;min-height:30px!important}
html.sh-office[data-theme] body #olap-result :is(th,td){font-size:12px!important}/* Office A: shell controls and tab strip always remain outside business pages. */
html.sh-office[data-theme] body.sh-workspace-page .office-workspace-bar{min-height:48px;display:flex;align-items:center;gap:20px;padding:0 16px;background:var(--office-surface);border-bottom:1px solid var(--office-line);font:13px/1.4 system-ui;color:var(--office-ink)}
.office-workspace-bar #office-scope-note{font-size:11px;color:var(--office-muted)}
.office-workspace-bar [data-office-theme-host]{margin-left:auto}
html.sh-office[data-theme] .office-workspace-bar .office-appearance{display:flex!important;align-items:center;margin:0;padding:0;border:0;gap:8px}
html.sh-office[data-theme] body.sh-workspace-page .office-tabs{height:39px;flex:0 0 39px;display:flex;overflow:auto;background:var(--office-raised);border-bottom:1px solid var(--office-line);padding:0 8px;gap:0;scrollbar-width:thin}
.office-tab{display:flex;flex-shrink:0;border-right:1px solid var(--office-line);border-bottom:2px solid transparent}
html.sh-office[data-theme] .office-tab button{color:var(--office-muted)!important;background:transparent!important;border:0!important;border-radius:0!important;font:12px system-ui!important;padding:6px 12px!important;cursor:pointer;white-space:nowrap}
.office-tab.active{background:var(--office-surface);border-bottom-color:var(--office-accent)}
html.sh-office[data-theme] .office-tab.active button{color:var(--office-accent)!important}
html.sh-office[data-theme] .office-tab .office-tab-close{padding:6px!important;font-size:17px!important}
html.sh-office[data-theme] .sh-workspace-frame[hidden],html.sh-office[data-theme] .sh-workspace-frame.sh-pending{display:none!important}
html.sh-office[data-theme] .sh-workspace-empty{color:var(--office-muted);flex-direction:column;gap:12px;background:var(--office-bg)}
html.sh-office[data-theme] body.sh-workspace-page .sidebar{--sidebar-w:220px;box-shadow:none!important}
html.sh-office[data-theme] body .sidebar :is(.unified-brand,.sh-exact-brand,.sh-brand-header){background:transparent!important;border:0!important;box-shadow:none!important}
html.sh-office[data-theme] body .sidebar :is(.sh-exact-brand-copy,.sketch-brand-copy,.brand-copy) :is(b,strong,span){color:var(--office-ink)!important}
html.sh-office[data-theme] body .sidebar .unified-brand{padding:8px 10px 18px!important;min-height:64px!important}
html.sh-office[data-theme] body .sidebar :is(a,button){box-shadow:none!important}
html.sh-office[data-theme] body .sidebar .sh-language-switcher{background:var(--office-surface)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body .sidebar .sh-language-segment{color:var(--office-muted)!important;background:var(--office-raised)!important;border-color:var(--office-line)!important;box-shadow:none!important}
html.sh-office[data-theme] body .sidebar .sh-language-segment.active{color:var(--office-accent)!important;background:var(--office-soft)!important}
html.sh-office[data-theme] body .sidebar{scrollbar-color:var(--office-line) var(--office-bg)!important}
html.sh-office[data-theme] body .sidebar::-webkit-scrollbar-track,html.sh-office[data-theme] body .sidebar::-webkit-scrollbar-thumb{background:var(--office-line)!important;border-color:var(--office-bg)!important;box-shadow:none!important}
html.sh-office[data-theme] body .sh-sidebar-edge-shape{fill:var(--office-surface)!important;stroke:var(--office-line)!important}
html.sh-office[data-theme] body .sh-sidebar-edge-chevron{stroke:var(--office-accent)!important}
html.sh-office[data-theme] body>.sh-sidebar-collapse-btn{filter:none!important}
html.sh-office[data-theme] body :is(.cash-shifts-page,.finance-page,.invoices-page,.reports-page,.app-content){padding:14px 18px!important}
html.sh-office[data-theme] body :is(.cs-title,.fin-pagehead h1,.olap-report-title){font-size:20px!important}
html.sh-office[data-theme] body :is(.cs-panel,.fin-panel,.fin-tree-group,.invoice-panel){border-radius:4px!important;box-shadow:none!important}
html.sh-office[data-theme] body #olap-builder .olap-workspace{gap:10px!important;grid-template-columns:200px minmax(0,1fr)!important}
html.sh-office[data-theme] body #olap-builder .olap-zone-card{min-height:60px!important;padding:6px 8px!important;border-radius:4px!important}
html.sh-office[data-theme] body #olap-builder .olap-selected{min-height:25px!important;padding:2px 0!important}
html.sh-office[data-theme] body #olap-builder .olap-filters-panel{padding:8px!important}
html.sh-office[data-theme] body #olap-builder .olap-filter-editor{display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding:6px!important}
html.sh-office[data-theme] body #olap-builder .olap-result-card{padding:8px!important;border-radius:4px!important}
html.sh-office[data-theme] body :is(.card,.panel,.fin-panel,.cs-panel,.modal-content,.modal-card,.dialog-card,.drawer,.drawer-header,.dropdown-menu){color:var(--office-ink)!important;background:var(--office-surface)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body :is(table,thead,tbody,th,td){color:var(--office-ink)!important;border-color:var(--office-line)!important}
html.sh-office[data-theme] body :is(table,td){background:var(--office-surface)!important}
html.sh-office[data-theme] body th{background:var(--office-raised)!important}
html.sh-office[data-theme] body :is(.page-title,.panel-title,.ctitle h3,.kvalue,.fin-tree-name,.cs-stat strong){color:var(--office-ink)!important}
html.sh-office[data-theme] body :is(.content,.page-content,.workspace,.fin-modal-body){color:var(--office-ink)!important;background:var(--office-bg)!important}
html.sh-office[data-theme=light] body :is(.modal,.dialog,.drawer,.popup) :is(label,h2,h3,td){color:var(--office-ink)!important}
html.sh-office[data-theme] body :is(.fin-modal-card,.fin-modal-kpis>div,.fin-table-wrap){background:var(--office-surface)!important;border-color:var(--office-line)!important}
@media(max-width:760px){.office-workspace-bar #office-scope-note{display:none}html.sh-office[data-theme] body #olap-builder .olap-workspace{grid-template-columns:1fr!important}.office-workspace-bar{flex-wrap:wrap}}

/* The Office layer outranks per-page legacy theme sheets, regardless of load order. */
html.sh-office.sh-office[data-theme] body .sidebar :is(.sh-theme-toggle,.theme-btn,[data-theme-label]){display:none!important}
html.sh-office.sh-office[data-theme] body :is(.app-shell,.cash-shifts-page,.finance-page,.invoices-page){background:var(--office-bg)!important;color:var(--office-ink)!important}
html.sh-office.sh-office[data-theme].sh-pilot-embedded body .topbar{display:none!important}
html.sh-office.sh-office[data-theme] body .cs-stat{min-height:48px!important;background:transparent!important;box-shadow:none!important;padding:0!important;border:0!important}
html.sh-office.sh-office[data-theme] body .cs-restaurant{color:var(--office-accent)!important;background:var(--office-soft)!important;border-color:var(--office-line)!important;border-radius:4px!important;font-size:11px!important}
html.sh-office.sh-office[data-theme] body .cs-btn{background:var(--office-accent)!important;color:var(--office-on-accent)!important;box-shadow:none!important;height:34px!important}
html.sh-office.sh-office[data-theme] body .cs-field input{height:34px!important}
html.sh-office.sh-office[data-theme] body .cs-table :is(th,td){padding:8px 10px!important;font-size:11px!important}
html.sh-office.sh-office[data-theme] body .cs-table th{font-size:10px!important}
html.sh-office.sh-office[data-theme] body .cs-status.ok{color:var(--office-accent)!important}
html.sh-office.sh-office[data-theme] body .cs-stat strong{color:var(--office-ink)!important}
html.sh-office.sh-office[data-theme] .office-mobile-menu{display:none}
html.sh-office.sh-office[data-theme] .office-workspace-bar [data-auth-logout]{background:transparent;border:1px solid var(--office-line);color:var(--office-muted);border-radius:4px;padding:6px 9px;cursor:pointer}
@media(max-width:760px){html.sh-office.sh-office[data-theme] .office-mobile-menu{display:inline-flex!important}}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-filters-panel{padding:8px!important;margin:0!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-filter-editor{padding:6px!important;gap:8px!important;margin:6px 0!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-filter-item{display:flex!important;align-items:center!important;gap:8px!important;padding:6px 9px!important;min-height:28px!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-filter-item :is(small,span){font-size:11px!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-empty{min-height:28px!important;padding:6px!important;margin:4px 0!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-zone-card{min-height:60px!important;padding:6px 8px!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-selected-field{padding:5px 8px!important;min-height:28px!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder .olap-result-card{padding:8px!important}
html.sh-office[data-theme] body[data-protected="true"] #olap-builder :is(input,select){min-height:32px!important;height:32px!important;padding:5px 8px!important}
