:root{--ink:#1e4037;--muted:#75816e;--green:#426f4f;--line:#dce3d4;--bg:#f5f5ee;--blue:#edf6ff;--calc:#edf3e5;--warm:#f6edd9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #437d9c;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:224px;padding:27px 17px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:15}.brand{font:27px/1.07 Georgia,serif;color:var(--ink);letter-spacing:-.7px;text-decoration:none;padding-left:9px}.brand>span{display:block;color:#477850}.branddot{color:#a4b88a}.brandcaption{font-size:8px;letter-spacing:1.8px;color:var(--muted);margin:16px 0 20px 10px}nav{overflow:auto;flex:1}nav .navsection{padding:17px 11px 8px;font-size:9px;letter-spacing:1.5px;color:#929b87;text-transform:uppercase}nav a{display:flex;align-items:center;gap:10px;color:#68775f;text-decoration:none;padding:9px 10px;margin:2px 0;border-radius:6px;font-size:12px}nav a.active{background:#e9efdf;color:var(--ink);font-weight:650}nav a span{width:24px;height:24px;display:grid;place-items:center;font-size:10px;border:1px solid #d0dcc7;border-radius:5px;flex-shrink:0}nav a.active span{background:var(--ink);color:white;border-color:var(--ink)}.sidebottom{font-size:10px;color:#6e7c61;border-top:1px solid var(--line);padding:15px 10px 0;line-height:1.8}.sidebottom span{color:#98a18b}main{margin-left:224px;padding:0 28px 25px;min-width:0}header{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.crumb{font-size:11px}.crumb span{color:#afbaa2;margin:0 10px}.headeractions{display:flex;gap:12px;align-items:center}.primary,.secondary{border-radius:6px;padding:10px 15px;font-size:12px;white-space:nowrap}.primary{background:var(--ink);color:#fff}.secondary{border:1px solid #ccd8c0;background:white;color:var(--ink)}.textbtn,.iconbtn{background:transparent;color:var(--green);font-size:12px;padding:6px}.iconbtn{font-size:19px}.mobileonly{display:none}.eyebrow{font-size:9px;font-weight:700;color:#5d7950;letter-spacing:1.7px;text-transform:uppercase}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 0 23px}.hero h1{font:35px/1.16 Georgia,serif;letter-spacing:-.6px;margin:10px 0}.hero p{color:var(--muted);font-size:12px;line-height:1.7;max-width:750px;margin:0}.heroactions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;padding-top:10px}.heroactions button{padding:9px 12px}.stepnav{display:flex;gap:7px;overflow:auto;margin-bottom:21px;padding-bottom:3px}.stepnav button{display:flex;gap:8px;align-items:center;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:9px 13px;font-size:11px;white-space:nowrap}.stepnav button.active{background:white;border-color:#719063;color:var(--ink)}.stepnav b{font-size:10px;border-radius:50%;background:#e3ebd8;width:20px;height:20px;display:grid;place-items:center}.stepnav .active b{background:var(--ink);color:white}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}.workspace.withguide{grid-template-columns:minmax(0,1fr) 248px 260px}.inputarea{min-width:0}.panel{background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:19px;overflow:hidden}.panelhead{padding:20px 21px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panelhead h2{font:24px/1.2 Georgia,serif;margin:8px 0}.panelhead p{font-size:11px;color:var(--muted);line-height:1.65;margin:0}.panelbody{padding:0 21px 20px}.scroll{overflow:auto;max-height:61vh;position:relative;border-top:1px solid var(--line)}table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums}th,td{border-right:1px solid #e1e7d8;border-bottom:1px solid #e1e7d8;padding:11px 10px;text-align:right;min-width:118px;white-space:nowrap}th{font-weight:600;font-size:10px;color:#65735a;background:#edf2e6;white-space:normal;line-height:1.6}thead{position:sticky;top:0;z-index:5}thead th{background:#eaf0e1}.pin{position:sticky;left:0;z-index:3;min-width:210px;max-width:250px;width:210px;text-align:left!important;background:#fafbf6;white-space:normal;overflow-wrap:anywhere}thead .pin{z-index:6;background:#eaf0e1}.pin b{font-size:12px;font-weight:600}.pin small{display:block;font-size:10px;color:#89967b;margin-top:4px}.calculated{background:var(--calc)}.subtotal td,.subtotal th{background:#e3ecd8;font-weight:650}.sectionrow th{background:#e2ead8;text-align:left;letter-spacing:.5px;font-size:10px;padding:10px}.yearband{background:#dfe9d4;text-align:center;letter-spacing:1px;border-right:2px solid #bfceb2}.inputcell{padding:0;background:var(--blue)}input.cell,textarea.cell,select.cell{border:0;background:var(--blue);color:var(--ink);width:100%;min-width:100px;padding:12px 10px;min-height:44px;border-radius:0;text-align:right;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px #d8e9f6}input.cell:focus,textarea.cell:focus,select.cell:focus{outline:2px solid #497fa4;outline-offset:-2px;background:#f8fcff;position:relative;z-index:2}input.cell.text,textarea.cell.text{text-align:left}select.cell{font-size:11px;text-align:left}input.cell::placeholder{color:#a5b3b8}input.cell.invalid{box-shadow:inset 0 0 0 2px #b56c43}.inactive{background:repeating-linear-gradient(135deg,#f5f6f0,#f5f6f0 4px,#edefe5 4px,#edefe5 5px);text-align:center;color:#aab19f}.xbtn{width:100%;height:44px;background:var(--blue);color:#3f7b9f;font-weight:700;font-size:14px}.xbtn[aria-pressed=true]{background:#dbeaf4}.cellmode{background:#f1f6ec;width:100%;font-size:9px;padding:5px;border:0;color:#718062;min-height:24px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px}.toolbar p{font-size:11px;color:var(--muted);margin:0}.toolbar input{border:1px solid var(--line);padding:9px;border-radius:5px;width:170px;font-size:12px}.legend{padding:10px 20px;background:#fbfcf7;color:#87937a;font-size:9px;display:flex;gap:16px;flex-wrap:wrap}.legend i{display:inline-block;width:9px;height:9px;background:#d9eafa;margin-right:5px;border-radius:2px}.legend .green{background:#dde8ce}.years{display:flex;gap:5px;flex-wrap:wrap;padding:0 20px 15px}.years button{padding:8px 11px;background:white;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:11px}.years .active{background:var(--ink);color:white;border-color:var(--ink)}.guide{padding:20px;background:#ecf0e3;border:1px solid #d7e1ca;border-radius:9px;min-width:0}.guide h2{font:23px/1.2 Georgia,serif;margin:12px 0}.guide p,.guide li{font-size:11px;color:#657659;line-height:1.9}.guide ol{padding-left:18px}.guide .close{float:right;font-size:17px}.guide .question{font:19px/1.5 Georgia,serif;color:var(--ink);margin-top:20px}.guide .switch{display:flex;gap:6px;margin-top:15px}.guide .switch button{font-size:10px;padding:8px}.guide input{background:var(--blue);padding:10px;border:1px solid #cfdfeb;border-radius:4px;width:100%;font-size:12px}.outputrail{min-width:0}.outputbox{background:white;border:1px solid var(--line);border-radius:9px;padding:20px}.outputbox h2{font:23px Georgia,serif;margin:12px 0}.outputbox select{border:1px solid #d6dfcb;background:#f8faf4;padding:8px;border-radius:5px;width:100%;font-size:11px;color:var(--ink)}.metric{padding:14px 0;border-bottom:1px solid #e3e8da}.metric small{display:flex;justify-content:space-between;font-size:9px;color:#7f8b71;text-transform:uppercase}.metric strong{font:26px Georgia,serif;display:block;margin-top:7px}.metric p{font-size:10px;color:var(--muted);margin:7px 0 0;line-height:1.6}.track{height:4px;background:#eef2e6;margin-top:9px;border-radius:5px}.track div{height:100%;border-radius:5px;background:#749762}.railnote{padding:17px;background:#e6edde;border-radius:8px;margin-top:15px;font-size:11px;line-height:1.8;color:#687b59}.railnote b{display:block;color:var(--ink);margin-bottom:5px}.railnote button{font-size:11px;padding:0;margin-top:9px}.statusbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:10px 15px;background:#f0f3e7;border:1px solid #dbe3d0;border-radius:6px;margin-bottom:18px;font-size:11px;line-height:1.6}.statusbar.partial{background:#f8f0df;border-color:#e5d5af;color:#8b6a31}.statusbar.error{background:#f8e8de;border-color:#e5c4ad;color:#935635}.statusbar button{margin-left:auto;font-size:10px}.demobanner{background:#fff0d5;border:1px solid #e5d0a3;padding:11px 15px;border-radius:6px;font-size:11px;line-height:1.7;margin-bottom:18px;display:flex;justify-content:space-between;gap:10px}.pageend{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:21px 0}.pageend small{font-size:10px;color:var(--muted)}.pageend .primary{font-size:12px}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 16px}.controls select,.controls input{padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:12px;max-width:240px}.controls label{font-size:11px;color:var(--muted)}.fieldgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field label{display:block;font-size:11px;color:#66785b;margin-bottom:7px;line-height:1.6}.field input,.field select,.field textarea{border:1px solid #d2e0e8;background:var(--blue);padding:10px;border-radius:5px;width:100%;color:var(--ink)}.field input[type=checkbox]{width:17px;accent-color:var(--green)}.field small{display:block;font-size:10px;line-height:1.6;color:#849175;margin-top:6px}.field textarea{min-height:90px;resize:vertical}.notes{font-size:11px;color:var(--muted);line-height:1.8;margin:13px 0}.notes strong{color:var(--ink)}.empty{padding:35px 20px;text-align:center;color:var(--muted);font-size:12px;line-height:1.9}.chip{font-size:9px;letter-spacing:.5px;background:#e7eddd;padding:5px 8px;border-radius:12px;white-space:nowrap}.chip.warn{background:#f4e5c4;color:#8b6a31}.chartwrap{padding:4px 15px 15px}.chartwrap svg{display:block;width:100%;height:auto;max-height:310px}.chartlegend{display:flex;gap:17px;flex-wrap:wrap;font-size:10px;color:var(--muted);padding:0 20px 17px}.chartlegend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px}.chartsvg text{font-family:system-ui,sans-serif;fill:#6f7f62;font-size:11px}.chartsvg .gridline{stroke:#e1e7d8;stroke-width:1}.chartsvg .axis{stroke:#98a78a;stroke-width:1}.checks{padding:0 20px 20px}.checks li{font-size:11px;color:#7d6d43;line-height:1.8;margin-bottom:7px}.checkok{color:#46714d!important}details{margin:14px 0}summary{cursor:pointer;font-size:12px;font-weight:600;line-height:1.8}.smallprint{font-size:10px;color:var(--muted);line-height:1.8}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;margin-top:25px;padding-top:17px;font-size:9px;color:#8a967b;line-height:1.8}#toast{display:none;position:fixed;bottom:22px;right:22px;z-index:40;max-width:420px;background:var(--ink);color:#fff;padding:14px 20px;border-radius:8px;font-size:12px;box-shadow:0 4px 20px #0002}.rowremove{min-width:38px;width:38px;text-align:center}.rowremove button{font-size:16px}.markethead{min-width:155px;max-width:180px}.markethead input{font-size:10px;font-weight:600;min-width:135px}.markethead select{font-size:9px}.warningtext{color:#aa683f!important}.thumbchecks{font-size:10px;line-height:1.9}.negative{color:#b36145}.keyboardnote{font-size:9px;color:#8a967b;margin-top:10px}.helperbtn{font-size:10px;color:#66844f}.snapshot td{min-width:145px}.snapshot .pin{min-width:300px;max-width:330px;width:300px}.snapshot th{font-size:10px}.snapshot td:first-child{white-space:normal;text-align:left}.snapshot .figure td{font-weight:700;color:#325d43}.snapshot .formula td{font-size:10px;color:#899579}.scroll .tight{min-width:75px}.compactInput{max-width:80px}.l0{min-width:150px!important}.flag{font-size:10px;color:#99713b}.railtitle{display:flex;justify-content:space-between;align-items:center}
@media(min-width:1700px){.workspace.withguide{grid-template-columns:minmax(0,1fr) 260px 275px}}
@media(max-width:1390px){.workspace.withguide{grid-template-columns:minmax(0,1fr) 255px}.guide{grid-row:1;grid-column:1/-1}.hero h1{font-size:31px}}
@media(max-width:1080px){aside{width:192px}main{margin-left:192px;padding:0 20px 25px}.workspace,.workspace.withguide{grid-template-columns:minmax(0,1fr)}.outputrail{display:none}.workspace.showoutput .outputrail{display:block;grid-row:1}.mobileonly{display:inline-block}.heroactions{max-width:250px}.heroactions button{font-size:10px}.brand{font-size:24px}.snapshot .pin{min-width:230px;max-width:230px;width:230px}}
@media(max-width:750px){aside{display:none;width:245px;box-shadow:8px 0 35px #0002}body.menuopen aside{display:flex}main{margin:0;padding:0 12px 20px}header{height:62px}.crumb{font-size:10px}.crumb span{margin:0 5px}.headeractions{gap:4px}.headeractions .textbtn{font-size:9px}.headeractions .secondary{padding:8px;font-size:9px}.headeractions .iconbtn{display:none}.hero{display:block;padding:22px 2px 18px}.hero h1{font-size:29px}.heroactions{max-width:none;justify-content:flex-start;padding-top:15px}.heroactions button{font-size:11px}.stepnav button{font-size:10px;padding:8px 10px}.pin{min-width:145px;max-width:145px;width:145px}.pin b{font-size:11px}.pin input.cell{min-width:120px}.pin small{font-size:9px}.snapshot .pin{min-width:180px;max-width:180px;width:180px}th,td{min-width:113px;font-size:11px;padding:10px 8px}th{font-size:9px}.fieldgrid{grid-template-columns:1fr}.panelhead{padding:18px 15px 14px}.panelhead h2{font-size:23px}.panelbody{padding:0 15px 17px}.statusbar{font-size:10px}.demobanner{font-size:10px}.toolbar{padding:13px 15px}.legend{font-size:8px;padding:10px 15px;gap:10px}.pageend .primary{width:100%}.guide .switch button{font-size:11px}.scroll{max-height:60vh}.snapshot th.pin{font-size:10px}.chartlegend{font-size:9px}footer{display:block}footer span{display:block;margin-bottom:7px}.rowremove{min-width:35px}.controls select{max-width:180px}.snapshot .subtotal th{min-width:180px}}
header>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}.crumb{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.headeractions{flex-shrink:0}
@media(max-width:1080px){.workspace.withguide.showoutput .outputrail{grid-row:2}}
@media(max-width:750px){.headeractions #printButton{display:none}}
@media print{aside,header,.heroactions,.guide,.outputrail,.pageend,.toolbar,.legend,.stepnav,.statusbar,.demobanner,.keyboardnote,footer{display:none!important}main{margin:0;padding:0}.workspace{display:block!important}.panel{break-inside:auto;margin-bottom:15px}.scroll{overflow:visible;max-height:none}table{width:100%;font-size:8px}th,td{min-width:0!important;width:auto!important;max-width:none!important;padding:4px;font-size:8px}.pin{position:static}.snapshot .pin{min-width:0!important;width:35%!important}.scroll .pin{position:static}thead{position:static}.inputcell input.cell{min-width:0;font-size:8px;padding:3px;min-height:20px}.chartwrap svg{max-height:220px}.hero{padding:15px 0}body{background:white}.panelhead{padding:12px}.snapshot .pin b{font-size:9px}}
