:root{--bg-base:#0a0e14;--bg-elevated:#121820d9;--bg-card:#161c2499;--bg-card-hover:#1c242eb3;--border-subtle:#63b3ed26;--border-muted:#8b949e33;--accent-primary:#10b981;--accent-secondary:#34d399;--accent-glow:#10b98140;--accent-gold:#f59e0b;--danger:#ef4444;--gradient-progress:linear-gradient(90deg, #10b981 0%, #34d399 50%, #6ee7b7 100%);--gradient-chart:linear-gradient(180deg, #10b98166 0%, #10b98100 100%);--gradient-header:linear-gradient(135deg, #10b98114 0%, #f59e0b0a 100%);--text-primary:#f0f4f8;--text-secondary:#94a3b8;--text-muted:#8291a5;--text-accent:#34d399;--danger-soft:#f87171;--fs-xs:.6875rem;--fs-sm:.75rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-card:0 4px 24px -4px #0006;--shadow-glow:0 0 40px -8px #10b9814d}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 50% -20%,#10b98114 0%,#0000 50%),radial-gradient(60% 40% at 100% 100%,#f59e0b0a 0%,#0000 50%);position:fixed;inset:0}#root{z-index:1;min-height:100vh;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}.route-loading{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex}.route-loading:after{content:"";border:3px solid var(--border-muted);border-top-color:var(--accent-primary);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 0%,#ffffff14 50%,#ffffff0a 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-label{width:5rem;height:.75rem;margin-bottom:.5rem}.skeleton-value{width:8rem;height:1.75rem}.skeleton-value-sm{width:6rem;height:1rem;margin-top:.35rem}.skeleton-progress{width:100%;height:10px;margin-top:.5rem}.skeleton-chart{width:100%;height:200px;margin-top:.75rem}.skeleton-header{width:6rem;height:1rem;margin-bottom:1rem}.skeleton-footer{width:12rem;height:.7rem;margin-top:1.25rem}.app-header{background:var(--gradient-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:relative}.app-header--menu-open{z-index:200}.app-header h1{font-size:var(--fs-xl);letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-weight:700}.app-header-feedback{font-size:var(--fs-base);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);white-space:nowrap;padding:.4rem .75rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.app-header-feedback:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.app-header-actions{align-items:center;gap:.75rem;display:flex}.password-input-wrap{position:relative}.password-input{box-sizing:border-box;width:100%;padding-right:2.6rem}.password-toggle{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-primary)}.user-menu-wrap{position:relative}.user-menu-btn{border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--accent-secondary);font-size:var(--fs-base);cursor:pointer;background:#10b98114;border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:border-color .15s,background .15s;display:flex}.user-menu-btn:hover{border-color:var(--accent-primary);background:#10b98129}.user-menu-backdrop{z-index:190;position:fixed;inset:0}.user-menu{background:var(--bg-elevated);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-card);z-index:100;padding:.4rem;animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + .5rem);right:0}.user-menu-name{font-size:var(--fs-base);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);align-items:center;gap:.5rem;margin:0 0 .35rem;padding:.5rem .75rem .6rem;font-weight:600;display:flex}.user-menu-viewer{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-gold);border-radius:var(--radius-pill);border:1px solid #f59e0b59;padding:.1rem .45rem;font-weight:500}.user-menu-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer;background:0 0;border:none;padding:.5rem .75rem;transition:background .15s,color .15s;display:block}.user-menu-item:hover{color:var(--text-primary);background:#ffffff0f}.user-menu-signout:hover{color:var(--danger-soft);background:#f8717114}.app-main{--app-pad-x:1.5rem;padding:1.5rem var(--app-pad-x) 5rem;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;width:100%;max-width:100%;animation:.5s ease-out fadeIn;display:grid}.app-main>*{min-width:0}@media (width>=1800px){.app-main{max-width:1400px;margin:0 auto}}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.5rem}.card-title{font-size:var(--fs-md);color:var(--text-primary);letter-spacing:.01em;margin:0 0 1rem;font-weight:600}.card-empty .card-title{margin-bottom:.4rem}.card-empty-text{color:var(--text-muted);font-size:var(--fs-base);max-width:52ch;margin:0 0 1rem;line-height:1.55}.card-empty-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cta-pill{border-radius:var(--radius-pill);color:var(--accent-primary);font-size:var(--fs-base);cursor:pointer;background:#10b98114;border:1px solid #10b98140;align-items:center;gap:.4rem;padding:.35rem .85rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.cta-pill:hover{background:#10b98129;border-color:#10b98173}.setup-hero{background:var(--gradient-header);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:1.25rem;padding:1.5rem}.setup-hero-title{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-weight:700}.setup-hero-sub{font-size:var(--fs-base);color:var(--text-secondary);margin:.25rem 0 1.25rem}.setup-steps{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.setup-step a{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;gap:.85rem;padding:.75rem 1rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.setup-step a:hover{background:var(--bg-card-hover);border-color:#10b98173}.setup-step-num{width:28px;height:28px;color:var(--accent-secondary);font-size:var(--fs-base);border:1px solid #10b98166;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.setup-step.done .setup-step-num{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-base)}.setup-step-title{font-size:var(--fs-base);color:var(--text-primary);font-weight:600;display:block}.setup-step.done .setup-step-title{color:var(--text-muted)}.setup-step-desc{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px;display:block}.dashboard{grid-column:1/-1;min-width:0;padding:1.5rem}.chart-section .stat-label.chart-title{letter-spacing:.03em;text-transform:uppercase;font-size:var(--fs-xs);margin-bottom:.75rem}.coast-projection-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;margin-bottom:.5rem;padding:0;display:flex}.coast-projection-toggle .stat-label{margin-bottom:0}.coast-projection-icon{color:var(--text-muted);font-size:var(--fs-md);line-height:1;transition:transform .3s}.coast-projection-icon.open{transform:rotate(0)}.coast-projection-icon.closed{transform:rotate(-90deg)}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dashboard-header h2{font-size:var(--fs-md);color:var(--text-secondary);letter-spacing:.02em;margin:0;font-weight:600}.app-nav{z-index:150;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);scrollbar-width:none;background:#0a0e14eb;align-items:stretch;padding:0 1.25rem;display:flex;position:sticky;top:0;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav-tab{font-size:var(--fs-base);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:.4rem;padding:.7rem 1rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.app-nav-tab:hover{color:var(--text-secondary)}.app-nav-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.app-nav-tab svg{opacity:.7;flex-shrink:0}.app-nav-tab.active svg{opacity:1}.sub-nav{flex-wrap:wrap;grid-column:1/-1;gap:.6rem;display:flex}.asset-sections-row{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.6rem;display:flex}.asset-sections-row .sub-nav{flex:auto;grid-column:auto}select.asset-sections-add{width:auto;color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer;background:0 0;border-style:dashed;flex:none;padding:.45rem .8rem}select.asset-sections-add:hover{border-color:var(--accent-primary);color:var(--text-primary)}.sub-nav-tile{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:124px;padding:.55rem .9rem;transition:border-color .15s,background .15s,transform .15s;display:flex}.sub-nav-tile:hover{border-color:var(--border-muted);transform:translateY(-1px)}.sub-nav-tile.active{border-color:var(--accent-primary);background:#10b98114}.sub-nav-tile-wrap{display:flex;position:relative}.sub-nav-tile-wrap .sub-nav-tile{padding-right:1.9rem}.sub-nav-dismiss{border-radius:var(--radius-sm);width:1.25rem;height:1.25rem;color:var(--text-muted);font-size:var(--fs-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute;top:.3rem;right:.3rem}.sub-nav-dismiss:hover{color:var(--text-primary);background:#ffffff14}.sub-nav-label{font-size:var(--fs-base);color:var(--text-secondary);font-weight:600}.sub-nav-tile.active .sub-nav-label{color:var(--accent-primary)}.sub-nav-stat{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.sub-nav-stat--good{color:var(--accent-primary)}.table-expand-btn{border:1px dashed var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-muted);font-size:var(--fs-base);cursor:pointer;background:0 0;margin-top:.75rem;padding:.5rem;transition:color .15s,border-color .15s;display:block}.table-expand-btn:hover{color:var(--text-secondary);border-color:var(--border-muted)}@keyframes slideInSettings{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-page{background:var(--bg-base);z-index:50;animation:.2s ease-out slideInSettings;position:fixed;inset:0;overflow-y:auto}.settings-page-inline{z-index:auto;background:0 0;grid-column:1/-1;animation:none;position:static;overflow-y:visible}.settings-page-header{z-index:10;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.75rem;padding:.875rem 1.5rem;display:flex;position:sticky;top:0}.settings-back-btn{color:var(--text-secondary);border:1px solid var(--border-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-base);background:#63b3ed14;align-items:center;gap:.35rem;padding:.35rem .75rem;font-weight:500;transition:all .2s;display:flex}.settings-back-btn:hover{color:var(--text-primary);background:#63b3ed24;border-color:#63b3ed4d}.settings-edit-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.settings-inline-actions{padding-top:1rem}.settings-inline-actions-inner{justify-content:flex-end;align-items:center;gap:.5rem;max-width:820px;margin:0 auto;padding-inline:1.5rem;display:flex}.settings-inline-actions-sticky{z-index:60;margin-inline:calc(-1 * var(--app-pad-x,1.5rem));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);background:#0a0e14eb;padding-top:.75rem;padding-bottom:.75rem;position:sticky;top:3.375rem}.settings-inline-actions-label{color:var(--text-muted);font-size:var(--fs-base);align-items:center;gap:.4rem;margin-right:auto;display:flex}.settings-inline-actions-dot{background:var(--accent-secondary);border-radius:50%;flex-shrink:0;width:7px;height:7px}.settings-edit-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer;background:0 0;padding:.3rem .85rem;font-weight:500;transition:all .2s}.settings-edit-btn:hover{color:var(--text-primary);background:#63b3ed1a;border-color:#63b3ed4d}.settings-save-btn{border-radius:var(--radius-sm);color:var(--accent-secondary);font-size:var(--fs-base);cursor:pointer;background:#10b9811f;border:1px solid #10b98166;padding:.3rem .85rem;font-weight:600;transition:all .2s}.settings-save-btn:hover{background:#10b98138;border-color:#10b98199}.settings-cancel-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--fs-base);cursor:pointer;background:0 0;padding:.3rem .85rem;font-weight:500;transition:all .2s}.settings-cancel-btn:hover{color:var(--text-secondary);background:#ffffff0d}.settings-value{color:var(--text-primary);font-size:var(--fs-base);font-weight:500}.settings-value-empty{color:var(--text-muted);font-style:italic;font-weight:400}.settings-page-title{font-size:var(--fs-md);color:var(--text-primary);font-weight:600}.settings-inline-title{margin:0 auto 0 0}.settings-page-content{flex-direction:column;gap:1.25rem;max-width:820px;margin:0 auto;padding:1.25rem 1.5rem 2rem;display:flex}.settings-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.settings-section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .75rem;font-weight:600}.settings-row{align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border-muted)}.settings-subsection-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:1.25rem 0 .5rem;font-weight:600}.settings-asset-block+.settings-asset-block{border-top:1px solid var(--border-muted);margin-top:1.25rem;padding-top:1.25rem}.settings-asset-block .settings-subsection-title{margin-top:0}.settings-asset-block-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.settings-asset-block-header .settings-subsection-title{margin-bottom:0}.settings-asset-edit-link{font-size:var(--fs-sm);color:var(--accent-secondary);white-space:nowrap;text-decoration:none}.settings-asset-edit-link:hover{text-decoration:underline}.settings-add-asset-select{width:auto;min-width:160px;margin-top:1rem}.settings-family-row{border-bottom:1px solid var(--border-muted);align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.settings-family-name{font-size:var(--fs-base);flex:auto;font-weight:500}.settings-family-dob{font-size:var(--fs-base);flex-shrink:0}.settings-family-add{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.settings-family-input{flex:120px;min-width:0}.settings-label{font-size:var(--fs-base);color:var(--text-secondary);flex:auto;min-width:9rem}.settings-info-icon{color:var(--text-muted);cursor:help;font-size:var(--fs-base);margin-left:.35rem;display:inline-block}.settings-info-icon:hover,.settings-info-icon:focus-visible{color:var(--text-secondary)}.mortgage-input.settings-age-input{flex:none;width:10rem}.mortgage-input.settings-email-input{flex:none;width:16rem}.dashboard-sliders{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.btn-refresh{color:var(--accent-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);background:#10b9811f;border:1px solid #10b98140;padding:.4rem .9rem;font-weight:500;transition:all .2s}.btn-refresh:hover:not(:disabled){background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.expected-return-selector{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.expected-return-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.expected-return-slider-wrap{flex-shrink:0;align-items:center;gap:.5rem;min-width:140px;display:flex}.expected-return-value{font-size:var(--fs-base);color:var(--accent-secondary);min-width:2.5rem;font-weight:600}.expected-return-slider{appearance:none;border-radius:var(--radius-pill);background:#ffffff14;outline:none;width:100%;height:6px}.expected-return-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-secondary);cursor:pointer;width:16px;height:16px;box-shadow:0 0 12px var(--accent-glow);border-radius:50%;transition:transform .15s}.expected-return-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.expected-return-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent-primary), 0 0 12px var(--accent-glow)}.expected-return-slider::-moz-range-thumb{background:var(--accent-secondary);cursor:pointer;width:16px;height:16px;box-shadow:0 0 12px var(--accent-glow);border:none;border-radius:50%;transition:transform .15s}.expected-return-slider::-moz-range-thumb:hover{transform:scale(1.1)}.expected-return-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent-primary), 0 0 12px var(--accent-glow)}.stat-label{font-size:var(--fs-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0}.stat-value{font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--text-primary);margin:.25rem 0 0;font-weight:700}.stat-value.highlight{color:var(--accent-secondary);text-shadow:0 0 30px var(--accent-glow)}.progress-track{border-radius:var(--radius-pill);background:#ffffff0f;height:10px;margin-top:.5rem;overflow:hidden}.progress-fill{background:var(--gradient-progress);border-radius:var(--radius-pill);height:100%;box-shadow:0 0 12px var(--accent-glow);transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-text{font-size:var(--fs-base);color:var(--text-muted);margin:.35rem 0 0}.retirement-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#10b98114 0%,#f59e0b0d 100%);border:1px solid #10b9812e;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem;display:flex}.retirement-banner-unreachable{border-color:var(--border-muted);background:linear-gradient(135deg,#64748b0f 0%,#64748b08 100%)}.retirement-banner-left{flex-direction:column;gap:.25rem;min-width:0;display:flex}.retirement-banner-right{flex-shrink:0;justify-content:flex-end;align-items:center;gap:1.25rem;display:flex}.retirement-banner-right .retirement-chips{justify-content:flex-end;max-width:340px}.fire-gauge{filter:drop-shadow(0 0 12px #10b98133);flex-shrink:0}.fire-gauge-value{fill:var(--text-primary);font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:700}.fire-gauge-label{fill:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.retirement-banner-milestone{font-size:var(--fs-sm);color:var(--accent-gold);margin:.35rem 0 0}.sparkline{margin-top:.35rem;display:block}.retirement-banner-sub{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.retirement-banner-sub-hint{cursor:default;border-bottom:1px dashed var(--text-muted)}.retirement-banner-sub-hint-link{cursor:pointer;color:inherit;text-decoration:none}.retirement-banner-sub-hint-link:hover,.retirement-banner-sub-hint-link:focus-visible{color:var(--text-secondary)}.retirement-time{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(135deg,#10b9810f 0%,#f59e0b0a 100%);flex-direction:column;gap:.5rem;margin-top:.5rem;padding:1rem 1.25rem;display:flex}.retirement-time-primary{font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.15}.retirement-time-unit{margin-left:.02em}.retirement-time-days{font-size:var(--fs-md);color:var(--text-secondary);margin:0 0 .15rem}.retirement-chips{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.retirement-chip{border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--accent-gold);letter-spacing:.01em;background:#f59e0b1a;border:1px solid #f59e0b38;align-items:center;padding:.2rem .55rem;font-weight:600;display:inline-flex}.retirement-unreachable{margin-top:.5rem}.retirement-unreachable-label{font-size:var(--fs-md);color:var(--text-muted);margin:0 0 .25rem;font-weight:600}.dashboard-stats-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:1.25rem;display:grid}@media (width<=640px){.dashboard-stats-row{grid-auto-flow:row}}.what-if-section{margin-top:.5rem;padding:1rem 0}.what-if-grid{flex-wrap:wrap;gap:1rem 3rem;display:flex}@media (width<=640px){.what-if-grid{flex-direction:column;gap:1rem}}.what-if-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.what-if-label{font-size:var(--fs-base);color:var(--text-secondary);align-items:center;gap:.35rem;display:inline-flex}.text-muted{color:var(--text-muted);font-weight:500}.mortgage-payoff-card{grid-column:1/-1;min-width:0;padding:1.5rem}.mortgage-payoff-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.mortgage-payoff-title{font-size:var(--fs-md);color:var(--text-secondary);letter-spacing:.02em;margin:0;font-weight:600}.mortgage-payoff-layout{flex-direction:row;align-items:flex-start;gap:1.5rem;display:flex}.mortgage-payoff-form{flex:auto;min-width:0}.mortgage-payoff-top-row{flex-flow:wrap;align-items:flex-start;gap:2rem;width:100%;display:flex}.mortgage-payoff-top-row .mortgage-payoff-numbers{flex:0 auto;min-width:0}.mortgage-payoff-top-row .mortgage-payoff-numbers .mortgage-payoff-grid{margin-top:0}.mortgage-payoff-top-row .mortgage-payoff-numbers .mortgage-payoff-results{margin-top:.75rem}.mortgage-sliders-inline{flex-direction:column;flex:280px;gap:.75rem;min-width:200px;max-width:400px;display:flex;border-top:none!important;margin-top:0!important;padding-top:0!important}.mortgage-sliders-inline .mortgage-slider-row{flex-direction:row;align-items:center;gap:1rem;display:flex}.mortgage-sliders-inline .mortgage-slider-label{flex-shrink:0;width:12rem}.mortgage-sliders-inline .mortgage-slider{flex:auto;min-width:80px}.stock-grants-card{grid-column:1/-1;min-width:0;padding:1.5rem}.stock-grants-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.btn-stock-save,.btn-stock-cancel{border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);border:1px solid;padding:.4rem .9rem;font-weight:500;transition:all .2s}.btn-stock-save{color:var(--accent-secondary);background:#10b9811f;border-color:#10b98140}.btn-stock-save:hover{background:#10b98133;border-color:#10b98166}.btn-stock-cancel{color:var(--text-muted);border-color:var(--border-muted);background:#ffffff0f}.btn-stock-cancel:hover{color:var(--text-secondary);background:#ffffff1a}.stock-grants-summary{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.stock-grants-title{font-size:var(--fs-md);color:var(--text-secondary);letter-spacing:.02em;margin:0;font-weight:600}.stock-grants-hero{border-top:1px solid var(--border-subtle);background:#ffffff08;flex-direction:column;gap:0;padding:1rem 1rem .85rem;display:flex}.stock-grants-hero-row{flex-wrap:wrap;gap:1.5rem 2rem;display:flex}.stock-grants-hero-stat{flex-direction:column;gap:.15rem;display:flex}.stock-grants-hero-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.stock-grants-hero-value{font-size:var(--fs-xl);color:var(--text-primary);font-weight:700}.stock-grants-projected-row{flex-wrap:wrap;align-items:center;gap:.5rem .35rem;margin-top:1rem;display:flex}.stock-grants-projected-label{font-size:var(--fs-base);color:var(--text-secondary)}.stock-grants-price-inline{width:6rem!important;font-size:var(--fs-md)!important;padding:.4rem .6rem!important}.stock-sell-at-vest-label{font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin-top:.85rem;display:flex}.stock-sell-at-vest-checkbox{accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0;width:14px;height:14px}.stock-sell-at-vest-badge{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--accent-gold);border-radius:var(--radius-pill);background:#f59e0b1f;border:1px solid #f59e0b4d;padding:.2rem .6rem;font-weight:600}.stock-grant-row{grid-template-columns:6rem 1fr 1fr 6rem 4.5rem 4.5rem auto;align-items:end;gap:.75rem;display:grid}@media (width<=768px){.stock-grant-row{grid-template-columns:1fr 1fr}}.stock-grants-vesting-chart{width:100%;min-width:0;padding-top:.5rem}.stock-grants-company-charts{border-top:1px solid var(--border-subtle);margin-top:.5rem;padding-top:.75rem}.stock-grants-income-chart{width:100%;min-width:0;padding-top:.5rem}.stock-grants-taxes{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.1rem;margin-top:.75rem;padding-top:.75rem;display:flex}.stock-grants-taxes-header{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:.15rem;display:flex}.stock-grants-taxes-title{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.stock-grants-taxes-rate-row{align-items:center;gap:.45rem;display:flex}.stock-grants-after-tax-toggle{font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin-left:auto;display:flex}.stock-grants-tax-learn-toggle{font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;margin-bottom:1rem;padding:.35rem 0;transition:color .15s}.stock-grants-tax-learn-toggle:hover{color:var(--text-secondary)}.stock-grants-tax-learn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#ffffff08;flex-direction:column;gap:.6rem;margin-top:.5rem;padding:.75rem;display:flex}.stock-grants-tax-learn-body{font-size:var(--fs-sm);color:var(--text-secondary);margin:0}.stock-grants-tax-tier-list{flex-direction:column;gap:.35rem;display:flex}.stock-grants-tax-tier{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:#ffffff08;align-items:center;gap:.75rem;width:100%;padding:.5rem .65rem;transition:background .15s,border-color .15s;display:flex}.stock-grants-tax-tier:hover{border-color:var(--border-muted);background:#ffffff12}.stock-grants-tax-tier--active{border-color:var(--accent-secondary);background:#10b98114}.stock-grants-tax-tier-rate{font-size:var(--fs-md);color:var(--accent-secondary);min-width:2.5rem;font-weight:700}.stock-grants-tax-tier-info{flex-direction:column;gap:.1rem;display:flex}.stock-grants-tax-tier-label{font-size:var(--fs-sm);color:#f1f5f9;font-weight:500}.stock-grants-tax-tier-desc{font-size:var(--fs-xs);color:var(--text-secondary)}.stock-company-add-btn{font-size:var(--fs-base);color:var(--accent-primary);border-radius:var(--radius-sm);cursor:pointer;background:#3b82f61a;border:1px dashed #3b82f666;align-items:center;gap:.35rem;padding:.4rem .85rem;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.stock-company-add-btn:hover{border-color:var(--accent-primary);background:#3b82f62e}.stock-companies-list{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.stock-company-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.stock-company-header{background:#ffffff08;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.stock-company-collapse-btn{color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:none;flex-shrink:0;padding:.1rem .25rem}.stock-company-collapse-btn:hover{color:var(--text-secondary)}.stock-company-name-input{border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-base);cursor:text;background:#ffffff08;flex:1;min-width:0;padding:.15rem .35rem;font-weight:600;transition:border-color .15s,background .15s}.stock-company-name-input:hover{border-color:var(--border-muted);background:#ffffff0a}.stock-company-name-input:focus{color:var(--text-primary);border-color:var(--accent-primary);background:#3b82f60f;outline:none}.stock-company-remove-btn{color:var(--text-muted);font-size:var(--fs-md);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;flex-shrink:0;padding:.1rem .3rem;line-height:1;transition:color .2s,background .2s}.stock-company-remove-btn:hover{color:var(--danger);background:#ef44441a}.stock-company-body{flex-direction:column;padding:.85rem 1rem 1rem;display:flex}.stock-grant-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.35rem}.stock-grant-summary-row{font-size:var(--fs-base);align-items:flex-start;gap:.6rem;display:flex}.stock-grant-row-content{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.stock-grant-row-value{color:var(--accent-secondary);font-size:var(--fs-base);white-space:nowrap;align-self:center;margin-left:auto;font-weight:500}.stock-grant-total-row{border-top:1px solid var(--border-subtle);margin-top:.25rem;padding-top:.25rem}.stock-grants-value-header{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;justify-content:flex-end;margin-bottom:.15rem;display:flex}.stock-grant-row-name{font-size:var(--fs-base);color:var(--text-secondary);font-weight:600}.stock-grant-row-meta{font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.stock-grant-progress-bar{border-radius:var(--radius-xs);vertical-align:middle;background:#ffffff1a;flex-shrink:0;width:72px;height:5px;display:inline-block;overflow:hidden}.stock-grant-progress-fill{background:var(--accent-secondary);border-radius:var(--radius-xs);min-width:2px;height:100%;display:block}.stock-grant-edit-btn{color:var(--text-muted);font-size:var(--fs-base);cursor:pointer;border-radius:var(--radius-xs);opacity:0;background:0 0;border:none;margin-left:auto;padding:.15rem .35rem;transition:opacity .15s,color .15s}.stock-grant-summary-row:hover .stock-grant-edit-btn{opacity:1}.stock-grant-edit-btn:hover{color:var(--accent-primary)}.stock-grant-edit-form{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#00000026;margin:.25rem 0;padding:.6rem .75rem}.stock-grant-add-btn{font-size:var(--fs-sm);color:var(--accent-primary);border-radius:var(--radius-sm);cursor:pointer;background:#3b82f614;border:1px dashed #3b82f64d;align-self:flex-start;align-items:center;gap:.3rem;margin:.4rem 0 .25rem;padding:.3rem .6rem;transition:background .2s;display:inline-flex}.stock-grant-add-btn:hover{background:#3b82f626}.stock-grant-add-form{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#00000026;flex-direction:column;gap:.5rem;margin:.5rem 0;padding:.6rem .75rem;display:flex}.stock-grant-paste-toggle{font-size:var(--fs-sm);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;padding:.25rem .65rem;transition:background .15s,color .15s,border-color .15s}.stock-grant-paste-toggle--active{color:var(--accent-primary);background:#3b82f626;border-color:#3b82f666}.stock-grant-rsu-paste-label{font-size:var(--fs-sm);color:var(--text-secondary)}.stock-grant-rsu-textarea{width:100%;min-height:110px;font-size:var(--fs-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical;box-sizing:border-box;background:#0003;padding:.5rem .65rem;font-family:monospace}.stock-grant-rsu-textarea:focus{border-color:#3b82f680;outline:none}.stock-grant-rsu-preview{font-size:var(--fs-base);border-radius:var(--radius-sm);background:#10b9811a;border:1px solid #10b98140;padding:.35rem .5rem}.stock-grant-rsu-preview-ok{color:var(--accent-secondary)}.stock-grant-rsu-error{font-size:var(--fs-sm);color:var(--danger-soft);border-radius:var(--radius-sm);background:#f871711a;border:1px solid #f8717140;padding:.3rem .5rem}.stock-grant-rsu-actions{gap:.5rem;display:flex}.stock-grants-empty{font-size:var(--fs-base);color:var(--text-muted);margin:.5rem 0 0}.stock-grants-next-vest{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:.5rem;margin:0 0 .35rem;display:flex}.stock-grants-next-vest-label{color:var(--text-secondary);text-transform:uppercase;font-weight:600;font-size:var(--fs-xs);letter-spacing:.06em}.mortgage-input{box-sizing:border-box;border:1px solid var(--border-muted);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-primary);font-size:var(--fs-md);background:#00000040;padding:.5rem .65rem;font-weight:500;transition:border-color .2s}.mortgage-input:focus{border-color:var(--accent-primary);outline:none}.mortgage-input:disabled{opacity:.7;cursor:not-allowed}.mortgage-input::placeholder{color:var(--text-muted);opacity:.7}.mortgage-input-inline{max-width:8rem;font-weight:600}.mortgage-payoff-grid{flex-wrap:wrap;gap:1rem 1.5rem;margin-top:.5rem;display:flex}.mortgage-detail-input{width:9rem}.mortgage-payoff-grid>div{flex-direction:column;gap:.15rem;display:flex}.mortgage-mini-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.mortgage-value{font-size:var(--fs-md);color:var(--text-primary);font-weight:600}.mortgage-payoff-result{font-size:var(--fs-lg)!important;color:var(--accent-gold)!important;margin-top:.75rem!important}.mortgage-payoff-sep:before{content:" · ";opacity:.7}.mortgage-left-col{flex-direction:column;gap:.25rem;display:flex}.mortgage-left-col .mortgage-equity-summary:first-child{border-top:none;margin-top:0;padding-top:0}.mortgage-payment-breakdown{max-width:340px;margin-bottom:.75rem}.mortgage-payoff-calc{flex-direction:column;gap:.15rem;display:flex}.mortgage-balance-project{border-top:1px solid var(--border-subtle);margin-top:1rem;margin-bottom:.25rem;padding-top:.75rem}.mortgage-balance-chart{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:.75rem}.mortgage-balance-chart .mortgage-balance-project-header{margin-bottom:.5rem}.mortgage-balance-project-header{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.mortgage-future-toggle{color:var(--text-muted);cursor:pointer;font-size:var(--fs-xs);opacity:.7;background:0 0;border:none;padding:0;line-height:1}.mortgage-future-toggle:hover{opacity:1}.mortgage-balance-project-row{flex-wrap:wrap;gap:1rem;display:flex}.mortgage-balance-project-col{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0003;flex-direction:column;flex:1;gap:.5rem;min-width:200px;padding:1rem 1.25rem;display:flex}.mortgage-balance-project-col .stat-label{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:.15rem}.mortgage-balance-project-col .stat-value,.mortgage-balance-project-col .mortgage-equity-value{font-size:var(--fs-lg);color:var(--text-primary);font-weight:600}.mortgage-balance-project-col .progress-text{font-size:var(--fs-base);color:var(--text-muted)}.mortgage-balance-project-col .mortgage-future-payoff-result{color:var(--accent-gold);font-size:var(--fs-md)}.mortgage-future-extra-input{width:100%;max-width:160px;margin:.15rem 0}.mortgage-future-extra-wrap{display:block}.mortgage-sync-checkbox{border-top:1px solid var(--border-subtle);font-size:var(--fs-base);color:var(--text-muted);cursor:pointer;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.5rem;display:flex}.mortgage-sync-checkbox input[type=checkbox]{accent-color:var(--accent-primary);width:1rem;height:1rem}.mortgage-balance-project-slider{margin-top:.25rem}.mortgage-interest-saved{color:var(--text-muted);margin-top:.25rem}.mortgage-interest-saved strong{color:var(--accent-primary)}.mortgage-equity-summary{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:.75rem}.mortgage-payment-bar{width:100%;margin-top:.75rem;margin-bottom:0}.mortgage-payment-breakdown-legend{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.mortgage-payment-legend-row{align-items:center;gap:.5rem;display:flex}.mortgage-payment-legend-dot{border-radius:var(--radius-xs);flex-shrink:0;width:12px;height:12px}.mortgage-payment-legend-label{font-size:var(--fs-base);color:var(--text-secondary)}.mortgage-payment-legend-pct{font-size:var(--fs-base);color:var(--text-muted);margin-left:auto}.mortgage-payment-legend-value{font-size:var(--fs-base);color:var(--text-primary);text-align:right;min-width:4.5rem;font-weight:600}.mortgage-payoff-results{min-height:5rem;margin-top:.5rem}.mortgage-sliders{border-top:1px solid var(--border-subtle);flex-direction:column;gap:1.25rem;margin-top:1rem;padding-top:1rem;display:flex}.mortgage-slider-row{cursor:pointer;flex-direction:column;gap:.35rem;display:flex}.mortgage-slider-label{font-size:var(--fs-base);color:var(--text-muted);font-weight:500}.mortgage-slider{appearance:none;background:var(--border-muted);border-radius:var(--radius-xs);outline:none;width:100%;height:8px}.mortgage-slider:disabled{opacity:.7;cursor:not-allowed}.mortgage-slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg, var(--accent-gold), #e59b0a);cursor:pointer;border:2px solid #fff3;border-radius:50%;width:16px;height:16px;margin-top:-4px;box-shadow:0 2px 6px #0000004d}.mortgage-slider::-webkit-slider-runnable-track{border-radius:var(--radius-xs);background:var(--border-muted);height:8px}.mortgage-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent-primary)}.mortgage-slider::-moz-range-thumb{background:linear-gradient(135deg, var(--accent-gold), #e59b0a);cursor:pointer;border:2px solid #fff3;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0000004d}.mortgage-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent-primary)}.mortgage-equity-value{color:var(--accent-secondary)!important}.coast-fire-card{grid-column:1/-1;min-width:0;padding:1.25rem 1.5rem}.coast-fire-header{align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.coast-fire-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:2rem 1rem;display:flex}.coast-fire-empty-title{font-size:var(--fs-base);color:var(--text-secondary);margin:0 0 .4rem;font-weight:600}.coast-fire-empty-body{font-size:var(--fs-base);color:var(--text-muted);max-width:28ch;margin:0;line-height:1.5}.coast-fire-header h2{font-size:var(--fs-md);color:var(--text-secondary);letter-spacing:.02em;margin:0;font-weight:600}.coast-fire-hint{font-size:var(--fs-sm);color:var(--text-muted)}.coast-fire-age-row{align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.coast-fire-age-input{text-align:center;width:4.5rem!important;font-size:var(--fs-md)!important;padding:.3rem .5rem!important}.coast-fire-metrics{grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1rem;display:grid}.coast-fire-comparison{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;margin-top:1.25rem;padding:1rem}.coast-fire-comparison-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.coast-fire-comparison-item{border-radius:var(--radius-sm);background:#ffffff05;padding:.75rem}.coast-fire-comparison-fire{border-left:3px solid var(--accent-secondary)}.coast-fire-comparison-coast{border-left:3px solid var(--accent-gold,#f59e0b)}.coast-fire-comparison-delta{border-left:3px solid var(--text-muted)}.coast-fire-status{border-radius:var(--radius-md);font-size:var(--fs-base);align-items:flex-start;gap:.6rem;margin-top:.9rem;padding:.75rem 1rem;line-height:1.5;display:flex}.coast-fire-achieved{color:var(--text-primary);background:linear-gradient(135deg,#10b9811a 0%,#10b9810a 100%);border:1px solid #10b98140}.coast-fire-pending{border:1px solid var(--border-muted);color:var(--text-secondary);background:#ffffff08}.coast-fire-status-icon{font-size:var(--fs-base);flex-shrink:0;margin-top:.1rem}.coast-fire-achieved .coast-fire-status-icon{color:var(--accent-primary)}.progress-fill-gold{background:linear-gradient(90deg, var(--accent-gold) 0%, #fbbf24 50%, #fcd34d 100%);box-shadow:0 0 12px #f59e0b66}.affordability-card{grid-column:1/-1;min-width:0;padding:1.25rem 1.5rem}.affordability-title{font-size:var(--fs-md);letter-spacing:.02em;color:var(--text-primary);margin:0 0 .5rem;font-weight:600}.affordability-subtitle{font-size:var(--fs-base);color:var(--text-muted);margin:0 0 1rem}.affordability-stats{flex-wrap:wrap;gap:1rem 3rem;display:flex}.affordability-stat-label{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-weight:600;display:block}.affordability-stat-value{font-size:var(--fs-xl);color:var(--text-primary);white-space:nowrap;font-weight:700}.affordability-stat-value--accent{color:var(--accent-primary)}.affordability-stat-unit{font-size:var(--fs-base);color:var(--text-muted);font-weight:500}.affordability-expenses-toggle{cursor:pointer;width:100%;color:var(--text-secondary);font-size:var(--fs-base);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;margin-top:1.25rem;padding:.75rem 0 .5rem;font-family:inherit;display:flex}.affordability-expenses-toggle:hover{color:var(--text-primary)}.affordability-expenses-chevron{font-size:var(--fs-xs);opacity:.7}.fund-returns-card{grid-column:1/-1;min-width:0;padding:1.25rem 1.5rem}.fund-returns-title{font-size:var(--fs-md);color:var(--text-secondary);letter-spacing:.02em;margin:0 0 .5rem;font-weight:600}.fund-returns-header{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin:-1.25rem -1.5rem;padding:1.25rem 1.5rem;display:flex}.fund-returns-header:hover .fund-returns-toggle{color:var(--accent-primary)}.fund-returns-header .fund-returns-toggle{margin-right:3.5rem}.fund-returns-header .fund-returns-title{margin:0}.fund-returns-toggle{font-size:var(--fs-base);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;transition:color .15s}.fund-returns-toggle:hover{color:var(--accent-primary)}.fund-returns-toast{border-radius:var(--radius-md);color:var(--accent-secondary);font-size:var(--fs-base);background:#10b98133;border:1px solid #10b98166;margin-bottom:1rem;padding:.6rem 1rem;font-weight:500;animation:.3s ease-out fundReturnsToastIn}@keyframes fundReturnsToastIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fund-returns-table-wrap{margin-bottom:1rem;overflow-x:auto}.fund-returns-table{border-collapse:collapse;width:100%;min-width:260px;font-size:var(--fs-base)}.fund-returns-table th,.fund-returns-table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:.5rem 1rem .5rem 0}.fund-returns-table th{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.fund-returns-table td{color:var(--text-primary)}.fund-returns-symbol{color:var(--accent-secondary);font-weight:600}.fund-returns-link{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #10b98166;text-decoration:underline #10b98166;transition:text-decoration-color .15s}.fund-returns-link:hover{-webkit-text-decoration-color:var(--accent-secondary);text-decoration-color:var(--accent-secondary)}.fund-returns-link:after{content:" ↗";opacity:.6;font-size:.7em}.fund-returns-value-cell{cursor:pointer}.fund-returns-actions{flex-wrap:wrap;gap:.5rem;display:flex}.fund-returns-disclaimer{font-size:var(--fs-xs);color:var(--text-muted);margin:.75rem 0 0}.expense-calculator-card{grid-column:1/-1;min-width:0;padding:1.25rem 1.5rem}.expense-calculator-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}@media (width<=640px){.expense-calculator-header{flex-direction:column;align-items:flex-start}}.expense-calculator-title{font-size:var(--fs-md);color:var(--text-secondary);letter-spacing:.02em;margin:0;font-weight:600}.expense-calculator-header-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.expense-view-controls,.expense-sort-controls{align-items:center;gap:.25rem;display:flex}.expense-sort-label{font-size:var(--fs-sm);color:var(--text-muted);margin-right:.15rem}.expense-view-btn,.expense-sort-btn{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);padding:.35rem .65rem;font-weight:500;transition:all .2s}.expense-view-btn:hover,.expense-sort-btn:hover{background:#ffffff0f;border-color:#ffffff1f}.expense-view-btn.active,.expense-sort-btn.active{color:var(--accent-secondary);background:#10b98126;border-color:#10b9814d}.btn-expenses-edit,.btn-expenses-save{border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);border:1px solid;padding:.4rem .9rem;font-weight:500;transition:all .2s}.btn-expenses-edit{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border-subtle)}.btn-expenses-edit:hover{background:#ffffff0f;border-color:#ffffff1f}.btn-expenses-save{color:var(--accent-secondary);background:#10b9811f;border-color:#10b98140}.btn-expenses-save:hover{background:#10b98133;border-color:#10b98166}.expenses-readonly-text{color:var(--text-primary);font-size:var(--fs-base)}.expenses-table-wrap{margin-bottom:.75rem;overflow-x:auto}.expenses-table{border-collapse:collapse;width:100%;min-width:340px;font-size:var(--fs-base)}.expenses-table th,.expenses-table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:.5rem .75rem .5rem 0}.expenses-table th{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.expenses-table tbody tr:last-child td{border-bottom:none}.expenses-table tfoot tr td{border-bottom:none;border-top:2px solid var(--border-muted);padding-top:.75rem}.expenses-name-input{min-width:120px}.expenses-amount-cell{align-items:center;gap:.25rem;display:flex}.expenses-type-select{width:100%;min-width:4rem;font-size:var(--fs-base);padding:.4rem .5rem}.expenses-remove-btn{width:28px;height:28px;color:var(--danger-soft);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-lg);background:#f871711f;border:1px solid #f871714d;justify-content:center;align-items:center;line-height:1;transition:all .2s;display:flex}.expenses-remove-btn:hover{background:#f8717140;border-color:#f8717180}.expenses-total-row td:first-child{color:var(--text-secondary);font-weight:600}.btn-expenses-add{color:var(--accent-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);background:#10b9811f;border:1px solid #10b98140;padding:.4rem .9rem;font-weight:500;transition:all .2s}.btn-expenses-add:hover{background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.btn-expenses-paste{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);padding:.4rem .9rem;font-family:inherit;font-weight:500;transition:background .2s,border-color .2s}.btn-expenses-paste:hover{background:#ffffff0f;border-color:#ffffff1f}.expense-paste-csv{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#00000008;margin-top:.75rem;padding:.75rem}.expense-paste-textarea{width:100%;min-height:100px;font-size:var(--fs-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-primary);resize:vertical;margin-bottom:.5rem;padding:.5rem .75rem;font-family:ui-monospace,monospace;display:block}.expense-paste-textarea::placeholder{color:var(--text-muted)}.expense-paste-textarea:focus{border-color:var(--accent-primary);outline:none}.expense-import-error{color:var(--danger-soft);font-size:var(--fs-base);align-self:center;margin-left:.5rem}.expense-groups-bar{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#00000008;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1rem;padding:.6rem .75rem;display:flex}.expense-groups-label{font-size:var(--fs-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.expense-group-chip{border-radius:var(--radius-sm);background:#3b82f61a;border:1px solid #3b82f640;align-items:center;gap:.25rem;padding:.25rem .4rem;display:inline-flex}.expense-group-chip-input{font-size:var(--fs-base);color:var(--text-primary);background:0 0;border:none;min-width:80px;padding:.15rem .25rem}.expense-group-chip-input:focus{border-radius:var(--radius-xs);outline:none;box-shadow:0 0 0 2px #3b82f666}.expense-group-chip-input::placeholder{color:var(--text-muted)}.expense-group-chip-remove{width:20px;height:20px;color:var(--danger-soft);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-md);background:#f8717133;border:none;justify-content:center;align-items:center;line-height:1;display:flex}.expense-group-chip-remove:hover{background:#f8717159}.expense-group-chip-drag-over{background:#3b82f633!important;border-color:#3b82f680!important}.expense-group-add-btn{color:var(--accent-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-base);background:#10b9811f;border:1px dashed #10b98166;padding:.35rem .7rem;font-weight:500;transition:all .2s}.expense-group-add-btn:hover{background:#10b98133;border-style:solid;border-color:#10b98199}.expense-group-header-row{background:#00000005}.expense-group-header-row td{vertical-align:bottom;border-bottom:1px solid var(--border-subtle)!important;padding-top:.6rem!important;padding-bottom:.35rem!important}.expense-group-header-row:first-child td{padding-top:.5rem!important}.expense-group-header{font-weight:700;font-size:var(--fs-base);color:var(--accent-secondary);letter-spacing:.03em}.expense-group-header-label{margin-right:.5rem}.expense-group-header-hint{font-size:var(--fs-xs);color:var(--text-muted);opacity:.8;font-weight:400}.expense-group-header-total-cell{text-align:right}.expense-group-header-total{font-size:var(--fs-sm);color:var(--accent-secondary);font-weight:600}.expense-group-header-drag-over{background:#3b82f626!important;border-color:#3b82f666!important}.expense-group-header-drag-over .expense-group-header{color:#3b82f6}.expense-group-header-reorder-over td{border-top:2px solid var(--accent-secondary)!important}.expense-group-header-drag-handle{color:var(--text-muted);cursor:grab;font-size:var(--fs-md);opacity:.5;margin-right:.5rem}.expense-group-header-drag-handle:hover{opacity:1}.expense-group-chip-reorder-over{box-shadow:-2px 0 0 var(--accent-secondary);border-color:var(--accent-secondary)!important}.expense-group-chip-drag-handle{color:var(--text-muted);cursor:grab;font-size:var(--fs-base);opacity:.5;-webkit-user-select:none;user-select:none;margin-right:.2rem}.expense-group-chip-drag-handle:hover{opacity:1}.expense-drag-handle-cell{vertical-align:middle;width:32px;padding:.35rem .5rem!important}.expense-drag-handle{cursor:grab;width:24px;height:24px;color:var(--text-muted);font-size:var(--fs-base);border-radius:var(--radius-xs);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.expense-drag-handle:hover{color:var(--text-secondary);background:#0000000d}.expense-drag-handle:active{cursor:grabbing}.expense-row-dragging{opacity:.5}.expenses-group-select{width:100%;min-width:5rem;font-size:var(--fs-base);padding:.4rem .5rem}.expense-actions-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex;position:relative}.savings-history-delete{color:var(--text-muted);cursor:pointer;font-size:var(--fs-md);opacity:.5;background:0 0;border:none;padding:0 .25rem;line-height:1;transition:opacity .15s}.savings-history-delete:hover{opacity:1;color:var(--danger-soft)}.btn-retry{background:var(--gradient-progress);color:var(--bg-base);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--fs-base);border:none;margin-top:.75rem;padding:.5rem 1rem;transition:all .2s}.btn-retry:hover{box-shadow:0 4px 20px var(--accent-glow);transform:translateY(-2px)}.chat-fab{background:var(--gradient-progress);width:56px;height:56px;color:var(--bg-base);cursor:pointer;box-shadow:0 4px 20px var(--accent-glow);z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.chat-fab:hover{box-shadow:0 6px 28px var(--accent-glow);transform:scale(1.05)}.chat-popup{z-index:99;width:min(420px,100vw - 2rem);max-height:calc(100vh - 7rem);animation:.25s ease-out fadeIn;position:fixed;bottom:5rem;right:1.5rem}.chatbot{flex-direction:column;width:100%;min-width:0;height:520px;max-height:calc(100vh - 8rem);padding:0;display:flex;overflow:hidden}.chatbot-header{border-bottom:1px solid var(--border-subtle);font-weight:600;font-size:var(--fs-md);color:var(--text-primary);justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.chatbot-header-actions{align-items:center;gap:.5rem;display:flex}.btn-close-chat{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:color .2s,background .2s;display:flex}.btn-close-chat:hover{color:var(--text-primary);background:#ffffff14}.btn-refresh-chat{color:var(--accent-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);background:#10b9811f;border:1px solid #10b98140;padding:.3rem .6rem;font-weight:500;transition:all .2s}.btn-refresh-chat:hover{background:#10b98133;border-color:#10b98166}.chatbot-starters{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:.5rem;padding:0 1rem .75rem;display:flex}.btn-starter{color:var(--accent-secondary);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--fs-base);background:#10b9811f;border:1px solid #10b98140;padding:.45rem .85rem;transition:all .2s}.btn-starter:hover:not(:disabled){background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.btn-starter:disabled{opacity:.5;cursor:not-allowed}.chatbot-messages{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:0 0}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:var(--radius-pill)}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.chatbot-empty{color:var(--text-muted);font-size:var(--fs-base);line-height:1.6}.msg-user{background:var(--gradient-progress);max-width:85%;color:var(--bg-base);font-size:var(--fs-base);border-radius:14px 14px 4px;align-self:flex-end;padding:.75rem 1rem;font-weight:500;animation:.3s fadeIn;box-shadow:0 2px 12px #10b9814d}.msg-assistant{border:1px solid var(--border-subtle);max-width:85%;font-size:var(--fs-base);word-break:break-word;background:#ffffff0a;border-radius:14px 14px 14px 4px;align-self:flex-start;padding:.75rem 1rem;line-height:1.5;animation:.3s fadeIn}.msg-assistant p{margin:0 0 .5em}.msg-assistant p:last-child{margin-bottom:0}.msg-assistant ul,.msg-assistant ol{margin:.5em 0;padding-left:1.5em}.msg-assistant li{margin:.25em 0}.msg-assistant strong{font-weight:600}.msg-assistant a{color:var(--accent-primary);text-decoration:none}.msg-assistant a:hover{text-decoration:underline}.msg-assistant code{border-radius:var(--radius-sm);background:#0000004d;padding:.15em .4em;font-family:ui-monospace,SF Mono,Monaco,Cascadia Mono,monospace;font-size:.88em}.msg-assistant pre{border-radius:var(--radius-sm);background:#0000004d;margin:.5em 0;padding:.75rem 1rem;overflow-x:auto}.msg-assistant pre code{background:0 0;padding:0;font-size:.85em;line-height:1.5}.msg-loading{border:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--fs-base);background:#ffffff0a;border-radius:14px 14px 14px 4px;padding:.75rem 1rem}.msg-loading:after{content:"...";animation:1s ease-in-out infinite pulse-soft}.chatbot-input-wrap{border-top:1px solid var(--border-subtle);padding:1rem}.chatbot-form{gap:.5rem;display:flex}.chatbot-input{border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);background:#0000004d;flex:1;padding:.7rem 1rem;transition:all .2s}.chatbot-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.chatbot-input::placeholder{color:var(--text-muted)}.btn-send{background:var(--gradient-progress);color:var(--bg-base);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--fs-base);border:none;padding:.7rem 1.2rem;transition:all .2s}.btn-send:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.chatbot-error{color:var(--danger-soft);font-size:var(--fs-base)}@media (width<=1023px){.app-main{--app-pad-x:1rem;padding:1rem var(--app-pad-x) 5rem;grid-template-columns:1fr;gap:1.25rem}.dashboard{padding:1.25rem}.chat-popup{width:min(400px,100vw - 2rem);max-height:calc(100vh - 7rem);bottom:5rem;right:1rem}.chatbot{height:min(520px,100vh - 2rem);min-height:320px}.mortgage-payoff-layout{flex-direction:column}.mortgage-payoff-form{flex:auto;width:100%;min-width:0}}@media (width<=768px){.dashboard,.expense-calculator-card,.accounts-card{padding:1.25rem}.settings-section{padding:1rem 1.25rem}.settings-page-content{padding:1.25rem 0 3.5rem}}@media (width<=599px){.app-header{padding:.75rem 1rem}.app-header h1{font-size:var(--fs-md)}.app-header-feedback{font-size:var(--fs-xs);padding:.3rem .55rem}.app-main{--app-pad-x:.75rem;padding:.75rem var(--app-pad-x) 5rem;gap:1rem}.settings-inline-actions-inner{padding-inline:.75rem}.dashboard,.chatbot{padding:1rem}.chat-fab{width:52px;height:52px;bottom:1rem;right:1rem}.chat-popup{width:min(360px,100vw - 1.5rem)}.chatbot{min-height:280px}.chatbot-header{font-size:var(--fs-base);padding:.75rem 1rem}.chatbot-messages{gap:.75rem;padding:.75rem}.chatbot-input-wrap{padding:.75rem}.chatbot-starters{gap:.4rem;padding:0 .75rem .5rem}.stat-value,.retirement-time-primary{font-size:var(--fs-xl)}.msg-user,.msg-assistant{max-width:92%;font-size:var(--fs-base);padding:.6rem .85rem}.app-nav{border-bottom:none;border-top:1px solid var(--border-subtle);padding:0;padding-bottom:env(safe-area-inset-bottom);z-index:200;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0e14f5;justify-content:space-around;position:fixed;inset:auto 0 0}.app-nav-tab{font-size:var(--fs-xs);border-top:2px solid #0000;border-bottom:none;flex-direction:column;flex:1;gap:.2rem;padding:.5rem .25rem}.app-nav-tab.active{border-bottom-color:#0000;border-top-color:var(--accent-primary)}.app-nav-tab svg{width:20px;height:20px}.sub-nav{scrollbar-width:none;flex-wrap:nowrap;margin:0 -.75rem;padding:0 .75rem;overflow-x:auto}.sub-nav::-webkit-scrollbar{display:none}.sub-nav--more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000)}.sub-nav--more-left{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 2.5rem),#0000)}.sub-nav--more-left.sub-nav--more-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}.sub-nav-tile{flex-shrink:0}.app-main{padding-bottom:calc(64px + env(safe-area-inset-bottom) + 1rem)}.chat-fab{bottom:calc(64px + env(safe-area-inset-bottom) + .75rem)}.chat-popup{bottom:calc(64px + env(safe-area-inset-bottom) + 5rem);max-height:calc(100vh - 64px - env(safe-area-inset-bottom) - 7rem)}.retirement-banner{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.retirement-banner-right{align-items:flex-start;width:100%}.expenses-table{min-width:0}.expenses-table[data-editing=false] th:nth-child(3),.expenses-table[data-editing=false] td:nth-child(3){display:none}.settings-page-content{padding:.75rem 0 5rem}.settings-section{border-radius:var(--radius-md);padding:1rem}.settings-label{min-width:7rem;font-size:var(--fs-base)}}@media (width<=420px){.chat-popup{border-radius:16px 16px 0 0;width:100%;left:0;right:0}}.accounts-card{grid-column:1/-1;min-width:0;padding:1.5rem}.accounts-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.accounts-header-right{align-items:center;gap:.75rem;display:flex}.accounts-add-form{margin-top:1rem}.accounts-total{font-size:var(--fs-lg);color:var(--accent-secondary);font-weight:700}.accounts-owner-breakdown{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.accounts-owner-pill{border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-subtle);align-items:center;gap:.4rem;padding:.35rem .7rem;display:flex}.accounts-owner-pill-name{font-size:var(--fs-sm);color:var(--text-muted)}.accounts-owner-pill-value{font-size:var(--fs-base);color:var(--text-primary);font-weight:700}.accounts-bar{border-radius:var(--radius-xs);background:var(--border-muted);height:6px;margin-bottom:1.25rem;display:flex;overflow:hidden}.accounts-bar-segment{height:100%;transition:width .3s}.accounts-bar-segment--401k,.accounts-type-badge--401k{background:var(--accent-primary);color:#052e16}.accounts-bar-segment--roth-ira,.accounts-type-badge--roth-ira{color:#eff6ff;background:#3b82f6}.accounts-bar-segment--ira,.accounts-type-badge--ira{color:#1e1b4b;background:#a78bfa}.accounts-bar-segment--brokerage,.accounts-type-badge--brokerage{background:var(--accent-gold);color:#451a03}.accounts-bar-segment--hsa,.accounts-type-badge--hsa{color:#1e1b4b;background:#818cf8}.accounts-bar-segment--savings,.accounts-type-badge--savings{color:#082f49;background:#38bdf8}.accounts-bar-segment--checking,.accounts-type-badge--checking{background:var(--text-secondary);color:#0f172a}.accounts-bar-segment--other,.accounts-type-badge--other{color:#f1f5f9;background:#64748b}.accounts-bar-segment--metals,.accounts-type-badge--metals{color:#042f2e;background:#2dd4bf}.accounts-bar-segment{cursor:pointer}.accounts-bar-tooltip{background:var(--card-bg,#1e293b);border:1px solid var(--border,#334155);border-radius:var(--radius-sm);pointer-events:none;z-index:1000;white-space:nowrap;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 4px 12px #0006}.accounts-bar-tooltip-type{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#94a3b8);font-weight:600}.accounts-bar-tooltip-value{font-size:var(--fs-md);color:var(--text,#f1f5f9);font-weight:700}.accounts-bar-tooltip-pct{font-size:var(--fs-sm);color:var(--text-secondary,#94a3b8)}.accounts-groups{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:.75rem;display:grid}.accounts-group{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;padding:.75rem .85rem}.accounts-group-header{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.accounts-group-total{font-size:var(--fs-base);color:var(--text-muted);margin-left:auto;font-weight:500}.accounts-type-badge{font-size:var(--fs-xs);letter-spacing:.02em;border-radius:var(--radius-pill);padding:.2rem .6rem;font-weight:700}.accounts-item{border-radius:var(--radius-sm);font-size:var(--fs-base);grid-template-columns:1fr auto auto auto;align-items:center;gap:.5rem;padding:.3rem 0;display:grid}.accounts-item--editing{grid-template-columns:1fr auto auto auto auto}.accounts-item-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.accounts-item-owner{font-size:var(--fs-xs);color:var(--text-muted);border-radius:var(--radius-xs);white-space:nowrap;background:#63b3ed14;border:1px solid #63b3ed1f;padding:.1rem .4rem}.accounts-item-date{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.accounts-item-balance{color:var(--text-primary);text-align:right;white-space:nowrap;font-weight:600}.settings-accounts-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.settings-account-row{border-radius:var(--radius-sm);border:1px solid var(--border-muted);background:#0f141c66;align-items:center;gap:.6rem;min-width:0;padding:.6rem .7rem;display:flex}.settings-account-info{flex-direction:column;flex:auto;gap:.2rem;min-width:0;display:flex}.settings-account-name{font-size:var(--fs-base);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.settings-account-meta{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.settings-account-badge{font-size:var(--fs-xs);letter-spacing:.03em;border-radius:var(--radius-pill);color:var(--text-secondary);text-transform:uppercase;background:#63b3ed1f;border:1px solid #63b3ed33;padding:.1rem .4rem;font-weight:700}.settings-account-badge--owner{color:#fbbf24;text-transform:none;background:#f59e0b1a;border-color:#f59e0b33}.settings-section-header-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.settings-section-header-row .settings-section-title{margin-bottom:0}.settings-action-btn{font-size:var(--fs-sm);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;padding:.3rem .65rem;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.settings-action-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff1a}.settings-action-btn:disabled{opacity:.5;cursor:not-allowed}.settings-account-balance{font-size:var(--fs-base);color:var(--accent-secondary);white-space:nowrap;font-weight:600}.settings-account-form{flex-direction:column;gap:.4rem;display:flex}.settings-account-form-row{align-items:center;gap:.5rem;display:flex}.settings-account-form-row--bottom{flex-wrap:wrap}.settings-account-input-name{flex:100%;min-width:0}.settings-account-select{flex:90px;min-width:0}.settings-account-input-date{flex:110px;min-width:0}.settings-account-input-balance{flex:90px;min-width:0}.settings-account-date{font-size:var(--fs-xs);color:var(--text-muted);border-radius:var(--radius-xs);border:1px solid var(--border-muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0a;max-width:100%;padding:.1rem .35rem;overflow:hidden}.account-history-card{grid-column:1/-1;min-width:0;padding:1.5rem}.account-history-list{flex-direction:column;gap:.25rem;margin-top:1rem;display:flex}.account-history-month{border-top:1px solid var(--border-muted);margin-top:.4rem;padding-top:.6rem}.account-history-month:first-child{border-top:none;margin-top:0;padding-top:0}.account-history-month-header{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.account-history-month-label{font-size:var(--fs-base);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.account-history-month-total{font-size:var(--fs-md);color:var(--text);margin-left:auto;font-weight:700}.account-history-month-stats{flex-wrap:wrap;align-items:center;gap:.35rem;padding:.1rem 0 .2rem;display:flex}.account-history-stat{font-size:var(--fs-xs);color:var(--text-secondary,#94a3b8)}.account-history-stat-sep{font-size:var(--fs-xs);color:var(--text-muted,#64748b)}.account-history-stat--unreachable{color:var(--text-muted,#64748b);font-style:italic}.account-history-delta{font-size:var(--fs-xs);border-radius:var(--radius-xs);margin-left:.15rem;padding:.1rem .35rem;font-weight:600}.account-history-delta--good{color:var(--accent-primary);background:#10b9811f}.account-history-delta--bad{color:var(--danger-soft);background:#f871711f}.account-history-delta--neutral{color:var(--text-muted);background:#ffffff0f}.net-delta-tooltip-wrapper{align-items:center;display:inline-flex;position:relative}.net-delta-tooltip{background:var(--card-bg,#1e293b);border:1px solid var(--border,#334155);border-radius:var(--radius-sm);z-index:1000;white-space:nowrap;flex-direction:column;gap:4px;min-width:180px;padding:8px 12px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.net-delta-tooltip-wrapper:hover .net-delta-tooltip{display:flex}.net-delta-tooltip-row{font-size:var(--fs-sm);justify-content:space-between;gap:16px;display:flex}.net-delta-tooltip-label{color:var(--text-secondary,#94a3b8)}.net-delta-tooltip-value{color:var(--text,#f1f5f9);font-variant-numeric:tabular-nums;font-weight:600}.net-delta-tooltip-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);margin-bottom:2px;font-weight:700}.account-history-row{border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.3rem .5rem;display:flex}.account-history-row:hover{background:#ffffff08}.account-history-name{font-size:var(--fs-base);color:var(--text-primary);flex:auto}.account-history-balance{font-size:var(--fs-base);color:var(--accent-secondary);white-space:nowrap;font-weight:600}.account-history-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.scenarios-page{flex-direction:column;grid-column:1/-1;gap:1.25rem;animation:.4s fadeIn;display:flex}.option-list-card{padding:1.25rem}.option-list-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.option-list-title{font-size:var(--fs-md);color:var(--text-primary);margin:0 0 .2rem}.option-list-sub{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.option-list-actions{align-items:center;gap:.75rem;display:flex}.option-link-btn{color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:.25rem}.option-link-btn:hover{color:var(--text-primary)}.option-group+.option-group{margin-top:.75rem}.option-group-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem;font-weight:600}.option-rows{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.option-row{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);align-items:center;gap:.5rem;min-width:0;padding:.45rem .4rem .45rem .6rem;transition:background .15s,border-color .15s;display:flex}.option-row.on{background:#10b9810f;border-color:#10b98133}.option-switch{border-radius:var(--radius-pill);border:1px solid var(--border-muted);cursor:pointer;background:#8b949e33;flex-shrink:0;width:34px;height:20px;padding:0;transition:background .15s,border-color .15s;position:relative}.option-switch-knob{background:var(--text-secondary);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.option-switch[aria-checked=true]{background:var(--accent-primary);border-color:var(--accent-primary)}.option-switch[aria-checked=true] .option-switch-knob{background:#fff;transform:translate(14px)}.option-switch:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.option-row-main{text-align:left;cursor:pointer;min-width:0;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;padding:0;display:flex}.option-row-label{color:var(--text-secondary);font-size:var(--fs-base);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.option-row .scenario-action-btn{flex-shrink:0;padding:.25rem}.option-row.on .option-row-label{color:var(--text-primary)}.option-row-label,.option-row-value{max-width:100%}.option-row-value{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;overflow:hidden}.option-kind-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:.5rem;display:grid}.option-kind-btn{border-radius:var(--radius-sm);border:1px solid var(--border-muted);text-align:left;cursor:pointer;font:inherit;background:0 0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.6rem .75rem;display:flex}.option-kind-btn:hover:not(:disabled){border-color:var(--accent-primary);background:#10b9810f}.option-kind-btn:disabled{opacity:.45;cursor:not-allowed}.option-kind-title{color:var(--text-primary);font-size:var(--fs-base);font-weight:600}.option-kind-hint{color:var(--text-muted);font-size:var(--fs-sm)}.option-kind-groups{flex-direction:column;gap:1.5rem;display:flex}.option-form-tax{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;min-height:2.4rem;display:flex}.option-form-taxrate{font-size:var(--fs-base);color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.option-form-taxrate .scenario-input-prefix{width:6rem}.option-form-taxrate .scenario-form-input{text-align:right;min-width:0;padding-left:.75rem}.option-form-check{font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer;flex-shrink:0;align-items:center;gap:.4rem;display:flex}.option-form-check input{width:14px;height:14px;accent-color:var(--accent-primary)}.option-form-hint{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.scenario-new-btn{background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.scenario-new-btn:hover{background:var(--accent-secondary)}.scenario-new-btn:disabled{opacity:.4;cursor:not-allowed}.scenario-card{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.proj-table-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.proj-table-title{font-size:var(--fs-md);color:var(--text-secondary);margin:0;font-weight:500}.proj-table-toggle{background:var(--surface-secondary);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.proj-toggle-btn{font-size:var(--fs-sm);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:.3rem .75rem;font-weight:500;transition:background .15s,color .15s}.proj-toggle-btn.active{background:var(--surface-card);color:var(--text-primary)}.proj-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.proj-table{border-collapse:collapse;font-size:var(--fs-base);white-space:nowrap;width:100%}.proj-thead-metrics th{text-align:right;font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);padding:.4rem .75rem}.proj-th-date{background:var(--surface-card);z-index:2;min-width:80px;position:sticky;left:0;text-align:left!important}.proj-th{text-align:right}.proj-row{border-bottom:1px solid var(--border-subtle);transition:background .1s}.proj-row:hover,.proj-row:hover .proj-td-date{background:var(--surface-secondary)}.proj-row-fire,.proj-row-fire .proj-td-date{background:#10b9810f}.proj-td,.proj-td-date,.proj-td-dim{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary);padding:.4rem .75rem}.proj-td-date{text-align:left;background:var(--surface-card);z-index:1;color:var(--text-secondary);font-weight:500;position:sticky;left:0}.proj-td-dim{color:var(--text-muted)}.proj-td-pct{color:var(--text-muted);font-size:var(--fs-sm)}.proj-pct-done{font-weight:700;color:var(--accent-secondary)!important}.scenario-card-color-bar{flex-shrink:0;width:100%;height:3px}.scenario-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.9rem 1rem .6rem;display:flex}.scenario-card-name{font-size:var(--fs-base);color:var(--text-primary);font-weight:700}.scenario-card-desc{font-size:var(--fs-sm);color:var(--text-muted);margin-top:.15rem}.scenario-action-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:.3rem;transition:background .15s,color .15s;display:flex}.scenario-action-btn:hover{color:var(--text-primary);background:#ffffff0f}.scenario-action-delete:hover{color:#f43f5e}.scenario-chips{border-top:1px solid var(--border-muted);flex-wrap:wrap;gap:.35rem;padding:.6rem 1rem;display:flex}.scenario-chip{font-size:var(--fs-xs);border-radius:var(--radius-pill);white-space:nowrap;padding:.15rem .5rem;font-weight:500}.scenario-chip.positive{color:var(--accent-secondary);background:#10b9811a;border:1px solid #10b98133}.scenario-chip.negative{color:#fb7185;background:#f43f5e1a;border:1px solid #f43f5e33}.scenario-delta-pos{color:var(--accent-secondary)}.scenario-delta-neg{color:#fb7185}.scenario-form-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.scenario-form{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;box-shadow:0 24px 64px #0009}.scenario-form-header{border-bottom:1px solid var(--border-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.scenario-form-header h3{font-size:var(--fs-md);color:var(--text-primary);margin:0;font-weight:700}.scenario-form-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:.25rem;transition:color .15s;display:flex}.scenario-form-close:hover{color:var(--text-primary)}.scenario-form-body{flex-direction:column;flex:1;gap:1.25rem;padding:1rem 1.5rem;display:flex;overflow-y:auto}.scenario-form-section{flex-direction:column;gap:.75rem;display:flex}.scenario-form-section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-muted);padding-bottom:.25rem;font-weight:700}.scenario-form-row{flex-direction:column;gap:.35rem;display:flex}.scenario-form-label{font-size:var(--fs-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.scenario-toggle-hint{font-size:var(--fs-xs);color:var(--text-muted);font-weight:400}.scenario-form-input{border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-base);background:#ffffff0a;outline:none;width:100%;padding:.5rem .75rem;transition:border-color .15s}.scenario-form-input:focus{border-color:var(--accent-primary)}.scenario-form-input::placeholder{color:var(--text-muted)}.scenario-input-prefix{border:1px solid var(--border-muted);border-radius:var(--radius-sm);background:#ffffff0a;align-items:center;gap:0;transition:border-color .15s;display:flex;overflow:hidden}.scenario-input-prefix:focus-within{border-color:var(--accent-primary)}.scenario-input-prefix>span{font-size:var(--fs-base);color:var(--text-muted);flex-shrink:0;padding:.5rem .6rem}.scenario-input-prefix .scenario-form-input{background:0 0;border:none;border-radius:0;flex:1;padding-left:0;padding-right:0}.scenario-input-prefix .scenario-form-input:focus{border-color:#0000}.scenario-input-suffix{font-size:var(--fs-sm);color:var(--text-muted);flex-shrink:0;padding:.5rem .6rem}.scenario-toggle-row{cursor:pointer;font-size:var(--fs-base);color:var(--text-secondary);align-items:center;gap:.6rem;padding:.1rem 0;display:flex}.scenario-toggle-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary);flex-shrink:0}.scenario-toggle-row .scenario-toggle-hint{text-align:right;margin-left:auto}.scenario-color-picker{gap:.5rem;display:flex}.scenario-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;flex-shrink:0;width:26px;height:26px;transition:transform .15s,border-color .15s}.scenario-color-swatch:hover{transform:scale(1.15)}.scenario-color-swatch:focus-visible{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent-primary)}.scenario-color-swatch.selected{border-color:#fff;transform:scale(1.15);box-shadow:0 0 0 2px #ffffff4d}.scenario-preview{border-radius:var(--radius-md);background:#10b9810d;border:1px solid #10b98133;padding:.9rem 1rem}.scenario-preview-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-primary);margin-bottom:.65rem;font-weight:700}.scenario-preview-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.scenario-preview-label{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:.2rem}.scenario-preview-value{font-size:var(--fs-md);color:var(--text-primary);font-weight:700}.scenario-preview-delta{font-size:var(--fs-xs);min-height:1em;margin-top:.1rem;font-weight:600}.what-if-impact{font-size:var(--fs-sm);color:var(--text-secondary);margin:.5rem 0 0}.what-if-impact strong{color:var(--accent-secondary);font-weight:600}.what-if-summary{font-size:var(--fs-sm);color:var(--text-secondary);margin:1rem 0 0}.what-if-summary strong{color:var(--text-primary)}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.chart-view-toggle{gap:.375rem;display:flex}.chart-chip{font-size:var(--fs-xs);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;padding:.2rem .55rem;font-weight:400;transition:all .15s}.chart-chip.active{border-color:var(--accent-secondary);color:var(--accent-secondary);background:#34d3991f;font-weight:600}.chart-chip:disabled{opacity:.4;cursor:not-allowed}.chart-caption{font-size:var(--fs-sm);color:var(--text-secondary);margin:0 0 .75rem}.chart-caption strong{color:var(--text-primary)}.chart-caption-muted{color:var(--text-muted)}.chart-change-up{color:var(--accent-secondary);font-weight:600}.chart-change-down{color:var(--danger-soft);font-weight:600}.scenario-form-footer{border-top:1px solid var(--border-muted);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.scenario-btn-cancel{border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer;background:0 0;padding:.55rem 1.1rem;font-weight:600;transition:background .15s}.scenario-btn-cancel:hover{background:#ffffff0d}.scenario-btn-save{border-radius:var(--radius-sm);background:var(--accent-primary);color:#fff;font-size:var(--fs-base);cursor:pointer;border:none;padding:.55rem 1.25rem;font-weight:700;transition:background .15s,opacity .15s}.scenario-btn-save:hover{background:var(--accent-secondary)}.scenario-btn-save:disabled{opacity:.4;cursor:not-allowed}.landing{background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.lp-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-muted);background:#0a0a0feb;position:sticky;top:0}.lp-nav-inner{justify-content:space-between;align-items:center;max-width:1100px;height:56px;margin:0 auto;padding:0 1.5rem;display:flex}.lp-logo{font-size:var(--fs-md);letter-spacing:-.01em;align-items:center;gap:.45rem;font-weight:700;display:flex}.auth-logo{color:var(--text-primary);margin-bottom:1.25rem;text-decoration:none;display:inline-flex}.lp-nav-actions{align-items:center;gap:.6rem;display:flex}.lp-btn-ghost{border:1px solid var(--border-muted);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;background:0 0;padding:.45rem 1rem;font-weight:600;transition:border-color .15s,color .15s}.lp-btn-ghost:hover{border-color:var(--text-muted);color:var(--text-primary)}.lp-btn-primary{background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;border:none;align-items:center;gap:.35rem;padding:.45rem 1.1rem;font-weight:700;transition:background .15s;display:inline-flex}.lp-btn-primary:hover{background:var(--accent-secondary)}.lp-btn-lg{font-size:var(--fs-base);padding:.7rem 1.5rem}.lp-hero{text-align:center;padding:5rem 1.5rem 4rem}.lp-hero-inner{max-width:760px;margin:0 auto}.lp-hero-h1{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;line-height:1.1}.lp-gradient-text{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lp-hero-sub{font-size:var(--fs-md);color:var(--text-secondary);max-width:560px;margin:0 auto 2rem;line-height:1.65}.lp-hero-ctas{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:3rem;display:flex}.lp-preview{border:1px solid var(--border-muted);border-radius:var(--radius-md);text-align:left;overflow:hidden;box-shadow:0 20px 60px #0006}.lp-preview-bar{background:var(--bg-card);border-bottom:1px solid var(--border-muted);align-items:center;gap:.4rem;padding:.55rem 1rem;display:flex}.lp-preview-dot{border-radius:50%;width:12px;height:12px;display:block}.lp-preview-bar-title{font-size:var(--fs-sm);color:var(--text-muted);margin-left:.5rem}.lp-preview-cards{background:var(--bg-secondary);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;padding:1.25rem;display:grid}.lp-preview-card{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:1rem 1.1rem}.lp-preview-card--accent{border-color:#10b9814d}.lp-preview-label{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:.3rem;font-weight:600}.lp-preview-value{font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--text-primary);font-weight:800}.lp-preview-sub{font-size:var(--fs-xs);color:var(--text-muted);margin-top:.2rem}.lp-preview-prog-track{background:var(--border-muted);border-radius:var(--radius-xs);height:4px;margin-top:.5rem}.lp-preview-prog-fill{background:var(--accent-primary);border-radius:var(--radius-xs);height:4px}.lp-section{padding:5rem 1.5rem}.lp-section--dark{background:var(--bg-secondary)}.lp-section-inner{max-width:1100px;margin:0 auto}.lp-section-header{text-align:center;margin-bottom:3rem}.lp-section-header h2{letter-spacing:-.025em;margin:0 0 .75rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}.lp-section-header p{color:var(--text-secondary);font-size:var(--fs-md);margin:0}.lp-pricing-plans{max-width:640px;margin:0 auto}.lp-features-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.lp-feature-card{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:1.5rem}.lp-feature-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--accent-secondary);background:#10b9811a;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.lp-feature-card h3{font-size:var(--fs-md);margin:0 0 .5rem;font-weight:700}.lp-feature-card p{font-size:var(--fs-base);color:var(--text-secondary);margin:0;line-height:1.6}.lp-stats-strip{background:var(--bg-card);border-top:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:0;padding:1.5rem;display:flex}.lp-stat{text-align:center;padding:.5rem 2rem}.lp-stat-value{font-size:var(--fs-xl);color:var(--accent-secondary);font-weight:800}.lp-stat-label{font-size:var(--fs-sm);color:var(--text-muted);margin-top:.2rem}.lp-stat-divider{background:var(--border-muted);width:1px;height:36px}.lp-faq-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.lp-faq-item h4{font-size:var(--fs-base);margin:0 0 .5rem;font-weight:700}.lp-faq-item p{font-size:var(--fs-base);color:var(--text-secondary);margin:0;line-height:1.6}.lp-footer{background:var(--bg-card);border-top:1px solid var(--border-muted);padding:1.5rem}.lp-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;display:flex}.lp-footer-links{font-size:var(--fs-base);color:var(--text-muted);align-items:center;gap:1.25rem;display:flex}.lp-footer-links a{color:var(--text-muted);text-decoration:none}.lp-footer-links a:hover{color:var(--text-primary)}.account-growth-legend{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.4rem 1rem;margin:.75rem 0 .25rem;display:grid}.account-growth-legend-item{font-size:var(--fs-base);color:var(--text-secondary);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;min-width:0;margin:0 -.25rem;padding:.15rem .25rem;transition:opacity .15s,background .15s;display:flex}.account-growth-legend-item:hover{background:#ffffff0a}.account-growth-legend-item.is-hidden{opacity:.4}.account-growth-legend-item.is-hidden .account-growth-legend-dot{background:var(--text-muted)!important}.account-growth-legend-item.is-hidden .account-growth-legend-name{text-decoration:line-through}.account-growth-legend-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-growth-legend-dot{border-radius:var(--radius-xs);flex-shrink:0;width:18px;height:2.5px}.account-growth-legend-balance{color:var(--text-primary);flex-shrink:0;font-weight:600}.account-growth-legend-owner{color:var(--text-muted);font-size:var(--fs-sm)}.monte-carlo-card,.withdrawal-planner-card{grid-column:1/-1;padding:1.5rem 1.75rem}.mc-stats-row{text-align:center;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.25rem;display:grid}.mc-stat-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.mc-stat-value{font-size:var(--fs-2xl);color:var(--text-primary);font-weight:700;line-height:1.1}.mc-stat-sub{font-size:var(--fs-xs);color:var(--text-muted);margin-top:.2rem}.account-balance-table-card{grid-column:1/-1;min-width:0;padding:1.5rem 1.75rem}.account-balance-table-scroll{overflow-x:auto}.account-balance-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.abt-th{text-align:left;font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:.4rem .75rem;font-weight:600}.abt-th.abt-num-col{text-align:right}.abt-col-name{display:block}.abt-col-meta{font-size:var(--fs-xs);text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.7;margin-top:.15rem;font-weight:400;display:block}.abt-td{vertical-align:top;border-bottom:1px solid #ffffff0a;padding:.55rem .75rem}.abt-td.abt-num-col{text-align:right}.abt-row:last-child .abt-td{border-bottom:none}.abt-row:hover .abt-td{background:#ffffff06}.abt-month-col{white-space:nowrap;color:var(--text-secondary);min-width:90px}.abt-num-col{min-width:120px}.abt-cell{flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.abt-balance{color:var(--text-primary)}.abt-delta{font-size:var(--fs-xs)}.abt-delta--up{color:var(--accent-primary)}.abt-delta--down{color:var(--danger)}.abt-pct{font-size:var(--fs-xs);opacity:.85}.abt-empty{color:var(--text-muted)}.abt-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.abt-header .card-title{margin:0}.abt-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.abt-months-filter{width:auto;font-size:var(--fs-sm);padding:.3rem .5rem}.abt-account-col{white-space:nowrap;min-width:140px}td.abt-account-col{color:var(--text-secondary)}.abt-total-row .abt-td{border-top:1px solid var(--border-subtle);font-weight:600}.abt-total-row td.abt-account-col{color:var(--text-primary)}.abt-group-row .abt-td{border-bottom:none;padding:.6rem .75rem .25rem}.abt-group-row:not(:first-child) .abt-td{border-top:1px solid var(--border-subtle);padding-top:.75rem}.abt-group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.abt-input{text-align:right;width:110px;min-width:90px;font-size:var(--fs-base);padding:.3rem .5rem}.abt-input::placeholder{color:var(--text-muted);opacity:.6}.abt-month-input{width:135px;font-size:var(--fs-xs);padding:.25rem .4rem}.abt-edit-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.abt-edit-hint{font-size:var(--fs-xs);color:var(--text-muted)}.abt-edit-actions{gap:.5rem;margin-left:auto;display:flex}.abt-month-error{font-size:var(--fs-sm);color:var(--danger);margin-bottom:.6rem}.abt-month-head{align-items:center;gap:.35rem;display:inline-flex}.abt-month-remove{border-radius:var(--radius-xs);width:18px;height:18px;color:var(--text-muted);font-size:var(--fs-base);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.abt-month-remove:hover{color:var(--danger);background:#ef44441a;border-color:#ef444466}.abt-removed-note{font-size:var(--fs-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.6rem;margin:.6rem 0 0;display:flex}.abt-undo-btn{font-size:var(--fs-xs);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;padding:.15rem .5rem}.abt-undo-btn:hover{color:var(--text-primary);background:#ffffff1a}.abt-empty-state{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.5rem 0 .25rem;display:flex}.abt-empty-state p{font-size:var(--fs-base);color:var(--text-secondary);margin:0}.abt-history-wrap{margin-top:0}.abt-history-title{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .25rem;font-weight:600}.abt-history-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);margin:0 0 .6rem}.abt-history-subtitle a{color:var(--accent-secondary);text-decoration:none}.abt-history-subtitle a:hover{text-decoration:underline}.abt-history{flex-direction:column;display:flex}.abt-history-entry{font-size:var(--fs-base);color:var(--text-secondary);border-bottom:1px solid #ffffff0a;padding:.4rem 0}.abt-history-entry:last-child{border-bottom:none}.abt-history-entry>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.5rem;list-style:none;display:flex}.abt-history-entry>summary::-webkit-details-marker{display:none}.abt-history-when{color:var(--text-muted);white-space:nowrap}.abt-history-who{color:var(--text-primary);font-weight:600}.abt-history-what{color:var(--text-secondary)}.abt-history-detail{font-size:var(--fs-sm);color:var(--text-muted);margin:.3rem 0 0 1rem;padding:0;list-style:none}.abt-history-detail li{padding:.1rem 0}.transition-timeline{grid-column:1/-1;padding:1.75rem}.transition-timeline-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.transition-timeline-title{font-size:var(--fs-md);color:var(--text-primary);margin:0 0 .25rem;font-weight:600}.transition-timeline-subtitle{font-size:var(--fs-base);color:var(--text-muted);margin:0}.timeline-config-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer;white-space:nowrap;background:#ffffff0f;align-items:center;gap:.4rem;padding:.35rem .75rem;display:flex}.timeline-config-toggle:hover{color:var(--text-primary);background:#ffffff1a}.timeline-config-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff08;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.timeline-config-row{flex-direction:column;gap:.4rem;display:flex}.timeline-config-toggle-row{flex-direction:row;justify-content:space-between;align-items:center}.timeline-config-label{font-size:var(--fs-base);color:var(--text-secondary);justify-content:space-between;display:flex}.timeline-config-value{color:var(--accent-primary);font-weight:600}.timeline-config-slider{width:100%;accent-color:var(--accent-primary);cursor:pointer}.timeline-config-hints{font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;display:flex}.timeline-config-hint{font-size:var(--fs-sm);color:var(--accent-gold);border-radius:var(--radius-sm);background:#f59e0b14;border:1px solid #f59e0b33;margin:0;padding:.5rem .75rem}.timeline-toggle-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-base);cursor:pointer;background:#ffffff0f;padding:.3rem .75rem}.timeline-toggle-btn.active{color:var(--accent-primary);background:#10b98126;border-color:#10b98166}.timeline-track{flex-direction:column;display:flex}.timeline-milestone{gap:1rem;display:flex}.milestone-line-col{flex-direction:column;flex-shrink:0;align-items:center;width:20px;display:flex}.milestone-dot{border:2px solid #0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:.2rem}.milestone-dot--past{background:var(--accent-primary);border-color:var(--accent-primary)}.milestone-dot--active{background:var(--accent-gold);border-color:var(--accent-gold);box-shadow:0 0 8px #f59e0b80}.milestone-dot--upcoming{border-color:var(--text-muted);background:0 0}.milestone-connector{background:var(--border-subtle);flex:1;width:2px;min-height:1rem;margin:.35rem 0}.milestone-body{flex:1;min-width:0;padding-bottom:1.75rem}.milestone-meta{align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.milestone-badge{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-xs);padding:.15rem .5rem;font-weight:600}.milestone-badge--past{color:var(--accent-primary);background:#10b9811f}.milestone-badge--active{color:var(--accent-gold);background:#f59e0b1f}.milestone-badge--upcoming{color:var(--text-muted);background:#64748b1f}.milestone-date{font-size:var(--fs-sm);color:var(--text-muted)}.milestone-title{font-size:var(--fs-md);color:var(--text-primary);margin:0 0 .35rem;font-weight:600}.milestone-description{font-size:var(--fs-base);color:var(--text-secondary);margin:0;line-height:1.5}.milestone-missing{font-size:var(--fs-base);color:var(--accent-gold);margin:0}.milestone-progress{flex-direction:column;gap:.35rem;margin-top:.6rem;display:flex}.milestone-progress-track{border-radius:var(--radius-xs);background:#ffffff14;height:5px;overflow:hidden}.milestone-progress-fill{background:var(--gradient-progress);border-radius:var(--radius-xs);height:100%;transition:width .3s}.milestone-progress-label{font-size:var(--fs-sm);color:var(--text-secondary)}.metals-empty{font-size:var(--fs-base);color:var(--text-secondary);margin:.25rem 0 1rem;line-height:1.5}.metals-tiles{grid-template-columns:repeat(auto-fill,minmax(230px,280px));gap:.75rem;margin-bottom:1.1rem;display:grid}.metals-tile{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;flex-direction:column;gap:.45rem;padding:.85rem 1rem;display:flex}.metals-tile-head{align-items:center;gap:.5rem;display:flex}.metals-tile-name{font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);flex:1;font-weight:600}.metals-tile-value{font-size:var(--fs-xl);color:var(--text-primary);font-weight:600}.metals-tile-detail{align-items:center;gap:.4rem;display:flex}.metals-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.metals-ounces-input{text-align:right;width:4.5rem;padding:.25rem .5rem}.metals-unit-hint{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap}.metals-remove-btn{color:var(--text-muted);font-size:var(--fs-md);cursor:pointer;border-radius:var(--radius-xs);opacity:0;background:0 0;border:none;padding:.15rem .35rem;line-height:1;transition:opacity .15s}.metals-tile:hover .metals-remove-btn,.metals-remove-btn:focus-visible{opacity:1}.metals-remove-btn:hover{color:var(--danger);background:#ef44441a}.metals-add-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.metals-add-form select.mortgage-input{width:auto}.metals-add-form input.mortgage-input{width:9rem}.metals-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.metals-refresh-row{align-items:center;gap:.6rem;display:flex}.metals-asof{font-size:var(--fs-sm);color:var(--text-muted)}.stock-grants-asof{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;margin-left:.5rem}.metals-error{font-size:var(--fs-base);color:var(--danger);margin:.5rem 0 0}.metals-include-label{flex-wrap:wrap;margin:0 0 1rem}.metals-include-hint{font-size:var(--fs-sm);color:var(--text-muted)}@media (width<=640px){.metals-tiles{grid-template-columns:1fr}}.upgrade-page{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex}.upgrade-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-card);text-align:center;padding:2.5rem 2rem}.upgrade-panel h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0 0 .5rem;font-weight:700}.upgrade-subtitle{color:var(--text-secondary);font-size:var(--fs-base);margin:0 0 1.75rem;line-height:1.5}.email-verify-banner,.sync-notice-banner{color:var(--text-secondary);font-size:var(--fs-sm);text-align:center;background:#f59e0b1a;border-bottom:1px solid #f59e0b40;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;padding:.6rem 1rem;display:flex}.email-verify-banner strong{color:var(--text-primary);font-weight:600}.email-verify-banner button,.sync-notice-banner button{cursor:pointer;color:var(--accent-primary);font-size:var(--fs-sm);background:0 0;border:none;padding:0;font-weight:600}.email-verify-banner button:disabled{opacity:.6;cursor:default}.upgrade-notice{border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-base);background:#f59e0b1a;border:1px solid #f59e0b40;margin:0 0 1.25rem;padding:.75rem 1rem}.upgrade-error{border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);background:#ef44441a;border:1px solid #ef444440;margin:0 0 1.25rem;padding:.75rem 1rem}.upgrade-plans{text-align:left;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.upgrade-plan{border:1px solid var(--border-muted);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;padding:1.5rem 1.25rem;display:flex;position:relative}.upgrade-plan-featured{background:#10b9810f;border-color:#10b98166}.upgrade-plan-badge{background:var(--accent-primary);color:#04140d;font-size:var(--fs-xs);border-radius:var(--radius-pill);letter-spacing:.02em;padding:.2rem .55rem;font-weight:700;position:absolute;top:-.65rem;right:1rem}.upgrade-plan-name{font-size:var(--fs-base);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:600}.upgrade-plan-price{font-size:var(--fs-2xl);color:var(--text-primary);margin:0;font-weight:700}.upgrade-plan-period{font-size:var(--fs-base);color:var(--text-muted);margin-left:.2rem;font-weight:500}.upgrade-cta{border-radius:var(--radius-sm);background:var(--gradient-progress);color:#04140d;width:100%;font-weight:600;font-size:var(--fs-base);cursor:pointer;border:none;padding:.65rem 1rem;transition:opacity .15s}.upgrade-cta:hover{opacity:.9}.upgrade-cta:disabled{opacity:.6;cursor:default}.upgrade-fine-print{font-size:var(--fs-sm);color:var(--text-muted);margin:0 0 1rem}.upgrade-signout{color:var(--text-muted);cursor:pointer;font-size:var(--fs-base);opacity:.7;background:0 0;border:none;padding:.25rem}.upgrade-signout:hover{opacity:1}@media (width<=520px){.upgrade-plans{grid-template-columns:1fr}.upgrade-panel{padding:2rem 1.25rem}}.onboarding-panel{text-align:left}.onboarding-panel h1{font-size:var(--fs-xl)}.onboarding-steps{justify-content:center;gap:1.5rem;margin-bottom:1.75rem;display:flex}.onboarding-step-dot{opacity:.5;flex-direction:column;align-items:center;gap:.4rem;display:flex}.onboarding-step-dot.active,.onboarding-step-dot.done{opacity:1}.onboarding-step-num{border:1px solid var(--border-muted);width:26px;height:26px;color:var(--text-secondary);font-size:var(--fs-sm);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.onboarding-step-dot.active .onboarding-step-num{border-color:var(--accent-primary);color:var(--accent-secondary)}.onboarding-step-dot.done .onboarding-step-num{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-base)}.onboarding-step-label{font-size:var(--fs-xs);color:var(--text-muted);text-align:center}.onboarding-field{margin-bottom:1.25rem}.onboarding-field label{color:var(--text-secondary);font-size:var(--fs-base);margin-bottom:.375rem;display:block}.onboarding-input-wrap{align-items:center;gap:.5rem;display:flex}.onboarding-input-wrap .mortgage-input{box-sizing:border-box;flex:1;width:100%}.onboarding-input-unit{color:var(--text-muted);font-size:var(--fs-base)}.onboarding-fire-number{color:var(--text-primary);margin:0 0 1.5rem;font-size:2.25rem;font-weight:700}.onboarding-sliders{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:0}.onboarding-sliders .expected-return-selector{justify-content:space-between}.onboarding-sliders .expected-return-slider-wrap{flex:1;max-width:220px}.onboarding-actions{justify-content:space-between;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.onboarding-actions-left{align-items:center;gap:.5rem;display:flex}.onboarding-next{width:auto;padding-left:1.5rem;padding-right:1.5rem}@media (width<=520px){.onboarding-steps{gap:.85rem}.onboarding-fire-number{font-size:var(--fs-2xl)}.onboarding-actions{flex-wrap:wrap}}.breakdown-card{padding:1.25rem;scroll-margin-top:1rem;overflow:hidden}.breakdown-header{flex-wrap:wrap;gap:.75rem}.breakdown-picker{flex-wrap:wrap;gap:.4rem;display:flex}.breakdown-pill{border-radius:var(--radius-pill);border:1px solid var(--border-muted);color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;background:0 0;align-items:center;gap:.35rem;padding:.25rem .7rem;transition:background .15s,color .15s,border-color .15s;display:flex}.breakdown-pill-dot{background:var(--pill-color);border-radius:50%;width:8px;height:8px}.breakdown-pill.active{border-color:var(--pill-color);color:var(--text-primary);background:color-mix(in srgb, var(--pill-color) 14%, transparent)}.flow-pills{margin-bottom:.75rem}.flow-pills .breakdown-pill:not(.active) .breakdown-pill-dot,.flow-pills .breakdown-pill:not(.active) .flow-pill-dash{opacity:.35}.flow-pill-dash{border-top:2px dashed var(--pill-color);width:14px}.breakdown-headline{font-size:var(--fs-md);color:var(--text-secondary);margin:0 0 1.25rem;line-height:1.5}.breakdown-headline strong{color:var(--text-primary)}.breakdown-hero{border-top:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);flex-wrap:wrap;gap:.75rem 0;margin:0 0 1.5rem;padding:1rem 0;display:flex}.hero-stat{border-left:1px solid var(--border-muted);flex-direction:column;gap:.2rem;min-width:9rem;padding:0 1.5rem;display:flex}.hero-stat:first-child{border-left:none;padding-left:0}.hero-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.hero-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1.15}.hero-value.scenario-delta-pos{color:var(--accent-secondary)}.hero-value.scenario-delta-neg{color:#fb7185}.hero-sub{font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.hero-ages{flex-wrap:wrap;gap:0 .9rem;display:flex}.hero-ages-name{font-size:var(--fs-sm);color:var(--text-muted);font-weight:500}@media (width<=520px){.hero-stat{flex:45%;min-width:0;padding:0 .75rem}.hero-stat:nth-child(odd){border-left:none;padding-left:0}.hero-value{font-size:1.2rem}}.breakdown-section{margin-bottom:1.5rem}.breakdown-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-items:start;gap:0 2.5rem;display:grid}.breakdown-section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.6rem;font-weight:700}.breakdown-chart-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.breakdown-tooltip{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--fs-base);background:#121820f2;padding:10px;line-height:1.6}.breakdown-tooltip-label{color:var(--text-primary);margin-bottom:2px}.breakdown-tooltip-table{border-collapse:collapse;font-variant-numeric:tabular-nums}.breakdown-tooltip-table td{text-align:right;color:var(--text-primary);padding:1px 0 1px 16px}.breakdown-tooltip-table td:first-child{text-align:left;padding-left:0}.breakdown-tooltip-group td{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding-top:6px;font-weight:600}.breakdown-tooltip-group:first-child td{padding-top:0}.breakdown-tooltip-indent td:first-child{padding-left:10px}.breakdown-tooltip-total td{border-top:1px solid var(--border-subtle);padding-top:4px;font-weight:600}.breakdown-tooltip-dates{border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin-top:6px;padding-top:6px}.breakdown-tooltip-dates strong{color:var(--text-primary);font-weight:600}.breakdown-note{font-size:var(--fs-sm);color:var(--text-muted);margin:.4rem 0 0}.breakdown-table-scroll{max-height:420px;overflow-y:auto}.composition-bar{border-radius:var(--radius-pill);background:var(--surface-secondary,#94a3b81f);gap:2px;height:14px;display:flex;overflow:hidden}.composition-wrap{position:relative}.composition-seg{cursor:default;min-width:3px;height:100%;transition:opacity .15s}.composition-seg.dim,.composition-legend-item.dim{opacity:.35}.composition-tip{white-space:nowrap;font-size:var(--fs-sm);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);pointer-events:none;z-index:5;background:#121820f5;align-items:center;gap:.45rem;padding:.4rem .65rem;display:flex;position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);box-shadow:0 4px 16px #00000059}.composition-tip strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.composition-legend{flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:.85rem;display:flex}.composition-legend-item{font-size:var(--fs-sm);align-items:center;gap:.45rem;min-width:0;transition:opacity .15s;display:flex}.composition-dot{border-radius:2px;flex-shrink:0;width:9px;height:9px}.composition-legend-label{color:var(--text-secondary);white-space:nowrap}.composition-legend-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.composition-legend-pct{color:var(--text-muted);font-variant-numeric:tabular-nums}.lever-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.lever-row{font-size:var(--fs-sm);grid-template-columns:minmax(0,1.3fr) minmax(60px,1fr) auto;align-items:center;gap:.75rem;display:grid}.lever-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lever-bar-track{border-radius:var(--radius-pill);background:var(--surface-secondary,#94a3b81f);height:8px;overflow:hidden}.lever-bar{border-radius:var(--radius-pill);height:100%;display:block}.lever-bar-sooner{background:var(--accent-primary)}.lever-bar-later{background:#fb7185}.lever-value{white-space:nowrap;text-align:right;min-width:6.5em;color:var(--text-muted);font-weight:600}.scenario-preview-levers{border-top:1px solid #10b98133;margin-top:.85rem;padding-top:.75rem}.scenario-preview-levers .scenario-preview-label{margin-bottom:.5rem}@media (width<=520px){.lever-row{grid-template-columns:minmax(0,1fr) auto}.lever-bar-track{grid-area:2/1/auto/-1}}.mup-backdrop{z-index:1000;background:#04070bb3;justify-content:center;align-items:flex-start;padding:6vh 1rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.mup-panel{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-card);flex-direction:column;max-height:88vh;display:flex}.mup-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem .75rem;display:flex}.mup-title{font-size:var(--fs-lg);color:var(--text-primary);margin:0;font-weight:600}.mup-subtitle{font-size:var(--fs-base);color:var(--text-secondary);margin:.2rem 0 0}.mup-month{width:auto;font-size:var(--fs-base);padding:.4rem .6rem}.mup-body{flex:1;padding:0 1.25rem;overflow-y:auto}.mup-row{border-bottom:1px solid #ffffff0a;grid-template-columns:minmax(0,1fr) 100px 140px 110px;align-items:center;gap:.75rem;padding:.5rem 0;display:grid}.mup-row--head{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);padding-top:0;font-weight:600}.mup-row--head .mup-prev{font-size:inherit;color:inherit}.mup-row--total{border-top:1px solid var(--border-subtle);color:var(--text-primary);border-bottom:none;margin-top:.25rem;font-weight:600}.mup-num{text-align:right;font-variant-numeric:tabular-nums}.mup-group{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.85rem 0 .15rem;font-weight:700}.mup-account{cursor:pointer;flex-direction:column;min-width:0;display:flex}.mup-account-name{color:var(--text-primary);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mup-account-meta{color:var(--text-muted);font-size:var(--fs-xs)}.mup-prev{color:var(--text-secondary);font-size:var(--fs-base)}.mup-total{font-size:var(--fs-md)}.mup-amount{display:block;position:relative}.mup-dollar{color:var(--text-muted);font-size:var(--fs-base);pointer-events:none;position:absolute;top:50%;left:.6rem;transform:translateY(-50%)}.mup-input{text-align:right;font-size:var(--fs-base);font-variant-numeric:tabular-nums;padding:.4rem .6rem .4rem 1.3rem}.mup-input--same{color:var(--text-secondary)}.mup-amount--error .mup-input,.mup-amount--error .mup-input:focus{border-color:var(--danger)}.mup-delta{font-size:var(--fs-sm)}.mup-delta--up{color:var(--accent-primary)}.mup-delta--down{color:var(--danger-soft)}.mup-delta--flat{color:var(--text-muted)}.mup-contribution{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) 140px 110px;align-items:center;gap:.75rem;margin:1rem 0 .25rem;padding:.65rem .75rem;display:grid}.mup-contribution .mup-amount{grid-column:2}.mup-contribution-fixed{color:var(--text-primary);font-size:var(--fs-base);grid-column:2/4;justify-self:end;align-items:baseline;gap:.75rem;display:flex}.mup-contribution-fixed a{color:var(--accent-secondary);font-size:var(--fs-sm);text-decoration:none}.mup-contribution-fixed a:hover{text-decoration:underline}.mup-error{color:var(--danger-soft);font-size:var(--fs-sm);margin:.75rem 0 0}.mup-footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;padding:1rem 1.25rem 1.25rem;display:flex}.mup-footer-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.mup-count{font-size:var(--fs-sm);color:var(--text-muted);margin-right:.25rem}.mup-link-btn{color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.mup-link-btn:hover{color:var(--text-primary)}.mup-toast{z-index:1001;background:var(--bg-elevated);color:var(--accent-secondary);border-radius:var(--radius-pill);font-size:var(--fs-base);box-shadow:var(--shadow-card);border:1px solid #10b98166;padding:.55rem 1rem;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}@media (width<=600px){.mup-backdrop{padding:0}.mup-panel{border:none;border-radius:0;max-width:none;min-height:100%;max-height:none}.mup-row{grid-template-columns:minmax(0,1fr) 120px 80px}.mup-row>.mup-prev,.mup-row--total>.mup-prev{display:none}.mup-contribution{grid-template-columns:minmax(0,1fr) 120px}.mup-contribution-fixed{grid-column:2}.mup-footer{background:var(--bg-base);position:sticky;bottom:0}}
