:root{color:#172033;background:#edf2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}.app-shell{width:min(1600px,100%);margin:0 auto;padding:28px}.app-navigation{background:#edf2f7;position:sticky;top:0;z-index:100}.app-navigation:after{background:linear-gradient(rgba(24,39,75,.14),transparent);bottom:-10px;content:"";height:10px;left:0;opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity .16s ease}.app-navigation:hover:after{opacity:1}.topbar{align-items:center;background:#10223f;color:#fff;display:flex;justify-content:space-between;min-height:132px;padding:28px}.topbar p,.section-heading span{color:#8fb4dc;font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.topbar h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:0}.report-chip{align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);display:flex;gap:8px;padding:12px 14px;white-space:nowrap}.topbar-actions{align-items:stretch;display:flex;gap:10px}.topbar-actions .MuiButton-root{background:#16a34a;font-weight:800;text-transform:none;white-space:nowrap}.topbar-actions .MuiButton-root:hover{background:#15803d}.tabs-shell{background:#fff;border:1px solid #dce4ee;margin-top:18px;padding:0 14px}.tabs-shell .MuiTab-root{color:#64748b;font-weight:800;min-height:58px;text-transform:none}.tabs-shell .Mui-selected{color:#10223f}.tabs-shell .MuiTabs-indicator{background:#16a34a;height:3px}.summary-grid,.dashboard-grid,.strategy-grid,.three-column,.experiment-grid{display:grid;gap:18px}.dashboard-content{display:grid;gap:18px;margin-top:18px}.experiment-grid{margin-top:18px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid,.strategy-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}.accounts-strategy-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.income-layout>.section:first-child{grid-column:2;grid-row:1}.income-layout>.section:nth-child(2){grid-column:1;grid-row:1}.experiment-grid{grid-template-columns:1fr}.experiment-accordion{border:1px solid #dce4ee;box-shadow:0 18px 48px #18274b14}.experiment-accordion.MuiAccordion-root:before{display:none}.experiment-accordion .MuiAccordionSummary-root{min-height:74px;padding:0 22px}.experiment-accordion .MuiAccordionSummary-content{margin:16px 0}.experiment-accordion .MuiAccordionDetails-root{padding:0 22px 22px}.accordion-heading span{color:#8fb4dc;display:block;font-size:.78rem;font-weight:800;margin:0 0 6px;text-transform:uppercase}.accordion-heading h2{color:#10223f;font-size:1.15rem;line-height:1.1;margin:0}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card,.section{background:#fff;border:1px solid #dce4ee;box-shadow:0 18px 48px #18274b14}.summary-card{align-items:flex-start;border-top:4px solid var(--summary-accent);display:flex;gap:14px;min-height:152px;padding:20px}.summary-card.blue{--summary-accent: #1f6feb;--summary-soft: #e8f1ff}.summary-card.purple{--summary-accent: #7c3aed;--summary-soft: #f2ecff}.summary-card.green{--summary-accent: #15803d;--summary-soft: #e8f8ef}.summary-card.orange{--summary-accent: #c56a12;--summary-soft: #fff3df}.summary-card-content{display:flex;flex:1;flex-direction:column;min-width:0}.summary-card-detail{display:grid;gap:8px}.summary-card p,.summary-card span,.account-row small,.timeline small,.facts span,.assumption-grid span,.milestone span{color:#64748b}.summary-card p{font-size:.78rem;font-weight:800;margin:0 0 12px;text-transform:uppercase}.summary-card strong{display:block;font-size:clamp(1.55rem,2.3vw,2.35rem);line-height:1;margin-bottom:10px}.summary-card.center-value strong{text-align:center}.summary-card .retirement-breakdown-values{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(82px,1fr));margin-top:2px;width:100%}.summary-card .retirement-mini-card{background:#f4f8ff;border:1px solid #d8e6f7;border-left:3px solid #1f6feb;color:#10223f;display:grid;font-size:inherit;gap:3px;padding:8px 10px}.summary-card .retirement-mini-card.desiree{background:#faf7ff;border-color:#e4d9f7;border-left-color:#7c3aed}.retirement-mini-card small{color:#64748b;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.summary-card .retirement-mini-card .retirement-age{color:#64748b;font-size:.82rem;font-weight:800}.summary-card .portfolio-breakdown-values{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(82px,1fr));margin-top:2px;width:100%}.summary-card .portfolio-mini-card{background:#f4f8ff;border:1px solid #d8e6f7;border-left:3px solid #1f6feb;display:grid;gap:3px;min-width:0;padding:8px 9px}.summary-card .portfolio-mini-card.desiree{background:#faf7ff;border-color:#e4d9f7;border-left-color:#7c3aed}.summary-card .portfolio-mini-card small{color:#64748b;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.summary-card .portfolio-mini-card>span{color:#10223f;font-size:.82rem;font-weight:800;white-space:nowrap}.summary-card span{display:block;font-size:.9rem;line-height:1.35}.summary-card .summary-card-note{color:#64748b;font-size:.76rem;font-weight:700}.card-icon{align-items:center;display:grid;height:42px;place-items:center;width:42px}.summary-card .card-icon{background:var(--summary-soft);color:var(--summary-accent)}.blue .card-icon,.facts.blue{background:#e8f1ff;color:#1f6feb}.purple .card-icon,.facts.purple{background:#f2ecff;color:#7c3aed}.green .card-icon,.facts.green{background:#e8f8ef;color:#15803d}.orange .card-icon{background:#fff3df;color:#c56a12}.section{min-width:0;padding:22px}.section-heading{align-items:flex-end;display:flex;justify-content:space-between;gap:14px;margin-bottom:18px}.section-heading h2{color:#10223f;font-size:1.15rem;line-height:1.1;margin:0}.chart-panel{height:340px}.chart-panel.tall{height:420px}.account-list,.strategy-list,.milestones{display:grid;gap:10px}.experiment-controls{display:grid;gap:20px}.experiment-control-section{background:#f7f9fc;display:flex;flex-direction:column;gap:18px;padding:16px}.experiment-control-section h3{color:#10223f;font-size:1rem;margin:0}.experiment-control-section.tony{border-left:4px solid #1f6feb}.experiment-control-section.desiree{border-left:4px solid #7c3aed}.experiment-control-section.shared{border-left:4px solid #16a34a}.experiment-people-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.experiment-controls label{color:#10223f;display:grid;font-weight:800;gap:10px}.experiment-controls label>span{color:#64748b;font-size:.78rem;text-transform:uppercase}.experiment-controls .MuiSlider-root{color:#16a34a}.experiment-controls .MuiButton-root{justify-self:start;min-height:44px;text-transform:none}.experiment-field-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.experiment-control-section.tony .experiment-field-grid,.experiment-control-section.desiree .experiment-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contribution-schedule{display:grid;gap:12px}.contribution-schedule h4{color:#10223f;font-size:.92rem;margin:0}.contribution-schedule-rows{display:grid;gap:12px}.contribution-schedule>small{color:#64748b}.contribution-schedule-add,.contribution-schedule-row{align-items:flex-start;display:grid;gap:10px;grid-template-columns:minmax(130px,180px) auto;justify-content:start}.contribution-schedule-row{grid-template-columns:minmax(220px,1fr) auto}.account-row,.strategy-item,.milestone{align-items:center;background:#f7f9fc;display:grid;gap:12px;padding:14px}.account-row{grid-template-columns:auto minmax(0,1fr) auto}.account-row:nth-child(2n),.evolution-table tbody tr:nth-child(2n){background:#eef4fb}.account-row strong,.account-row small{display:block}.account-dot{background:var(--dot-color, #16a34a);height:12px;width:12px}.account-row b{color:#10223f;font-size:1.1rem}.account-row.total{background:#e8f8ef}.table-scroll{overflow-x:auto}.evolution-table{border-collapse:collapse;min-width:1120px;width:100%}.evolution-table th{background:#10223f;color:#fff;font-size:.78rem;padding:14px 12px;text-align:right;white-space:nowrap}.evolution-table th:first-child,.evolution-table td:first-child{text-align:left}.evolution-table th span{color:#9dbde0;display:block;font-size:.72rem;font-weight:600;margin-top:4px}.evolution-table th .year-header{border-bottom:1px dotted #9dbde0;color:inherit;cursor:help;display:inline-block;font-size:inherit;font-weight:inherit;margin-top:0}.year-tooltip{display:grid;gap:4px}.year-tooltip>span{display:block}.evolution-table td{padding:14px 12px;text-align:right;white-space:nowrap}.evolution-table .total-row{background:#e7f6ed;color:#0f5d32;font-weight:800}.income-table-scroll{margin-top:18px}.income-table{font-size:.82rem;min-width:3200px}.income-table thead{position:sticky;top:0;z-index:1}.income-table th,.income-table td{padding:10px 9px}.income-table tbody tr:nth-child(2n){background:#eef4fb}.income-table .subtotal-row{background:#e8f1ff;color:#174a8b}.income-table .subtotal-row td{font-weight:800}.income-table th:first-child,.income-table td:first-child{left:0;position:sticky;white-space:nowrap;width:1%;z-index:2}.income-source-label{border-bottom:1px dotted currentColor;cursor:help}.income-table td:first-child{background:#fff;box-shadow:1px 0 #d8e0ea;color:#10223f;font-weight:700}.income-table tbody tr:nth-child(2n) td:first-child{background:#eef4fb}.income-table .total-row td:first-child{background:#e7f6ed;text-align:left}.income-table .total-row td{font-weight:800}.income-table .subtotal-row td:first-child{background:#e8f1ff;color:#174a8b;text-align:right}.income-table th:first-child{background:#10223f;z-index:3}.facts{color:#172033;display:grid;gap:10px;padding:14px}.facts div,.assumption-grid div{background:#ffffffb8;display:flex;justify-content:space-between;gap:14px;padding:12px}.facts strong{color:#172033;text-align:right}.living-location-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.living-retirement-income{align-items:center;background:#10223f;border:1px solid #274466;color:#fff;display:flex;gap:24px;justify-content:space-between;padding:14px 18px;position:sticky;top:var(--sticky-navigation-height, 220px);z-index:20}.living-retirement-income-heading{display:grid;gap:2px}.living-retirement-income-heading>span,.living-retirement-income-heading small,.living-retirement-income-facts span{color:#a9c5e2;font-size:.68rem;font-weight:800;text-transform:uppercase}.living-retirement-income-heading strong{font-size:1.35rem}.living-retirement-income-facts{display:flex;gap:10px}.living-retirement-income-facts>div{background:#ffffff1a;display:grid;gap:2px;min-width:105px;padding:8px 10px}@media(max-width:760px){.living-retirement-income{align-items:stretch;flex-direction:column;gap:10px}.living-retirement-income-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.living-retirement-income-facts>div{min-width:0}}@media(max-width:460px){.living-retirement-income-facts{grid-template-columns:1fr}}.living-state-card{background:#f7fbff;border:1px solid #d8e6f7;border-top:4px solid #1f6feb;padding:16px}.living-state-card.oregon{background:#f7fcf9;border-color:#d5eadc;border-top-color:#16a34a}.living-state-card.california{background:#fffaf2;border-color:#f2dfbd;border-top-color:#e58a17}.living-state-card.colorado{background:#faf7ff;border-color:#e4d9f7;border-top-color:#7c3aed}.living-state-card.maine{background:#f4fbfb;border-color:#cfe8e8;border-top-color:#0f8b8d}.living-state-card.vermont{background:#f8fbf5;border-color:#dce9cf;border-top-color:#5c8a2b}.living-state-card.michigan{background:#f4f9ff;border-color:#d4e4f4;border-top-color:#2563a6}.living-state-card.new-york{background:#fff8f8;border-color:#efdada;border-top-color:#b63a4a}.living-state-card.new-hampshire{background:#faf8ff;border-color:#e2dcf0;border-top-color:#6550a3}.living-state-heading{align-items:center;color:#1f6feb;display:flex;gap:8px;margin-bottom:12px}.living-state-card.oregon .living-state-heading{color:#15803d}.living-state-card.california .living-state-heading{color:#c56a12}.living-state-card.colorado .living-state-heading{color:#7c3aed}.living-state-card.maine .living-state-heading{color:#0f7779}.living-state-card.vermont .living-state-heading{color:#527a29}.living-state-card.michigan .living-state-heading{color:#2563a6}.living-state-card.new-york .living-state-heading{color:#a53243}.living-state-card.new-hampshire .living-state-heading{color:#6550a3}.living-state-heading h3{color:#10223f;font-size:1rem;margin:0}.living-location-list{display:grid;gap:10px}.living-location-row{align-items:center;background:#fff;border:1px solid #e3eaf2;display:grid;gap:12px;grid-template-columns:minmax(130px,1fr) minmax(100px,auto) minmax(110px,auto);padding:12px}.living-location-row.exceeds-income{border-color:#efb8b8;box-shadow:inset 3px 0 #dc2626}.living-location-row>span{display:grid;gap:2px;text-align:right}.living-location-link{align-items:center;color:#10223f;display:inline-flex;gap:5px;font-weight:800}.living-location-row>strong{display:grid;gap:4px}.living-location-row .living-airport{color:#64748b;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.living-income-status{align-items:center;display:inline-flex!important;font-style:normal;font-weight:800!important;gap:4px;white-space:nowrap}.living-income-status.unaffordable{color:#b91c1c!important}.living-income-status.potential{color:#a16207!important}.living-income-status.within-income{color:#15803d!important}.living-candidate-summary .living-income-status{font-size:.68rem;justify-self:end;margin-top:3px}.living-location-row small{color:#64748b;font-size:.68rem;text-transform:uppercase}.international-rule-link{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.international-country-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.international-country-card{background:#f8fafc;border:1px solid #dce4ee;border-top:4px solid #1f6feb;padding:16px}.international-country-card.spain{border-top-color:#d89b13}.international-country-card.mexico{border-top-color:#15803d}.international-country-card.costa-rica{border-top-color:#dc2626}.international-country-heading{align-items:center;color:#1f6feb;display:flex;gap:8px;margin-bottom:12px}.international-country-heading h3{color:#10223f;font-size:1rem;margin:0}.international-rule-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.international-rule-grid>div{background:#fff;border:1px solid #e3eaf2;padding:11px}.international-rule-grid span{color:#64748b;display:block;font-size:.68rem;font-weight:800;margin-bottom:5px;text-transform:uppercase}.international-rule-grid p{font-size:.8rem;line-height:1.4;margin:0}.international-rule-link{font-size:.76rem;margin-bottom:14px}.living-candidate-accordion.MuiAccordion-root{margin:0;overflow:hidden;padding:0}.living-candidate-accordion.MuiAccordion-root:before{display:none}.living-candidate-accordion .MuiAccordionSummary-root{min-height:72px;padding:0 16px}.living-candidate-accordion .MuiAccordionSummary-content{margin:14px 12px 14px 0;min-width:0}.living-candidate-accordion .MuiAccordionDetails-root{padding:0 16px 16px}.living-candidate-summary{align-items:center;display:flex;justify-content:space-between;min-width:0;width:100%}.living-candidate-summary .living-state-heading,.living-candidate-summary .international-country-heading{margin:0}.living-candidate-summary>span{display:grid;flex:0 0 auto;gap:2px;text-align:right}.living-candidate-summary>span b{color:#10223f}.living-candidate-summary>span small{color:#64748b;font-size:.65rem;font-weight:700;text-transform:uppercase}@media(max-width:520px){.living-candidate-summary{align-items:flex-start;flex-direction:column;gap:8px}.living-candidate-summary>span{text-align:left}}.timeline{display:grid;gap:12px;list-style:none;margin:0;padding:0}.timeline li{align-items:flex-start;display:grid;gap:14px;grid-template-columns:72px 1fr}.timeline li>span{background:#10223f;color:#fff;font-weight:800;padding:9px 10px;text-align:center}.timeline strong,.timeline small{display:block}.timeline div{border-left:4px solid #f59e0b;padding:4px 0 10px 12px}.strategy-item{grid-template-columns:34px 1fr}.strategy-item span{background:#fff3df;color:#b45309;display:grid;font-weight:900;height:34px;place-items:center;width:34px}.strategy-item p{margin:0}.contribution-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.person-block{padding:16px}.person-block h3{margin:0 0 12px}.person-block ul{display:grid;gap:8px;margin:0;padding-left:1.2rem}.person-block li{line-height:1.4;padding-left:2px}.person-block.tony{background:#e8f1ff}.person-block.desiree{background:#f2ecff}.milestone{column-gap:20px;grid-template-columns:minmax(210px,.9fr) minmax(180px,2fr) 48px;padding:16px 18px}.milestone-copy{display:grid;gap:4px}.milestone-copy strong,.milestone-copy span{display:block}.milestone-copy span{font-size:.9rem}.progress{background:#dce7f3;height:12px;overflow:hidden}.progress .MuiLinearProgress-bar{background:#f59e0b}.legacy-panel{align-items:center;display:grid;gap:20px;grid-template-columns:150px 1fr}.donut{--progress: 50%;align-items:center;aspect-ratio:1;background:conic-gradient(#16a34a var(--progress),#dce7f3 0);display:grid;place-items:center;width:150px}.donut:before{background:#fff;content:"";grid-area:1 / 1;height:100px;width:100px}.donut span{color:#10223f;font-size:1.5rem;font-weight:900;grid-area:1 / 1;z-index:1}.assumption-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.assumption-groups{display:grid;gap:18px}.assumption-group{background:#f8fafc;border:1px solid #dce4ee;border-left:5px solid #1f6feb;display:grid;gap:14px;padding:18px}.assumption-group.personal{border-left-color:#7c3aed}.assumption-group.historical{border-left-color:#16a34a}.assumption-group h3{color:#10223f;font-size:1rem;margin:0}.assumption-group>.assumption-grid>div,.personal-assumption-group .assumption-grid>div{background:#fff;border:1px solid #e4eaf1;border-radius:6px}.personal-assumption-groups{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.personal-assumption-group{background:#f4f8ff;border:1px solid #d8e6f7;border-top:4px solid #1f6feb;display:grid;gap:12px;padding:14px}.personal-assumption-group.desiree{background:#faf7ff;border-color:#e4d9f7;border-top-color:#7c3aed}.personal-assumption-group h4{color:#64748b;font-size:.8rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.personal-assumption-group .assumption-grid{align-content:start;grid-auto-rows:minmax(0,auto);grid-template-columns:1fr}.income-tooltip{background:#fff;border:1px solid #d8e0ea;border-radius:8px;box-shadow:0 10px 30px #0f172a1f;min-width:190px;padding:10px 12px}.income-tooltip strong{display:block;margin-bottom:8px}.income-tooltip-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.income-tooltip-row span{color:var(--series-color)}.income-tooltip-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:8px;padding-top:8px}@media(max-width:1180px){.summary-grid,.dashboard-grid,.strategy-grid,.three-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column .section:last-child{grid-column:1 / -1}}@media(max-width:760px){.app-shell{padding:14px}.topbar,.section-heading,.legacy-panel{align-items:flex-start;display:grid}.summary-grid,.dashboard-grid,.strategy-grid,.three-column,.experiment-grid,.contribution-grid,.living-location-grid,.international-country-grid,.experiment-field-grid,.experiment-people-grid,.contribution-schedule-add,.contribution-schedule-row,.personal-assumption-groups,.assumption-grid{grid-template-columns:1fr}.living-location-row{grid-template-columns:repeat(2,minmax(0,1fr))}.living-location-row>strong{grid-column:1 / -1}.international-rule-grid{grid-template-columns:1fr}.income-layout>.section:first-child,.income-layout>.section:nth-child(2){grid-column:auto;grid-row:auto}.report-chip{white-space:normal}.chart-panel,.chart-panel.tall{height:300px}.milestone{grid-template-columns:1fr}}.page-loading{display:grid;min-height:18rem;place-items:center}.scenario-drawer-header span{color:#8fb4dc;display:block;font-size:.78rem;font-weight:800;margin-bottom:4px;text-transform:uppercase}.scenario-drawer-header h2{color:#10223f;font-size:1.15rem;margin:0}.scenario-controls-drawer{display:flex;max-width:100%;width:460px}.scenario-drawer-header{align-items:center;border-bottom:1px solid #d8e0ea;display:flex;flex:0 0 auto;justify-content:space-between;padding:18px 20px}.scenario-drawer-content{flex:1 1 auto;margin:0;min-height:0;overflow-y:auto}.scenario-controls-drawer .experiment-accordion{border:0;box-shadow:none}.scenario-controls-drawer .experiment-accordion .MuiAccordionSummary-root{display:none}.scenario-controls-drawer .experiment-accordion .MuiCollapse-root{height:auto!important;min-height:auto!important;visibility:visible!important}.scenario-controls-drawer .experiment-accordion .MuiCollapse-wrapper,.scenario-controls-drawer .experiment-accordion .MuiCollapse-wrapperInner{height:auto}.scenario-controls-drawer .experiment-accordion .MuiAccordionDetails-root{padding:20px}.scenario-controls-drawer .experiment-people-grid,.scenario-controls-drawer .experiment-field-grid,.scenario-controls-drawer .experiment-control-section.tony .experiment-field-grid,.scenario-controls-drawer .experiment-control-section.desiree .experiment-field-grid{grid-template-columns:1fr}.scenario-drawer-footer{background:#fff;border-top:1px solid #d8e0ea;flex:0 0 auto;padding:14px 20px}@media(max-width:600px){.scenario-controls-drawer{width:100%}}.account-projection-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.account-projection-card{border:1px solid #d8e0ea;border-radius:10px;padding:1rem}.account-projection-card.tony{border-top:4px solid #55a6ff}.account-projection-card.desiree{border-top:4px solid #7c3aed}.account-projection-card.combined{border-top:4px solid #16a34a}.account-projection-card h3{margin:0 0 .75rem}@media(max-width:900px){.account-projection-grid{grid-template-columns:1fr}}
