body,html{margin:0;padding:0;background:#0d1117;color:#c9d1d9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}:root{--bg:#070a10;--surface:rgba(13,17,23,.78);--surface-raised:rgba(16,22,34,.88);--surface-strong:rgba(22,32,48,.96);--border:rgba(125,145,175,.22);--border-strong:hsla(212,9%,58%,.32);--text:#e6edf3;--muted:#8b949e;--muted-2:#7d8590;--income:#3fb950;--expense:#f59e0b;--debt:#f85149;--housing:#58a6ff;--savings:#a78bfa;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--shadow-card:0 18px 50px rgba(0,0,0,.18);--shadow-hero:0 24px 80px rgba(0,0,0,.36)}body{background:radial-gradient(circle at 12% 0,rgba(88,166,255,.22),transparent 34rem),radial-gradient(circle at 88% 12%,rgba(63,185,80,.13),transparent 28rem),linear-gradient(180deg,#070a10,#0d1117 48%,#070a10)}.container{max-width:1180px;margin:0 auto;padding:32px 24px;position:relative}.container:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(hsla(0,0%,100%,.045) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.045) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}h1{font-size:2.15rem;margin:0 0 4px;color:var(--text)}.footer-note,.subtitle{color:var(--muted);font-size:.95rem;margin:0 0 24px;line-height:1.45}.footer-note{text-align:center;margin-top:28px;font-size:.8rem}a{color:var(--housing);font-weight:650;text-decoration:none}a:hover{text-decoration:underline}.apartment-card,.backup-panel,.card,.cashflow-card,.gauge-card,.goal-card,.strategy-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-card)}.backup-panel,.card,.goal-card{padding:18px;margin-bottom:18px}.apartment-card,.backup-panel,.gauge-card,.goal-card,.strategy-row{background:rgba(13,17,23,.72)}.backup-panel h3,.card h2,.goal-card h3{color:var(--text);margin:0;font-size:1.05rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.label,.metric-card span{color:var(--muted);font-size:.76rem;line-height:1.35;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.field-hint{color:var(--muted-2);font-size:.72rem;line-height:1.35}.field-hint:before{content:"Note: ";color:var(--housing)}input,select,textarea{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:rgba(7,10,16,.72);color:#c9d1d9;padding:9px 11px;font-size:.92rem;min-height:38px}input[type=number]{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--housing);box-shadow:0 0 0 2px rgba(88,166,255,.16)}.tabs a,button{min-height:38px;background:#238636;border:1px solid rgba(46,160,67,.45);border-radius:var(--radius-sm);color:#fff;padding:8px 14px;font-weight:750;cursor:pointer;white-space:nowrap;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.tabs a:hover,button:hover{background:#2ea043;text-decoration:none;transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.tabs a.secondary,button.secondary{background:#21262d;border-color:var(--border-strong);color:#c9d1d9}.tabs a.secondary:hover,button.secondary:hover{background:#30363d}button.danger{background:#8e1519;border-color:rgba(248,81,73,.35)}button.danger:hover{background:#da3633}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tabs{position:-webkit-sticky;position:sticky;top:0;z-index:5;margin:18px 0;padding:8px;border:1px solid var(--border);border-radius:16px;background:rgba(7,10,16,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tabs a,.tabs button{text-transform:capitalize;min-width:92px;text-align:center}.tabs a:not(.secondary){box-shadow:0 0 0 1px rgba(63,185,80,.35),0 12px 24px rgba(35,134,54,.22)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.add-form,.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;align-items:end;margin:12px 0}.add-form label,.scenario-grid label{display:flex;flex-direction:column;gap:5px}.total-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;padding-top:14px;margin-top:14px;border-top:1px solid var(--border)}.total-bar>div,.total-item{min-width:0;padding:12px;border:1px solid hsla(0,0%,100%,.06);border-radius:var(--radius-md);background:rgba(7,10,16,.42)}.big-num{color:var(--text);font-size:1.45rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.on-track,.pos{color:var(--income);font-weight:750}.behind,.neg{color:var(--debt);font-weight:750}.badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid transparent;border-radius:999px;padding:4px 10px;font-size:.74rem;line-height:1.15;font-weight:800;letter-spacing:.02em}.badge-green{background:rgba(46,160,67,.16);border-color:rgba(46,160,67,.25);color:var(--income)}.badge-orange{background:rgba(187,128,9,.18);border-color:rgba(187,128,9,.28);color:#d29922}.badge-red{background:rgba(248,81,73,.16);border-color:rgba(248,81,73,.25);color:var(--debt)}.backup-status,.warning{margin:12px 0;padding:11px 12px;border-radius:var(--radius-sm);line-height:1.45;font-size:.88rem}.warning{border:1px solid rgba(210,153,34,.38);background:rgba(187,128,9,.13);color:#d29922}.backup-status{border:1px solid rgba(88,166,255,.38);background:rgba(88,166,255,.13);color:var(--housing);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.projections-table{overflow:auto;max-height:430px;border:1px solid var(--border);border-radius:var(--radius-md);margin-top:12px;background:rgba(7,10,16,.34)}table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:760px}td,th{padding:10px 11px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#161b22;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:750}tbody tr:nth-child(2n){background:hsla(0,0%,100%,.018)}tbody tr:hover{background:rgba(88,166,255,.055)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.selected-row{background:rgba(88,166,255,.09);cursor:pointer}.selected-row td:first-child{border-left:3px solid var(--housing)}.inline-check{display:grid!important;grid-template-columns:auto 1fr;align-items:center;grid-column-gap:8px;column-gap:8px;font-size:.88rem}.inline-check input{width:auto;accent-color:var(--housing)}progress{width:100%;height:9px;border:none;border-radius:999px;background:#21262d;margin:12px 0}progress::-webkit-progress-bar{background:#21262d;border-radius:999px}progress::-webkit-progress-value{background:var(--housing);border-radius:999px}progress::-moz-progress-bar{background:var(--housing);border-radius:999px}.chart-bar{height:170px;display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--border);margin:16px 0 10px;padding-top:10px}.chart-bar .bar{flex:1 1;min-width:3px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--housing),#1f6feb);opacity:.9}.backup-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.backup-panel p{color:var(--muted);line-height:1.45}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:end;padding:26px;margin-bottom:18px;border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg,rgba(22,32,48,.96),rgba(13,17,23,.78)),radial-gradient(circle at top right,rgba(88,166,255,.25),transparent 18rem);box-shadow:var(--shadow-hero);overflow:hidden}.hero:after{content:"";position:absolute;width:220px;height:220px;right:-80px;top:-90px;border:1px solid rgba(88,166,255,.28);border-radius:50%;box-shadow:0 0 0 42px rgba(88,166,255,.035),0 0 0 84px rgba(88,166,255,.025)}.eyebrow{color:var(--housing);font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}.hero h1{font-size:clamp(2.4rem,7vw,5.4rem);line-height:.86;letter-spacing:-.07em;margin-bottom:12px}.hero .subtitle{max-width:760px;margin-bottom:0}.hero-status{z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right;color:var(--muted)}.hero-status strong{color:var(--text);font-size:clamp(1.8rem,4vw,3.1rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.snapshot-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{position:relative;overflow:hidden;min-height:118px;padding:17px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04),var(--shadow-card)}.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--housing);opacity:.9}.metric-card.income:before{background:var(--income)}.metric-card.expense:before{background:var(--expense)}.metric-card.housing:before{background:var(--housing)}.metric-card.savings:before{background:var(--savings)}.metric-card strong{display:block;color:var(--text);margin:8px 0 5px;font-size:clamp(1.25rem,2.4vw,1.9rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-card small{color:var(--muted);line-height:1.35}.cashflow-card{padding:18px;margin-bottom:18px;background:var(--surface)}.cashflow-rail{position:relative;height:42px;overflow:hidden;border:1px solid hsla(0,0%,100%,.08);border-radius:999px;background:#0b1220;display:flex;align-items:stretch}.cashflow-income{position:absolute;inset:0;background:linear-gradient(90deg,rgba(63,185,80,.24),rgba(63,185,80,.08));display:flex;align-items:center;padding-left:16px;color:#b7f7c6;font-weight:800}.cashflow-income span{text-shadow:0 1px 8px rgba(0,0,0,.65)}.cashflow-segment{position:relative;z-index:1;margin-left:1px;min-width:2px;opacity:.86}.cashflow-legend i.expense,.cashflow-segment.expense{background:var(--expense)}.cashflow-legend i.debt,.cashflow-segment.debt{background:var(--debt)}.cashflow-legend i.housing,.cashflow-segment.housing{background:var(--housing)}.cashflow-legend i.savings,.cashflow-segment.savings{background:var(--savings)}.cashflow-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px;color:var(--muted);font-size:.8rem}.cashflow-legend i{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;vertical-align:-1px}.cashflow-legend i.buffer{background:#64748b}.decision-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);grid-gap:18px;gap:18px;align-items:center;margin:0 0 18px;padding:20px;border:1px solid rgba(88,166,255,.32);border-radius:20px;background:linear-gradient(135deg,rgba(88,166,255,.14),rgba(167,139,250,.09)),rgba(13,17,23,.82);box-shadow:var(--shadow-card)}.decision-card h2{color:var(--text);margin:0 0 10px;font-size:clamp(1.05rem,2.1vw,1.45rem);line-height:1.25}.decision-card p{color:#c9d1d9;margin:0;line-height:1.5}.decision-stats{display:grid;grid-gap:9px;gap:9px}.decision-stats span{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(7,10,16,.52);color:var(--muted);font-size:.82rem}.decision-stats strong{display:block;color:var(--text);font-size:1.08rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gauge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:16px 0}.gauge-card{padding:14px;text-align:center}.gauge{--value:0%;width:94px;aspect-ratio:1;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--housing) var(--value),#222b38 0);position:relative}.gauge:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#0d1117}.gauge span{position:relative;z-index:1;color:var(--text);font-weight:850;font-size:.9rem}.gauge-card strong{display:block;color:var(--text)}.gauge-card small{color:var(--muted)}.apartment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:14px 0}.apartment-card{width:100%;white-space:normal;text-align:left;padding:15px;color:var(--text);display:flex;flex-direction:column;gap:8px}.apartment-card.selected,.apartment-card:hover{background:rgba(31,111,235,.16);border-color:rgba(88,166,255,.62);transform:translateY(-1px)}.apartment-card strong{font-size:.98rem}.apartment-card small{color:var(--muted)}.chip-row,.mini-stats{display:flex;flex-wrap:wrap;gap:6px}.chip-row span,.mini-stats span{padding:4px 8px;border:1px solid hsla(0,0%,100%,.06);border-radius:999px;background:hsla(0,0%,100%,.06);color:#c9d1d9;font-size:.72rem;font-weight:650}.down-payment-card{background:linear-gradient(135deg,rgba(16,22,34,.95),rgba(12,18,30,.9))}.strategy-bars{display:grid;grid-gap:12px;gap:12px;margin:16px 0}.strategy-row{padding:13px}.strategy-row-head{display:flex;justify-content:space-between;gap:12px;color:var(--text);margin-bottom:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.strategy-track{height:14px;overflow:hidden;border-radius:999px;background:#222b38;border:1px solid hsla(0,0%,100%,.06)}.strategy-fill{height:100%;border-radius:999px;background:var(--housing);box-shadow:0 0 18px rgba(88,166,255,.28)}.strategy-fill.income{background:linear-gradient(90deg,var(--income),#7ee787)}.strategy-fill.housing{background:linear-gradient(90deg,var(--housing),#a5d6ff)}.strategy-fill.savings{background:linear-gradient(90deg,var(--savings),#d8b4fe)}.down-payment-card p{color:#c9d1d9;line-height:1.5}.finance-section .section-header>div{min-width:0}.finance-section .section-header h2{margin-bottom:4px}.finance-add-form{padding:12px;border:1px solid rgba(88,166,255,.16);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(88,166,255,.07),rgba(167,139,250,.035)),rgba(7,10,16,.34)}.finance-add-form button{min-height:40px;box-shadow:0 10px 24px rgba(35,134,54,.18)}.accounts-section .projections-table input{min-height:34px;padding:7px 9px;background:rgba(13,17,23,.78)}.accounts-section td:nth-child(2){color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.income-grid{grid-template-columns:repeat(2,minmax(190px,1fr));gap:12px}.income-grid label{padding:12px;border:1px solid hsla(0,0%,100%,.06);border-radius:var(--radius-md);background:rgba(7,10,16,.34)}.income-impact-card .gauge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goals-section>.grid-2{align-items:stretch}.goal-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px}.goal-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--housing),var(--savings));opacity:.9}.goal-card .scenario-grid{margin:4px 0}.goal-card .total-bar{margin-top:4px}.goal-progress-row{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:10px;gap:10px}.goal-progress-row progress{margin:0}.goal-progress-row span{color:var(--housing);font-size:.8rem;font-weight:850;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state{margin:12px 0;padding:16px;border:1px dashed rgba(88,166,255,.34);border-radius:var(--radius-md);background:rgba(88,166,255,.07);color:var(--muted);line-height:1.45}@media (max-width:900px){.container{padding:20px 14px}.backup-grid,.decision-card,.grid-2,.hero{grid-template-columns:1fr}.hero-status{align-items:flex-start;text-align:left}.apartment-grid,.gauge-grid,.snapshot-grid,.snapshot-grid.compact{grid-template-columns:1fr 1fr}}@media (max-width:640px){h1{font-size:1.75rem}.hero{padding:20px;border-radius:18px}.backup-panel,.card,.goal-card{padding:14px;border-radius:12px}.section-header{align-items:flex-start;flex-direction:column}button{width:100%}.row button,.tabs a,.tabs button{width:auto}.tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px}.apartment-grid,.gauge-grid,.snapshot-grid,.snapshot-grid.compact{grid-template-columns:1fr}.cashflow-rail{height:34px}.projections-table{border:0;max-height:none;overflow-x:auto;margin-left:-2px;margin-right:-2px}table{min-width:680px;font-size:.8rem}td,th{padding:8px}.strategy-row-head{flex-direction:column}}