/* Approved blue-gray finance workspace. Presentation only; app.css owns feature styles. */
:root {
  color-scheme: light dark;

  --paper: #f5f7fa;   /* 页面底：浅灰蓝 */
  --paper-2: #ffffff;   /* 卡片：近白 */
  --line: #dbe1e9;
  --line-soft: #e7ebf1;
  --ink: #182337;
  --ink-2: #465369;
  --ink-3: #5e6b80;
  --accent: #3569a6;     /* AI‑ERP 蓝灰 */
  --accent-soft: #edf4fb;
  --accent-ink: #ffffff;     /* 蓝底上的文字 */
  --pos: #21858a;
  --neg: #bb4852;
  --warn: #a66b14;
  --warn-soft: #fff8eb;

  --sans: "Inter", -apple-system, "PingFang SC", "Hiragino Sans GB",
          "Microsoft YaHei", system-ui, sans-serif;
  --mono: "SF Mono", "JetBrains Mono", ui-monospace, "Menlo", monospace;

  --text-xs: 0.78rem;
  --text-sm: 0.875rem;
  --text-base: 0.9375rem;
  --text-lg: 1.05rem;
  --text-kpi: clamp(1.5rem, 1rem + 1.4vw, 2.2rem);

  --space-1: 0.35rem;
  --space-2: 0.7rem;
  --space-3: 1.1rem;
  --space-4: 1.7rem;
  --space-5: 2.6rem;

  --r-sm: 8px;
  --r: 10px;
  --r-lg: 12px;
  --shadow: 0 1px 2px oklch(20% 0.03 260 / 0.04),
            0 12px 32px -20px oklch(20% 0.05 260 / 0.22);
  --dur: 160ms;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper:      oklch(18% 0.014 260);
    --paper-2:    oklch(23% 0.016 260);
    --line:       oklch(33% 0.018 260);
    --line-soft:  oklch(28% 0.015 260);
    --ink:        oklch(94% 0.006 260);
    --ink-2:      oklch(74% 0.010 260);
    --ink-3:      #adb9ca;
    --accent:     oklch(72% 0.155 258);
    --accent-soft:oklch(31% 0.06 258);
    --accent-ink: oklch(18% 0.014 260);
    --pos:        oklch(72% 0.135 158);
    --neg:        oklch(70% 0.170 26);
    --warn:       oklch(78% 0.130 80);
    --warn-soft:  oklch(31% 0.055 80);
    --shadow: 0 1px 2px oklch(0% 0 0 / 0.3), 0 8px 24px -10px oklch(0% 0 0 / 0.5);
  }
}


:root {
  --sidebar: var(--paper); --sidebar-2: var(--paper-2);
  --accent-d: var(--accent); --accent-line: var(--line);
  --ink-1: var(--ink); --ink-4: var(--ink-3);
  --line-hard: var(--line); --shadow: 0 1px 3px rgb(20 35 55 / .03);
}
.app-shell { grid-template-columns: 240px minmax(0, 1fr); }
.sidebar { padding: 18px 10px 12px; background: var(--paper-2); gap: 14px; }
.brand { padding: 4px 6px 20px; border-bottom: 1px solid var(--line-soft); }
.brand-text { display: flex; flex-direction: column; gap: 5px; }
.brand-text strong { white-space: nowrap; font-size: 15px; }
.brand-text small { color: var(--ink-3); font-size: 12px; letter-spacing: 1px; }
.ui-icon { width: 21px; height: 21px; flex: none; vertical-align: middle; }
.mark { width: 38px; height: 38px; border-radius: 10px; background: var(--accent); color: var(--accent-ink); }
.mark .ui-icon { width: 24px; height: 24px; }
.sidebar-nav { gap: 5px; }
.nav-group { gap: 0; margin: 0; padding: 0; border: 0; }
.nav-group-toggle, .nav-home button {
  min-height: 45px; display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; cursor: pointer; font-size: var(--text-sm);
  border-radius: 8px; color: var(--ink-2); letter-spacing: 0; font-weight: 500;
}
.nav-group-toggle .nav-icon { display: inline-block; width: 21px; height: 21px; }
.nav-group-toggle::after { opacity: 1; margin-left: auto; }
.nav-group.has-active .nav-group-toggle { color: var(--accent); font-weight: 600; }
.nav-group-items button { min-height: 39px; padding: 8px 10px 8px 38px; font-size: var(--text-sm); border-radius: 6px; justify-content: flex-start; }
.nav-group-items button .nav-icon { display: none; }
.nav-home button.on, .nav-group-items button.on {
  border-radius: 0 6px 6px 0; background: var(--accent-soft); color: var(--accent);
  box-shadow: inset 3px 0 var(--accent); font-weight: 600;
}
.nav-group-items button:hover, .nav-home button:hover { background: var(--paper); color: var(--ink); }
.nav-group-items { margin: 2px 0 8px; }
.nav-group.collapsed .nav-group-items { margin: 0; }
.sidebar-data { margin: 0; padding: 8px 8px 0; font-size: 11px; color: var(--ink-3); line-height: 1.6; }
.sidebar-user { border-top: 1px solid var(--line); padding-top: 12px; }
.nav-backdrop { display: none; }
.workspace-topbar { min-height: 68px; padding: 12px 26px; background: var(--paper-2); gap: 12px; }
.workspace-topbar .nav-toggle { display: none; }
.global-search { min-width: 180px; }
.global-search input { width: min(360px, 34vw); border-radius: 8px; background: var(--paper-2); padding: 9px 12px; }
input, select, textarea { border-radius: 8px; padding: 8px 10px; }
.btn { border-radius: 8px; padding: 8px 14px; }
.btn.sm { padding: 5px 9px; }
.notice-btn { width: 36px; height: 36px; padding: 0; }
.page-heading { padding: 26px 26px 0; }
.page-id { min-width: 0; width: 100%; }
.page-id p { margin-bottom: 8px; }
.page-id h1 { font-size: clamp(1.4rem, 1.8vw, 1.9rem); line-height: 1.35; }
.page-title-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.project-switch select { color: var(--ink-2); max-width: 190px; }
main { padding: 18px 26px 36px; }
.filters, .company-filter-row {
  padding: 12px 14px; background: var(--paper-2); border: 1px solid var(--line);
  border-radius: 10px; gap: 12px; margin-bottom: 16px;
}
.filters { width: 100%; margin: 8px 0 0; }
.company-filter-row label { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.filter-summary { margin-left: auto; }
.panel, .business-domain-card { border: 1px solid var(--line); border-radius: 10px; box-shadow: none; }
.panel h2 { font-size: 16px; border: 0; padding: 0; margin-bottom: 14px; }
.panel h2 .hint { line-height: 1.6; }
.kpis, .company-kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: 18px; background: transparent; border: 0; border-radius: 0; overflow: visible;
}
.kpi, .company-kpis .kpi { min-width: 0; padding: 18px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 10px; box-shadow: none; }
.kpi .k { color: var(--ink-2); font-size: var(--text-sm); }
.kpi .v { font: 650 var(--text-kpi)/1.2 var(--sans); font-variant-numeric: tabular-nums; letter-spacing: -.03em; margin-top: 9px; }
.kpi .s { margin-top: 8px; color: var(--ink-3); }
.kpi.lead, .company-kpis .kpi.lead { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); box-shadow: none; }
.kpi.plain .pos, .kpi.plain .neg { color: var(--ink); }
.project-dashboard > .kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* 项目页顶部那排卡（project_kpis.js）：大数下面挂两三行拆分。回款卡还没接上的页面是三张 */
@media (min-width: 1181px) { .project-dashboard > .kpis[data-cards="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1180px) { .project-dashboard > .kpis[data-cards="3"] > .kpi:last-child { grid-column: 1 / -1; } }
.project-dashboard > .kpis:empty { display: none; }
.kpi-rows { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--line-soft); display: grid; gap: 4px; }
.kpi-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: var(--text-sm); }
.kpi-row dt { color: var(--ink-3); min-width: 0; }
.kpi-row dd { margin: 0; color: var(--ink); font-variant-numeric: tabular-nums; font-weight: 550; white-space: nowrap; }
.kpi-row.minus dd { color: var(--neg); }
.kpi-row.warn dt, .kpi-row.warn dd { color: var(--warn); }
/* 回款卡：已到账 / 未到账并排两个数，比单个大数小一号才放得下 */
.kpi-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 9px; }
.kpi-half { min-width: 0; display: grid; gap: 2px; }
.kpi-half span { font-size: var(--text-xs); color: var(--ink-3); }
.kpi-half b { font: 650 clamp(1.15rem, .85rem + .8vw, 1.55rem)/1.2 var(--sans); font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--ink); overflow-wrap: anywhere; }
.kpi-half.in b { color: var(--pos); }
.kpi-half.out b { color: var(--warn); }
.kpi.linked { cursor: pointer; transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.kpi.linked:hover { border-color: var(--accent); }
.kpi.linked:active { transform: scale(.995); }
.kpi.linked:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .kpi.linked { transition: none; } .kpi.linked:active { transform: none; } }
.kpi.lead .kpi-rows { border-top-color: color-mix(in srgb, var(--accent) 25%, var(--line-soft)); }
.kpi-check-slot:empty { display: none; }
.kpi-check { margin: 10px 0 0; padding: 8px 12px; border-radius: 6px; background: var(--paper-2); border: 1px solid var(--line-soft); color: var(--ink-3); font-size: var(--text-xs); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.kpi-check.bad { background: var(--warn-soft); border-color: var(--warn); color: var(--neg); font-weight: 600; }
.cash-kpis { display: grid; gap: 12px; }
.cash-kpis .kpi { padding: 0; border: 0; background: transparent; }
.cash-kpis .kpi + .kpi { padding-top: 12px; border-top: 1px solid var(--line); }
.cash-kpis .kpi .v { font-size: 1.8rem; }
.cash-kpis .kpi.lead { box-shadow: none; }
.section-nav { display: flex; gap: 8px; border-bottom: 1px solid var(--line); margin-bottom: 16px; overflow-x: auto; }
.section-nav button { padding: 10px 16px; color: var(--ink-2); border: 0; border-bottom: 2px solid transparent; background: none; cursor: pointer; white-space: nowrap; }
.section-nav button.on { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }
.project-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; }
.project-side { min-width: 0; }
.profit-equation { padding: 12px; background: var(--accent-soft); border-radius: 6px; font-size: var(--text-sm); line-height: 1.8; margin: 16px 0 0; }
.expense-table .pos, .expense-table .neg { color: var(--ink); }
.notes-panel ul { list-style: none; padding: 0; margin: 0; }
.notes-panel li { position: relative; padding: 12px 12px 12px 28px; border-top: 1px solid var(--line-soft); font-size: var(--text-sm); color: var(--ink-2); overflow-wrap: anywhere; }
.notes-panel li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); position: absolute; top: 21px; left: 8px; }
.project-dashboard [tabindex="-1"] { scroll-margin-top: 86px; }
.view-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.view-error p { margin: 0; }
.project-dashboard[aria-busy="true"] .kpis { opacity: .55; }
/* Financial wide tables retain local scrolling, including rates and salary sheets. */
th, td { padding: 9px 10px; }
thead th { background: var(--paper); color: var(--ink-2); letter-spacing: .01em; }
td.n, th.n { font-family: var(--sans); font-variant-numeric: tabular-nums; }
@media (min-width: 1001px) and (max-width: 1180px) {
  .app-shell { grid-template-columns: 220px minmax(0, 1fr); }
  .brand-text, .nav-group-toggle, .sidebar-user .user-name { display: flex; }
  .nav-home button span:not(.nav-icon), .nav-group-items button span:not(.nav-icon) { display: inline; }
  .nav-home button { justify-content: flex-start; }
  .nav-group-items button { justify-content: flex-start; padding-left: 38px; }
  .nav-group-items button .nav-icon { display: none; }
  .nav-group.collapsed .nav-group-items { grid-template-rows: 0fr; }
}
@media (max-width: 1180px) {
  .project-dashboard > .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
  .app-shell { display: block; }
  .workspace-topbar .nav-toggle { display: inline-flex; }
  .sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 60; width: min(86vw, 280px);
    height: 100dvh; transform: translateX(-105%); box-shadow: var(--shadow-pop);
  }
  body.nav-open .sidebar { transform: translateX(0); }
  body:not(.nav-open) .sidebar { visibility: hidden; }
  .brand-text, .nav-group-toggle, .sidebar-user .user-name { display: flex; }
  .nav-home button span:not(.nav-icon), .nav-group-items button span:not(.nav-icon) { display: inline; }
  .nav-home button, .nav-group-items button { justify-content: flex-start; }
  .nav-group-items button .nav-icon { display: none; }
  .nav-group.collapsed .nav-group-items { grid-template-rows: 0fr; }
  .nav-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 50; border: 0; background: rgb(10 20 35 / .3); }
  body.nav-open { overflow: hidden; }
}
@media (max-width: 600px) {
  .workspace-topbar { flex-wrap: wrap; padding: 10px 14px; gap: 10px; }
  .global-search { order: 5; flex: 1 0 100%; min-width: 0; }
  .global-search input { width: 100%; font-size: 14px; }
  .workspace-topbar .btn { padding: 7px 10px; white-space: nowrap; }
  .search-panel, .notice-panel { position: fixed; top: 112px; left: 14px; right: 14px; width: auto; max-height: calc(100dvh - 130px); }
  .page-heading { padding: 20px 14px 0; }
  main { padding: 16px 14px 28px; }
  .company-filter-row { gap: 10px; }
  .company-filter-row label { flex: 1 1 130px; }
  .company-filter-row label select, .company-filter-row label input { min-width: 0; width: 100%; }
  .filter-summary { width: 100%; margin-left: 0; }
  .kpis, .company-kpis, .project-dashboard > .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kpi, .company-kpis .kpi { padding: 12px; }
  .kpi .v { font-size: clamp(1.25rem, 5vw, 1.7rem); overflow-wrap: anywhere; }
  .section-nav { gap: 0; }
  .section-nav button { font-size: 13px; padding: 10px; }
  .panel { padding: 14px; }
  .scroll-x { max-width: 100%; }
  .page-title-row { gap: 10px; }
  .project-switch select { max-width: 160px; }
  .line-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .line-row input { min-width: 0; width: 100%; }
  .project-dashboard [tabindex="-1"] { scroll-margin-top: 128px; }
}
/* Explain figures beside the KPIs; follow-up actions stay within the current project. */
.project-details { margin: -4px 0 20px; min-width: 0; }
.profit-method { border: 1px solid var(--line); border-radius: 8px; background: var(--paper-2); }
.profit-method summary { padding: 12px 16px; color: var(--accent); cursor: pointer; font-weight: 600; font-size: var(--text-sm); }
.profit-method summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 8px; }
.profit-method-body { padding: 0 16px 12px; color: var(--ink-2); font-size: var(--text-sm); line-height: 1.7; overflow-wrap: anywhere; }
.profit-method-body p { margin: 8px 0; }
.detail-equation { padding: 10px 12px; border-radius: 6px; background: var(--paper); font-variant-numeric: tabular-nums; }
.project-actions { margin-top: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper-2); }
.project-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; font-size: var(--text-sm); }
.project-action + .project-action { border-top: 1px solid var(--line-soft); }
.project-action span { min-width: 0; overflow-wrap: anywhere; }
.project-action small { display: block; color: var(--ink-2); margin-top: 3px; }
.project-action .btn { flex-shrink: 0; }
@media (max-width: 600px) {
  .project-action { flex-wrap: wrap; padding: 12px; }
  .project-action > span { flex-basis: 100%; }
}

/* Approved category palette: identities are separate from success/loss/warning. */
:root {
  --category-blue: #3569a6; --category-blue-soft: #edf4ff;
  --category-teal: #197d79; --category-teal-soft: #eaf7f4;
  --category-violet: #7953a8; --category-violet-soft: #f3eefb;
  --category-amber: #976322; --category-amber-soft: #fff4e7;
  --control-border: #8190a5;
  --status-success-ink: #176846; --status-success-bg: #edf7f0;
  --status-warning-ink: #80500b; --status-warning-bg: #fff3dc;
}
@media (prefers-color-scheme: dark) {
  :root {
    --category-blue: #9fc5ff; --category-blue-soft: #22334b;
    --category-teal: #80d4c7; --category-teal-soft: #203a38;
    --category-violet: #c8adf0; --category-violet-soft: #342d46;
    --category-amber: #e7c08b; --category-amber-soft: #3d3326;
    --control-border: #8190a5;
    --status-success-ink: #9cdeba; --status-success-bg: #203b30;
    --status-warning-ink: #f0ce8c; --status-warning-bg: #41351f;
  }
}
/* Existing navigation, selection and permissions remain unchanged. */
.nav-home [data-tab="company"] .nav-icon,
[data-nav-group="projects"] > .nav-group-toggle .nav-icon,
[data-nav-group="ecom"] > .nav-group-toggle .nav-icon { color: var(--category-blue); opacity: 1; }
.nav-home [data-tab="pl"] .nav-icon,
[data-nav-group="system"] > .nav-group-toggle .nav-icon { color: var(--category-violet); opacity: 1; }
[data-nav-group="reg"] > .nav-group-toggle .nav-icon,
[data-nav-group="fund"] > .nav-group-toggle .nav-icon { color: var(--category-teal); opacity: 1; }
[data-nav-group="cost"] > .nav-group-toggle .nav-icon { color: var(--category-amber); opacity: 1; }
[data-nav-group="projects"] .nav-group-items button { padding-left: 18px; }
[data-nav-group="projects"] .nav-group-items .nav-dot { display: inline-flex; width: 12px; }
.nav-dot[data-proj="ay"], .nav-dot[data-proj="amz"] { --proj: var(--category-blue); }
.nav-dot[data-proj="per"], .nav-dot[data-proj="gen"] { --proj: var(--category-violet); }
.nav-dot[data-proj="eu"] { --proj: var(--category-teal); }

/* The overview is a reading surface; dense ledgers retain their own 1600px layouts. */
.company-dashboard { max-width: 1440px; margin-inline: auto; container-type: inline-size; }
body[data-active-tab="company"] .page-heading {
  max-width: 1492px; margin-inline: auto; width: 100%; box-sizing: border-box;
}
.company-dashboard .company-filter-row { padding: 10px 14px; margin-bottom: 16px; }
.company-dashboard .company-filter-row select { border-radius: 8px; border-color: var(--control-border); }
.company-dashboard .company-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.company-dashboard [data-tone="blue"] { --tile-color: var(--category-blue); --tile-bg: var(--category-blue-soft); }
.company-dashboard [data-tone="teal"] { --tile-color: var(--category-teal); --tile-bg: var(--category-teal-soft); }
.company-dashboard [data-tone="violet"] { --tile-color: var(--category-violet); --tile-bg: var(--category-violet-soft); }
.company-dashboard [data-tone="amber"] { --tile-color: var(--category-amber); --tile-bg: var(--category-amber-soft); }
.company-kpis .kpi[data-tone] {
  background: var(--tile-bg); border: 1px solid var(--line); border-top: 3px solid var(--tile-color);
  border-radius: 12px; padding: 16px; box-shadow: none;
}
.company-kpis .kpi .k { display: flex; align-items: center; gap: 10px; color: var(--ink); font-size: 14px; }
.company-kpi-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: none;
  border-radius: 8px; background: var(--paper-2); color: var(--tile-color); }
.company-kpi-icon svg, .domain-icon svg { width: 20px; height: 20px; }
.company-kpis .kpi .v { font-size: clamp(24px, 2vw, 30px); line-height: 1.3; letter-spacing: -.025em; margin-top: 10px; overflow-wrap: anywhere; }
.company-kpis .kpi.lead .v > .pos { color: var(--category-blue); }
.company-kpis .kpi .s, .company-kpis .kpi .cny { font-size: 12px; line-height: 1.6; color: var(--ink-3); }
.company-kpis .kpi .s { margin-top: 6px; }
.company-dashboard .business-domain-grid { gap: 16px; margin-bottom: 16px; }
.company-dashboard .business-domain-card { --domain-color: var(--category-blue); --domain-bg: var(--category-blue-soft);
  padding: 16px; border-radius: 12px; min-width: 0; gap: 14px; }
.company-dashboard .reg-domain { --domain-color: var(--category-teal); --domain-bg: var(--category-teal-soft); }
.company-dashboard .business-domain-head { background: var(--domain-bg); border-radius: 8px; padding: 10px; gap: 10px; align-items: center; flex-wrap: wrap; }
.company-dashboard .business-domain-head > div { min-width: 140px; }
.company-dashboard .business-domain-head h2 { font-size: 16px; margin: 0 0 3px; }
.company-dashboard .business-domain-head p { font-size: 12px; line-height: 1.5; }
.company-dashboard .domain-icon { background: var(--paper-2); color: var(--domain-color); border-radius: 8px; }
.company-dashboard .business-domain-head .btn { padding: 6px 10px; font-size: 12px; color: var(--domain-color); }
.company-dashboard .business-domain-metrics { gap: 12px; }
.company-dashboard .business-domain-metrics > div { min-width: 0; }
.company-dashboard .business-domain-metrics > div + div { border-left: 1px solid var(--line-soft); padding-left: 12px; }
.company-dashboard .business-domain-metrics strong { font: 600 18px/1.5 var(--sans); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.company-dashboard .business-domain-metrics strong > span { font-size: inherit; }
.company-dashboard .business-domain-metrics strong > .pos { color: var(--pos); }
.company-dashboard .business-domain-metrics strong > .neg { color: var(--neg); }
.company-dashboard .domain-links { gap: 8px; }
.company-dashboard .domain-links button { border-radius: 6px; color: var(--domain-color); padding: 5px 9px; }
.company-dashboard .domain-links button:hover { background: var(--domain-bg); border-color: var(--domain-color); }
.company-dashboard .dashboard-grid { grid-template-columns: minmax(0, 1.55fr) minmax(310px, 1fr); gap: 16px; }
.company-dashboard .panel { border-radius: 12px; padding: 18px; }
.company-dashboard .panel h2 .hint { font-size: 12px; }
.company-dashboard .trend-svg { min-height: 0; }
.company-dashboard .trend-svg .ecom { stroke: var(--category-blue); color: var(--category-blue); }
.company-dashboard .trend-svg .reg { stroke: var(--category-teal); color: var(--category-teal); }
.company-dashboard .trend-legend .ecom i { background: var(--category-blue); }
.company-dashboard .trend-legend .reg i { background: var(--category-teal); }
.company-dashboard .wf-row { grid-template-columns: minmax(90px, 1fr) minmax(24px, .8fr) minmax(80px, auto);
  gap: 10px; padding: 5px 0; font-size: 13px; }
.company-dashboard .wf-row .amt { font-family: var(--sans); overflow-wrap: anywhere; min-width: 0; }
.company-dashboard .wf-row.total { margin-top: 6px; padding-top: 12px; }
.company-dashboard .detail-disclosure { margin-top: 16px; }
.company-dashboard .detail-disclosure summary { color: var(--category-blue); }
.company-dashboard table { font-size: 13px; }
.company-dashboard thead th, .company-dashboard tfoot td { background: var(--category-blue-soft); }
.company-dashboard th, .company-dashboard td { padding: 10px 12px; }
@container (max-width: 960px) {
  .company-dashboard .company-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-dashboard .dashboard-grid { grid-template-columns: 1fr; }
}
@container (max-width: 620px) {
  .company-dashboard .business-domain-grid { grid-template-columns: 1fr; }
  .company-dashboard .company-kpis { grid-template-columns: 1fr; }
  .company-dashboard .business-domain-head .btn { margin-left: auto; }
  .company-dashboard .business-domain-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .company-dashboard .business-domain-metrics strong { font-size: 16px; }
  .company-dashboard .business-domain-metrics > div + div { padding-left: 8px; }
}
@media (max-width: 600px) {
  .company-dashboard .domain-links button { min-height: 44px; }
  .company-dashboard .business-domain-head .btn { min-height: 44px; }
}
