@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#213a35;--muted:#6a7972;--green:#174d42;--accent:#bde491;--border:#e0e6df;--paper:#f6f7f2;--white:#fff;--orange:#b78548}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #89b7a4;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}h1{font-size:clamp(26px,2.8vw,39px);letter-spacing:-1.5px;font-weight:600;line-height:1.25}h2{font-size:19px;letter-spacing:-.6px;font-weight:600}h3{font-size:16px;font-weight:600}.muted{color:var(--muted);line-height:1.65}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;color:#738276;margin-bottom:9px}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1px}.brandmark{width:34px;height:34px;background:var(--green);border-radius:10px;display:grid;place-items:center}.brandmark svg{width:24px;fill:none;stroke:#d7ecc7;stroke-width:2.2}.prototype{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:1.2px;color:#879289;font-weight:500;margin-left:6px;padding:5px 8px;border:1px solid var(--border);border-radius:4px}.topactions{display:flex;align-items:center;gap:10px}.privacy{font-size:11px;color:var(--muted);margin-right:13px}.privacy span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#739c77;margin-right:6px}.btn{border:1px solid #dbe2d9;background:white;color:var(--ink);padding:10px 14px;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s}.btn:hover{background:#edf2e9}.btn.dark{background:var(--green);border-color:var(--green);color:white}.btn.dark:hover{background:#256456}.btn span{margin-left:16px}.btn.quiet{border-color:transparent}.textbtn{padding:5px 0;background:none;border:0;color:#47715e;font-size:11px;text-decoration:underline;text-underline-offset:3px}.layout{max-width:1700px;margin:auto;display:grid;grid-template-columns:304px minmax(0,1fr);min-height:calc(100vh - 82px)}.sidebar{background:#fff;border-right:1px solid var(--border);padding:30px 24px 24px}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.sidebar-heading h2{font-size:20px}.sidebar>.muted{margin-bottom:24px}.input-section{border-top:1px solid var(--border);padding:18px 0 5px}.input-section>summary{list-style:none;font-weight:600;font-size:13px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.input-section>summary::-webkit-details-marker{display:none}.input-section>summary:after{content:'+';color:#8a988d;font-size:18px;font-weight:400}.input-section[open]>summary:after{content:'−'}.field{display:block;margin:0 0 15px}.field>span{display:block;font-size:11px;color:#65766b;margin-bottom:7px}.field-wrap{display:flex;border:1px solid #dfe5dc;border-radius:6px;align-items:center;background:#fcfdfb;min-width:0}.field-wrap:focus-within{border-color:#779b7b;box-shadow:0 0 0 2px #eaf1e7}.field-wrap i{font-style:normal;color:#8d998e;font-size:12px;padding:0 11px}.field-wrap input{background:transparent;border:0;padding:10px 11px;color:#263e34;width:100%;min-width:0;outline:none;font-size:13px;font-variant-numeric:tabular-nums}.field-wrap i+input{padding-left:0}.field-wrap select{width:100%;border:0;background:transparent;padding:10px;color:var(--ink);font-size:12px}.field small{display:block;font-size:10px;line-height:1.5;color:#889389;margin-top:5px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.local-save{background:#f3f6f0;border-radius:8px;padding:13px;margin-top:18px}.local-save label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.local-save input{accent-color:var(--green)}.local-save p{color:var(--muted);font-size:10px;line-height:1.5;margin:6px 0 0 24px}.workspace{padding:36px 38px;min-width:0}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.intro .muted{font-size:13px;margin-top:11px}.sample-label{font-size:10px;border:1px solid #dce4d2;padding:7px 9px;border-radius:20px;color:#6d815d;white-space:nowrap}.phase-strip{display:flex;gap:4px;margin:24px 0 28px}.phase{padding:13px 16px;border-radius:5px;background:#e6eddf;min-width:0;flex:1}.phase:nth-child(2){background:#dce8dd}.phase:nth-child(3){background:#cfdfd4}.phase b{display:block;font-size:11px;font-weight:600}.phase span{display:block;font-size:10px;color:#677b6c;margin-top:5px}.phase strong{float:right;font-weight:500;color:#7c907d}.tabs{border-bottom:1px solid #dce3d7;display:flex;gap:26px;margin-bottom:23px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 13px;font-size:12px;color:#879084}.tabs button.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.metric{padding:21px;border:1px solid var(--border);border-radius:10px;background:#fff;min-width:0}.metric.primary{background:var(--green);border-color:var(--green);color:white}.metric .label{color:#7b8b7f;font-size:11px;margin-bottom:11px}.metric.primary .label{color:#c5d7c3}.metric .number{font-family:Manrope,system-ui,sans-serif;font-size:clamp(24px,2.65vw,37px);font-weight:500;letter-spacing:-1.2px;line-height:1.2}.metric p{font-size:10px;margin-top:10px;color:#8a948a;line-height:1.5}.metric.primary p{color:#bfd1bd}.metric .delta{font-size:10px;margin-top:8px;color:var(--orange)}.card{background:white;border:1px solid var(--border);border-radius:10px;padding:23px;margin-bottom:20px;min-width:0}.card-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.card-title .eyebrow{font-size:9px;margin-bottom:7px}.chart-controls{display:flex;gap:8px;align-items:center}.chart-controls select{border:1px solid var(--border);border-radius:6px;background:#fafbf8;padding:9px;color:#607466;font-size:11px;max-width:130px}.chart-controls .btn{font-size:11px;padding:9px 11px}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;color:#738073;margin-bottom:15px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--green)}.dot.brokerage{background:#b49a64}.dot.retirement{background:#87ab88}.dot.baseline{background:#9da2b3}.chart{width:100%;min-height:245px}.chart svg{display:block;width:100%;height:auto;max-height:320px;overflow:visible}.chart text{font:11px 'DM Sans',system-ui;fill:#889387}.chart-inspector{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center;border-top:1px solid #eef1eb;padding-top:14px;margin-top:4px}.chart-inspector label{font-size:11px;color:#667a6a}.chart-inspector strong{display:inline-block;color:var(--ink);margin-left:4px}.chart-inspector input{accent-color:var(--green);height:16px;cursor:ew-resize;min-width:0;width:100%}#inspectValues{grid-column:1/-1;display:flex;gap:22px;font-size:11px;color:#728175;margin-top:9px}#inspectValues b{color:#38533f;font-weight:600;margin-left:4px}.insight{background:#f0f5eb;padding:12px 14px;border-radius:6px;margin-top:17px;font-size:11px;line-height:1.6;color:#53694c}.insight.warning{background:#fcf3e7;color:#926c38}.events-card .card-title h2{font-size:18px}.events-card .muted{margin-top:5px}.event-row{display:grid;grid-template-columns:minmax(130px,1.6fr) 70px 70px minmax(105px,1fr) 30px;gap:12px;padding:13px 0;border-top:1px solid #edf0e8;align-items:end}.event-row label{font-size:9px;color:#849081;display:block}.event-row input{display:block;width:100%;border:1px solid #e1e7dc;border-radius:5px;padding:9px;margin-top:6px;background:#fbfcf9;color:var(--ink);min-width:0;font-size:12px}.event-remove{border:0;background:#f3f5ee;color:#96a18f;border-radius:6px;height:34px;font-size:20px;font-weight:300}.event-remove:hover{background:#fbece3;color:#a16a52}.footnote{font-size:10px;color:#83907e;line-height:1.6;margin-top:12px}.table-scroll{overflow:auto;max-height:640px;border:1px solid #e8ece2;border-radius:7px}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px;font-variant-numeric:tabular-nums}th{text-align:right;font-size:10px;font-weight:500;background:#f1f5eb;color:#74816b;position:sticky;top:0;z-index:1;max-width:160px;white-space:normal;min-width:115px}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:#f8faf5;min-width:115px;z-index:2}th:first-child{z-index:3}td,th{padding:12px;border-bottom:1px solid #edf0e8}td{text-align:right}td small{display:block;color:#8b9485;font-size:9px;margin-top:3px}td input{width:60px;border:1px solid #e1e6db;background:#fcfdf9;border-radius:4px;padding:6px;text-align:right;font-size:11px;color:#546e4d}td input.override{border-color:#a9c595;background:#eff5e9}.negative{color:#ac684d}.methodology>p{color:var(--muted);font-size:13px;line-height:1.8;margin-top:14px}.methodology>h3{margin-top:30px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px;padding-bottom:26px;border-bottom:1px solid var(--border)}.method-grid p{color:var(--muted);font-size:12px;line-height:1.8;margin-top:9px}.step{display:block;font-size:12px;color:#879977;margin-bottom:12px}.methodology li{color:var(--muted);font-size:12px;line-height:1.8;margin:12px 0}.methodology strong{color:#51664c}footer{display:flex;justify-content:space-between;color:#94a08a;font-size:10px;padding:4px 0 10px}#errors{background:#fff0e6;color:#985432;border:1px solid #e3b897;border-radius:7px;padding:14px;line-height:1.7;margin-bottom:20px;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#254d3d;color:white;padding:12px 20px;border-radius:8px;font-size:12px;box-shadow:0 5px 24px #1a32222b;opacity:0;pointer-events:none;transition:all .2s;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){.workspace{padding:42px 50px}.layout{grid-template-columns:320px minmax(0,1fr)}}@media(max-width:1150px){.workspace{padding:28px 23px}.layout{grid-template-columns:275px minmax(0,1fr)}.sidebar{padding:28px 20px}.sample-label{display:none}.privacy{display:none}.metric{padding:16px}.card{padding:19px}.chart-card>.card-title{align-items:flex-start;flex-direction:column}.chart-controls{align-self:flex-end;margin-top:-6px}.event-row{gap:8px;grid-template-columns:minmax(100px,1fr) 58px 58px 85px 24px}.phase strong{display:none}.method-grid{grid-template-columns:1fr}.metric .number{font-size:28px}}
@media(max-width:800px){.topbar{height:68px;padding:0 18px}.prototype{display:none}.brand{font-size:22px}.topactions{gap:4px}.topactions .btn{padding:9px 10px;font-size:11px}.layout{display:flex;flex-direction:column}.workspace{order:0;padding:24px 18px 0}.sidebar{order:1;border-right:0;border-top:1px solid var(--border);padding:25px 24px}.sidebar #assumptions{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;align-items:start}.sidebar>.muted{margin-bottom:15px}.sidebar-heading{max-width:450px}.intro{margin-bottom:20px}.intro .muted{font-size:12px}.phase-strip{margin:20px 0}.phase{padding:11px}.phase span{font-size:9px}.metrics{gap:9px}.metric{padding:15px 12px}.metric .number{font-size:25px}.metric .label{font-size:10px}.metric p{font-size:9px}.card-title h2{font-size:18px}.chart{min-height:0}.chart-card>.card-title{flex-direction:row;align-items:center}.chart-controls{align-self:center;margin-top:0;flex-direction:column;align-items:stretch}.chart-controls select{max-width:none}.chart-controls .btn{font-size:10px}.legend{gap:12px}.card{padding:17px}.events-card .card-title{align-items:flex-start}.events-card .card-title h2{font-size:16px}.event-row{grid-template-columns:minmax(100px,1fr) 54px 54px 85px 24px}.method-grid{grid-template-columns:1fr}.methodology ul{padding-left:18px}footer{font-size:9px;gap:15px;padding-bottom:23px}.local-save{max-width:450px}}
@media(max-width:480px){.metrics{grid-template-columns:1fr}.metric{display:grid;grid-template-columns:1fr auto;align-items:center;padding:15px 17px}.metric .label{margin:0;font-size:11px}.metric .number{font-size:28px}.metric p{grid-column:1/-1;margin-top:5px}.metric .delta{grid-column:1/-1}.phase{padding:11px 9px}.phase b{font-size:10px}.phase span{font-size:9px}.phase:nth-child(3){flex:1.1}.chart-card>.card-title{gap:6px}.chart-card h2{font-size:16px}.chart-controls select{font-size:10px;padding:7px 5px}.chart-controls .btn{padding:7px 5px}.legend{font-size:9px;gap:9px}.events-card .card-title{flex-direction:column;gap:12px}.event-row{grid-template-columns:1fr 1fr 1.4fr 24px;gap:8px}.event-row label:first-child{grid-column:1/-1}.event-row .event-remove{grid-row:2;grid-column:4}#inspectValues{gap:8px;justify-content:space-between;flex-wrap:wrap;font-size:10px}#inspectValues b{display:block;margin-left:0;margin-top:3px}.sidebar #assumptions{display:block}footer{flex-direction:column;gap:6px}.tabs{gap:24px}}

/* Independent panes and persistent planning summary. */
.sidebar-scroll{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding-right:10px;margin-right:-15px;scroll-padding-top:54px}
.sidebar .input-section{padding-top:0}
.sidebar .input-section>summary{position:sticky;top:0;z-index:2;background:#fff;padding:17px 0;margin-bottom:0;min-height:53px}
.sidebar .input-section[open]>summary{margin-bottom:8px;border-bottom:1px solid #f0f3eb}
.summary-pane{position:sticky;top:0;z-index:5;background:var(--paper);padding-top:13px;padding-bottom:1px;margin-top:-13px;box-shadow:0 9px 12px -12px #6b7c5b80}
.summary-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(245px,1fr);gap:15px;align-items:center;border-bottom:1px solid #dce3d7;margin-bottom:20px;padding-bottom:10px}
.summary-toolbar .tabs{margin:0;border-bottom:0;gap:24px;align-self:stretch;align-items:center}
.summary-toolbar .tabs button{padding:12px 0 11px;margin-bottom:-11px}
.summary-toolbar .chart-controls{justify-content:flex-end;align-self:center;flex-direction:row;margin:0;gap:8px}
.summary-toolbar .chart-controls select{max-width:none;width:auto;min-width:0}
.summary-toolbar .chart-controls .btn{flex-shrink:0}
.summary-pane .metrics{margin-bottom:19px}
.chart-card .legend{justify-content:center;margin:13px 0 20px;gap:20px}
.event-row{grid-template-columns:minmax(120px,1.4fr) 62px 62px minmax(100px,1fr) minmax(110px,1fr) 28px;gap:10px}
.event-row label{line-height:1.5}
.event-row output{display:block;width:100%;min-width:0;padding:9px;margin-top:6px;border:1px solid #dfe7d7;border-radius:5px;background:#f0f5eb;color:#4c6e43;font-size:12px;line-height:normal;font-variant-numeric:tabular-nums;white-space:nowrap}
.event-future{color:#6e8261!important}
@media(min-width:801px){
 body{height:100vh;height:100dvh;overflow:hidden}
 .layout{height:calc(100vh - 82px);height:calc(100dvh - 82px);min-height:0;overflow:hidden}
 .sidebar{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
 .sidebar-heading,.sidebar>.muted{flex-shrink:0}
 .sidebar-scroll{flex:1;padding-bottom:24px}
 .workspace{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
}
@media(min-width:1450px){.summary-toolbar{grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:30px}}
@media(max-width:1150px){
 .summary-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .summary-toolbar .tabs{gap:16px}
 .summary-toolbar .tabs button{font-size:11px}
 .summary-toolbar .chart-controls{flex-direction:column;gap:5px;align-items:stretch}
 .summary-toolbar .chart-controls select,.summary-toolbar .chart-controls .btn{font-size:10px;padding:7px 9px}
 .event-row{grid-template-columns:60px 60px minmax(85px,1fr) minmax(95px,1fr) 24px;gap:8px}
 .event-row .event-name{grid-column:1/-1}
 .event-row .event-remove{grid-row:auto;grid-column:auto}
}
@media(max-width:800px){
 .sidebar-scroll{max-height:65vh;max-height:65dvh;padding-bottom:15px}
 .sidebar #assumptions{display:block}
 .sidebar .input-section>summary{z-index:2}
 .summary-pane{padding-top:10px;margin-top:-10px}
 .summary-toolbar .chart-controls{flex-direction:row;align-items:center}
 .summary-toolbar .tabs{gap:20px}
 .summary-toolbar{gap:10px;margin-bottom:14px}
 .summary-pane .metrics{margin-bottom:14px}
 .chart-card .card-title{flex-direction:row}
 .chart-card .legend{gap:12px;margin-top:10px}
}
@media(max-width:560px){
 .summary-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .summary-toolbar .tabs{gap:12px;flex-wrap:wrap;align-content:center}
 .summary-toolbar .tabs button{font-size:10px;padding:9px 0}
 .summary-toolbar .chart-controls{flex-direction:column;align-items:stretch}
 .summary-toolbar .chart-controls select,.summary-toolbar .chart-controls .btn{font-size:9px;padding:6px}
 .summary-pane .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .summary-pane .metric{display:block;padding:11px 9px}
 .summary-pane .metric .label{font-size:9px;line-height:1.5;margin-bottom:6px;min-height:27px}
 .summary-pane .metric .number{font-size:22px;letter-spacing:-.8px}
 .summary-pane .metric p{font-size:8px;line-height:1.4;margin-top:7px}
 .summary-pane .metric .delta{font-size:8px}
 .event-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 24px;gap:10px;grid-template-areas:'name name remove' 'start end .' 'today future .'}
 .event-row .event-name{grid-area:name}
 .event-row .event-start{grid-area:start}
 .event-row .event-end{grid-area:end}
 .event-row .event-today{grid-area:today}
 .event-row .event-future{grid-area:future}
 .event-row .event-remove{grid-area:remove}
 .chart-card .legend{font-size:9px;gap:9px}
}

/* Compact pinned summary: no top padding for content to show through. */
.workspace{--intro-padding:36px;--pane-gutter:38px;padding-top:0;overflow-anchor:none}
.workspace>.intro{padding-top:var(--intro-padding)}
#summaryAnchor{height:0;pointer-events:none}
.summary-pane{top:0;margin-top:0;padding-top:8px;padding-bottom:1px;isolation:isolate}
.summary-pane:before{content:'';position:absolute;inset:0 calc(-1 * var(--pane-gutter));z-index:-1;background:var(--paper);pointer-events:none}
.summary-pane .metric{transition:padding .16s ease}
.summary-pane .metric .number{transition:font-size .16s ease}
.summary-pane .metric p{overflow:hidden;max-height:48px;transition:max-height .16s ease,margin .16s ease,opacity .12s ease}
.summary-pane.is-compact{padding-top:5px}
.summary-pane.is-compact .summary-toolbar{margin-bottom:8px;padding-bottom:6px}
.summary-pane.is-compact .tabs button{padding-top:7px;padding-bottom:8px;margin-bottom:-7px}
.summary-pane.is-compact .metrics{margin-bottom:10px;gap:12px}
.summary-pane.is-compact .metric{padding:10px 15px;border-radius:8px}
.summary-pane.is-compact .metric .label{font-size:10px;line-height:1.35;min-height:0;margin-bottom:5px}
.summary-pane.is-compact .metric .number{font-size:26px;line-height:1.1;letter-spacing:-.8px}
.summary-pane.is-compact .metric p{max-height:0;opacity:0;margin-top:0}
.summary-pane.is-compact .metric .delta{font-size:9px;margin-top:4px}
.chart-card{padding:18px 22px}
.chart-card>.card-title{margin-bottom:10px}
.chart-card .eyebrow{margin-bottom:4px}
.chart{min-height:0;height:var(--plot-height,clamp(150px,27vh,240px))}
.chart svg{height:100%;width:100%;max-height:none}
.chart-card .legend{margin:9px 0 12px}
.chart-card .chart-inspector{padding-top:10px;margin-top:0}
.chart-card #inspectValues{margin-top:7px}
.chart-card .insight{margin-top:11px;padding:10px 12px}
@media(min-width:1450px){.workspace{--intro-padding:42px;--pane-gutter:50px}}
@media(max-width:1150px){.workspace{--intro-padding:28px;--pane-gutter:23px}}
@media(max-width:800px){
 .workspace{--intro-padding:24px;--pane-gutter:18px}
 .summary-pane:before{inset:0 -18px}
 .summary-pane.is-compact .metric{padding:9px 11px}
 .summary-pane.is-compact .metric .number{font-size:24px}
 .chart-card{padding:16px}
}
@media(max-width:560px){
 .summary-pane.is-compact .metrics{gap:7px}
 .summary-pane.is-compact .metric{padding:8px}
 .summary-pane.is-compact .metric .label{font-size:9px;min-height:25px}
 .summary-pane.is-compact .metric .number{font-size:21px}
 .summary-pane.is-compact .metric .delta{font-size:8px}
 .chart-card .legend{gap:8px}
}
@media(prefers-reduced-motion:reduce){.summary-pane .metric,.summary-pane .metric .number,.summary-pane .metric p{transition:none}}

/* Guided setup and the shared, expandable editor. */
.sidebar-heading h2{font-size:18px}
.sidebar>.sidebar-intro{margin-bottom:14px}
.expand-settings{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#edf3e7;border-color:#d6e1cb;margin-bottom:14px;flex-shrink:0}
.expand-settings svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.editor-modes{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);background:#f5f7f1;border-radius:7px;padding:3px;gap:3px;margin-bottom:18px;flex-shrink:0}
.editor-modes button{border:0;background:transparent;border-radius:5px;font-size:11px;color:#7b8b72;padding:8px 3px}
.editor-modes button.active{background:white;color:var(--green);box-shadow:0 1px 4px #1b442015;font-weight:700}
.setup-progress{display:flex;align-items:center;gap:8px;margin:0 0 22px}
.setup-progress button{flex:1;height:28px;border:1px solid #dae4d1;background:#f3f6ed;color:#7b8d6b;border-radius:5px;font-size:11px}
.setup-progress button.active{background:var(--green);border-color:var(--green);color:#fff}
.setup-title{font-size:20px;letter-spacing:-.5px;margin-bottom:9px;outline:none}
.setup-description{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:22px}
.quick-fields .field{margin-bottom:19px}
.quick-fields .field>span{font-size:12px}
.quick-fields .field-wrap input{font-size:15px;padding-top:12px;padding-bottom:12px}
.field-help,.mode-hint{font-size:11px;line-height:1.7;color:#7b8a71;margin-bottom:17px}
.setup-actions{display:flex;gap:8px;margin:22px 0 20px}
.setup-actions .dark{flex:1}
.assumption-note{background:#f6f8f1;border:1px solid #e6ebde;border-radius:7px;padding:13px;margin:18px 0}
.assumption-note strong{font-size:10px;font-weight:600;color:#708462}
.assumption-note p{font-size:10px;line-height:1.8;color:#89947f;margin:6px 0}
.plan-summary{border:1px solid var(--border);border-radius:8px;overflow:hidden}
.plan-summary button,.quick-events button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;border:0;border-bottom:1px solid #eaf0e2;background:#fff;padding:13px 12px;text-align:left;color:#809175;font-size:10px}
.plan-summary button:last-child,.quick-events button:last-child{border-bottom:0}
.plan-summary button:hover,.quick-events button:hover{background:#f7faf2}
.plan-summary strong{display:block;font-size:14px;color:#3d5b36;font-weight:500;margin-top:4px}
.edit-label{color:#66865a;font-size:10px;text-decoration:underline;text-underline-offset:3px;flex-shrink:0}
.fine-tune,.finish-settings{width:100%;margin-top:18px}
.quick-events{border:1px solid var(--border);border-radius:7px;overflow:hidden;margin:15px 0}
.quick-events:empty{display:none}
.quick-events button{color:var(--ink);font-size:12px}
.quick-events small{display:block;font-size:10px;color:#7e8f71;margin-top:5px}
.event-presets{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 17px}
.event-presets button{font-size:11px;background:#f3f7ed;border:1px solid #dce6d1;color:#618151;padding:8px 12px;border-radius:6px}
.event-presets button:hover{background:#e6efdc}
.quick-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.quick-presets button{padding:9px 4px}
.feature-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#647e53;margin:4px 0 16px;padding:10px;background:#f3f7ee;border-radius:6px;grid-column:1/-1}
.feature-toggle input{accent-color:var(--green)}
.input-feedback{padding:11px;border:1px solid #e4c5a3;background:#fff5e8;color:#906842;font-size:11px;line-height:1.65;border-radius:7px;margin-bottom:15px}
#settingsDialog{width:min(1140px,calc(100vw - 60px));max-width:none;height:min(900px,calc(100dvh - 56px));max-height:none;padding:0;border:1px solid #dbe4d1;border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 22px 100px #122c2940;overflow:hidden}
#settingsDialog[open]{display:flex;flex-direction:column}
#settingsDialog::backdrop{background:#12292370;backdrop-filter:blur(3px)}
.settings-header{display:flex;justify-content:space-between;align-items:center;gap:20px;background:white;padding:23px 28px;border-bottom:1px solid var(--border);flex-shrink:0}
.settings-header h2{font-size:23px;margin-bottom:5px}
.settings-header .eyebrow{font-size:9px}
.settings-header .btn{font-size:12px}
.settings-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:25px 28px;scroll-padding-top:18px}
#expandedFormHost .detailed-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}
#expandedFormHost .input-section{padding:18px;background:white;border:1px solid var(--border);border-radius:9px}
#expandedFormHost .input-section>summary{padding:0 0 15px;margin-bottom:16px;border-bottom:1px solid #edf1e7;font-size:13px;list-style:none}
#expandedFormHost .input-section>summary:after{font-size:17px}
#expandedFormHost .field:last-child{margin-bottom:0}
#expandedFormHost .field-wrap input{font-size:14px}
#expandedFormHost .input-section .group-fields{display:block}
#expandedEventsHost{margin-top:24px}
#expandedEventsHost .events-card{margin-bottom:14px}
.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 28px;border-top:1px solid var(--border);background:#fff;flex-shrink:0}
#expandedPreview{display:flex;align-items:center;gap:28px}
#expandedPreview>span{font-size:10px;color:#84927a}
#expandedPreview strong{display:block;font-family:Manrope,system-ui,sans-serif;font-size:23px;color:var(--green);font-weight:600;letter-spacing:-.6px;margin-top:3px}
#expandedPreview>small{font-size:9px;color:#8a9880}
#expandedPreview.stale{opacity:.5}
@media(max-width:1000px){#expandedFormHost .detailed-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 .sidebar{order:0}.workspace{order:1}
 .sidebar-heading,.sidebar>.sidebar-intro,.expand-settings,.editor-modes{max-width:none}
 .sidebar-scroll{max-height:55dvh}
 .sidebar{border-top:0;border-bottom:1px solid var(--border);padding-top:22px}
 .quick-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
 .setup-description{margin-bottom:16px}
 #settingsDialog{width:calc(100vw - 24px);height:calc(100dvh - 24px);border-radius:10px}
 .settings-header,.settings-footer{padding:16px 18px}
 .settings-header h2{font-size:19px}
 .settings-body{padding:18px}
}
@media(max-width:560px){
 #expandedFormHost .detailed-groups{grid-template-columns:1fr}
 .settings-header{align-items:flex-start;gap:12px;flex-direction:column}
 .settings-header .btn{align-self:flex-end;margin-top:-3px;padding:8px 10px;font-size:11px}
 .settings-header h2{font-size:18px}
 .settings-header .muted{font-size:10px}
 .settings-footer{gap:10px;padding:12px;flex-wrap:wrap}
 #expandedPreview{gap:20px;flex:1}
 #expandedPreview strong{font-size:20px}
 #expandedPreview>small{display:none}
 .settings-footer .btn{font-size:10px;padding:8px}
 .quick-fields{display:block}
}

/* Match the slider thumb's center to the graph's exact x-coordinate. */
.chart-card{--plot-left:65px;--plot-right:15px;--slider-thumb:16px}
.chart-inspector{display:block}
.chart-inspector>label{display:block;margin-bottom:7px}
.age-track{position:relative;margin-left:calc(var(--plot-left) - var(--slider-thumb)/2);margin-right:calc(var(--plot-right) - var(--slider-thumb)/2);height:24px;--age-progress:0%}
.age-track:before{content:'';position:absolute;left:calc(var(--slider-thumb)/2);right:calc(var(--slider-thumb)/2);top:10px;height:4px;border-radius:3px;background:linear-gradient(to right,var(--green) 0%,var(--green) var(--age-progress),#dce5d8 var(--age-progress),#dce5d8 100%);pointer-events:none}
#inspectAge{appearance:none;-webkit-appearance:none;display:block;width:100%;height:24px;margin:0;padding:0;border:0;background:transparent;position:relative;cursor:ew-resize;box-sizing:border-box}
#inspectAge::-webkit-slider-runnable-track{height:4px;border:0;background:transparent}
#inspectAge::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:var(--slider-thumb);height:var(--slider-thumb);border:2px solid white;border-radius:50%;background:var(--green);margin-top:-6px;box-shadow:0 0 0 1px #174d4226}
#inspectAge::-moz-range-track{height:4px;border:0;background:transparent}
#inspectAge::-moz-range-progress{background:transparent}
#inspectAge::-moz-range-thumb{box-sizing:border-box;width:var(--slider-thumb);height:var(--slider-thumb);border:2px solid white;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px #174d4226}
.sidebar-heading{align-items:flex-start}
.sidebar-tools{display:flex;align-items:center;gap:9px;flex-shrink:0}
.sidebar-tools .textbtn{font-size:10px}
.pane-width-toggle{display:grid;place-items:center;width:29px;height:29px;border:1px solid #d9e3d2;border-radius:6px;background:#f5f8f0;color:var(--green);cursor:pointer;padding:5px}
.pane-width-toggle:hover{background:#e7efdf}
.pane-width-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:801px){.layout.sidebar-wide{grid-template-columns:clamp(320px,34vw,440px) minmax(0,1fr)}}
@media(max-width:800px){.pane-width-toggle{display:none}}

/* Draggable divider with a persistent hide/show tab beside Expand inputs. */
.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}
.pane-divider{display:none}
#settingsDialog.pane-fullscreen{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0}
#settingsDialog.pane-fullscreen .settings-body{padding-left:clamp(24px,5vw,90px);padding-right:clamp(24px,5vw,90px)}
#settingsDialog.pane-fullscreen #expandedFormHost .detailed-groups{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1500px;margin:auto}
#settingsDialog.pane-fullscreen #expandedEventsHost{max-width:1500px;margin:24px auto 0}
body.resizing-inputs,body.resizing-inputs *{cursor:col-resize!important;user-select:none!important}
@media(min-width:801px){
 .layout{position:relative;--sidebar-width:304px;grid-template-columns:var(--sidebar-width) 10px minmax(0,1fr)}
 .layout>.sidebar{grid-column:1;grid-row:1;min-width:0;border-right:0}
 .layout>.workspace{grid-column:3;grid-row:1}
 .pane-divider{display:block;position:relative;grid-column:2;grid-row:1;height:100%;z-index:8;background:#eef1eb;border-left:1px solid #dde4d7;border-right:1px solid #dde4d7}
 .splitter-track{position:absolute;inset:0;cursor:col-resize;touch-action:none;outline-offset:-2px}
 .splitter-track:hover,.splitter-track:focus-visible,.is-resizing .splitter-track{background:#d7e4cf}
 .splitter-grip{position:absolute;top:50%;left:2px;right:2px;height:34px;transform:translateY(-50%);border-left:1px solid #8ca17c;border-right:1px solid #8ca17c;pointer-events:none}
 .splitter-hint{position:absolute;top:calc(50% + 29px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:7px 10px;border-radius:5px;background:#274d38;color:white;font-size:10px;opacity:0;pointer-events:none;transition:opacity .12s}
 .pane-divider:hover .splitter-hint,.pane-divider:focus-within .splitter-hint,.is-resizing .splitter-hint{opacity:1}
 .layout.sidebar-hidden{grid-template-columns:0 0 minmax(0,1fr)}
 .pane-tab{position:absolute;top:var(--pane-tab-top,44px);left:100%;transform:translateY(-50%);width:28px;height:44px;display:grid;place-items:center;padding:4px;border:1px solid #315b49;border-left:0;border-radius:0 10px 10px 0;background:var(--green);color:white;cursor:pointer;box-shadow:2px 2px 5px #1836211a;z-index:2}
 .pane-tab:hover{background:#2b6655}
 .pane-tab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .pane-tab:focus-visible{outline:3px solid #89b7a4;outline-offset:2px}
 .sidebar-hidden .pane-divider{width:0;border:0;background:transparent}
 .sidebar-hidden .splitter-track,.sidebar-hidden .splitter-hint{display:none}
 .sidebar-hidden .pane-tab{left:0}
}
@media(min-width:801px) and (max-width:1150px){.layout{--sidebar-width:275px}}
@media(min-width:1450px){.layout{--sidebar-width:320px}}
@media(max-width:800px){#settingsDialog.pane-fullscreen #expandedFormHost .detailed-groups{grid-template-columns:1fr}}

/* Results stay outside the scrolling editor, in both expanded modes. */
.settings-header{padding:15px 28px;gap:12px}
.settings-header h2{font-size:20px;margin-bottom:3px}
.settings-header .eyebrow{margin-bottom:5px}
#expandedPreview.expanded-results{display:block;flex:none;padding:12px 28px;background:var(--paper);border-bottom:1px solid var(--border)}
.expanded-results-heading{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:7px}
#expandedMetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
#expandedMetrics .metric{display:block;padding:10px 15px;border-radius:8px}
#expandedMetrics .label{font-size:10px;line-height:1.35;min-height:0;margin-bottom:5px}
#expandedMetrics .number{font-size:26px;line-height:1.1;letter-spacing:-.8px}
#expandedMetrics .metric p{display:none}
#expandedMetrics .delta{font-size:9px;margin-top:4px}
.settings-body{flex:1;padding:18px 42px 20px 28px}
#settingsDialog.pane-fullscreen .settings-body{padding:18px 48px 24px 28px}
#expandedFormHost .detailed-groups,#settingsDialog.pane-fullscreen #expandedFormHost .detailed-groups{display:flex;flex-direction:column;gap:12px;max-width:1500px;margin:auto}
#expandedFormHost .input-section{width:100%;padding:14px 18px}
#expandedFormHost .input-section>summary{padding:0 0 10px;margin-bottom:12px;gap:12px}
#expandedFormHost .input-section:not([open])>summary{padding:0;margin:0;border:0}
#expandedFormHost .input-section .group-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(190px,calc((100% - 48px)/4))),1fr));gap:12px 16px;align-items:start}
#expandedFormHost .field{margin:0}
#expandedFormHost .field>span{margin-bottom:5px}
#expandedFormHost .field-wrap input,#expandedFormHost .field-wrap select{padding-top:9px;padding-bottom:9px}
#expandedFormHost .field small{margin-top:4px}
.promotion-options{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1fr) 2fr;align-items:start;gap:16px;border-top:1px solid #edf1e7;padding-top:12px}
.promotion-options .feature-toggle{grid-column:auto;margin:0;min-height:38px}
.promotion-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#expandedEventsHost,#settingsDialog.pane-fullscreen #expandedEventsHost{max-width:1500px;margin:16px auto 0}
#editAnnualReturns{display:block;max-width:1500px;width:100%;margin:auto;text-align:left}
.settings-footer{padding:10px 28px}
@media(max-width:600px){
 .settings-header{padding:12px 16px;flex-direction:row;align-items:center}
 .settings-header h2{font-size:16px}
 .settings-header .eyebrow,.settings-header .muted{display:none}
 .settings-header .btn{align-self:auto;margin:0;font-size:10px;padding:8px}
 #expandedPreview.expanded-results{padding:10px 12px}
 #expandedMetrics{gap:6px}
 #expandedMetrics .metric{padding:8px}
 #expandedMetrics .label{font-size:9px;min-height:25px}
 #expandedMetrics .number{font-size:20px;letter-spacing:-.6px}
 #expandedMetrics .delta{font-size:8px}
 .settings-body,#settingsDialog.pane-fullscreen .settings-body{padding:12px 34px 16px 12px}
 #expandedFormHost .input-section{padding:12px}
 #expandedFormHost .input-section .group-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .promotion-options{grid-template-columns:1fr;gap:10px}
 .settings-footer{padding:9px 12px}
 .settings-footer p{font-size:10px;max-width:45%}
}
@media(max-width:380px){
 #expandedFormHost .input-section .group-fields{grid-template-columns:1fr}
 #expandedMetrics .number{font-size:17px}
}


.retirement-note{font-size:10px;line-height:1.6;color:var(--muted);padding-top:12px;margin-top:12px;border-top:1px solid var(--border)}
#inspectValues{flex-wrap:wrap;gap:6px 18px}

.household-control{background:#edf3e7;border:1px solid #d6e1cb;border-radius:8px;padding:12px;margin-bottom:16px}
.household-control label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}
.household-control input,.person-benefit input[type=checkbox]{accent-color:var(--green)}
.household-control p{font-size:10px;line-height:1.6;color:var(--muted);margin-top:7px}
.person-benefit{grid-column:1/-1;border:1px solid var(--border);border-radius:7px;padding:12px;margin-bottom:10px}
.person-benefit .feature-toggle{margin:0}
.person-benefit .benefit-fields{margin-top:12px}
.benefit-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:10px}
#expandedFormHost .benefit-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px 16px}
#expandedFormHost .person-benefit{margin:0}
#expandedFormHost .household-control{max-width:1500px;margin:0 auto 16px}
.phase-strip{flex-wrap:wrap}
.phase{flex:1 1 150px}
@media(max-width:600px){#expandedFormHost .benefit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

#expandedFormHost .person-inputs{grid-column:1/-1}
#expandedFormHost .person-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(190px,calc((100% - 48px)/4))),1fr));gap:12px 16px;align-items:start}
#expandedFormHost .is-personal.has-partner .group-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#expandedFormHost .is-personal.has-partner .person-inputs,#expandedFormHost .is-personal.has-partner .person-benefit{grid-column:auto}
#expandedFormHost .is-personal.has-partner .person-inputs{border:1px solid var(--border);border-radius:7px;padding:12px}
#expandedFormHost .is-personal.has-partner .person-fields-grid,#expandedFormHost .is-personal.has-partner .benefit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.sidebar .person-inputs+.person-inputs{padding-top:15px;border-top:1px solid var(--border)}
@media(max-width:800px){#expandedFormHost .is-personal.has-partner .group-fields{grid-template-columns:1fr}}
@media(max-width:600px){#expandedFormHost .person-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Short setup steps share one live form between the sidebar and expanded view. */
.expanded-modes{flex-shrink:0;margin:0;padding:8px 26px 12px;border-bottom:1px solid var(--line,#dce3d7);background:#fafbf7;justify-content:center;gap:6px}
.expanded-modes button{flex:0 1 220px;min-height:38px}
.quick-optional{border:1px solid #dce3d7;border-radius:10px;margin:18px 0;padding:13px;background:#fff}
.quick-optional summary{cursor:pointer;font-weight:600;font-size:13px}
.quick-optional summary span{font-size:11px;font-weight:400;color:#687464;margin-left:5px}
.quick-optional .quick-fields{padding-top:16px}
.tax-reminder{color:#796029!important;font-size:11px!important}
#settingsDialog[data-mode="quick"] #expandedFormHost{max-width:960px;margin:0 auto;width:100%}
#settingsDialog[data-mode="quick"] .quick-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
#settingsDialog[data-mode="quick"] .household-control{margin-bottom:20px}
#settingsDialog[data-mode="quick"] .setup-progress{max-width:350px}
#settingsDialog[data-mode="quick"] .assumption-note{margin-top:24px}
#settingsDialog [hidden]{display:none!important}
@media(max-width:600px){.expanded-modes{padding:8px 16px}.expanded-modes button{min-height:36px}#settingsDialog[data-mode="quick"] .quick-fields{grid-template-columns:1fr;gap:12px}}
/* Life events: consistent cards for recurring costs and one-time cash flows. */
.event-row.life-event{display:block;grid-template-areas:none;border:1px solid var(--border);border-radius:10px;background:#fbfcf9;margin:12px 0;padding:15px}
.event-row.life-event.incoming{border-left:3px solid #78a587}
.life-event .event-top{display:grid;grid-template-columns:80px minmax(150px,1fr) minmax(140px,1.4fr) 28px;gap:12px;align-items:end}
.life-event label{display:block;min-width:0;font-size:11px;color:var(--muted)}
.life-event input,.life-event select{width:100%;min-width:0;border:1px solid #dce3d6;border-radius:5px;background:white;color:var(--ink);padding:9px;margin-top:6px;font-size:12px;font-variant-numeric:tabular-nums}
.life-event .event-include{display:flex;gap:7px;align-items:center;align-self:center;font-weight:600;color:var(--green)}
.life-event .event-include input{width:15px;height:15px;margin:0;accent-color:var(--green)}
.life-event .event-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:14px}
.life-event .event-result{color:#4c6e43}
.life-event .event-explanation{margin-top:12px;font-size:11px;line-height:1.6;color:var(--muted)}
.event-row.life-event .event-remove{grid-area:auto;grid-column:auto;grid-row:auto;align-self:end;margin-bottom:3px}
@media(max-width:650px){.life-event .event-top{grid-template-columns:1fr 28px;gap:10px}.life-event .event-top .event-include{grid-column:1;grid-row:1}.life-event .event-top .event-remove{grid-column:2;grid-row:1}.life-event .event-top>label:not(.event-include){grid-column:1/-1}.life-event .event-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.event-row.life-event{padding:12px}}

.life-event .event-fields>label{grid-column:auto;grid-area:auto}
/* Optional planning tools retain the sidebar's compact layout and expand into grids. */
.planning-section{grid-column:1/-1;min-width:0;width:100%}
.planning-section .field-help{font-size:11px;line-height:1.65;margin:10px 0 16px;color:var(--muted)}
.planning-person,.market-band{border:1px solid var(--border);border-radius:9px;padding:13px;margin:12px 0;background:#fbfcf9;min-width:0}
.planning-person h4{font-size:14px;margin:0 0 12px;color:var(--green)}
.planning-person>strong{display:block;font-size:12px;margin-bottom:12px}
.planning-grid{display:grid;grid-template-columns:1fr;gap:10px 16px;min-width:0}
.planning-grid .field{margin:0;min-width:0}
.health-stage{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.health-stage h5{font-size:12px;margin:0 0 10px}
.health-accounts{margin-top:15px;border-top:1px solid var(--border);padding-top:14px}
.health-accounts summary{cursor:pointer;font-size:12px;font-weight:600}
.health-accounts summary span{font-size:10px;font-weight:400;color:var(--muted)}
.health-accounts .feature-toggle{margin:16px 0 12px}
.market-band-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:12px}
.market-band small{display:block;margin-top:12px;line-height:1.6;color:var(--muted);font-size:10px}
.market-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.market-actions .btn{font-size:11px}
.market-results,.market-path-summary{font-size:11px;line-height:1.6;color:var(--green);font-variant-numeric:tabular-nums}
.market-results{margin-top:14px;background:#edf3e7;padding:10px;border-radius:6px}
.market-path-summary{margin:0 0 10px}
#expandedFormHost .planning-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
#expandedFormHost [data-planning-section]{grid-column:1/-1}
#expandedFormHost .planning-person{padding:16px}
#expandedFormHost .market-band .planning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#ledgerRows input:disabled{color:#48603f;background:#eef2e9;opacity:1}
@media(max-width:600px){#expandedFormHost .planning-grid,#expandedFormHost .market-band .planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card>.card-title{flex-wrap:wrap}.market-actions .btn{padding:7px 9px}.planning-person,.market-band{padding:10px}}
@media(max-width:380px){#expandedFormHost .planning-grid,#expandedFormHost .market-band .planning-grid{grid-template-columns:1fr}}
/* The section navigator is outside the scrolling inputs in both views. */
#sidebarNavDock,#expandedNavDock{flex-shrink:0;min-width:0}
.section-nav{min-width:0;background:#fff;border-bottom:1px solid var(--border);padding:0 0 12px;margin-bottom:12px}
.section-nav-top{display:flex;align-items:center;gap:9px;min-width:0}
.section-nav-top>label{font-size:10px;letter-spacing:.3px;font-weight:700;color:var(--muted);white-space:nowrap}
.section-nav-top select{min-width:0;flex:1;width:100%;border:1px solid #dce4d8;border-radius:7px;background:#f8faf5;color:var(--ink);padding:9px 25px 9px 10px;font-size:12px;text-overflow:ellipsis}
.section-chips-row{display:flex;align-items:center;gap:7px;margin-top:9px;min-width:0}
.section-chips{display:flex;align-items:center;gap:6px;overflow-x:auto;min-width:0;flex:1;padding:3px 2px 7px;scrollbar-width:thin;scrollbar-color:#c9d6c3 transparent;overscroll-behavior-x:contain}
.section-chip{flex:none;background:#f6f8f2;border:1px solid #e0e6da;color:#65765e;padding:7px 10px;border-radius:7px;font-size:11px;white-space:nowrap;line-height:1.2}
.section-chip:hover{background:#e9f1e3;color:var(--green);border-color:#b9cdb0}
.section-chip[aria-current]{background:var(--green);border-color:var(--green);color:#fff}
.chip-arrow{border:1px solid var(--border);background:#fff;border-radius:6px;color:var(--green);font-size:21px;width:29px;height:31px;flex:none;line-height:1}
.chip-arrow:disabled{opacity:.3}
.nav-collapse{white-space:nowrap;margin-left:auto}
.sidebar>.editor-modes{margin-bottom:10px}
.sidebar .section-chips{padding-bottom:2px}
.sidebar .section-chip{flex:1;text-align:center;padding:7px 5px;font-size:10px}
#expandedNavDock{background:#fafbf7;padding:0 42px 0 28px;border-bottom:1px solid var(--border)}
#expandedNavDock .section-nav{max-width:1500px;margin:0 auto;padding:9px 0 5px;background:transparent;border:0}
#expandedNavDock .section-nav-top select{flex:0 1 320px;width:320px}
#expandedNavDock .section-nav-top>label{font-size:11px}
#expandedNavDock .section-chip{padding:7px 12px}
.expanded-modes{padding-bottom:8px}
.brand-name{font-size:21px;letter-spacing:-.8px;white-space:nowrap}
.brandmark{flex:none}
@media(max-width:1150px){.topbar .prototype{display:none}.brand-name{font-size:19px}}
@media(max-width:600px){
 .topbar{height:auto;min-height:68px;padding:10px 14px;flex-wrap:wrap;gap:8px}
 .topbar .brand{gap:8px}.brand-name{font-size:18px}.brandmark{width:28px;height:28px;border-radius:8px}
 .topactions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
 #expandedNavDock{padding:0 34px 0 12px}
 #expandedNavDock .section-nav-top select{flex:1;width:100%}
 .nav-collapse{font-size:9px;max-width:56px;white-space:normal;line-height:1.3}
 .section-nav-top select{font-size:11px;padding-top:8px;padding-bottom:8px}
 #expandedNavDock .section-chip{padding:6px 9px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.section-chips{scroll-behavior:auto}}
/* Compact quick setup: one step navigator and persistent actions. */
.return-heading>span{display:block;margin-top:8px}.return-heading .btn{font-size:10px;padding:6px 8px}
.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.wizard-steps button{border:0;border-radius:7px;background:#f2f5ee;color:var(--muted);font-size:10px;padding:8px 3px;display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px}
.wizard-steps button>span{font-weight:700}.wizard-steps [aria-current]{background:var(--green);color:#fff}
.wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding:12px 0;background:#fff;border-top:1px solid var(--border)}
.wizard-position{font-size:11px;color:var(--muted);white-space:nowrap}.wizard-buttons{display:flex;gap:8px}.wizard-buttons .btn{padding:9px 12px}
#expandedWizardFooter{padding:12px 28px}.quick-assumptions{margin:18px 0;color:var(--muted);font-size:11px}.quick-assumptions>summary{cursor:pointer;padding:8px 0}.quick-assumptions .assumption-note{margin:0!important}
.sidebar:is([data-mode="quick"],[data-mode="detailed"]){padding-top:16px}.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .sidebar-heading{margin-bottom:8px}.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .sidebar-heading .eyebrow,.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .sidebar-intro{display:none}
.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .sidebar-heading h2{font-size:17px}.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .expand-settings{margin:0 0 8px;padding:8px}.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .wizard-steps button{flex-direction:column;gap:2px}
:is([data-mode="quick"],[data-mode="detailed"]) .household-control{padding:10px 12px;margin-bottom:14px!important}:is([data-mode="quick"],[data-mode="detailed"]) .household-control p{font-size:10px;margin-top:5px;line-height:1.4}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header{padding:10px 28px;gap:12px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header .eyebrow,#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header .muted{display:none}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header h2{font-size:19px;margin:0}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedPreview{padding:7px 28px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .expanded-results-heading{margin-bottom:5px;font-size:9px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics{gap:8px;margin:0}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics .metric{display:block;padding:7px 12px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics .metric .label{font-size:9px;margin-bottom:3px;min-height:0}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics .metric .number{font-size:22px;line-height:1.1}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics .metric p,#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics .metric .delta{display:none}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .expanded-modes{padding:5px 28px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .expanded-modes button{padding:7px;min-height:32px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedNavDock .section-nav{padding:5px 0 8px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-body{padding-top:16px;padding-bottom:16px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .setup-description{margin-bottom:16px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .setup-title{font-size:19px}
@media(max-width:800px){
 .sidebar:is([data-mode="quick"],[data-mode="detailed"]) .sidebar-scroll{max-height:60dvh;overflow-y:auto}
 .sidebar:is([data-mode="quick"],[data-mode="detailed"]) #assumptions{display:block}
 #sidebarWizardFooter{position:sticky;bottom:0;z-index:3}
}
@media(max-width:600px){
 #expandedWizardFooter{padding:10px 16px}
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header{padding:8px 16px}
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header h2{font-size:16px}
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header .btn{font-size:10px;padding:8px}
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedPreview{padding:6px 16px}
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics .metric{padding:6px}
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedMetrics .metric .number{font-size:18px}
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .expanded-modes{padding:4px 16px}
 .wizard-steps button{font-size:9px;gap:4px}
}

/* Advanced projection follows the same four-step shell, with grouped subsections. */
.wizard-jump{margin-top:8px}.wizard-jump .nav-collapse{font-size:10px}
.sidebar .wizard-jump select{font-size:11px;padding:7px;min-width:0}
#expandedNavDock .wizard-jump select{flex:1;max-width:430px}
#settingsDialog[data-mode="detailed"] #expandedFormHost{max-width:1500px;margin:auto}
#settingsDialog[data-mode="detailed"] .setup-description{margin-bottom:14px}
.sidebar[data-mode="detailed"] .input-section{padding-top:14px}
.wizard-events-link{margin-top:18px;border:1px solid var(--border);border-radius:8px;padding:13px;background:#f8faf5}
.wizard-events-link h4{margin:0 0 8px;font-size:13px}
#settingsDialog[data-mode="detailed"] #expandedEventsHost{margin-top:18px}
/* Get started is a lightweight entry to either projection, or a saved plan. */
#getStartedDialog{width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--border);border-radius:18px;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #122c2940;overflow:auto}
#getStartedDialog::backdrop{background:#12292380;backdrop-filter:blur(4px)}
.welcome-heading{text-align:center;max-width:540px;margin:0 auto 24px}
.welcome-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--green);color:var(--accent);font-size:29px;margin:0 auto 16px}
.welcome-heading h2{font-size:32px;letter-spacing:-1px;margin-bottom:10px}
.welcome-heading .muted{font-size:13px;line-height:1.6}
.projection-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.projection-choice{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;padding:23px;border:1px solid #d4dfcf;border-radius:12px;background:#fff;color:var(--ink);transition:background .15s,border-color .15s}
.projection-choice:hover{background:#f1f7eb;border-color:#6c9373}
.choice-tag{font-size:9px;font-weight:700;letter-spacing:1.3px;color:#6a806b}
.projection-choice strong{font-size:21px;letter-spacing:-.6px}
.projection-choice>span:not(.choice-tag):not(.choice-action){font-size:12px;line-height:1.7;color:var(--muted)}
.projection-choice .choice-action{margin-top:auto;padding-top:12px;font-size:12px;font-weight:700;color:var(--green)}
.welcome-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center;margin:18px 0}
.welcome-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:18px}
@media(max-width:600px){#getStartedDialog{padding:22px 18px}.welcome-heading{margin-bottom:18px}.welcome-heading h2{font-size:27px}.projection-choices{grid-template-columns:1fr}.projection-choice{padding:17px;gap:8px}.projection-choice strong{font-size:19px}.projection-choice .choice-action{padding-top:5px}.welcome-mark{display:none}.welcome-actions{gap:10px}.sidebar .editor-modes button{font-size:10px}}

/* One-line household toggle; contextual guidance does not consume form space. */
.household-control{position:relative;display:flex;align-items:center;gap:8px}
.household-control,:is([data-mode="quick"],[data-mode="detailed"]) .household-control{padding:8px 12px}
.household-control label{flex:1;white-space:nowrap;min-width:0}
.household-control input{margin:0;flex-shrink:0}
.partner-help{display:grid;place-items:center;flex:none;width:18px;height:18px;padding:0;border:1px solid #9aaf94;border-radius:50%;background:transparent;color:var(--green);font-size:11px;font-weight:600;line-height:1;cursor:help}
.partner-tooltip{position:absolute;top:calc(100% + 7px);left:0;z-index:12;width:100%;max-width:360px;padding:10px 12px;border-radius:7px;background:var(--green);color:white;font-size:11px;font-weight:400;line-height:1.55;box-shadow:0 4px 14px #18362126;visibility:hidden;opacity:0;pointer-events:none}
.partner-tooltip:before{content:'';position:absolute;left:0;right:0;top:-8px;height:8px}
.household-control:hover .partner-tooltip,.household-control:focus-within .partner-tooltip{visibility:visible;opacity:1;pointer-events:auto}

/* Subsection chiclets stay in the fixed navigator in both projection modes. */
.subsection-nav{margin-top:8px;min-width:0}
.subsection-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.subsection-nav-heading>span{font-size:10px;font-weight:700;color:var(--muted)}
.subsection-nav-heading .nav-collapse{font-size:10px;max-width:none;white-space:nowrap;padding:2px 0}
.subsection-chips{display:flex;flex-wrap:wrap;gap:5px;max-height:94px;overflow-y:auto;padding:3px 2px 5px;scrollbar-width:thin;scrollbar-color:#c9d6c3 transparent}
.subsection-chips .section-chip{flex:none;min-width:0;max-width:100%;white-space:normal;text-align:left;padding:6px 9px;font-size:10px;line-height:1.35}
.sidebar .subsection-chips .section-chip{flex:none;padding:5px 7px;font-size:10px}
#expandedNavDock .subsection-chips .section-chip{padding:6px 10px;font-size:11px}
#expandedNavDock .subsection-chips{max-height:72px}
@media(max-width:600px){#expandedNavDock .subsection-chips{max-height:76px}#expandedNavDock .subsection-chips .section-chip{font-size:10px;padding:5px 8px}}

/* Keep a failed plan visible in the results and expanded editor. */
.funding-warning{font-size:11px;line-height:1.45;color:#9b3d33;background:#fff0e9;border:1px solid #edc7bb;border-radius:6px;padding:7px 10px;margin:0 0 10px;font-weight:600}
#expandedFundingWarning{margin:7px 0 0;font-size:10px;padding:5px 8px}
.metric.is-negative .number{color:#b64239}
.metric.primary.is-negative{background:#793930;border-color:#793930}
.metric.primary.is-negative .number{color:#fff1ed}

/* Keep correction links readable in both input panes and the main view. */
.validation-issue + .validation-issue{margin-top:8px}
.validation-issue a,#toast a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.validation-issue a:focus-visible,#toast a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
.validation-note{margin:8px 0 0;font-size:11px}

#toast.show a{pointer-events:auto}

.return-reset{border:0;background:transparent;color:var(--green);font-size:17px;cursor:pointer;padding:2px 5px;border-radius:4px;vertical-align:middle}
.return-reset:hover{background:#e6eddf}

/* The shared life-event editor fits either the sidebar or expanded inputs. */
#life-events{scroll-margin-top:12px}
#life-events .events-card{margin:0 0 20px;padding:16px}
.sidebar #life-events .events-card{padding:0;border:0;border-radius:0}
.sidebar .life-event .event-top{grid-template-columns:minmax(0,1fr) 28px;gap:10px}
.sidebar .life-event .event-top .event-include{grid-column:1;grid-row:1}
.sidebar .life-event .event-top .event-remove{grid-column:2;grid-row:1}
.sidebar .life-event .event-top>label:not(.event-include){grid-column:1/-1}
.sidebar .life-event .event-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sidebar .events-card>.card-title{flex-wrap:wrap;gap:10px}
.sidebar .event-row.life-event{padding:10px}

.field-info{position:relative;float:right;display:inline-block;margin-left:5px;color:#68806f;font-size:12px;line-height:16px;cursor:help;z-index:1}
.field-info::after{content:attr(data-help);display:none;position:absolute;right:0;top:20px;width:260px;max-width:70vw;padding:10px 12px;border-radius:7px;background:#213a35;color:white;font-size:12px;font-weight:400;line-height:1.5;box-shadow:0 4px 16px #0003;white-space:normal;z-index:30}
.field-info:hover,.field-info:focus{z-index:30}
.field-info:hover::after,.field-info:focus::after{display:block}
.field-info:focus-visible{outline:2px solid #89b7a4;outline-offset:2px}

/* Expanded inputs share the page's available content area with the results. */
.layout.inputs-expanded{grid-template-columns:minmax(0,1fr)}
.layout.inputs-expanded>.sidebar,.layout.inputs-expanded>.pane-divider,.layout.inputs-expanded>.workspace{display:none!important}
#settingsDialog{position:relative;inset:auto;grid-column:1/-1;display:flex;flex-direction:column;width:100%;max-width:none;height:100%;max-height:none;min-height:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:var(--paper);color:var(--ink);overflow:hidden}
#settingsDialog .settings-body{flex:1;min-height:0;overflow:auto;padding:20px 28px}
#settingsDialog .settings-header,#expandedPreview,#expandedNavDock,#expandedWizardFooter,.expanded-modes{flex-shrink:0}
#settingsDialog .settings-header{background:white}
.age-household{min-width:0}
.household-control,:is([data-mode="quick"],[data-mode="detailed"]) .household-control{display:block;padding:0;margin:10px 0 14px!important;background:none;border:0}
.household-control label{display:flex;align-items:center;gap:7px;white-space:normal}
.household-control p{font-size:11px;line-height:1.5;margin-top:6px;color:var(--muted)}
.field-label{display:inline!important;position:relative;width:auto!important}
.field-info{float:none;display:inline-block;vertical-align:baseline;margin-left:5px}
.field-info::after{left:0;right:auto;max-width:min(260px,65vw)}
.field-label:hover .field-info,.field-label:focus-within .field-info{z-index:40}
.field-label:hover .field-info::after,.field-label:focus-within .field-info::after{display:block}
.empty-projection{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:var(--muted)}
.empty-projection strong{font-size:22px;color:var(--ink)}
.empty-projection p{max-width:440px;line-height:1.6}
.life-event .event-top,.sidebar .life-event .event-top{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.life-event .event-top .event-title,.sidebar .life-event .event-top .event-title{grid-column:1;grid-row:1}
.life-event .event-top .event-include,.sidebar .life-event .event-top .event-include{grid-column:2;grid-row:1}
.life-event .event-top .event-remove,.sidebar .life-event .event-top .event-remove{grid-column:3;grid-row:1}
.life-event .event-title input{font-size:19px;font-weight:700;color:var(--green);background:#f6f9f2;border-color:transparent;padding:9px 10px}
.life-event .event-title>span{font-size:10px}
.event-type-row{max-width:380px;margin:16px 0}
.event-type-row select{width:100%}
.event-group{margin:16px 0}
.event-group h4{margin:0 0 10px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.life-event .event-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;align-items:start}
.event-model-note{margin-top:16px;border-top:1px solid var(--border);padding-top:12px;color:var(--muted);font-size:11px}
.event-model-note>summary{cursor:pointer;font-weight:600}
.event-model-note .event-explanation{margin-top:10px;line-height:1.7}
.sidebar .life-event .event-top{grid-template-columns:minmax(0,1fr) 24px}
.sidebar .life-event .event-top .event-title{grid-column:1;grid-row:1}
.sidebar .life-event .event-top .event-remove{grid-column:2;grid-row:1}
.sidebar .life-event .event-top .event-include{grid-column:1/-1;grid-row:2}
.sidebar .life-event .event-title input{font-size:16px}
@media(max-width:800px){.layout.inputs-expanded{display:block;height:calc(100dvh - 82px);min-height:460px}#settingsDialog .settings-body{padding:16px}#settingsDialog .settings-header{padding:10px 16px}}
@media(max-width:600px){.life-event .event-top{grid-template-columns:minmax(0,1fr) 24px}.life-event .event-top .event-include{grid-column:1;grid-row:2}.life-event .event-top .event-remove{grid-column:2;grid-row:1}.life-event .event-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
#expandedRememberDock{padding:0 28px;background:white;flex-shrink:0}
#expandedRememberDock .local-save{margin:0;padding:5px 0;background:none;max-width:none}
#expandedRememberDock .local-save p{display:none}
#expandedRememberDock .local-save label{display:inline-flex}

/* One compact header, full-width form, and persistent results/action bar. */
.settings-title-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.mode-switch{font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:normal;text-align:left;line-height:1.4}
.sidebar-heading .mode-switch{margin-top:7px;font-size:10px}
#settingsDialog .settings-header{flex-shrink:0}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedFormHost,#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) #expandedFormHost .detailed-groups,#settingsDialog #expandedEventsHost,#settingsDialog #expandedNavDock .section-nav{width:100%;max-width:none;margin-left:0;margin-right:0}
#settingsDialog .settings-body,#expandedNavDock{padding-left:28px;padding-right:28px}
#settingsDialog #expandedWizardFooter{display:grid;grid-template-columns:minmax(145px,1fr) minmax(0,3.5fr) minmax(145px,1fr);align-items:center;gap:22px;padding:10px 28px;background:#fff;border-top:1px solid var(--border);box-shadow:0 -5px 20px #213a3506}
.footer-back{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 12px}
.footer-back .wizard-position{grid-column:1/-1;font-size:10px}
.footer-back>.btn{grid-column:1;grid-row:2;justify-self:start}
.footer-next{display:flex;justify-content:flex-end;align-items:center}
#settingsDialog .projection-footer #expandedPreview{padding:0;min-width:0;width:100%;margin:0;border:0;background:none}
#settingsDialog .expanded-results-heading{font-size:9px;margin:0 0 5px;letter-spacing:.6px}
#settingsDialog .projection-footer #expandedMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
#settingsDialog .projection-footer #expandedMetrics .metric{display:block;min-width:0;padding:8px 10px;border-radius:7px}
#settingsDialog .projection-footer #expandedMetrics .metric .label{font-size:9px;line-height:1.35;min-height:24px;margin:0 0 4px}
#settingsDialog .projection-footer #expandedMetrics .metric .number{font-size:22px;line-height:1.05;letter-spacing:-.6px}
#settingsDialog .projection-footer #expandedMetrics .metric p,#settingsDialog .projection-footer #expandedMetrics .metric .delta{display:none}
#expandedRememberDock{grid-column:1/-1;padding:0;background:none}
#expandedRememberDock .local-save{padding:0}
#expandedRememberDock .local-save label{font-size:9px;gap:4px;flex-wrap:wrap;line-height:1.3}
#expandedRememberDock .field-info::after{top:auto;bottom:22px}
#expandedFundingWarning{font-size:10px;margin:5px 0 0}
/* Rounded perimeter shows input completion independently from the active step. */
.wizard-steps button,.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .wizard-steps button{position:relative;isolation:isolate;display:flex;flex-direction:row;align-items:center;gap:9px;min-height:48px;padding:9px 12px;border:0;border-radius:8px;background:#f3f5f1;color:#69746d;text-align:left}
.wizard-steps .step-outline{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);pointer-events:none;overflow:visible}
.step-outline rect{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.step-outline .step-track{stroke:#e2e8df}
.step-outline .step-fill{stroke:#429563;stroke-width:2.5;transition:stroke-dasharray .2s ease}
.wizard-steps .step-index{font-size:11px;font-weight:700;flex-shrink:0;line-height:1}
.wizard-steps .step-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.wizard-steps .step-label{font-size:12px;font-weight:600;line-height:1.25}
.wizard-steps .step-status{font-size:9px;line-height:1.25;font-weight:400;color:#78847b}
.wizard-steps button[data-progress="complete"]{background:#f1f8f0;color:#245f3f}
.wizard-steps button[aria-current="step"]{background:#e3eee5;color:#174d42;box-shadow:0 2px 6px #174d4212}
.wizard-steps button[aria-current="step"] .step-label{font-weight:800}
.wizard-steps button[aria-current="step"] .step-status{color:#174d42;font-weight:600}
.wizard-steps button[data-progress="invalid"] .step-status{color:#9a5431}
.sidebar .wizard-steps{gap:5px}
.sidebar .wizard-steps button,.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .wizard-steps button{flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 3px;text-align:center;min-height:69px}
.sidebar .wizard-steps .step-label{font-size:10px}.sidebar .wizard-steps .step-status{font-size:8px}
@media(max-width:1000px){
 #settingsDialog #expandedWizardFooter{grid-template-columns:120px minmax(0,1fr) 120px;gap:12px;padding-left:18px;padding-right:18px}
 #settingsDialog .projection-footer #expandedMetrics .metric .number{font-size:19px}
 #settingsDialog .projection-footer #expandedMetrics .metric .label{font-size:8px}
}
@media(max-width:700px){
 .settings-title-row{gap:5px;flex-direction:column;align-items:flex-start}
 #settingsDialog .settings-body,#expandedNavDock{padding-left:16px;padding-right:16px}
 #settingsDialog #expandedWizardFooter{grid-template-columns:1fr 1fr;gap:8px;padding:8px 16px}
 #settingsDialog .projection-footer #expandedPreview{grid-column:1/-1;grid-row:1}
 #settingsDialog .projection-footer #expandedMetrics .metric{padding:6px 8px}
 #settingsDialog .projection-footer #expandedMetrics .metric .label{min-height:22px}
 #settingsDialog .projection-footer #expandedMetrics .metric .number{font-size:18px}
 #settingsDialog .expanded-results-heading{display:none}
 .footer-back{grid-column:1;grid-row:2;gap:5px;grid-template-columns:auto 1fr}
 .footer-back .wizard-position{display:none}
 .footer-back>.btn{grid-row:1}
 .footer-next{grid-column:2;grid-row:2}
 #expandedRememberDock{grid-column:2;grid-row:1}
 #expandedRememberDock .local-save label{font-size:8px}
 #expandedRememberDock .field-info{display:none}
 .wizard-steps button{padding:8px 5px;gap:5px;min-height:52px}
 .wizard-steps .step-label{font-size:10px}.wizard-steps .step-status{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.step-outline .step-fill{transition:none}}

/* Keep pane actions in the corners and navigation together at the bottom. */
.sidebar .sidebar-tools{align-self:flex-start}
.sidebar #expandSettings{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:6px;margin:0;flex:none;border:1px solid var(--border);border-radius:6px;background:#fff}
.sidebar #expandSettings:hover{background:#edf2e9}
.sidebar #expandSettings svg{width:17px;height:17px;margin:0}
#sidebarWizardFooter{width:100%;padding:10px 0 0;justify-content:flex-end}
#sidebarWizardFooter .wizard-buttons{display:grid;grid-template-columns:auto auto;justify-content:end;align-items:center;gap:7px;width:100%;min-width:0}
#sidebarWizardFooter .wizard-buttons .btn{padding:8px 10px;font-size:11px}
#sidebarWizardFooter .restart-plan{justify-self:center;font-size:10px;white-space:nowrap;padding:8px 0;color:var(--muted)}
#settingsDialog #expandedWizardFooter{grid-template-columns:minmax(130px,1fr) minmax(0,3.5fr) auto;gap:22px}
.footer-next{gap:9px;flex-wrap:nowrap}
.footer-next .restart-plan{font-size:11px;white-space:nowrap;margin-right:7px;color:var(--muted);padding:10px 0}
.footer-back{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
@media(max-width:1150px){
 #settingsDialog #expandedWizardFooter{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px}
 #settingsDialog .projection-footer #expandedPreview{grid-column:1/-1;grid-row:1}
 .footer-back{grid-column:1;grid-row:2;flex-direction:row;align-items:center;gap:10px}
 .footer-next{grid-column:2;grid-row:2}
 .footer-back .wizard-position{display:none}
 #expandedRememberDock{grid-column:auto;grid-row:auto}
}
@media(max-width:480px){
 #settingsDialog #expandedWizardFooter{grid-template-columns:1fr;gap:8px;padding:8px 12px}
 .footer-next{grid-column:1;grid-row:2;justify-content:flex-end;gap:7px}
 .footer-next .restart-plan{margin-right:auto}
 .footer-next .btn{padding:8px 10px;font-size:11px}
 .footer-back{grid-column:1;grid-row:3;justify-content:flex-start}
 #expandedRememberDock .local-save label{font-size:9px}
 #sidebarWizardFooter .wizard-buttons .btn{padding:8px;font-size:10px}
}

/* Quick and Advanced use the same task cards in either input view. */
.input-section>summary>span:first-child{min-width:0}
.input-section>summary .section-optional{margin-left:auto;color:var(--muted);font-size:10px;font-weight:400}
.input-section>summary:after{flex:none}
.sidebar .detailed-groups{display:flex;flex-direction:column;gap:12px}
.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .input-section{padding:13px 12px;background:#fff;border:1px solid var(--border);border-radius:9px}
.sidebar .input-section>summary{gap:8px;font-size:12px;line-height:1.4;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid #edf1e7}
.sidebar .input-section:not([open])>summary{margin:0;padding:0;border:0}
.sidebar .input-section .field:last-child{margin-bottom:0}
.sidebar .input-section .person-inputs+.person-inputs{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.sidebar .input-section .person-inputs .field:last-child{margin-bottom:0}
.assumptions-section .assumption-note{margin:0;background:none;border:0;padding:0}
#expandedFormHost .assumptions-section .group-fields{display:block}
#expandedFormHost .input-section>summary{display:flex;align-items:center}

/* Compact sidebar navigation; the expanded editor keeps its subsection chips. */
.sidebar-jump-row{display:flex;align-items:center;gap:7px;margin-top:9px;min-width:0}
.sidebar-jump-row>label{font-size:10px;font-weight:600;white-space:nowrap;color:var(--muted)}
.sidebar-jump-row select{flex:1;min-width:0;width:0;border:1px solid var(--border);border-radius:6px;background:#f8faf6;color:var(--ink);font-size:11px;padding:7px 20px 7px 8px;min-height:32px;text-overflow:ellipsis}
.sidebar-jump-row .nav-collapse{font-size:10px;flex:none;white-space:nowrap;max-width:none}
.wizard-steps button{min-height:42px;padding:7px 10px}
.sidebar .wizard-steps button,.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .wizard-steps button{min-height:44px;padding:7px 3px;gap:0}
.sidebar .wizard-steps .step-copy{gap:3px}
.wizard-steps button[aria-current="step"],.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .wizard-steps button[aria-current="step"]{background:#174d42;color:#fff;box-shadow:0 2px 5px #174d4220}
.wizard-steps button[aria-current="step"] .step-status{color:#e0eddc;font-weight:500}
.wizard-steps button[aria-current="step"] .step-fill{stroke:#bde491}
.wizard-steps button[aria-current="step"] .step-track{stroke:#174d42}
.wizard-steps button[aria-current="step"][data-progress="invalid"] .step-status{color:#ffe0b8}
#life-events.life-events-section{margin:0 0 12px}
#expandedFormHost #life-events.life-events-section{padding:14px 18px}
#life-events.life-events-section .events-card{padding:0;margin:0;border:0;border-radius:0;box-shadow:none}
#life-events.life-events-section .events-card .eyebrow{display:none}
#life-events.life-events-section #lifeEventsHeading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Life events: scan the timeline, then edit one compact event at a time. */
.events-card>.card-title{gap:12px;margin-bottom:14px;align-items:center}
.events-card>.card-title .muted{font-size:12px;line-height:1.5}
.events-empty{padding:24px 20px;background:#f3f7f0;border:1px dashed #cddbc7;border-radius:10px;text-align:center;color:var(--muted);line-height:1.6}
.events-empty strong{display:block;font-family:Manrope,system-ui,sans-serif;color:var(--green);font-size:18px;margin-bottom:8px}
.events-empty p{max-width:530px;margin:0 auto 10px;font-size:12px}
.events-empty .event-examples{color:#466951;font-weight:600;margin:16px auto}
.events-empty>span{font-size:11px}
#events .event-row.life-event{display:block;padding:0;margin:10px 0;background:white;border:1px solid #dce5d9;border-radius:9px;overflow:visible}
#events .life-event[open]{border-color:#9ab6a4;box-shadow:0 2px 7px #174d4209}
#events .life-event.incoming{border-left:3px solid #78a587}
#events .life-event>.event-card-summary{display:flex;align-items:center;gap:12px;list-style:none;padding:13px 15px;margin:0;cursor:pointer;font-size:13px;font-weight:400;border:0}
#events summary::-webkit-details-marker{display:none}
#events .life-event>.event-card-summary::after{content:'+';flex:none;font-size:19px;font-weight:400;color:#54755e}
#events .life-event[open]>.event-card-summary::after{content:'−'}
.event-kind{display:grid;place-items:center;flex:0 0 32px;height:32px;background:#eef4e9;border-radius:8px;color:var(--green);font-size:19px}
.event-summary-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.event-summary-copy strong{font-size:15px;color:var(--green);overflow-wrap:anywhere;line-height:1.4}
.event-summary-copy>span{font-size:11px;line-height:1.4;color:var(--muted)}
.event-edit-label{font-size:11px;color:#54755e}
.life-event[open] .event-edit-label{display:none}
.event-editor{padding:0 16px 14px;border-top:1px solid #e8eee4}
.event-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px}
.event-guide{font-size:11px;line-height:1.55;color:var(--muted);margin:10px 0 14px;max-width:850px}
.event-essentials{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px}
#events .event-editor input,#events .event-editor select{padding:9px 10px;margin-top:5px;font-size:13px;min-height:38px}
#events .event-editor .event-include input{padding:0;margin:0;min-height:0;width:16px;height:16px}
.event-impact{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f2f6ed;border-radius:6px;padding:10px 12px;margin-top:14px}
#events .event-impact .event-result{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;font-size:11px}
#events .event-impact output{display:inline;padding:0;margin:0;border:0;background:none;color:#315f3c;font-size:13px;font-weight:700;min-width:0;width:auto}
.event-impact>p{font-size:10px;color:#68815e;line-height:1.5;text-align:right}
#events .event-options{margin-top:10px}
#events .event-options>summary{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:0;padding:8px 0;font-size:11px;font-weight:600;color:#52705b;list-style:none;cursor:pointer;border:0}
#events .event-options>summary::after{content:'+';font-size:15px}
#events .event-options[open]>summary::after{content:'−'}
.event-options-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:6px}
.event-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding-top:10px;border-top:1px solid #edf1e9}
.event-editor-actions .event-delete{color:#8b6c61;font-size:10px}
.event-editor-actions .btn{padding:7px 18px;font-size:11px}
.sidebar .event-identity{grid-template-columns:1fr;gap:10px}
.sidebar .event-essentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sidebar .event-essentials>label:first-child{grid-column:1/-1}
.sidebar .event-options-fields{grid-template-columns:1fr}
.sidebar #events .event-card-summary{padding:11px 10px;gap:8px}
.sidebar .event-summary-copy strong{font-size:13px}
.sidebar .event-summary-copy>span{font-size:10px}
.sidebar .event-kind{flex-basis:26px;height:28px;font-size:16px}
.sidebar .event-edit-label{display:none}
.sidebar .event-editor{padding:0 10px 10px}
.sidebar .event-impact{display:block;padding:9px}
.sidebar .event-impact>p{text-align:left;margin-top:5px}
.sidebar .events-empty{padding:20px 12px}
.sidebar .events-empty strong{font-size:15px}
@media(max-width:650px){
 .event-identity{grid-template-columns:1fr;gap:10px}
 .event-essentials{grid-template-columns:repeat(2,minmax(0,1fr))}
 .event-essentials>label:first-child{grid-column:1/-1}
 .event-impact{display:block}.event-impact>p{text-align:left;margin-top:5px}
 .event-options-fields{grid-template-columns:1fr}
 .event-edit-label{display:none}
}

/* A clear next action at the end of each wizard task. */
.subsection-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;grid-column:1/-1;border-top:1px solid #e8eee4;padding-top:12px;margin-top:16px}
.subsection-footer>span{font-size:11px;line-height:1.4;color:var(--muted)}
.subsection-footer .btn{padding:8px 15px;font-size:11px;flex:none}
.sidebar .subsection-footer{gap:8px}
.sidebar .subsection-footer>span{font-size:10px}
#assumptions input[aria-invalid="true"],#assumptions select[aria-invalid="true"]{box-shadow:inset 0 0 0 1px #bb795a;background:#fff8f3}

.historical-window{padding:16px;background:#edf4e8;border:1px solid #d8e6ce;border-radius:8px;margin:10px 0 14px}
.historical-window>strong{display:block;font-size:21px;color:var(--green);margin-bottom:5px;font-variant-numeric:tabular-nums}
.historical-window>span{font-size:12px;font-weight:600;line-height:1.5}
.historical-window>p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:9px}
.historical-year{color:#47715e;font-weight:600}

/* Return mode and annual overrides share one compact, responsive control row. */
.returns-mode-row{display:flex;align-items:flex-end;gap:12px 20px;flex-wrap:wrap;margin-bottom:14px}
.returns-mode-row>.field{flex:0 1 350px;width:350px;max-width:100%;min-width:0;margin-bottom:0}
.returns-mode-row .annual-returns-link{align-self:flex-end;flex:none;margin-bottom:9px;white-space:nowrap;font-size:11px}
.steady-return-fields{display:grid;grid-template-columns:repeat(2,minmax(0,350px));gap:18px;align-items:start}
.returns-timing{width:100%;max-width:350px;margin-top:14px}
.steady-return-fields>.returns-timing{margin-top:0}
.sidebar .returns-mode-row{flex-wrap:nowrap;gap:9px;align-items:flex-end}
.sidebar .returns-mode-row>.field{flex:1;width:auto;min-width:0}
.sidebar .returns-mode-row select{font-size:11px;padding-left:7px;padding-right:3px}
.sidebar .returns-mode-row .annual-returns-link{flex:0 0 72px;white-space:normal;font-size:10px;line-height:1.4;margin-bottom:6px;text-align:left}
.sidebar .steady-return-fields{grid-template-columns:1fr;gap:0}
@media(max-width:600px){.steady-return-fields{grid-template-columns:1fr}.returns-mode-row{gap:10px}.returns-mode-row>.field{flex:1;min-width:130px}.returns-mode-row .annual-returns-link{white-space:normal;max-width:85px;margin-bottom:6px}}
/* Results turn the forecast into a readable plan, below the primary chart. */
#insights{margin-top:20px}.insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.insight-card{padding:24px;min-width:0}.insight-card h2{font-size:21px;margin:5px 0 16px;line-height:1.25}.insight-card p{line-height:1.55}.insights-grid>.insight-card:first-child,.wide-card{grid-column:1/-1}.answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.answer-metric{padding:18px;background:#f2f6f3;border:1px solid #e0e9e2;border-radius:12px}.answer-metric>span{font-size:12px;color:#52685c}.answer-metric>strong{display:block;font-size:23px;line-height:1.2;margin:9px 0;color:#174d42}.answer-metric p{font-size:12px;margin:0;color:#53675e}.caution{background:#fbf2e9!important;border-color:#e9d4bb!important}.caution>strong{color:#855521}.insight-caption{font-size:12px;color:#63716a;line-height:1.55;margin:15px 0 0}.bridge-state{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;background:#edf5ef;border:1px solid #d9e6db;border-radius:9px;padding:12px;font-size:13px}.bridge-bars>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e8ece9;padding:12px 0;font-size:13px}.bridge-bars strong{white-space:nowrap}.cashflow-chart{display:block;width:100%;height:auto;max-height:290px;margin-top:18px;overflow:visible}.cashflow-chart text{font:11px system-ui;fill:#69786e}.cashflow-chart path{fill:none;stroke-width:2.8;stroke-linejoin:round}.mini-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#53665c}.mini-legend i,.spend-layout dt i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.insight-year{display:flex;align-items:center;gap:12px;font-size:12px;margin-bottom:18px}.insight-year select{width:auto;max-width:180px;padding:7px 12px}.spend-layout{display:flex;align-items:center;gap:22px}.spend-donut{width:130px;height:130px;flex:none;border-radius:50%;display:grid;place-items:center}.spend-donut>span{width:94px;height:94px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.spend-donut b{font-size:21px}.spend-donut small{font-size:10px;color:#67766c}.spend-layout dl{flex:1;margin:0}.spend-layout dl>div,.assumptions-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0ed;font-size:12px}.spend-layout dt{line-height:1.35}.spend-layout dd,.assumptions-list dd{margin:0;white-space:nowrap;font-weight:650}.milestone-list{list-style:none;padding:0;margin:0;max-height:320px;overflow:auto}.milestone-list li{display:flex;gap:18px;padding:12px 0;border-bottom:1px solid #edf0ed;font-size:13px}.milestone-list li>span{min-width:66px;color:#27644e}.milestone-list small{display:block;color:#788379;font-size:10px;margin-top:3px}.milestone-list strong{font-weight:550}.impact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.impact-list article{border:1px solid #e0e8e2;border-radius:12px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px}.impact-list article>div:nth-child(2){text-align:right}.impact-list strong{display:block;font-size:15px;overflow-wrap:anywhere}.impact-list b{font-size:18px}.impact-list small{display:block;color:#65766a;font-size:11px;margin-top:4px}.impact-list p,.impact-actions{grid-column:1/-1;margin:0;font-size:12px}.impact-actions{display:flex;align-items:center;gap:12px}.impact-actions .btn{font-size:12px;padding:7px 10px}.driver-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.driver-list article{display:flex;flex-direction:column;padding:18px;background:#f4f7f4;border-radius:12px;gap:10px}.driver-list strong{font-size:13px}.driver-list b{font-size:23px;color:#205d45}.driver-list span{font-size:12px;color:#5e7263;line-height:1.5}.driver-list button{align-self:flex-start;text-align:left;margin-top:auto}.review-list{list-style:none;margin:0;padding:0}.review-list li{padding:12px 0;border-bottom:1px solid #e8eee9}.review-list strong{font-size:13px}.review-list p{font-size:12px;margin:5px 0}.assumptions-list small{display:block;font-size:10px;color:#748176;margin-top:3px}.scenario-card{margin:20px 0}.scenario-save{display:flex;align-items:flex-end;gap:12px;margin:20px 0}.scenario-save label{font-size:12px;flex:1;max-width:400px}.scenario-save input,.scenario-row input{display:block;width:100%;margin-top:6px;border:1px solid #ced9d1;border-radius:7px;padding:10px;background:white;font:inherit;color:#214d3b}.scenario-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,1.4fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #e6ece7}.scenario-row p{font-size:12px;color:#627367}.scenario-row>div{display:flex;gap:7px;flex-wrap:wrap}.scenario-row .btn{font-size:12px;padding:7px 10px}.event-editor-actions{flex-wrap:wrap}.event-editor-actions .event-include{margin-right:auto;font-size:12px}.event-options-fields>label input:not([type=checkbox]){width:100%}.ss-estimate-check{font-size:12px;background:#f3f6f3;padding:10px;border-radius:7px;grid-column:1/-1}.field-error{color:#9c452c;font-size:11px!important;line-height:1.45;margin:5px 0!important}.insight-card .negative{color:#a1543e}.scenario-row button:disabled{opacity:.45;cursor:not-allowed}
@media(min-width:801px){.layout:has(.sidebar:not([hidden])) .spend-layout{flex-wrap:wrap}.layout:has(.sidebar:not([hidden])) .spend-layout dl{min-width:190px}}
@media(max-width:1100px){.impact-list{grid-template-columns:1fr}.scenario-row{grid-template-columns:1fr 1fr}.scenario-row>div{grid-column:1/-1}.answer-metric{padding:12px}.answer-metric>strong{font-size:20px}.spend-layout{flex-wrap:wrap}}
@media(max-width:800px){.insights-grid{grid-template-columns:1fr}.insight-card{padding:19px}.answer-grid{grid-template-columns:1fr}.answer-metric{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px}.answer-metric p{grid-column:1/-1}.answer-metric>strong{margin:0;font-size:20px}.driver-list{grid-template-columns:1fr}.driver-list article{display:grid;grid-template-columns:1fr auto}.driver-list span,.driver-list button{grid-column:1/-1}.spend-layout{flex-wrap:nowrap}.scenario-row{grid-template-columns:1fr}.scenario-row>div{grid-column:auto}.scenario-save{flex-wrap:wrap}.scenario-save label{min-width:190px}.summary-pane .metrics .metric p{font-size:10px}.cashflow-chart{min-height:160px}.event-editor-actions .textbtn{font-size:12px}.impact-list article{grid-template-columns:1fr}.impact-list article>div:nth-child(2){text-align:left}.impact-list p,.impact-actions{grid-column:auto}}
@media(max-width:420px){.spend-layout{flex-wrap:wrap}.spend-layout dl{flex-basis:100%}.answer-metric{display:block}.answer-metric>strong{margin:8px 0}.scenario-save .btn{width:100%}}

#compare{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric .delta{overflow-wrap:anywhere}


/* One header with the plan actions grouped on the left. */
:root{--appbar-height:68px}
#applicationHeader{position:relative;z-index:30;background:#fff}
.topbar{height:62px;min-height:62px;display:flex;justify-content:space-between;padding:0 28px;gap:16px;flex-wrap:nowrap}.topbar .brand{min-width:0}.topbar .brand-name{font-size:20px;white-space:nowrap}.topbar .prototype{display:none}.topactions{margin-left:auto}
.plan-toolbar{border-bottom:1px solid #dce5dc;background:#f8faf7}.plan-toolbar-inner{max-width:1700px;min-height:60px;padding:10px 24px;margin:auto;display:flex;align-items:center;gap:10px}.plan-toolbar .btn{height:36px;padding:8px 13px;font-size:12px}.plan-toolbar .btn:disabled{opacity:.4;cursor:not-allowed}.scenario-save-status{font-size:11px;color:#738176;margin-left:3px}.scenario-save-status.unsaved{color:#9a6d37}
.toolbar-menu{position:relative;min-width:0}.toolbar-menu>summary{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:650;cursor:pointer;list-style:none}.toolbar-menu>summary::-webkit-details-marker{display:none}.toolbar-menu>summary:hover,.toolbar-menu[open]>summary{background:#eaf0e7;border-color:#d6e2d5}.toolbar-menu>summary:focus-visible{outline:2px solid #719583;outline-offset:2px}.scenario-menu>summary{padding-left:0}.scenario-menu[open]>summary,.scenario-menu>summary:hover{padding-left:12px;margin-left:-12px}#scenarioCurrentName{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.toolbar-dropdown{position:absolute;top:calc(100% + 9px);left:0;width:300px;max-width:calc(100vw - 32px);padding:14px;background:white;border:1px solid #dce5db;border-radius:10px;box-shadow:0 12px 35px #21443220;z-index:40}.file-menu .toolbar-dropdown{left:auto;right:0;width:240px}.toolbar-dropdown>button,.scenario-menu-actions>button{display:block;width:100%;text-align:left;padding:10px;border:0;background:transparent;border-radius:6px;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.toolbar-dropdown button:hover{background:#edf3e9}.toolbar-dropdown button:disabled{opacity:.45;cursor:not-allowed}.toolbar-dropdown p{font-size:10px;line-height:1.5;color:#7a877d;margin:12px 0 0}.toolbar-dropdown label{display:block;font-size:11px;font-weight:650;margin-bottom:7px}.toolbar-dropdown input,.toolbar-dropdown select,.welcome-scenarios select{width:100%;min-width:0;height:36px;border:1px solid #d6e0d8;border-radius:6px;padding:8px 10px;background:#f8faf7;font:inherit;font-size:12px;color:var(--ink)}.toolbar-dropdown input:focus,.toolbar-dropdown select:focus{outline:2px solid #7b9f89;outline-offset:2px}.scenario-menu-actions{border-top:1px solid #e6ece4;margin-top:12px;padding-top:7px}#scenarioNaming{border-top:1px solid #e6ece4;margin-top:10px;padding-top:14px}.scenario-naming-actions{display:flex;align-items:center;gap:15px;margin-top:10px}.toolbar-dropdown .btn.dark:hover{background:#256456}
.welcome-scenarios{background:#f2f6f0;border:1px solid #dce7dc;padding:17px 19px;border-radius:12px;margin:0 0 22px}.welcome-scenarios>label{display:block;font-size:13px;font-weight:650;margin-bottom:10px}.welcome-scenarios>div{display:flex;align-items:center;gap:10px}.welcome-scenarios select{flex:1;background:#fff}.welcome-scenarios p{margin:9px 0 0;font-size:11px;line-height:1.4;color:#6b7d70}.welcome-scenarios button:disabled{opacity:.45;cursor:not-allowed}
.scenario-card>summary{font-size:14px;font-weight:650;cursor:pointer}.scenario-card>summary span{font-size:11px;font-weight:400;color:#748278;margin-left:10px}.scenario-card[open]>summary{margin-bottom:16px}.event-shortfall-note{color:#855521}
@media(min-width:801px){.layout{height:calc(100vh - var(--measured-topbar-height,var(--appbar-height)));height:calc(100dvh - var(--measured-topbar-height,var(--appbar-height)))}}
@media(max-width:800px){.topbar{height:56px;min-height:56px;padding:0 16px}.topbar .brand-name{font-size:18px}.plan-toolbar-inner{padding:9px 16px;gap:8px;flex-wrap:wrap}.plan-toolbar .btn{padding:8px 10px;font-size:11px}#scenarioCurrentName{max-width:180px}.scenario-save-status{font-size:10px}.layout.inputs-expanded{height:calc(100dvh - var(--measured-topbar-height,var(--appbar-height)))}.scenario-card>summary span{display:block;margin:6px 0 0}}
@media(max-width:440px){#scenarioCurrentName{max-width:145px}.scenario-save-status{flex-basis:100%;margin-left:0}.welcome-scenarios>div{flex-direction:column;align-items:stretch}}

/* Final header layout: Undo, current plan, Manage scenarios. */
#applicationHeader.topbar{height:68px;min-height:68px;padding:0 24px;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #dce5dc}.header-plan-actions,.header-brand,.scenario-plan-controls{display:flex;align-items:center;min-width:0;gap:10px}.header-plan-actions{flex:1}.header-brand{margin-left:auto;gap:16px}.header-brand .brand-name{font-size:18px}.header-brand .brandmark{width:29px;height:29px}.header-plan-actions .btn{height:36px;padding:8px 13px}.header-plan-actions .undo-icon{width:36px;padding:4px;font-size:24px;line-height:1;flex:none}.header-plan-actions .btn:disabled{opacity:.4;cursor:not-allowed}.scenario-plan-controls input,.scenario-plan-controls select{height:36px;max-width:260px;min-width:110px;width:210px;border:1px solid #d6e0d8;border-radius:7px;padding:8px 11px;background:#f8faf7;color:var(--ink);font:inherit;font-size:13px;font-weight:600}.scenario-plan-controls input{font-weight:400}.scenario-plan-controls input:focus,.scenario-plan-controls select:focus{outline:2px solid #7b9f89;outline-offset:2px}.scenario-menu>summary{padding:9px 12px;white-space:nowrap;border-color:#dbe4d9}.scenario-menu[open]>summary,.scenario-menu>summary:hover{margin-left:0;padding-left:12px}.scenario-menu .toolbar-dropdown{left:0;right:auto}.scenario-menu-divider{border-top:1px solid #e6ece4;margin:7px 0}.header-plan-actions .scenario-save-status{white-space:nowrap}
@media(max-width:1100px){.header-plan-actions .scenario-save-status{display:none}.header-brand .brand-name{display:none}.header-brand .brand{gap:0}.scenario-plan-controls input,.scenario-plan-controls select{width:185px}}
@media(max-width:650px){#applicationHeader.topbar{height:auto;min-height:62px;padding:12px;gap:8px}.header-brand .brand{display:none}.header-plan-actions{gap:6px;flex-wrap:wrap}.scenario-plan-controls{gap:6px}.scenario-plan-controls input,.scenario-plan-controls select{width:145px;font-size:12px}.scenario-menu>summary{font-size:11px;padding:9px}.scenario-menu[open]>summary,.scenario-menu>summary:hover{padding-left:9px}.scenario-menu .toolbar-dropdown{position:fixed;left:12px;right:auto;top:calc(var(--measured-topbar-height,68px) + 4px);width:300px;max-height:calc(100dvh - var(--measured-topbar-height,68px) - 20px);overflow:auto}.header-brand{margin-left:0}.header-plan-actions .scenario-save-status{display:none}}

/* Brand on the left; scenario controls on the right. */
#applicationHeader .header-brand{margin-left:0}#applicationHeader .header-plan-actions{margin-left:auto;justify-content:flex-end}.scenario-menu .toolbar-dropdown{left:auto;right:0}
@media(max-width:650px){.scenario-menu .toolbar-dropdown{left:auto;right:12px}}
/* Planning tools share the existing cards and stay compact until needed. */
.transition-guard{display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 24px;background:#fff8ea;border-bottom:1px solid #e6d6b4;position:relative;z-index:29}.transition-guard strong{font-size:13px}.transition-guard p{font-size:12px;margin:5px 0 0;color:#77613f}.transition-guard label{font-size:11px}.transition-guard input{display:block;border:1px solid #d8c7a6;border-radius:6px;padding:8px;margin-top:5px;max-width:210px}.guard-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#getStartedGuardDock .transition-guard{display:block;margin-bottom:18px;border:1px solid #e6d6b4;border-radius:9px;padding:16px}#getStartedGuardDock .guard-actions{margin-top:12px}#getStartedGuardDock .transition-guard label{display:block;margin-top:10px}
.assumption-ribbon{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:11px 0 17px}.assumption-ribbon-label{font-size:10px;color:#718276;margin-right:5px}.assumption-ribbon button{border:1px solid #e0e7dc;border-radius:7px;padding:7px 10px;background:#f4f7f1;text-align:left;color:var(--ink)}.assumption-ribbon b{font-size:10px;font-weight:600;display:block}.assumption-ribbon small{font-size:9px;color:#7b887c;display:block;margin-top:3px}.assumption-ribbon button:hover{background:#eaf2e3}
.scenario-comparison>summary,.event-templates>summary{font-size:15px;font-weight:650;cursor:pointer}.scenario-comparison[open]>summary{margin-bottom:12px}.comparison-choices{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0}.comparison-choices label{display:flex;align-items:center;gap:7px;border:1px solid #dbe6d7;padding:8px 12px;border-radius:7px;font-size:12px;background:#f6f9f3;max-width:100%;overflow-wrap:anywhere}.comparison-choices input{accent-color:var(--green)}.comparison-scroll{overflow:auto;border:1px solid #e3e9df;border-radius:8px;max-height:440px}.comparison-table{table-layout:fixed;min-width:620px;width:100%;white-space:normal}.comparison-table th,.comparison-table td{text-align:left;min-width:150px;width:auto;font-size:12px;line-height:1.5;vertical-align:top;overflow-wrap:anywhere}.comparison-table th:first-child,.comparison-table td:first-child{width:190px;min-width:190px}.comparison-table th{font-weight:600}.comparison-table thead th{background:#eaf1e5}.comparison-table td{background:#fff}.comparison-differences{margin-top:20px}.comparison-differences>summary{font-size:13px;font-weight:600;cursor:pointer;margin-bottom:14px}
.life-timeline-card h2{font-size:20px}.event-timeline-scroll{overflow-x:auto;margin-top:18px}.event-timeline-grid{min-width:580px}.timeline-axis,.timeline-event{display:grid;grid-template-columns:175px minmax(0,1fr);gap:18px;align-items:center}.timeline-axis{font-size:10px;color:#768672;padding:0 0 12px}.timeline-axis>div{position:relative;height:16px;margin-right:12px}.timeline-axis>div span{position:absolute;transform:translateX(-50%)}.timeline-axis>div span:first-child{transform:none}.timeline-axis>div span:last-child{transform:translateX(-100%)}.timeline-event{width:100%;text-align:left;border:0;border-top:1px solid #ecf0e8;background:transparent;padding:11px 0;color:var(--ink)}.timeline-event:hover{background:#f5f8f1}.timeline-event>span:first-child{font-size:12px;font-weight:600;overflow-wrap:anywhere}.timeline-event small{display:block;font-size:10px;font-weight:400;color:#7a877b;margin-top:4px}.timeline-rail{position:relative;display:block;height:22px;border-radius:4px;background:repeating-linear-gradient(to right,#eff2eb 0,#eff2eb 1px,transparent 1px,transparent 10%)}.timeline-bar{position:absolute;height:14px;top:4px;background:#b28b59;border-radius:4px;min-width:6px}.timeline-bar.type-work{background:#68947b}.timeline-bar.type-inflow,.timeline-bar.type-income{background:#789fc2}.timeline-event.excluded{opacity:.5}.timeline-event.excluded .timeline-bar{background:transparent;border:1px dashed #8b9985}.timeline-key{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:10px;color:#73806e}.timeline-key span:before{content:'';display:inline-block;width:8px;height:8px;background:#68947b;margin-right:5px;border-radius:2px}.timeline-key span:nth-child(2):before{background:#b28b59}.timeline-key span:nth-child(3):before{background:#789fc2}
.event-templates{background:#f4f7f1;border:1px solid #dfe7d8;border-radius:9px;padding:14px;margin-bottom:16px}.event-templates>summary{font-size:12px}.event-templates[open]>summary{margin-bottom:10px}.event-templates>label{display:block;font-size:11px;margin:12px 0 6px}.event-templates select,.event-templates input{width:100%;min-width:0;background:#fff;border:1px solid #d6e1ce;border-radius:6px;padding:9px;font-size:12px;color:var(--ink)}.template-description{font-size:11px;line-height:1.6;margin:12px 0;color:#62745d}.template-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-fields label{font-size:11px;line-height:1.5}.template-fields input,.template-fields select{display:block;margin-top:5px}.template-wide{grid-column:1/-1}.event-templates .btn{margin-top:12px}.event-templates .insight-caption{font-size:10px}#eventTemplateReview h3{font-size:14px;margin-top:16px}#eventTemplateReview ul{padding:0;list-style:none}#eventTemplateReview li{padding:11px 0;border-bottom:1px solid #dfe7da;font-size:12px}#eventTemplateReview li span{display:block;font-size:10px;margin-top:5px;line-height:1.5;color:#70806b}#eventTemplateReview>p{font-size:11px;line-height:1.55;margin:10px 0}.template-review-actions{display:flex;gap:8px;flex-wrap:wrap}.sidebar .template-fields{grid-template-columns:1fr}
@media(max-width:800px){.transition-guard{flex-wrap:wrap;justify-content:flex-start;padding:14px 16px;gap:12px}.life-timeline-card .card-title{flex-wrap:wrap}.assumption-ribbon-label{flex-basis:100%}.comparison-table th:first-child,.comparison-table td:first-child{width:145px;min-width:145px}}
@media(max-width:480px){.template-fields{grid-template-columns:1fr}.comparison-scroll{max-height:360px}.transition-guard .btn{font-size:11px;padding:8px 9px}}


/* Keep each person's current and stop-work ages together on one row. */
.timeline-age-fields{grid-column:1/-1;min-width:0;width:100%}
.timeline-age-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:start}
.timeline-age-row>.field{min-width:0;margin-bottom:0}
.timeline-age-row input{min-width:0;width:100%}
.timeline-access-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.sidebar .timeline-age-row{gap:10px}
.sidebar .timeline-age-row>.field>span{font-size:10px}
.sidebar .timeline-access-fields{grid-template-columns:1fr}

/* Primary guide action lives in the application banner, above the inputs. */
#applicationHeader.topbar{padding-inline:max(24px,calc((100% - 1700px)/2 + 24px))}
#getStartedTop{flex:none;height:36px;padding:8px 13px;font-size:12px}
@media(min-width:801px) and (max-width:1100px){#applicationHeader.topbar{padding-inline:20px}}
@media(min-width:651px) and (max-width:900px){#applicationHeader .header-plan-actions{flex-wrap:wrap}#applicationHeader.topbar{height:auto;padding-top:10px;padding-bottom:10px}}
@media(max-width:650px){#applicationHeader.topbar{padding-inline:24px;flex-wrap:wrap}#applicationHeader .header-plan-actions{flex-basis:100%}}

/* Keep both new-plan naming and the saved-plan picker legible on small screens. */
@media(max-width:650px){.scenario-plan-controls.has-draft{flex-wrap:wrap;flex:1 1 100%;min-width:0}.scenario-plan-controls.has-draft input{flex:1;min-width:120px;max-width:none}}

/* Saved-plan switching stays inside Manage scenarios. */
.active-plan-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--ink)}
.scenario-open{padding:4px 0 8px}
.scenario-open select:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:650px){.active-plan-name{max-width:180px}}

/* Quick projection: one task, then optional editable assumptions. */
.quick-essential-fields{grid-column:1/-1;min-width:0;width:100%}
.quick-essential-fields>.field-help{margin:0 0 16px;font-size:12px;line-height:1.6;color:var(--muted)}
.quick-essential-fields>.field{display:block;margin-top:16px}
#expandedFormHost .quick-essential-fields>.person-inputs{margin-bottom:16px}
#expandedFormHost .quick-essential-fields .person-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-horizon{margin-top:18px}
.quick-assumptions{background:#f6f8f3!important;border-color:#e0e7da!important}
.quick-assumptions>summary{align-items:flex-start;gap:12px}
.quick-assumptions>summary small{display:block;margin-top:5px;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted)}
.quick-assumptions .section-optional{font-size:10px;white-space:nowrap}
.quick-assumptions-note{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0}
.optional-assumption{border-top:1px solid #dfe6da;padding:14px 0}
.optional-assumption>summary{font-size:13px;font-weight:600;cursor:pointer;list-style:revert}
.optional-assumption[open]>summary{margin-bottom:16px}
.optional-assumption>.group-fields{padding-top:0}
#expandedFormHost .optional-assumption>.group-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#expandedFormHost .optional-assumption .planning-section{grid-column:1/-1}
.sidebar .quick-assumptions-note{font-size:11px}
.sidebar .quick-assumptions>summary{flex-wrap:wrap}
.sidebar .quick-assumptions .section-optional{margin-left:0}
.sidebar .quick-essential-fields .person-inputs{margin-top:12px}
@media(max-width:650px){#expandedFormHost .quick-essential-fields .person-fields-grid,#expandedFormHost .optional-assumption>.group-fields{grid-template-columns:1fr}}

/* Clear results and an inline review, using the same working area as inputs. */
.plan-answer{margin:0 0 20px;padding:20px 22px;border:1px solid #d4e4d8;border-left:4px solid #3e8063;border-radius:9px;background:#eff6ee}
.plan-answer h2{font-size:18px;margin-bottom:10px}.plan-answer p{font-size:12px;line-height:1.6}.plan-answer .plan-answer-result{font-size:16px;font-weight:650;margin-bottom:5px}.plan-answer .plan-answer-basis{margin-top:12px;color:#617266;font-size:11px}.plan-answer .textbtn{margin-top:7px}.plan-answer.caution{background:#fff6e9;border-color:#e7d3b2;border-left-color:#b88644}.plan-answer.neutral{background:#f5f7f2;border-color:var(--border)}
.life-events-introduction{font-size:12px;line-height:1.65;color:var(--muted);margin:-4px 0 18px}.plan-review{width:100%;min-width:0}.plan-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-card{background:white;border:1px solid var(--border);border-radius:10px;padding:20px;min-width:0}.review-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.review-card h3{font-size:15px}.review-card dl{margin:0}.review-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #edf1ea;font-size:12px;line-height:1.5}.review-card dt{color:var(--muted);flex:1}.review-card dd{margin:0;text-align:right;flex:1;font-weight:600;overflow-wrap:anywhere}.review-card p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}.review-events{list-style:none;margin:0;padding:0}.review-events li{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ea}.review-events strong{font-size:12px;overflow-wrap:anywhere}.review-events span{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}.review-assumptions{grid-column:1/-1}.review-assumption-actions{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:12px}.back-to-review{margin-bottom:16px}.sidebar .plan-review-grid{grid-template-columns:1fr}.sidebar .review-card{padding:14px}.sidebar .review-card dl>div{display:block}.sidebar .review-card dd{text-align:left;margin-top:3px}
@media(max-width:800px){.plan-review-grid{grid-template-columns:1fr}.review-card{padding:16px}.plan-answer{padding:16px}.plan-answer h2{font-size:17px}}
/* Keep the product name visible on phones; controls wrap within one header. */
@media(max-width:1100px){#applicationHeader .header-brand .brand-name{display:inline;font-size:18px;letter-spacing:-.6px}#applicationHeader .header-brand .brand{display:flex;gap:8px}#applicationHeader.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding-block:12px}#applicationHeader .header-plan-actions{flex-wrap:wrap}}
@media(max-width:650px){#applicationHeader.topbar{padding:12px;gap:10px}#applicationHeader .header-brand{display:flex;flex:1;min-width:0}#applicationHeader .header-brand .brand-name{font-size:17px;white-space:normal;line-height:1.25}#applicationHeader .header-brand .brandmark{flex-shrink:0;width:26px;height:26px}#applicationHeader #getStartedTop{margin-left:auto;padding:8px 10px}#applicationHeader .header-plan-actions{flex-basis:100%;justify-content:flex-start;gap:7px}#applicationHeader .scenario-plan-controls{flex:1;min-width:0}#applicationHeader .active-plan-name{max-width:100%;overflow:hidden;text-overflow:ellipsis}#applicationHeader .scenario-menu{margin-left:auto}}

/* On phones, Inputs and Results are separate views with a persistent return path. */
.mobile-pane-nav{display:none}
@media(max-width:800px){
 .mobile-pane-nav{display:flex;position:sticky;top:0;z-index:25;gap:6px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--border);min-height:60px}
 .mobile-pane-nav button{flex:1;min-height:44px;border:1px solid #d5e1d8;border-radius:8px;background:#f5f8f2;color:var(--green);font-size:13px;font-weight:650}
 .mobile-pane-nav button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:white}
 .mobile-pane-nav button:focus-visible{outline-offset:1px}
 .layout:not(.sidebar-hidden):not(.inputs-expanded)>.workspace{display:none}
 .layout.sidebar-hidden>.sidebar{display:none}
 .layout.sidebar-hidden>.workspace{display:block}
 #planSidebar,#resultsWorkspace,#settingsDialog{scroll-margin-top:68px}
 .summary-pane{top:60px}
 .layout.inputs-expanded{height:calc(100dvh - var(--measured-topbar-height,68px) - 60px)}
}

@media(max-width:800px){#ledger,#scenarioComparison,#scenarioManager{scroll-margin-top:76px}}

/* Focused setup: concise tasks, roomy controls, compact navigation. */
.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .sidebar-heading{margin-bottom:10px}
.sidebar .section-nav{padding-bottom:12px}
.wizard-steps{gap:8px}
.wizard-steps button,.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .wizard-steps button{min-height:48px;padding:8px 6px;box-shadow:none}
.wizard-steps .step-copy{gap:3px}
.wizard-steps .step-label{font-size:12px}
.wizard-steps .step-status{font-size:10px}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header{padding:14px 24px}
#settingsDialog .settings-body,#expandedNavDock{padding-left:24px;padding-right:24px}
#settingsDialog .settings-body{padding-top:16px}
.settings-title-row{gap:16px}
#settingsDialog .settings-title-row .mode-switch{font-size:12px}
:is([data-mode="quick"],[data-mode="detailed"]) .field-hint{display:none}
:is([data-mode="quick"],[data-mode="detailed"]) .field>.field-label{display:block!important;margin-bottom:7px;color:var(--ink);font-size:12px;font-weight:500;line-height:1.45}
:is([data-mode="quick"],[data-mode="detailed"]) .field-wrap{background:#fff;border-color:#cfd9d3;border-radius:8px;min-height:44px}
:is([data-mode="quick"],[data-mode="detailed"]) .field-wrap input,:is([data-mode="quick"],[data-mode="detailed"]) .field-wrap select{font-size:14px;min-height:42px}
:is([data-mode="quick"],[data-mode="detailed"]) .field-wrap:focus-within{border-color:#528e77;box-shadow:0 0 0 3px #528e7718}
:is([data-mode="quick"],[data-mode="detailed"]) .field-wrap input::placeholder{color:#9ba7a0}
:is([data-mode="quick"],[data-mode="detailed"]) .field-info{font-size:12px;color:#8a9b91}
:is([data-mode="quick"],[data-mode="detailed"]) .input-section{border-radius:12px;background:#fff}
#expandedFormHost .input-section{padding:16px 20px}
#expandedFormHost .input-section>summary,.sidebar .input-section>summary{font-size:14px;line-height:1.4;margin-bottom:16px;padding-bottom:12px}
#expandedFormHost .input-section:not([open])>summary,.sidebar .input-section:not([open])>summary{margin:0;padding:0}
#expandedFormHost .input-section .field,.sidebar .input-section .field{margin-bottom:0}
.sidebar .input-section .group-fields>.field+.field{margin-top:14px}
:is([data-mode="quick"],[data-mode="detailed"]) .household-control{margin:12px 0!important}
.household-control p{font-size:11px;margin-top:4px}
.timeline-horizon{margin-top:14px}
/* Quick has one task per step, so the fixed footer is its only next action. */
[data-mode="quick"] .wizard-task-title{display:none}
#settingsDialog[data-mode="quick"] #expandedFormHost{max-width:900px;margin:0 auto}
[data-mode="quick"] .quick-essential-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px}
[data-mode="quick"] .quick-essential-fields>.field{margin:0!important}
[data-mode="quick"] [data-planning-section="quickIncome"] .quick-essential-fields>.person-inputs{margin:0!important}
[data-mode="quick"] [data-planning-section="quickSavings"] .quick-essential-fields>.person-inputs{grid-column:1/-1;margin:0!important}
[data-mode="quick"] .person-fields-grid{gap:16px}
#expandedFormHost .quick-essential-fields .person-fields-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
[data-mode="quick"] .quick-assumptions{margin:0;border:1px solid #e1e7e1!important;background:#f8faf7!important}
[data-mode="quick"] .quick-assumptions>summary{font-size:12px;align-items:center}
[data-mode="quick"] .quick-assumptions>summary small{font-size:11px;line-height:1.4;max-width:65ch}
[data-mode="quick"] .quick-assumptions .section-optional{font-size:10px}
[data-mode="quick"] .life-events-section{margin-bottom:12px}
[data-mode="quick"] .life-events-section>.events-card>.card-title>div{display:none}
[data-mode="quick"] .life-events-section .card-title{justify-content:flex-start;margin-bottom:12px}
[data-mode="quick"] .life-events-introduction{font-size:12px;margin:0 0 14px}
[data-mode="quick"] .events-empty{padding:16px;background:#f8faf7;border:1px dashed #dce5dc}
[data-mode="quick"] .events-empty strong{font-size:14px;margin-bottom:4px}
[data-mode="quick"] .events-empty p{font-size:12px;margin:0 auto}
[data-mode="quick"] .event-templates{padding:12px;margin:12px 0;background:#fff}
[data-mode="quick"] .event-templates>summary{font-size:12px;margin:0;padding:0}
[data-mode="quick"] .event-templates[open]>summary{margin-bottom:12px}
/* Keep welcome choices brief, with saved plans as a secondary route. */
#getStartedDialog{width:min(620px,calc(100vw - 32px));padding:28px;border-radius:18px}
.welcome-heading{margin-bottom:20px;text-align:left}
.welcome-heading .welcome-mark,.welcome-heading .eyebrow{display:none}
.welcome-heading h2{font-size:27px;margin-bottom:6px}
.welcome-heading .muted{font-size:13px;line-height:1.5}
.projection-choices{gap:12px}
.projection-choice{padding:18px;gap:10px;border-radius:12px}
.projection-choice[data-start-mode="quick"]{background:#f3f8f2;border-color:#8caf99}
.projection-choice strong{font-size:18px;letter-spacing:-.4px}
.projection-choice>span:not(.choice-tag):not(.choice-action){font-size:12px;line-height:1.5}
.projection-choice .choice-action{padding-top:6px}
.welcome-note{margin:12px 0 18px;font-size:11px;text-align:left}
.welcome-scenarios{padding:14px;margin-bottom:16px;background:#f8faf7;border-radius:10px}
.welcome-scenarios>label{font-size:12px;margin-bottom:8px}
.welcome-scenarios>div{flex-direction:row;align-items:center}
.welcome-scenarios select{height:42px;font-size:13px}
.welcome-actions{padding-top:14px;gap:10px}
@media(max-width:800px){
 #settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header{padding:12px 16px}
 #settingsDialog .settings-body,#expandedNavDock{padding-left:16px;padding-right:16px}
 :is([data-mode="quick"],[data-mode="detailed"]) .field-wrap input,:is([data-mode="quick"],[data-mode="detailed"]) .field-wrap select{font-size:16px}
 .wizard-steps{gap:5px}
 .wizard-steps .step-label,.sidebar .wizard-steps .step-label{font-size:11px}
 .wizard-steps .step-status,.sidebar .wizard-steps .step-status{font-size:9px}
 .sidebar #expandSettings{width:40px;height:40px}
 #expandedFormHost .input-section{padding:14px}
 #settingsDialog .projection-footer #expandedMetrics .metric .label{min-height:22px;font-size:9px}
 #settingsDialog .projection-footer #expandedMetrics .metric .number{font-size:18px}
 #sidebarWizardFooter .wizard-buttons .btn,.footer-next .btn{min-height:44px}
}
@media(max-width:480px){
 #getStartedDialog{padding:20px}
 .projection-choices{grid-template-columns:1fr;gap:10px}
 .projection-choice{padding:15px;gap:6px}
 .projection-choice .choice-tag{font-size:9px}
 .welcome-heading{margin-bottom:16px}
 .welcome-heading h2{font-size:25px}
 .welcome-scenarios .btn{padding:10px;font-size:11px}
 .welcome-scenarios select{font-size:16px}
 .settings-title-row{gap:6px}
}
/* Preserve field rhythm inside person groups in narrow sidebars. */
.sidebar:is([data-mode="quick"],[data-mode="detailed"]) .person-fields-grid{display:grid;grid-template-columns:1fr;gap:14px}
#expandedFormHost [data-planning-section="quickIncome"] .quick-essential-fields>.person-inputs{grid-column:auto}
#expandedFormHost [data-planning-section="quickIncome"] .person-fields-grid{grid-template-columns:1fr}
#expandedFormHost .quick-essential-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#expandedFormHost [data-planning-section="quickSavings"] .person-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:540px){
 #expandedFormHost .quick-essential-fields,#expandedFormHost [data-planning-section="quickSavings"] .person-fields-grid{grid-template-columns:1fr}
}

/* Expanded inputs are a focused pop-out with a single shared content width. */
body.settings-open{overflow:hidden}
#settingsDialog{position:fixed;inset:0;margin:auto;width:min(880px,calc(100vw - 48px));max-width:none;height:min(960px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);min-height:0;padding:0;border:1px solid #dbe3dc;border-radius:16px;box-shadow:0 24px 90px #122c2940;overflow:hidden;background:var(--paper)}
#settingsDialog:not([open]){display:none}
#settingsDialog[open]{display:flex;flex-direction:column}
#settingsDialog::backdrop{background:#12292370;backdrop-filter:blur(2px)}
#settingsDialog .settings-header,#settingsDialog #expandedNavDock,#settingsDialog .settings-body,#settingsDialog #expandedWizardFooter,#settingsDialog .settings-footer{padding-left:24px;padding-right:24px}
#settingsDialog #expandedFormHost,#settingsDialog[data-mode="quick"] #expandedFormHost{width:100%;max-width:none;margin:0}
#settingsDialog #expandedWizardFooter{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding-top:8px;padding-bottom:8px}
#settingsDialog .projection-footer #expandedPreview{grid-column:1/-1;grid-row:1}
#settingsDialog .footer-back{grid-column:1;grid-row:2;flex-direction:row;align-items:center;gap:12px;min-width:0}
#settingsDialog .footer-next{grid-column:2;grid-row:2;justify-content:flex-end}
#settingsDialog .footer-back .wizard-position{display:block}
#settingsDialog #expandedRememberDock{grid-column:auto;grid-row:auto}
#settingsDialog .projection-footer #expandedMetrics .metric{padding:6px 10px}
#settingsDialog .projection-footer #expandedMetrics .metric .label{font-size:10px;min-height:0;margin-bottom:3px;line-height:1.3}
#settingsDialog .projection-footer #expandedMetrics .metric .number{font-size:20px;line-height:1.05}
#settingsDialog .settings-body{overscroll-behavior:contain;scrollbar-gutter:stable}
@media(max-width:600px){
 #settingsDialog{width:calc(100vw - 20px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:12px}
 #settingsDialog .settings-header,#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header,#settingsDialog #expandedNavDock,#settingsDialog .settings-body,#settingsDialog #expandedWizardFooter,#settingsDialog .settings-footer{padding-left:12px;padding-right:12px}
 #settingsDialog .settings-header{gap:8px}
 #settingsDialog .settings-title-row{gap:5px;align-items:flex-start}
 #settingsDialog #minimizeSettings{min-height:40px;padding:8px;font-size:11px}
 #settingsDialog #expandedWizardFooter{gap:8px}
 #settingsDialog .footer-back .wizard-position{display:none}
 #settingsDialog .projection-footer #expandedMetrics{gap:5px}
 #settingsDialog .projection-footer #expandedMetrics .metric{padding:5px 6px}
 #settingsDialog .projection-footer #expandedMetrics .metric .label{font-size:9px;min-height:0}
 #settingsDialog .projection-footer #expandedMetrics .metric .number{font-size:17px}
 #settingsDialog .footer-next .btn{padding:8px 10px;min-height:44px}
}

/* Each disclosure owns its icon, even when nested inside an open section. */
#assumptions details>summary{list-style:none}
#assumptions details>summary::-webkit-details-marker{display:none}
#assumptions details>summary::after{content:'+';float:right;font-size:18px;font-weight:400;color:#7e9185;margin-left:10px;flex:none}
#assumptions details[open]>summary::after{content:'−'}
.subsection-chips .section-chip{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 11px 10px;min-height:49px;text-align:left}
.subsection-chips .section-chip small{font-size:10px;font-weight:400;color:#6e7e73}
.subsection-chips .section-chip[aria-current] small{color:#e1ecdf}
.subsection-meter{position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(to right,#4b9970 var(--section-progress),#dfe8dd var(--section-progress))}
.section-chip[aria-current] .subsection-meter{background:linear-gradient(to right,#bde491 var(--section-progress),#326658 var(--section-progress))}
.section-chip[data-progress="optional"] .subsection-meter{display:none}
.subsection-chips .section-chip[data-progress="invalid"] small{color:#a65836}
.subsection-chips .section-chip[data-progress="invalid"][aria-current] small{color:#ffddbf}
#sidebarWizardFooter .wizard-buttons{grid-template-columns:auto auto auto;gap:5px}
.draft-status{font-size:10px;line-height:1.5;color:#557563;margin-top:7px}
.draft-status:empty{display:none}
#expandedWizardFooter .draft-status{grid-column:1/-1;margin:0}
#draftSaveDialog{width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--border);border-radius:14px;color:var(--ink);box-shadow:0 20px 70px #122c2933}
#draftSaveDialog::backdrop{background:#12292370}
#draftSaveDialog h2{margin-bottom:8px}
#draftSaveDialog label{display:block;font-size:12px;font-weight:600;margin:20px 0 7px}
#draftSaveName{width:100%;padding:12px;border:1px solid #cfd9d3;border-radius:7px;font-size:16px;color:var(--ink)}
.draft-save-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
@media(max-width:600px){
 #settingsDialog #expandedWizardFooter{grid-template-columns:1fr}
 #settingsDialog .footer-next{grid-column:1;grid-row:2;display:flex;justify-content:flex-end}
 #settingsDialog .footer-next .draft-save{margin-right:auto}
 #settingsDialog .footer-back{grid-column:1;grid-row:3}
 #settingsDialog .draft-status{grid-row:4}
}
#sidebarWizardFooter .wizard-buttons{grid-template-columns:minmax(0,1fr) auto auto}
#sidebarWizardFooter .draft-save{min-width:0;white-space:normal;padding-left:6px;padding-right:6px}

/* Keep the fixed wizard chrome small so the form owns most of the window. */
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-header{padding-top:8px;padding-bottom:8px;gap:12px}
#settingsDialog .settings-header h2{font-size:17px;line-height:1.3;margin:0;letter-spacing:-.4px}
#settingsDialog .settings-title-row{gap:12px}
#settingsDialog .settings-title-row .mode-switch{font-size:11px}
#settingsDialog #minimizeSettings{min-height:36px;padding:7px 10px;font-size:11px;background:#f4f7f4;color:var(--green);border-color:var(--border)}
#settingsDialog #expandedNavDock .section-nav{padding-top:6px;padding-bottom:8px}
#settingsDialog .wizard-steps{gap:6px;margin-top:0;margin-bottom:0}
#settingsDialog .wizard-steps button{min-height:40px;padding:5px 9px;box-shadow:none}
#settingsDialog .wizard-steps .step-copy{gap:2px}
#settingsDialog .wizard-steps .step-label{font-size:11px}
#settingsDialog .wizard-steps .step-status{font-size:9px}
#settingsDialog .sidebar-jump-row{margin-top:6px}
#settingsDialog .sidebar-jump-row select{padding-top:5px;padding-bottom:5px;min-height:30px;background:white}
/* The step tabs and card titles already name the task; retain its focus target. */
#settingsDialog .wizard-task-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#settingsDialog:is([data-mode="quick"],[data-mode="detailed"]) .settings-body{padding-top:12px;padding-bottom:12px}
#settingsDialog #expandedFormHost .input-section{padding:12px 16px}
#settingsDialog #expandedFormHost .input-section>summary{padding-bottom:10px;margin-bottom:12px}
#settingsDialog #expandedFormHost .input-section:not([open])>summary{padding:0;margin:0}
#settingsDialog #expandedWizardFooter{gap:6px 14px;padding-top:7px;padding-bottom:7px}
#settingsDialog .footer-back .wizard-position{display:none}
#settingsDialog .expanded-results-heading{font-size:8px;letter-spacing:.3px;margin-bottom:3px}
#settingsDialog .footer-next{gap:7px}
@media(min-width:701px){
 #settingsDialog .wizard-steps button{min-height:36px}
 #settingsDialog .wizard-steps .step-copy{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:6px}
 #settingsDialog #expandedWizardFooter{grid-template-columns:minmax(0,1fr) auto}
 #settingsDialog .projection-footer #expandedPreview{grid-column:1;grid-row:1}
 #settingsDialog .footer-next{grid-column:2;grid-row:1;align-self:end;align-items:flex-end}
 #settingsDialog .footer-next .btn{min-height:36px;padding:8px 10px;font-size:11px}
 #settingsDialog .footer-back{grid-column:1/-1;grid-row:2;display:flex}
 #settingsDialog #expandedRememberDock .local-save label{font-size:9px}
 #settingsDialog .projection-footer #expandedMetrics{gap:5px}
 #settingsDialog .projection-footer #expandedMetrics .metric{padding:4px 7px;border-radius:5px}
 #settingsDialog .projection-footer #expandedMetrics .metric .label{font-size:9px;line-height:1.25;margin-bottom:2px}
 #settingsDialog .projection-footer #expandedMetrics .metric .number{font-size:18px}
}
@media(max-width:600px){
 #settingsDialog .settings-header h2{font-size:15px}
 #settingsDialog .settings-title-row{gap:3px}
 #settingsDialog #minimizeSettings{min-height:44px}
 #settingsDialog .wizard-steps button{min-height:44px;padding:5px}
 #settingsDialog .sidebar-jump-row select{min-height:40px;font-size:16px}
 #settingsDialog .sidebar-jump-row .nav-collapse{min-height:44px;display:flex;align-items:center}
}

.app-public-footer{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.app-public-footer .public-links{display:flex;flex-wrap:wrap;gap:10px 18px}.public-links a,.welcome-public-links a{color:var(--green);text-underline-offset:3px;font-size:12px}.welcome-public-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 20px;margin:12px 0 20px}
