:root{--bg: #0b0d10;--bg-card: #14171c;--bg-card-2: #1a1e25;--border: #232830;--text: #f5f6f8;--text-dim: #8a9099;--text-faint: #5b6470;--accent: #4ec6e0;--accent-2: #6f7df0;--green: #4dd09b;--red: #e07060;--gold: #e4b13c;--purple: #8c91d6}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--accent);color:#06080a;border:none;padding:8px 14px;border-radius:6px;font-weight:600;cursor:pointer}button:hover{filter:brightness(1.08)}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}button.danger{background:transparent;color:var(--red);border:1px solid var(--border)}button:disabled{opacity:.5;cursor:not-allowed}input,select{background:var(--bg-card-2);color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:6px;font-size:14px;width:100%}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px}.app{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--bg-card);border-right:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}@media (max-width: 700px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;gap:8px;padding:12px}.sidebar .brand{width:100%;margin-bottom:8px}.sidebar .nav-section{width:100%;flex-basis:100%;padding:10px 0 2px}.sidebar a{padding:6px 10px;font-size:13px}.sidebar .spacer,.sidebar .user{display:none}}.sidebar .brand{margin-bottom:24px;letter-spacing:.3px}.sidebar .brand-mark{font-weight:800;font-size:24px;letter-spacing:2px;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.sidebar .brand-sub{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:1.5px;margin-top:2px}.sidebar a{color:var(--text-dim);padding:8px 12px;border-radius:6px;display:block}.sidebar .nav-section{color:var(--text-faint);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;padding:16px 12px 6px}.sidebar .nav-section:first-of-type{padding-top:8px}.sidebar a:hover{background:var(--bg-card-2);color:var(--text);text-decoration:none}.sidebar a.active{background:var(--bg-card-2);color:var(--text)}.sidebar .spacer{flex:1}.sidebar .user{color:var(--text-faint);font-size:12px;padding:8px 12px}.main{flex:1;padding:32px 40px;max-width:1400px;min-width:0}@media (max-width: 700px){.main{padding:20px 16px}}.page-title{font-size:22px;font-weight:700;margin-bottom:24px}.stat-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;margin-bottom:24px}.stat-row>*{flex:0 0 280px}@media (max-width: 640px){.stat-row{gap:24px}.stat-row>*{flex:0 0 220px}}.donut-card{position:relative;background:transparent;display:flex;align-items:center;justify-content:center;aspect-ratio:1;max-width:280px;margin:0 auto;width:100%}.donut-center{position:absolute;text-align:center;pointer-events:none}.donut-center .value{font-size:26px;font-weight:700;letter-spacing:-.5px}.donut-center .label{color:var(--text-dim);font-size:13px;margin-top:2px}.donut-tooltip{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #0006}.donut-tooltip .swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.donut-tooltip .name{color:var(--text-dim)}.donut-tooltip .val{color:var(--text);font-weight:600}.donut-card .donut-center{z-index:2}.donut-card svg{z-index:1}.donut-card.large .donut-center .value{font-size:36px}.substats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;padding:18px 0 24px;border-bottom:1px solid var(--border);margin-bottom:24px}.substat .value{font-size:18px;font-weight:700}.substat .label{color:var(--text-dim);font-size:13px;margin-top:2px}.section{margin-bottom:32px}.section h2{font-size:16px;font-weight:600;margin:0 0 12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.account-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:12px}.account-card .row{display:grid;grid-template-columns:32px 1fr 1fr 40px;gap:12px;align-items:center}.account-card.expanded .row{grid-template-columns:32px 1fr}.account-card .icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green);color:#062;font-size:14px;font-weight:700}.account-card .icon.invest{background:var(--accent-2);color:#050a3a}.account-card .icon.asset{background:var(--gold);color:#3a2d05}.account-card .icon.debt{background:var(--red);color:#3a0a05}.account-card .name{font-weight:600;margin-bottom:4px}.account-card .field{background:var(--bg-card-2);border-radius:6px;padding:10px 12px;border:1px solid var(--border)}.account-card .field .label{font-size:11px;color:var(--text-dim)}.account-card .field .value{font-size:14px}.account-card .grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.account-card .actions{display:flex;gap:6px;justify-content:flex-end}.account-card .icon-btn{background:transparent;color:var(--text-dim);border:1px solid var(--border);width:32px;height:32px;border-radius:6px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.account-card .icon-btn:hover{color:var(--text)}.account-card .icon-btn.danger:hover{color:var(--red);border-color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px}.toolbar .spacer{flex:1}.age-slider-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-bottom:24px}.age-slider-card .top{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.age-slider-card .age-value{font-size:28px;font-weight:700}.age-slider-card .age-label{color:var(--text-dim);font-size:13px}.age-slider-card input[type=range]{width:100%}.age-slider-card .legend{color:var(--text-dim);font-size:12px;margin-top:4px;display:flex;justify-content:space-between}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:400px}.auth-card h1{margin:0 0 8px}.auth-card .sub{color:var(--text-dim);margin-bottom:24px;font-size:13px}.auth-card .field-block{margin-bottom:14px}.auth-card button{width:100%;padding:10px;margin-top:8px}.auth-card .switch{text-align:center;margin-top:18px;color:var(--text-dim);font-size:13px}.error{color:var(--red);font-size:13px;margin:8px 0}.success{color:var(--green);font-size:13px;margin:8px 0}.snapshot-row{display:grid;grid-template-columns:180px 1fr 1fr 1fr 1fr 40px;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);align-items:center}.snapshot-row.head{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:1px}.snapshot-row .num{font-variant-numeric:tabular-nums}.progress-chart-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:24px}.empty{color:var(--text-dim);text-align:center;padding:40px 0;border:1px dashed var(--border);border-radius:10px}.fire-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.fire-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.fire-card .fire-value{font-size:24px;font-weight:700;letter-spacing:-.3px}.fire-card .fire-label{color:var(--text-dim);font-size:13px;margin-top:4px}.fire-card .dim{color:var(--text-faint)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.switch input[type=checkbox]{width:0;height:0;opacity:0;position:absolute}.switch .slider{position:relative;width:40px;height:22px;background:var(--bg-card-2);border:1px solid var(--border);border-radius:999px;transition:background .15s}.switch .slider:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-dim);border-radius:50%;transition:transform .15s,background .15s}.switch input:checked+.slider{background:var(--accent);border-color:var(--accent)}.switch input:checked+.slider:before{transform:translate(18px);background:#06080a}.switch .switch-label{color:var(--text);font-size:14px}
