.budget-planner-page{--planner-blue:var(--deep-blue);--planner-ink:var(--ink);--planner-paper:var(--paper2,#faf7ef);--planner-red:var(--coral);--planner-green:var(--acid)}
.budget-planner-hero h1{max-width:1050px}.budget-planner-hero h1 em{display:block}.budget-stage-panel{padding:38px!important;display:flex;flex-direction:column;justify-content:space-between;background:var(--planner-ink);color:#fff}.budget-stage-panel>span{color:#aaa9a1;font:700 11px monospace;text-transform:uppercase;letter-spacing:.1em}.budget-stage-panel>div{display:flex;align-items:end;justify-content:space-between;gap:18px}.budget-stage-panel>div b{max-width:180px;color:#fff;font:500 30px/1 Georgia}.budget-stage-panel>div strong{color:var(--planner-green);font:500 clamp(82px,9vw,128px)/.8 Georgia}.budget-stage-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:#ffffff2b;border:1px solid #ffffff2b}.budget-stage-panel dl div{padding:14px;background:var(--ink2)}.budget-stage-panel dt{color:#aaa9a1;font:700 10px monospace;text-transform:uppercase}.budget-stage-panel dd{margin:6px 0 0;font:700 13px monospace}.budget-stage-panel small{max-width:430px;padding-left:13px;border-left:4px solid var(--planner-red);color:#d8d5cc;font-size:12px;line-height:1.55}
.budget-planner-rail{scroll-margin-top:0}.budget-section{padding:88px 5vw 96px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.budget-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:38px}.budget-section-heading>div>span{color:var(--planner-blue);font:700 11px monospace;text-transform:uppercase;letter-spacing:.1em}.budget-section-heading h2{max-width:900px;margin:16px 0 0;font:500 clamp(44px,5.4vw,78px)/.9 Georgia;letter-spacing:-.055em}.budget-section-heading>p{max-width:620px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.budget-snapshot{background:#e7e1d6}.budget-stage-guide{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin-bottom:18px;padding:16px 20px;border:1px solid var(--ink);background:var(--planner-paper)}.budget-stage-guide>span:not([aria-hidden]){display:grid;gap:5px}.budget-stage-guide>b{font-weight:700}.budget-stage-guide b{font:700 12px monospace;text-transform:uppercase}.budget-stage-guide small{color:var(--muted);font-size:12px}.budget-stage-guide .proposal{padding-left:12px;border-left:5px solid var(--planner-red)}.budget-stage-guide .future{padding-left:12px;border-left:5px solid var(--line)}.budget-stage-guide>span[aria-hidden]{font:500 28px Georgia}
.budget-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--planner-ink);background:var(--planner-ink)}.budget-kpis article{min-height:175px;padding:25px;display:flex;flex-direction:column;background:var(--planner-paper)}.budget-kpis span{color:var(--muted);font:700 11px monospace;text-transform:uppercase;letter-spacing:.08em}.budget-kpis strong{margin:auto 0 9px;font:500 clamp(34px,4vw,58px)/1 Georgia;letter-spacing:-.04em}.budget-kpis small{color:var(--muted);font:700 11px monospace}.budget-kpis .deficit{background:var(--planner-ink);color:#fff}.budget-kpis .deficit span,.budget-kpis .deficit small{color:#aaa9a1}.budget-kpis .deficit strong{color:var(--planner-red)}
.budget-map-section{padding-inline:0;background:var(--planner-ink);color:#fff}.budget-map-section>.budget-section-heading,.budget-map-section>.budget-selection{margin-inline:5vw}.budget-map-section .budget-section-heading>div>span{color:var(--planner-green)}.budget-map-section .budget-section-heading>p{color:#aaa9a1}.budget-map-shell{position:relative;border-block:1px solid #ffffff24;background:#202421}.budget-map-toolbar{min-height:62px;padding:12px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff24}.budget-map-toolbar>div:first-child{display:grid;gap:4px}.budget-map-toolbar>div:first-child b{font:700 12px monospace;text-transform:uppercase}.budget-map-toolbar>div:first-child span{color:#aaa9a1;font-size:11px}.budget-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.budget-map-legend span{display:flex;align-items:center;gap:6px;color:#c9c7bf;font:700 10px monospace;text-transform:uppercase}.budget-map-legend i{width:20px;height:8px}.budget-map-legend .lower{background:var(--planner-blue)}.budget-map-legend .flat{background:#45494f}.budget-map-legend .higher{background:var(--planner-red)}.budget-map-viewport{width:100%;overflow:hidden}.budget-treemap{position:relative;width:100%;height:720px}.budget-treemap-group{position:absolute;overflow:hidden;border:1px solid #ffffff24;background:#171918}.budget-treemap-group-title{position:absolute;z-index:2;top:0;left:0;right:0;height:28px;padding:0 7px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#f7f4ed;font:700 10px monospace;text-transform:uppercase;pointer-events:none}.budget-treemap-group-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-treemap-group-title b{color:#9d9d95}.budget-treemap-tile{position:absolute;margin:0;padding:7px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;border:1px solid #171918;color:#fff;text-align:left;cursor:pointer}.budget-treemap-tile:hover,.budget-treemap-tile:focus-visible{z-index:3;outline:3px solid #faf7ef;outline-offset:-3px}.budget-treemap-tile.selected{z-index:3;outline:4px solid var(--planner-green);outline-offset:-4px}.budget-treemap-tile.edited:after{content:"";position:absolute;right:6px;top:6px;width:8px;height:8px;background:var(--planner-green)}.budget-treemap-tile b{max-width:100%;overflow:hidden;color:#fff;font:700 10px monospace;text-overflow:ellipsis;white-space:nowrap}.budget-treemap-tile span{max-width:100%;margin-top:4px;overflow:hidden;font:700 13px/1.1 Arial;text-overflow:ellipsis}.budget-treemap-tile strong{margin-top:auto;color:#fff;font:700 12px monospace}.budget-treemap-tile small{margin-top:3px;color:#ece9df;font:700 10px monospace}.budget-treemap-tile.compact{padding:5px}.budget-treemap-tile.compact span{font-size:11px}.budget-treemap-tile.compact strong,.budget-treemap-tile.compact small{display:none}.budget-treemap-tile.tiny span,.budget-treemap-tile.tiny strong,.budget-treemap-tile.tiny small{display:none}.budget-map-tooltip{position:absolute;z-index:10;width:290px;padding:15px;border:1px solid #ffffff35;background:#0f1110;color:#fff;box-shadow:7px 7px 0 #0000004a;pointer-events:none}.budget-map-tooltip header{display:grid;gap:5px;padding-bottom:11px;border-bottom:1px solid #ffffff2b}.budget-map-tooltip header b{color:var(--planner-green);font:700 10px monospace}.budget-map-tooltip header span{font:500 18px/1.1 Georgia}.budget-map-tooltip dl{margin:11px 0 0}.budget-map-tooltip dl div{display:flex;justify-content:space-between;gap:14px;margin-top:6px}.budget-map-tooltip dt{color:#aaa9a1;font-size:11px}.budget-map-tooltip dd{margin:0;font:700 11px monospace}.budget-map-tooltip>small{display:block;margin-top:12px;color:#d5d2c8;font:700 10px monospace;text-transform:uppercase}
.budget-selection{margin-top:20px;display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(420px,1fr) auto;gap:1px;border:1px solid #ffffff2b;background:#ffffff2b}.budget-selection>div,.budget-selection>dl,.budget-selection>button{min-width:0;background:var(--ink2);color:#fff}.budget-selection>div{padding:18px 20px;display:grid;gap:7px}.budget-selection>div span{overflow:hidden;color:#aaa9a1;font:700 10px monospace;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.budget-selection>div strong{overflow:hidden;font:500 20px Georgia;text-overflow:ellipsis;white-space:nowrap}.budget-selection dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr)}.budget-selection dl div{padding:16px;border-left:1px solid #ffffff24}.budget-selection dt{color:#aaa9a1;font:700 9px monospace;text-transform:uppercase}.budget-selection dd{margin:7px 0 0;font:700 12px monospace;white-space:nowrap}.budget-selection>button{padding:18px 22px;border:0;border-left:1px solid #ffffff24;color:var(--planner-green);font:700 11px monospace;text-transform:uppercase;cursor:pointer}.budget-selection>button:hover{background:var(--planner-green);color:var(--planner-ink)}
.budget-workbench-section{background:#f3efe6}.budget-workbench{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(520px,1.22fr);gap:16px}.budget-editor,.budget-ledger{min-width:0;border:1px solid var(--ink)}.budget-editor{padding:26px;background:var(--planner-paper)}.budget-editor>header{display:flex;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.budget-editor>header span{color:var(--planner-blue);font:700 12px monospace}.budget-editor>header small{overflow:hidden;color:var(--muted);font:700 10px monospace;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.budget-editor h3{min-height:74px;margin:28px 0 24px;font:500 clamp(29px,3vw,43px)/1 Georgia;letter-spacing:-.035em}.budget-editor-comparison{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin:0 0 28px}.budget-editor-comparison>div{display:grid;gap:4px}.budget-editor-comparison>div:last-child{text-align:right}.budget-editor-comparison span{color:var(--muted);font:700 9px monospace;text-transform:uppercase}.budget-editor-comparison strong{font:700 12px monospace}.budget-editor-comparison>i{height:8px;background:#ded9cf}.budget-editor-comparison>i span{display:block;height:100%;background:var(--planner-blue)}.budget-adjustment-label,.budget-revenue-control>label{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}.budget-adjustment-label>span,.budget-revenue-control>label>span{font:700 11px monospace;text-transform:uppercase}.budget-adjustment-label output,.budget-revenue-control output{color:var(--planner-red);font:700 13px monospace}.budget-range{width:100%;height:34px;margin:0;accent-color:var(--planner-red);cursor:pointer}.budget-number-field{margin-top:13px}.budget-number-field>label{display:block;margin-bottom:7px;color:var(--muted);font:700 10px monospace;text-transform:uppercase}.budget-number-field>div{display:grid;grid-template-columns:1fr auto;border:1px solid var(--line);background:#fff}.budget-number-field input{min-width:0;padding:12px;border:0;background:transparent;color:var(--ink);font:700 15px monospace}.budget-number-field>div span{padding:12px;border-left:1px solid var(--line);color:var(--muted);font:700 11px monospace}.budget-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.budget-editor-actions button,.budget-change-log button,.budget-share-actions button{padding:11px 13px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:700 10px monospace;text-transform:uppercase;cursor:pointer}.budget-editor-actions button:hover,.budget-share-actions button:hover{background:var(--ink);color:#fff}.budget-editor-result{margin:22px -26px -26px;padding:17px 26px;border-top:1px solid var(--line);background:#e9e4da;color:var(--muted);font:12px/1.55 monospace}
.budget-ledger{background:var(--planner-ink);color:#fff}.budget-ledger>header{padding:23px 25px;border-bottom:1px solid #ffffff2b}.budget-ledger>header span{color:var(--planner-green);font:700 10px monospace;text-transform:uppercase}.budget-ledger>header h3{margin:8px 0 0;font:500 31px Georgia}.budget-ledger-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff24}.budget-ledger-metrics>div{min-width:0;padding:18px;background:var(--ink2)}.budget-ledger-metrics span,.budget-ledger-metrics small{display:block;color:#aaa9a1;font:700 9px monospace;text-transform:uppercase}.budget-ledger-metrics strong{display:block;margin:12px 0 7px;font:500 clamp(24px,3vw,39px)/1 Georgia;white-space:nowrap}.budget-ledger-metrics .deficit strong{color:var(--planner-red)}.budget-revenue-control{padding:20px 25px;border-bottom:1px solid #ffffff2b}.budget-revenue-control .budget-number-field>label{color:#aaa9a1}.budget-revenue-control .budget-number-field>div{border-color:#ffffff35;background:#ffffff0a}.budget-revenue-control .budget-number-field input{color:#fff}.budget-revenue-control .budget-number-field>div span{border-left-color:#ffffff35;color:#aaa9a1}.budget-waterfall{padding:18px 18px 6px}.budget-waterfall svg{display:block;width:100%;height:auto}.budget-waterfall .grid{stroke:#ffffff20;stroke-width:1}.budget-waterfall .axis-label{fill:#aaa9a1;font:10px monospace}.budget-waterfall .bar.total{fill:var(--planner-red)}.budget-waterfall .bar.improve{fill:var(--planner-green)}.budget-waterfall .bar.worsen{fill:var(--planner-red)}.budget-waterfall .connector{stroke:#ffffff68;stroke-width:1;stroke-dasharray:3 3}.budget-waterfall .value{fill:#fff;font:700 10px monospace}.budget-waterfall .category{fill:#c7c4bc;font:10px monospace}.budget-identity{margin:0;padding:15px 25px;border-top:1px solid #ffffff2b;color:#c7c4bc;font:11px/1.5 monospace}
.budget-impact-section{background:#e7e1d6}.budget-impact-grid{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(330px,.8fr);gap:16px}.budget-group-comparison,.budget-change-log{border:1px solid var(--ink);background:var(--planner-paper)}.budget-group-comparison{padding:22px}.budget-group-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(180px,1.6fr) 108px;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.budget-group-row:first-child{border-top:0}.budget-group-row>div:first-child{min-width:0}.budget-group-row>div:first-child b,.budget-group-row>div:first-child small{display:block}.budget-group-row>div:first-child b{overflow:hidden;font:700 12px/1.3 Arial;text-overflow:ellipsis;white-space:nowrap}.budget-group-row>div:first-child small{margin-top:4px;color:var(--muted);font:10px monospace}.budget-group-track{position:relative;height:22px;background:#ddd8ce}.budget-group-track .scenario{display:block;height:100%;background:var(--planner-blue)}.budget-group-track .official{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--ink)}.budget-group-row>strong{text-align:right;font:700 11px monospace}.budget-group-row>strong small{display:block;margin-top:4px;color:var(--muted);font:9px monospace}.budget-group-row.changed .budget-group-track .scenario{background:var(--planner-red)}
.budget-change-log{display:flex;flex-direction:column}.budget-change-log>header{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.budget-change-log>header>div{display:flex;align-items:center;gap:9px}.budget-change-log>header span{font:700 10px monospace;text-transform:uppercase}.budget-change-log>header strong{width:26px;height:26px;display:grid;place-items:center;background:var(--ink);color:var(--planner-green);font:700 10px monospace}.budget-change-log>header button{border-color:var(--line)}.budget-change-log>header button:hover{border-color:var(--ink);background:var(--ink);color:#fff}.budget-change-log>div[id]{min-height:265px}.budget-change-empty{margin:0;padding:24px;color:var(--muted);font-size:12px;line-height:1.55}.budget-change-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line)}.budget-change-row>div{min-width:0}.budget-change-row b,.budget-change-row small{display:block}.budget-change-row b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.budget-change-row small{margin-top:4px;color:var(--muted);font:9px monospace}.budget-change-row>strong{font:700 11px monospace;white-space:nowrap}.budget-change-row>button{padding:7px 9px;border-color:var(--line)}.budget-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding:16px 17px}.budget-share-actions button{width:100%}.budget-change-log #share-status{min-height:20px;margin:0;padding:0 17px 14px;color:var(--muted);font:10px monospace}.budget-table-details{margin-top:18px;border:1px solid var(--ink);background:var(--planner-paper)}.budget-table-details summary{padding:15px 18px;cursor:pointer;font:700 11px monospace;text-transform:uppercase}.budget-table-wrap{overflow:auto;border-top:1px solid var(--line)}.budget-table-wrap table{width:100%;min-width:720px;border-collapse:collapse}.budget-table-wrap th,.budget-table-wrap td{padding:11px 14px;border-top:1px solid var(--line);text-align:right;font-size:12px}.budget-table-wrap thead th{border-top:0;color:var(--muted);font:700 10px monospace;text-transform:uppercase}.budget-table-wrap th:first-child,.budget-table-wrap td:first-child{text-align:left}.budget-table-wrap td:not(:first-child){font-family:monospace}.budget-table-wrap tr.changed{background:#f3e3df}.budget-table-wrap td button{padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.budget-method{background:var(--planner-ink);color:#fff}.budget-method .budget-section-heading>div>span{color:var(--planner-green)}.budget-method .budget-section-heading>p{color:#aaa9a1}.budget-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid #ffffff2b;background:#ffffff2b}.budget-method-grid article{min-height:245px;padding:24px;display:flex;flex-direction:column;background:var(--ink2)}.budget-method-grid article>b{color:var(--planner-green);font:700 11px monospace}.budget-method-grid h3{margin:auto 0 13px;font:500 27px Georgia}.budget-method-grid p{margin:0;color:#aaa9a1;font-size:12px;line-height:1.6}.budget-source-line{margin:18px 0 0;padding:17px 19px;border-left:5px solid var(--planner-green);background:#ffffff0b;color:#c5c3ba;font:11px/1.6 monospace}.budget-source-line a{color:#fff}.budget-source-line code{color:var(--planner-green)}
.budget-loading,.budget-error{min-height:460px;display:grid;place-items:center;color:#aaa9a1;font:700 12px monospace}.budget-error{color:#f2a0a0}
#snapshot .budget-section-heading>div>span{color:#315f89}#snapshot .budget-stage-guide b,#snapshot .budget-stage-guide small,#snapshot .budget-kpis article:not(.deficit) span,#snapshot .budget-kpis article:not(.deficit) small{color:#5d615d}.budget-treemap-tile small{color:#fff}#planner .budget-ledger-metrics strong{font-size:clamp(22px,2.2vw,34px)}.budget-ledger-metrics .deficit strong{color:#fff}.budget-revenue-control output{color:var(--planner-green)}
@media(max-width:1050px){.budget-selection{grid-template-columns:1fr}.budget-selection dl{border-top:1px solid #ffffff24}.budget-selection dl div:first-child{border-left:0}.budget-selection>button{border-top:1px solid #ffffff24;border-left:0}.budget-workbench,.budget-impact-grid{grid-template-columns:1fr}.budget-editor h3{min-height:0}.budget-group-comparison{order:1}.budget-change-log{order:2}.budget-change-log>div[id]{min-height:120px}}
@media(max-width:760px){.budget-section{padding:68px 20px 74px;scroll-margin-top:148px}.budget-section-heading{grid-template-columns:1fr;gap:20px}.budget-section-heading h2{font-size:13vw}.budget-map-section{padding-inline:0}.budget-map-section>.budget-section-heading,.budget-map-section>.budget-selection{margin-inline:20px}.budget-map-toolbar{padding:12px 20px;align-items:flex-start;flex-direction:column}.budget-treemap{height:760px}.budget-kpis{grid-template-columns:1fr}.budget-kpis article{min-height:130px}.budget-stage-guide{grid-template-columns:1fr;gap:12px}.budget-stage-guide>span[aria-hidden]{transform:rotate(90deg);justify-self:center}.budget-workbench{grid-template-columns:minmax(0,1fr)}.budget-ledger-metrics{grid-template-columns:1fr}.budget-ledger-metrics>div{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center}.budget-ledger-metrics strong{grid-column:2;grid-row:1/3;margin:0;font-size:28px}.budget-selection dl{grid-template-columns:1fr}.budget-selection dl div{border-top:1px solid #ffffff24;border-left:0}.budget-selection dl div:first-child{border-top:0}.budget-impact-grid{grid-template-columns:minmax(0,1fr)}.budget-group-row{grid-template-columns:minmax(115px,.9fr) minmax(105px,1fr);gap:10px}.budget-group-row>strong{grid-column:1/-1;text-align:left}.budget-group-row>strong small{display:inline;margin-left:7px}.budget-share-actions{grid-template-columns:1fr}.budget-method-grid{grid-template-columns:1fr}.budget-method-grid article{min-height:190px}.budget-stage-panel dl{grid-template-columns:1fr}.budget-stage-panel>div strong{font-size:88px}.budget-editor-comparison{grid-template-columns:1fr}.budget-editor-comparison>div:last-child{text-align:left}.budget-change-row{grid-template-columns:1fr auto}.budget-change-row>button{grid-column:2}.budget-change-row>strong{grid-row:1/3;grid-column:2}}
@media(max-width:430px){.budget-treemap{height:820px}.budget-map-legend{gap:9px}.budget-map-legend i{width:14px}.budget-editor,.budget-ledger>header,.budget-revenue-control{padding-left:18px;padding-right:18px}.budget-editor-result{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.budget-adjustment-label,.budget-revenue-control>label{align-items:flex-start;flex-direction:column;gap:6px}.budget-stage-panel>div{align-items:start;flex-direction:column}.budget-stage-panel>div strong{font-size:78px}.budget-group-comparison{padding:15px}}
