:root{color:#222936;font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0;--ink:#222936;--muted:#68717e;--line:#e2e6e9;--surface:#fff;--soft:#f5f7f8;--green:#0e9da8;--green-soft:#e8f8f9;--teal:#079daa;--teal-soft:#e8f8f9;--coral:#c14d43;--coral-soft:#fff1ef;--gold:#9a6a17;--gold-soft:#fff7e7;background:#f5f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--soft)}body{background:var(--soft);min-width:320px;margin:0}button,input,select{font:inherit;letter-spacing:0}button,summary,select{cursor:pointer}a{color:inherit}svg{flex:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;text-decoration:none;display:flex}.brand>span{background:var(--teal);color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.brand svg{width:20px;height:20px}.brand div{gap:1px;display:grid}.brand strong{font-size:17px;font-weight:750}.brand small{color:var(--muted);font-size:11px}.app-header nav{align-items:center;gap:8px;display:flex}.app-header nav>a{height:38px;color:var(--muted);align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:650;text-decoration:none;display:flex}.app-header nav>a:hover{color:var(--ink)}.app-header nav svg{width:17px;height:17px}.icon-button{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-button:hover{background:var(--soft);color:var(--ink)}.icon-button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #087f8c3d}.workspace{grid-template-columns:minmax(390px,430px) minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.workspace>aside{border-right:1px solid var(--line);background:#fbfcfc}.input-panel{padding:8px 26px 70px}.input-section{border-bottom:1px solid var(--line);padding:27px 0 28px}.input-section:last-child{border-bottom:0}.section-heading{align-items:center;gap:12px;margin-bottom:19px;display:flex}.section-heading>svg{background:var(--surface);width:34px;height:34px;color:var(--teal);border:1px solid #b9e1e4;border-radius:8px;padding:8px}.section-heading div{gap:2px;display:grid}.section-heading span,.result-heading span,.eyebrow{color:var(--teal);font-size:11px;font-weight:750}.section-heading h2,.result-heading h2{margin:0;font-size:17px;font-weight:750;line-height:1.3}.field-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:7px;min-width:0;margin-bottom:14px;display:grid}.field-grid .field{margin-bottom:0}.field-label,.select-field>span{color:#39433c;font-size:12px;font-weight:650}.field-control{display:block;position:relative}.field-control input,.select-field select{width:100%;min-width:0;height:43px;color:var(--ink);background:var(--surface);font-variant-numeric:tabular-nums;border:1px solid #d5dade;border-radius:7px;padding:0 48px 0 11px;font-size:15px}.field-control input:hover,.select-field select:hover{border-color:#9fa9a2}.field-control input:focus,.select-field select:focus{border-color:var(--teal);background:var(--surface);outline:3px solid #087f8c21}.field-suffix{color:var(--muted);pointer-events:none;white-space:nowrap;font-size:11px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.field-hint{color:var(--muted);font-size:10.5px;line-height:1.45}.inline-note{border-left:3px solid var(--teal);background:var(--teal-soft);color:#385c61;margin:-5px 0 17px;padding:10px 12px;font-size:12px;line-height:1.5}.inline-note strong{color:#087d86}.mode-control{background:var(--soft);border-radius:8px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:17px;padding:3px;display:grid}.mode-control button{height:38px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:13px;font-weight:700}.mode-control button.active{color:#087d86;background:var(--surface);box-shadow:0 1px 3px #1b2b341f}details{margin-top:15px}details summary{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:650;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details summary svg{width:14px;height:14px}.details-body{border:1px solid var(--line);background:#f7f9fa;border-radius:8px;margin-top:15px;padding:16px}.toggle-field{border-top:1px solid var(--line);color:#39433c;cursor:pointer;align-items:center;gap:10px;min-height:46px;padding-top:13px;font-size:13px;font-weight:700;display:flex}.toggle-field input{opacity:0;width:1px;height:1px;position:absolute}.toggle-control{background:#dfe4e7;border:1px solid #b9c1c7;border-radius:11px;flex:none;width:38px;height:22px;transition:background .16s,border-color .16s;position:relative}.toggle-control:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #14222b38}.toggle-field input:checked+.toggle-control{border-color:var(--teal);background:var(--teal)}.toggle-field input:checked+.toggle-control:after{transform:translate(16px)}.toggle-field input:focus-visible+.toggle-control{outline-offset:2px;outline:3px solid #087f8c33}.section-toggle{border-bottom:1px solid var(--line);margin-top:-5px;padding:13px 0}.optional-section{gap:14px;padding-top:16px;display:grid}.optional-section .inline-note{margin:0}.nested-toggle{border-top:0;padding-top:0}.plain-explanation{color:#536059;background:#f4f7f5;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.55}.field-help{color:var(--muted);margin:-8px 0 0;font-size:11px;line-height:1.5}.compact-toggle{margin-top:14px}.auto-value{color:var(--muted);background:#f4f7f5;border-radius:6px;margin-top:8px;padding:9px 12px;font-size:12px}.auto-value strong{color:var(--teal)}.holding-assumptions{margin-top:10px}.holding-assumptions summary{min-height:34px;color:var(--muted);padding:7px 0;font-size:11px}.holding-assumptions .details-body{padding-top:10px}.optional-fields{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.select-field{gap:7px;display:grid}.select-field select{padding-right:34px}.source-link{color:var(--teal);text-underline-offset:3px;margin-top:16px;font-size:11px;font-weight:700;display:inline-block}.brand-note{color:#4b6250;background:#f1f8f2;border-left:3px solid #84bd8d;margin:-5px 0 17px;padding:10px 12px;font-size:12px;line-height:1.5}.brand-note strong{color:#327043}.error-box{color:#7b3327;background:var(--coral-soft);border:1px solid #ecc1b8;border-radius:8px;margin:18px 0 5px;padding:13px 14px;font-size:12px}.error-box strong{margin-bottom:5px;display:block}.error-box ul{margin:0;padding-left:17px;line-height:1.6}.holding-list{gap:12px;display:grid}.holding-item{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:14px}.holding-header{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:14px;display:grid}.holding-name{width:100%;height:36px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;padding:0 9px;font-size:14px;font-weight:750}.holding-name:hover{border-color:var(--line)}.holding-name:focus{border-color:var(--teal);background:var(--surface);outline:3px solid #087f8c21}.remove-holding{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.remove-holding:hover{color:var(--coral);background:var(--coral-soft)}.remove-holding svg,.add-holding svg{width:16px;height:16px}.add-holding{color:#087d86;background:0 0;border:1px dashed #8bcbd0;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;font-size:12px;font-weight:750;display:flex}.add-holding:hover{background:var(--teal-soft)}.holding-empty{color:var(--muted);background:var(--soft);text-align:center;margin:0;padding:13px;font-size:11px;line-height:1.5}.investment-total{color:var(--muted);justify-content:space-between;gap:12px;margin-top:12px;padding:11px 3px 0;font-size:10.5px;display:flex}.investment-total span{gap:3px;display:grid}.investment-total span:last-child{text-align:right}.investment-total strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.subsection-label{border-top:1px solid var(--line);color:#39433c;margin:17px 0 9px;padding-top:15px;font-size:12px;font-weight:750}.allocation-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.allocation-options button{border:1px solid var(--line);min-width:0;min-height:78px;color:var(--ink);background:var(--surface);text-align:left;border-radius:7px;align-content:center;justify-items:start;gap:3px;padding:10px;display:grid}.allocation-options button:hover{border-color:#9ccfd3}.allocation-options button.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:var(--teal-soft)}.allocation-options strong{font-size:12px}.allocation-options span,.allocation-options small{color:var(--muted);font-size:9.5px;line-height:1.35}.allocation-options button.active small{color:#087d86}.allocation-custom{margin-top:14px}.results-column{background:var(--surface);min-width:0}.results-panel{width:min(100%,1060px);margin:0 auto;padding:46px 42px 80px}.result-overview{justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:28px;display:flex}.overview-copy{min-width:0}.overview-copy h1{overflow-wrap:anywhere;max-width:760px;margin:8px 0;font-size:clamp(28px,4vw,42px);font-weight:780;line-height:1.14}.overview-copy p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.status-mark{border:1px solid;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-width:132px;padding:10px 12px;font-size:12px;font-weight:750;display:flex}.status-mark svg{width:17px;height:17px}.status-mark.good{color:#087d86;background:var(--surface)}.status-mark.attention{color:#a64037;background:var(--surface)}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;min-width:0;min-height:134px;padding:18px;display:flex}.metric-card.primary{border-color:#9bd6da}.metric-card>span{color:var(--muted);font-size:12px}.metric-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:12px 0 6px;font-size:clamp(20px,2.5vw,28px);font-weight:760;line-height:1.15}.metric-card small{color:var(--muted);margin-top:auto;font-size:10.5px;line-height:1.45}.readiness-band{color:var(--ink);background:var(--teal-soft);border:1px solid #b9e1e4;border-radius:8px;margin-top:13px;padding:16px 18px}.readiness-band>div:first-child{justify-content:space-between;align-items:center;font-size:12px;display:flex}.readiness-band strong{font-variant-numeric:tabular-nums;font-size:18px}.progress-track{background:#cce9eb;border-radius:4px;height:7px;margin-top:12px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--teal);max-width:100%;height:100%;transition:width .24s;display:block}.action-plan{background:var(--gold-soft);border:1px solid #e8c98c;border-radius:8px;margin-top:18px;padding:18px}.action-plan-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.action-plan-heading div{gap:4px;display:grid}.action-plan-heading span{color:var(--gold);font-size:11px;font-weight:750}.action-plan-heading h2{color:var(--ink);margin:0;font-size:17px;line-height:1.35}.action-plan-heading>svg{width:19px;height:19px;color:var(--gold)}.action-plan-lead{color:#6c5a38;margin:12px 0 15px;font-size:12px;line-height:1.55}.action-list{gap:8px;display:grid}.action-item{background:var(--surface);border:1px solid #ecd9ad;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.action-item>div{min-width:0}.action-item strong{color:var(--ink);font-size:13px}.action-item p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.45}.action-item button{color:#6c5012;background:#fffaf0;border:1px solid #d6b866;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:4px;min-width:72px;height:34px;font-size:11px;font-weight:750;display:inline-flex}.action-item button:hover{background:#fff3d2}.action-item button svg{width:14px;height:14px}.action-plan-footnote{color:#806d4a;margin:13px 0 0;font-size:10.5px;line-height:1.5}.result-section{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.cashflow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.cashflow-card{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;flex-direction:column;min-width:0;min-height:112px;padding:15px;display:flex}.cashflow-card>span{color:var(--muted);font-size:12px}.cashflow-card strong{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:10px 0 5px;font-size:23px;font-weight:760;line-height:1.15}.cashflow-card small{color:var(--muted);margin-top:auto;font-size:10.5px;line-height:1.45}.cashflow-card.attention{background:snow;border-color:#e6c5bf}.cashflow-card.attention strong{color:#a64037}.cashflow-card.covered{background:#f7fcfc;border-color:#b9e1e4}.cashflow-card.covered strong{color:#087d86;font-size:20px}.result-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.result-heading div{gap:4px;display:grid}.result-heading h2{font-size:20px}.result-heading>small{color:var(--muted);font-size:11px}.chart-wrap{width:100%;height:310px}.balance-chart{width:100%;height:280px;display:block;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-label{fill:var(--muted);font-size:11px}.chart-line{fill:none;stroke:var(--green);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--surface);stroke:var(--green);stroke-width:2px}.source-list{border-top:1px solid var(--line)}.source-row{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(130px,1fr) minmax(150px,auto);align-items:center;gap:14px;min-height:82px;display:grid}.source-icon{border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.source-icon svg{width:18px;height:18px}.source-icon.labor,.source-icon.national,.source-icon.pension,.source-icon.invest,.source-icon.work{color:var(--teal);background:var(--teal-soft)}.source-row h3{margin:0 0 4px;font-size:14px}.source-row p{color:var(--muted);margin:0;font-size:11px}.source-value{text-align:right;justify-items:end;gap:3px;min-width:0;display:grid}.source-value strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:16px}.source-value span{color:var(--muted);font-size:10px}.holding-results{border:1px solid var(--line);background:#fafbfb;border-radius:7px;margin-top:12px;padding:0 12px}.holding-results summary{min-height:38px;padding:9px 0;font-size:11px}.holding-results>div{border-top:1px solid var(--line)}.holding-result-row{border-bottom:1px solid var(--line);min-height:38px;color:var(--muted);justify-content:space-between;align-items:center;gap:14px;font-size:11px;display:flex}.holding-result-row:last-child{border-bottom:0}.holding-result-row span{overflow-wrap:anywhere;min-width:0}.holding-result-row strong{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.scenario-table-wrap{overflow-x:auto}.scenario-table{border-collapse:collapse;width:100%;font-size:13px}.scenario-table th{color:var(--muted);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:650}.scenario-table td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;padding:15px 12px}.scenario-table th:nth-child(n+2),.scenario-table td:nth-child(n+2){text-align:right}.scenario-table .ok{color:var(--green);font-weight:750}.scenario-table .not-ok{color:var(--coral);font-weight:750}.section-footnote{color:var(--muted);margin:11px 0 0;font-size:10.5px}.timeline{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:18px;display:grid;position:relative}.timeline:before{content:"";background:var(--line);height:2px;position:absolute;top:18px;left:18px;right:18px}.timeline>div{justify-items:start;gap:5px;display:grid;position:relative}.timeline svg{z-index:1;width:36px;height:36px;color:var(--teal);background:var(--teal-soft);border-radius:50%;padding:9px}.timeline span{color:var(--muted);margin-top:5px;font-size:10.5px}.timeline strong{font-size:12px}.calculation-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:38px;padding:18px 0}.calculation-notes summary{color:var(--ink);font-size:13px}.calculation-notes>div{max-width:760px;color:var(--muted);padding-top:10px;font-size:12px;line-height:1.65}.calculation-notes p{margin:0}.calculation-notes ul{margin:8px 0 0;padding-left:18px}.warning-list{margin-top:18px}.warning-list p{color:var(--muted);align-items:flex-start;gap:8px;margin:8px 0;font-size:10.5px;line-height:1.5;display:flex}.warning-list svg{width:14px;height:14px;color:var(--gold);margin-top:1px}.empty-state{text-align:center;place-content:center;justify-items:center;min-height:calc(100vh - 68px);padding:30px;display:grid}.empty-icon{width:48px;height:48px;color:var(--teal);background:var(--teal-soft);border-radius:8px;place-items:center;display:grid}.empty-state h1{margin:16px 0 6px;font-size:22px}.empty-state p{color:var(--muted);margin:0;font-size:13px}.mobile-tabs{display:none}@media (width<=1100px){.workspace{grid-template-columns:370px minmax(0,1fr)}.input-panel{padding-left:20px;padding-right:20px}.results-panel{padding-left:28px;padding-right:28px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:112px}}@media (width<=820px){.app-header{height:60px;padding:0 16px}.brand>span{width:34px;height:34px}.brand small{display:none}.app-header nav>a{justify-content:center;width:38px;padding:0;font-size:0}.mobile-tabs{z-index:18;border-bottom:1px solid var(--line);background:#fffffff7;grid-template-columns:1fr 1fr;gap:4px;padding:8px 12px;display:grid;position:sticky;top:60px}.mobile-tabs button{height:40px;color:var(--muted);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.mobile-tabs button.active{color:#087d86;background:var(--teal-soft)}.mobile-tabs svg{width:16px;height:16px}.workspace{min-height:calc(100vh - 112px);display:block}.workspace>aside,.results-column{display:none}.workspace>aside.mobile-visible,.results-column.mobile-visible{display:block}.workspace>aside{border-right:0}.input-panel{max-width:620px;margin:0 auto;padding:5px 18px 70px}.results-panel{padding:32px 18px 70px}.result-overview{display:block}.status-mark{width:fit-content;margin-top:18px}.metric-grid{grid-template-columns:1fr}.metric-card{width:auto;min-height:118px}.cashflow-grid{grid-template-columns:1fr}.empty-state{min-height:calc(100vh - 112px)}}@media (width<=560px){.field-grid.two{grid-template-columns:1fr}.overview-copy h1{font-size:29px}.chart-wrap{height:260px}.source-row{grid-template-columns:40px minmax(94px,1fr) minmax(115px,auto);gap:9px}.source-value strong{font-size:14px}.timeline{grid-template-columns:1fr 1fr;row-gap:22px}.timeline:before{display:none}.allocation-options{grid-template-columns:1fr}}@media print{body{background:#fff}.app-header,.mobile-tabs,.workspace>aside{display:none!important}.workspace,.results-column{display:block!important}.results-panel{width:100%;padding:0}.metric-card{break-inside:avoid}.chart-wrap{height:280px}.result-section{break-inside:avoid;margin-top:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
