:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#15302b;background:#f5f7f3}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button{font:inherit;cursor:pointer;border:0;border-radius:8px;padding:.7rem 1rem;background:#176a59;color:#fff;font-weight:650}.danger{background:#9f302f}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.button-link{background:#176a59;border-radius:8px;color:#fff;display:inline-block;padding:.7rem 1rem;text-decoration:none}a{color:#176a59;font-weight:650}.shell,.state,.login{max-width:1120px;margin:0 auto;padding:2rem}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:1.4rem;margin-bottom:.3rem}.projections-page{display:grid;gap:1.25rem}.projections-page .page-heading{margin-bottom:0}.projection-summary{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.25rem 0}.projection-summary>div{background:#f1f6f2;border-radius:10px;display:grid;gap:.35rem;padding:1rem}.projection-summary strong{font-size:1.5rem}.projection-summary>p{grid-column:1 / -1}.table-scroll{overflow-x:auto}.projection-table{border-collapse:collapse;min-width:760px;width:100%}.projection-table th,.projection-table td{border-bottom:1px solid #d7dfd8;padding:.8rem;text-align:right}.projection-table th:first-child{text-align:left}.projection-table th small{display:block;font-weight:500}.compact-field input{max-width:8rem}.new-scenario,.scenario-editor-heading,.scenario-actions{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.new-scenario label,.scenario-editor label{display:grid;gap:.35rem}.new-scenario input,.scenario-editor input,.scenario-editor select{border:1px solid #aebdb4;border-radius:7px;font:inherit;min-height:44px;padding:.55rem .7rem}.scenario-list{display:grid;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}.scenario-list li{align-items:center;border-top:1px solid #d7dfd8;display:flex;justify-content:space-between;padding-top:.75rem}.scenario-editor{background:#fff;border:1px solid #d7dfd8;border-radius:12px;display:grid;gap:1rem;padding:1.25rem}.scenario-comparison{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:1.5rem}.scenario-comparison>section{border:1px solid #d7dfd8;border-radius:10px;padding:1rem}.scenario-comparison .projection-summary{grid-template-columns:1fr}.scenario-comparison .projection-summary>p{grid-column:auto}.projection-input-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media (max-width: 700px){.projection-summary{grid-template-columns:1fr}.projection-summary>p{grid-column:auto}}.eyebrow{color:#176a59;font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.app-header{background:#fff;border-bottom:1px solid #d7dfd8;position:relative;z-index:5}.app-header-inner{align-items:center;display:flex;gap:1rem;margin:0 auto;max-width:1120px;min-height:4.5rem;padding:.5rem 2rem;width:100%}.brand{color:#15302b;font-size:.95rem;font-weight:800;text-decoration:none;white-space:nowrap;min-width:0}.primary-nav{display:flex;gap:.2rem}.primary-nav a,.header-control,.account-trigger{align-items:center;background:transparent;border-radius:8px;color:#38534b;display:inline-flex;font-size:.9rem;font-weight:700;min-height:44px;padding:.55rem .75rem;text-decoration:none}.account-icon{display:none;font-size:1.35rem;line-height:1}.primary-nav a[aria-current=page]{background:#edf6f1;color:#124b3d}.nav-badge{align-items:center;background:#176a59;border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;height:1.25rem;justify-content:center;margin-left:.35rem;min-width:1.25rem;padding:0 .3rem}.header-controls{align-items:center;display:flex;gap:.5rem;margin-left:auto}.account-trigger{border:1px solid #c7ddd2;gap:.45rem;max-width:19rem}.account-label{color:#56645e}.account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-trigger{display:none}.header-menu{background:#fff;border:1px solid #c7ddd2;border-radius:10px;box-shadow:0 8px 24px #15302b22;padding:.5rem;position:absolute;right:max(1.25rem,calc((100% - 1120px)/2 + 2rem));top:calc(100% + .4rem)}.menu-close{background:transparent;color:#38534b;margin:.1rem .1rem .5rem;min-height:44px;padding:.55rem .75rem}.account-menu{min-width:14rem}.account-menu p{color:#56645e;font-size:.86rem;margin:.4rem .5rem .75rem;overflow-wrap:anywhere}.account-menu button{min-height:44px;width:100%}.mobile-primary-menu{display:none}.page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem}.link{background:transparent;color:#176a59;padding:0}.dashboard-grid,.monthly-update-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.monthly-update-layout>.card:last-child{grid-column:1 / -1}.ingestion-status{border-top:1px solid #e4e9e4;display:grid;gap:.65rem;margin-top:1.25rem;padding-top:1rem}.ingestion-status h3{margin:0}.data-confidence{align-items:center;background:#edf6f1;border:1px solid #c7ddd2;border-radius:12px;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:space-between;margin:-.75rem 0 1.25rem;padding:.85rem 1rem}.data-confidence div{display:grid;gap:.2rem}.data-confidence span,.data-confidence p{color:#56645e;font-size:.88rem;margin:0}.data-confidence .button-link{padding:.5rem .75rem}.action-center{margin-bottom:1.25rem}.action-center-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #15302b10;padding:1.5rem}.action-center-card summary{align-items:center;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between}.action-center-card summary h2{margin:0}.action-center-count{align-items:center;background:#edf6f1;border-radius:999px;color:#56645e;display:inline-flex;font-size:.82rem;font-weight:700;justify-content:center;min-width:1.5rem;padding:.2rem .45rem}.action-center-card>:not(summary){margin-top:1rem}.action-list{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.action-list li{align-items:center;border-top:1px solid #e4e9e4;display:flex;gap:1rem;justify-content:space-between;padding-top:.75rem}.action-list p{color:#56645e;margin:.2rem 0 0}.action-list .button-link{flex:0 0 auto;padding:.5rem .75rem}.card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px #15302b10}.shell>.card+.card,.settings-form>.card+.card,.shell>.funding-plan-card{margin-top:1.25rem}.dashboard-card-content{display:flex;flex-direction:column}.card-kicker{color:#65746e;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:.35rem;text-transform:uppercase}.dashboard-position{border-top:1px solid #e4e9e4;margin-top:1.35rem;padding-top:1.15rem}.metric-value{font-size:clamp(1.45rem,3vw,2rem);font-weight:750;margin:.2rem 0 0}.muted,.label{color:#65746e}.headline{font-weight:750;font-size:clamp(2rem,5vw,3.2rem);margin:.5rem 0 0}.income{font-weight:700;font-size:1.5rem;margin:.8rem 0 0}.income span{color:#65746e;font-size:1rem;font-weight:400}.active-assumptions{color:#56645e;font-size:.82rem;line-height:1.4;margin:.6rem 0 0}.balance-freshness{color:#56645e;font-size:.82rem;line-height:1.4;margin:.35rem 0 0}.toggles{display:grid;gap:.65rem;border-top:1px solid #e4e9e4;padding-top:1rem}.supporting-signals{border-top:1px solid #e4e9e4;color:#56645e;font-size:.9rem;line-height:1.45;margin-top:1.35rem;padding-top:.9rem}.supporting-signals p{margin-bottom:.45rem}.projection-assumptions,.dashboard-accounts{border-top:1px solid #e4e9e4;margin-top:1rem;padding-top:.9rem}.dashboard-accounts summary{color:#176a59;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:.75rem;justify-content:space-between}.dashboard-accounts summary small{color:#65746e;font-size:.8rem;font-weight:500}.dashboard-accounts ul{list-style:none;margin:.85rem 0 0;padding:0}.dashboard-accounts li{align-items:center;border-top:1px solid #edf0ed;display:flex;gap:1rem;justify-content:space-between;padding:.65rem 0}.dashboard-accounts li>span{display:grid;gap:.1rem}.dashboard-accounts li strong{font-size:.9rem}.dashboard-accounts li small{color:#65746e;font-size:.78rem}.projection-assumptions summary{color:#176a59;cursor:pointer;display:grid;font-weight:700;gap:.2rem}.projection-assumptions summary small{color:#65746e;font-size:.78rem;font-weight:500}.projection-assumptions .toggles{margin-top:.9rem}.detail-link{margin-top:1.35rem}.annual-contributions-note{margin-bottom:1.25rem}.annual-contributions-settings{margin:1.35rem 0 0}.progress-track{background:#e4e9e4;border-radius:999px;height:.5rem;margin-top:.9rem;overflow:hidden}.progress-track span{background:#176a59;border-radius:inherit;display:block;height:100%;min-width:.35rem}.toggle{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.95rem}.toggle input{accent-color:#176a59;width:1.15rem;height:1.15rem}.hsa{background:#edf6f1;color:#215b4b;padding:.75rem;border-radius:8px;margin:1.25rem 0;font-size:.9rem}.chart-placeholder{border:1px dashed #a7b5ad;color:#65746e;min-height:110px;border-radius:8px;display:grid;place-items:center;text-align:center;padding:1rem}.account-detail{border-top:1px solid #e4e9e4;margin-top:1.5rem;padding-top:1.25rem}.account-detail h3{margin-bottom:.4rem}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.metrics div{background:#f5f7f3;border-radius:8px;padding:.7rem}.metrics dt{color:#65746e;font-size:.8rem}.metrics dd{margin:.25rem 0 0;font-weight:700}.fund-list{list-style:none;padding:0}.fund-list li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #edf0ed;padding:.6rem 0;font-size:.9rem}.history-chart svg{width:100%;height:150px;overflow:visible}.stored-point{fill:#176a59;stroke:#176a59}.interpolated-point{fill:#fff;stroke:#176a59;stroke-width:2}.chart-key{color:#65746e;font-size:.8rem}.stored-key,.interpolated-key{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin:0 .25rem 0 .75rem;background:#176a59}.interpolated-key{background:#fff;border:2px solid #176a59}.goals{list-style:none;padding:0;margin:1.5rem 0}.savings-breakdown{display:grid;gap:0;margin:1.25rem 0 0}.savings-breakdown div{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.7rem 0;border-top:1px solid #edf0ed}.savings-breakdown dt,.savings-breakdown small{color:#65746e;font-size:.8rem}.savings-breakdown dd{margin:0;font-weight:700}.savings-breakdown small{grid-column:1 / -1}.goals li{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.75rem 0;border-bottom:1px solid #edf0ed}.goals em{grid-column:1 / -1;font-style:normal;font-size:.85rem;text-transform:capitalize}.behind{color:#9b3a2e}.ahead,.on-track{color:#176a59}.note{font-size:.85rem;color:#65746e;line-height:1.45}.entry-form{display:grid;gap:.85rem}.entry-form label{display:grid;gap:.35rem;color:#56645e;font-size:.9rem}.entry-form input,.entry-form select{border:1px solid #b9c5bd;border-radius:6px;padding:.55rem;font:inherit;color:#15302b}.fund-row{border:1px solid #e4e9e4;border-radius:8px;display:grid;gap:.65rem;padding:.8rem}.fund-row legend{color:#56645e;font-weight:650;padding:0 .25rem}.secondary{background:#edf6f1;color:#176a59}.account-total{color:#215b4b;font-weight:700;margin:0}.advisory{background:#fff4df;color:#76520b;padding:.75rem;border-radius:8px;line-height:1.4}.review-list{padding:0;list-style:none;margin:1rem 0 0}.upload-list{padding:0;list-style:none;margin:0}.upload-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-top:1px solid #edf0ed;color:#56645e}.review-list li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;border-top:1px solid #edf0ed}.final-action,.comparison{border:1px solid #c9d7ce;background:#f7fbf8;border-radius:8px;padding:1rem;display:grid;gap:.75rem}.final-action h3,.comparison h3,.comparison h4,.final-action p,.comparison p{margin:0}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.comparison-grid article{border:1px solid #e4e9e4;background:#fff;border-radius:6px;padding:.75rem}.comparison-grid ul{padding-left:1.2rem;color:#56645e}@media (max-width: 560px){.review-list li{align-items:flex-start;flex-direction:column}.comparison-grid{grid-template-columns:1fr}.final-action button{width:100%}}.login{max-width:640px;min-height:100vh;padding-top:18vh}.login>p:not(.eyebrow){color:#56645e;font-size:1.1rem;line-height:1.5;margin-bottom:1.5rem}.state{min-height:45vh;display:grid;place-content:center;text-align:center}.settings-form{display:grid;gap:1rem}.settings-grid{display:grid;gap:1rem;margin-top:1.1rem}.settings-grid--retirement,.settings-grid--income,.settings-grid--goals,.settings-grid--advanced{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid label{display:grid;gap:.4rem;color:#56645e;font-size:.9rem;font-weight:650;line-height:1.25}.setting-field small{color:#65746e;font-size:.8rem;font-weight:450;line-height:1.35}.setting-field .field-error{color:brown;font-weight:650}.settings-grid input[aria-invalid=true]{border-color:brown}.settings-grid input{width:100%;min-height:2.5rem;border:1px solid #b9c5bd;border-radius:7px;padding:.5rem .65rem;background:#fff;color:#15302b;font:inherit;font-weight:500}.settings-grid input:focus{border-color:#176a59;box-shadow:0 0 0 3px #176a5920;outline:0}.settings-401k-sections{display:grid;gap:1.25rem;margin-top:1.4rem}.settings-person-section{border-top:1px solid #e4e9e4;padding-top:1.2rem}.settings-person-section h3{margin:0;color:#15302b;font-size:1rem}.settings-person-section .muted{margin:.35rem 0 0}.settings-form .card>.settings-toggle{border-top:1px solid #e4e9e4;margin-top:1.25rem;padding-top:1rem}.settings-toggle{align-items:start;display:grid;grid-template-columns:minmax(0,34rem) auto;justify-content:start;max-width:42rem}.settings-toggle .toggle-copy{display:grid;gap:.25rem}.settings-toggle .toggle-copy small{color:#65746e;font-size:.8rem;font-weight:450;line-height:1.35}.setting-note,.preview-scenario{color:#56645e;font-size:.9rem;line-height:1.45}.preview-control{display:grid;gap:.35rem;max-width:24rem;color:#56645e;font-size:.9rem;font-weight:650}.preview-control select{min-height:2.5rem;border:1px solid #b9c5bd;border-radius:7px;padding:.5rem .65rem;background:#fff;color:#15302b;font:inherit}.advanced-settings{border:1px solid #d7dfd8;border-radius:10px;padding:1rem 1.15rem;background:#f8faf8}.advanced-settings summary{color:#15302b;cursor:pointer;font-weight:700}.advanced-settings[open] summary{margin-bottom:.75rem}.preview-unsaved{border-left:3px solid #ad7518;margin:.75rem 0;padding-left:.75rem;color:#5b4617}.validation-summary{border:1px solid #a52a2a;border-left:4px solid #a52a2a;border-radius:8px;color:#7e1d1d;font-weight:650;margin:0;order:-1;padding:.75rem .9rem;background:#fff4f4}.save-bar{position:sticky;bottom:.75rem;z-index:2;display:grid;grid-template-columns:1fr auto;gap:.75rem 1rem;align-items:center;border:1px solid #176a59;border-radius:10px;padding:.9rem 1rem;background:#f4fbf8;box-shadow:0 4px 16px #15302b20}.save-bar p,.save-feedback{margin:.2rem 0 0;color:#38534b;font-size:.88rem}.save-actions{display:flex;flex-wrap:wrap;gap:.65rem}.save-actions button:first-child{background:#fff;color:#15302b;border:1px solid #9aac9f}@media (max-width: 560px){.settings-grid--retirement,.settings-grid--income,.settings-grid--goals,.settings-grid--advanced{grid-template-columns:1fr}.settings-toggle{grid-template-columns:minmax(0,1fr) auto;max-width:none}.save-bar{bottom:0;grid-template-columns:1fr}.save-actions button{flex:1 1 10rem}}.accounts-attention{align-items:center;background:#fff8e8;border:1px solid #ead7a5;border-radius:12px;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:space-between;margin:-.75rem 0 1.25rem;padding:.85rem 1rem}.accounts-attention div{display:grid;gap:.2rem}.accounts-attention span{color:#56645e;font-size:.88rem}.accounts-attention .button-link{padding:.5rem .75rem}.account-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.account-filters button{background:#fff;border:1px solid #b8c8bf;color:#38534b;min-height:2.4rem;padding:.45rem .7rem}.account-filters button.active{background:#176a59;border-color:#176a59;color:#fff}.accounts-change-summary{border-left:3px solid #d7e0da;color:#56645e;display:grid;font-size:.88rem;gap:.2rem;margin:.85rem 0;padding-left:.7rem}.accounts-change-summary strong{color:#38534b;font-size:.82rem}.accounts-change-summary small{font-size:inherit}.account-summary-cards{display:grid;gap:.85rem}.account-card-group{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.account-card-group>h3{color:#38534b;font-size:.9rem;grid-column:1 / -1;margin:.2rem 0 0}.account-summary-card{border:1px solid #d7e0da;border-radius:8px;display:grid;gap:.7rem;padding:1rem}.account-summary-card h3{font-size:1rem;margin:0}.account-summary-card .card-kicker{margin:-.35rem 0 0}.contribution-summary-card h3{min-height:2.5rem}.contribution-room{background:#edf6f1;border-radius:8px;display:grid;gap:.15rem;padding:.7rem .75rem}.contribution-room span{color:#38534b;font-size:.78rem;font-weight:700}.contribution-room strong{color:#124b3d;font-size:1.35rem;font-variant-numeric:tabular-nums}.account-summary-card dl{display:grid;gap:.5rem;margin:0}.account-summary-card dl div{display:grid;gap:.1rem}.account-summary-card dt{color:#65746e;font-size:.78rem}.account-summary-card dd{font-variant-numeric:tabular-nums;font-weight:600;margin:0}.account-metrics,.funding-plan-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.funding-plan-status{font-weight:700;margin:1rem 0 0}.funding-plan-status--behind{color:#9b3b31}.funding-plan-status--ahead,.funding-plan-status--on-track{color:#176a59}.performance-chart{display:grid;gap:.8rem}.performance-chart .toggles{display:flex;flex-wrap:wrap;gap:1.25rem}.performance-chart .toggle{justify-content:flex-start}.performance-chart svg{width:100%;height:auto}.metric-charts{display:grid;gap:1.25rem}.metric-chart{margin:0}.metric-chart figcaption{color:#3f4d47;font-size:.9rem;font-weight:600;margin-bottom:.35rem}.legend-sample{display:inline-block;width:1.7rem;border-top:3px solid currentColor;margin:0 .45rem .2rem 0;position:relative;vertical-align:middle}.legend-sample:after{background:currentColor;border-radius:50%;content:"";height:.45rem;left:.6rem;position:absolute;top:-.3rem;width:.45rem}.legend-sample.balance{color:#176a59}.legend-sample.return{color:#9b3a2e}.chart-summary,.chart-visible-series{margin:0}.chart-visible-series{font-weight:600}.data-table-toggle{align-self:start;background:#fff;border:1px solid #176a59;border-radius:6px;color:#174a3f;cursor:pointer;font:inherit;padding:.55rem .75rem}.data-table-toggle:focus-visible{outline:3px solid #0b70a5;outline-offset:2px}.chart-data-table-wrap{overflow-x:auto}.chart-data-table-wrap table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.chart-data-table-wrap caption{text-align:left;font-weight:600;margin-bottom:.45rem}.chart-data-table-wrap th,.chart-data-table-wrap td{border-bottom:1px solid #edf0ed;padding:.65rem;text-align:left}.chart-axis{stroke:#a7b5ad}.balance-line{stroke:#176a59;stroke-width:3}.return-line{stroke:#9b3a2e;stroke-width:3}.balance-point{fill:#176a59}.return-point{fill:#9b3a2e}.balance-axis-label,.return-axis-label,.chart-month,.balance-value-label,.return-value-label{fill:#56645e;font-size:12px}.balance-axis-label{fill:#176a59}.return-axis-label{fill:#9b3a2e}.balance-value-label{fill:#176a59;font-weight:700}.return-value-label{fill:#9b3a2e;font-weight:700}@media (max-width: 720px){.shell,.state,.login{padding:1.25rem}.page-heading{gap:1rem;flex-direction:column}.app-header-inner{gap:.35rem;min-height:4rem;padding:.4rem 1.25rem}.desktop-nav{display:none}.mobile-menu-trigger{display:inline-flex}.account-label,.account-email{display:none}.account-trigger{flex:0 0 44px;justify-content:center;padding:.55rem;width:44px}.account-icon{display:block}.mobile-primary-menu{display:block;left:1.25rem;right:1.25rem}.mobile-primary-menu .primary-nav{display:grid;gap:.25rem}.mobile-primary-menu .primary-nav a{min-height:48px}.account-menu{right:1.25rem}.page-actions{align-items:flex-start}.dashboard-grid,.monthly-update-layout{grid-template-columns:1fr}.monthly-update-layout>.card:last-child{grid-column:auto}.data-confidence,.action-list li,.accounts-attention{align-items:flex-start;flex-direction:column}.card{padding:1.25rem}.headline{font-size:clamp(2.25rem,12vw,3.2rem)}.toggle{min-height:2.75rem}.toggle input{flex:0 0 auto}.metrics,.account-metrics{grid-template-columns:1fr}.fund-list li{flex-direction:column;gap:.25rem}}
