:root{--bg-base: #0a0e14;--bg-elevated: rgba(18, 24, 32, .85);--bg-card: rgba(22, 28, 36, .6);--bg-card-hover: rgba(28, 36, 46, .7);--border-subtle: rgba(99, 179, 237, .15);--border-muted: rgba(139, 148, 158, .2);--accent-primary: #10b981;--accent-secondary: #34d399;--accent-glow: rgba(16, 185, 129, .25);--accent-gold: #f59e0b;--gradient-progress: linear-gradient(90deg, #10b981 0%, #34d399 50%, #6ee7b7 100%);--gradient-chart: linear-gradient(180deg, rgba(16, 185, 129, .4) 0%, rgba(16, 185, 129, 0) 100%);--gradient-header: linear-gradient(135deg, rgba(16, 185, 129, .08) 0%, rgba(245, 158, 11, .04) 100%);--text-primary: #f0f4f8;--text-secondary: #94a3b8;--text-muted: #64748b;--text-accent: #34d399;--shadow-card: 0 4px 24px -4px rgba(0, 0, 0, .4);--shadow-glow: 0 0 40px -8px rgba(16, 185, 129, .3)}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(16,185,129,.08) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(245,158,11,.04) 0%,transparent 50%);pointer-events:none;z-index:0}#root{min-height:100vh;position:relative;z-index:1}@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}}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.skeleton-label{height:.75rem;width:5rem;margin-bottom:.5rem}.skeleton-value{height:1.75rem;width:8rem}.skeleton-value-sm{height:1rem;width:6rem;margin-top:.35rem}.skeleton-progress{height:10px;width:100%;margin-top:.5rem}.skeleton-chart{height:200px;width:100%;margin-top:.75rem}.skeleton-header{height:1rem;width:6rem;margin-bottom:1rem}.skeleton-footer{height:.7rem;width:12rem;margin-top:1.25rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--gradient-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:10}.app-header h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sync-badge{font-size:.7rem;font-weight:500;padding:.2rem .5rem;border-radius:6px}.sync-badge-on{background:#10b98133;color:var(--accent-secondary);border:1px solid rgba(16,185,129,.3)}.sync-badge-off{color:var(--text-muted);background:#ffffff0d}.sync-badge-loading{color:var(--text-muted);animation:pulse-soft 1.5s ease-in-out infinite}.app-header .fire-badge{display:inline-flex;align-items:center;gap:.35rem;margin-left:.5rem;padding:.25rem .6rem;background:var(--gradient-progress);border-radius:999px;font-size:.7rem;font-weight:600;color:var(--bg-base);-webkit-text-fill-color:var(--bg-base);letter-spacing:.05em;text-transform:uppercase}.app-main{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding:1.5rem 1.5rem 5rem;max-width:100%;width:100%;animation:fadeIn .5s ease-out}@media (min-width: 1800px){.app-main{max-width:1400px;margin:0 auto}}.card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:var(--shadow-card);transition:all .3s ease}.card:hover{border-color:#10b98140;box-shadow:var(--shadow-card),var(--shadow-glow)}.dashboard{min-width:0;padding:1.5rem;grid-column:1 / -1}.chart-section .stat-label.chart-title{margin-bottom:.75rem;letter-spacing:.03em;text-transform:uppercase;font-size:.7rem}.coast-projection-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;margin-bottom:.5rem;width:100%;text-align:left}.coast-projection-toggle .stat-label{margin-bottom:0}.coast-projection-icon{color:var(--text-muted);font-size:1rem;line-height:1;transition:transform .3s ease}.coast-projection-icon.open{transform:rotate(0)}.coast-projection-icon.closed{transform:rotate(-90deg)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dashboard-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.settings-cog-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-muted);cursor:pointer;padding:.35rem;transition:color .15s,background .15s,border-color .15s}.settings-cog-btn:hover,.settings-cog-btn.active{color:var(--text-secondary);background:#ffffff0f;border-color:var(--border-muted)}.app-nav{display:flex;align-items:stretch;padding:0 1.25rem;background:#0a0e14eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav-tab{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-muted);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;flex-shrink:0}.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{flex-shrink:0;opacity:.7}.app-nav-tab.active svg{opacity:1}@keyframes slideInSettings{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-page{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-base);overflow-y:auto;z-index:50;animation:slideInSettings .2s ease-out}.settings-page-inline{position:static;background:none;overflow-y:visible;z-index:auto;animation:none;grid-column:1 / -1}.settings-page-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-back-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#63b3ed14;color:var(--text-secondary);border:1px solid var(--border-muted);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.settings-back-btn:hover{background:#63b3ed24;color:var(--text-primary);border-color:#63b3ed4d}.settings-edit-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.settings-inline-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.5rem 0}.settings-edit-btn{padding:.3rem .85rem;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.settings-edit-btn:hover{background:#63b3ed1a;color:var(--text-primary);border-color:#63b3ed4d}.settings-save-btn{padding:.3rem .85rem;border-radius:8px;border:1px solid rgba(16,185,129,.4);background:#10b9811f;color:#34d399;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.settings-save-btn:hover{background:#10b98138;border-color:#10b98199}.settings-cancel-btn{padding:.3rem .85rem;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.settings-cancel-btn:hover{background:#ffffff0d;color:var(--text-secondary)}.settings-value{color:var(--text-primary);font-size:.875rem;font-weight:500}.settings-value-empty{color:var(--text-muted);font-style:italic;font-weight:400}.settings-page-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.settings-page-content{padding:1.5rem 0;display:flex;flex-direction:column;gap:1.25rem}.settings-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.25rem 1.5rem}.settings-section-title{margin:0 0 .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.settings-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0}.settings-row+.settings-row{border-top:1px solid var(--border-muted)}.settings-subsection-title{margin:1.25rem 0 .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.settings-family-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px solid var(--border-muted)}.settings-family-name{flex:1 1 auto;font-size:.875rem;font-weight:500}.settings-family-dob{font-size:.8rem;flex-shrink:0}.settings-family-add{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.settings-family-input{flex:1 1 120px;min-width:0}.settings-field{display:flex;align-items:center;gap:.75rem}.settings-label{font-size:.85rem;color:var(--text-secondary);flex:1 1 auto;min-width:9rem}.settings-age-input{width:10rem}.settings-hint{font-size:.78rem;color:var(--text-muted);margin:.25rem 0 0}.dashboard-sliders{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.btn-refresh{padding:.4rem .9rem;background:#10b9811f;color:var(--accent-secondary);border:1px solid rgba(16,185,129,.25);border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.btn-refresh:hover:not(:disabled){background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.expected-return-selector{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.expected-return-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.expected-return-slider-wrap{display:flex;align-items:center;gap:.5rem;min-width:140px;flex-shrink:0}.expected-return-value{font-size:.8rem;font-weight:600;color:var(--accent-secondary);min-width:2.5rem}.expected-return-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:#ffffff14;border-radius:999px;outline:none}.expected-return-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-secondary);border-radius:50%;cursor:pointer;box-shadow:0 0 12px var(--accent-glow);transition:transform .15s ease}.expected-return-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.expected-return-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent-secondary);border:none;border-radius:50%;cursor:pointer;box-shadow:0 0 12px var(--accent-glow);transition:transform .15s ease}.expected-return-slider::-moz-range-thumb:hover{transform:scale(1.1)}.stat-label{margin:0;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.stat-value{margin:.25rem 0 0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.stat-value.highlight{color:var(--accent-secondary);text-shadow:0 0 30px var(--accent-glow)}.progress-track{margin-top:.5rem;height:10px;background:#ffffff0f;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-progress);border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px var(--accent-glow)}.progress-text{margin:.35rem 0 0;font-size:.8rem;color:var(--text-muted)}.retirement-banner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#10b98114,#f59e0b0d);border:1px solid rgba(16,185,129,.18);border-radius:14px;margin-bottom:1.25rem}.retirement-banner-unreachable{background:linear-gradient(135deg,#64748b0f,#64748b08);border-color:var(--border-muted)}.retirement-banner-left{display:flex;flex-direction:column;gap:.25rem;min-width:0}.retirement-banner-right{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;flex-shrink:0}.retirement-banner-sub{font-size:.78rem;color:var(--text-muted);margin:0}.retirement-banner-sub-hint{cursor:default;border-bottom:1px dashed var(--text-muted)}.retirement-banner-progress{display:flex;flex-direction:column;gap:.25rem;min-width:180px}.retirement-banner-progress .progress-track{margin:0}.retirement-time{margin-top:.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#10b9810f,#f59e0b0a);border:1px solid var(--border-subtle);border-radius:12px;display:flex;flex-direction:column;gap:.5rem}.retirement-time-primary{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--accent-secondary);text-shadow:0 0 30px var(--accent-glow);line-height:1.2}.retirement-time-unit{font-size:1rem;font-weight:500;color:var(--text-secondary);letter-spacing:0}.retirement-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}.retirement-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.22);border-radius:6px;font-size:.75rem;font-weight:600;color:var(--accent-gold);letter-spacing:.01em}.retirement-chip-muted{background:#ffffff0a;border-color:var(--border-muted);color:var(--text-muted);font-weight:400}.retirement-unreachable{margin-top:.5rem}.retirement-unreachable-label{font-size:1.1rem;font-weight:600;color:var(--text-muted);margin:0 0 .25rem}.what-if-section{padding:1rem 0;margin-top:.5rem}.what-if-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.what-if-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--text-secondary)}.what-if-result{font-size:1rem;font-weight:600;color:var(--accent-secondary)}.text-muted{font-weight:500;color:var(--text-muted)}.mortgage-payoff-card{min-width:0;padding:1.5rem;grid-column:1 / -1}.mortgage-payoff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mortgage-payoff-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.mortgage-payoff-layout{display:flex;flex-direction:row;gap:1.5rem;align-items:flex-start}.mortgage-payoff-form{flex:1 1 auto;min-width:0}.mortgage-payoff-top-row{display:flex;flex-direction:row;align-items:flex-start;gap:2rem;flex-wrap:wrap;width:100%}.mortgage-payoff-top-row .mortgage-payoff-numbers{flex:1 1 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-shrink:0;flex:1 1 280px;min-width:200px;max-width:400px;margin-top:0!important;padding-top:0!important;border-top:none!important;display:flex;flex-direction:column;gap:.75rem}.mortgage-sliders-inline .mortgage-slider-row{display:flex;flex-direction:row;align-items:center;gap:1rem}.mortgage-sliders-inline .mortgage-slider-label{flex-shrink:0;width:12rem}.mortgage-sliders-inline .mortgage-slider{flex:1 1 auto;min-width:80px}.mortgage-payoff-chart-section{display:flex;flex-direction:column;gap:1rem;flex-shrink:0;width:auto;min-width:220px}.mortgage-payoff-chart-section .mortgage-sliders{display:flex;flex-direction:column;gap:.75rem;margin-top:0;padding-top:0;border-top:none;align-items:stretch}.mortgage-payoff-chart-section .mortgage-sliders .mortgage-slider-row{display:flex;flex-direction:row;align-items:center;gap:1rem;min-width:0}.mortgage-payoff-chart-section .mortgage-sliders .mortgage-slider-label{flex-shrink:0;width:12rem}.mortgage-payoff-chart-section .mortgage-sliders .mortgage-slider{flex:1 1 auto;min-width:80px}.mortgage-payoff-chart{width:100%;min-width:0;height:280px;min-height:260px}.mortgage-payoff-chart-placeholder{width:100%;height:100%;min-height:260px;background:#0000001a;border-radius:8px}.stock-grants-card{min-width:0;padding:1.5rem;grid-column:1 / -1}.stock-grants-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.stock-grants-header-actions{display:flex;align-items:center;gap:.5rem}.btn-stock-edit,.btn-stock-save,.btn-stock-cancel{padding:.4rem .9rem;border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:500;border:1px solid;transition:all .2s ease}.btn-stock-edit{background:#3b82f61f;color:#3b82f6;border-color:#3b82f640}.btn-stock-edit:hover{background:#3b82f633;border-color:#3b82f666}.btn-stock-save{background:#10b9811f;color:var(--accent-secondary);border-color:#10b98140}.btn-stock-save:hover{background:#10b98133;border-color:#10b98166}.btn-stock-cancel{background:#ffffff0f;color:var(--text-muted);border-color:var(--border-muted)}.btn-stock-cancel:hover{background:#ffffff1a;color:var(--text-secondary)}.stock-grants-edit-panel{margin-bottom:1rem}.stock-grants-edit-hint{margin:0 0 .75rem;font-size:.75rem;color:var(--text-muted)}.stock-grants-summary{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.stock-grant-summary-row{display:flex;align-items:baseline;gap:.75rem;font-size:.9rem}.stock-grant-summary-name{font-weight:600;color:var(--text-secondary);min-width:5rem}.stock-grant-summary-detail{font-size:.85rem;color:var(--text-muted)}.stock-grants-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.stock-grants-hero{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;margin-bottom:1rem}.stock-grants-hero-stat{display:flex;flex-direction:column;gap:.15rem}.stock-grants-hero-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.stock-grants-hero-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stock-grants-hero-highlight{color:var(--accent-secondary)}.stock-grants-projected-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem}.stock-grants-projected-label{font-size:.8rem;color:var(--text-secondary)}.stock-grants-price-inline{width:6rem!important;padding:.4rem .6rem!important;font-size:.95rem!important}.stock-grants-collapsible{margin-bottom:1rem}.stock-grants-collapsible-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 0;font-size:.8rem;color:var(--text-muted);background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer}.stock-grants-collapsible-trigger:hover{color:var(--text-secondary)}.stock-grants-collapsible-icon{font-size:1rem;font-weight:600}.stock-grants-layout{display:flex;flex-direction:column;gap:.25rem}.stock-grants-inputs{display:flex;flex-direction:column;gap:1rem}.stock-grant-row{display:grid;grid-template-columns:6rem 1fr 1fr 6rem 4.5rem 4.5rem auto;align-items:end;gap:.75rem}@media (max-width: 768px){.stock-grant-row{grid-template-columns:1fr 1fr}.stock-grant-name-field{grid-column:1 / -1}.stock-grant-delete-btn{grid-column:2;justify-self:end}}.stock-grant-delete-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.25rem;line-height:1;color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.stock-grant-delete-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.stock-grants-add-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;padding:.5rem .75rem;font-size:.9rem;color:var(--accent-primary);background:#3b82f61f;border:1px dashed var(--accent-primary);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.stock-grants-add-btn:hover{background:#3b82f633;border-color:var(--accent-primary)}.stock-grant-name{font-size:.9rem;font-weight:600;color:var(--text-secondary);padding-bottom:.5rem}.stock-grant-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.stock-grant-input{max-width:8rem}.stock-grants-chart{width:100%;min-width:0}.stock-grants-vesting-chart{width:100%;min-width:0;padding-top:.5rem}.stock-grants-taxes{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.1rem}.stock-grants-taxes-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:.15rem;flex-wrap:wrap}.stock-grants-taxes-title{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.stock-grants-taxes-rate-row{display:flex;align-items:center;gap:.45rem}.stock-grants-taxes-table{display:flex;flex-direction:column;gap:.4rem}.stock-grants-taxes-row{display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:.5rem 2rem;font-size:.9rem;padding:.65rem .9rem;border-radius:8px;background:#ffffff08}.stock-grants-taxes-row--total{background:#ffffff0f;font-weight:600;font-size:.95rem;margin-top:.4rem;padding-top:.7rem;padding-bottom:.7rem;border-top:1px solid rgba(255,255,255,.08)}.stock-grants-taxes-row--vested{background:#10b9810d;border:1px solid rgba(16,185,129,.18);font-weight:500}.stock-grants-taxes-name{color:var(--text);font-weight:500}.stock-grants-taxes-cell{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;color:var(--text);white-space:nowrap}.stock-grants-taxes-cell--tax{color:#f87171}.stock-grants-taxes-cell--net{color:var(--accent-secondary)}.stock-grants-taxes-cell-label{font-size:.62rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.stock-grants-tax-learn-toggle{background:none;border:none;padding:.35rem 0;margin-bottom:1rem;font-size:.75rem;color:var(--text-muted);cursor:pointer;text-align:left;transition:color .15s}.stock-grants-tax-learn-toggle:hover{color:var(--text-secondary)}.stock-grants-tax-learn{margin-top:.5rem;padding:.75rem;background:#ffffff08;border-radius:8px;border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.6rem}.stock-grants-tax-learn-body{margin:0;font-size:.73rem;color:var(--text-secondary)}.stock-grants-tax-tier-list{display:flex;flex-direction:column;gap:.35rem}.stock-grants-tax-tier{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:7px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;width:100%}.stock-grants-tax-tier:hover{background:#ffffff12;border-color:var(--border-muted)}.stock-grants-tax-tier--active{border-color:var(--accent-secondary);background:#10b98114}.stock-grants-tax-tier-rate{font-size:1rem;font-weight:700;color:var(--accent-secondary);min-width:2.5rem}.stock-grants-tax-tier-info{display:flex;flex-direction:column;gap:.1rem}.stock-grants-tax-tier-label{font-size:.78rem;font-weight:500;color:#f1f5f9}.stock-grants-tax-tier-desc{font-size:.7rem;color:#94a3b8}.mortgage-payoff-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}.mortgage-payoff-inputs label{display:flex;flex-direction:column;gap:.25rem;min-width:0}.mortgage-input{width:100%;min-width:0;box-sizing:border-box;padding:.5rem .65rem;background:#00000040;border:1px solid var(--border-muted);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:500;transition:border-color .2s}.mortgage-input:focus{outline:none;border-color:var(--accent-primary)}.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{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:.5rem}.mortgage-payoff-grid>div{display:flex;flex-direction:column;gap:.15rem}.mortgage-mini-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.mortgage-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.mortgage-payoff-result{margin-top:.75rem!important;font-size:1.2rem!important;color:var(--accent-gold)!important}.mortgage-payoff-detail{font-weight:500;opacity:.85}.mortgage-payoff-sep:before{content:" · ";opacity:.7}.mortgage-equity-sliders-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.5rem 2rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.mortgage-left-col{display:flex;flex-direction:column;gap:.25rem}.mortgage-left-col .mortgage-equity-summary{margin-top:0;padding-top:0;border-top:none}.mortgage-payoff-calc{display:flex;flex-direction:column;gap:.15rem}.mortgage-balance-project{margin-top:1rem;margin-bottom:.25rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.mortgage-balance-project-header{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.mortgage-future-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.65rem;padding:0;line-height:1;opacity:.7}.mortgage-future-toggle:hover{opacity:1}.mortgage-balance-project-row{display:flex;flex-wrap:wrap;gap:1rem}.mortgage-balance-project-col{flex:1;min-width:200px;padding:1rem 1.25rem;background:#0003;border:1px solid var(--border-subtle);border-radius:10px;display:flex;flex-direction:column;gap:.5rem}.mortgage-balance-project-col .stat-label{font-size:.75rem;color:var(--text-muted);margin-bottom:.15rem}.mortgage-balance-project-col .stat-value,.mortgage-balance-project-col .mortgage-equity-value{font-size:1.15rem;font-weight:600;color:var(--text-primary)}.mortgage-balance-project-col .progress-text{font-size:.85rem;color:var(--text-muted)}.mortgage-balance-project-col .mortgage-future-payoff-result{color:var(--accent-gold);font-size:1.1rem}.mortgage-future-extra-input{width:100%;max-width:160px;margin:.15rem 0}.mortgage-future-extra-wrap{display:block}.mortgage-sync-checkbox{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-muted);cursor:pointer}.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:#10b981}.mortgage-equity-sliders-row .mortgage-sliders{margin-top:0;margin-left:auto;padding-top:0;border-top:none;flex:0 0 50%;min-width:180px;max-width:50%}.mortgage-equity-summary{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.mortgage-payoff-results{min-height:5rem;margin-top:.5rem}.mortgage-sliders{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:1.25rem}.mortgage-slider-row{display:flex;flex-direction:column;gap:.35rem;cursor:pointer}.mortgage-slider-label{font-size:.9rem;color:var(--text-muted);font-weight:500}.mortgage-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-muted);border-radius:4px;outline:none}.mortgage-slider:disabled{opacity:.7;cursor:not-allowed}.mortgage-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-4px;border-radius:50%;background:linear-gradient(135deg,var(--accent-gold),#e59b0a);cursor:pointer;box-shadow:0 2px 6px #0000004d;border:2px solid rgba(255,255,255,.2)}.mortgage-slider::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:var(--border-muted)}.mortgage-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--accent-gold),#e59b0a);cursor:pointer;box-shadow:0 2px 6px #0000004d;border:2px solid rgba(255,255,255,.2)}.mortgage-equity-value{color:var(--accent-secondary)!important}.coast-fire-card{min-width:0;padding:1.25rem 1.5rem;grid-column:1 / -1}.coast-fire-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.coast-fire-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;gap:.25rem}.coast-fire-empty-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin:0 0 .4rem}.coast-fire-empty-body{font-size:.8rem;color:var(--text-muted);margin:0;max-width:28ch;line-height:1.5}.coast-fire-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.coast-fire-hint{font-size:.75rem;color:var(--text-muted)}.coast-fire-age-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.coast-fire-age-input{width:4.5rem!important;padding:.3rem .5rem!important;font-size:.95rem!important;text-align:center}.coast-fire-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1rem}.coast-fire-status{display:flex;align-items:flex-start;gap:.6rem;margin-top:.9rem;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;line-height:1.5}.coast-fire-achieved{background:linear-gradient(135deg,#10b9811a,#10b9810a);border:1px solid rgba(16,185,129,.25);color:var(--text-primary)}.coast-fire-pending{background:#ffffff08;border:1px solid var(--border-muted);color:var(--text-secondary)}.coast-fire-status-icon{flex-shrink:0;font-size:.9rem;margin-top:.1rem}.coast-fire-achieved .coast-fire-status-icon{color:var(--accent-primary)}.progress-fill-gold{background:linear-gradient(90deg,#f59e0b,#fbbf24,#fcd34d);box-shadow:0 0 12px #f59e0b66}.affordability-card{min-width:0;padding:1.25rem 1.5rem;grid-column:1 / -1}.affordability-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;letter-spacing:.02em;color:var(--text-primary)}.affordability-subtitle{margin:0 0 1rem;font-size:.85rem;color:var(--text-muted)}.affordability-years{margin:0 0 1rem;font-size:.9rem;font-weight:500;color:var(--text-secondary)}.affordability-values{display:flex;gap:2rem;flex-wrap:wrap}.affordability-values .stat-value,.affordability-values .progress-text{margin:.15rem 0 0}.affordability-savings-target{margin:.75rem 0 0;font-size:.9rem;color:var(--text-muted);line-height:1.4}.affordability-expense-breakdown{margin-top:0}.affordability-expenses-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:.75rem 0 .5rem;cursor:pointer;color:var(--text-secondary);font-size:.85rem;font-family:inherit;text-align:left;margin-top:1.25rem}.affordability-expenses-toggle:hover{color:var(--text-primary)}.affordability-expenses-chevron{font-size:.7rem;opacity:.7}.affordability-expense-list{list-style:none;padding:0;margin:0 0 .75rem}.affordability-expense-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.3rem 0}.affordability-expense-item.covered{color:var(--text-secondary)}.affordability-expense-item.missing{color:var(--accent-gold)}.affordability-expense-name{flex:1}.affordability-expense-amount{font-weight:500;color:var(--text-primary)}.affordability-expense-savings{margin-left:.5rem;font-size:.8rem;font-weight:400;color:var(--text-muted)}.affordability-expense-item.missing .affordability-expense-amount{color:var(--accent-gold)}.affordability-expense-status{flex-shrink:0;width:1.25rem;font-weight:600}.affordability-expense-item.covered .affordability-expense-status{color:var(--accent-secondary)}.affordability-expense-item.missing .affordability-expense-status{color:var(--text-muted)}.affordability-progress-section{margin-top:.5rem}.affordability-progress-track{margin-top:.25rem}.affordability-progress-legend{display:flex;gap:1rem;margin-top:.35rem;font-size:.8rem;color:var(--text-muted)}.affordability-covered{color:var(--accent-secondary)}.affordability-missing{color:var(--accent-gold)}.fund-returns-card{min-width:0;padding:1.25rem 1.5rem;grid-column:1 / -1}.fund-returns-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.fund-returns-hint{margin:0 0 1rem;font-size:.8rem;color:var(--text-muted);line-height:1.4}.fund-returns-hint strong{color:var(--accent-secondary);font-weight:600}.fund-returns-toast{margin-bottom:1rem;padding:.6rem 1rem;background:#10b98133;border:1px solid rgba(16,185,129,.4);border-radius:10px;color:var(--accent-secondary);font-size:.9rem;font-weight:500;animation:fundReturnsToastIn .3s ease-out}@keyframes fundReturnsToastIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fund-returns-table-wrap{overflow-x:auto;margin-bottom:1rem}.fund-returns-table{width:100%;min-width:260px;border-collapse:collapse;font-size:.9rem}.fund-returns-table th,.fund-returns-table td{padding:.5rem 1rem .5rem 0;text-align:left;border-bottom:1px solid var(--border-subtle)}.fund-returns-table th{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.fund-returns-table td{color:var(--text-primary)}.fund-returns-symbol{font-weight:600;color:var(--accent-secondary)}.fund-returns-value-cell{cursor:pointer}.fund-returns-actions{display:flex;flex-wrap:wrap;gap:.5rem}.fund-returns-disclaimer{margin:.75rem 0 0;font-size:.7rem;color:var(--text-muted)}.expense-calculator-card{min-width:0;padding:1.25rem 1.5rem;grid-column:1 / -1}.expense-calculator-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.expense-calculator-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.expense-calculator-header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.expense-view-controls,.expense-sort-controls{display:flex;align-items:center;gap:.25rem}.expense-sort-label{font-size:.75rem;color:var(--text-muted);margin-right:.15rem}.expense-view-btn,.expense-sort-btn{padding:.35rem .65rem;border-radius:8px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary)}.expense-view-btn:hover,.expense-sort-btn:hover{background:#ffffff0f;border-color:#ffffff1f}.expense-view-btn.active,.expense-sort-btn.active{background:#3b82f626;color:#3b82f6;border-color:#3b82f64d}.btn-expenses-edit,.btn-expenses-save{padding:.4rem .9rem;border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;border:1px solid}.btn-expenses-edit{background:#3b82f61f;color:#3b82f6;border-color:#3b82f640}.btn-expenses-edit:hover{background:#3b82f633;border-color:#3b82f666}.btn-expenses-save{background:#10b9811f;color:var(--accent-secondary);border-color:#10b98140}.btn-expenses-save:hover{background:#10b98133;border-color:#10b98166}.expenses-readonly-text{color:var(--text-primary);font-size:.9rem}.expenses-table-wrap{overflow-x:auto;margin-bottom:.75rem}.expenses-table{width:100%;min-width:340px;border-collapse:collapse;font-size:.9rem}.expenses-table th,.expenses-table td{padding:.5rem .75rem .5rem 0;text-align:left;border-bottom:1px solid var(--border-subtle)}.expenses-table th{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.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{display:flex;align-items:center;gap:.25rem}.expenses-type-select{width:100%;min-width:4rem;padding:.4rem .5rem;font-size:.8rem}.expenses-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.3);border-radius:8px;cursor:pointer;font-size:1.25rem;line-height:1;transition:all .2s ease}.expenses-remove-btn:hover{background:#f8717140;border-color:#f8717180}.expenses-total-row td:first-child{font-weight:600;color:var(--text-secondary)}.btn-expenses-add{padding:.4rem .9rem;background:#10b9811f;color:var(--accent-secondary);border:1px solid rgba(16,185,129,.25);border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.btn-expenses-add:hover{background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.btn-expenses-paste{padding:.4rem .9rem;background:#8b5cf61f;color:#8b5cf6;border:1px solid rgba(139,92,246,.25);border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:500;font-family:inherit;transition:background .2s ease,border-color .2s ease}.btn-expenses-paste:hover{background:#8b5cf633;border-color:#8b5cf666}.expense-paste-csv{margin-top:.75rem;padding:.75rem;background:#00000008;border-radius:10px;border:1px solid var(--border-subtle)}.expense-paste-textarea{display:block;width:100%;min-height:100px;padding:.5rem .75rem;font-size:.85rem;font-family:ui-monospace,monospace;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-base);color:var(--text-primary);margin-bottom:.5rem;resize:vertical}.expense-paste-textarea::placeholder{color:var(--text-muted)}.expense-paste-textarea:focus{outline:none;border-color:#8b5cf680}.expense-import-error{color:#f87171;font-size:.8rem;margin-left:.5rem;align-self:center}.expense-groups-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1rem;padding:.6rem .75rem;background:#00000008;border-radius:10px;border:1px solid var(--border-subtle)}.expense-groups-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.expense-group-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .4rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);border-radius:8px}.expense-group-chip-input{border:none;background:transparent;font-size:.85rem;color:var(--text-primary);min-width:80px;padding:.15rem .25rem}.expense-group-chip-input:focus{outline:none}.expense-group-chip-input::placeholder{color:var(--text-muted)}.expense-group-chip-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#f8717133;color:#f87171;border:none;border-radius:6px;cursor:pointer;font-size:1rem;line-height:1}.expense-group-chip-remove:hover{background:#f8717159}.expense-group-chip-drag-over{background:#3b82f633!important;border-color:#3b82f680!important}.expense-group-add-btn{padding:.35rem .7rem;background:#10b9811f;color:var(--accent-secondary);border:1px dashed rgba(16,185,129,.4);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.expense-group-add-btn:hover{background:#10b98133;border-color:#10b98199;border-style:solid}.expense-group-header-row{background:#00000005}.expense-group-header-row td{border-bottom:1px solid var(--border-subtle)!important;padding-top:.6rem!important;padding-bottom:.35rem!important;vertical-align:bottom}.expense-group-header-row:first-child td{padding-top:.5rem!important}.expense-group-header{font-weight:700;font-size:.85rem;color:var(--accent-secondary);letter-spacing:.03em}.expense-group-header-label{margin-right:.5rem}.expense-group-header-hint{font-size:.7rem;font-weight:400;color:var(--text-muted);opacity:.8}.expense-group-header-total-cell{text-align:right}.expense-group-header-total{font-size:.78rem;font-weight:600;color:var(--accent-secondary)}.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{margin-right:.5rem;color:var(--text-muted);cursor:grab;font-size:1rem;opacity:.5}.expense-group-header-drag-handle:hover{opacity:1}.expense-group-chip-reorder-over{border-color:var(--accent-secondary)!important;box-shadow:-2px 0 0 var(--accent-secondary)}.expense-group-chip-drag-handle{color:var(--text-muted);cursor:grab;font-size:.9rem;opacity:.5;margin-right:.2rem;-webkit-user-select:none;user-select:none}.expense-group-chip-drag-handle:hover{opacity:1}.expense-drag-handle-cell{width:32px;padding:.35rem .5rem!important;vertical-align:middle}.expense-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:grab;color:var(--text-muted);font-size:.9rem;border-radius:4px;-webkit-user-select:none;user-select:none}.expense-drag-handle:hover{color:var(--text-secondary);background:#0000000d}.expense-drag-handle:active{cursor:grabbing}.expense-row-dragging{opacity:.5}.expense-group-subtotal{font-size:.75rem;font-weight:500;color:var(--text-muted)}.expenses-group-select{width:100%;min-width:5rem;padding:.4rem .5rem;font-size:.8rem}.expense-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;position:relative}.btn-expenses-add-group{padding:.4rem .9rem;background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.25);border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.btn-expenses-add-group:hover{background:#3b82f633;border-color:#3b82f666}.savings-history-section{margin-top:1.5rem;border-top:1px solid var(--border-subtle);padding-top:1.25rem}.savings-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.savings-history-form{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.savings-history-input{flex:1;min-width:0}.savings-history-empty{font-size:.8rem;color:var(--text-muted);text-align:center;padding:.75rem 0}.savings-history-month{margin-bottom:.75rem}.savings-history-month-header{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--border-subtle);margin-bottom:.25rem}.savings-history-month-label{font-size:.8rem;font-weight:600;color:var(--text-primary)}.savings-history-month-total{font-size:.8rem;font-weight:600;color:#34d399}.savings-history-row{display:flex;align-items:center;gap:.5rem;padding:.2rem 0 .2rem .5rem}.savings-history-account{flex:1;font-size:.8rem;color:var(--text-muted)}.savings-history-value{font-size:.8rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.savings-history-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .25rem;opacity:.5;transition:opacity .15s}.savings-history-delete:hover{opacity:1;color:#f87171}.dashboard-source{margin-top:1.25rem;font-size:.7rem;color:var(--text-muted)}.btn-retry{margin-top:.75rem;padding:.5rem 1rem;background:var(--gradient-progress);color:var(--bg-base);border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s ease}.btn-retry:hover{transform:translateY(-2px);box-shadow:0 4px 20px var(--accent-glow)}.chat-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--gradient-progress);color:var(--bg-base);border:none;border-radius:50%;cursor:pointer;box-shadow:0 4px 20px var(--accent-glow);transition:transform .2s ease,box-shadow .2s ease;z-index:100}.chat-fab:hover{transform:scale(1.05);box-shadow:0 6px 28px var(--accent-glow)}.chat-popup{position:fixed;bottom:5rem;right:1.5rem;width:min(420px,calc(100vw - 2rem));max-height:calc(100vh - 7rem);z-index:99;animation:fadeIn .25s ease-out}.chatbot{min-width:0;width:100%;display:flex;flex-direction:column;overflow:hidden;height:520px;max-height:calc(100vh - 8rem)}.chatbot-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle);font-weight:600;font-size:.95rem;color:var(--text-primary)}.chatbot-header-actions{display:flex;align-items:center;gap:.5rem}.btn-close-chat{display:flex;align-items:center;justify-content:center;padding:.35rem;background:transparent;color:var(--text-muted);border:none;border-radius:8px;cursor:pointer;transition:color .2s,background .2s}.btn-close-chat:hover{color:var(--text-primary);background:#ffffff14}.btn-refresh-chat{padding:.3rem .6rem;background:#10b9811f;color:var(--accent-secondary);border:1px solid rgba(16,185,129,.25);border-radius:8px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease}.btn-refresh-chat:hover{background:#10b98133;border-color:#10b98166}.chatbot-starters{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem .75rem;border-top:1px solid var(--border-subtle)}.btn-starter{padding:.45rem .85rem;background:#10b9811f;color:var(--accent-secondary);border:1px solid rgba(16,185,129,.25);border-radius:999px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.btn-starter:hover:not(:disabled){background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.btn-starter:disabled{opacity:.5;cursor:not-allowed}.chatbot-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:transparent}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:999px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.chatbot-empty{color:var(--text-muted);font-size:.9rem;line-height:1.6}.msg-user{align-self:flex-end;max-width:85%;padding:.75rem 1rem;border-radius:14px 14px 4px;background:var(--gradient-progress);color:var(--bg-base);font-size:.9rem;font-weight:500;box-shadow:0 2px 12px #10b9814d;animation:fadeIn .3s ease}.msg-assistant{align-self:flex-start;max-width:85%;padding:.75rem 1rem;border-radius:14px 14px 14px 4px;background:#ffffff0a;border:1px solid var(--border-subtle);font-size:.9rem;line-height:1.5;word-break:break-word;animation:fadeIn .3s ease}.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{padding:.15em .4em;background:#0000004d;border-radius:6px;font-size:.88em;font-family:ui-monospace,SF Mono,Monaco,Cascadia Mono,monospace}.msg-assistant pre{margin:.5em 0;padding:.75rem 1rem;background:#0000004d;border-radius:8px;overflow-x:auto}.msg-assistant pre code{padding:0;background:none;font-size:.85em;line-height:1.5}.msg-loading{padding:.75rem 1rem;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:14px 14px 14px 4px;color:var(--text-muted);font-size:.9rem}.msg-loading:after{content:"...";animation:pulse-soft 1s ease-in-out infinite}.chatbot-input-wrap{padding:1rem;border-top:1px solid var(--border-subtle)}.chatbot-form{display:flex;gap:.5rem}.chatbot-input{flex:1;padding:.7rem 1rem;background:#0000004d;border:1px solid var(--border-muted);border-radius:12px;color:var(--text-primary);font-size:.9rem;transition:all .2s ease}.chatbot-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.chatbot-input::placeholder{color:var(--text-muted)}.btn-send{padding:.7rem 1.2rem;background:var(--gradient-progress);color:var(--bg-base);border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.btn-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-glow)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.chatbot-error{color:#f87171;font-size:.85rem}.sync-settings{min-width:0;padding:1.25rem 1.5rem;grid-column:1 / -1}.sync-settings-title{margin:0 0 .35rem;font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.sync-settings-desc{margin:0 0 1rem;font-size:.85rem;color:var(--text-muted);line-height:1.4}.sync-error{padding:.5rem .75rem;background:#f8717126;border:1px solid rgba(248,113,113,.3);border-radius:8px;color:#f87171;font-size:.85rem;margin-bottom:1rem}.sync-code-section{margin-bottom:1.25rem}.sync-code-label,.sync-load-label{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.sync-code-row,.sync-load-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sync-code-value{font-family:ui-monospace,SF Mono,Monaco,monospace;font-size:1.1rem;font-weight:600;letter-spacing:.15em;color:var(--accent-secondary);padding:.4rem .75rem;background:#10b9811f;border-radius:8px}.btn-sync-copy,.btn-sync-load,.btn-sync-enable{padding:.4rem .9rem;background:#10b9811f;color:var(--accent-secondary);border:1px solid rgba(16,185,129,.25);border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease}.btn-sync-copy:hover:not(:disabled),.btn-sync-load:hover:not(:disabled),.btn-sync-enable:hover:not(:disabled){background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.btn-sync-copy:disabled,.btn-sync-load:disabled,.btn-sync-enable:disabled{opacity:.6;cursor:not-allowed}.sync-code-hint{margin:.35rem 0 .75rem;font-size:.8rem;color:var(--text-muted)}.sync-code-input{flex:1;min-width:140px;max-width:200px;padding:.5rem .75rem;background:#00000040;border:1px solid var(--border-muted);border-radius:8px;color:var(--text-primary);font-size:.95rem;letter-spacing:.1em;text-transform:uppercase}.sync-code-input:focus{outline:none;border-color:var(--accent-primary)}.sync-code-input::placeholder{color:var(--text-muted);text-transform:none;letter-spacing:0}.btn-sync-disable{padding:.3rem .6rem;background:transparent;color:var(--text-muted);border:1px solid var(--border-muted);border-radius:8px;cursor:pointer;font-size:.75rem;transition:all .2s ease}.btn-sync-disable:hover{color:#f87171;border-color:#f8717166;background:#f8717114}.sync-actions{margin-bottom:1.25rem}.sync-load-section{padding-top:1rem;border-top:1px solid var(--border-subtle)}@media (max-width: 1023px){.app-main{grid-template-columns:1fr;padding:1rem 1rem 5rem;gap:1.25rem}.dashboard{padding:1.25rem}.chat-popup{bottom:5rem;right:1rem;width:min(400px,calc(100vw - 2rem));max-height:calc(100vh - 7rem)}.chatbot{height:min(520px,calc(100vh - 2rem));min-height:320px}.mortgage-payoff-layout{flex-direction:column}.mortgage-payoff-form{flex:1 1 auto;width:100%;min-width:0}.mortgage-payoff-chart{width:100%;min-height:200px;height:260px}}@media (min-width: 900px){.mortgage-payoff-chart{height:320px;min-height:280px}}@media (max-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 (max-width: 599px){.app-header{padding:.75rem 1rem}.app-header h1{font-size:1.1rem}.app-main{padding:.75rem .75rem 5rem;gap:1rem}.dashboard,.chatbot{padding:1rem}.chat-fab{bottom:1rem;right:1rem;width:52px;height:52px}.chat-popup{width:min(360px,calc(100vw - 1.5rem))}.chatbot{min-height:280px}.chatbot-header{padding:.75rem 1rem;font-size:.9rem}.chatbot-messages{padding:.75rem;gap:.75rem}.chatbot-input-wrap{padding:.75rem}.chatbot-starters{padding:0 .75rem .5rem;gap:.4rem}.stat-value,.retirement-time-primary{font-size:1.5rem}.retirement-time-detail{font-size:.8rem}.msg-user,.msg-assistant{max-width:92%;padding:.6rem .85rem;font-size:.85rem}.app-nav{position:fixed;bottom:0;left:0;right:0;top:auto;border-bottom:none;border-top:1px solid var(--border-subtle);padding:0;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;z-index:200;background:#0a0e14f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-nav-tab{flex:1;flex-direction:column;gap:.2rem;padding:.5rem .25rem;font-size:.65rem;border-bottom:none;border-top:2px solid transparent}.app-nav-tab.active{border-bottom-color:transparent;border-top-color:var(--accent-primary)}.app-nav-tab svg{width:20px;height:20px}.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%}.retirement-banner-progress{min-width:0;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{padding:1rem;border-radius:12px}.settings-label{min-width:7rem;font-size:.8rem}}@media (max-width: 420px){.chat-popup{right:0;left:0;width:100%;border-radius:16px 16px 0 0}}.accounts-card{min-width:0;padding:1.5rem;grid-column:1 / -1}.accounts-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.accounts-total{font-size:1.15rem;font-weight:700;color:var(--accent-secondary)}.accounts-empty{color:var(--text-muted);font-size:.85rem;margin:.5rem 0 0}.accounts-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-bottom:1.25rem;background:var(--border-muted)}.accounts-bar-segment{height:100%;transition:width .3s ease}.accounts-bar-segment--401k,.accounts-type-badge--401k{background:#10b981;color:#052e16}.accounts-bar-segment--roth-ira,.accounts-type-badge--roth-ira{background:#3b82f6;color:#eff6ff}.accounts-bar-segment--ira,.accounts-type-badge--ira{background:#a78bfa;color:#1e1b4b}.accounts-bar-segment--brokerage,.accounts-type-badge--brokerage{background:#f59e0b;color:#451a03}.accounts-bar-segment--hsa,.accounts-type-badge--hsa{background:#818cf8;color:#1e1b4b}.accounts-bar-segment--savings,.accounts-type-badge--savings{background:#38bdf8;color:#082f49}.accounts-bar-segment--checking,.accounts-type-badge--checking{background:#94a3b8;color:#0f172a}.accounts-bar-segment--other,.accounts-type-badge--other{background:#64748b;color:#f1f5f9}.accounts-bar-segment{cursor:pointer}.accounts-bar-tooltip{position:fixed;transform:translate(-50%,calc(-100% - 10px));background:var(--card-bg, #1e293b);border:1px solid var(--border, #334155);border-radius:6px;padding:6px 10px;pointer-events:none;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;box-shadow:0 4px 12px #0006}.accounts-bar-tooltip-type{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #94a3b8)}.accounts-bar-tooltip-value{font-size:.95rem;font-weight:700;color:var(--text, #f1f5f9)}.accounts-bar-tooltip-pct{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.accounts-groups{display:flex;flex-direction:column;gap:0}.accounts-group{padding:.65rem 0;border-top:1px solid var(--border-muted)}.accounts-group:first-child{border-top:none;padding-top:0}.accounts-group-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.accounts-group-total{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-left:auto}.accounts-type-badge{font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:.2rem .6rem;border-radius:999px}.accounts-item{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.6rem;padding:.3rem .5rem;border-radius:5px;font-size:.85rem}.accounts-item-name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-item-owner{font-size:.72rem;color:var(--text-muted);background:#63b3ed14;border:1px solid rgba(99,179,237,.12);border-radius:4px;padding:.1rem .4rem;white-space:nowrap}.accounts-item-date{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.accounts-item-balance{font-weight:600;color:var(--text-primary);text-align:right;white-space:nowrap}.settings-accounts-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.settings-account-row{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;border-radius:6px;background:#0f141c66;border:1px solid var(--border-muted)}.settings-account-info{flex:1 1 auto;display:flex;flex-direction:column;gap:.2rem}.settings-account-name{font-size:.875rem;color:var(--text-primary);font-weight:500}.settings-account-meta{display:flex;align-items:center;gap:.35rem}.settings-account-badge{font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:.1rem .4rem;border-radius:999px;background:#63b3ed1f;border:1px solid rgba(99,179,237,.2);color:var(--text-secondary);text-transform:uppercase}.settings-account-badge--owner{background:#f59e0b1a;border-color:#f59e0b33;color:#fbbf24;text-transform:none}.settings-account-badge--plaid{background:#10b9811a;border-color:#10b98133;color:#34d399;text-transform:none}.settings-section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.settings-section-header-row .settings-section-title{margin-bottom:0}.settings-plaid-actions{display:flex;gap:.5rem;align-items:center}.settings-plaid-connect-btn,.settings-plaid-sync-btn{font-size:.75rem;padding:.3rem .65rem;border-radius:6px;border:1px solid var(--border-subtle);background:#ffffff0d;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.settings-plaid-connect-btn:hover:not(:disabled),.settings-plaid-sync-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text-primary)}.settings-plaid-connect-btn:disabled,.settings-plaid-sync-btn:disabled{opacity:.5;cursor:not-allowed}.settings-plaid-error{font-size:.78rem;color:#f87171;margin:.25rem 0 .5rem}.settings-account-balance{font-size:.875rem;font-weight:600;color:var(--accent-secondary);white-space:nowrap}.settings-account-form{display:flex;flex-direction:column;gap:.4rem}.settings-account-form-row{display:flex;gap:.5rem;align-items:center}.settings-account-form-row--bottom{flex-wrap:wrap}.settings-account-input-name{flex:1 1 100%;min-width:0}.settings-account-select{flex:1 1 90px;min-width:0}.settings-account-input-date{flex:1 1 110px;min-width:0}.settings-account-input-balance{flex:1 1 90px;min-width:0}.settings-account-date{font-size:.68rem;color:var(--text-muted);padding:.1rem .35rem;border-radius:4px;background:#ffffff0a;border:1px solid var(--border-muted)}.settings-account-row--editing{border-color:#63b3ed59;background:#63b3ed0d}.settings-account-inline-edit{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.settings-account-edit-balance{flex:1 1 90px;min-width:0}.settings-account-edit-date{flex:1 1 110px;min-width:0}.settings-account-save-btn{flex-shrink:0}.settings-account-edit-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:5px;background:#63b3ed1a;border:1px solid rgba(99,179,237,.2);color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s}.settings-account-edit-btn:hover{background:#63b3ed33;border-color:#63b3ed66;color:var(--text-primary)}.account-history-card{grid-column:1 / -1;padding:1.5rem;min-width:0}.account-history-empty{font-size:.875rem;color:var(--text-muted);margin-top:.75rem;line-height:1.5}.account-history-list{display:flex;flex-direction:column;gap:.25rem;margin-top:1rem}.account-history-month{border-top:1px solid var(--border-muted);padding-top:.6rem;margin-top:.4rem}.account-history-month:first-child{border-top:none;margin-top:0;padding-top:0}.account-history-month-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.account-history-month-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.account-history-month-count{font-size:.72rem;color:var(--text-muted);margin-left:auto}.account-history-month-total{font-size:.95rem;font-weight:700;color:var(--text);margin-left:auto}.account-history-month-stats{display:flex;align-items:center;gap:.35rem;padding:.1rem 0 .2rem}.account-history-stat{font-size:.72rem;color:var(--text-secondary, #94a3b8)}.account-history-stat-sep{font-size:.65rem;color:var(--text-muted, #64748b)}.account-history-stat--unreachable{color:var(--text-muted, #64748b);font-style:italic}.account-history-delta{font-size:.7rem;font-weight:600;padding:.1rem .35rem;border-radius:4px;margin-left:.15rem}.account-history-delta--good{color:#10b981;background:#10b9811f}.account-history-delta--bad{color:#f87171;background:#f871711f}.account-history-delta--net{opacity:.75;background:transparent;cursor:default}.net-delta-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.net-delta-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--card-bg, #1e293b);border:1px solid var(--border, #334155);border-radius:6px;padding:8px 12px;z-index:1000;white-space:nowrap;box-shadow:0 4px 12px #0006;flex-direction:column;gap:4px;min-width:180px}.net-delta-tooltip-wrapper:hover .net-delta-tooltip{display:flex}.net-delta-tooltip-row{display:flex;justify-content:space-between;gap:16px;font-size:.75rem}.net-delta-tooltip-label{color:var(--text-secondary, #94a3b8)}.net-delta-tooltip-value{font-weight:600;color:var(--text, #f1f5f9);font-variant-numeric:tabular-nums}.net-delta-tooltip-divider{height:1px;background:var(--border, #334155);margin:2px 0}.account-history-row{display:flex;align-items:center;padding:.3rem .5rem;border-radius:5px;gap:.5rem}.account-history-row:hover{background:#ffffff08}.account-history-name{flex:1 1 auto;font-size:.85rem;color:var(--text-primary)}.account-history-balance{font-size:.85rem;font-weight:600;color:var(--accent-secondary);white-space:nowrap}.account-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.account-history-backfill-toggle{font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:6px;background:#63b3ed1a;border:1px solid rgba(99,179,237,.25);color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s}.account-history-backfill-toggle:hover{background:#63b3ed33;border-color:#63b3ed66;color:var(--text-primary)}.account-history-backfill-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.75rem;margin-bottom:.75rem;border-radius:8px;background:#63b3ed0d;border:1px solid rgba(99,179,237,.15)}.account-history-backfill-month{flex:1 1 120px;min-width:0}.account-history-backfill-label{flex:2 1 130px;min-width:0}.account-history-backfill-amount{flex:1 1 100px;min-width:0}.account-history-backfill-badge{font-size:.64rem;font-weight:700;letter-spacing:.05em;padding:.1rem .35rem;border-radius:999px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);color:#fbbf24;white-space:nowrap;flex-shrink:0}.scenarios-page{grid-column:1 / -1;display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .4s ease}.scenarios-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.scenarios-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.scenarios-subtitle{font-size:.8rem;color:var(--text-muted);margin:0}.scenario-new-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.scenario-new-btn:hover{background:var(--accent-secondary)}.scenario-new-btn:disabled{opacity:.4;cursor:not-allowed}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;align-items:start}.scenario-card{padding:0;overflow:hidden;display:flex;flex-direction:column;gap:0}.scenario-base-card{border-color:#10b9814d}.scenario-card-color-bar{height:3px;width:100%;flex-shrink:0}.scenario-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.9rem 1rem .6rem}.scenario-card-name{font-size:.9rem;font-weight:700;color:var(--text-primary)}.scenario-card-desc{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.scenario-card-actions{display:flex;gap:.25rem;flex-shrink:0}.scenario-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.3rem;border-radius:6px;display:flex;align-items:center;transition:background .15s,color .15s}.scenario-action-btn:hover{background:#ffffff0f;color:var(--text-primary)}.scenario-action-delete:hover{color:#f43f5e}.scenario-base-badge{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-primary);background:#10b9811a;border:1px solid rgba(16,185,129,.25);border-radius:999px;padding:.15rem .5rem;white-space:nowrap}.scenario-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 1rem .6rem}.scenario-chip{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.scenario-chip.positive{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:var(--accent-secondary)}.scenario-chip.negative{background:#f43f5e1a;border:1px solid rgba(244,63,94,.2);color:#fb7185}.scenario-card-stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--border-muted)}.scenario-stat{padding:.75rem 1rem;border-right:1px solid var(--border-muted)}.scenario-stat:last-child{border-right:none}.scenario-stat:nth-child(3)~.scenario-stat{border-top:1px solid var(--border-muted)}.scenario-stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.scenario-stat-value{font-size:.9rem;font-weight:700;color:var(--text-primary);line-height:1.2}.scenario-stat-delta{font-size:.72rem;font-weight:600;margin-top:.15rem}.scenario-delta-pos{color:var(--accent-secondary)}.scenario-delta-neg{color:#fb7185}.scenario-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:140px;border:1.5px dashed var(--border-muted);border-radius:12px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.scenario-add-card:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#10b9810a}.scenario-add-card:disabled{opacity:.4;cursor:not-allowed}.scenario-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease}.scenario-form{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:16px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0009}.scenario-form-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--border-muted);flex-shrink:0}.scenario-form-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.scenario-form-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:6px;display:flex;align-items:center;transition:color .15s}.scenario-form-close:hover{color:var(--text-primary)}.scenario-form-body{overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;flex:1}.scenario-form-section{display:flex;flex-direction:column;gap:.75rem}.scenario-form-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-bottom:.25rem;border-bottom:1px solid var(--border-muted)}.scenario-form-row{display:flex;flex-direction:column;gap:.35rem}.scenario-form-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.scenario-toggle-hint{font-size:.7rem;font-weight:400;color:var(--text-muted)}.scenario-form-input{background:#ffffff0a;border:1px solid var(--border-muted);border-radius:8px;padding:.5rem .75rem;color:var(--text-primary);font-size:.85rem;width:100%;outline:none;transition:border-color .15s}.scenario-form-input:focus{border-color:var(--accent-primary)}.scenario-form-input::placeholder{color:var(--text-muted)}.scenario-input-prefix{display:flex;align-items:center;gap:0;background:#ffffff0a;border:1px solid var(--border-muted);border-radius:8px;overflow:hidden;transition:border-color .15s}.scenario-input-prefix:focus-within{border-color:var(--accent-primary)}.scenario-input-prefix>span{padding:.5rem .6rem;font-size:.8rem;color:var(--text-muted);flex-shrink:0}.scenario-input-prefix .scenario-form-input{border:none;border-radius:0;padding-left:0;padding-right:0;flex:1;background:transparent}.scenario-input-prefix .scenario-form-input:focus{border-color:transparent}.scenario-input-suffix{padding:.5rem .6rem;font-size:.75rem;color:var(--text-muted);flex-shrink:0}.scenario-toggle-row{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.82rem;color:var(--text-secondary);padding:.1rem 0}.scenario-toggle-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary);flex-shrink:0}.scenario-toggle-row .scenario-toggle-hint{margin-left:auto;text-align:right}.scenario-color-picker{display:flex;gap:.5rem}.scenario-color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;outline:none;flex-shrink:0}.scenario-color-swatch:hover{transform:scale(1.15)}.scenario-color-swatch.selected{border-color:#fff;transform:scale(1.15);box-shadow:0 0 0 2px #ffffff4d}.scenario-preview{background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:10px;padding:.9rem 1rem}.scenario-preview-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-primary);margin-bottom:.65rem}.scenario-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.scenario-preview-label{font-size:.68rem;color:var(--text-muted);margin-bottom:.2rem}.scenario-preview-value{font-size:.95rem;font-weight:700;color:var(--text-primary)}.scenario-preview-delta{font-size:.72rem;font-weight:600;margin-top:.1rem;min-height:1em}.scenario-form-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-muted);flex-shrink:0}.scenario-btn-cancel{padding:.55rem 1.1rem;border:1px solid var(--border-muted);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.scenario-btn-cancel:hover{background:#ffffff0d}.scenario-btn-save{padding:.55rem 1.25rem;border:none;border-radius:8px;background:var(--accent-primary);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;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{position:sticky;top:0;z-index:100;background:#0a0a0feb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-muted)}.lp-nav-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:56px}.lp-logo{display:flex;align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;letter-spacing:-.01em}.lp-nav-actions{display:flex;gap:.6rem;align-items:center}.lp-btn-ghost{background:transparent;border:1px solid var(--border-muted);color:var(--text-secondary);padding:.45rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;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);border:none;color:#fff;padding:.45rem 1.1rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:background .15s}.lp-btn-primary:hover{background:var(--accent-secondary)}.lp-btn-outline{background:transparent;border:1.5px solid var(--accent-primary);color:var(--accent-primary);padding:.45rem 1.1rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.lp-btn-outline:hover{background:var(--accent-primary);color:#fff}.lp-btn-lg{padding:.7rem 1.5rem;font-size:.9rem}.lp-btn-full{width:100%;justify-content:center}.lp-hero{padding:5rem 1.5rem 4rem;text-align:center}.lp-hero-inner{max-width:760px;margin:0 auto}.lp-trial-badge{display:inline-block;font-size:.78rem;font-weight:600;color:var(--accent-secondary);background:#10b9811a;border:1px solid rgba(16,185,129,.25);border-radius:99px;padding:.3rem .9rem;margin-bottom:1.5rem}.lp-hero-h1{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 1rem}.lp-gradient-text{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lp-hero-sub{font-size:1.05rem;color:var(--text-secondary);line-height:1.65;margin:0 auto 2rem;max-width:560px}.lp-hero-ctas{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}.lp-preview{border:1px solid var(--border-muted);border-radius:12px;overflow:hidden;text-align:left;box-shadow:0 20px 60px #0006}.lp-preview-bar{background:var(--bg-card);padding:.55rem 1rem;display:flex;align-items:center;gap:.4rem;border-bottom:1px solid var(--border-muted)}.lp-preview-dot{width:12px;height:12px;border-radius:50%;display:block}.lp-preview-bar-title{font-size:.75rem;color:var(--text-muted);margin-left:.5rem}.lp-preview-cards{background:var(--bg-secondary);padding:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.lp-preview-card{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:10px;padding:1rem 1.1rem}.lp-preview-card--accent{border-color:#10b9814d}.lp-preview-label{font-size:.72rem;color:var(--text-muted);font-weight:600;margin-bottom:.3rem}.lp-preview-value{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.lp-preview-sub{font-size:.72rem;color:var(--text-muted);margin-top:.2rem}.lp-preview-prog-track{height:4px;background:var(--border-muted);border-radius:2px;margin-top:.5rem}.lp-preview-prog-fill{height:4px;background:var(--accent-primary);border-radius:2px}.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{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.025em;margin:0 0 .75rem}.lp-section-header p{color:var(--text-secondary);font-size:1rem;margin:0}.lp-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.lp-feature-card{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:12px;padding:1.5rem}.lp-feature-icon{width:40px;height:40px;border-radius:10px;background:#10b9811a;color:var(--accent-secondary);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.lp-feature-card h3{font-size:.95rem;font-weight:700;margin:0 0 .5rem}.lp-feature-card p{font-size:.84rem;color:var(--text-secondary);line-height:1.6;margin:0}.lp-stats-strip{background:var(--bg-card);border-top:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;padding:1.5rem}.lp-stat{text-align:center;padding:.5rem 2rem}.lp-stat-value{font-size:1.3rem;font-weight:800;color:var(--accent-secondary)}.lp-stat-label{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}.lp-stat-divider{width:1px;height:36px;background:var(--border-muted)}.lp-pricing-row{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.lp-pricing-card{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:16px;padding:2rem;width:320px;position:relative}.lp-pricing-card--featured{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.lp-pricing-badge{font-size:.72rem;font-weight:700;color:var(--accent-secondary);background:#10b9811f;border-radius:99px;padding:.25rem .7rem;display:inline-block;margin-bottom:1rem}.lp-pricing-badge--gold{color:#f59e0b;background:#f59e0b1a}.lp-pricing-name{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.lp-pricing-price{display:flex;align-items:baseline;gap:.25rem;margin-bottom:1rem}.lp-price-num{font-size:2.5rem;font-weight:800;letter-spacing:-.03em}.lp-price-per{font-size:.85rem;color:var(--text-muted)}.lp-pricing-equiv{font-size:.78rem;color:var(--text-muted);margin-bottom:1.25rem}.lp-pricing-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.55rem}.lp-pricing-list li{font-size:.84rem;display:flex;align-items:center;gap:.5rem}.lp-check{color:var(--accent-secondary);font-weight:700}.lp-check--gold{color:#f59e0b}.lp-pricing-fine{font-size:.72rem;color:var(--text-muted);text-align:center;margin:.75rem 0 0}.lp-faq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.lp-faq-item h4{font-size:.9rem;font-weight:700;margin:0 0 .5rem}.lp-faq-item p{font-size:.84rem;color:var(--text-secondary);line-height:1.6;margin:0}.lp-cta-section{padding:5rem 1.5rem;text-align:center}.lp-cta-inner{max-width:500px;margin:0 auto}.lp-cta-inner h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin:0 0 .75rem}.lp-cta-inner p{color:var(--text-secondary);margin:0 0 2rem}.lp-footer{background:var(--bg-card);border-top:1px solid var(--border-muted);padding:1.5rem}.lp-footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.lp-footer-links{display:flex;gap:1.25rem;align-items:center;font-size:.8rem;color:var(--text-muted)}.lp-footer-links a{color:var(--text-muted);text-decoration:none}.lp-footer-links a:hover{color:var(--text-primary)}
