body:not([data-cadence-ui="1.0"]) /* =============================================================================
 * cadence-fpa.css — the FP&A surface.
 * One layer, body:not([data-cadence-ui="1.0"]) its own tokens drawn from brand-contract.md (plum authority, body:not([data-cadence-ui="1.0"]) ledger neutrals, body:not([data-cadence-ui="1.0"]) * Instrument type). The sheet is the hero: dense tabular numerics, body:not([data-cadence-ui="1.0"]) hairline rules, body:not([data-cadence-ui="1.0"]) plum only on
 * the header band and selection, body:not([data-cadence-ui="1.0"]) colour only for favourable / unfavourable.
 * ============================================================================= */
.fpa-page {
  --fpa-canvas: #f6f5f1; --fpa-surface: #ffffff; --fpa-line: #e2ded6; --fpa-line-soft: #edeae4;
  --fpa-ink: #22232a; --fpa-muted: #7a756e; --fpa-faint: #a7a099;
  --fpa-plum: #302437; --fpa-plum-ink: #e9dfcd; --fpa-plum-sel: #5a3470; --fpa-plum-tint: rgba(90, 52, 112, .07);
  --fpa-agg: #f5f2eb; --fpa-closed: #f3f1f4; --fpa-slab: #f4f2ee; --fpa-total: #fbfaf7;
  --fpa-pos: #03684a; --fpa-neg: #8a2f10; --fpa-pos-bg: rgba(3, 104, 74, .08); --fpa-neg-bg: rgba(138, 47, 16, .08);
  --fpa-serif: "Instrument Serif", Georgia, serif; --fpa-sans: "Instrument Sans", Arial, sans-serif;
  font-family: var(--fpa-sans); color: var(--fpa-ink); -webkit-font-smoothing: antialiased;
  display: flex; flex-direction: column; gap: 12px; min-height: 0;
}
body:not([data-cadence-ui="1.0"]) .fpa-page * { box-sizing: border-box; }

body:not([data-cadence-ui="1.0"]) /* ---- command bar ------------------------------------------------------------------------- */
.fpa-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
body:not([data-cadence-ui="1.0"]) .fpa-bar .fpa-gap { flex: 1 1 auto; }
body:not([data-cadence-ui="1.0"]) .fpa-ctl { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 30px 0 12px; background: var(--fpa-surface); border: 1px solid var(--fpa-line); border-radius: 6px; cursor: pointer; white-space: nowrap; }
body:not([data-cadence-ui="1.0"]) .fpa-ctl:hover { border-color: #cfc9bf; }
body:not([data-cadence-ui="1.0"]) .fpa-ctl .l { font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fpa-faint); }
body:not([data-cadence-ui="1.0"]) .fpa-ctl .v { font-size: 13px; font-weight: 550; color: var(--fpa-ink); }
body:not([data-cadence-ui="1.0"]) .fpa-ctl::after { content: ""; position: absolute; right: 11px; top: 50%; width: 6px; height: 6px; border-right: 1.5px solid var(--fpa-muted); border-bottom: 1.5px solid var(--fpa-muted); transform: translateY(-70%) rotate(45deg); }
body:not([data-cadence-ui="1.0"]) .fpa-ctl select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 14px; }
body:not([data-cadence-ui="1.0"]) .fpa-ctl.static { padding-right: 12px; cursor: default; } body:not([data-cadence-ui="1.0"]) .fpa-ctl.static::after { display: none; }
body:not([data-cadence-ui="1.0"]) .fpa-bar .plan-ver { height: 34px; }
body:not([data-cadence-ui="1.0"]) .fpa-btn { height: 34px; padding: 0 12px; border: 1px solid var(--fpa-line); background: var(--fpa-surface); border-radius: 6px; font: 550 13px var(--fpa-sans); color: var(--fpa-ink); cursor: pointer; }
body:not([data-cadence-ui="1.0"]) .fpa-btn:hover { border-color: #cfc9bf; } body:not([data-cadence-ui="1.0"]) .fpa-btn:disabled { color: var(--fpa-faint); cursor: default; }
body:not([data-cadence-ui="1.0"]) .fpa-btn.on { background: var(--fpa-plum); color: #fff; border-color: var(--fpa-plum); }
body:not([data-cadence-ui="1.0"]) .fpa-seg { display: inline-flex; border: 1px solid var(--fpa-line); border-radius: 6px; overflow: hidden; height: 34px; background: var(--fpa-surface); }
body:not([data-cadence-ui="1.0"]) .fpa-seg button { border: 0; background: transparent; padding: 0 12px; font: 550 12.5px var(--fpa-sans); color: var(--fpa-muted); cursor: pointer; }
body:not([data-cadence-ui="1.0"]) .fpa-seg button.on { background: var(--fpa-plum); color: #fff; }
body:not([data-cadence-ui="1.0"]) .fpa-save { font-size: 12px; color: var(--fpa-muted); white-space: nowrap; }
body:not([data-cadence-ui="1.0"]) .fpa-save .dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--fpa-pos); margin-right: 6px; vertical-align: 1px; }
body:not([data-cadence-ui="1.0"]) .fpa-save.dirty .dot, body:not([data-cadence-ui="1.0"]) .fpa-save.saving .dot { background: #b9862c; } body:not([data-cadence-ui="1.0"]) .fpa-save.err .dot { background: var(--fpa-neg); }

body:not([data-cadence-ui="1.0"]) /* ---- cards & stats ----------------------------------------------------------------------- */
.fpa-card { background: var(--fpa-surface); border: 1px solid var(--fpa-line); border-radius: 6px; min-width: 0; }
body:not([data-cadence-ui="1.0"]) .fpa-card-h { display: flex; align-items: baseline; gap: 12px; padding: 12px 16px 10px; border-bottom: 1px solid var(--fpa-line-soft); }
body:not([data-cadence-ui="1.0"]) .fpa-card-h h3 { margin: 0; font: 600 14px var(--fpa-sans); color: var(--fpa-ink); }
body:not([data-cadence-ui="1.0"]) .fpa-card-h .sub { font-size: 12px; color: var(--fpa-muted); }
body:not([data-cadence-ui="1.0"]) .fpa-card-h .right { margin-left: auto; display: inline-flex; gap: 8px; align-items: center; }
body:not([data-cadence-ui="1.0"]) .fpa-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
body:not([data-cadence-ui="1.0"]) .fpa-stat { background: var(--fpa-surface); border: 1px solid var(--fpa-line); border-radius: 6px; padding: 12px 16px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto auto; column-gap: 10px; min-width: 0; }
body:not([data-cadence-ui="1.0"]) .fpa-stat .l { grid-column: 1 / -1; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--fpa-muted); }
body:not([data-cadence-ui="1.0"]) .fpa-stat .v { grid-column: 1; font: 400 30px/1.1 var(--fpa-serif); letter-spacing: -.02em; color: var(--fpa-ink); margin-top: 6px; font-variant-numeric: tabular-nums; white-space: nowrap; }
body:not([data-cadence-ui="1.0"]) .fpa-stat .d { grid-column: 1; font-size: 12px; margin-top: 4px; color: var(--fpa-muted); white-space: nowrap; }
body:not([data-cadence-ui="1.0"]) .fpa-stat .d b { font-weight: 650; } body:not([data-cadence-ui="1.0"]) .fpa-stat .d.up b { color: var(--fpa-pos); } body:not([data-cadence-ui="1.0"]) .fpa-stat .d.down b { color: var(--fpa-neg); }
body:not([data-cadence-ui="1.0"]) .fpa-stat svg { grid-column: 2; grid-row: 2 / 4; align-self: end; width: 96px; height: 36px; }

body:not([data-cadence-ui="1.0"]) /* ---- the sheet --------------------------------------------------------------------------- */
.fpa-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
body:not([data-cadence-ui="1.0"]) .fpa-main.with-inspector { grid-template-columns: minmax(0, 1fr) 340px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet-wrap { overflow: auto; max-height: calc(100vh - 210px); border-radius: 6px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 12.5px; font-variant-numeric: tabular-nums; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet th { position: sticky; top: 0; z-index: 3; background: var(--fpa-plum); color: var(--fpa-plum-ink); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; text-align: right; padding: 0 10px; height: 36px; white-space: nowrap; border-bottom: 1px solid #211a27; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet th.lab { text-align: left; left: 0; z-index: 5; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet th.agg { background: #3a2d42; } body:not([data-cadence-ui="1.0"]) .fpa-sheet th.fy { background: #241c2b; position: sticky; right: 0; z-index: 4; box-shadow: -1px 0 0 #211a27; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td { padding: 0 10px; height: 30px; border-bottom: 1px solid var(--fpa-line-soft); text-align: right; white-space: nowrap; background: var(--fpa-surface); color: var(--fpa-ink); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.lab { text-align: left; position: sticky; left: 0; z-index: 2; min-width: 250px; box-shadow: 1px 0 0 var(--fpa-line); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.lab .code { display: inline-block; width: 38px; color: var(--fpa-faint); font-size: 11px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.lab .trend { display: inline-block; vertical-align: middle; margin-left: 10px; width: 64px; height: 16px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.ind1 td.lab { padding-left: 22px; } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.ind2 td.lab { padding-left: 38px; } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.ind3 td.lab { padding-left: 54px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.roll td { background: var(--fpa-slab); font-weight: 650; } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.roll td.lab { padding-left: 10px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.total td { background: var(--fpa-total); font-weight: 700; border-top: 1.5px solid #cdc7bc; } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.total td.lab { padding-left: 10px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.agg { background: var(--fpa-agg); } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.roll td.agg { background: #ede9e0; } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.total td.agg { background: #f1ede4; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.fy { position: sticky; right: 0; z-index: 2; font-weight: 650; box-shadow: -1px 0 0 var(--fpa-line); background: #f1ede4; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.closed { background: var(--fpa-closed); color: #4b4650; } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.roll td.closed, body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.total td.closed { background: #ebe8ec; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.closed.last { box-shadow: inset -2px 0 0 var(--fpa-plum-sel); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.driven { color: #5f5a63; } body:not([data-cadence-ui="1.0"]) .fpa-sheet td.driven::after { content: "\0192"; font-family: Georgia, serif; font-style: italic; font-size: 10px; color: var(--fpa-faint); margin-left: 5px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.empty { color: var(--fpa-faint); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.in { padding: 0 4px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.in input { width: 100%; min-width: 84px; height: 26px; border: 1px solid transparent; border-radius: 4px; background: transparent; text-align: right; font: 500 12.5px var(--fpa-sans); color: var(--fpa-ink); font-variant-numeric: tabular-nums; padding: 0 6px; outline: none; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.in input:hover { border-color: #cfc9bf; background: #fff; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.in input:focus { border-color: var(--fpa-plum-sel); box-shadow: 0 0 0 2px var(--fpa-plum-tint); background: #fff; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.in.edited input { color: #3d2a52; font-weight: 600; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.sel { box-shadow: inset 0 0 0 1.5px var(--fpa-plum-sel); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.pos { color: var(--fpa-pos); } body:not([data-cadence-ui="1.0"]) .fpa-sheet td.neg { color: var(--fpa-neg); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.pct { color: var(--fpa-muted); font-size: 11px; padding-left: 4px; width: 58px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.pos.pct, body:not([data-cadence-ui="1.0"]) .fpa-sheet td.neg.pct { color: inherit; opacity: .85; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.cmp td { height: 22px; font-size: 11px; color: var(--fpa-muted); background: #fbfaf8; border-bottom: 1px solid var(--fpa-line-soft); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.cmp td.lab { padding-left: 48px; font-style: italic; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.cmp td.pos { color: var(--fpa-pos); } body:not([data-cadence-ui="1.0"]) .fpa-sheet tr.cmp td.neg { color: var(--fpa-neg); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tbody tr:hover td { background-color: #faf8f4; } body:not([data-cadence-ui="1.0"]) .fpa-sheet tbody tr:hover td.closed { background-color: #efedf0; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet tbody tr.roll:hover td, body:not([data-cadence-ui="1.0"]) .fpa-sheet tbody tr.total:hover td { filter: brightness(.985); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.flag { padding: 0 6px; width: 24px; } body:not([data-cadence-ui="1.0"]) .fpa-sheet td.flag i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--fpa-neg); }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.note { padding: 0 6px; min-width: 220px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.note input { width: 100%; height: 24px; border: 1px solid transparent; border-radius: 4px; background: transparent; font: 400 12px var(--fpa-sans); color: var(--fpa-ink); padding: 0 6px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.note input::placeholder { color: var(--fpa-faint); font-style: italic; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.note input:hover { border-color: #cfc9bf; } body:not([data-cadence-ui="1.0"]) .fpa-sheet td.note input:focus { border-color: var(--fpa-plum-sel); outline: none; background: #fff; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.act { text-align: left; } body:not([data-cadence-ui="1.0"]) .fpa-sheet td.act button { border: 0; background: transparent; color: var(--fpa-plum-sel); font: 550 12px var(--fpa-sans); cursor: pointer; padding: 0; }
body:not([data-cadence-ui="1.0"]) .fpa-legend { display: flex; gap: 16px; flex-wrap: wrap; padding: 8px 16px 10px; font-size: 11.5px; color: var(--fpa-muted); border-top: 1px solid var(--fpa-line-soft); }
body:not([data-cadence-ui="1.0"]) .fpa-legend i { display: inline-block; width: 12px; height: 12px; border: 1px solid var(--fpa-line); border-radius: 2px; vertical-align: -2px; margin-right: 6px; }
body:not([data-cadence-ui="1.0"]) .fpa-chips { display: inline-flex; gap: 4px; }
body:not([data-cadence-ui="1.0"]) .fpa-chip { height: 26px; padding: 0 10px; border: 1px solid var(--fpa-line); border-radius: 13px; background: var(--fpa-surface); font: 550 12px var(--fpa-sans); color: var(--fpa-muted); cursor: pointer; }
body:not([data-cadence-ui="1.0"]) .fpa-chip.on { background: var(--fpa-plum); color: #fff; border-color: var(--fpa-plum); }
body:not([data-cadence-ui="1.0"]) .fpa-state { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: 11px; font-size: 11px; font-weight: 600; white-space: nowrap; }
body:not([data-cadence-ui="1.0"]) .fpa-state.need { background: #fbf1e3; color: #8a5a12; } body:not([data-cadence-ui="1.0"]) .fpa-state.done { background: var(--fpa-pos-bg); color: var(--fpa-pos); }

body:not([data-cadence-ui="1.0"]) /* ---- variance workbench ------------------------------------------------------------------ */
.fpa-row2 { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 12px; }
body:not([data-cadence-ui="1.0"]) .fpa-bridge { padding: 8px 12px 6px; } body:not([data-cadence-ui="1.0"]) .fpa-bridge svg { width: 100%; height: 250px; display: block; }
body:not([data-cadence-ui="1.0"]) .fpa-chart-legend { display: inline-flex; gap: 14px; font-size: 11.5px; color: var(--fpa-muted); }
body:not([data-cadence-ui="1.0"]) .fpa-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
body:not([data-cadence-ui="1.0"]) .fpa-exc { width: 100%; border-collapse: collapse; font-size: 12.5px; }
body:not([data-cadence-ui="1.0"]) .fpa-exc th { text-align: right; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--fpa-muted); padding: 8px 12px; border-bottom: 1px solid var(--fpa-line-soft); white-space: nowrap; }
body:not([data-cadence-ui="1.0"]) .fpa-exc th:first-child, body:not([data-cadence-ui="1.0"]) .fpa-exc td:first-child { text-align: left; }
body:not([data-cadence-ui="1.0"]) .fpa-exc td { padding: 0 12px; height: 38px; border-bottom: 1px solid var(--fpa-line-soft); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
body:not([data-cadence-ui="1.0"]) .fpa-exc td .n { font-weight: 600; } body:not([data-cadence-ui="1.0"]) .fpa-exc td .s { display: block; font-size: 11px; color: var(--fpa-muted); font-weight: 400; }
body:not([data-cadence-ui="1.0"]) .fpa-exc td.pos { color: var(--fpa-pos); } body:not([data-cadence-ui="1.0"]) .fpa-exc td.neg { color: var(--fpa-neg); }
body:not([data-cadence-ui="1.0"]) .fpa-exc tr:hover td { background: #faf8f4; } body:not([data-cadence-ui="1.0"]) .fpa-exc td button { border: 0; background: transparent; color: var(--fpa-plum-sel); font: 550 12px var(--fpa-sans); cursor: pointer; }

body:not([data-cadence-ui="1.0"]) /* ---- inspector --------------------------------------------------------------------------- */
.fpa-inspector { position: sticky; top: 92px; background: var(--fpa-surface); border: 1px solid var(--fpa-line); border-radius: 6px; padding: 14px 16px 16px; max-height: calc(100vh - 110px); overflow: auto; font-size: 12.5px; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fpa-faint); }
body:not([data-cadence-ui="1.0"]) .fpa-inspector h4 { margin: 4px 0 0; font: 600 15px var(--fpa-sans); color: var(--fpa-ink); }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .pov { font-size: 11.5px; color: var(--fpa-muted); margin-top: 2px; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .val { font: 400 32px/1.1 var(--fpa-serif); letter-spacing: -.02em; margin: 12px 0 2px; font-variant-numeric: tabular-nums; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .val.edited { color: #3d2a52; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .seed { font-size: 12px; color: var(--fpa-muted); } body:not([data-cadence-ui="1.0"]) .fpa-inspector .seed button { border: 0; background: transparent; color: var(--fpa-plum-sel); font: 550 12px var(--fpa-sans); cursor: pointer; padding: 0 0 0 6px; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .sec { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--fpa-line-soft); }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .sec .eyebrow { margin-bottom: 6px; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .formula { font-size: 12.5px; color: var(--fpa-ink); margin-bottom: 8px; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector table { width: 100%; border-collapse: collapse; font-size: 12.5px; font-variant-numeric: tabular-nums; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector td { padding: 5px 0; border-bottom: 1px solid var(--fpa-line-soft); } body:not([data-cadence-ui="1.0"]) .fpa-inspector td:last-child { text-align: right; font-weight: 600; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector td .sign { color: var(--fpa-faint); width: 14px; display: inline-block; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector td button { border: 0; background: transparent; color: var(--fpa-plum-sel); font: 500 12px var(--fpa-sans); cursor: pointer; padding: 0; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .mini { width: 100%; height: auto; display: block; margin-top: 6px; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector textarea { width: 100%; min-height: 64px; border: 1px solid var(--fpa-line); border-radius: 6px; padding: 8px; font: 400 12.5px var(--fpa-sans); color: var(--fpa-ink); resize: vertical; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector textarea:focus { outline: none; border-color: var(--fpa-plum-sel); box-shadow: 0 0 0 2px var(--fpa-plum-tint); }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .close { position: absolute; top: 10px; right: 10px; border: 0; background: transparent; color: var(--fpa-faint); font-size: 16px; cursor: pointer; }
body:not([data-cadence-ui="1.0"]) .fpa-inspector .links { display: flex; gap: 12px; margin-top: 12px; } body:not([data-cadence-ui="1.0"]) .fpa-inspector .links button { border: 0; background: transparent; color: var(--fpa-plum-sel); font: 550 12.5px var(--fpa-sans); cursor: pointer; padding: 0; }
body:not([data-cadence-ui="1.0"]) .fpa-empty { color: var(--fpa-muted); font-size: 12.5px; padding: 24px 16px; }

body:not([data-cadence-ui="1.0"]) /* ---- drivers ------------------------------------------------------------------------------ */
.fpa-drv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body:not([data-cadence-ui="1.0"]) .fpa-drv-grid .wide { grid-column: 1 / -1; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet.compact td { height: 30px; } body:not([data-cadence-ui="1.0"]) .fpa-sheet.compact th.lab, body:not([data-cadence-ui="1.0"]) .fpa-sheet.compact td.lab { min-width: 200px; }
body:not([data-cadence-ui="1.0"]) .fpa-sheet td.unit { color: var(--fpa-muted); text-align: left; font-size: 11.5px; width: 70px; }

@media (max-width: 1280px) {
  body:not([data-cadence-ui="1.0"]) .fpa-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body:not([data-cadence-ui="1.0"]) .fpa-row2 { grid-template-columns: minmax(0, 1fr); }
  body:not([data-cadence-ui="1.0"]) .fpa-main.with-inspector { grid-template-columns: minmax(0, 1fr); } body:not([data-cadence-ui="1.0"]) .fpa-inspector { position: static; max-height: none; }
  body:not([data-cadence-ui="1.0"]) .fpa-drv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

body:not([data-cadence-ui="1.0"]) .fpa-sheet td.in input::placeholder { color: var(--fpa-faint); }

/* ============================================================================
 * Cadence Forms 1.0 (decisions/2026-09-24-fpa-1.0-surface.md): the kit owns the chrome and the grids.
 * Everything above this line is the legacy (non-1.0) surface and does not apply on a 1.0 tenant except
 * the statement idioms below. No cards, no tiles outside the Variance board, no legends, no serif numerals.
 * ============================================================================ */
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.lab { text-align: left; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet .fpa-code, html body[data-cadence-ui="1.0"] #view .fpa-sheet td.unit { color: #737373; font-variant-numeric: tabular-nums; white-space: nowrap; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet .fpa-code { display: inline-block; min-width: 34px; margin-right: 4px; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet th.fy, html body[data-cadence-ui="1.0"] #view .fpa-sheet td.fy { font-weight: 650; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.closed, html body[data-cadence-ui="1.0"] #view .fpa-sheet td.driven { color: #737373; background: transparent; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.agg { background: transparent; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet tr.total td { font-weight: 700; border-top: 1.5px solid #262626; background-color: inherit; }  /* opaque, so a pinned total label covers the figures scrolling under it */
html body[data-cadence-ui="1.0"] #view .fpa-sheet tr.roll td { font-weight: 600; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet tr.cmp td { color: #737373; font-size: 12px; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.pos { color: #03684a; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.neg { color: #8a2f10; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet .fpa-pct { opacity: .7; font-size: 12px; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.in { background: #fff; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.in input { width: 100%; min-width: 72px; border: 0; background: transparent; text-align: right; font: inherit; color: inherit; padding: 0; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.in input:focus { outline: 1px solid #5a3470; outline-offset: 2px; border-radius: 3px; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.in.edited input { font-weight: 650; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.flag { width: 14px; padding: 0 !important; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.flag i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #737373; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.note input { width: 100%; min-width: 160px; border: 0; background: transparent; font: inherit; color: inherit; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.fpa-status { color: #8a2f10; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.fpa-act { text-align: right; white-space: nowrap; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.fpa-pick { text-align: left; }
html body[data-cadence-ui="1.0"] #view .fpa-sheet tr.fpa-new td { background: #f5f5f5; }
html body[data-cadence-ui="1.0"] #view .fpa-roster input.fpa-text { width: 100%; min-width: 160px; border: 0; background: transparent; font: inherit; color: inherit; padding: 0; }
html body[data-cadence-ui="1.0"] #view .fpa-sec { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
html body[data-cadence-ui="1.0"] #view .fpa-sec .cad-section-title { margin: 0 0 6px; }
html body[data-cadence-ui="1.0"] #view .fpa-sub { font-weight: 400; color: #737373; }
html body[data-cadence-ui="1.0"] #view .gt-look .gt-tile .delta-up { color: #03684a !important; }
html body[data-cadence-ui="1.0"] #view .gt-look .gt-tile .delta-down { color: #8a2f10 !important; }
html body[data-cadence-ui="1.0"] #view .gt-look .gt-tile.gt-tile-lead .delta-up, html body[data-cadence-ui="1.0"] #view .gt-look .gt-tile.gt-tile-lead .delta-down { color: #fff !important; }
html body[data-cadence-ui="1.0"] #view .gt-look .gt-card .fpa-sheet { margin-top: 4px; }
html body[data-cadence-ui="1.0"] #view .fpa-drawer .fpa-inspector { position: static; border: 0; padding: 0; max-height: none; overflow: visible; box-shadow: none; }
html body[data-cadence-ui="1.0"] #view .fpa-drawer .fpa-inspector .close { display: none; }
/* Required POV controls are styled by the shared CadenceGrid kit. */
/* no glyph on driven cells on 1.0; the mute says it */
html body[data-cadence-ui="1.0"] #view .fpa-sheet td.driven::after, html body[data-cadence-ui="1.0"] #view .fpa-sheet td.in::after { content: none !important; }
html body[data-cadence-ui="1.0"] #view .fpa-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
html body[data-cadence-ui="1.0"] #view .fpa-tiles .gt-tile { min-width: 0; max-width: none; }
@media (max-width: 1199px) { html body[data-cadence-ui="1.0"] #view .fpa-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
html body[data-cadence-ui="1.0"] #view .rwm-foot.fpa-prov { white-space: normal; font-size: 12px; line-height: 1.5; }   /* provenance is a footnote, not body text */
html body[data-cadence-ui="1.0"] #view .fpa-notes { margin: 8px 0 0; padding: 0 0 0 28px; font-size: 12.5px; line-height: 1.5; color: #404040; max-width: 110ch; display: grid; gap: 4px; }  /* the reconciliation reasons, numbered to the Note column */
html body[data-cadence-ui="1.0"] #view .fpa-notes li::marker { color: #737373; font-variant-numeric: tabular-nums; }
html body[data-cadence-ui="1.0"] #view .fpa-notes-plain { margin: 4px 0 0 28px; font-size: 12.5px; color: #737373; }
html body[data-cadence-ui="1.0"] #view .fpa-blk { display: block; }
html body[data-cadence-ui="1.0"] #view .fpa-group { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 18px 0 2px; padding-top: 10px; border-top: 2px solid #262626; }  /* a dated group: Forecast or Historical, never mixed (13-week cash) */
html body[data-cadence-ui="1.0"] #view .fpa-blk:first-child .fpa-group { margin-top: 4px; }
html body[data-cadence-ui="1.0"] #view .fpa-group b { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: #262626; }
html body[data-cadence-ui="1.0"] #view .fpa-group span { font-size: 13px; font-weight: 600; color: #262626; font-variant-numeric: tabular-nums; }
html body[data-cadence-ui="1.0"] #view .fpa-group em { font-style: normal; font-size: 12.5px; color: #737373; }
html body[data-cadence-ui="1.0"] #view .fpa-asof { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 2px 0 6px; }  /* the as-of date, first on the 13-week page */
html body[data-cadence-ui="1.0"] #view .fpa-asof b { font-size: 15px; font-weight: 700; color: #262626; font-variant-numeric: tabular-nums; }
html body[data-cadence-ui="1.0"] #view .fpa-asof span { font-size: 12.5px; color: #525252; }
html body[data-cadence-ui="1.0"] #view .fpa-unavail { margin: 4px 0 8px; font-size: 13px; line-height: 1.5; color: #404040; max-width: 120ch; }  /* a statement year whose opening has no source */
html body[data-cadence-ui="1.0"] #view .fpa-unavail b { color: #262626; }
html body[data-cadence-ui="1.0"] #view tr.fpa-hl > td { background-color: #efeaf2 !important; transition: background-color .4s; }  /* a tile click locates its line on the Variance statement */
/* FP&A planning-context controls (plan, version, compare, year, month): plain like the Workbench filters, no outline and no applied fill (Will 2026-09-29: "we dont outline our filters") */
html body[data-cadence-ui="1.0"] #shell-context-nav .cad-filters.cad-bar.cad-bar .pv.cad-pov.cad-pov.cad-pov.fpa-pov, html body[data-cadence-ui="1.0"] #shell-context-nav .cad-filters.cad-bar.cad-bar .pv.cad-pov.cad-pov.cad-pov.fpa-pov:hover { border-color: transparent !important; background: transparent !important; }

/* Workforce register (2026-09-29): costs open their Why; masked pay; planned rows; component rows indent */
.fpa-sheet td.fpa-why { cursor: pointer; }
.fpa-sheet td.fpa-why:hover { text-decoration: underline; text-underline-offset: 2px; }
.fpa-sheet .fpa-mask { color: var(--muted, #7a756e); }
.fpa-sheet tr.fpa-planned td.fpa-id, .fpa-sheet tr.fpa-planned td.lab:nth-child(2) { font-style: italic; }
.fpa-sheet td.fpa-ind { padding-left: 22px; color: var(--muted, #5f5b55); }
.fpa-sheet tr.sub td { font-weight: 600; }
.fpa-sheet tr.fpa-derived td { color: var(--muted, #5f5b55); }
.fpa-sheet td.fpa-ed { box-shadow: inset 2px 0 0 #5a3470; }
.fpa-sheet td.fpa-invalid { box-shadow: inset 0 0 0 1px #8a2f10; background: #fbf1ee; }
.fpa-sheet tr.fpa-focus td { background: #f4eff7; }
.fpa-colmenu-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; font-size: 11px; }
.fpa-colmenu-h strong { text-transform: uppercase; letter-spacing: .05em; }
.fpa-colmenu-h a { cursor: pointer; font-weight: 600; margin-left: 8px; }
.rwm-col-menu label { display: flex; gap: 6px; align-items: center; padding: 4px 2px; font-size: 13px; }
/* Opex (2026-09-29): formula link, the line drawer, over-budget figures, flagged rows */
.fpa-sheet td.fpa-formula .fpa-link { cursor: pointer; color: inherit; text-decoration: none; border-bottom: 1px dotted #a7a099; }
.fpa-sheet td.fpa-formula .fpa-link:hover { border-bottom-color: #5a3470; }
.fpa-sheet td.fpa-over { color: #8a2f10; }
.fpa-sheet tr.fpa-flagged td:first-child { box-shadow: inset 2px 0 0 #8a2f10; }
.fpa-ox-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 16px 0 4px; }
.fpa-ox-f { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: #5f5b55; }
.fpa-ox-f input, .fpa-ox-sel { height: 30px; border: 1px solid #d7dbe0; border-radius: 6px; padding: 0 8px; font-size: 13px; color: #22232a; background: #fff; }
.fpa-ox-months { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.fpa-ox-sub { grid-column: 1 / -1; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #7a756e; margin-top: 6px; }
.fpa-sheet td.fpa-formula { max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fpa-ox-err { grid-column: 1 / -1; color: #8a2f10; font-weight: 600; font-size: 12.5px; }
/* Home Games column groups: a band row names the group over its columns (2026-09-30) */
.fpa-sheet tr.fpa-bands th { font-size: 11px; font-weight: 600; letter-spacing: .02em; text-align: center; padding-top: 6px; padding-bottom: 2px; }
.fpa-sheet tr.fpa-bands th.fpa-band { box-shadow: inset 0 -1px 0 rgba(255,255,255,.28); }
/* Opex Plan and Line detail on the 1.0 record grid (omGrid): a typed cell reads as the kit's input cell; a figure with a Why underlines on hover */
#view .om-grid .fpa-ox-in { width: 100%; min-width: 64px; box-sizing: border-box; height: 26px; border: 1px solid #e3e0e8; border-radius: 3px; background: #fff; text-align: right; font: inherit; color: inherit; padding: 0 4px; }
#view .om-grid .fpa-ox-in:hover { border-color: #b9a6c8; }
#view .om-grid .fpa-ox-in:focus { outline: 1px solid #5a3470; outline-offset: 0; border-color: #5a3470; }
/* Cash forecast: a typed figure over the model reads in the selection plum (status is colour on the figure, never a fill) */
#view .om-grid .fpa-ox-in.fpa-typed { color: #5a3470; font-weight: 600; }
/* Cash forecast and its quarters: 13-14 month columns of full dollars; the table keeps a floor width and the frame scrolls
   sideways instead of clipping figures (a fit-to-frame grid squeezes a month to ~80px at 1430) */
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid.om-fpa-cd-fc table.rwm-tbl { min-width: 1820px !important; }
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid[class*="om-fpa-cd-q"] table.rwm-tbl { min-width: 860px !important; }
/* NAR cash forecast and its quarters: only the row number and the line name stay pinned. The editorial skin pins a
   workbench grid's first four columns; here columns 3-4 are the Actual month and the first forecast month, so later months
   slid under them as the grid scrolled (cadence-editorial-core.css .rwm-workbench-grid sticky rule, left as it is for other grids) */
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid.om-fpa-cd-fc table.rwm-tbl td:nth-child(3),
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid.om-fpa-cd-fc table.rwm-tbl td:nth-child(4),
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid[class*="om-fpa-cd-q"] table.rwm-tbl td:nth-child(3),
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid[class*="om-fpa-cd-q"] table.rwm-tbl td:nth-child(4) { position: static; left: auto; z-index: auto; border-right: 0; }
/* the header cells keep their sticky top (the header row), only the left pin goes */
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid.om-fpa-cd-fc table.rwm-tbl th:nth-child(3),
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid.om-fpa-cd-fc table.rwm-tbl th:nth-child(4),
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid[class*="om-fpa-cd-q"] table.rwm-tbl th:nth-child(3),
html body[data-cadence-ui="1.0"] #view .rwm-workbench-grid[class*="om-fpa-cd-q"] table.rwm-tbl th:nth-child(4) { left: auto; z-index: 3; border-right: 0; }
#view .om-grid span.fpa-why { cursor: pointer; }
#view .om-grid span.fpa-why:hover { text-decoration: underline; text-underline-offset: 2px; }

/* A phone (docs/design/decisions/2026-10-18-phone-check-screens.md): FP&A is checked, not planned, on a phone. The six
   KPI tiles go two to a row at a size that fits, the board's cards stack at the phone's width (their desk minimums of
   380 and 880px widened the page to 904px), and every grid scrolls inside its own box. */
@media (max-width: 700px) {
  html body[data-cadence-ui="1.0"] #view .fpa-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  html body[data-cadence-ui="1.0"] #view .fpa-tiles .gt-tile { width: auto !important; min-width: 0 !important; padding: 10px 12px !important; }
  html body[data-cadence-ui="1.0"] #view .fpa-tiles .gt-num { font-size: 22px !important; line-height: 1.15 !important; }
  html body[data-cadence-ui="1.0"] #view .fpa-board-row { flex-direction: column !important; }
  html body[data-cadence-ui="1.0"] #view .fpa-board-col { min-width: 0 !important; max-width: none !important; width: 100% !important; flex: 1 1 auto !important; }
  html body[data-cadence-ui="1.0"] #view .table-wrap { max-width: 100% !important; }
}
