/* Theme-specific budget language, shared estimator structure, and two new visual worlds. */
:root{--alloc-0:#b13d55;--alloc-1:#78aaa0;--alloc-2:#d4a566;--alloc-3:#8e85b4;--alloc-4:#77a4c3}
.estimate-lead{display:grid;gap:20px;padding:23px 20px;background:var(--cyan);border-radius:var(--surface-radius);color:var(--ink)}
.estimate-lead>p:first-child{font-size:27px;line-height:1.4;font-weight:700;letter-spacing:-.05em;margin:0}
.estimate-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.estimate-totals>div{display:grid;gap:8px;min-width:0}.estimate-totals>div+div{border-left:1px solid var(--line);padding-left:12px}
.estimate-totals small{font-size:11px;color:var(--muted)}.estimate-totals strong{font-size:23px;line-height:1.2;letter-spacing:-.06em;overflow-wrap:anywhere}
.estimate-caption{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.estimate-notice{padding:10px 0;color:var(--muted);font-size:11px;line-height:1.6;border-bottom:1px solid var(--line)}
.income-source-list{display:grid;gap:14px}.income-source{padding:20px 18px;background:var(--surface-soft);border-radius:var(--surface-radius);border:1px solid var(--line);min-width:0}
.source-kind{font-size:10px;font-weight:700;color:var(--accent-main)}.source-note{font-size:10px;color:var(--muted);text-align:right;max-width:57%}.source-heading{margin:14px 0 2px;align-items:baseline!important}.source-heading h2{font-size:19px;margin:0}.source-heading strong{font-size:21px;overflow-wrap:anywhere}.source-heading small{font:11px sans-serif;color:var(--muted)}.source-year{font-size:11px;color:var(--muted);margin:0 0 10px}.income-source>.text-button{padding:4px 0;font-size:11px}.source-allocation{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.source-allocation h3{font-size:12px;margin:0}.source-allocation .text-button{font-size:11px;padding:2px 0}.allocation-strip{height:13px;display:flex;overflow:hidden;border-radius:99px;margin:12px 0 10px;gap:2px;background:var(--line)}.allocation-strip span{min-width:0}.allocation-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;font-size:10px}.allocation-breakdown span{display:flex;align-items:center;gap:4px;min-width:0}.allocation-breakdown i{width:6px;height:10px;flex:0 0 auto}.allocation-breakdown b{margin-left:auto;white-space:nowrap;font-weight:650}.estimate-compact{display:flex;align-items:center;gap:6px;padding:13px 0;border-bottom:1px solid var(--line)}.estimate-compact>div{flex:1;min-width:0;display:grid;gap:5px}.estimate-compact strong{font-size:13px}.estimate-compact small{font-size:10px;color:var(--muted);line-height:1.5}.estimate-compact button:not(.toggle){font-size:11px;color:var(--accent-main);padding:8px}.estimate-compact .toggle{flex:0 0 auto}
/* The original themes now have their own budget visual rhythm. */
[data-theme=receipt] .budget-row{padding:18px 0;position:relative}.budget-row .budget-track{height:5px;border-radius:0;background:#f0e5e8}.budget-row .budget-track span{background:#b13d55;border-radius:0}.budget-row .budget-track.over span{background:#bd6e4d}
[data-theme=sea]{--alloc-0:#2458c6;--alloc-1:#36a99a;--alloc-2:#d69d54;--alloc-3:#8b9cd9;--alloc-4:#67a7c7}
[data-theme=sea] .budget-row{background:#fff;border:1px solid #d8e6ed;border-radius:12px;padding:16px;margin:0 0 9px;box-shadow:0 3px 0 #dce6ed}.budget-row .budget-track{height:9px;background:#e6edf4;border-radius:9px}.budget-row .budget-track span{background:#2458c6;border-radius:9px}.budget-row .budget-track.over span{background:#dc8360}
[data-theme=journal]{--alloc-0:#345c47;--alloc-1:#98a56b;--alloc-2:#bd9b68;--alloc-3:#8f92a2;--alloc-4:#799da2}
[data-theme=journal] .budget-row{padding:19px 0 19px 14px;border-bottom:1px dashed #bfc8bb;border-left:2px solid #779579}.budget-row:nth-child(even){border-left-color:#b9ad85}.budget-row .budget-track{height:3px;background:#d9dfd2;border-radius:0}.budget-row .budget-track span{background:#345c47;border-radius:0}.budget-row strong{font-family:Georgia,serif;font-weight:500}
/* World 4: Studio Grid. Financial blocks, print registration, squared charts. */
:root[data-theme=grid]{--text-main:#1d2b3a;--text-secondary:#5d6672;--surface-main:#fffefa;--surface-soft:#f0f0f2;--accent-main:#2f51d5;--ink:#1d2b3a;--muted:#5d6672;--paper:#f5f4ef;--cyan:#e5ebff;--green:#daf2e9;--lime:#ff7944;--yellow:#fff0c4;--line:#cbd0dc;--teal:#2f51d5;--surface-radius:3px;--alloc-0:#2f51d5;--alloc-1:#ff7944;--alloc-2:#a398f2;--alloc-3:#32a78b;--alloc-4:#f4bc49;background:#e2e6f2}
[data-theme=grid] .app-shell,[data-theme=grid] dialog{background:#fffefa}
[data-theme=grid] .brand-header{border-bottom:3px solid #1d2b3a;padding-bottom:14px}[data-theme=grid] .brand-header>strong{font-family:'Arial Black',Arial,sans-serif;font-weight:900;letter-spacing:-.07em}
[data-theme=grid] .header h1,[data-theme=grid] .receipt-intro h1,[data-theme=grid] .section h2{font-family:'Arial Black',Arial,sans-serif;font-weight:850;letter-spacing:-.055em}
[data-theme=grid] .receipt-intro{background:#2f51d5;color:#fff;border-radius:0;padding:24px 20px;position:relative;overflow:hidden}
[data-theme=grid] .receipt-intro:after{content:'';position:absolute;right:-26px;top:-24px;width:98px;height:98px;background:#ff7944;transform:rotate(28deg);pointer-events:none}
[data-theme=grid] .receipt-intro h1,[data-theme=grid] .receipt-intro small,[data-theme=grid] .receipt-intro .return-rate{color:#fff}
[data-theme=grid] .hours-seal{background:#ffcf65;color:#1d2b3a;border-radius:0;transform:rotate(-6deg);border:2px solid #1d2b3a}
[data-theme=grid] .receipt-ledger{border-top:3px solid #1d2b3a;border-bottom:3px solid #1d2b3a}
[data-theme=grid] .receipt-assets{background:#f3f1ff;border-left:5px solid #a398f2;border-radius:0}
[data-theme=grid] .cash-comparison{border:2px solid #1d2b3a;padding:18px;border-radius:0;background:#fff}
[data-theme=grid] .kept{background:#2f51d5}[data-theme=grid] .spent{background:#ff7944}
[data-theme=grid] .page>.segments,[data-theme=grid] .segments{background:#edf0f8;border-radius:0;padding:4px}[data-theme=grid] .segments button{border-radius:0}[data-theme=grid] .segments .active{background:#2f51d5;color:#fff;box-shadow:none}
[data-theme=grid] .page-home>.segments button.active{box-shadow:inset 0 -3px #ff7944}
[data-theme=grid] .primary,[data-theme=grid] .toggle.on{background:#2f51d5;border-radius:2px}
[data-theme=grid] .secondary,[data-theme=grid] .pill,[data-theme=grid] .month-selector,[data-theme=grid] .month-selector button{border-radius:2px}
[data-theme=grid] .bottom-nav{background:#1d2b3a;box-shadow:6px 8px 0 #ff7944;border:2px solid #1d2b3a;border-radius:3px}
[data-theme=grid] .bottom-nav button,[data-theme=grid] .bottom-nav .flow-icon{color:#d9e1ff}
[data-theme=grid] .bottom-nav button.active{background:#ffcf65;color:#1d2b3a;border-radius:0}[data-theme=grid] .bottom-nav button.active .flow-icon{color:#1d2b3a}[data-theme=grid] .bottom-nav button.active:after{display:none}
[data-theme=grid] .flow-icon .icon-tint{fill:#ff7944;opacity:1}[data-theme=grid] .bottom-nav .icon-tint{fill:#87a0ff}
[data-theme=grid] .card.hero,[data-theme=grid] .work-summary,[data-theme=grid] .chart-readout,[data-theme=grid] .page-plans.view-goals>button.card{background:#e5ebff;border-radius:0}
[data-theme=grid] .unified-tools .tool-card{border:2px solid #cbd0dc!important;border-radius:0!important;background:#fffefa!important;box-shadow:3px 3px 0 #cbd0dc}[data-theme=grid] .unified-tools .tool-icon{border-radius:0;background:#e5ebff}
[data-theme=grid] .budget-row{padding:15px;border:1.5px solid #1d2b3a;background:#fffefa;margin:0 0 10px;box-shadow:4px 4px 0 #dfe5f8}[data-theme=grid] .budget-row:nth-child(3n+2){box-shadow:4px 4px 0 #ffe1d2}[data-theme=grid] .budget-row .budget-track{height:12px;background:repeating-linear-gradient(90deg,#e1e7f3 0 12px,#fffefa 12px 14px);border-radius:0}[data-theme=grid] .budget-row .budget-track span{background:#2f51d5;border-radius:0}[data-theme=grid] .budget-row .budget-track.over span{background:#ff7944}
[data-theme=grid] .stack-positive,[data-theme=grid] .stack-negative,[data-theme=grid] .stack-positive span,[data-theme=grid] .stack-negative span{border-radius:0!important}
[data-theme=grid] .chart-legend i{border-radius:0;width:11px;height:11px}[data-theme=grid] .chart [fill="#f0cbd4"]{fill:#dae4ff;opacity:.35}[data-theme=grid] .chart [stroke="#b13d55"]{stroke:#2f51d5}[data-theme=grid] .chart .point-dot{display:none}[data-theme=grid] .chart .point-square{display:block;fill:#ff7944;stroke:#1d2b3a;stroke-width:1}
[data-theme=grid] .ring circle:last-child{stroke:#2f51d5;stroke-linecap:butt}[data-theme=grid] .capsule-track,[data-theme=grid] .capsule-fill{border-radius:2px}
[data-theme=grid] .progress,[data-theme=grid] .progress>span{border-radius:0}[data-theme=grid] .progress>span,[data-theme=grid] .deadline-progress .actual{background:#2f51d5}
[data-theme=grid] .income-source{background:#fffefa;border:2px solid #1d2b3a;border-radius:0;box-shadow:5px 5px 0 #dce3fa}[data-theme=grid] .estimate-lead{background:#2f51d5;color:#fff;border-radius:0}[data-theme=grid] .estimate-lead .estimate-caption,[data-theme=grid] .estimate-lead small{color:#dce4ff}[data-theme=grid] .estimate-totals{border-top-color:#88a1f0}[data-theme=grid] .allocation-strip{border-radius:0;height:18px}
[data-theme=grid] .field input,[data-theme=grid] .field select,[data-theme=grid] .field textarea{border-radius:2px}[data-theme=grid] .text-button,[data-theme=grid] .desktop-note strong{color:#2f51d5}[data-theme=grid] button:focus-visible{outline-color:#ff7944}
/* World 5: Orbit. Soft radial surfaces, large arcs, and round charts. */
:root[data-theme=orbit]{--text-main:#423251;--text-secondary:#74677c;--surface-main:#fffcff;--surface-soft:#f1eaf7;--accent-main:#62407d;--ink:#423251;--muted:#74677c;--paper:#f5f0f8;--cyan:#eee5f6;--green:#dbf3e9;--lime:#e9867f;--yellow:#f9edc6;--line:#e4d8e8;--teal:#62407d;--surface-radius:24px;--alloc-0:#62407d;--alloc-1:#e9867f;--alloc-2:#78bfb1;--alloc-3:#e0b970;--alloc-4:#9c8cce;background:#e9e3f0}
[data-theme=orbit] .app-shell,[data-theme=orbit] dialog{background:#fffcff}
[data-theme=orbit] .brand-header>strong,[data-theme=orbit] .header h1,[data-theme=orbit] .section h2,[data-theme=orbit] .receipt-intro h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.035em}
[data-theme=orbit] .brand-header{padding-bottom:18px;border-bottom:1px solid #d7c7df}
[data-theme=orbit] .receipt-intro{background:#eee5f6;border-radius:32px 32px 80px 32px;padding:26px 24px;position:relative}
[data-theme=orbit] .receipt-intro h1{font-size:34px;line-height:1.18}
[data-theme=orbit] .receipt-intro .return-rate,[data-theme=orbit] .big{font-family:Georgia,serif;font-weight:400}
[data-theme=orbit] .hours-seal{background:#f6cfcb;color:#62407d;border:5px solid #fffcff;box-shadow:0 0 0 2px #e9867f}
[data-theme=orbit] .receipt-ledger{border-top:0;border-bottom:0;background:#fff;display:grid;gap:0;padding:4px 20px;border-radius:24px;box-shadow:0 5px 24px #62407d10}
[data-theme=orbit] .receipt-assets{background:#dcf1e9;border-radius:60px;padding:18px 22px}
[data-theme=orbit] .cash-comparison{background:#fffcff;border-radius:28px;padding:20px;box-shadow:0 5px 24px #62407d10}
[data-theme=orbit] .comparison-plot>div{border-radius:99px}[data-theme=orbit] .kept{background:#78bfb1;border-radius:99px}[data-theme=orbit] .spent{background:#e9867f;border-radius:99px}
[data-theme=orbit] .page>.segments,[data-theme=orbit] .segments{background:#f1eaf7;border-radius:99px;padding:5px}[data-theme=orbit] .segments button{border-radius:99px}[data-theme=orbit] .segments .active{background:#62407d;color:white;box-shadow:none}[data-theme=orbit] .page-home>.segments button.active{box-shadow:inset 0 -3px #e9867f}
[data-theme=orbit] .primary,[data-theme=orbit] .toggle.on{background:#62407d;border-radius:99px}
[data-theme=orbit] .bottom-nav{background:#fff8ff;box-shadow:0 8px 32px #60457029;border:1px solid #eadbeb;border-radius:99px}
[data-theme=orbit] .bottom-nav button.active{background:#eee3f4;border-radius:99px;color:#62407d}[data-theme=orbit] .bottom-nav button.active .flow-icon,[data-theme=orbit] .flow-icon{color:#62407d}[data-theme=orbit] .bottom-nav button.active:after{display:none}[data-theme=orbit] .flow-icon .icon-tint{fill:#eac9e9;opacity:1}
[data-theme=orbit] .card.hero,[data-theme=orbit] .work-summary,[data-theme=orbit] .chart-readout,[data-theme=orbit] .page-plans.view-goals>button.card{background:#f1eaf7;border-radius:26px}
[data-theme=orbit] .unified-tools .tool-card{border-radius:26px!important;background:#f2eaf6!important;min-height:176px!important}[data-theme=orbit] .unified-tools .tool-icon{background:#fff;border-radius:50%;width:48px;height:48px}
[data-theme=orbit] .budget-row{background:#faf5fc;border-radius:22px;padding:16px;margin:0 0 10px;border:1px solid #eadfeb}
[data-theme=orbit] .budget-row:nth-child(3n+2){background:#f4fbf7}[data-theme=orbit] .budget-row:nth-child(3n){background:#fff8f5}
[data-theme=orbit] .budget-row .budget-track{height:12px;background:#e8dced;border-radius:99px}[data-theme=orbit] .budget-row .budget-track span{background:#62407d;border-radius:99px}[data-theme=orbit] .budget-row:nth-child(3n+2) .budget-track span{background:#78bfb1}[data-theme=orbit] .budget-row:nth-child(3n) .budget-track span{background:#e9867f}
[data-theme=orbit] .stack-positive,[data-theme=orbit] .stack-negative{border-radius:99px!important}[data-theme=orbit] .stack-positive span,[data-theme=orbit] .stack-negative span{border-radius:99px!important;border-color:#fffcff!important}
[data-theme=orbit] .chart-legend i{width:12px;height:12px;border-radius:50%}[data-theme=orbit] .chart [fill="#f0cbd4"]{fill:#e9dbf2}[data-theme=orbit] .chart [stroke="#b13d55"]{stroke:#62407d}[data-theme=orbit] .chart .point-dot{fill:#e9867f;stroke:#fff;stroke-width:2}[data-theme=orbit] .chart .point-square{display:none}
[data-theme=orbit] .ring circle:last-child{stroke:#62407d;stroke-width:13}[data-theme=orbit] .capsule-track,[data-theme=orbit] .capsule-fill{border-radius:99px}
[data-theme=orbit] .progress>span,[data-theme=orbit] .deadline-progress .actual{background:#62407d}
[data-theme=orbit] .income-source{background:#faf5fc;border:1px solid #e4d8e8;border-radius:26px}[data-theme=orbit] .estimate-lead{background:#eee5f6;border-radius:32px 32px 80px 32px}[data-theme=orbit] .allocation-strip{height:18px}
[data-theme=orbit] .field input,[data-theme=orbit] .field select,[data-theme=orbit] .field textarea{border-radius:15px}[data-theme=orbit] .text-button,[data-theme=orbit] .desktop-note strong{color:#62407d}[data-theme=orbit] button:focus-visible{outline-color:#e9867f}
.theme-swatch.grid{background:#e5ebff;border-left-color:#2f51d5;border-radius:0}.theme-swatch.orbit{background:#eee5f6;border-left-color:#62407d;border-radius:99px}
.point-square{display:none}
@media(max-width:390px){.estimate-totals strong{font-size:19px}.source-heading strong{font-size:18px}.allocation-breakdown{grid-template-columns:1fr}.source-note{max-width:48%}[data-theme=orbit] .receipt-intro h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){[data-theme=grid] *,[data-theme=orbit] *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Keep selected tabs readable across the two high-contrast palettes. */
[data-theme=grid] .page .segments button.active,[data-theme=grid] .page-home>.segments button.active{color:#fff!important}
[data-theme=orbit] .page .segments button.active,[data-theme=orbit] .page-home>.segments button.active{color:#fff!important}
