/* Shared palette: a small contrast lift, with the same geometry in both themes. */
:root {
  color-scheme: light;
  --bg:#f4f7f6; --ink:#253b35; --muted:#4c6259; --line:#d8e2dd;
  --surface:#fff; --surface-soft:#f4f8f5; --surface-hover:#e9f2ed;
  --text:#253b35; --text-muted:#4c6259; --text-data:#132a20;
  --accent:#257d76; --accent-text:#246653; --selected:#e1efe7;
  --nav:#eaf2ef; --nav-text:#2d4c42; --nav-muted:#4c695f;
  --nav-hover:#dceae3; --nav-selected:#ccdfd5; --nav-line:#cedfd5;
  --choice-bg:#eef4f0; --choice-hover:#e2ece6; --nav-parent-selected:#deebe4;
  --disabled-bg:#edf1ef; --disabled-text:#75867d;
  --warning-bg:#faf3e6; --warning-text:#785a28; --error-bg:#fff4ee; --error-text:#9a4734;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:#191f24; --ink:#dae3e4; --muted:#aab8ba; --line:#303b40;
  --surface:#20282d; --surface-soft:#242d32; --surface-hover:#2a373b;
  --text:#dae3e4; --text-muted:#aab8ba; --text-data:#e7eded;
  --accent:#8cc2b1; --accent-text:#a2cebd; --selected:#2d433f;
  --nav:#1b2429; --nav-text:#dce6e3; --nav-muted:#acbdb7;
  --nav-hover:#29373a; --nav-selected:#304740; --nav-line:#2d393d;
  --choice-bg:#2a353b; --choice-hover:#344247; --nav-parent-selected:#243430;
  --disabled-bg:#252f34; --disabled-text:#83938e;
  --table-line:#2b353b; --modal-body:#1e272c;
  --warning-bg:#3d3525; --warning-text:#ead1a0; --error-bg:#402f2b; --error-text:#f2b29e;
}
body {color:var(--text);background:var(--bg)}
.sidebar {background:var(--nav);color:var(--nav-text);border-right:1px solid var(--nav-line)}
.sidebar .brand {color:var(--nav-text);font-size:25px;margin-bottom:20px;flex-shrink:0}
.sidebar .brand small {font-size:12px;color:var(--nav-muted)}
.sidebar .brand-mark {font-size:27px;background:#327e70;color:#fff}
.sidebar #navigation {flex:1;min-height:0;padding-bottom:14px;scrollbar-color:var(--nav-line) transparent}
.sidebar .nav-link {font-size:15px;color:var(--nav-text)}
.sidebar .nav-link:hover {background:var(--nav-hover)}
.sidebar .nav-link.active {background:var(--nav-selected);color:var(--nav-text);font-weight:700}
.sidebar .nav-link.active:after {background:var(--accent-text)}
.sidebar .lv-nav-heading {font-size:12px;color:var(--nav-muted)}
.sidebar .lv-nav-heading small {font-size:10px;color:var(--nav-muted);border-color:var(--nav-line)}
.sidebar .lv-nav-group>summary {font-size:13px;color:var(--nav-text)}
.sidebar .lv-nav-group>summary small {font-size:11px;color:var(--nav-muted)}
.sidebar .lv-nav-group>summary:before {color:var(--accent-text);transform:rotate(0)}
.sidebar .lv-nav-group[open]>summary:before {transform:rotate(90deg)}
.sidebar .lv-nav-group>summary:hover {background:var(--nav-hover);color:var(--nav-text)}
.sidebar .lv-nav-group>summary:hover small {color:var(--nav-text)}
.sidebar .lv-nav-group:has(.nav-link.active)>summary {background:var(--nav-parent-selected);color:var(--nav-text);font-weight:600}
.sidebar .lv-nav-group:has(.nav-link.active)>summary:hover {background:var(--nav-hover)}
.sidebar .lv-nav-group[open] {background:transparent}
.sidebar .lv-nav-group .lv-table-link {font-size:12px}
.sidebar .lv-data-nav {border-top:1px solid var(--nav-line);padding-top:8px;margin-top:14px}
.sidebar .lv-data-subgroup {margin-inline:7px 0}
.sidebar .lv-data-subgroup>summary {padding-left:9px}
.sidebar .lv-data-subgroup .lv-table-link {padding-left:20px}
.sidebar-bottom {display:block;flex-shrink:0;padding:16px 17px 18px;border-color:var(--nav-line);font-size:13px}
.sidebar-mode {display:flex;gap:9px;margin:14px 5px 0}
.sidebar-bottom strong {color:var(--nav-text)}
.sidebar-bottom small {font-size:12px;color:var(--nav-muted)}
.theme-switch {display:flex;gap:3px;padding:4px;background:var(--nav-hover);border:1px solid var(--nav-line);border-radius:9px}
.theme-switch button {flex:1;border:0;border-radius:6px;padding:7px 2px;font-size:12px;background:transparent;color:var(--nav-text)}
.theme-switch button:hover {background:var(--nav-selected)}
.theme-switch button[aria-pressed=true] {background:var(--surface);color:var(--accent-text);font-weight:700;box-shadow:0 1px 4px #14372b18}
.fn-column-picker {padding-top:16px;font-size:12px}
.fn-column-picker .fn-column-options {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-height:250px;padding:16px 0}
.fn-column-picker p {font-size:12px;color:var(--text-muted);margin:0 0 12px}
.fn-column-picker input {accent-color:var(--accent)}

/* All active business, table, and detail surfaces use the same palette. */
.topbar,.panel,.metric,.fn-metric,.lv-table-card,.lv-login,.lv-row-modal,.fd-card,.fd-head,.fd-footer,.fd-jumps,
.lv-row-modal .lv-row-detail,.lv-query-meta,.in-control-grid>div {background:var(--surface);border-color:var(--line);color:var(--text)}
.fd-body,.fn-search,.lv-query-form,.lv-review-filter,.lv-detail-search,.lv-modal-actions,.lv-resultset>h3,.fd-tabs,
.lv-empty,.lv-row-detail,.lv-review-summary,.lv-read-note,.lv-resultsets-note,.lv-related-live {background:var(--surface-soft);border-color:var(--line);color:var(--text-muted)}
.button,.fn-status-tabs button,.lv-column-picker summary,.lv-related-live a {
  background:var(--surface);border-color:var(--line);color:var(--text);
}
.button:hover:not(:disabled),.lv-modal-head .button:hover:not(:disabled),.fn-status-tabs button:hover,.lv-column-picker summary:hover {
  background:var(--surface-hover);border-color:var(--accent-text);color:var(--text);
}
.button.primary,.fn-status-tabs button[aria-pressed=true],.lv-pagination .lv-page-number.active {
  background:var(--accent);border-color:var(--accent);color:#fff;
}
:root[data-theme=dark] .button.primary,:root[data-theme=dark] .fn-status-tabs button[aria-pressed=true],:root[data-theme=dark] .lv-pagination .lv-page-number.active {color:#122e25}
:root[data-theme=dark] .button.primary:hover:not(:disabled) {background:#9adeca;border-color:#9adeca;color:#122e25}
.button:disabled,.button.primary:disabled,.in-actions .button:disabled {background:var(--disabled-bg);border-color:var(--line);color:var(--disabled-text)}
.lv-pagination .lv-page-number.active:disabled {background:var(--accent);border-color:var(--accent);color:#fff}
:root[data-theme=dark] .lv-pagination .lv-page-number.active:disabled {color:#122e25}
.lv-field input,.lv-field select,.fn-search select,.fn-search input,.fn-list-toolbar select,.lv-detail-search input {
  background:var(--surface);color:var(--text-data);border-color:var(--line);
}
input::placeholder,.lv-field input::placeholder {color:var(--text-muted);opacity:1}
main .description,main .metric-label,main .metric-note,main .metric-value small,main .muted,
.breadcrumb,.top-date,.current-user,.footer,.footer .muted,.lv-field>span,.lv-user,.lv-home-search>span,
.lv-section-heading small,.lv-table-card p,.lv-table-card small,.lv-query-meta,.lv-query-meta summary,
.lv-column-picker,.lv-column-picker summary>span,.lv-result-heading,.lv-pagination,.lv-pagination strong,
.lv-bottom-note,.lv-review-summary p,.lv-procedures td>small,.lv-related-live>p,.lv-sort-note,.wk-source-note,.wk-evidence,
.lv-customer-filters p,.lv-detail-search label,.lv-detail-search>span,.lv-modal-head p,.lv-row-detail dt,.lv-row-detail dt small,
.fn-writes>span,.fn-search label,.fn-metric>span,.fn-summary-note,.fn-state-head span,.fn-list-help,.fn-list-toolbar>label,
.fn-result-caption,.fn-metric>.fn-mpr,.fd-head p,.fd-card>header>span,.fd-fields dt,.fd-tabs button,.fd-footer>span,
.fd-section-note,.fd-table-count,.fd-empty,.fd-unavailable,.fd-jumps button,.lv-empty p,.lv-loading,.lv-loading p {
  color:var(--text-muted);
}
.breadcrumb strong,.lv-section-heading h2,.lv-table-card h3,.lv-empty strong,.lv-loading strong,.lv-modal-head h2,
.lv-customer-filters legend,.fn-metric>strong,.fn-state-head strong,.fn-list-toolbar>div>strong,.fn-result-caption strong,
.fd-head h2,.fd-card h3,.lv-related-live h2 {color:var(--text)}
.fn-stage,.fn-mpr b,.lv-live-badge,.lv-readonly-value,.lv-review-summary strong,.lv-read-note>a,.lv-bottom-note>a {color:var(--accent-text)}
.preview-badge,.lv-card-icon,.fd-stage {background:var(--selected);border-color:var(--line);color:var(--accent-text)}
.fd-tabs button:hover,.fd-jumps button:hover,.fd-jumps button:focus-visible {background:var(--surface-hover);color:var(--text)}
.fd-tabs button[aria-selected=true] {background:var(--selected);color:var(--accent-text)}
.fn-status-tabs button[aria-pressed=false],.fd-tabs button:not([aria-selected=true]),.fd-jumps button {background:var(--choice-bg)}
.fn-status-tabs button[aria-pressed=false]:hover,.fd-tabs button:not([aria-selected=true]):hover,.fd-jumps button:hover {background:var(--choice-hover)}
.fn-grid th,.lv-data-table th,.fd-table th,.lv-data-table th.lv-row-number {background:var(--surface-soft);color:var(--text);border-color:var(--line)}
.fn-grid td,.lv-data-table td,.fd-table td,.lv-row-detail dd,.fd-fields dd,.lv-procedures td>strong {background:var(--surface);color:var(--text-data);border-color:var(--line)}
.lv-data-table th small,.lv-null {color:var(--text-muted)}
.lv-data-table .lv-row-number {background:var(--surface-soft);color:var(--text-muted);border-color:var(--line)}
.fn-grid td.fn-fixed-0 {color:var(--accent-text)}
.fn-grid tr[data-fn-row]:hover td,.fn-grid tr[data-fn-row]:focus-visible td,.lv-data-table tr:hover td,
.lv-data-table tbody tr[data-live-row]:focus-visible td,.fd-table tbody tr:hover td {background:var(--surface-hover)}
.fn-grid-scroll,.fn-status-tabs,.fn-grid .fn-fixed-6,.fd-card>header,.fd-fields>div,.fd-tabs,.fd-table-scroll,.fd-jumps,
.lv-row-detail dl>div,.lv-customer-filters,.wk-related,.lv-modal-head {border-color:var(--line)}
.wk-status,.lv-boundary-note {background:var(--warning-bg);color:var(--warning-text);border-color:var(--line)}
.fd-unavailable strong {color:var(--warning-text)}
.lv-error {background:var(--error-bg);border-color:var(--line);color:var(--error-text)}
.lv-error p,.lv-error-message,.lv-global-error {color:var(--error-text)}
:root[data-theme=dark] .lv-login-form p,:root[data-theme=dark] .lv-login-form>small {color:var(--text-muted)}
/* Quiet separators and closely related surfaces keep dark tables and dialogs grounded. */
:root[data-theme=dark] :is(table,thead,tbody,tfoot,tr,th,td),
:root[data-theme=dark] :is(.table-wrap,.lv-result-scroll,.fn-grid-scroll,.fd-table-scroll,.fd-fields>div,.lv-row-detail dl>div) {border-color:var(--table-line)}
:where(:root[data-theme=dark]) table th {background:var(--surface-soft);color:var(--text)}
:where(:root[data-theme=dark]) table td {background:var(--surface);color:var(--text-data)}
:root[data-theme=dark] table :is(.lv-row-number,.lv-row-open) {background:var(--surface-soft);color:var(--text-muted)}
:root[data-theme=dark] table tbody tr:hover>td {background:var(--surface-hover)}
:root[data-theme=dark] :is(.table-wrap,.lv-result-scroll,.fn-grid-scroll,.fd-table-scroll) {box-shadow:none}
:root[data-theme=dark] .in-control-grid {background:var(--table-line);border-color:var(--table-line)}
:root[data-theme=dark] .fn-grid .fn-fixed-6 {border-right-width:1px}
:root[data-theme=dark] :is(.panel,.metric,.fn-metric,.lv-table-card,.lv-table-card:hover,.fd-card,.theme-switch button[aria-pressed=true]) {box-shadow:none}
:root[data-theme=dark] .lv-row-modal {border-color:var(--line);box-shadow:0 12px 36px #00000030}
:root[data-theme=dark] .lv-row-modal::backdrop {background:#080d1280}
:root[data-theme=dark] .fd-body {background:var(--modal-body)}
:root[data-theme=dark] :is(.fd-card>header,.fd-tabs,.fd-jumps,.fd-footer,.lv-modal-head,.lv-modal-actions) {background:var(--surface);border-color:var(--table-line)}
:root[data-theme=dark] .fd-card {border-color:var(--table-line)}
:root[data-theme=dark] .fd-fields dd {background:transparent}
@media(max-width:1150px){.sidebar .brand{font-size:23px}}
@media(max-height:650px){.sidebar .brand{margin-block:16px 10px}.sidebar-bottom{padding-block:10px}.sidebar-mode{margin-top:8px}}
