:root{--ink:#1e293b;--canvas:#f8fafc;--surface:#fff;--surface-shadow:#0000000d;--gradient-growth:linear-gradient(135deg, #34d399 0%, #0284c7 100%);--gradient-stability:linear-gradient(135deg, #38bdf8 0%, #0284c7 100%);--gradient-risk:linear-gradient(135deg, #f43f5e 0%, #be123c 100%);color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif}:root[data-theme=dark]{--ink:#e2e8f0;--canvas:#0b1120;--surface:#111827;--surface-shadow:#0000004d}*{box-sizing:border-box}body{background:radial-gradient(circle at 11% 20%,#38bdf81f,#0000 35%),radial-gradient(circle at 90% 76%,#34d39924,#0000 37%),linear-gradient(#f8fafc 0%,#fff 100%);min-height:100vh;margin:0}:root[data-theme=dark] body{background:radial-gradient(circle at 11% 20%,#0ea5e91a,#0000 35%),radial-gradient(circle at 90% 76%,#10b98114,#0000 37%),linear-gradient(#0b1120 0%,#111827 100%)}#root{min-height:100vh}.app-shell{gap:1.1rem;width:min(1120px,94vw);margin:2rem auto;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;display:grid;position:relative}.action-toast{z-index:70;color:#f8fafc;background:#0f172af2;border-radius:999px;justify-self:end;align-items:center;gap:.5rem;padding:.7rem .9rem;animation:.2s action-toast-in;display:inline-flex;position:sticky;top:.75rem;box-shadow:0 12px 24px #0f172a33}.action-toast-check{color:#082f49;background:#34d399;border-radius:999px;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-weight:800;display:inline-flex}@keyframes action-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.app-body{grid-template-columns:minmax(74px,86px) minmax(0,1fr);align-items:start;gap:1.1rem;display:grid}.app-content{gap:1rem;min-width:0;display:grid}.vehicle-summary{border-top:1px solid #cbd5e1;margin-top:.9rem;padding-top:.9rem}.vehicle-summary-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.vehicle-summary-heading h3{margin:.15rem 0 0}.vehicle-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin:.85rem 0 0;display:grid}.vehicle-summary-grid div{min-width:0}.vehicle-summary-grid dt{color:#64748b;font-size:.78rem}.vehicle-summary-grid dd{margin:.15rem 0 0;font-weight:650}.vehicle-summary-grid .vehicle-summary-total{border-top:1px solid #e2e8f0;grid-column:1/-1;padding-top:.65rem}.hero{color:#1e293b;background:radial-gradient(circle at 85% 12%,#38bdf824,#0000 38%),radial-gradient(circle at 15% 80%,#34d39924,#0000 42%),linear-gradient(132deg,#fff 0%,#f8fafc 48%,#fff 100%);border:1px solid #1e293b;border-radius:18px;padding:1.4rem;position:relative;box-shadow:0 14px 34px #0000000d}.theme-toggle{z-index:2;color:#1e293b;background:#fff;border:1px solid #1e293b40;border-radius:8px;align-items:center;gap:.45rem;min-height:2.25rem;padding:.38rem .65rem;font-size:.78rem;display:inline-flex;position:absolute;top:.8rem;right:.8rem;box-shadow:0 5px 12px #0f172a1a}.theme-toggle-icon{font-size:1rem;line-height:1}:root[data-theme=dark] .hero{color:#e2e8f0;background:radial-gradient(circle at 85% 12%,#0ea5e924,#0000 38%),radial-gradient(circle at 15% 80%,#10b9811a,#0000 42%),linear-gradient(132deg,#111827 0%,#0f172a 48%,#111827 100%);border-color:#475569}:root[data-theme=dark] h1,:root[data-theme=dark] .journey-label,:root[data-theme=dark] .value,:root[data-theme=dark] .ledger-list strong,:root[data-theme=dark] .equation-line strong,:root[data-theme=dark] .equation-line .operator,:root[data-theme=dark] .glossary-term{color:#e2e8f0}:root[data-theme=dark] .subtitle,:root[data-theme=dark] .meta,:root[data-theme=dark] label,:root[data-theme=dark] th,:root[data-theme=dark] .domain-sidebar-heading,:root[data-theme=dark] .bank-transfer-label{color:#aebed3}:root[data-theme=dark] .active-domain-pill,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .domain-sidebar-card,:root[data-theme=dark] .domain-sidebar-link,:root[data-theme=dark] .modal-card{color:#e2e8f0;background:#172033;border-color:#94a3b859}:root[data-theme=dark] .card{background:linear-gradient(#172033fa,#0f172afa);border-color:#94a3b82e;box-shadow:0 12px 28px #00000038,inset 0 1px #ffffff0a}:root[data-theme=dark] .card h2,:root[data-theme=dark] .domain-sidebar-link,:root[data-theme=dark] .domain-sidebar-link-active{color:#cbd5e1}:root[data-theme=dark] input,:root[data-theme=dark] input.money-input,:root[data-theme=dark] input.standard-input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:#e2e8f0;background:#0f172a;border-color:#94a3b866}:root[data-theme=dark] th,:root[data-theme=dark] .table-total-row td,:root[data-theme=dark] .list-total-row{background:#38bdf814}:root[data-theme=dark] td,:root[data-theme=dark] th,:root[data-theme=dark] .ledger-list li{border-color:#94a3b833}:root[data-theme=dark] button.secondary{color:#e2e8f0;background:linear-gradient(135deg,#263449 0%,#164e63 100%)}:root[data-theme=dark] .domain-sidebar-link:hover,:root[data-theme=dark] .domain-sidebar-link-active{background:#38bdf81f}@media (width<=700px){.theme-toggle span:last-child{display:none}.theme-toggle{justify-content:center;width:2.35rem;padding-inline:0}}.kicker{letter-spacing:.2em;text-transform:uppercase;color:#0284c7;margin:0;font-size:.8rem;font-weight:650}h1{color:#1e293b;max-width:18ch;margin:.3rem 0 .8rem;font-size:clamp(2rem,3vw,3.3rem);line-height:1.06}.subtitle{color:#334155;max-width:66ch;margin:0;font-size:1rem;line-height:1.45}.hero-journey{grid-template-columns:minmax(280px,1fr) minmax(360px,1.45fr);align-items:center;gap:1.2rem;display:grid}.hero-subline{color:#0284c7;margin:0 0 .6rem;font-size:clamp(1.15rem,1.6vw,1.7rem);font-weight:700}.hero-copy h1 span{display:block}.active-domain-pill{color:#1e293b;background:#fff;border:1px solid #1e293b;border-radius:999px;align-items:center;gap:.45rem;margin:.8rem 0 0;padding:.28rem .68rem;font-size:.84rem;font-weight:620;display:inline-flex}.journey-track{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));align-items:start;gap:.7rem;display:grid}.journey-step{text-align:center}.journey-icon{width:38px;height:38px;display:inline-block}.journey-label{color:#1e293b;margin-top:.38rem;font-size:.8rem;font-weight:650;line-height:1.16;display:block}.domain-sidebar-card{z-index:25;transform-origin:0 0;background:#fff;border:1px solid #1e293b2e;border-radius:14px;align-self:start;width:74px;padding:.9rem;transition:width .24s,box-shadow .24s,background .24s;position:sticky;top:1rem;overflow:hidden;box-shadow:0 8px 20px #0000000d}.domain-sidebar-card:hover,.domain-sidebar-card:focus-within{width:244px;box-shadow:0 12px 26px #0000001a}.domain-sidebar-toggle{color:#fff;background:#1e293b;justify-content:space-between;align-items:center;width:100%;margin-bottom:.8rem;display:none}.domain-sidebar-toggle-glyph{font-size:1.2rem;line-height:1}.domain-sidebar-nav{gap:1rem;min-width:0;display:grid}.domain-sidebar-section{gap:.45rem;display:grid}.domain-sidebar-heading{color:#475569;letter-spacing:.08em;text-transform:uppercase;opacity:0;visibility:hidden;align-items:center;height:.95rem;margin:0;font-size:.77rem;font-weight:700;line-height:.95rem;transition:opacity .16s,visibility .16s,transform .18s;display:flex;transform:translate(-4px)}.domain-sidebar-links{gap:.4rem;display:grid}.domain-sidebar-link{color:#1e293b;box-sizing:border-box;background:#fff;border:1px solid #1e293b2e;border-radius:12px;justify-content:flex-start;align-items:center;gap:.6rem;height:48px;padding:.45rem .65rem;font-size:.9rem;font-weight:650;text-decoration:none;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:flex}.domain-sidebar-icon{flex:none;width:30px;height:30px;display:block}.domain-sidebar-label{opacity:0;white-space:nowrap;width:0;line-height:1.2;transition:opacity .16s,transform .18s;overflow:hidden;transform:translate(-4px)}.domain-sidebar-card:hover .domain-sidebar-heading,.domain-sidebar-card:focus-within .domain-sidebar-heading{opacity:1;visibility:visible;transform:translate(0)}.domain-sidebar-card:hover .domain-sidebar-label,.domain-sidebar-card:focus-within .domain-sidebar-label{opacity:1;width:180px;transform:translate(0)}.domain-sidebar-link:hover{background:#38bdf814;border-color:#0284c7}.domain-sidebar-link-active{color:#1e293b;background:#38bdf824;border-color:#0284c7;box-shadow:inset 3px 0 #0284c7,0 0 0 2px #38bdf82e}.summary-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);align-items:stretch;gap:1rem;display:grid}.metric-wide{grid-column:auto}.summary-side-panel-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;display:grid}.summary-side-panel{min-height:100%;padding:1rem 1rem .9rem}.summary-side-panel .value{font-size:1.25rem;line-height:1.2}.summary-side-panel .meta{font-size:.83rem;line-height:1.45}.controls-grid{grid-template-columns:minmax(0,1.55fr) minmax(240px,.9fr);align-items:stretch;gap:1rem;display:grid}.controls-time-panel{flex-direction:column;justify-content:center;display:flex}.details-grid{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.main-two-column,.assets-two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.options-grid{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.flow-column{flex-direction:column;gap:1rem;display:flex}.flow-column:empty{display:none}.medical-domain-grid{gap:1.2rem}.medical-domain-card{padding:1.2rem}.medical-metric-grid,.medical-account-grid,.retirement-balance-grid,.bank-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.medical-metric-grid div,.medical-account-grid div,.retirement-balance-grid div,.bank-balance-grid div{background:#f8fafc;border:1px solid #dbe4ea;border-radius:6px;min-width:0;padding:.7rem}.medical-metric-grid dt,.medical-account-grid dt,.retirement-balance-grid span,.bank-balance-grid span{color:#64748b;font-size:.78rem}.medical-metric-grid dd,.medical-account-grid dd,.retirement-balance-grid strong,.bank-balance-grid strong{margin:.2rem 0 0;font-weight:650;display:block}.medical-event-detail summary{cursor:pointer;white-space:nowrap}.medical-event-detail p{color:#475569;min-width:14rem;margin:.45rem 0 0}.options-grid .collapsible-panel{width:100%;margin:0}.section-subtitle{letter-spacing:.04em;text-transform:uppercase;color:#334155;margin:1rem 0 .45rem;font-size:.88rem}.expense-group-title{color:#1e293b;margin:.9rem 0 .25rem;font-size:.92rem}.latest-month-group{margin-top:.95rem}.latest-month-group .expense-group-title{margin:0 0 .2rem;font-weight:700}.latest-month-group-list{margin:0}.latest-month-group-list li:not(.list-total-row){margin-left:.75rem;padding-left:.55rem;font-size:.84rem}.latest-month-group-list .list-total-row{padding:.55rem .45rem}.latest-month-group-table{font-size:.84rem}.latest-month-group-table td:first-child{padding-left:1.3rem}.card{background:linear-gradient(#fffffff5,#f8fafcfa);border:1px solid #0f172a14;border-radius:16px;padding:1rem 1.05rem;box-shadow:0 12px 28px #0f172a0f,inset 0 1px #fffc}.metric{flex-direction:column;justify-content:center;gap:.3rem;display:flex}.controls{flex-direction:column;justify-content:space-between;min-height:100%;display:flex}.card h2{text-transform:uppercase;letter-spacing:.08em;color:#334155;margin-top:0;margin-bottom:.65rem;font-size:.82rem}.collapsible-panel summary{cursor:pointer;margin-bottom:.55rem;list-style:none}.collapsible-panel summary::-webkit-details-marker{display:none}.collapsible-panel[open] summary{border-bottom:1px solid #1e293b29;padding-bottom:.4rem}.audit-details{margin-top:.7rem}.audit-details summary{cursor:pointer;list-style:none}.audit-details summary::-webkit-details-marker{display:none}.value{color:#0f172a;letter-spacing:-.03em;margin:0;font-size:1.56rem;font-weight:800}.value.small{font-size:1.05rem}.meta{color:#475569;margin:.3rem 0;font-size:.92rem}.glossary-row{line-height:1.45}.equation-line{background:linear-gradient(#0ea5e90f,#0ea5e905);border:1px solid #0e74902e;border-radius:12px;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.7rem;margin-top:.5rem;padding:.8rem .75rem;display:grid}.equation-line span{color:#475569;margin-bottom:.2rem;font-size:.82rem;display:block}.equation-line strong{color:#1e293b;font-size:1.08rem}.equation-line .operator{color:#1e293b;font-size:1.2rem;font-weight:700}.positive{color:#0284c7}.negative{color:#be123c}.button-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}.button-row>*{flex:none}.button-row button{white-space:nowrap}.bank-transfer-controls{gap:.8rem;max-width:700px;margin-top:.85rem;display:grid}.bank-transfer-row{background:#94a3b80a;border:1px solid #0f172a14;border-radius:10px;align-items:flex-end;gap:.7rem;min-width:0;padding:.7rem .75rem;display:flex}.bank-transfer-label{letter-spacing:.04em;text-transform:uppercase;color:#475569;width:160px;min-width:160px;margin:0;font-size:.68rem;font-weight:700;line-height:1.3;display:block}.bank-transfer-row input{box-sizing:border-box;flex:0 0 220px;width:220px;min-width:220px;max-width:220px}input.money-input{box-sizing:border-box;color:#0f172a;min-height:2.45rem;font:inherit;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #1e293b4d;border-radius:8px;padding:.48rem .6rem;transition:border-color .16s,box-shadow .16s;width:220px!important;min-width:220px!important;max-width:220px!important}input.money-input:focus{border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0ea5e929}input.standard-input{box-sizing:border-box;color:#0f172a;width:220px;max-width:100%;min-height:2.45rem;font:inherit;background:#fff;border:1px solid #1e293b4d;border-radius:8px;padding:.48rem .6rem}input.standard-input:focus{border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0ea5e929}.bank-account-page input.money-input,.bank-account-page .bank-transfer-row input{flex:0 0 110px;width:110px!important;min-width:110px!important;max-width:110px!important}.car-payment-fields{grid-template-columns:repeat(3,220px);align-items:end;gap:.8rem;margin:.8rem 0;display:grid}.car-payment-fields label{gap:.35rem;margin:0;display:grid}@media (width<=760px){.car-payment-fields{grid-template-columns:1fr}}.bank-transfer-row button{white-space:nowrap;flex:none;min-width:0}@media (width<=760px){.bank-transfer-row{flex-direction:column;align-items:stretch}.bank-transfer-label,.bank-transfer-row input{flex-basis:auto}.bank-transfer-row button{width:100%}}.family-spouse-controls{grid-template-columns:minmax(0,1fr);gap:.4rem;max-width:24rem;margin-bottom:.85rem;display:grid}.family-section-header{border-top:1px solid #dbe4ea;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.family-section-header h3,.family-section-header p{margin:0}.family-child-header{margin-top:1.25rem}.family-intro{margin-bottom:.7rem}.family-spouse-controls input{box-sizing:border-box;width:100%}.family-spouse-controls input[type=range]{accent-color:#0284c7;cursor:pointer}.table-scroll{width:100%;overflow-x:auto}:is(.table-scroll:has(.glossary-term:hover),.table-scroll:has(.glossary-term:focus-visible)){overflow:visible}.family-spouse-controls button{justify-self:start;margin-top:.2rem}.family-child-education-cell{gap:.4rem;display:grid}.family-child-education-cell label{gap:.3rem;margin:0;font-size:.8rem;display:grid}.family-child-education-cell input{width:100%;max-width:150px}.family-table{table-layout:fixed}.family-table td{vertical-align:top}.family-table td input[type=text],.family-table td input[type=number]{box-sizing:border-box;background:#fff;border:1px solid #1e293b3d;border-radius:8px;width:100%;min-width:0;padding:.45rem .5rem}.family-table td:first-child{width:20%}.family-table td:nth-child(2){width:8%}.family-table td:nth-child(3){width:32%}.family-table td:nth-child(4){width:40%}button,select{font:inherit}button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);border:1px solid #0284c747;border-radius:10px;padding:.62rem .9rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;box-shadow:0 8px 16px #0284c72e}button:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 12px 22px #0284c733}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button.button-feedback{animation:.45s button-feedback-pulse}@keyframes button-feedback-pulse{0%{opacity:1;filter:brightness();transform:scale(1)}45%{opacity:.68;filter:brightness(.92);transform:scale(.97)}to{opacity:1;filter:brightness();transform:scale(1)}}button.secondary{color:#0f172a;background:linear-gradient(135deg,#e2f7f0 0%,#d0f2ff 100%);border-color:#0ea5e92e;box-shadow:0 10px 18px #0ea5e914}button.tertiary{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);box-shadow:0 10px 18px #0f172a1f}label{color:#334155;margin-bottom:.4rem;font-size:.9rem;display:block}.info-tip{color:#1e293b;cursor:help;vertical-align:middle;background:#38bdf824;border:1px solid #1e293b4d;border-radius:999px;justify-content:center;align-items:center;width:1rem;height:1rem;margin-left:.4rem;font-size:.72rem;font-weight:700;display:inline-flex}.glossary-term{color:#1e293b;cursor:help;border-bottom:1px dotted #1e293bb3;font-weight:700;position:relative}.glossary-term:hover,.glossary-term:focus-visible{z-index:1002}.glossary-term:after{content:attr(data-tooltip);white-space:normal;overflow-wrap:anywhere;word-break:normal;color:#f4fbfd;opacity:0;pointer-events:none;z-index:1003;background:#1e293b;border-radius:8px;width:min(340px,72vw);padding:.55rem .65rem;font-size:.8rem;font-weight:500;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 8px 22px #0000003d}.glossary-term:hover:after,.glossary-term:focus-visible:after{opacity:1;transform:translateY(0)}select{background:#fff;border:1px solid #1e293b4d;border-radius:8px;width:100%;max-width:220px;padding:.48rem .5rem}.frugal-slider{accent-color:#0284c7;width:100%;max-width:none}.simulation-options .frugal-range-labels{width:100%;max-width:none}.ledger-list{gap:.38rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.ledger-list li{border-bottom:1px dashed #1e293b38;justify-content:space-between;gap:1rem;padding:.38rem 0;display:flex}.ledger-list strong{color:#1e293b}.event-row{background:#f43f5e1a;border:1px solid #be123c73;border-radius:7px;padding-inline:.45rem}.event-row strong{color:#be123c}.list-total-row{background:#38bdf814;border-top:2px solid #1e293b59;border-bottom:0;border-radius:6px;margin-top:.2rem;padding-top:.55rem}.list-total-row span,.list-total-row strong{font-weight:700}.tax-box{border-left:3px solid #0284c7;margin-top:.6rem;padding-left:.7rem}.tax-box p{margin:.25rem 0;font-size:.92rem}.event-callout{background:#f43f5e14;border-left-color:#be123c;border-radius:8px;padding-top:.4rem;padding-bottom:.4rem}table{border-collapse:separate;border-spacing:0;border-radius:10px;width:100%;font-size:.9rem;overflow:hidden}th,td{text-align:left;border-bottom:1px solid #1e293b1f;padding:.52rem .45rem}td:last-child,th:last-child{text-align:right}th{color:#475569;background:#94a3b80f;font-weight:700}tr:last-child td{border-bottom:0}:is(table:has(.glossary-term:hover),table:has(.glossary-term:focus-visible),th:has(.glossary-term:hover),th:has(.glossary-term:focus-visible)){z-index:1001;position:relative;overflow:visible}.table-total-row td{background:#38bdf814;border-top:2px solid #1e293b59;font-weight:700}.driver-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.driver-list li{background:#38bdf814;border:1px solid #1e293b33;border-radius:9px;justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem .65rem;display:flex}.driver-label{color:#1e293b;margin:0 0 .15rem;font-size:.92rem;font-weight:700}.driver-detail{color:#475569;margin:0;font-size:.86rem}.driver-impact-up,.driver-impact-down{white-space:nowrap;border-radius:999px;padding:.24rem .56rem;font-size:.82rem;font-weight:700}.driver-impact-up{color:#0284c7;background:#34d3992e}.driver-impact-down{color:#be123c;background:#f43f5e29}.milestone-list{gap:.62rem;margin:0;padding:0;list-style:none;display:grid}.milestone-list li{background:#38bdf814;border:1px solid #1e293b33;border-radius:9px;justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem .65rem;display:flex}.milestone-unlocked{background:#34d39929!important;border-color:#0284c773!important}.milestone-locked{background:#f43f5e1a!important;border-color:#be123c59!important}.blocked-reason-list{color:#be123c;gap:.2rem;margin:.35rem 0 .75rem;padding-left:1.05rem;font-size:.86rem;display:grid}.blocked-reason-list.compact{margin-top:.2rem;margin-bottom:.45rem;font-size:.8rem}.trend-chart-wrap{margin-bottom:.8rem}.trend-chart{background:#38bdf814;border:1px solid #1e293b33;border-radius:10px;width:100%;height:160px;display:block}.trend-axis{stroke:#1e293b73;stroke-width:.45px}.trend-line{fill:none;stroke:#0284c7;stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round}.trend-point{fill:#0284c7}.chart-legend{margin-top:.2rem}.modal-backdrop{z-index:60;background:#0f172a9e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #1e293b40;border-radius:14px;width:min(1100px,96vw);max-height:90vh;padding:1rem;overflow:auto;box-shadow:0 20px 48px #0000001f}.info-modal-card{max-height:min(86vh,900px);overflow:auto}.modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.modal-header h2{margin:0}.init-modal-card{width:min(760px,96vw)}.retirement-readiness-card{width:min(900px,96vw)}.readiness-person-selection{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.85rem;display:grid}.readiness-person-selection button{min-height:3.25rem;font-size:1rem}.wedding-modal-card{border-color:#db2777;width:min(720px,96vw);animation:.45s ease-out wedding-card-in;position:relative;overflow:hidden}.celebration-modal-card{position:relative}.celebration-modal-card>:not(.celebration-confetti){z-index:1;position:relative}.purchase-celebration{text-align:center;place-items:center;min-height:min(420px,62vh);display:grid;position:relative;overflow:hidden}.purchase-celebration-content{z-index:1;max-width:620px;padding:3rem 1rem;position:relative}.purchase-celebration-kicker{color:#047857;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}.purchase-celebration h2{margin:.35rem 0 .75rem;font-size:clamp(2rem,5vw,3.5rem)}.purchase-celebration p:last-child{color:#475569;font-size:1.05rem;line-height:1.6}.wedding-planner-controls{z-index:1;gap:.55rem;margin:1rem 0;display:grid;position:relative}.wedding-planner-controls input[type=number]{width:min(20rem,100%)}.wedding-cost-estimate{background:#fdf2f8;border-left:4px solid #db2777;padding:.75rem}.education-planner-card{box-sizing:border-box;border-color:#0f766e;width:min(720px,100%)}.education-decision-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.education-planner-controls{gap:.6rem;margin:1rem 0;display:grid}.education-planner-controls select,.education-planner-controls input[type=number]{width:min(28rem,100%)}.education-planner-controls input[type=range]{width:100%}.education-cost-summary{background:#f0fdfa;border-left:4px solid #0f766e;gap:.45rem;padding:.85rem;display:grid}.education-cost-summary div{justify-content:space-between;gap:1rem;display:flex}.education-cost-summary div:last-child{border-top:1px solid #99f6e4;padding-top:.45rem}.education-no-plan-note{background:#f8fafc;border-left:4px solid #64748b;padding:.85rem}@media (width<=560px){.education-decision-buttons{grid-template-columns:1fr}.education-cost-summary div{flex-direction:column;align-items:flex-start;gap:.15rem}}.celebration-confetti{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebration-confetti span{top:-1rem;left:calc((var(--confetti-index,1) * 5.4%) - 2%);background:#db2777;width:.45rem;height:.8rem;animation:2.8s linear infinite celebration-confetti-fall;position:absolute}.celebration-confetti span:nth-child(3n){background:#0284c7}.celebration-confetti span:nth-child(3n+1){background:#eab308}.celebration-confetti span:first-child{--confetti-index:1;animation-delay:-.2s}.celebration-confetti span:nth-child(2){--confetti-index:2;animation-delay:-1.4s}.celebration-confetti span:nth-child(3){--confetti-index:3;animation-delay:-.8s}.celebration-confetti span:nth-child(4){--confetti-index:4;animation-delay:-2.1s}.celebration-confetti span:nth-child(5){--confetti-index:5;animation-delay:-.5s}.celebration-confetti span:nth-child(6){--confetti-index:6;animation-delay:-1.8s}.celebration-confetti span:nth-child(7){--confetti-index:7;animation-delay:-1.1s}.celebration-confetti span:nth-child(8){--confetti-index:8;animation-delay:-2.5s}.celebration-confetti span:nth-child(9){--confetti-index:9;animation-delay:-.3s}.celebration-confetti span:nth-child(10){--confetti-index:10;animation-delay:-1.6s}.celebration-confetti span:nth-child(11){--confetti-index:11;animation-delay:-.9s}.celebration-confetti span:nth-child(12){--confetti-index:12;animation-delay:-2.3s}.celebration-confetti span:nth-child(13){--confetti-index:13;animation-delay:-.6s}.celebration-confetti span:nth-child(14){--confetti-index:14;animation-delay:-1.9s}.celebration-confetti span:nth-child(15){--confetti-index:15;animation-delay:-1.2s}.celebration-confetti span:nth-child(16){--confetti-index:16;animation-delay:-2.6s}.celebration-confetti span:nth-child(17){--confetti-index:17;animation-delay:-.4s}.celebration-confetti span:nth-child(18){--confetti-index:18;animation-delay:-1.7s}@keyframes wedding-card-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes celebration-confetti-fall{0%{transform:translateY(-1rem)rotate(0)}to{transform:translateY(92vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.wedding-modal-card,.celebration-confetti span{animation:none}}.retirement-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0;display:grid}.retirement-metrics>div{background:#f8fafc;border:1px solid #1e293b2e;border-radius:10px;gap:.25rem;padding:.7rem;display:grid}.amortization-modal-card{width:min(1180px,96vw)}.amortization-controls{gap:.45rem;margin:1rem 0;display:grid}.amortization-controls input{width:min(18rem,100%)}.amortization-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0;display:grid}.amortization-summary>div{background:#f8fafc;border:1px solid #1e293b2e;border-radius:8px;gap:.25rem;padding:.7rem;display:grid}.amortization-summary span{color:#64748b;font-size:.8rem}.amortization-table-scroll{max-height:48vh;overflow:auto}.amortization-table-scroll thead{z-index:1;background:#fff;position:sticky;top:0}.retirement-metrics span{color:#475569;font-size:.8rem}.readiness-list{gap:.5rem;padding-left:1.25rem;display:grid}.reflection-list{background:#f0f9ff;border-left:4px solid #0ea5e9;padding:.75rem .75rem .75rem 2rem}.retirement-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 .5rem;display:grid}.retirement-controls label{gap:.4rem;font-weight:700;display:grid}.retirement-controls input{width:100%}.person-retirement-controls{background:#f8fafc;border:1px solid #1e293b24;border-radius:8px;gap:.4rem;margin:.75rem 0;padding:.75rem;display:grid}.person-retirement-controls h3{margin:0 0 .2rem;font-size:.95rem}.person-retirement-controls .meta{margin-top:0}.investment-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem;display:grid}.investment-account-grid article{background:#f8fafc;border:1px solid #1e293b24;border-radius:8px;min-width:0;padding:.8rem}.investment-account-grid h4{color:#1e293b;margin:0 0 .55rem}.investment-account-grid dl{gap:.45rem;margin:0;display:grid}.investment-account-grid dl div{border-bottom:1px solid #dbe4ea;justify-content:space-between;gap:.75rem;padding-bottom:.4rem;display:flex}.investment-account-grid dl div:last-child{border-bottom:0;padding-bottom:0}.investment-account-grid dt{color:#64748b}.investment-account-grid dd{color:#0f172a;text-align:right;margin:0;font-weight:700}.person-history-grid{gap:.9rem;display:grid}.brokerage-card{margin-top:.9rem}.brokerage-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.brokerage-heading h2{margin-bottom:.25rem}.brokerage-balance{text-align:right;min-width:190px}.brokerage-balance span,.brokerage-balance small,.brokerage-balance strong{display:block}.brokerage-balance strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.brokerage-trade-panel{border-block:1px solid #1e293b29;flex-wrap:wrap;align-items:end;gap:.75rem;margin:.9rem 0;padding:.75rem;display:flex}.brokerage-trade-panel label{flex-direction:column;gap:.35rem;display:flex}.brokerage-trade-panel select{width:280px;min-height:2.45rem;font:inherit;background:#fff;border:1px solid #1e293b4d;border-radius:8px;padding:.48rem .6rem}.brokerage-catalog-table,.brokerage-holdings-table{width:max-content;min-width:100%}.brokerage-catalog-table th,.brokerage-catalog-table td,.brokerage-holdings-table th,.brokerage-holdings-table td{white-space:nowrap;font-variant-numeric:tabular-nums}.brokerage-catalog-table th:first-child,.brokerage-holdings-table th:first-child{white-space:normal;min-width:190px}.brokerage-catalog-table th small,.brokerage-holdings-table th small{color:#64748b;margin-top:.2rem;font-weight:500;display:block}.person-retirement-history{background:#f8fafc;border:1px solid #1e293b24;border-radius:8px;min-width:0;padding:.8rem}.person-retirement-history h3{color:#1e293b;margin:0 0 .65rem}.person-retirement-history h4{color:#475569;margin:.7rem 0 .4rem;font-size:.82rem}.person-retirement-history table{min-width:760px}.retirement-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem;display:grid}.retirement-status-grid>div{background:#f8fafc;border:1px solid #1e293b24;border-radius:8px;gap:.3rem;padding:.8rem;display:grid}.retirement-status-grid>div.retirement-status-retired{background:#0ea5e90f;border-color:#0284c747}.retirement-person-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.retirement-status-grid span,.retirement-status-grid small{color:#475569}.retirement-person-accounts{border-top:1px solid #1e293b1f;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.45rem 0 0;padding-top:.65rem;display:grid}.retirement-person-accounts div{background:#ffffffb8;border:1px solid #dbe4ea;border-radius:6px;min-width:0;padding:.55rem}.retirement-person-accounts dt{color:#64748b;font-size:.75rem}.retirement-person-accounts dd{color:#0f172a;margin:.2rem 0 0;font-weight:700}.retirement-page-withdrawal-control{border-top:1px solid #1e293b24;margin-top:.9rem;padding-top:.85rem}.retirement-page-withdrawal-control input{accent-color:#0284c7;width:min(32rem,100%)}@media (width<=900px){.summary-grid{grid-template-columns:1fr}.summary-side-panel-group{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.summary-side-panel-group,.controls-grid{grid-template-columns:1fr}.amortization-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.retirement-metrics,.retirement-controls,.retirement-status-grid,.retirement-person-accounts,.investment-account-grid{grid-template-columns:1fr}}.init-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem;margin-top:.7rem;display:grid}.init-form-grid label{flex-direction:column;gap:.35rem;margin-bottom:0;display:flex}.init-form-grid select,.init-form-grid input{box-sizing:border-box;width:100%;max-width:none;min-height:2.45rem;font:inherit;background:#fff;border:1px solid #1e293b4d;border-radius:8px;padding:.48rem .5rem}.mortgage-points-group{border:1px solid #1e293b38;border-radius:8px;grid-column:1/-1;margin:0;padding:.7rem .8rem .8rem}.mortgage-points-group legend{padding:0 .35rem;font-weight:700}.mortgage-points-group>.meta{margin:0 0 .6rem}.mortgage-points-controls{flex-wrap:wrap;gap:.75rem;display:flex}.init-form-grid .mortgage-points-controls select,.init-form-grid .mortgage-points-controls input{width:220px;min-width:220px;max-width:220px}.init-field-hint{color:#64748b;font-size:.78rem}.init-slider-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.55rem;margin-top:.8rem;display:grid}.init-slider-grid label{margin-bottom:0}.init-slider-grid input[type=range]{accent-color:#0284c7;width:100%}.init-slider-grid input[type=number]{box-sizing:border-box;width:100%;font:inherit;border:1px solid #1e293b4d;border-radius:8px;margin-top:.35rem;padding:.48rem .5rem;display:block}.init-range-labels{color:#64748b;justify-content:space-between;gap:1rem;font-size:.78rem;display:flex}.frugal-range-labels{max-width:28rem}.financing-summary{background:#38bdf814;border:1px solid #0284c74d;border-radius:10px;gap:.25rem;padding:.65rem;display:grid}.transaction-estimate,.loan-estimate{box-sizing:border-box;background:#fff;border:1px solid #334155;margin:1rem 0}.transaction-estimate{padding:1rem}.transaction-estimate h3{margin:0 0 .75rem}.loan-estimate{color:#172033}.loan-estimate-header{color:#fff;background:#1f4d46;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.loan-estimate-header h3,.loan-estimate-kicker{margin:0}.loan-estimate-kicker .glossary-term{color:#fff;border-bottom-color:#ffffffb3}.loan-estimate-price{text-align:right;gap:.2rem;display:grid}.loan-estimate-grid{border-top:1px solid #334155;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.loan-estimate-grid>section{min-width:0;padding:.9rem 1rem}.loan-estimate-grid>section+section{border-left:1px solid #cbd5e1}.loan-estimate-grid h4,.cash-to-close h4{color:#1f4d46;text-transform:uppercase;margin:0 0 .6rem;font-size:.82rem}.estimate-list,.transaction-ledger{gap:0;margin:0;display:grid}.estimate-list>div,.transaction-ledger>div{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.estimate-list dt,.estimate-list dd,.transaction-ledger dt,.transaction-ledger dd{margin:0}.estimate-list dd,.transaction-ledger dd{text-align:right;font-weight:700}.estimate-total{border-top:2px solid #64748b;margin-top:.25rem}.cash-to-close{background:#f0fdfa;border-top:1px solid #334155;padding:.9rem 1rem}.cash-to-close>div{justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}.cash-to-close-total{border-top:2px solid #1f4d46;margin-top:.35rem;font-size:1.05rem;padding-top:.65rem!important}.loan-estimate>.meta{background:#f8fafc;border-top:1px solid #cbd5e1;margin:0;padding:.75rem 1rem}.sale-transaction-card{box-sizing:border-box;width:min(680px,100%)}.sale-transaction-card>label{margin-bottom:.35rem;font-weight:700;display:block}.sale-transaction-card>input{width:min(20rem,100%);margin-bottom:1rem}.transaction-ledger{margin:.5rem 0 1rem}.transaction-total{border-top:2px solid #334155;margin-top:.25rem;font-size:1.02rem;padding-top:.75rem!important}.transaction-complete{background:#f0fdf4;border-left:4px solid #15803d;padding:.8rem}@media (width<=620px){.bank-transfer-controls,.loan-estimate-header,.loan-estimate-grid{grid-template-columns:1fr}.loan-estimate-header{display:grid}.loan-estimate-price{text-align:left}.loan-estimate-grid>section+section{border-top:1px solid #cbd5e1;border-left:0}.estimate-list>div,.transaction-ledger>div{align-items:flex-start}}.tax-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.hsa-setup-row{margin-top:.7rem}.hsa-setup-row input{width:190px}.blocked-panel{background:#c42c4a14;border:1px solid #a11f3559;border-radius:10px;padding:.65rem}.about-hero-card{background:radial-gradient(circle at 100% 0,#38bdf82e,#0000 34%),linear-gradient(135deg,#f0f9fff2,#fffffffa);padding:1.25rem}.about-kicker{margin-bottom:.35rem}.about-hero-card h2{letter-spacing:0;text-transform:none;margin-bottom:.5rem;font-size:clamp(1.3rem,2vw,1.8rem)}.about-hero-copy{max-width:70ch;font-size:1rem;line-height:1.55}.about-pill-row{flex-wrap:wrap;gap:.55rem;margin-top:.9rem;display:flex}.about-pill{color:#0f172a;background:#0284c71a;border:1px solid #0284c729;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.83rem;font-weight:700;display:inline-flex}.about-resource-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.about-resource-link{color:#075985;background:#fff;border:1px solid #0284c74d;border-radius:8px;align-items:center;min-height:2.45rem;padding:.55rem .8rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.about-resource-link:hover{border-color:#0284c7;box-shadow:0 5px 12px #0284c71f}.about-resource-link-primary{color:#fff;background:#0284c7}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.about-card{min-height:100%}.about-step-list{color:#334155;gap:.55rem;margin:.2rem 0 0;padding-left:1.15rem;display:grid}.about-step-list li{line-height:1.45}.about-list-tight{gap:.4rem}.about-disclaimer-card{background:linear-gradient(#fff1f2e6,#fffffffa);border-color:#be185d2e}:root[data-theme=dark] .about-hero-card{background:radial-gradient(circle at 100% 0,#38bdf824,#0000 34%),linear-gradient(135deg,#172033fa,#0f172afa)}:root[data-theme=dark] .about-step-list,:root[data-theme=dark] .about-pill{color:#d7e1ee}:root[data-theme=dark] .about-pill{background:#38bdf81f;border-color:#38bdf84d}:root[data-theme=dark] .about-resource-link{color:#7dd3fc;background:#172033;border-color:#7dd3fc66}:root[data-theme=dark] .about-resource-link-primary{color:#fff;background:#0369a1}:root[data-theme=dark] .about-disclaimer-card{background:linear-gradient(#4c1d306b,#0f172afa);border-color:#fb718552}.init-summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;display:flex}.policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:.75rem;display:grid}.policy-grid-single{grid-template-columns:1fr}.policy-section{background:#38bdf814;border:1px solid #1e293b24;border-radius:10px;padding:.65rem}.policy-option{background:#fff;border:1px solid #1e293b33;border-radius:8px;margin-bottom:.65rem;padding:.65rem}.policy-option:last-child{margin-bottom:0}.policy-option.selected{border-color:#0284c78c;box-shadow:0 0 0 2px #38bdf82e}.policy-option h4{color:#1e293b;margin:0 0 .35rem}.health-plan-table-wrap{margin:.65rem 0 .8rem}.health-plan-table{table-layout:fixed}.health-plan-table th:first-child,.health-plan-table td:first-child{width:58%}.health-plan-table td:last-child{color:#0f172a;font-weight:700}.home-loan-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:.65rem 0 .8rem;display:grid}.home-loan-panel{background:#fff;border:1px solid #1e293b24;border-radius:8px;min-width:0;padding:.85rem}.home-loan-panel.selected{border-color:#0284c78c;box-shadow:0 0 0 2px #38bdf82e}.home-loan-panel h4{color:#1e293b;margin:0 0 .35rem}.home-loan-detail-wrap{margin:.65rem 0}.home-loan-detail-table{table-layout:fixed;min-width:480px}.home-loan-detail-table th:first-child,.home-loan-detail-table td:first-child{width:43%}.home-loan-detail-table td:last-child{font-weight:700}.home-loan-panel>button{width:100%}@media (width<=900px){.home-loan-panel-grid{grid-template-columns:1fr}}.home-qualification-compact{background:#f8fafcd9;border:1px solid #1e293b1f;border-radius:10px;margin-top:.6rem;padding:.65rem}.home-qualification-header{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.55rem;display:flex}.home-qualification-title{color:#1e293b;font-size:.9rem;font-weight:700}.home-qualification-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.home-qualification-grid>div{background:#fff;border:1px solid #1e293b24;border-radius:9px;gap:.16rem;min-width:0;padding:.55rem .5rem;display:grid}.home-qualification-grid>div span{color:#334155;font-size:.72rem;font-weight:700;line-height:1.2}.home-qualification-grid>div strong{color:#1e293b;font-size:.92rem}.home-qualification-grid>div small{color:#64748b;font-size:.71rem;line-height:1.25}.home-qualification-grid .metric-good-cell{background:#10b9812e;border-color:#10b98152}.home-qualification-grid .metric-bad-cell{background:#f43f5e29;border-color:#f43f5e47}@media (width<=980px){.home-qualification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.home-qualification-grid,.vehicle-summary-grid,.medical-metric-grid,.medical-account-grid,.retirement-balance-grid,.bank-balance-grid{grid-template-columns:1fr}.family-section-header,.home-qualification-header{flex-direction:column;align-items:flex-start}}.policy-summary-list{gap:.55rem;margin-bottom:.7rem;display:grid}.policy-summary-row{background:#ebf5f773;border:1px solid #1a515f2e;border-radius:10px;justify-content:space-between;align-items:center;gap:.8rem;padding:.5rem .6rem;display:flex}.policy-summary-row button{flex-shrink:0}.qualification-list{gap:.5rem;margin:.6rem 0 .8rem;padding:0;list-style:none;display:grid}.qualification-list li{background:#ebf5f773;border:1px solid #14485533;border-radius:8px;justify-content:space-between;align-items:center;gap:.7rem;padding:.5rem .6rem;display:flex}.qualification-list li span{color:#1f4a55;font-size:.86rem;font-weight:700}.qualification-list li strong{text-align:right;color:#2d545d;font-size:.82rem}.qualification-pass{background:#dcf3e7ad!important;border-color:#1c72486b!important}.qualification-fail{background:#c42c4a1a!important;border-color:#a11f3570!important}.underwriting-help{margin-top:.45rem}.underwriting-table td.metric-good-cell{color:#065f46;background:#10b98129;font-weight:700}.underwriting-table td.metric-bad-cell{color:#9f1239;background:#f43f5e29;font-weight:700}.step-indicator{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.6rem 0 .9rem;padding:0;list-style:none;display:grid}.step-item{background:#ebf5f7b3;border:1px solid #1a515f38;border-radius:999px;align-items:center;gap:.42rem;padding:.32rem .52rem;display:flex}.step-badge{color:#1e293b;background:#38bdf82e;border-radius:999px;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.72rem;font-weight:700;display:inline-flex}.step-label{color:#334155;font-size:.8rem;font-weight:600}.step-item.active{background:#38bdf824;border-color:#0284c794}.step-item.active .step-badge{color:#fff;background:#0284c7}.step-item.done{background:#34d39929;border-color:#34d39973}.step-item.done .step-badge{color:#1e293b;background:#34d399}.step-item.todo{opacity:.82}@media (width<=980px){.app-body{grid-template-columns:1fr}.domain-sidebar-card{width:auto;padding:.8rem;position:static;overflow:visible}.domain-sidebar-heading,.domain-sidebar-label{opacity:1;max-width:none;max-height:none;transform:none}.domain-sidebar-link{justify-content:flex-start}.domain-sidebar-toggle{display:inline-flex}.domain-sidebar-nav{display:none}.domain-sidebar-nav.mobile-open{display:grid}.hero-journey{grid-template-columns:1fr}.journey-track{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-step:nth-child(3):after,.journey-step:nth-child(6):after{display:none}.summary-grid,.policy-grid,.about-grid,.init-form-grid,.init-slider-grid,.step-indicator{grid-template-columns:1fr}.policy-summary-row{flex-direction:column;align-items:flex-start}.equation-line{grid-template-columns:1fr}.equation-line .operator{justify-self:center}.main-two-column,.tax-setup-grid{grid-template-columns:1fr}.family-table{display:block;overflow-x:auto}.action-toast{justify-self:stretch}}:root[data-theme=dark],:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] h4,:root[data-theme=dark] p,:root[data-theme=dark] li,:root[data-theme=dark] dt,:root[data-theme=dark] dd,:root[data-theme=dark] td,:root[data-theme=dark] summary,:root[data-theme=dark] .driver-label,:root[data-theme=dark] .home-qualification-title,:root[data-theme=dark] .home-qualification-grid>div strong,:root[data-theme=dark] .policy-option h4,:root[data-theme=dark] .home-loan-panel h4,:root[data-theme=dark] .investment-account-grid h4,:root[data-theme=dark] .investment-account-grid dd,:root[data-theme=dark] .person-retirement-history h3,:root[data-theme=dark] .retirement-person-accounts dd,:root[data-theme=dark] .health-plan-table td:last-child,:root[data-theme=dark] .step-label,:root[data-theme=dark] .step-badge{color:#e2e8f0}:root[data-theme=dark] .meta,:root[data-theme=dark] .driver-detail,:root[data-theme=dark] .vehicle-summary-grid dt,:root[data-theme=dark] .amortization-summary span,:root[data-theme=dark] .retirement-metrics span,:root[data-theme=dark] .investment-account-grid dt,:root[data-theme=dark] .person-retirement-history h4,:root[data-theme=dark] .retirement-status-grid span,:root[data-theme=dark] .retirement-status-grid small,:root[data-theme=dark] .retirement-person-accounts dt,:root[data-theme=dark] .init-field-hint,:root[data-theme=dark] .init-range-labels,:root[data-theme=dark] .home-qualification-grid>div span,:root[data-theme=dark] .home-qualification-grid>div small,:root[data-theme=dark] .qualification-list li span,:root[data-theme=dark] .qualification-list li strong{color:#aebed3}:root[data-theme=dark] .card,:root[data-theme=dark] .person-retirement-controls,:root[data-theme=dark] .investment-account-grid article,:root[data-theme=dark] .person-retirement-history,:root[data-theme=dark] .retirement-status-grid>div,:root[data-theme=dark] .retirement-metrics>div,:root[data-theme=dark] .amortization-summary>div,:root[data-theme=dark] .policy-option,:root[data-theme=dark] .home-loan-panel,:root[data-theme=dark] .home-qualification-grid>div,:root[data-theme=dark] .transaction-estimate,:root[data-theme=dark] .loan-estimate,:root[data-theme=dark] .modal-card{color:#e2e8f0;background:#111b2d;border-color:#94a3b84d}:root[data-theme=dark] .retirement-person-accounts div,:root[data-theme=dark] .policy-section,:root[data-theme=dark] .home-qualification-compact,:root[data-theme=dark] .policy-summary-row,:root[data-theme=dark] .qualification-list li,:root[data-theme=dark] .step-item,:root[data-theme=dark] .bank-transfer-row,:root[data-theme=dark] .financing-summary{color:#e2e8f0;background:#17233a;border-color:#94a3b847}:root[data-theme=dark] .mortgage-points-group{border-color:#94a3b859}:root[data-theme=dark] .brokerage-trade-panel{border-color:#94a3b847}:root[data-theme=dark] .brokerage-catalog-table th small,:root[data-theme=dark] .brokerage-holdings-table th small{color:#aebed3}:root[data-theme=dark] .reflection-list,:root[data-theme=dark] .cash-to-close,:root[data-theme=dark] .loan-estimate>.meta,:root[data-theme=dark] .transaction-complete{color:#d8e6f3;background:#12253a}:root[data-theme=dark] .amortization-table-scroll thead{background:#172033}:root[data-theme=dark] input,:root[data-theme=dark] input.money-input,:root[data-theme=dark] input.standard-input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .init-form-grid select,:root[data-theme=dark] .init-form-grid input,:root[data-theme=dark] .family-table td input[type=text],:root[data-theme=dark] .family-table td input[type=number]{color:#f1f5f9;background:#0b1324;border-color:#94a3b873}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#8190a5}:root[data-theme=dark] th{color:#cbd5e1;background:#1a263a}:root[data-theme=dark] td,:root[data-theme=dark] th,:root[data-theme=dark] .estimate-list>div,:root[data-theme=dark] .transaction-ledger>div,:root[data-theme=dark] .investment-account-grid dl div,:root[data-theme=dark] .retirement-person-accounts,:root[data-theme=dark] .vehicle-summary,:root[data-theme=dark] .vehicle-summary-grid .vehicle-summary-total{border-color:#94a3b83d}:root[data-theme=dark] .driver-list li,:root[data-theme=dark] .milestone-list li{background:#0e749029;border-color:#7dd3fc47}:root[data-theme=dark] .milestone-unlocked,:root[data-theme=dark] .qualification-pass,:root[data-theme=dark] .home-qualification-grid .metric-good-cell,:root[data-theme=dark] .underwriting-table td.metric-good-cell{color:#a7f3d0;background:#05966933!important;border-color:#34d3996b!important}:root[data-theme=dark] .milestone-locked,:root[data-theme=dark] .qualification-fail,:root[data-theme=dark] .home-qualification-grid .metric-bad-cell,:root[data-theme=dark] .underwriting-table td.metric-bad-cell{color:#fecdd3;background:#be123c33!important;border-color:#fb71856b!important}:root[data-theme=dark] .positive,:root[data-theme=dark] .driver-impact-up{color:#7dd3fc}:root[data-theme=dark] .negative,:root[data-theme=dark] .driver-impact-down,:root[data-theme=dark] .blocked-reason-list{color:#fda4af}:root[data-theme=dark] .loan-estimate-grid h4,:root[data-theme=dark] .cash-to-close h4{color:#7dd3fc}:root[data-theme=dark] .loan-estimate-header{background:#155e75}:root[data-theme=dark] .glossary-term{border-bottom-color:#cbd5e1b8}:root[data-theme=dark] .section-subtitle,:root[data-theme=dark] .expense-group-title,:root[data-theme=dark] .medical-event-detail p,:root[data-theme=dark] .purchase-celebration p:last-child{color:#cbd5e1}:root[data-theme=dark] .medical-metric-grid div,:root[data-theme=dark] .medical-account-grid div,:root[data-theme=dark] .retirement-balance-grid div,:root[data-theme=dark] .bank-balance-grid div,:root[data-theme=dark] .education-no-plan-note{color:#e2e8f0;background:#17233a;border-color:#94a3b847}:root[data-theme=dark] .medical-metric-grid dt,:root[data-theme=dark] .medical-account-grid dt,:root[data-theme=dark] .retirement-balance-grid span,:root[data-theme=dark] .bank-balance-grid span{color:#aebed3}:root[data-theme=dark] .wedding-cost-estimate{background:#be185d2e}:root[data-theme=dark] .education-cost-summary{background:#0d948826}:root[data-theme=dark] .education-cost-summary div:last-child{border-color:#5eead459}:root[data-theme=dark] .purchase-celebration-kicker{color:#6ee7b7}.budget-modal-card{width:min(1500px,98vw)}.budget-modal-card .modal-header{align-items:flex-start}.budget-modal-card .modal-header .meta{margin:.25rem 0 0}.budget-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0;display:grid}.budget-summary>div{background:#f8fafc;border:1px solid #dbe4ea;border-radius:6px;min-width:0;padding:.7rem .8rem}.budget-summary span,.budget-summary strong{display:block}.budget-summary span{color:#64748b;text-transform:uppercase;font-size:.76rem;font-weight:700}.budget-summary strong{margin-top:.2rem;font-size:1.12rem}.budget-sheet-wrap{border:1px solid #cbd5e1;border-radius:6px;max-height:min(62vh,680px);overflow:auto}.budget-sheet{table-layout:fixed;border-collapse:separate;border-spacing:0;width:max-content;min-width:0}.budget-sheet th,.budget-sheet td{text-align:right;vertical-align:middle;border-bottom:1px solid #dbe4ea;border-right:1px solid #dbe4ea;width:88px;min-width:88px;max-width:88px;padding:.3rem .18rem}.budget-sheet th:first-child{z-index:1;text-align:left;background:#fff;width:250px;min-width:250px;max-width:250px;position:sticky;left:0}.budget-sheet thead th{z-index:3;background:#e8f1f5;position:sticky;top:0}.budget-sheet thead th:first-child{z-index:4;background:#e8f1f5}.budget-sheet td:last-child,.budget-sheet th:last-child{background:#f1f5f9;border-right:0;width:84px;min-width:84px;max-width:84px;font-weight:750}.budget-section-row th:first-child{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#155e75;font-size:.78rem;position:static}.budget-total-row th,.budget-total-row td,.budget-sheet tfoot th,.budget-sheet tfoot td{background:#e8f1f5;font-weight:750}.budget-positive{color:#166534;background:#ecfdf5!important}.budget-negative{color:#be123c;background:#fff1f2!important}:root[data-theme=dark] .budget-summary>div,:root[data-theme=dark] .budget-sheet th:first-child{color:#e2e8f0;background:#17233a;border-color:#94a3b847}:root[data-theme=dark] .budget-summary span{color:#aebed3}:root[data-theme=dark] .budget-sheet-wrap,:root[data-theme=dark] .budget-sheet th,:root[data-theme=dark] .budget-sheet td{border-color:#94a3b847}:root[data-theme=dark] .budget-sheet thead th,:root[data-theme=dark] .budget-total-row th,:root[data-theme=dark] .budget-total-row td,:root[data-theme=dark] .budget-sheet tfoot th,:root[data-theme=dark] .budget-sheet tfoot td{color:#e2e8f0;background:#1a263a}:root[data-theme=dark] .budget-sheet td:last-child,:root[data-theme=dark] .budget-sheet th:last-child{background:#1a263a}:root[data-theme=dark] .budget-section-row th:first-child{color:#fff;background:#155e75}:root[data-theme=dark] .budget-positive{color:#a7f3d0;background:#05966933!important}:root[data-theme=dark] .budget-negative{color:#fecdd3;background:#be123c33!important}@media (width<=700px){.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-modal-card{padding:.75rem}}
