/* ============================================================
   FINANCE PRIMITIVES + RESULTS — styles (client iteration).
   Navy chrome, dense fully-ruled grids, zebra, monospace figures.
   Everything scoped under .fin so the calm Almanac surfaces are
   untouched. Tokens only (+ the five finance chrome values).
   ============================================================ */

/* ---------- FinToolbar (navy icon-tile strip) ---------- */
.fin-toolbar {
  display: flex; align-items: stretch; gap: var(--space-2);
  background: var(--surface-sunk); border: 1px solid var(--line-soft);
  border-radius: var(--radius-md); padding: 6px var(--space-2);
  color: var(--ink-secondary);
}
.fin-toolbar__title { display: flex; align-items: center; padding: 0 var(--space-3) 0 var(--space-2); font-weight: 600; font-size: 13px; color: var(--ink-primary); border-right: 1px solid var(--line-soft); white-space: nowrap; }
.fin-toolbar__tiles { display: flex; align-items: stretch; gap: 2px; flex: 1; flex-wrap: wrap; }
.fin-toolbar__right { display: flex; align-items: center; gap: var(--space-2); padding-left: var(--space-2); border-left: 1px solid var(--line-soft); }
.fin-toolbar__sep { width: 1px; background: var(--line-default); margin: 2px var(--space-1); }
.fin-tile {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  min-width: 58px; padding: 5px var(--space-2); background: transparent;
  border: 1px solid transparent; border-radius: var(--fin-radius); cursor: pointer;
  color: var(--ink-secondary); font: inherit;
  transition: background var(--dur-state) var(--ease-enter), border-color var(--dur-state) var(--ease-enter);
}
.fin-tile:hover:not(:disabled) { background: var(--surface-raised); border-color: var(--line-default); }
.fin-tile:disabled { opacity: 0.4; cursor: not-allowed; }
.fin-tile.is-active { background: var(--accent-primary-soft); border-color: transparent; color: var(--accent-primary); }
.fin-tile__icon { width: 20px; height: 20px; }
.fin-tile__label { font-size: 10px; line-height: 12px; letter-spacing: 0.01em; white-space: nowrap; }
/* all toolbar tiles are quiet/ghost icon-buttons — amber is reserved for the
   real primary actions (footer Continue/Run), not the toolbar shortcuts */
.fin-tile--primary, .fin-tile--secondary { background: transparent; border-color: transparent; color: var(--ink-secondary); }
.fin-tile--primary:hover:not(:disabled), .fin-tile--secondary:hover:not(:disabled) { background: var(--surface-raised); border-color: var(--line-default); }
.fin-tile--red { margin-left: auto; color: var(--state-negative); }

/* ---------- FinGrid base (Excel-like: white/raised sheet + zebra rows,
   sitting on the unchanged warm page canvas) ---------- */
.fin-grid {
  overflow: auto; border: 1px solid var(--line-default);
  border-radius: var(--fin-radius); background: var(--surface-raised);
}
.fin-grid:focus-visible { outline: 2px solid var(--fin-blue); outline-offset: -1px; }
.fin-grid__t { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 12px; }
.fin-grid__t th, .fin-grid__t td {
  padding: 0 var(--fin-cell-x); height: var(--fin-row-h);
  border-bottom: 1px solid var(--fin-rule-soft);
  white-space: nowrap; text-align: left;
}
.fin-grid__t thead th {
  position: sticky; top: 0; z-index: 2;
  background: var(--surface-raised); color: var(--ink-secondary);
  font-weight: 600; font-size: 10.5px; letter-spacing: 0.04em; text-transform: uppercase;
  vertical-align: middle;
  border-bottom: 1px solid var(--line-default);
}
.fin-grid__t th.is-num, .fin-grid__t td.is-num { text-align: right; }
.fin-num { font-family: var(--fin-num); font-variant-numeric: tabular-nums; }
.fin-grid__u { color: var(--ink-tertiary); font-weight: 400; font-size: 10px; margin-left: 3px; }
/* zebra: odd rows = white sheet, even rows = faint gray stripe (theme-aware) */
.fin-grid__t tbody tr td { background: var(--surface-raised); }
.fin-grid__t tbody tr:nth-child(even) td { background: color-mix(in oklab, var(--ink-primary) 4%, var(--surface-raised)); }
.fin-grid__t tbody tr:hover td { background: var(--fin-blue-soft); }
.fin-grid__t .is-frozen { position: sticky; left: 0; z-index: 1; border-right: 1px solid var(--fin-rule-soft); padding-left: calc(var(--fin-cell-x) + 3px); background: var(--surface-raised); }
.fin-grid__t thead th.is-frozen { z-index: 3; background: var(--surface-raised); }
.fin-grid__t tbody .is-frozen { background: var(--surface-raised); font-weight: 500; }
.fin-grid__t tbody tr:nth-child(even) .is-frozen { background: color-mix(in oklab, var(--ink-primary) 4%, var(--surface-raised)); }
.fin-grid__t tbody tr:hover .is-frozen { background: var(--fin-blue-soft); }
.fin-grid__totals td { position: sticky; bottom: 0; z-index: 2; background: color-mix(in oklab, var(--ink-primary) 7%, var(--surface-raised)) !important; color: var(--ink-primary); font-weight: 700; border-top: 2px solid var(--line-strong); }
.fin-grid__totals .is-frozen { background: color-mix(in oklab, var(--ink-primary) 7%, var(--surface-raised)) !important; }
.fin-recdot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--accent-primary); margin-left: 5px; vertical-align: middle; }
.fin-grid__t tbody tr.is-rec td { box-shadow: inset 0 0 0 9999px color-mix(in oklab, var(--accent-primary-soft) 45%, transparent); }
.fin-grid__t tbody tr.is-rec .is-frozen { border-left: 3px solid var(--accent-primary); }

/* delta sign colors */
.fin-pos { color: var(--viz-positive); }
.fin-neg { color: var(--viz-negative); }
.fin-flat { color: var(--ink-tertiary); }

/* ---------- ParameterList ---------- */
.fin-params { display: flex; flex-direction: column; gap: var(--space-3); }
.fin-params__bar {
  position: sticky; top: 0; z-index: 6;
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-2) var(--space-3); background: var(--surface-canvas);
  border: 1px solid var(--line-soft); border-radius: var(--fin-radius);
}
.fin-params__req { display: flex; align-items: center; gap: var(--space-2); font-size: 13px; }
.fin-params__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--state-warning); box-shadow: 0 0 0 3px var(--state-warning-soft); }
.fin-params__dot.is-done { background: var(--fin-green); box-shadow: 0 0 0 3px var(--fin-green-soft); }
.fin-params__k { display: flex; align-items: baseline; gap: var(--space-2); }
.fin-params__klabel { font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-tertiary); }
.fin-params__kval { font-size: 22px; font-weight: 700; color: var(--fin-blue); }
.fin-params__grid { max-height: 560px; }
/* the parameter list has its own category/variable row coloring — opt out of zebra */
.fin-params__t tbody tr:nth-child(even) td,
.fin-params__t tbody tr:nth-child(even) .is-frozen { background: var(--surface-raised); }
.fin-params__t th { font-size: 11px; }
.fin-params__cname { min-width: 280px; }
.fin-params__cconf { min-width: 96px; }
.fin-params__cvar { min-width: 130px; }
.fin-params__grouprow td { background: color-mix(in oklab, var(--ink-primary) 4%, var(--surface-raised)) !important; color: var(--ink-secondary); font-weight: 700; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.05em; height: 26px; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); position: sticky; left: 0; }
.fin-params__row td { height: 32px; }
.fin-params__row.is-req .fin-params__name { box-shadow: inset 3px 0 0 var(--state-warning); }
.fin-params__row.is-confirmed .fin-params__name { box-shadow: inset 3px 0 0 var(--fin-green); }
.fin-params__row.is-var td { background: color-mix(in oklab, var(--accent-data-soft) 30%, var(--surface-raised)) !important; }
.fin-params__name { display: flex; align-items: center; gap: var(--space-2); }
.fin-params__chk { width: 18px; height: 18px; flex-shrink: 0; border: 1px solid var(--fin-rule); border-radius: var(--fin-radius); background: var(--surface-raised); cursor: pointer; display: grid; place-items: center; color: var(--fin-green); padding: 0; }
.fin-params__chk.is-on { background: var(--state-positive); border-color: var(--state-positive); color: var(--surface-raised); }
.fin-params__nlabel { font-weight: 500; }
.fin-params__id { font-family: var(--font-mono); font-size: 10px; color: var(--ink-tertiary); background: var(--surface-sunk); padding: 0 4px; border-radius: 2px; }
.fin-params__val { width: 100%; min-width: 80px; border: 1px solid transparent; background: transparent; text-align: right; font-size: 12px; padding: 3px 4px; border-radius: 2px; color: var(--ink-primary); -moz-appearance: textfield; }
.fin-params__val::-webkit-outer-spin-button, .fin-params__val::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fin-params__val:not(:disabled):hover { border-color: var(--fin-rule); background: var(--surface-raised); }
.fin-params__val:focus { outline: none; border-color: var(--fin-blue); background: var(--surface-raised); box-shadow: 0 0 0 2px var(--fin-blue-soft); }
.fin-params__val:disabled { color: var(--ink-disabled); }
.fin-params__unit { color: var(--ink-tertiary); font-size: 11px; vertical-align: middle; }
.fin-params__ref { max-width: 260px; vertical-align: middle; padding-right: var(--space-4); }
.fin-params__refwrap { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }
.fin-params__reftext { font-size: 11px; color: var(--ink-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-params__conf { vertical-align: middle; }
.fin-params__var { vertical-align: middle; }
.fin-params__var .fin-params__varwrap { display: flex; align-items: center; gap: var(--space-2); }
.fin-params__mode { font: inherit; font-size: 11px; padding: 2px var(--space-1); border: 1px solid var(--fin-rule); border-radius: 2px; background: var(--surface-raised); color: var(--ink-primary); cursor: pointer; }
.fin-params__mode:focus { outline: none; border-color: var(--fin-blue); box-shadow: 0 0 0 2px var(--fin-blue-soft); }
.fin-params__vcount { font-size: 11px; font-weight: 700; color: var(--fin-blue); }
.fin-params__subrow td { background: color-mix(in oklab, var(--accent-data-soft) 22%, var(--surface-raised)) !important; height: 32px; border-bottom: 1px solid var(--fin-rule-soft); }
.fin-params__subname { color: var(--ink-tertiary); font-size: 11px; }
.fin-params__subarrow { margin-right: 4px; color: var(--fin-blue); }

/* ParamValueEditor */
.fin-pe { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-3); }
.fin-pe--list { align-items: center; }
.fin-pe__field { display: flex; flex-direction: column; gap: 2px; }
.fin-pe__lbl { font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-tertiary); }
.fin-pe__inwrap, .fin-pe__chip { display: inline-flex; align-items: center; gap: 3px; border: 1px solid var(--fin-rule); border-radius: 2px; background: var(--surface-raised); padding: 0 4px; }
.fin-pe__inwrap input, .fin-pe__chip input { width: 64px; border: none; background: transparent; text-align: right; font-size: 12px; padding: 3px 0; color: var(--ink-primary); -moz-appearance: textfield; }
.fin-pe__inwrap input::-webkit-inner-spin-button, .fin-pe__chip input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fin-pe__inwrap:focus-within, .fin-pe__chip:focus-within { border-color: var(--fin-blue); box-shadow: 0 0 0 2px var(--fin-blue-soft); }
.fin-pe__u { font-size: 10px; color: var(--ink-tertiary); }
.fin-pe__x { background: transparent; border: none; cursor: pointer; color: var(--fin-red); font-size: 13px; line-height: 1; padding: 0 2px; }
.fin-pe__add { background: transparent; border: 1px dashed var(--fin-rule); border-radius: 2px; padding: 3px var(--space-2); cursor: pointer; color: var(--fin-blue); font: inherit; font-size: 11px; }
.fin-pe__add:hover { border-color: var(--fin-blue); }
.fin-pe__resolved { font-size: 11px; color: var(--ink-tertiary); }

/* ---------- IniSimGapGrid ---------- */
.fin-isg__group { text-align: center !important; border-left: 1px solid var(--line-soft); border-right: 1px solid var(--line-soft) !important; font-size: 10.5px; }
.fin-isg__subhead th { background: var(--surface-raised); font-size: 10px; font-weight: 600; border-bottom: 1px solid var(--line-default); }
.fin-isg__sb, td.fin-isg__sb { border-left: 1px solid var(--line-soft); }
.fin-isg__sg, td.fin-isg__sg { border-right: 1px solid var(--line-soft) !important; font-weight: 600; }
thead .fin-isg__sb { color: var(--ink-tertiary); }
thead .fin-isg__ss { color: var(--ink-secondary); }
.fin-isg__label { font-weight: 500; }
span.fin-isg__sb, span.fin-isg__ss, span.fin-isg__sg { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; padding: 1px 6px; border-radius: 2px; }
span.fin-isg__sb { color: var(--ink-tertiary); }
span.fin-isg__ss { color: var(--accent-data); font-weight: 600; }
span.fin-isg__sg { color: var(--ink-secondary); }

/* ---------- ScoreboardFocus ---------- */
.fin-sbf { display: flex; flex-direction: column; gap: var(--space-5); }
.fin-sbf__zone { display: flex; flex-direction: column; gap: var(--space-2); }
.fin-sbf__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.fin-sbf__title { margin: 0; font-size: 14px; font-weight: 600; color: var(--ink-primary); }
.fin-sbf__legend { display: inline-flex; gap: var(--space-2); }
.fin-sbf__cog { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--ink-secondary); }
.fin-sbf__coglbl { font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-tertiary); }

/* ---------- WaterfallChart ---------- */
.fin-wf { display: grid; grid-template-columns: 1fr 160px; gap: var(--space-4); align-items: stretch; }
@media (max-width: 820px) { .fin-wf { grid-template-columns: 1fr; } }
.fin-wf__chart { border: 1px solid var(--line-default); border-radius: var(--fin-radius); background: var(--surface-raised); padding: var(--space-3) var(--space-2) 0; overflow-x: auto; }
.fin-wf__bars { display: flex; align-items: flex-end; gap: var(--space-2); min-width: 560px; }
.fin-wf__col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-1); min-width: 56px; }
.fin-wf__track { position: relative; width: 100%; }
.fin-wf__bar { position: absolute; left: 15%; width: 70%; border-radius: 1px; display: flex; align-items: flex-start; justify-content: center; }
.fin-wf__bar--anchor { background: var(--viz-anchor); }
.fin-wf__bar--up { background: var(--viz-positive); }
.fin-wf__bar--down { background: var(--viz-negative); }
.fin-wf__val { position: absolute; top: -15px; font-size: 10px; font-weight: 600; color: var(--ink-secondary); white-space: nowrap; }
.fin-wf__connector { position: absolute; left: 85%; width: calc(15% + var(--space-2)); border-top: 1px dashed var(--fin-rule); }
.fin-wf__lbl { font-size: 10px; color: var(--ink-secondary); text-align: center; line-height: 1.2; }
.fin-wf__side { display: flex; flex-direction: column; gap: var(--space-2); border: 1px solid var(--line-default); border-radius: var(--fin-radius); padding: var(--space-3); background: var(--surface-raised); }
.fin-wf__sidehd { font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-tertiary); }
.fin-wf__cmp { display: flex; align-items: center; justify-content: space-between; padding: var(--space-2); border-radius: 2px; background: color-mix(in oklab, var(--ink-primary) 3%, var(--surface-raised)); border-left: 3px solid var(--ink-tertiary); }
.fin-wf__cmp--forecast { border-left-color: var(--accent-data); }
.fin-wf__cmp--plan { border-left-color: var(--state-warning); }
.fin-wf__cmp--actual { border-left-color: var(--ink-tertiary); }
.fin-wf__cmplbl { font-size: 12px; color: var(--ink-secondary); }
.fin-wf__cmpval { font-weight: 700; font-size: 14px; }

/* ---------- BridgeTable ---------- */
.fin-bridge { display: grid; grid-template-columns: 1fr 300px; gap: var(--space-4); align-items: start; }
@media (max-width: 900px) { .fin-bridge { grid-template-columns: 1fr; } }
.fin-bridge__to, th.fin-bridge__to { border-left: 1px solid var(--line-soft); }
.fin-grid__t td.fin-bridge__to { border-left: 1px solid var(--line-soft); font-weight: 700; }
.fin-bridge__pct td { background: color-mix(in oklab, var(--ink-primary) 5%, var(--surface-raised)) !important; color: var(--ink-tertiary); }
.fin-bridge__measures { border: 1px solid var(--line-soft); border-radius: var(--fin-radius); overflow: hidden; }
.fin-bridge__mhd { background: transparent; color: var(--ink-secondary); padding: var(--space-2) var(--space-3); font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 1px solid var(--line-default); }
.fin-bridge__mlist { list-style: none; margin: 0; padding: 0; }
.fin-bridge__m { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--fin-rule-soft); font-size: 12px; }
.fin-bridge__mn { width: 18px; height: 18px; flex-shrink: 0; display: grid; place-items: center; background: color-mix(in oklab, var(--ink-primary) 5%, var(--surface-canvas)); border-radius: 50%; font-size: 11px; font-weight: 700; color: var(--ink-secondary); }
.fin-bridge__mt { flex: 1; }
.fin-bridge__mv { font-weight: 600; }
.fin-bridge__tieout { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); font-size: 12px; font-weight: 600; }
.fin-bridge__tieout.is-ok { background: var(--fin-green-soft); color: var(--fin-green); }
.fin-bridge__tieout.is-bad { background: var(--fin-red-soft); color: var(--fin-red); }
.fin-bridge__tlbl { text-transform: uppercase; letter-spacing: 0.05em; font-size: 10px; }
.fin-bridge__tmark { margin-left: auto; font-size: 14px; }

/* ---------- FlashSynthesis ---------- */
.fin-flash { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--line-default); border-radius: var(--fin-radius); background: var(--surface-raised); overflow: hidden; }
@media (max-width: 900px) { .fin-flash { grid-template-columns: 1fr; } }
.fin-flash__panel { border-left: 1px solid var(--line-soft); background: transparent; padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.fin-flash__panel:first-child { border-left: none; }
@media (max-width: 900px) { .fin-flash__panel { border-left: none; border-top: 1px solid var(--line-soft); } .fin-flash__panel:first-child { border-top: none; } }
.fin-flash__hd { font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-tertiary); }
.fin-flash__gauges { display: flex; justify-content: space-around; gap: var(--space-2); }
.fin-gauge { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.fin-gauge__svg { width: 84px; height: 49px; }
.fin-gauge__bg { stroke: var(--viz-track); }
.fin-gauge__val.is-good { stroke: var(--viz-positive); }
.fin-gauge__val.is-warn { stroke: var(--viz-warning); }
.fin-gauge__target { stroke: var(--ink-primary); }
.fin-gauge__num { font-size: 16px; font-weight: 700; color: var(--ink-primary); margin-top: -6px; }
.fin-gauge__lbl { font-size: 10px; color: var(--ink-tertiary); text-align: center; }
.fin-donut { display: flex; align-items: center; gap: var(--space-3); }
.fin-donut__svg { width: 110px; height: 110px; flex-shrink: 0; }
.fin-donut__legend { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-1); font-size: 11px; }
.fin-donut__legend li { display: flex; align-items: center; gap: var(--space-2); color: var(--ink-secondary); }
.fin-donut__sw { width: 10px; height: 10px; border-radius: 2px; flex-shrink: 0; }
.fin-fbars { display: flex; flex-direction: column; gap: var(--space-2); }
.fin-fbars__plot { display: flex; align-items: flex-end; gap: var(--space-3); height: 110px; }
.fin-fbars__group { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; height: 100%; }
.fin-fbars__set { flex: 1; display: flex; align-items: flex-end; gap: 2px; width: 100%; justify-content: center; }
.fin-fbars__bar { width: 26%; border-radius: 1px 1px 0 0; min-height: 1px; }
.fin-fbars__bar--act { background: var(--viz-act); }
.fin-fbars__bar--fc { background: var(--viz-fc); }
.fin-fbars__bar--bud { background: var(--viz-bud); }
.fin-fbars__q { font-size: 10px; color: var(--ink-tertiary); }
.fin-fbars__legend { display: flex; gap: var(--space-3); }
.fin-fbars__lg { font-size: 10px; color: var(--ink-tertiary); display: inline-flex; align-items: center; gap: 3px; }
.fin-fbars__lg::before { content: ""; width: 9px; height: 9px; border-radius: 2px; }
.fin-fbars__lg--act::before { background: var(--viz-act); }
.fin-fbars__lg--fc::before { background: var(--viz-fc); }
.fin-fbars__lg--bud::before { background: var(--viz-bud); }

/* ---------- ScenarioCompare ---------- */
.fin-cmp__col { min-width: 110px; text-align: right !important; }
/* recommended column blends with canvas header: faint amber tint + amber top bar
   + amber text — matches the sensitivity-grid recommended treatment exactly */
.fin-cmp__col.is-rec { background: color-mix(in oklab, var(--accent-primary-soft) 55%, var(--surface-canvas)) !important; color: var(--accent-primary); box-shadow: inset 0 2px 0 var(--accent-primary); }
.fin-cmp__recbadge { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; opacity: 0.9; }
.fin-cmp__rh { font-weight: 500; }
.fin-grid__t td.fin-cmp__v.is-rec { box-shadow: inset 2px 0 0 var(--accent-primary), inset -2px 0 0 var(--accent-primary); font-weight: 700; }

/* ---------- PerfReviewTable ---------- */
.fin-perf__grp { text-align: center !important; border-left: 1px solid var(--line-soft); font-size: 10.5px; }
.fin-perf__grp--alt { background: transparent; }
.fin-perf__lbl { font-weight: 500; }
.fin-perf__os td { background: color-mix(in oklab, var(--ink-primary) 5%, var(--surface-raised)) !important; color: var(--ink-tertiary); font-style: italic; }
.fin-perf__oslbl { font-style: italic; }

/* ---------- SensitivityGrid — finance heat overrides (within .fin) ---------- */
/* ---------- SensitivityGrid + SpreadsheetGrid — Excel-sheet treatment
   within .fin: white/raised sheet, zebra rows, raised header; amber
   recommended (the native treatment) ---------- */
.fin .sg__kval { color: var(--accent-primary); }
.fin .wz-sheet { border-radius: var(--fin-radius); border-color: var(--line-default); background: var(--surface-raised); }
.fin .wz-sheet__table thead th { background: var(--surface-raised); color: var(--ink-secondary); text-transform: uppercase; letter-spacing: 0.04em; font-size: 10.5px; border-bottom: 1px solid var(--line-default); }
.fin .wz-sheet__table thead th.is-frozen { background: var(--surface-raised); }
.fin .wz-sheet__table .is-frozen { background: var(--surface-raised); }
.fin .wz-sheet__table tbody tr:nth-child(even) td { background: color-mix(in oklab, var(--ink-primary) 4%, var(--surface-raised)); }
.fin .wz-sheet__table tbody tr:nth-child(even) .is-frozen { background: color-mix(in oklab, var(--ink-primary) 4%, var(--surface-raised)); }
.fin .wz-sheet__totals td { background: color-mix(in oklab, var(--ink-primary) 7%, var(--surface-raised)); border-top: 2px solid var(--line-strong); }
.fin .wz-sheet__unit { color: var(--ink-tertiary); }
.fin .sg-matrix__rowhdr { background: var(--surface-raised) !important; }

/* shared section title for results screen */
.fin-section { display: flex; flex-direction: column; gap: var(--space-3); }
.fin-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; padding-bottom: var(--space-1); border-bottom: 1px solid var(--line-default); }
.fin-section__title { margin: 0; font-size: 15px; font-weight: 700; color: var(--ink-primary); }
.fin-section__title-vi[lang="vi"] { letter-spacing: 0; }
.fin-section__sub { margin: 0; font-size: 12px; color: var(--ink-tertiary); }
.fin-section__num { font-family: var(--font-mono); font-size: 11px; color: var(--fin-blue); font-weight: 700; }
