:root{--bg:#111516;--panel:#23272a;--panel2:#1c2023;--sidebar:#0d0d2a;--line:rgba(255,255,255,.08);--text:#f4f5f7;--muted:#8f96a3;--primary:#6965ff;--accent:#d44fd1;--success:#3cc47c;--danger:#ff6874;--warning:#f3c852}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:var(--sidebar);padding:28px 18px;display:flex;flex-direction:column;z-index:1040}.sidebar-brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;padding:0 8px 28px}.sidebar-brand span:last-child{display:flex;flex-direction:column}.sidebar-brand small{color:#8f90aa}.brand-mark{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;font-weight:800;color:white;font-size:24px;box-shadow:0 12px 30px rgba(105,101,255,.25)}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:18px}.sidebar-nav{gap:7px}.sidebar-nav .nav-link{display:flex;align-items:center;gap:12px;color:#9699b0;border-radius:12px;padding:11px 13px}.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{background:rgba(255,255,255,.08);color:white}.sidebar-footer{margin-top:auto;padding:15px 10px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.sidebar-footer a{color:#aaaec2;text-decoration:none}.sidebar-footer small{color:#676b7f}.main-content{margin-left:260px;padding:30px;max-width:1800px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h1{font-size:26px;margin:2px 0 0}.eyebrow{font-size:11px;letter-spacing:.12em;color:#7f8795;font-weight:700}.user-chip{display:flex;align-items:center;gap:10px;color:#b8bdc7}.avatar{width:38px;height:38px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-weight:800}.section-title{font-size:22px}.panel,.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.metric-card{min-height:128px;display:flex;flex-direction:column;justify-content:center;position:relative}.metric-card>span{color:#aeb4c0;font-size:14px}.metric-card>strong{font-size:26px;margin-top:8px}.metric-icon{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.metric-icon.positive{background:rgba(60,196,124,.13);color:var(--success)}.metric-icon.negative{background:rgba(255,104,116,.12);color:var(--danger)}.metric-icon.warning{background:rgba(243,200,82,.12);color:var(--warning)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.panel-head h3,.panel h3{font-size:18px;margin:3px 0 0}.panel-head a{color:#9996ff;text-decoration:none;font-size:13px}.health-wrap{display:flex;align-items:center;gap:22px}.health-ring{--score:50;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--score)*1%),#15191c 0);position:relative}.health-ring:before{content:"";position:absolute;inset:11px;background:var(--panel);border-radius:50%}.health-ring>div{position:relative;z-index:1;text-align:center}.health-ring strong{font-size:34px}.health-ring span{display:block;font-size:11px;color:var(--muted)}.health-ring.large{width:190px;height:190px}.health-ring.large:before{inset:15px}.health-ring.large strong{font-size:48px}.status-pill{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-pill.success{background:rgba(60,196,124,.13);color:#74e8aa}.status-pill.warning{background:rgba(243,200,82,.14);color:#f6d773}.status-pill.danger{background:rgba(255,104,116,.13);color:#ff8b94}.status-pill.primary{background:rgba(105,101,255,.15);color:#9f9cff}.status-pill.neutral{background:rgba(255,255,255,.08);color:#b7bdc8}.mission,.tip-box{background:var(--panel2);border:1px solid var(--line);border-radius:18px;padding:16px}.mission strong{display:block;margin:5px 0}.mission p,.tip-box p{margin:0;color:var(--muted);font-size:13px}.list-stack{display:flex;flex-direction:column}.list-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row strong{font-size:13px}.list-row small{display:block;color:var(--muted);margin-top:3px}.insight-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.insight-item:last-child{border-bottom:0}.insight-item p{color:var(--muted);font-size:13px;margin:3px 0 0}.insight-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;background:var(--primary);flex:0 0 auto}.insight-dot.danger{background:var(--danger)}.insight-dot.warning{background:var(--warning)}.insight-dot.success{background:var(--success)}.table-dark-custom{--bs-table-bg:transparent;--bs-table-color:#dde0e5;--bs-table-border-color:var(--line);margin:0}.table-dark-custom th{font-size:11px;color:#7f8795;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.table-dark-custom td{font-size:13px;padding-top:15px;padding-bottom:15px}.status-dot{font-size:11px;text-transform:uppercase}.status-dot.paid{color:var(--success)}.status-dot.pending{color:var(--warning)}.status-dot.overdue{color:var(--danger)}.app-modal{background:#202427;color:var(--text);border:1px solid var(--line)}.app-modal .modal-header,.app-modal .modal-footer{border-color:var(--line)}.form-control,.form-select{background:#171b1e;border-color:#33383d;color:#eef0f4}.form-control:focus,.form-select:focus{background:#171b1e;color:white;border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(105,101,255,.15)}.form-select option{background:#171b1e}.btn-primary{background:linear-gradient(135deg,var(--primary),#756eff);border:0}.btn-primary:hover{filter:brightness(1.08)}.progress{height:7px;background:#15191c}.progress-bar{background:linear-gradient(90deg,var(--primary),var(--accent))}.debt-number{font-size:26px;font-weight:750;margin:18px 0}.pillar{margin-bottom:19px}.pillar .progress{margin-top:7px}.category-tile{background:var(--panel2);border:1px solid var(--line);padding:14px;border-radius:15px;display:flex;justify-content:space-between;align-items:center}.category-tile small{display:block;color:var(--muted)}.empty-state{color:var(--muted);padding:25px 0;text-align:center}.auth-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,rgba(105,101,255,.17),transparent 30%),radial-gradient(circle at 80% 85%,rgba(212,79,209,.12),transparent 30%),#0f1214}.auth-card{width:min(430px,100%);background:#1f2326;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.auth-card-wide{width:min(640px,100%)}.auth-card h1{font-size:28px;margin-top:18px}.auth-card a{color:#9d9aff}.text-secondary{color:var(--muted)!important}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0;padding:20px}.topbar{margin-bottom:20px}.user-chip span:last-child{display:none}}@media(max-width:576px){.panel,.metric-card{border-radius:18px;padding:17px}.metric-card{min-height:110px}.metric-card>strong{font-size:19px}.health-wrap{align-items:flex-start;flex-direction:column}.main-content{padding:14px}.topbar h1{font-size:22px}}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.card-visual{background:linear-gradient(145deg,#252a2e,#1b1f22)}.card-last-four{font-size:20px;letter-spacing:.12em;font-weight:750;margin:26px 0 18px}.simulator-card .sim-date{font-size:30px;font-weight:800;margin:14px 0 2px}.code-sample{background:#15191c;border:1px solid var(--line);border-radius:14px;padding:16px;color:#cfd3dc;white-space:pre-wrap}.quick-action{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.quick-action:hover{border-color:rgba(105,101,255,.5);color:#fff}.quick-action i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(105,101,255,.12);color:#9f9cff}@media(max-width:1400px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:768px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}}
.recovery-banner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:center;background:linear-gradient(120deg,rgba(105,101,255,.13),rgba(212,79,209,.07)),var(--panel)}.recovery-banner h3{margin:5px 0}.recovery-banner p{margin:0;color:var(--muted);font-size:13px}.recovery-banner-score{padding:0 24px;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center}.recovery-banner-score span,.recovery-banner-score small{display:block;color:var(--muted);font-size:11px}.recovery-banner-score strong{font-size:25px}.decision-hero{background:radial-gradient(circle at 85% 15%,rgba(105,101,255,.2),transparent 42%),var(--panel)}.decision-score{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0 10px}.decision-score span{font-size:11px;color:var(--muted)}.decision-score strong{font-size:27px}.decision-score i{color:#9f9cff}.allocation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.allocation-grid>div{padding:15px;border-radius:15px;background:var(--panel2);border:1px solid var(--line)}.allocation-grid span{display:block;color:var(--muted);font-size:11px}.allocation-grid strong{display:block;margin-top:5px;font-size:18px}.recovery-timeline{position:relative}.recovery-step{display:grid;grid-template-columns:82px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.recovery-step:last-child{border:0}.recovery-step p{margin:3px 0;color:var(--muted);font-size:13px}.recovery-step small{color:#a7a3ff}.recovery-day{display:inline-flex;height:29px;align-items:center;justify-content:center;border-radius:999px;background:rgba(105,101,255,.13);color:#aaa7ff;font-size:11px;font-weight:700}.radar-stat{display:flex;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.radar-stat strong{font-size:31px}.radar-stat span{color:var(--muted)}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-grid>div{padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.comparison-grid>div.recommended{border-color:rgba(105,101,255,.55);box-shadow:inset 0 0 0 1px rgba(105,101,255,.15)}.comparison-grid span,.comparison-grid small{display:block;color:var(--muted);font-size:11px}.comparison-grid strong{display:block;font-size:22px;margin:8px 0}@media(max-width:1100px){.recovery-banner{grid-template-columns:1fr}.recovery-banner-score{border:0;padding:0;text-align:left}.allocation-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.allocation-grid,.comparison-grid{grid-template-columns:1fr}.recovery-step{grid-template-columns:65px 1fr}}
.purchase-verdict{border-left:4px solid var(--primary);padding:8px 0 8px 18px}.purchase-verdict h2{margin:5px 0 8px}.purchase-verdict p{color:var(--muted);margin:0}.purchase-verdict.success{border-color:var(--success)}.purchase-verdict.warning{border-color:var(--warning)}.purchase-verdict.danger{border-color:var(--danger)}.purchase-verdict.neutral{border-color:#7f8795}
.setup-hero{background:radial-gradient(circle at 80% 10%,rgba(212,79,209,.15),transparent 38%),var(--panel)}.setup-score{display:flex;align-items:baseline;gap:12px;margin-top:24px}.setup-score strong{font-size:44px}.setup-score span{color:var(--muted);font-size:12px}.setup-list{display:flex;flex-direction:column;gap:9px}.setup-item{display:flex;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--text);background:var(--panel2)}.setup-item:hover{border-color:rgba(105,101,255,.55);color:#fff}.setup-item.done{opacity:.7}.setup-item p{margin:3px 0 0;color:var(--muted);font-size:12px}.setup-item small{color:var(--muted)}.setup-check{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(105,101,255,.13);color:#aaa7ff;flex:0 0 auto}.setup-item.done .setup-check{background:rgba(60,196,124,.13);color:var(--success)}.setup-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border:1px solid rgba(105,101,255,.25);border-radius:17px;background:rgba(105,101,255,.07)}.setup-banner strong,.setup-banner small{display:block}.setup-banner small{color:var(--muted);font-size:11px;margin-top:2px}@media(max-width:650px){.setup-banner{align-items:flex-start;flex-direction:column}}
.investment-stage{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;background:linear-gradient(120deg,rgba(60,196,124,.08),rgba(105,101,255,.08)),var(--panel)}.investment-stage.locked{background:linear-gradient(120deg,rgba(243,200,82,.07),rgba(105,101,255,.06)),var(--panel)}.investment-stage h3{margin:5px 0}.investment-stage p{margin:0;color:var(--muted);font-size:13px}.stage-stats{display:flex;gap:18px;padding:0 20px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.stage-stats span{display:flex;flex-direction:column;color:var(--muted);font-size:11px}.stage-stats strong{color:var(--text);font-size:15px;margin-top:4px}.allocation-list{display:flex;flex-direction:column}.allocation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.allocation-row:last-child{border:0}.allocation-row small{display:block;color:var(--muted);margin-top:3px}.passive-hero{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:28px;background:radial-gradient(circle at 90% 10%,rgba(60,196,124,.14),transparent 40%),radial-gradient(circle at 20% 90%,rgba(105,101,255,.12),transparent 45%),var(--panel)}.passive-hero h2{font-size:40px;margin:5px 0}.passive-hero h2 small{font-size:13px;color:var(--muted)}.passive-hero p,.passive-progress small,.passive-coverage small{color:var(--muted);font-size:12px;margin:0}.passive-progress span{color:var(--muted);font-size:12px}.passive-progress small{display:block;margin-top:8px}.passive-coverage{text-align:center;padding-left:28px;border-left:1px solid var(--line)}.passive-coverage span,.passive-coverage small{display:block}.passive-coverage strong{display:block;font-size:35px}.coverage-ring{--coverage:0;width:190px;height:190px;border-radius:50%;margin:8px auto 24px;display:grid;place-items:center;background:conic-gradient(var(--success) calc(var(--coverage)*1%),#15191c 0);position:relative}.coverage-ring:before{content:"";position:absolute;inset:15px;background:var(--panel);border-radius:50%}.coverage-ring>div{position:relative;text-align:center}.coverage-ring strong{display:block;font-size:40px}.coverage-ring span{color:var(--muted);font-size:11px}.milestone-list>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.milestone-list>div:last-child{border:0}.milestone-list span{color:var(--muted);font-size:12px}.stage-card{background:var(--panel2);border:1px solid var(--line);border-radius:18px;padding:18px}.stage-card h3{margin:12px 0 4px}.stage-card p{color:var(--muted);font-size:13px}.stage-card.ready{border-color:rgba(60,196,124,.25)}@media(max-width:1100px){.investment-stage,.passive-hero{grid-template-columns:1fr}.stage-stats{border:0;padding:0;flex-wrap:wrap}.passive-coverage{text-align:left;border:0;padding:0}.passive-hero h2{font-size:32px}}@media(max-width:650px){.stage-stats{flex-direction:column;gap:8px}}
.investment-dashboard-banner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:center;background:linear-gradient(120deg,rgba(60,196,124,.08),rgba(105,101,255,.08)),var(--panel)}.investment-dashboard-banner h3{margin:5px 0}.investment-dashboard-banner p{margin:0;color:var(--muted);font-size:13px}.investment-dashboard-stats{display:flex;gap:24px;padding:0 24px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.investment-dashboard-stats span{color:var(--muted);font-size:11px;display:flex;flex-direction:column}.investment-dashboard-stats strong{color:var(--text);font-size:15px;margin-top:4px}@media(max-width:1100px){.investment-dashboard-banner{grid-template-columns:1fr}.investment-dashboard-stats{padding:0;border:0;flex-wrap:wrap}}
