:root{--bg:#f7f8f6;--panel:#fff;--ink:#24343b;--muted:#52636b;--line:#d9e0e1;--accent:#8a4b32;--copper:#a05f46;--good:#267555;--bad:#ad4939;--soft:#edf2ef;--variable:#7f969f;--fixed:#bdab94;--total:#3f626e;--shadow:0 8px 30px #23343b06;color-scheme:light}
:root[data-theme=dark]{--bg:#0b1418;--panel:#132127;--ink:#cbd6da;--muted:#a0b2bb;--line:#30454f;--accent:#d6af9b;--copper:#d58972;--good:#79c5a1;--bad:#ec9c83;--soft:#192e2b;--variable:#799eae;--fixed:#bcab95;--total:#9cbac6;--shadow:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Arial,Helvetica,sans-serif}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--accent);text-underline-offset:4px}:is(a,button,input,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{max-width:1440px;padding:0 42px;margin:auto}.nav{display:flex;align-items:center;gap:24px;min-height:80px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-size:21px;letter-spacing:-1px}.brand span{color:var(--copper)}.prototype{font:10px/1.5 Consolas,monospace;letter-spacing:1.4px;color:var(--muted);margin-left:auto}.theme{display:flex}.theme button{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:8px 14px;min-height:40px;font-size:12px}.theme button+button{border-left:0}.theme button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.skip{position:absolute;top:-100px;left:20px;padding:14px;background:var(--panel);z-index:30}.skip:focus{top:10px}.intro{display:flex;justify-content:space-between;gap:32px;padding:34px 0 26px}.eyebrow{font:10px/1.5 Consolas,monospace;letter-spacing:1.4px;color:var(--accent);margin:0 0 12px;display:block}h1,h2,h3,p{margin-top:0}h1{font-size:42px;line-height:1.08;letter-spacing:-1.6px;font-weight:400;margin-bottom:15px}h1 span{color:var(--muted)}h2{font-weight:400;font-size:21px;letter-spacing:-.5px;line-height:1.25;margin:0 0 9px}h3{font-size:15px;font-weight:500}.lead{font-size:15px;max-width:62ch;color:var(--muted);margin-bottom:0}.period{display:flex;flex-direction:column;text-align:right;justify-content:flex-end;gap:8px;flex-shrink:0}.period span{font-size:12px;color:var(--muted)}.period strong{font-size:24px;font-weight:400;letter-spacing:-.5px}.period small{font-size:11px;color:var(--muted);line-height:1.6}.presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0 20px}.presets>span{font-size:12px;color:var(--muted);margin-right:10px}.presets button{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:10px 13px;min-height:42px;font-size:12px}.presets button[aria-pressed=true]{border-color:var(--accent);background:var(--ink);color:var(--bg)}.presets button.reset{margin-left:auto;border:0;background:none;color:var(--muted);padding-right:0}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.kpi{border-top:2px solid var(--line);padding:15px 18px 14px;background:var(--panel);box-shadow:var(--shadow)}.kpi.main{border-top-color:var(--copper)}.kpi-label{font-size:12px;color:var(--muted);margin-bottom:9px}.kpi-value{font-size:30px;letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi-value small{font-size:14px;letter-spacing:0;color:var(--muted);margin-left:4px}.kpi-budget{font-size:11px;color:var(--muted);margin:7px 0 5px}.kpi-delta{font-size:12px;font-variant-numeric:tabular-nums}.good{color:var(--good)}.bad{color:var(--bad)}.neutral{color:var(--muted)}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);padding:23px;min-width:0;box-shadow:var(--shadow)}.panel-head p:last-child{font-size:12px;color:var(--muted);margin-bottom:18px}.control{padding:15px 0 14px;border-top:1px solid var(--line)}.control label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.control output{font-size:16px;letter-spacing:-.5px;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.control input{width:100%;margin:12px 0 6px;accent-color:var(--copper);min-height:24px;cursor:pointer}.control small{font-size:11px;color:var(--muted);display:block}.control-note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin:0;line-height:1.65}.chart-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.unit{font:11px/1.5 Consolas,monospace;color:var(--muted);white-space:nowrap}.chart-help{font-size:12px;color:var(--muted);margin-bottom:12px;max-width:75ch}.bridge{width:100%;min-width:0}.bridge svg{width:100%;height:auto;display:block;overflow:visible}.bridge text{font-family:Arial,Helvetica,sans-serif;fill:var(--ink);font-variant-numeric:tabular-nums}.bridge .axis-label{fill:var(--muted);font-size:10px}.bridge .value-label{font-size:12px;font-weight:500}.bridge .bar-name{font-size:11px}.bridge .grid{stroke:var(--line);stroke-dasharray:3 4}.bridge .connector{stroke:var(--muted);stroke-width:1;opacity:.55}.bridge .bar:hover rect,.bridge .bar:focus rect{opacity:.8;stroke:var(--ink);stroke-width:1.5}.bridge .bar:focus{outline:0}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:4px 0 0}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:inline-block;width:9px;height:9px}.total{background:var(--total);fill:var(--total)}.positive{background:var(--good);fill:var(--good)}.negative{background:var(--bad);fill:var(--bad)}.variable{background:var(--variable)}.fixed{background:var(--fixed)}.reconciliation{border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted);margin:15px 0 0}.insight{padding:23px 26px;border-left:3px solid var(--copper);background:var(--soft);margin-top:18px}.insight h2{font-size:24px;letter-spacing:-.6px}.insight p{font-size:13px;line-height:1.7;max-width:85ch;margin:0}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin-top:22px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{padding:11px 8px;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left;padding-left:0}th{font-size:10px;font-weight:400;color:var(--muted)}tbody th{font-size:12px;color:var(--ink)}tr.strong td,tr.strong th{font-weight:600;border-top:1px solid var(--ink);border-bottom:0}tr.margin td,tr.margin th{border-bottom:0;color:var(--muted);font-size:11px}.footnote{font-size:10px;color:var(--muted);line-height:1.7;margin:14px 0 0}.allocation-row{margin:24px 0}.allocation-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.allocation-track{height:33px;display:flex;background:var(--line)}.allocation-piece{min-width:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-variant-numeric:tabular-nums;color:#fff;overflow:hidden}.allocation-piece.fixed{color:#24343b}.allocation-piece.positive{color:#fff}.allocation-piece.negative{color:#fff}.allocation-alert{font-size:12px;color:var(--bad);padding:12px;border:1px solid var(--line)}.method{margin-top:22px}.method summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:13px;list-style:none}.method summary::-webkit-details-marker{display:none}.method summary span{font-size:11px;color:var(--muted)}.method-body{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:24px}.method-body p{font-size:12px;color:var(--muted);line-height:1.75}.disclosure{font-size:11px;color:var(--muted);margin:22px 0 28px;line-height:1.8}footer{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.allocation-piece.variable{color:#132127}
:root[data-theme=dark] .allocation-piece.positive{color:#132127}
@media(min-width:1100px){.bridge{min-height:300px}}
@media(max-width:1000px){.wrap{padding:0 24px}.workspace{grid-template-columns:250px minmax(0,1fr);gap:16px}.panel{padding:18px}.detail-grid{gap:16px}.kpi{padding:13px}.kpi-value{font-size:27px}.bridge .bar-name{font-size:12px}}
@media(max-width:760px){.wrap{padding:0 18px}.nav{flex-wrap:wrap;gap:12px;min-height:72px;padding:14px 0}.prototype{font-size:9px;letter-spacing:.6px}.theme button{min-height:40px;padding:8px 11px}.intro{padding:28px 0 22px}h1{font-size:34px}.period{display:none}.lead{font-size:14px}.presets{gap:7px}.presets>span{width:100%}.presets button{font-size:11px;padding:9px 10px}.presets button.reset{margin-left:0}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-value{font-size:28px}.workspace,.detail-grid{grid-template-columns:1fr}.controls{padding-bottom:16px}#levers{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.control:last-child{grid-column:1 / -1}.control-note{margin-top:6px}.analysis{min-width:0}.chart-heading h2{font-size:20px}.bridge{overflow-x:auto}.bridge svg{min-width:570px}.insight{padding:20px}.insight h2{font-size:22px}.method-body{grid-template-columns:1fr;gap:8px}.method summary{flex-direction:column;gap:8px}.detail-grid{gap:16px}.prototype{max-width:150px}.disclosure{font-size:10px}}
@media(max-width:420px){#levers{grid-template-columns:1fr}.control:last-child{grid-column:auto}.prototype{display:none}.theme{margin-left:auto}.kpi{padding:12px 10px}.kpi-value{font-size:25px}.presets button{width:100%;text-align:left}.presets button.reset{width:auto}}

@media(max-width:760px){html:not(.co-embedded) .bridge svg{min-width:760px}html:not(.co-embedded) .bridge .axis-label,html:not(.co-embedded) .bridge .bar-name{font-size:12px}}
