  :root {
    color-scheme: light;
    --page: #f1efe6;
    --surface: #fcfcfb;
    --surface-2: #f5f3ea;
    --ink: #0b0b0b;
    --ink-secondary: #52514e;
    --ink-muted: #898781;
    --hairline: #e1e0d9;
    --baseline: #c3c2b7;
    --border: rgba(11,11,11,0.10);
    --brass: #a9762c;
    --brass-strong: #8a5f1f;
    --brass-wash: rgba(169,118,44,0.08);
    --teal: #2f5a4d;
    --good: #0ca30c;
    --warning: #fab219;
    --critical: #d03b3b;
    --series-room: #2a78d6;
    --series-fnb: #eb6834;
    --series-aqua: #1baf7a;
    --series-yellow: #eda100;
    --series-magenta: #e87ba4;
    --series-green: #008300;
    --series-violet: #4a3aa7;
    --series-red: #e34948;
    --shadow: 0 20px 60px rgba(20,17,10,0.14);
  }
  @media (prefers-color-scheme: dark) {
    :root:where(:not([data-theme="light"])) {
      color-scheme: dark;
      --page: #100f0c;
      --surface: #1a1a19;
      --surface-2: #211f19;
      --ink: #ffffff;
      --ink-secondary: #c3c2b7;
      --ink-muted: #898781;
      --hairline: #2c2c2a;
      --baseline: #383835;
      --border: rgba(255,255,255,0.10);
      --brass: #d9a44e;
      --brass-strong: #e8b869;
      --brass-wash: rgba(217,164,78,0.12);
      --teal: #5fa78e;
      --series-room: #3987e5;
      --series-fnb: #d95926;
      --series-aqua: #199e70;
      --series-yellow: #c98500;
      --series-magenta: #d55181;
      --series-green: #008300;
      --series-violet: #9085e9;
      --series-red: #e66767;
      --shadow: 0 20px 60px rgba(0,0,0,0.5);
    }
  }
  :root[data-theme="dark"] {
    color-scheme: dark;
    --page: #100f0c;
    --surface: #1a1a19;
    --surface-2: #211f19;
    --ink: #ffffff;
    --ink-secondary: #c3c2b7;
    --ink-muted: #898781;
    --hairline: #2c2c2a;
    --baseline: #383835;
    --border: rgba(255,255,255,0.10);
    --brass: #d9a44e;
    --brass-strong: #e8b869;
    --brass-wash: rgba(217,164,78,0.12);
    --teal: #5fa78e;
    --series-room: #3987e5;
    --series-fnb: #d95926;
    --series-aqua: #199e70;
    --series-yellow: #c98500;
    --series-magenta: #d55181;
    --series-green: #008300;
    --series-violet: #9085e9;
    --series-red: #e66767;
    --shadow: 0 20px 60px rgba(0,0,0,0.5);
  }
  :root[data-theme="light"] {
    color-scheme: light;
    --page: #f1efe6;
    --surface: #fcfcfb;
    --surface-2: #f5f3ea;
    --ink: #0b0b0b;
    --ink-secondary: #52514e;
    --ink-muted: #898781;
    --hairline: #e1e0d9;
    --baseline: #c3c2b7;
    --border: rgba(11,11,11,0.10);
    --brass: #a9762c;
    --brass-strong: #8a5f1f;
    --brass-wash: rgba(169,118,44,0.08);
    --teal: #2f5a4d;
    --series-room: #2a78d6;
    --series-fnb: #eb6834;
  }

  * { box-sizing: border-box; }
  @media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
  }
  html, body {
    margin: 0;
    background: var(--page);
    color: var(--ink);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
  }
  body { min-height: 100vh; }
  *:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }

  .wrap { max-width: 1840px; margin: 0; padding: 0 20px 90px; }

  /* Header */
  .site-header {
    padding: 44px 20px 30px;
    border-bottom: 1px solid var(--hairline);
    margin-bottom: 0;
  }
  .header-inner { max-width: 1840px; margin: 0; }
  .brand-row { display: flex; align-items: flex-start; gap: 16px; }
  .brand-mark {
    flex: none; width: 44px; height: 44px; border-radius: 10px;
    background: var(--ink); color: var(--brass);
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow);
  }
  .eyebrow {
    text-transform: uppercase; font-size: 11.5px; font-weight: 700;
    letter-spacing: 0.12em; color: var(--brass); margin: 0 0 6px;
  }
  h1 { font-size: clamp(24px, 3.4vw, 34px); font-weight: 800; margin: 0; letter-spacing: -0.01em; text-wrap: balance; line-height: 1.15; }
  h1 a { color: var(--brass); text-decoration: none; transition: color 0.15s ease; }
  h1 a:hover { color: var(--brass-strong); }
  .subtitle { color: var(--ink-secondary); font-size: 15px; margin: 8px 0 0; max-width: 62ch; line-height: 1.5; }
  .header-tools { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }

  .btn {
    font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer;
    border-radius: 8px; padding: 9px 14px; display: inline-flex; align-items: center; gap: 7px;
    border: 1px solid var(--hairline); background: var(--surface); color: var(--ink);
  }
  .btn:hover { border-color: var(--brass); }
  .btn svg { flex: none; }
  .btn-ghost { background: transparent; }

  /* Action cards */
  .action-row {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
    margin: 32px 0 8px;
  }
  @media (max-width: 1100px) { .action-row { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { .action-row { grid-template-columns: 1fr; } }
  .action-card {
    text-align: left; display: flex; gap: 14px; align-items: flex-start;
    padding: 20px 22px; border-radius: 14px; border: 1px solid var(--hairline);
    background: var(--surface); cursor: pointer; position: relative; overflow: hidden;
    font: inherit; color: var(--ink); min-width: 0;
  }
  .action-card::before {
    content: ""; position: absolute; top: 0; right: 0; width: 0; height: 0;
    border-style: solid; border-width: 0 30px 30px 0;
    border-color: transparent var(--brass) transparent transparent; opacity: 0.85;
  }
  .action-card:hover { border-color: var(--brass); box-shadow: var(--shadow); }
  .action-icon {
    flex: none; width: 38px; height: 38px; border-radius: 9px;
    background: var(--brass-wash); color: var(--brass-strong);
    display: flex; align-items: center; justify-content: center;
  }
  .action-title { font-weight: 700; font-size: 15.5px; margin: 0 0 3px; }
  .action-desc { font-size: 13px; color: var(--ink-secondary); margin: 0; line-height: 1.45; }

  /* Stat tiles */
  .stat-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
    background: var(--hairline); border: 1px solid var(--hairline);
    border-radius: 14px; overflow: hidden; margin: 30px 0;
  }
  @media (max-width: 860px) { .stat-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 480px) { .stat-grid { grid-template-columns: 1fr; } }
  .stat-tile { background: var(--surface); padding: 20px 22px; min-width: 0; }
  .stat-label-row { display: flex; align-items: center; gap: 7px; }
  .stat-label {
    text-transform: uppercase; font-size: 11px; letter-spacing: 0.08em;
    color: var(--ink-muted); font-weight: 700;
  }
  .status-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; }
  .stat-value { font-size: 26px; font-weight: 800; margin-top: 8px; letter-spacing: -0.01em; }
  .stat-value.positive { color: var(--good); }
  .stat-value.negative { color: var(--critical); }
  .stat-sub { font-size: 12.5px; color: var(--ink-secondary); margin-top: 4px; }

  /* Panels & charts */
  .panel {
    background: var(--surface); border: 1px solid var(--hairline);
    border-radius: 14px; padding: 22px 22px 18px; margin-bottom: 22px; min-width: 0;
  }
  .panel-head {
    display: flex; justify-content: space-between; align-items: flex-start;
    flex-wrap: wrap; gap: 10px; margin-bottom: 16px;
  }
  .panel-title { font-size: 15px; font-weight: 700; margin: 0; }
  .panel-sub { font-size: 12.5px; color: var(--ink-secondary); margin: 3px 0 0; }
  .legend { display: flex; gap: 16px; font-size: 12.5px; color: var(--ink-secondary); flex-wrap: wrap; }
  .legend-item { display: flex; align-items: center; gap: 6px; }
  .legend-swatch { width: 9px; height: 9px; border-radius: 2px; flex: none; }

  .charts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
  @media (max-width: 940px) { .charts-grid { grid-template-columns: 1fr; } }

  .chart-wrap { position: relative; }
  .chart-wrap-compact { max-width: 480px; margin: 0 auto; }
  .chart-wrap svg { width: 100%; height: auto; display: block; overflow: visible; }
  .grid-line { stroke: var(--hairline); stroke-width: 1; }
  .baseline-strong { stroke: var(--baseline); stroke-width: 1.5; }
  .axis-label { fill: var(--ink-muted); font-size: 10.5px; }
  .hover-col { cursor: crosshair; }
  .pie-slice { cursor: pointer; transition: opacity 0.12s ease; }

  .chart-tooltip {
    position: absolute; pointer-events: none; background: var(--ink); color: var(--page);
    font-size: 12px; line-height: 1.5; padding: 8px 11px; border-radius: 8px;
    box-shadow: var(--shadow); transform: translate(-50%, -112%);
    white-space: nowrap; z-index: 6; opacity: 0; transition: opacity 0.08s ease;
  }
  .chart-tooltip.show { opacity: 1; }
  .chart-tooltip b { font-weight: 700; }
  .tt-row { display: flex; gap: 10px; justify-content: space-between; }
  .tt-swatch { width: 8px; height: 8px; border-radius: 2px; display: inline-block; margin-right: 5px; }

  /* Cost ranked list */
  .cost-list { display: flex; flex-direction: column; gap: 13px; }
  .cost-item-row { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; margin-bottom: 5px; gap: 10px; }
  .cost-item-name { color: var(--ink); font-weight: 600; }
  .cost-item-value { color: var(--ink-secondary); font-variant-numeric: tabular-nums; flex: none; }
  .cost-track { height: 10px; border-radius: 5px; background: var(--surface-2); overflow: hidden; }
  .cost-fill { height: 100%; border-radius: 0 5px 5px 0; }
  .cost-item { cursor: default; }

  /* P&L Table */
  .table-scroll { overflow-x: auto; border: 1px solid var(--hairline); border-radius: 14px; }
  table.pl-table { border-collapse: collapse; width: 100%; font-size: 12.8px; min-width: 980px; }
  .pl-table th, .pl-table td {
    padding: 9px 11px; text-align: right; white-space: nowrap;
    font-variant-numeric: tabular-nums; border-bottom: 1px solid var(--hairline);
  }
  .pl-table th:first-child, .pl-table td:first-child {
    text-align: left; position: sticky; left: 0; background: var(--surface);
    font-variant-numeric: normal; min-width: 190px; font-weight: 500;
  }
  @media (min-width: 1500px) {
    table.pl-table { min-width: 0; font-size: 12.2px; }
    .pl-table th, .pl-table td { padding: 8px 6px; }
    .pl-table th:first-child, .pl-table td:first-child { min-width: 155px; }
  }
  .pl-table thead th {
    background: var(--surface-2); color: var(--ink-secondary); font-weight: 700;
    font-size: 11px; text-transform: uppercase; letter-spacing: 0.03em;
  }
  .pl-table thead th:first-child { background: var(--surface-2); }
  .pl-table tr.subtotal td { font-weight: 700; border-top: 1.5px solid var(--baseline); background: var(--surface-2); }
  .pl-table tr.subtotal td:first-child { background: var(--surface-2); }
  .pl-table tr.profit td { font-size: 13.4px; }
  .pl-table td.negative { color: var(--critical); }
  .pl-table td.positive { color: var(--good); }
  .pl-table tr.margin td { color: var(--ink-secondary); font-style: normal; }
  .pl-table tr.section-row td {
    background: var(--brass-wash); color: var(--brass-strong); font-weight: 800;
    text-transform: uppercase; letter-spacing: 0.05em; font-size: 11px;
    text-align: left; padding-top: 10px; padding-bottom: 10px;
    border-top: 1px solid var(--hairline); position: static; min-width: 0;
  }
  .pl-table tr.emphasis td { font-weight: 700; }

  /* Dialog / modal */
  dialog {
    border: none; border-radius: 16px; padding: 0; background: var(--surface); color: var(--ink);
    max-width: min(640px, 92vw); width: 100%; box-shadow: var(--shadow);
  }
  dialog::backdrop { background: rgba(10, 9, 6, 0.5); backdrop-filter: blur(2px); }
  .modal-head {
    display: flex; justify-content: space-between; align-items: flex-start;
    padding: 22px 24px 16px; border-bottom: 1px solid var(--hairline);
  }
  .modal-title { font-size: 17px; font-weight: 800; margin: 0 0 4px; }
  .modal-desc { font-size: 13px; color: var(--ink-secondary); margin: 0; max-width: 46ch; }
  .modal-close {
    flex: none; width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--hairline);
    background: transparent; color: var(--ink-secondary); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
  }
  .modal-close:hover { border-color: var(--brass); color: var(--brass); }
  .modal-body { padding: 20px 24px 6px; max-height: 62vh; overflow-y: auto; }
  .modal-foot { padding: 16px 24px 22px; display: flex; justify-content: flex-end; gap: 10px; }

  .field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
  @media (max-width: 520px) { .field-grid { grid-template-columns: 1fr; } }
  .field-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 18px; }
  @media (max-width: 640px) { .field-grid-3 { grid-template-columns: 1fr; } }
  .field { display: flex; flex-direction: column; gap: 6px; }
  .field.span-2 { grid-column: 1 / -1; }
  label.field-label { font-size: 12px; font-weight: 700; color: var(--ink-secondary); text-transform: uppercase; letter-spacing: 0.03em; }
  .input-shell {
    display: flex; align-items: center; border: 1px solid var(--hairline); border-radius: 9px;
    background: var(--page); overflow: hidden;
  }
  :root[data-theme="dark"] .input-shell, .input-shell { background: var(--surface-2); }
  .input-shell:focus-within { border-color: var(--brass); }
  .input-shell span { padding: 0 10px; font-size: 12.5px; color: var(--ink-muted); font-weight: 600; }
  .input-shell input, .input-shell select {
    border: none; background: transparent; padding: 9px 10px; font: inherit; color: var(--ink);
    width: 100%; font-variant-numeric: tabular-nums;
  }
  .input-shell input:focus, .input-shell select:focus { outline: none; }
  input[type="number"] { -moz-appearance: textfield; }

  .season-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 14px; }
  @media (max-width: 520px) { .season-grid { grid-template-columns: repeat(3, 1fr); } }
  .season-field { display: flex; flex-direction: column; gap: 4px; align-items: center; }
  .season-field label { font-size: 10.5px; color: var(--ink-muted); font-weight: 700; text-transform: uppercase; }
  .season-field .input-shell input { text-align: center; padding: 7px 4px; }
  .trend-note-input {
    width: 100%; box-sizing: border-box; text-align: center; font-size: 10.5px;
    padding: 4px 4px; border: 1px dashed var(--border); border-radius: 6px;
    background: transparent; color: var(--ink-muted); font-style: italic;
  }
  .trend-note-input::placeholder { color: var(--ink-muted); opacity: 0.6; }
  .trend-note-input:focus { outline: none; border-color: var(--accent, var(--ink-muted)); color: var(--ink); font-style: normal; }

  /* Booking source */
  .ratio-note { font-size: 12px; margin: 10px 0 0; font-weight: 600; }
  .ratio-note.ratio-ok { color: var(--ink-muted); font-weight: 500; }
  .ratio-note.ratio-warn { color: var(--warning); }

  .filter-banner {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px;
    padding: 10px 14px; margin: 0 0 16px; font-size: 13px; color: var(--ink-secondary);
  }
  .filter-banner b { color: var(--ink); }
  .filter-banner .btn { padding: 5px 12px; font-size: 12px; white-space: nowrap; }

  .mb-row.dept-highlight { background: var(--surface-2); border-radius: 7px; padding: 4px 8px; margin: 0 -8px; }
  .mb-row.dept-highlight span:first-child { color: var(--ink); font-weight: 700; }
  .channel-summary {
    background: var(--surface-2); border: 1px solid var(--hairline); border-radius: 10px;
    padding: 12px 14px; margin-top: 12px;
  }
  .channel-summary-head { font-size: 12px; color: var(--ink-secondary); margin: 0 0 8px; }
  .channel-summary .mb-row.channel-ota span:last-child { color: var(--brass-strong); }
  .channel-summary-note { font-size: 11.5px; color: var(--ink-muted); margin: 8px 0 0; line-height: 1.5; }

  /* Cost rows */
  #costRowsContainer { display: flex; flex-direction: column; gap: 10px; }
  .cost-row {
    display: grid; grid-template-columns: 1.4fr 1.15fr 1.2fr auto; gap: 8px; align-items: center;
    padding: 10px; border: 1px solid var(--hairline); border-radius: 10px; background: var(--page);
  }
  :root[data-theme="dark"] .cost-row, .cost-row { background: var(--surface-2); }
  @media (max-width: 560px) { .cost-row { grid-template-columns: 1fr; } }
  input.row-name {
    border: 1px solid var(--hairline); border-radius: 7px; background: var(--surface);
    padding: 8px 9px; font: inherit; font-weight: 600; font-size: 13px; color: var(--ink); width: 100%;
  }
  select.row-type, select.row-dept {
    border: 1px solid var(--hairline); border-radius: 7px; background: var(--surface);
    padding: 8px 7px; font: inherit; font-size: 12.5px; color: var(--ink); width: 100%;
  }
  .row-value-cell .input-shell { background: var(--surface); }
  .row-delete {
    flex: none; width: 32px; height: 32px; border-radius: 7px; border: 1px solid var(--hairline);
    background: var(--surface); color: var(--critical); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
  }
  .row-delete:hover { border-color: var(--critical); }
  .row-preview {
    font-size: 11.5px; color: var(--ink-muted); line-height: 1.4;
    padding-top: 2px; border-top: 1px dashed var(--hairline); margin-top: 2px;
  }

  /* Cost row cards (with department) */
  .cost-row-card {
    border: 1px solid var(--hairline); border-radius: 10px; padding: 10px;
    background: var(--surface-2); display: flex; flex-direction: column; gap: 8px;
  }
  .cogs-toggle {
    display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: var(--ink-secondary);
    cursor: pointer; user-select: none;
  }
  .cogs-toggle input { flex: none; width: 14px; height: 14px; accent-color: var(--brass); cursor: pointer; }
  .cost-row-top { display: flex; gap: 8px; align-items: center; }
  .cost-row-top .row-name { flex: 1; }
  .cost-row-fields { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
  @media (max-width: 560px) { .cost-row-fields { grid-template-columns: 1fr; } }
  .add-row-btn {
    margin-top: 12px; width: 100%; border: 1.5px dashed var(--hairline); border-radius: 10px;
    background: transparent; color: var(--brass-strong); font: inherit; font-weight: 700; font-size: 13px;
    padding: 11px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px;
  }
  .add-row-btn:hover { border-color: var(--brass); background: var(--brass-wash); }

  /* Manning rows */
  .cost-row.manning-row { grid-template-columns: 1.3fr 0.85fr 1.25fr auto; }
  @media (max-width: 560px) { .cost-row.manning-row { grid-template-columns: 1fr; } }
  .qty-shell input { text-align: center; }

  /* Room type cards */
  #roomTypesContainer { display: flex; flex-direction: column; gap: 10px; }
  .room-type-card {
    border: 1px solid var(--hairline); border-radius: 10px; padding: 10px;
    background: var(--surface-2); display: flex; flex-direction: column; gap: 8px;
  }
  .room-type-main { display: grid; grid-template-columns: 1.3fr 0.85fr 1.25fr auto; gap: 8px; align-items: center; }
  @media (max-width: 560px) { .room-type-main { grid-template-columns: 1fr; } }
  .room-type-discounts {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
    padding-top: 8px; border-top: 1px dashed var(--hairline);
  }
  .room-type-discounts .season-field .input-shell input { background: var(--surface); }

  .section-label {
    font-size: 12px; font-weight: 700; color: var(--ink-secondary); text-transform: uppercase;
    letter-spacing: 0.04em; margin: 0 0 10px;
  }
  .modal-divider { border: none; border-top: 1px solid var(--hairline); margin: 20px 0; }

  .season-row {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    margin-bottom: 16px; flex-wrap: wrap;
  }
  .season-toggle-label { font-size: 13.5px; font-weight: 700; color: var(--ink-muted); }
  .season-toggle-label.active { color: var(--ink); }
  .switch { position: relative; width: 42px; height: 24px; flex: none; }
  .switch input { opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; position: absolute; z-index: 2; }
  .switch-track { position: absolute; inset: 0; background: var(--hairline); border-radius: 999px; transition: background 0.15s ease; }
  .switch-thumb {
    position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%;
    background: var(--surface); box-shadow: 0 1px 3px rgba(0,0,0,0.3); transition: transform 0.15s ease;
  }
  .switch input:checked ~ .switch-track { background: var(--brass); }
  .switch input:checked ~ .switch-thumb { transform: translateX(18px); }

  .casual-box { background: var(--brass-wash); border: 1px solid var(--hairline); border-radius: 10px; padding: 14px; margin-top: 12px; }
  .rnf-hint { font-size: 12.5px; color: var(--ink-secondary); }

  .manning-summary {
    background: var(--surface-2); border: 1px solid var(--hairline); border-radius: 12px;
    padding: 16px 18px; margin-top: 22px;
  }
  .mb-row { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; color: var(--ink-secondary); }
  .mb-row span:last-child { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
  .mb-row.split-top { border-top: 1px solid var(--hairline); padding-top: 8px; margin-top: 4px; }
  .manning-ratio { margin-top: 16px; border-top: 1px solid var(--hairline); padding-top: 14px; }
  .meter-track { height: 8px; border-radius: 4px; background: var(--hairline); margin: 8px 0 10px; overflow: hidden; }
  .meter-fill { height: 100%; border-radius: 4px; transition: width 0.2s ease, background 0.2s ease; }
  .status-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; padding: 6px 10px; border-radius: 7px; }
  .pl-table td.linked-row { cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; text-decoration-color: var(--hairline); }
  .pl-table td.linked-row:hover { color: var(--brass-strong); text-decoration-color: var(--brass); }
  .pct-base-tag { color: var(--ink-muted); font-weight: 500; font-size: 10.5px; margin-left: 2px; }

  .ratio-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin-top: 14px; }
  .ratio-legend-note { font-size: 11.5px; color: var(--ink-muted); line-height: 1.5; flex: 1 1 260px; }

  .foot-note { text-align: center; color: var(--ink-muted); font-size: 12px; margin-top: 30px; line-height: 1.6; }

  .no-print {}
  @media print {
    .no-print { display: none !important; }
    body { background: #fff; }
    .site-header { border-bottom-color: #ddd; }
    .panel, .table-scroll, .action-card { box-shadow: none !important; }
    .charts-grid { grid-template-columns: 1fr 1fr; }
  }
