.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--border);z-index:5;background:#f7f7f2f7;justify-content:space-between;align-items:center;min-height:72px;padding:0 2rem;display:flex;position:sticky;top:0}.brand{color:var(--brand-dark);font-family:var(--font-display);font-size:1.25rem;font-weight:700}.app-header nav{gap:.5rem;display:flex}.workspace{grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 73px);display:grid}.sidebar{background:var(--white);border-right:1px solid var(--border);padding:2rem 1.25rem}.product-label{color:var(--brand-dark);font-family:var(--font-display);margin:0 0 1.75rem;font-size:1.15rem;font-weight:700;line-height:1.25}.sidebar>label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:block}input,select{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);font:inherit;width:100%;min-height:44px;padding:.6rem .75rem}.new-scenario{width:100%;margin-top:.75rem}.import-button{width:100%;margin-top:.5rem}.scenario-tools{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.75rem;display:grid}.scenario-tools button{min-height:34px;padding:0 .5rem}.archive-filter{align-items:center;gap:.4rem;margin-top:.55rem;font-size:.78rem;display:flex}.archive-filter input{width:auto;min-height:auto}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar ol{gap:.35rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.sidebar li button{border-radius:var(--radius-sm);color:var(--muted);border:0;justify-content:flex-start;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;display:flex}.sidebar li span{border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;display:inline-flex}.sidebar li button.active{background:var(--brand);color:var(--white)}.content{width:100%;max-width:1240px;margin:0 auto;padding:3rem}.title-row,.section-heading,.chart-card figcaption{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.eyebrow,.save-state{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}h1,h2{color:var(--brand-dark);font-family:var(--font-display)}h1{margin:.5rem 0 .75rem;font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.05}h2{margin:.4rem 0;font-size:1.45rem}.lede,.section-heading p:not(.eyebrow),.phase-note{color:var(--muted);margin:0;line-height:1.6}.save-state{background:var(--white);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:.65rem .9rem}.title-actions{flex-direction:column;align-items:flex-end;gap:.65rem;display:flex}.mode-toggle{color:var(--muted);text-transform:uppercase;gap:.25rem;font-size:.75rem;font-weight:700;display:grid}.mode-toggle select{min-width:140px}.save-state.error{color:#8b3028;border-color:#b94b3f}.summary-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0 1rem;display:grid}.summary-grid article,.panel,.chart-card,.investment-breakdown{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.summary-grid article{gap:.35rem;padding:1.5rem;display:grid}.summary-grid p{color:var(--muted);margin:0}.summary-grid strong{color:var(--brand-dark);font-family:var(--font-display);font-size:1.9rem}.summary-grid span{color:var(--muted);font-size:.9rem}.investment-breakdown{margin:1rem 0;padding:1.5rem}.investment-breakdown>.section-heading>strong{color:var(--brand-dark);font-family:var(--font-display);font-size:1.25rem}.investment-breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1rem;display:grid}.investment-breakdown-grid article{border-left:3px solid var(--brand);gap:.25rem;padding:.4rem 1rem;display:grid}.investment-breakdown-grid p,.investment-breakdown-grid span{color:var(--muted);margin:0}.investment-breakdown-grid strong{color:var(--brand-dark);font-family:var(--font-display);font-size:1.5rem}.investment-breakdown-grid span{font-size:.82rem}.panel{margin-top:2rem;padding:1.75rem}button{border:1px solid var(--border);color:var(--brand);cursor:pointer;font:700 .9rem var(--font-body);background:0 0;border-radius:999px;min-height:42px;padding:0 1rem}button.primary{background:var(--brand);color:var(--white);margin-top:1rem}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.editor fieldset{border:0;border-top:1px solid var(--border);margin:1.75rem 0 0;padding:1.5rem 0 0}.editor legend{color:var(--brand-dark);font-family:var(--font-display);padding-right:1rem;font-size:1.15rem;font-weight:700}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.form-grid label{color:var(--muted);gap:.45rem;font-size:.82rem;font-weight:700;display:grid}.field-note{color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.4}.compound-field{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;display:grid}.accounts-heading{background:var(--white);border-bottom:1px solid var(--border);z-index:3;margin:-1.75rem -1.75rem 0;padding:1.25rem 1.75rem;position:sticky;top:72px}.danger-link{color:#8b3028;border:0;margin-top:.75rem;padding:0}.empty-state{color:var(--muted);padding:1rem 0}.subsection{border-top:2px solid var(--border);margin-top:2rem;padding-top:1.5rem}.withdrawal-order{gap:.5rem;max-width:620px;padding:0;list-style:none;display:grid}.withdrawal-order li{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.withdrawal-order button{min-height:32px;padding:0 .65rem}.warning-panel{border-radius:var(--radius-sm);background:#fff7e6;border:1px solid #d7a84b;margin-top:1rem;padding:1rem 1.25rem}.warning-panel p{margin:.35rem 0 0}.shortfall-row{background:#fff4f2}.chart-card{margin:2rem 0 0;padding:1.75rem}.chart-card figcaption strong{color:var(--brand);font-family:var(--font-display);font-size:2rem}.chart-card svg{width:100%;height:auto;margin-top:1rem;overflow:visible}.chart-axis{stroke:#c8d2c9;stroke-width:1px}.chart-grid{stroke:#e5e9e3;stroke-width:1px}.chart-line{fill:none;stroke:var(--brand);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.chart-card text{fill:var(--muted);font-size:12px}.chart-axis-label{font-weight:700;fill:var(--ink)!important;font-size:13px!important}.chart-hover>line{stroke:var(--brand);stroke-dasharray:4 4;stroke-width:1px}.chart-hover>circle{fill:var(--white);stroke:var(--brand);stroke-width:3px}.chart-hover>rect{fill:var(--brand-dark)}.chart-hover>text{fill:var(--white);font-size:12px;font-weight:700}.chart-focus-point{cursor:crosshair;fill:#0000;outline:none}.chart-note{color:var(--muted);margin:.5rem 0 0;font-size:.82rem}.ledger{margin-top:1rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px;margin-top:1rem}th,td{border-bottom:1px solid var(--border);text-align:right;padding:.75rem}th:first-child{text-align:left}thead th{color:var(--muted);text-transform:uppercase;font-size:.75rem}.sign-in,.empty-workspace{max-width:680px}.startup-error{max-width:620px;margin:10vh auto;padding:2rem}@media (width<=950px){.workspace{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--border);border-right:0}.sidebar ol{display:flex;overflow-x:auto}.sidebar li{min-width:max-content}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem}.content{padding:2rem 1.25rem}.title-row,.section-heading,.chart-card figcaption{flex-direction:column;gap:1rem}.summary-grid,.form-grid,.investment-breakdown-grid,.compound-field{grid-template-columns:1fr}.accounts-heading{top:103px}}:root{--brand:#002d04;--brand-dark:#001d02;--cream:#f7f7f2;--white:#fff;--ink:#111827;--muted:#5f6368;--border:#002d041f;--focus:#476f4b;--shadow-soft:0 18px 40px #002d0417;--radius-sm:12px;--radius-md:20px;--font-body:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--cream)}a{color:inherit;text-decoration:none}
