@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page: #e6ecea;--surface: #fcfdfc;--ink: #10262e;--ink-2: #4a5f66;--ink-3: #66787d;--rule: #d6dfdc;--grid: #e3e9e7;--axis: #b7c3c0;--input-border: #c9d4d1;--sidebar: #0f3a40;--sidebar-raised: #164b52;--sidebar-ink: #eaf3f1;--sidebar-ink-2: #a9c5c1;--sidebar-rule: rgba(234, 243, 241, .14);--brand: #0e5d60;--brand-hover: #0a4a4d;--critical: #a12a2a;--critical-wash: #fbeceb;--good: #146c3a;--good-wash: #e4f3e9;--warning-ink: #6f4500;--warning-wash: #fcefd3;--focus: #1f6fd1;color:var(--ink);background:var(--page);font-family:Schibsted Grotesk Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}h1,h2,h3,p{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-layout{display:grid;grid-template-columns:minmax(340px,392px) minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;gap:2rem;height:100vh;overflow-y:auto;padding:1.75rem 1.5rem 2rem;position:sticky;top:0;--focus: #ffd27a}.workspace{display:grid;align-content:start;gap:1.5rem;max-width:1200px;padding:2rem 2.5rem 4rem;width:100%}.brand{align-items:center;display:flex;gap:.7rem}.brand h1{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.brand-mark{background:#f0b94a;border-radius:7px;display:block;height:26px;overflow:hidden;position:relative;width:26px}.brand-mark:after{border:2.5px solid var(--sidebar);border-bottom:0;border-radius:50% 50% 0 0;bottom:-9px;content:"";height:22px;left:3px;position:absolute;width:20px}.accounts-heading{align-items:baseline;display:flex;justify-content:space-between;gap:1rem}.accounts-heading h2{font-size:1.35rem;font-weight:700;letter-spacing:-.015em}.accounts-total{font-size:1.35rem;font-weight:650;letter-spacing:-.015em}.sidebar-note,.sidebar-hint,.sidebar-status,.accounts-empty{color:var(--sidebar-ink-2);font-size:.875rem;margin-top:.5rem}.sidebar-status{background:var(--sidebar-raised);border-radius:10px;color:var(--sidebar-ink);padding:.6rem .8rem}.sidebar-status.warning{background:#f0b94a2e}.accounts-empty{border:1px dashed var(--sidebar-rule);border-radius:12px;padding:1rem}.item-list{list-style:none;margin:1rem 0 0;padding:0}.item-card{border-top:1px solid var(--sidebar-rule);cursor:grab;display:grid;gap:.85rem;grid-template-columns:4px minmax(0,1fr);padding:.9rem .5rem .9rem 0}.item-card:last-child{border-bottom:1px solid var(--sidebar-rule)}.item-card.dragging{opacity:.45}.item-card.editing{background:var(--sidebar-raised);border-radius:10px;margin:0 -.5rem;padding-left:.5rem}.account-swatch{border-radius:2px;display:block;min-height:100%}.account-title{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.account-title h3{font-size:1rem;font-weight:650;overflow-wrap:anywhere}.account-amount{font-size:1rem;font-weight:600;white-space:nowrap}.account-details{color:var(--sidebar-ink-2);font-size:.85rem;line-height:1.4}.item-actions{display:flex;gap:1rem;margin-top:.4rem}.text-button{background:none;border:0;color:var(--sidebar-ink);font-size:.85rem;font-weight:600;padding:0;text-decoration:underline;text-decoration-color:var(--sidebar-rule);text-underline-offset:3px}.text-button:hover{text-decoration-color:currentColor}.text-button.danger{color:#ffb4a8}label{display:block;font-size:.85rem;font-weight:600}input{border:1px solid var(--input-border);border-radius:10px;background:#fff;color:var(--ink);display:block;margin-top:.35rem;padding:.65rem .8rem;width:100%}input::placeholder{color:#93a29f}input[aria-invalid=true]{border-color:var(--critical);box-shadow:0 0 0 1px var(--critical)}.form-row{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-field.narrow{max-width:7rem}.form-row:has(.narrow){grid-template-columns:minmax(0,1fr) 7rem}.field-help{color:var(--ink-3);display:block;font-size:.8rem;margin-top:.3rem}.field-error{color:var(--critical);display:block;font-size:.82rem;font-weight:600;margin-top:.3rem}.checkbox-control{align-items:flex-start;display:flex;font-weight:500;gap:.6rem;line-height:1.4}.checkbox-control input{accent-color:#f0b94a;flex:none;height:1.05rem;margin:.1rem 0 0;width:1.05rem}.form-actions{display:flex;flex-wrap:wrap;gap:.6rem}.primary-button{background:var(--brand);border:0;border-radius:10px;color:#fff;font-weight:650;padding:.7rem 1.15rem}.primary-button:hover:not(:disabled){background:var(--brand-hover)}.ghost-button{background:transparent;border:1px solid var(--sidebar-rule);border-radius:10px;color:var(--sidebar-ink);display:inline-block;font-size:.875rem;font-weight:600;padding:.55rem .9rem}.ghost-button:hover{background:var(--sidebar-raised)}.item-form{border-top:1px solid var(--sidebar-rule);display:grid;gap:.95rem;padding-top:1.5rem}.item-form h2{font-size:1.05rem;font-weight:700}.item-form label{color:var(--sidebar-ink-2)}.item-form input:not([type=checkbox]){background:#eaf3f112;border-color:var(--sidebar-rule);color:var(--sidebar-ink)}.item-form input::placeholder{color:#a9c5c1a6}.item-form input[aria-invalid=true]{border-color:#ff9a8b;box-shadow:0 0 0 1px #ff9a8b}.item-form .field-help{color:#a9c5c1d9}.item-form .field-error{color:#ffb4a8}.item-form .checkbox-control{color:var(--sidebar-ink-2);font-size:.85rem}.item-form .primary-button{background:#f0b94a;color:#13262b}.item-form .primary-button:hover:not(:disabled){background:#f6c968}.sidebar-actions{border-top:1px solid var(--sidebar-rule);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1.25rem}.file-button{cursor:pointer;position:relative}.file-button input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.file-button:focus-within{outline:2px solid var(--focus);outline-offset:2px}.projection-controls{align-items:flex-start;background:var(--surface);border:1px solid var(--rule);border-radius:16px;display:flex;flex-wrap:wrap;gap:1rem 1.1rem;padding:1.1rem 1.25rem}.projection-controls .form-field{flex:1 1 8.5rem;max-width:12rem}.projection-controls .form-field.wide{flex-basis:11rem;max-width:15rem}.projection-controls label{color:var(--ink-2)}.calculate-button{margin-top:1.625rem;margin-left:auto;padding-block:.66rem}.banner{border-radius:12px;font-size:.95rem;padding:.75rem 1rem}.banner.error{background:var(--critical-wash);color:var(--critical);font-weight:600}.banner.warning{background:var(--warning-wash);color:var(--warning-ink)}.projection-empty{padding:4rem .5rem 2rem}.projection-empty h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;max-width:14ch}.projection-empty p{color:var(--ink-2);font-size:1.1rem;margin-top:1rem;max-width:46ch}.results-frame{transition:opacity .2s ease}.results-frame.stale{opacity:.55}.projection-results{display:grid;gap:1.5rem}.projection-summary{display:grid;gap:1.1rem;padding:.75rem .25rem 0}.projection-headline{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:700;letter-spacing:-.03em;line-height:1.08;max-width:24ch}.projection-facts{display:flex;flex-wrap:wrap;gap:.75rem 2.75rem;margin:0}.projection-facts dt{color:var(--ink-2);font-size:.875rem}.projection-facts dd{font-size:1.6rem;font-weight:650;letter-spacing:-.02em;margin:0}.funding-status{border-radius:12px;font-size:.95rem;max-width:72ch;padding:.7rem .95rem}.funding-status.shortfall{background:var(--critical-wash);color:var(--critical)}.funding-status.funded{background:var(--good-wash);color:var(--good)}.chart-card{background:var(--surface);border:1px solid var(--rule);border-radius:20px;margin:0;padding:1.25rem 1.25rem .75rem}.chart-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between}.chart-header h3{font-size:1.1rem;font-weight:650;letter-spacing:-.01em}.chart-subtitle{color:var(--ink-2);font-size:.9rem}.view-toggle{border:1px solid var(--rule);border-radius:999px;display:flex;padding:3px}.view-toggle button{background:transparent;border:0;border-radius:999px;color:var(--ink-2);font-size:.85rem;font-weight:600;padding:.35rem .85rem}.view-toggle button[aria-pressed=true]{background:var(--ink);color:#fff}.chart-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;list-style:none;margin:.9rem 0 .25rem;padding:0}.chart-legend li{align-items:center;color:var(--ink-2);display:flex;font-size:.85rem;gap:.45rem}.legend-swatch{border-radius:3px;display:block;height:10px;width:10px}.legend-line{border-radius:1px;display:block;height:2px;width:16px}.chart-plot{border-radius:12px;position:relative}.chart-plot svg{display:block;max-width:100%;overflow:visible}.chart-grid line{stroke:var(--grid);stroke-width:1}.chart-grid line.baseline{stroke:var(--axis)}.chart-grid text{fill:var(--ink-3);font-size:12px}.chart-grid .axis-title{font-size:11.5px}.phase-marker line{stroke:var(--ink-2);stroke-width:1}.phase-marker text{fill:var(--ink-2);font-size:12px;font-weight:600}.shortfall-zone rect{fill:var(--critical);fill-opacity:.06}.shortfall-label{fill:var(--critical);font-size:12px;font-weight:650}.phase-marker text,.shortfall-label{paint-order:stroke;stroke:var(--surface);stroke-linejoin:round;stroke-width:4px}.crosshair line{stroke:var(--ink);stroke-opacity:.45;stroke-width:1}.crosshair circle{stroke:var(--surface);stroke-width:2}.chart-hit-area{cursor:crosshair;fill:transparent}.flows-chart .bar{transition:opacity .12s ease}.flows-chart .bar.dimmed{opacity:.4}.chart-reveal{animation:chart-reveal .9s cubic-bezier(.2,.7,.2,1)}@keyframes chart-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.chart-tooltip{background:var(--ink);border-radius:12px;box-shadow:0 12px 28px #10262e38;color:#fff;font-size:.8rem;min-width:13rem;opacity:0;padding:.65rem .8rem;pointer-events:none;position:absolute;transform:translate(14px);transition:opacity .1s ease;z-index:2}.chart-tooltip.left{transform:translate(calc(-100% - 14px))}.chart-tooltip.visible{opacity:1}.chart-tooltip ul{display:grid;gap:.3rem;list-style:none;margin:.5rem 0 0;padding:0}.chart-tooltip li{align-items:center;display:grid;gap:.5rem;grid-template-columns:12px 1fr auto}.chart-tooltip strong{font-size:.85rem;font-weight:650}.tooltip-title{display:flex;font-weight:650;gap:.6rem;justify-content:space-between}.tooltip-title span{color:#a9c5c1;font-weight:500}.tooltip-key{border-radius:1px;display:block;height:2px;width:12px}.tooltip-name{color:#c8dad7}.tooltip-total,.tooltip-shortfall{border-top:1px solid rgba(255,255,255,.14);padding-top:.3rem}.chart-tooltip li>.tooltip-name:first-child{grid-column:1 / 3}.tooltip-shortfall,.tooltip-shortfall .tooltip-name{color:#ffb4a8}.yearly-table{display:grid;gap:1rem;justify-items:start}.disclosure{background:transparent;border:1px solid var(--input-border);border-radius:10px;color:var(--ink);font-size:.9rem;font-weight:600;padding:.55rem .95rem}.disclosure:hover{background:var(--surface)}.table-scroll{background:var(--surface);border:1px solid var(--rule);border-radius:16px;max-width:100%;overflow-x:auto;width:100%}table{border-collapse:collapse;font-size:.875rem;min-width:900px;width:100%}caption{font-size:1rem;font-weight:650;padding:1rem 1rem .5rem;text-align:left}th,td{border-bottom:1px solid var(--grid);padding:.55rem .75rem;text-align:left}th{color:var(--ink-2);font-size:.8rem;font-weight:600}th,td{white-space:nowrap}th.num,td.num{text-align:right}.shortfall-row td{background:#fdf4f3}@media(max-width:1080px){.app-layout{grid-template-columns:1fr}.sidebar{height:auto;position:static}.workspace{padding:1.5rem 1.25rem 3rem}}@media(max-width:560px){.form-row{grid-template-columns:1fr}.form-row:has(.narrow){grid-template-columns:minmax(0,1fr) 6rem}.projection-controls .form-field,.projection-controls .form-field.wide{max-width:none}.calculate-button{margin:0;width:100%}}@media(prefers-reduced-motion:reduce){.chart-reveal{animation:none}.results-frame,.chart-tooltip,.flows-chart .bar{transition:none}}.crash-screen{padding:2rem 1.25rem}.crash-panel{background:var(--surface);border:1px solid var(--rule);border-radius:20px;display:grid;gap:1rem;margin:3rem auto;max-width:560px;padding:1.75rem}.crash-panel h2{font-size:1.5rem;letter-spacing:-.02em}.crash-panel p{color:var(--ink-2)}
