/* Four visual identities share the same real records, controls and dialog lifecycle. */
html[data-finance-style] { --theme-radius:18px; --theme-heading:var(--font); }
html[data-finance-style="obsidian"] {
  color-scheme:dark;
  --ink:#f1f0e8;--muted:#b7baae;--green:#94d5ad;--blue:#a5c4ec;--red:#f0a694;
  --paper:#1c221e;--surface:#252d26;--surface-soft:#2d372d;--line:#485142;
  --green-soft:#304537;--accent-fill:#dfd0a9;--accent-hover:#eddfbe;--on-accent:#292d21;
  --warning:#e5c28d;--warning-soft:#443e2f;--chart-total:#e4d2a8;--chart-zero:#8a9786;
  --shadow:#070d0933;--glass:#273028e8;--glass-edge:#b9c4a72e;--glass-glow:#efe8d52e;
  --scrim:#050b08a6;--wash-mint:#61734129;--wash-blue:#49625714;--wash-lilac:#b5a36a0b;
  --theme-accent:#e2d0a5;--theme-radius:18px;
}
html[data-finance-style="obsidian"][data-color-scheme="dark"] {
  --ink:#eeeede;--muted:#afb6a6;--green:#91d3aa;--blue:#a3c1e9;--red:#eea48f;
  --paper:#131915;--surface:#1c251e;--surface-soft:#273128;--line:#3a4839;
  --green-soft:#2a4132;--accent-fill:#d9c69e;--accent-hover:#e7d7b4;--on-accent:#20291d;
  --warning:#e1be83;--warning-soft:#3b3729;--chart-total:#ddc99e;--chart-zero:#7e8d7c;
  --shadow:#00000040;--glass:#1d281fe8;--glass-edge:#adbc982b;--glass-glow:#ecedcf24;
  --scrim:#000000a8;--wash-mint:#5f724924;--wash-blue:#52684b0c;--wash-lilac:#a18c570a;
  --theme-accent:#ddc99e;
}
html[data-finance-style="ice"] {
  color-scheme:light;
  --ink:#24334b;--muted:#5b6d84;--green:#147b58;--blue:#3569b9;--red:#a74b47;
  --paper:#eaf0f7;--surface:#fbfdff;--surface-soft:#e6edf7;--line:#cbd8e8;
  --green-soft:#e0f1e9;--accent-fill:#315fd4;--accent-hover:#254eb8;--on-accent:#fff;
  --warning:#7d5f26;--warning-soft:#f8eed5;--chart-total:#4269ba;--chart-zero:#90a4bf;
  --shadow:#16355512;--glass:#f7fbffd9;--glass-edge:#ffffffed;--glass-glow:#ffffffd9;
  --scrim:#23375066;--wash-mint:#b7dedc77;--wash-blue:#b3cffe9c;--wash-lilac:#d1d4f940;
  --theme-accent:#315fd4;--theme-radius:28px;
}
html[data-finance-style="ice"][data-color-scheme="dark"] {
  color-scheme:dark;
  --ink:#edf4ff;--muted:#b1c3db;--green:#88dbb5;--blue:#aac9ff;--red:#f0a6a0;
  --paper:#132031;--surface:#203247;--surface-soft:#2b425b;--line:#415976;
  --green-soft:#294d45;--accent-fill:#afc7ff;--accent-hover:#c7d8ff;--on-accent:#172f5a;
  --warning:#edd095;--warning-soft:#464334;--chart-total:#c1d4ff;--chart-zero:#859fbe;
  --shadow:#000c2638;--glass:#233950e8;--glass-edge:#c4deff38;--glass-glow:#d6eaff30;
  --scrim:#00091999;--wash-mint:#265c574d;--wash-blue:#3f65965e;--wash-lilac:#555c9335;
  --theme-accent:#afc7ff;
}
html[data-finance-style="paper"] {
  color-scheme:light;
  --ink:#2c3a2f;--muted:#626d60;--green:#257749;--blue:#4569a5;--red:#a14936;
  --paper:#f4f1e8;--surface:#faf8f1;--surface-soft:#eae9dd;--line:#cbcebd;
  --green-soft:#e3ebda;--accent-fill:#2d533e;--accent-hover:#244632;--on-accent:#faf6ea;
  --warning:#7b5b27;--warning-soft:#f2e8cf;--chart-total:#344f3e;--chart-zero:#8d9982;
  --shadow:#3a422a09;--glass:#f7f4ebe8;--glass-edge:#d2d3c0;--glass-glow:#fff8e34d;
  --scrim:#23301c70;--wash-mint:transparent;--wash-blue:transparent;--wash-lilac:transparent;
  --theme-accent:#2d533e;--theme-radius:4px;--theme-heading:"Songti SC","STSong",Georgia,serif;
}
html[data-finance-style="paper"][data-color-scheme="dark"] {
  color-scheme:dark;
  --ink:#eaeddf;--muted:#b6beaa;--green:#9bd2ac;--blue:#b2c9ed;--red:#f0ad99;
  --paper:#20251f;--surface:#2a3027;--surface-soft:#343d31;--line:#4c5745;
  --green-soft:#394a34;--accent-fill:#c8d9b0;--accent-hover:#d9e5c6;--on-accent:#243421;
  --warning:#e2c58e;--warning-soft:#413e2e;--chart-total:#d2debd;--chart-zero:#8e9c7c;
  --shadow:#00000019;--glass:#293127eb;--glass-edge:#535d48;--glass-glow:#deebbb15;
  --scrim:#050a03a6;--wash-mint:transparent;--wash-blue:transparent;--wash-lilac:transparent;
  --theme-accent:#c8d9b0;
}
html[data-finance-style="deep"] {
  color-scheme:dark;
  --ink:#edf5fb;--muted:#aec2d5;--green:#83dab3;--blue:#a0c5fa;--red:#f2ac9a;
  --paper:#112031;--surface:#192d42;--surface-soft:#263e55;--line:#3a5269;
  --green-soft:#234b46;--accent-fill:#b0ddee;--accent-hover:#c8e8f4;--on-accent:#14364a;
  --warning:#e7cb94;--warning-soft:#3d423e;--chart-total:#b5dcec;--chart-zero:#8ca7ba;
  --shadow:#04101e33;--glass:#1b3147eb;--glass-edge:#9ac7e533;--glass-glow:#b9ddff24;
  --scrim:#020c18aa;--wash-mint:#346b8d1c;--wash-blue:#4169b830;--wash-lilac:transparent;
  --theme-accent:#b0ddee;--theme-radius:12px;
}
html[data-finance-style="deep"][data-color-scheme="dark"] {
  --ink:#ecf5ff;--muted:#abc1d5;--green:#91e1bd;--blue:#abcaff;--red:#f0ae9f;
  --paper:#091522;--surface:#13253a;--surface-soft:#203950;--line:#304a62;
  --green-soft:#21443f;--accent-fill:#a8d8ef;--accent-hover:#c3e5f5;--on-accent:#123349;
  --warning:#e2c993;--warning-soft:#383d37;--chart-total:#b1d8eb;--chart-zero:#809bb1;
  --shadow:#00060d45;--glass:#14283de8;--glass-edge:#8cc5ed2e;--glass-glow:#a5d4ff24;
  --scrim:#00050dbb;--wash-mint:#346b8d16;--wash-blue:#3965af29;--wash-lilac:transparent;
  --theme-accent:#a8d8ef;
}

/* Shared typography and semantic colors remain consistent between identities. */
html[data-finance-style] body { background-color:var(--paper); }
html[data-finance-style] .dashboard-body { max-width:1380px; }
html[data-finance-style] .summary-card,
html[data-finance-style] .panel,
html[data-finance-style] .pot-card { border-radius:var(--theme-radius); }
html[data-finance-style] .summary-card>strong,
html[data-finance-style] .people-totals b,
html[data-finance-style] .pot-card-total,
html[data-finance-style] .pot-people b { font-variant-numeric:tabular-nums; font-feature-settings:"tnum"; overflow-wrap:anywhere; }
html[data-finance-style] .people-totals>span:first-child b,
html[data-finance-style] .pot-people>span:first-child b { color:var(--green); }
html[data-finance-style] .people-totals>span:last-child b,
html[data-finance-style] .pot-people>span:last-child b { color:var(--blue); }
html[data-finance-style] .people-totals>span,
html[data-finance-style] .pot-people>span { min-width:0; }
html[data-finance-style] .page-heading h1 { font-size:clamp(30px,3vw,42px); letter-spacing:-.045em; }
html[data-finance-style] .sync-panel { box-shadow:none; }
html[data-finance-style] .sync-panel>div>strong { font-size:13px;font-weight:600; }
html[data-finance-style] .sync-panel p { font-size:13px; }
html[data-finance-style] .sync-actions .primary-button { min-height:40px;font-size:12px; }
html[data-finance-style] .pot-card:hover { box-shadow:0 12px 28px var(--shadow); }
html[data-finance-style] .current-summary .balance-card .card-label { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap; }
html[data-finance-style] .tag { background:var(--surface-soft);border:1px solid var(--line);color:var(--muted); }
html[data-finance-style] .pot-card-head h3 { line-height:1.55; }
html[data-finance-style] .historical-summary { border-left:3px solid var(--theme-accent); }
html[data-finance-style] .app-dialog:not(.editor-dialog) { border-color:var(--glass-edge); }
html[data-finance-style] .source-book { border-radius:min(var(--theme-radius),18px); }

/* 01 / Obsidian: a spacious private-finance desk, charcoal and champagne. */
html[data-finance-style="obsidian"] .site-header { border-radius:16px;box-shadow:0 12px 32px var(--shadow),inset 0 1px var(--glass-glow); }
html[data-finance-style="obsidian"] .brand-mark { background:var(--surface-soft);border:1px solid var(--line);color:var(--theme-accent); }
html[data-finance-style="obsidian"] .page-heading { margin-bottom:33px; }
html[data-finance-style="obsidian"] .page-heading .eyebrow { color:var(--theme-accent);letter-spacing:.19em; }
html[data-finance-style="obsidian"] .primary-button,
html[data-finance-style="obsidian"] .small-button { border-radius:10px; }
html[data-finance-style="obsidian"] .sync-panel { border-radius:12px;background:transparent;border-color:var(--line);padding:16px 20px; }
html[data-finance-style="obsidian"] .current-summary { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px; }
html[data-finance-style="obsidian"] .current-summary .total-card { padding:32px;background:linear-gradient(122deg,var(--surface-soft),var(--surface) 72%); }
html[data-finance-style="obsidian"] #poolTotal { color:var(--theme-accent);font-size:clamp(32px,4.2vw,54px);letter-spacing:-.05em;font-weight:500;margin:24px 0 10px; }
html[data-finance-style="obsidian"] .current-summary .people-totals { margin-top:25px;padding-top:20px;gap:30px; }
html[data-finance-style="obsidian"] .current-summary .people-totals b { font-size:21px;letter-spacing:-.02em; }
html[data-finance-style="obsidian"] .current-summary .balance-card { padding:31px 28px;border-top:2px solid var(--theme-accent);background:var(--surface); }
html[data-finance-style="obsidian"] #paymentTotal { font-size:clamp(30px,3.4vw,44px);font-weight:500;margin-top:28px; }
html[data-finance-style="obsidian"] #paymentChange { margin-top:25px; }
html[data-finance-style="obsidian"] .pots-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
html[data-finance-style="obsidian"] .pot-card { padding:26px 27px;background:linear-gradient(130deg,var(--surface),var(--paper) 150%); }
html[data-finance-style="obsidian"] .pot-card-total { font-size:31px;font-weight:500; }
html[data-finance-style="obsidian"] .pot-card-head .arrow { border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex:none; }
html[data-finance-style="obsidian"] .pot-balance { margin-top:21px; }
html[data-finance-style="obsidian"] .segmented-control { border-radius:13px;background:var(--surface);box-shadow:none; }
html[data-finance-style="obsidian"] .segmented-control button { border-radius:9px; }
html[data-finance-style="obsidian"] .segmented-control button[aria-pressed=true] { background:var(--surface-soft);color:var(--theme-accent); }
html[data-finance-style="obsidian"] .panel { box-shadow:none; }
html[data-finance-style="obsidian"] .mobile-nav { border-radius:18px; }
html[data-finance-style="obsidian"] .mobile-nav button { border-radius:13px; }

/* 02 / Ice: floating glass controls and a balanced three-part cash overview. */
html[data-finance-style="ice"] .site-header { border-radius:40px; }
html[data-finance-style="ice"] .page-heading { margin-bottom:30px; }
html[data-finance-style="ice"] .page-heading .eyebrow { color:var(--theme-accent); }
html[data-finance-style="ice"] .sync-panel { background:var(--glass);border-radius:20px; }
html[data-finance-style="ice"] .current-summary { grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:0 18px; }
html[data-finance-style="ice"] .current-summary .total-card,
html[data-finance-style="ice"] .current-summary .people-totals { display:contents; }
html[data-finance-style="ice"] .current-summary .total-card>.card-label { grid-column:1/-1;grid-row:1;padding:5px 2px 0; }
html[data-finance-style="ice"] #poolTotal { grid-column:1/-1;grid-row:2;font-size:clamp(32px,4.5vw,55px);font-weight:550;line-height:1.2;margin:12px 0 6px;letter-spacing:-.055em; }
html[data-finance-style="ice"] #totalContext { grid-column:1/-1;grid-row:3;margin-bottom:26px; }
html[data-finance-style="ice"] .current-summary .people-totals>span { grid-column:1;grid-row:4;display:block;border:1px solid var(--glass-edge);border-top:3px solid var(--green);border-radius:28px;background:var(--surface);padding:27px 25px;color:var(--green);font-size:15px;box-shadow:0 8px 28px var(--shadow); }
html[data-finance-style="ice"] .current-summary .people-totals>span:last-child { grid-column:3;border-top-color:var(--blue);color:var(--blue); }
html[data-finance-style="ice"] .current-summary .people-totals b { font-size:clamp(22px,2.4vw,31px);font-weight:550;text-align:left;margin:25px 0 10px;letter-spacing:-.04em; }
html[data-finance-style="ice"] .current-summary .people-totals small { color:var(--muted);text-align:left;line-height:1.6;margin:0; }
html[data-finance-style="ice"] .current-summary .balance-card { grid-column:2;grid-row:4;min-height:0;border-radius:28px;background:var(--surface-soft);box-shadow:inset 0 1px 0 var(--glass-glow);padding:27px 22px; }
html[data-finance-style="ice"] #paymentTotal { font-size:clamp(24px,2.7vw,34px);margin:25px 0 9px; }
html[data-finance-style="ice"] #paymentChange { margin-top:18px; }
html[data-finance-style="ice"] .pots-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
html[data-finance-style="ice"] .pot-card { border-color:var(--glass-edge); }
html[data-finance-style="ice"] .panel { box-shadow:0 10px 32px var(--shadow); }
html[data-finance-style="ice"] .chart-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
html[data-finance-style="ice"] .historical-summary { background:var(--surface-soft); }

/* 03 / Paper: an editorial masthead, quiet rules and a ledger instead of tiles. */
html[data-finance-style="paper"] body { background-image:none; }
html[data-finance-style="paper"] .site-header { border:0;border-bottom:2px solid var(--ink);border-radius:0;box-shadow:none;background:var(--glass);padding:0 4px;height:84px; }
html[data-finance-style="paper"] .site-header::before { display:none; }
html[data-finance-style="paper"] .brand { font-family:var(--theme-heading);font-size:21px;letter-spacing:.04em; }
html[data-finance-style="paper"] .brand small { font-family:var(--font);font-size:10px;letter-spacing:.1em; }
html[data-finance-style="paper"] .brand-mark { background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:2px;box-shadow:none; }
html[data-finance-style="paper"] .page-heading { padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:22px; }
html[data-finance-style="paper"] .page-heading h1 { font-family:var(--theme-heading);font-weight:600;font-size:clamp(32px,3.4vw,46px);letter-spacing:.025em;line-height:1.45; }
html[data-finance-style="paper"] .page-heading h1 span { color:var(--ink); }
html[data-finance-style="paper"] .page-heading .eyebrow { letter-spacing:.2em; }
html[data-finance-style="paper"] .panel-head h2,
html[data-finance-style="paper"] .analysis-heading h2 { font-family:var(--theme-heading);font-weight:600;letter-spacing:.015em; }
html[data-finance-style="paper"] .sync-panel { border-radius:3px;padding:17px 0;border:0;border-bottom:1px solid var(--line);background:transparent; }
html[data-finance-style="paper"] .current-summary { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:34px;border-bottom:1px solid var(--ink);padding:2px 0 28px; }
html[data-finance-style="paper"] .current-summary .summary-card { border:0;border-radius:0;box-shadow:none;background:transparent;padding:12px 0; }
html[data-finance-style="paper"] #poolTotal { font-size:clamp(32px,4.3vw,52px);font-weight:500;letter-spacing:-.055em;margin:22px 0 10px; }
html[data-finance-style="paper"] .current-summary .balance-card { border-left:1px solid var(--line);padding-left:34px; }
html[data-finance-style="paper"] #paymentTotal { font-size:clamp(30px,3.4vw,43px);font-weight:500;margin-top:22px; }
html[data-finance-style="paper"] .current-summary .people-totals { padding-top:19px;margin-top:22px; }
html[data-finance-style="paper"] .current-summary .people-totals b { font-size:20px;font-weight:500; }
html[data-finance-style="paper"] .primary-button,
html[data-finance-style="paper"] .small-button,
html[data-finance-style="paper"] input,
html[data-finance-style="paper"] select,
html[data-finance-style="paper"] textarea { border-radius:4px;box-shadow:none; }
html[data-finance-style="paper"] .panel,
html[data-finance-style="paper"] .summary-card { box-shadow:none;border-color:var(--line); }
html[data-finance-style="paper"] .pots-section>.panel-head { margin-bottom:3px; }
html[data-finance-style="paper"] .pots-grid { grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--ink);counter-reset:ledger; }
html[data-finance-style="paper"] .pot-card { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,1.65fr);column-gap:26px;row-gap:9px;padding:24px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;counter-increment:ledger; }
html[data-finance-style="paper"] .pot-card:hover { background:var(--surface);transform:none;box-shadow:none; }
html[data-finance-style="paper"] .pot-card-head { grid-column:1;grid-row:1;justify-content:flex-start;gap:12px; }
html[data-finance-style="paper"] .pot-card-head::before { content:counter(ledger,decimal-leading-zero);font:italic 17px Georgia,serif;color:var(--muted); }
html[data-finance-style="paper"] .pot-card-head .arrow { display:none; }
html[data-finance-style="paper"] .pot-card h3 { font-size:15px; }
html[data-finance-style="paper"] .pot-card-total { grid-column:2;grid-row:1;font-size:24px;font-weight:500;margin:0;text-align:right;align-self:center; }
html[data-finance-style="paper"] .pot-card-note { grid-column:1/3;grid-row:2;margin:0;font-size:11px; }
html[data-finance-style="paper"] .pot-people { grid-column:3;grid-row:1/3;margin:0;padding-left:22px;border-left:1px solid var(--line);gap:14px;align-self:center; }
html[data-finance-style="paper"] .pot-people b { font-size:15px;font-weight:550;margin-top:8px; }
html[data-finance-style="paper"] .pot-balance { grid-column:1/-1;grid-row:3;justify-content:flex-end;border:0;padding:3px 0 0;margin:0;font-size:11px; }
html[data-finance-style="paper"] .pot-split,
html[data-finance-style="paper"] .pot-split-spacer { display:none; }
html[data-finance-style="paper"] .segmented-control { border-radius:4px;box-shadow:none;background:transparent;border-color:var(--line);padding:4px; }
html[data-finance-style="paper"] .segmented-control button { border-radius:2px; }
html[data-finance-style="paper"] .segmented-control button[aria-pressed=true] { background:var(--surface-soft);box-shadow:none; }
html[data-finance-style="paper"] .chart-detail,
html[data-finance-style="paper"] .comparison-metrics,
html[data-finance-style="paper"] .snapshot-preview,
html[data-finance-style="paper"] .detail-summary { border-radius:4px; }
html[data-finance-style="paper"] .mobile-nav { border-radius:9px; }
html[data-finance-style="paper"] .mobile-nav button { border-radius:5px; }

/* 04 / Deep: a compact command view with persistent desktop navigation. */
html[data-finance-style="deep"] .site-header { border-radius:12px; }
html[data-finance-style="deep"] .brand-mark { border:1px solid var(--line);color:var(--theme-accent);background:var(--surface-soft); }
html[data-finance-style="deep"] .page-heading { margin-bottom:24px; }
html[data-finance-style="deep"] .page-heading .eyebrow { color:var(--theme-accent);letter-spacing:.16em; }
html[data-finance-style="deep"] .page-heading h1 { font-size:clamp(29px,2.8vw,37px); }
html[data-finance-style="deep"] .sync-panel { border-radius:9px;border:1px solid var(--line);padding:15px 19px; }
html[data-finance-style="deep"] .primary-button,
html[data-finance-style="deep"] .small-button { border-radius:8px; }
html[data-finance-style="deep"] .current-summary { grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:var(--surface);border:1px solid var(--line);border-radius:12px; }
html[data-finance-style="deep"] .current-summary .total-card,
html[data-finance-style="deep"] .current-summary .people-totals { display:contents; }
html[data-finance-style="deep"] .current-summary .total-card>.card-label { grid-column:1;grid-row:1;margin:24px 22px 0; }
html[data-finance-style="deep"] #poolTotal { grid-column:1;grid-row:2;font-size:clamp(24px,2.5vw,33px);font-weight:550;line-height:1.3;margin:13px 22px 6px;letter-spacing:-.045em; }
html[data-finance-style="deep"] #totalContext { grid-column:1;grid-row:3;margin:0 22px 25px;font-size:11px; }
html[data-finance-style="deep"] .current-summary .people-totals>span { grid-column:2;grid-row:1/4;display:flex;flex-direction:column;justify-content:center;margin:24px 0;padding:0 22px;border-left:1px solid var(--line);font-size:13px; }
html[data-finance-style="deep"] .current-summary .people-totals>span:last-child { grid-column:3; }
html[data-finance-style="deep"] .current-summary .people-totals b { font-size:clamp(23px,2.25vw,31px);font-weight:550;margin:13px 0 6px;text-align:left;letter-spacing:-.04em; }
html[data-finance-style="deep"] .current-summary .people-totals small { text-align:left;margin:0;line-height:1.6; }
html[data-finance-style="deep"] .current-summary .balance-card { grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;min-height:0;border:0;border-top:1px solid var(--line);border-radius:0 0 11px 11px;padding:21px 23px;background:linear-gradient(110deg,var(--surface-soft),var(--surface));box-shadow:none; }
html[data-finance-style="deep"] .current-summary .balance-card>.card-label { grid-column:1;grid-row:1;justify-content:flex-start; }
html[data-finance-style="deep"] #paymentTotal { grid-column:1;grid-row:2;font-size:30px;font-weight:550;margin:0; }
html[data-finance-style="deep"] #paymentDirection { grid-column:2;grid-row:1;align-self:center; }
html[data-finance-style="deep"] #paymentChange { grid-column:2;grid-row:2;margin:0;padding:0;border:0;align-self:center; }
html[data-finance-style="deep"] .pots-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
html[data-finance-style="deep"] .pot-card { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:8px 20px;padding:23px 22px;box-shadow:none;border-color:var(--line); }
html[data-finance-style="deep"] .pot-card-head { grid-column:1;grid-row:1; }
html[data-finance-style="deep"] .pot-card-total { grid-column:1;grid-row:2;font-size:25px;font-weight:550;margin:5px 0 0; }
html[data-finance-style="deep"] .pot-card-note { grid-column:1;grid-row:3;margin:0;line-height:1.7;font-size:11px; }
html[data-finance-style="deep"] .pot-people { grid-column:2;grid-row:1/4;display:flex;flex-direction:column;justify-content:center;margin:0;padding-left:19px;border-left:1px solid var(--line);gap:17px; }
html[data-finance-style="deep"] .pot-people b { font-size:15px;margin-top:6px; }
html[data-finance-style="deep"] .pot-balance { grid-column:1/-1;grid-row:4;margin-top:10px; }
html[data-finance-style="deep"] .pot-split,
html[data-finance-style="deep"] .pot-split-spacer { display:none; }
html[data-finance-style="deep"] .chart-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px; }
html[data-finance-style="deep"] .panel { box-shadow:none;border-color:var(--line); }
html[data-finance-style="deep"] .segmented-control { border-radius:10px;box-shadow:none;background:var(--surface); }
html[data-finance-style="deep"] .segmented-control button { border-radius:6px; }
html[data-finance-style="deep"] .segmented-control button[aria-pressed=true] { background:var(--surface-soft);color:var(--theme-accent);box-shadow:none; }
html[data-finance-style="deep"] .mobile-nav { border-radius:13px; }
html[data-finance-style="deep"] .mobile-nav button { border-radius:8px; }
@media(min-width:801px) {
  html[data-finance-style="deep"] #dashboard { padding-left:96px; }
  html[data-finance-style="deep"] .dashboard-body { padding-left:32px;padding-right:32px; }
  html[data-finance-style="deep"] .site-header { width:calc(100% - 64px);max-width:1316px; }
  html[data-finance-style="deep"] .mobile-nav { display:flex;position:fixed;left:17px;top:132px;bottom:auto;width:77px;padding:7px;gap:7px;flex-direction:column;z-index:19;box-shadow:none;border-color:var(--line); }
  html[data-finance-style="deep"] .mobile-nav button { width:61px;min-height:68px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;font-size:11px;color:var(--muted); }
  html[data-finance-style="deep"] .mobile-nav button[aria-current] { background:var(--surface-soft);color:var(--theme-accent); }
  html[data-finance-style="deep"] .dialog-open .mobile-nav { visibility:hidden;pointer-events:none; }
}

@media(min-width:1240px) {
  html[data-finance-style="ice"] .pots-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }
  html[data-finance-style="ice"] .pot-card { padding:22px 19px; }
  html[data-finance-style="ice"] .pot-card-total { font-size:26px; }
  html[data-finance-style="ice"] .pot-people { grid-template-columns:minmax(0,1fr);gap:10px; }
  html[data-finance-style="ice"] .pot-people>span { display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap; }
  html[data-finance-style="ice"] .pot-people b { margin:0;font-size:14px; }
  html[data-finance-style="ice"] .pot-balance { flex-wrap:wrap;font-size:11px; }
}
@media(max-width:1100px) {
  html[data-finance-style="ice"] .chart-grid,
  html[data-finance-style="deep"] .chart-grid { grid-template-columns:minmax(0,1fr); }
  html[data-finance-style="deep"] .pots-grid { grid-template-columns:minmax(0,1fr); }
  html[data-finance-style="paper"] .pot-card { column-gap:20px; }
}
@media(max-width:800px) {
  html[data-finance-style="obsidian"] .current-summary { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:15px; }
  html[data-finance-style="obsidian"] .current-summary .total-card,
  html[data-finance-style="obsidian"] .current-summary .balance-card { padding:25px 23px; }
  html[data-finance-style="obsidian"] #poolTotal { font-size:37px; }
  html[data-finance-style="obsidian"] .current-summary .people-totals { gap:17px; }
  html[data-finance-style="obsidian"] .current-summary .people-totals b { font-size:17px; }
  html[data-finance-style="ice"] .current-summary { grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px; }
  html[data-finance-style="ice"] .current-summary .people-totals>span:last-child { grid-column:2; }
  html[data-finance-style="ice"] .current-summary .balance-card { grid-column:1/-1;grid-row:5;margin-top:15px;padding:22px 25px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px; }
  html[data-finance-style="ice"] .current-summary .balance-card>.card-label { grid-column:1;grid-row:1;justify-content:flex-start; }
  html[data-finance-style="ice"] #paymentTotal { grid-column:1;grid-row:2;margin:12px 0 0;font-size:30px; }
  html[data-finance-style="ice"] #paymentDirection { grid-column:2;grid-row:1;align-self:center; }
  html[data-finance-style="ice"] #paymentChange { grid-column:2;grid-row:2;border:0;padding:0;align-self:center;margin:12px 0 0; }
  html[data-finance-style="paper"] .brand { font-size:18px; }
  html[data-finance-style="paper"] .current-summary { gap:25px; }
  html[data-finance-style="paper"] .current-summary .balance-card { padding-left:25px; }
  html[data-finance-style="paper"] .pot-card { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-finance-style="paper"] .pot-people { grid-column:1/-1;grid-row:3;padding:8px 0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-finance-style="paper"] .pot-balance { grid-row:4;padding-top:10px; }
  html[data-finance-style="deep"] .current-summary .total-card>.card-label { margin-left:18px;margin-right:18px; }
  html[data-finance-style="deep"] #poolTotal { margin-left:18px;margin-right:18px; }
  html[data-finance-style="deep"] #totalContext { margin-left:18px;margin-right:18px; }
  html[data-finance-style="deep"] .current-summary .people-totals>span { padding-left:18px;padding-right:18px; }
}
@media(max-width:600px) {
  html[data-finance-style] .page-heading h1 { font-size:30px; }
  html[data-finance-style] .page-heading { margin-bottom:24px; }
  html[data-finance-style] .dashboard-body { padding-left:16px;padding-right:16px; }
  html[data-finance-style] .sync-panel { padding:16px; }
  html[data-finance-style] .sync-panel p { font-size:12px; }
  html[data-finance-style] .pots-grid { grid-template-columns:minmax(0,1fr); }
  html[data-finance-style] .pot-card { padding:22px; }
  html[data-finance-style="obsidian"] .current-summary { grid-template-columns:minmax(0,1fr);gap:15px; }
  html[data-finance-style="obsidian"] #poolTotal { font-size:clamp(30px,8.1vw,39px);margin-top:21px; }
  html[data-finance-style="obsidian"] .current-summary .people-totals { gap:13px;margin-top:23px;padding-top:17px; }
  html[data-finance-style="obsidian"] .current-summary .people-totals b { font-size:clamp(13px,3.8vw,17px); }
  html[data-finance-style="obsidian"] .current-summary .balance-card { padding:23px; }
  html[data-finance-style="obsidian"] #paymentTotal { font-size:34px;margin:22px 0 8px; }
  html[data-finance-style="obsidian"] #paymentChange { margin-top:18px; }
  html[data-finance-style="ice"] .current-summary { gap:0 11px; }
  html[data-finance-style="ice"] #poolTotal { font-size:clamp(30px,8.5vw,41px); }
  html[data-finance-style="ice"] .current-summary .people-totals>span { padding:20px 14px;border-radius:21px;font-size:13px; }
  html[data-finance-style="ice"] .current-summary .people-totals b { font-size:clamp(14px,4.1vw,18px);margin:20px 0 10px; }
  html[data-finance-style="ice"] .current-summary .people-totals small { font-size:11px; }
  html[data-finance-style="ice"] .current-summary .balance-card { border-radius:22px;display:flex;padding:23px 20px; }
  html[data-finance-style="ice"] #paymentTotal { font-size:32px;margin:17px 0 8px; }
  html[data-finance-style="ice"] #paymentDirection { align-self:stretch; }
  html[data-finance-style="ice"] #paymentChange { align-self:stretch;margin-top:16px;padding-top:13px;border-top:1px solid var(--line); }
  html[data-finance-style="paper"] .site-header { height:70px;width:calc(100% - 32px);padding:0; }
  html[data-finance-style="paper"] .brand { font-size:16px;gap:8px; }
  html[data-finance-style="paper"] .brand-mark { width:30px;height:33px;font-size:13px; }
  html[data-finance-style="paper"] .brand small { font-size:9px;letter-spacing:.04em; }
  html[data-finance-style="paper"] .page-heading h1 { font-size:32px; }
  html[data-finance-style="paper"] .page-heading { padding-bottom:23px; }
  html[data-finance-style="paper"] .sync-panel { padding:5px 0 20px; }
  html[data-finance-style="paper"] .current-summary { grid-template-columns:minmax(0,1fr);gap:13px;padding-bottom:23px; }
  html[data-finance-style="paper"] .current-summary .total-card { padding-top:3px; }
  html[data-finance-style="paper"] #poolTotal { font-size:clamp(29px,8.1vw,39px); }
  html[data-finance-style="paper"] .current-summary .people-totals b { font-size:clamp(13px,3.8vw,17px); }
  html[data-finance-style="paper"] .current-summary .balance-card { border-left:0;border-top:1px solid var(--line);padding:22px 0 0; }
  html[data-finance-style="paper"] #paymentTotal { font-size:32px;margin:19px 0 8px; }
  html[data-finance-style="paper"] .pot-card { padding:22px 0;gap:10px 14px; }
  html[data-finance-style="paper"] .pot-card-head { gap:8px; }
  html[data-finance-style="paper"] .pot-card h3 { font-size:14px; }
  html[data-finance-style="paper"] .pot-card-total { font-size:clamp(17px,4.9vw,23px); }
  html[data-finance-style="paper"] .pot-people b { font-size:14px; }
  html[data-finance-style="paper"] .pot-people>span:last-child { text-align:right; }
  html[data-finance-style="paper"] .pot-balance { font-size:11px;justify-content:space-between; }
  html[data-finance-style="paper"] .panel { padding:22px 17px; }
  html[data-finance-style="deep"] .current-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-finance-style="deep"] .current-summary .total-card>.card-label { grid-column:1/-1; }
  html[data-finance-style="deep"] #poolTotal { grid-column:1/-1;font-size:clamp(28px,8.2vw,38px);margin-top:13px; }
  html[data-finance-style="deep"] #totalContext { grid-column:1/-1;margin-bottom:20px; }
  html[data-finance-style="deep"] .current-summary .people-totals>span { grid-column:1;grid-row:4;margin:0;padding:19px 17px;border:0;border-top:1px solid var(--line); }
  html[data-finance-style="deep"] .current-summary .people-totals>span:last-child { grid-column:2;border-left:1px solid var(--line); }
  html[data-finance-style="deep"] .current-summary .people-totals b { font-size:clamp(14px,4.1vw,18px);margin:12px 0 7px; }
  html[data-finance-style="deep"] .current-summary .people-totals small { font-size:11px; }
  html[data-finance-style="deep"] .current-summary .balance-card { grid-row:5;display:flex;padding:22px 18px;gap:0; }
  html[data-finance-style="deep"] #paymentTotal { font-size:31px;margin:17px 0 8px; }
  html[data-finance-style="deep"] #paymentDirection { align-self:stretch; }
  html[data-finance-style="deep"] #paymentChange { margin-top:14px;align-self:stretch;font-size:12px; }
  html[data-finance-style="deep"] .pot-card { padding:21px 18px;column-gap:14px; }
  html[data-finance-style="deep"] .pot-card-total { font-size:clamp(18px,5.4vw,25px); }
  html[data-finance-style="deep"] .pot-people { padding-left:13px; }
  html[data-finance-style="deep"] .pot-people b { font-size:clamp(12px,3.5vw,15px); }
}

/* Keep long signed amounts legible without introducing a horizontal scroller. */
html[data-finance-style] .current-summary,
html[data-finance-style] .pot-card,
html[data-finance-style] .current-summary .balance-card { min-width:0; }
html[data-finance-style] .current-summary .card-label,
html[data-finance-style] .current-summary .card-context,
html[data-finance-style] .current-summary .card-footnote,
html[data-finance-style] .current-summary small { overflow-wrap:anywhere; }
@media(prefers-reduced-motion:reduce) {
  html[data-finance-style] .pot-card:hover { transform:none; }
}
