﻿/* Retirement Planner only — intentionally isolated from other Wealth pages. */
.retirement-app{font-family:"Noto Sans Thai",Manrope,sans-serif;background:var(--green-50);min-height:100vh}.retirement-app h1,.retirement-app h2,.retirement-app h3{font-family:"Noto Sans Thai",Manrope,sans-serif}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.retirement-entry{min-height:100vh;display:grid;place-items:center;padding:130px 0 80px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 20%,#fff 0,transparent 42%),var(--green-50)}.retirement-orbit{position:absolute;width:560px;height:560px;border:1px solid rgba(24,80,57,.1);border-radius:50%;right:-260px;bottom:-270px;box-shadow:0 0 0 75px rgba(24,80,57,.025)}.entry-inner{text-align:center;position:relative;z-index:1}.retirement-kicker{text-transform:uppercase;letter-spacing:2px;font-size:9px;font-weight:800;color:var(--gold);margin-bottom:14px}.entry-inner h1{font-size:clamp(55px,8vw,104px);color:var(--green-950);margin:10px 0 18px;letter-spacing:-.055em}.entry-inner h1 em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.entry-lead{font-size:18px;color:var(--muted);max-width:650px;margin:0 auto 38px}.entry-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.retire-button,.quiet-button{border:1px solid transparent;border-radius:10px;padding:14px 19px;font:800 12px/1.3 "Noto Sans Thai",sans-serif;cursor:pointer;transition:.25s;display:inline-flex;align-items:center;justify-content:space-between;gap:25px}.retire-button.primary{background:var(--green-900);color:#fff}.retire-button.secondary{background:#fff;border-color:var(--line);color:var(--green-900)}.retire-button:hover,.quiet-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(16,59,44,.1)}.text-action{display:block;width:100%;border:0;background:none;color:var(--green-700);font:700 11px "Noto Sans Thai";text-decoration:underline;cursor:pointer;margin-top:8px}.privacy-note{font-size:10px;color:#82958a;margin-top:28px}.entry-message,.validation-message{min-height:24px;color:#a23f37;font-size:12px;margin-top:12px}.wizard-view,.review-view,.results-view{padding:145px 0 100px;min-height:100vh}.wizard-shell{max-width:850px}.compact-shell{max-width:960px}.wizard-top,.results-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.wizard-top h1,.view-heading h1,.results-heading h1{font-size:clamp(34px,5vw,56px);color:var(--green-950);margin:0}.quiet-button{background:#fff;border-color:var(--line);color:var(--green-900)}.quiet-button.gold{background:var(--gold);border-color:var(--gold);color:var(--green-950)}.wizard-progress{height:5px;background:#dce6df;border-radius:10px;overflow:hidden}.wizard-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green-700),var(--gold));transition:width .35s}.step-count{text-align:right;font-size:10px;color:var(--muted);margin:8px 0 22px}.question-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:42px;box-shadow:var(--shadow);min-height:350px}.question-number{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);font-weight:800}.question-card h2{font-size:clamp(25px,4vw,37px);color:var(--green-950);margin:8px 0 10px}.question-help{font-size:13px;color:var(--muted);margin-bottom:25px}.retire-field{display:grid;gap:7px;margin-top:15px}.retire-field label{font-size:11px;font-weight:800;color:#526b5e}.retire-field input,.retire-field select,.retire-field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fcfdfb;color:var(--ink);outline:none}.retire-field input:focus,.retire-field select:focus,.retire-field textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(37,101,72,.09)}.retire-field textarea{min-height:85px;resize:vertical}.currency-wrap,.percent-wrap{position:relative}.currency-wrap input,.percent-wrap input{padding-right:55px}.currency-wrap span,.percent-wrap span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted)}.quick-options{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.quick-options button{border:1px solid var(--line);background:#fff;border-radius:30px;padding:8px 13px;color:var(--green-800);font-size:10px;font-weight:700;cursor:pointer}.quick-options button:hover{border-color:var(--gold)}.calculated-hint{display:flex;gap:25px;flex-wrap:wrap;background:var(--green-50);border-radius:10px;padding:13px 15px;margin-top:20px;font-size:11px;color:var(--green-800)}.wizard-actions,.center-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.dynamic-list{display:grid;gap:12px}.dynamic-item{padding:18px;background:var(--green-50);border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;position:relative}.dynamic-item .full{grid-column:1/-1}.remove-item{position:absolute;right:9px;top:9px;border:0;background:#fff;color:#a23f37;width:29px;height:29px;border-radius:50%;cursor:pointer}.add-item{border:0;background:var(--green-100);color:var(--green-800);padding:10px 14px;border-radius:8px;font-size:11px;font-weight:800;cursor:pointer;margin-top:12px}.choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-cards label{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px;cursor:pointer;font-size:12px;font-weight:700}.choice-cards label:has(input:checked){border-color:var(--gold);background:#fffaf0}.choice-cards input{margin-right:8px}.view-heading{text-align:center;max-width:680px;margin:0 auto 45px}.view-heading>p:last-child{color:var(--muted)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px}.review-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.review-card h2{font-size:17px;margin:0}.review-card button{border:0;background:none;color:var(--green-700);font-size:10px;font-weight:800;cursor:pointer}.review-card dl{margin:0;display:grid;gap:8px}.review-card dl div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #edf1ee;padding-bottom:7px}.review-card dt{font-size:10px;color:var(--muted)}.review-card dd{font-size:11px;font-weight:700;text-align:right;margin:0}.results-heading{align-items:flex-start}.results-heading>div:first-child{max-width:600px}.results-heading>div:first-child>p:last-child{color:var(--muted)}.results-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:35px 0}.summary-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;min-width:0}.summary-card small{font-size:9px;color:var(--muted);display:block;margin-bottom:7px}.summary-card strong{display:block;font-size:clamp(22px,3vw,31px);color:var(--green-900);overflow-wrap:anywhere}.summary-card.target strong{color:#9a793b}.summary-card.negative strong{color:#a23f37}.summary-card.positive strong{color:#138259}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-card,.inflation-panel,.assumption-editor{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.card-heading h2{font-size:17px;margin:0}.card-heading small{font-size:9px;color:var(--muted)}.bar-chart{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:100px 1fr 110px;align-items:center;gap:10px;font-size:10px}.bar-track{height:13px;background:#edf1ee;border-radius:8px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:8px;background:var(--green-700)}.bar-row.target i{background:var(--gold)}.bar-row.gap i{background:#b84c43}.bar-row b{text-align:right}.chart-summary{font-size:10px;color:var(--muted);margin:18px 0 0}.progress-gauge{text-align:center}.progress-gauge strong{display:block;font-size:48px;color:var(--green-900);margin-bottom:14px}.progress-gauge>span,.print-progress>span{height:12px;background:#e5ebe7;border-radius:10px;display:block;overflow:hidden}.progress-gauge i,.print-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green-700),var(--gold));border-radius:10px}.asset-chart{display:flex;align-items:flex-end;gap:9px;height:130px}.asset-column{flex:1;min-width:18px;background:var(--green-700);border-radius:6px 6px 0 0;position:relative}.asset-column span{position:absolute;bottom:-35px;left:50%;transform:translateX(-50%);font-size:8px;width:60px;text-align:center;color:var(--muted)}.timeline-chart{display:flex;align-items:center;min-height:110px;overflow-x:auto;padding:20px 5px}.age-point{min-width:105px;text-align:center;position:relative}.age-point:before{content:"";position:absolute;height:2px;background:#cadbd0;left:50%;right:-50%;top:18px}.age-point:last-child:before{display:none}.age-point i{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--green-900);color:var(--gold);font-style:normal;font-size:10px;margin:auto}.age-point span{display:block;font-size:8px;color:var(--muted);margin-top:7px}.inflation-panel{margin-top:16px;display:grid;grid-template-columns:1fr .75fr;gap:28px}.inflation-panel h2{font-size:28px;margin:0 0 8px}.inflation-panel>div:first-child>p:last-child{font-size:12px;color:var(--muted)}.inflation-control label{display:block;font-size:11px;font-weight:800;margin-bottom:7px}.inflation-control>div:nth-child(2){display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding-right:15px}.inflation-control input{border:0;padding:12px;width:100%;outline:none}.quick-rates{display:flex;gap:6px;margin-top:8px}.quick-rates button{flex:1;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;font-size:10px;cursor:pointer}.inflation-comparison{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.scenario-card{padding:18px;border-radius:12px;background:var(--green-50)}.scenario-card h3{font-size:14px}.scenario-card dl{display:grid;gap:8px;margin:0}.scenario-card dl div{display:flex;justify-content:space-between;gap:15px;font-size:10px}.scenario-card dd{margin:0;font-weight:800;text-align:right}.assumption-editor{margin-top:16px}.assumption-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.assumption-grid label{font-size:9px;font-weight:800;color:var(--muted)}.assumption-grid input{width:100%;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:8px}.result-disclaimer{font-size:10px;color:var(--muted);text-align:center;max-width:800px;margin:30px auto 0}.print-report{display:none}
@media(max-width:900px){.summary-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.inflation-panel{grid-template-columns:1fr}.assumption-grid{grid-template-columns:1fr 1fr}.wizard-top,.results-heading{align-items:flex-start;flex-direction:column}.results-actions{justify-content:flex-start}}
@media(max-width:600px){.retirement-entry{padding-top:115px}.entry-inner h1{font-size:54px}.entry-lead{font-size:15px}.entry-actions{display:grid}.entry-actions .retire-button{width:100%}.wizard-view,.review-view,.results-view{padding:120px 0 70px}.question-card{padding:25px 20px;min-height:380px}.wizard-actions{display:grid;grid-template-columns:1fr 1fr}.dynamic-item{grid-template-columns:1fr}.dynamic-item .full{grid-column:auto}.choice-cards,.review-grid,.summary-grid,.inflation-comparison,.assumption-grid{grid-template-columns:1fr}.results-actions{display:grid;width:100%}.results-actions .quiet-button{width:100%}.dashboard-card,.inflation-panel,.assumption-editor{padding:21px 17px}.bar-row{grid-template-columns:75px 1fr}.bar-row b{grid-column:2}.contact-panel{padding:30px 20px}}
@media print{body{background:#fff!important}.site-header,.footer,.back-top,.retirement-entry,.wizard-view,.review-view,.results-view{display:none!important}.retirement-app{background:#fff}.print-report{display:block!important;width:190mm;min-height:270mm;margin:0 auto;padding:14mm;color:#17382b}.print-report header{display:flex;justify-content:space-between;border-bottom:1px solid #dce6df;padding-bottom:8mm}.print-brand{display:flex;align-items:center;gap:8px}.print-brand span{width:32px;height:32px;display:grid;place-items:center;background:#103b2c;color:#c6a15b;border-radius:8px}.print-report>h1{font-size:26pt;margin:12mm 0 2mm}.print-report>p{color:#687a70}.print-metrics{display:grid;grid-template-columns:1fr 1fr;gap:5mm;margin:12mm 0}.print-metric{border:1px solid #dce6df;border-radius:4mm;padding:5mm}.print-metric small{display:block;color:#687a70}.print-metric strong{font-size:17pt}.print-progress{margin:10mm 0}.print-progress b{display:block;margin-top:3mm}.print-statement{font-size:16pt!important;color:#17382b!important;border-left:2mm solid #c6a15b;padding-left:5mm;margin:12mm 0}@page{size:A4 portrait;margin:0}}

.result-details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px;margin-bottom:16px}.result-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin:0}.result-details dl div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #edf1ee}.result-details dt{font-size:10px;color:var(--muted)}.result-details dd{font-size:10px;font-weight:800;text-align:right;margin:0}@media(max-width:600px){.result-details{padding:21px 17px}.result-details dl{grid-template-columns:1fr}}

.question-card{scroll-margin-top:105px;max-height:calc(100vh - 310px);overflow-y:auto;overscroll-behavior:contain}.government-income{background:#f7faf6;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:22px}.allowance-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.allowance-tiers span{background:#fff;border-radius:7px;padding:8px;font-size:9px;color:var(--muted);text-align:center}.income-choices{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:8px}.income-choices>p{font-size:10px;font-weight:800;color:var(--green-800);margin:0}.calculation-explanations{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px;margin-bottom:16px}.calculation-explanations>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:13px}.calculation-explanations article{background:var(--green-50);border-radius:12px;padding:18px}.calculation-explanations h3{font-size:13px;margin:0 0 8px;color:var(--green-900)}.calculation-explanations p{font-size:10px;color:var(--muted);margin:0;line-height:1.75}.retire-button.demo{background:#fffaf0;border-color:var(--gold);color:var(--green-900)}.cashflow-table-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px;margin-top:16px}.cashflow-table-wrap{overflow-x:auto;max-height:560px;overscroll-behavior:contain}.cashflow-table-card table{width:100%;border-collapse:collapse;min-width:850px}.cashflow-table-card th{position:sticky;top:0;background:var(--green-900);color:#fff;text-align:right;font-size:9px;padding:11px 10px;z-index:1}.cashflow-table-card th:first-child,.cashflow-table-card td:first-child{text-align:center}.cashflow-table-card td{text-align:right;font-size:9px;padding:10px;border-bottom:1px solid #edf1ee;white-space:nowrap}.cashflow-table-card tr:nth-child(even){background:var(--green-50)}.cashflow-table-card .negative-row td:last-child{color:#a23f37;font-weight:800}@media(max-width:600px){.allowance-tiers,.calculation-explanations>div:last-child{grid-template-columns:1fr}.calculation-explanations,.cashflow-table-card{padding:21px 17px}.question-card{max-height:calc(100vh - 285px);min-height:0}}

/* The data-entry flow stays inside one viewport. Only long card content scrolls. */
body.retirement-wizard-active{overflow:hidden}
body.retirement-wizard-active .site-header,
body.retirement-wizard-active .footer,
body.retirement-wizard-active .back-top{display:none}
body.retirement-wizard-active .retirement-app{height:100dvh;min-height:0;overflow:hidden}
.retirement-wizard-active .wizard-view:not([hidden]){display:block;position:fixed;z-index:90;inset:0;height:100vh;height:100dvh;min-height:0;padding:14px 0;overflow:hidden;background:var(--green-50)}
.retirement-wizard-active .wizard-shell{height:100%;display:flex;flex-direction:column}
.retirement-wizard-active .wizard-top{align-items:center;margin:0 0 8px;min-height:40px}
.retirement-wizard-active .wizard-top>div{display:none}
.retirement-wizard-active .wizard-top .quiet-button{margin-left:auto;padding:9px 14px}
.retirement-wizard-active .step-count{margin:5px 0 8px}
.retirement-wizard-active #retirement-form{display:flex;flex:1;min-height:0;flex-direction:column}
.retirement-wizard-active .question-card{flex:1;min-height:0;max-height:none;padding:24px 30px;overflow-y:auto;scroll-margin:0}
.retirement-wizard-active .question-card h2{font-size:clamp(23px,3vw,32px);margin:5px 0 6px}
.retirement-wizard-active .question-help{margin-bottom:12px}
.retirement-wizard-active .wizard-actions{flex:0 0 auto;margin-top:9px}
.retirement-wizard-active .validation-message{min-height:18px;margin-top:3px}
.summary-jump{display:flex;flex-direction:column;align-items:center;gap:5px;margin:4px auto -18px;padding:5px 18px;border:0;background:transparent;color:var(--green-800);font-size:10px;font-weight:800;letter-spacing:.08em;cursor:pointer}
.summary-jump[hidden]{display:none!important}.entry-summary-jump{margin:2px auto -8px}
.summary-jump svg{width:52px;height:52px;overflow:visible;fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 8px rgba(16,59,44,.12));animation:summary-arrow 1.8s ease-in-out infinite}
.summary-jump:hover svg{stroke:var(--green-700)}
.summary-grid{scroll-margin-top:100px}
@keyframes summary-arrow{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.print-progress-graphic{display:grid;grid-template-columns:38mm 1fr;align-items:center;gap:8mm;margin:7mm 0;padding:5mm;border:1px solid #dce6df;border-radius:4mm}
.print-progress-graphic svg{width:38mm;height:38mm;transform:rotate(-90deg)}
.print-progress-track,.print-progress-value{fill:none;stroke-width:14}
.print-progress-track{stroke:#e7ece9}
.print-progress-value{stroke:#138259;stroke-linecap:round;transition:stroke-dashoffset .3s}
.print-progress-graphic.negative .print-progress-value{stroke:#b84c43}
.print-progress-graphic>div{display:flex;flex-direction:column}
.print-progress-graphic strong{font-size:30pt;line-height:1;color:#138259}
.print-progress-graphic.negative strong{color:#b84c43}
.print-progress-graphic span{font-size:10pt;color:#687a70;margin-top:3mm}
.print-metric.negative{border-color:#e5bcb7;background:#fff5f3}
.print-metric.negative strong,.print-progress b.negative{color:#b84c43}
.print-metric.positive{border-color:#b8d8c3;background:#f1f8f3}
.print-metric.positive strong,.print-progress b.positive{color:#138259}
@media print{.print-report,.print-report *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.summary-jump{display:none!important}}
.calculation-explanations .calculation-box{position:relative;border:1px solid transparent;border-left-width:4px}
.calculation-box-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.calculation-explanations .calculation-box-head span{flex:0 0 auto;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:800}
.calculation-explanations .calculation-box-head h3{margin:0}
.calculation-explanations .calculation-box>small{display:block;margin-top:9px;font-size:9px;font-weight:800;letter-spacing:.01em}
.calculation-explanations .calculation-box.expense{background:#fff5f3;border-color:#efd4cf;color:#8e352f}
.calculation-explanations .calculation-box.expense .calculation-box-head span{background:#b84c43;color:#fff}
.calculation-explanations .calculation-box.expense h3,.calculation-explanations .calculation-box.expense p,.calculation-explanations .calculation-box.expense small{color:#9c3d36}
.calculation-explanations .calculation-box.income{background:#f1f8f3;border-color:#c9dfcf;color:#166143}
.calculation-explanations .calculation-box.income .calculation-box-head span{background:#207451;color:#fff}
.calculation-explanations .calculation-box.income h3,.calculation-explanations .calculation-box.income p,.calculation-explanations .calculation-box.income small{color:#175f42}
.calculation-explanations .calculation-box.overview{background:#f4f5f4;border-color:#d9ddda;color:#56635c}
.calculation-explanations .calculation-box.overview .calculation-box-head span{background:#68766f;color:#fff}
.calculation-explanations .calculation-box.overview h3,.calculation-explanations .calculation-box.overview p,.calculation-explanations .calculation-box.overview small{color:#4f5e56}
@media(max-width:600px){
  .retirement-wizard-active .wizard-view{padding:8px 0}
  .retirement-wizard-active .wizard-shell{width:min(100% - 24px,850px)}
  .retirement-wizard-active .wizard-top{min-height:34px;margin-bottom:5px}
  .retirement-wizard-active .wizard-top .quiet-button{padding:7px 11px}
  .retirement-wizard-active .question-card{padding:18px 16px}
  .retirement-wizard-active .wizard-actions{display:grid;margin-top:6px}
  .retirement-wizard-active .wizard-actions .retire-button{padding:11px 13px}
}

