:root{--bg:#0f1011;--bg-soft:#151618;--surface:#191b1f;--surface-raised:#202329;--surface-hover:#252932;--border:#30343d;--border-strong:#424856;--text:#e7e9ee;--text-muted:#9aa3b2;--text-soft:#c6ccd6;--accent:#7dd3fc;--accent-strong:#38bdf8;--success:#4ade80;--danger:#fb7185;--warning:#fbbf24;--shadow:0 20px 60px #00000052;--shadow-soft:0 10px 30px #00000038;--radius:8px;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font:16px/1.5 var(--sans);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:linear-gradient(#7dd3fc14,#0000 360px),linear-gradient(135deg,#0f1011 0%,#15120f 46%,#101417 100%);min-width:320px;min-height:100svh;margin:0}button,input,select{font:inherit}button{border-radius:var(--radius);color:#061016;cursor:pointer;background:linear-gradient(#8bdcff,#38bdf8);border:1px solid #7dd3fc59;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;font-weight:700;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:inline-flex}button:hover{border-color:#7dd3fccc;transform:translateY(-1px);box-shadow:0 12px 26px #38bdf82e}button:active{transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #7dd3fc42}input,select{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:44px;color:var(--text);background:#111316;padding:10px 12px;transition:border-color .18s,box-shadow .18s,background .18s}input:hover,select:hover{border-color:var(--border-strong);background:#14171b}input:focus,select:focus{border-color:var(--accent);background:#11161b;box-shadow:0 0 0 4px #7dd3fc17}input::placeholder{color:#747d8d}select{cursor:pointer}#root{min-height:100svh}h1,h2,p{margin:0}h1,h2{color:var(--text);letter-spacing:0;font-weight:750}h1{font-size:48px;line-height:1.05}h2{font-size:22px;line-height:1.2}table{border-collapse:collapse;width:100%;min-width:560px}th,td{text-align:left;border-bottom:1px solid #30343dc7;padding:15px 16px}th{color:var(--text-muted);text-transform:uppercase;background:#ffffff06;font-size:12px;font-weight:800}td{color:var(--text-soft)}tbody tr{transition:background .16s,color .16s}tbody tr:hover{background:#7dd3fc0e}tbody tr:last-child td{border-bottom:0}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.dashboard-page{width:min(1180px,100% - 32px);margin:0 auto;padding:40px 0 56px;animation:.32s both fade-in}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.dashboard-header h1{margin-top:8px}.dashboard-header h2{color:var(--text-muted);margin-top:10px;font-size:18px;font-weight:600}.logout-actions{flex:none}.logout-button{color:var(--text);border-color:var(--border);box-shadow:none;background:#ffffff0d}.logout-button:hover{color:#fff;background:#fb71851f;border-color:#fb718573;box-shadow:0 12px 26px #fb71851f}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card,.panel,.user-auth{border-radius:var(--radius);background:linear-gradient(180deg, #ffffff0b, transparent), var(--surface);box-shadow:var(--shadow-soft);border:1px solid #ffffff14}.metric-card{min-height:126px;padding:18px;transition:transform .18s,border-color .18s,background .18s;position:relative;overflow:hidden}.metric-card:hover,.panel:hover,.user-auth:hover{border-color:#7dd3fc38}.metric-card:hover{background:linear-gradient(180deg, #fff1, transparent), var(--surface-raised);transform:translateY(-2px)}.metric-card:before{content:"";background:var(--accent);height:3px;position:absolute;inset:0 0 auto}.metric-card-income:before{background:var(--success)}.metric-card-expense:before{background:var(--danger)}.metric-card-balance:before{background:var(--accent)}.metric-card span,.goal-card p,.panel-header span,.form-field span{color:var(--text-muted);font-size:13px;font-weight:700}.metric-card strong{color:var(--text);margin-top:14px;font-size:25px;line-height:1.15;display:block}.goal-card{flex-direction:column;justify-content:space-between;display:flex}.goal-card-header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.goal-card-header strong{margin:0;font-size:20px}.balance-progress-container{background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;width:100%;height:12px;margin:18px 0 10px;overflow:hidden}.balance-progress-fill{background:linear-gradient(90deg, var(--success), var(--accent));border-radius:999px;height:100%;transition:width .32s;box-shadow:0 0 18px #4ade8038}.dashboard-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel{transition:border-color .18s,box-shadow .18s;overflow:hidden}.panel:hover{box-shadow:var(--shadow)}.panel-header{border-bottom:1px solid #30343dc7;justify-content:space-between;align-items:center;gap:16px;padding:18px 18px 16px;display:flex}.panel-header h2{font-size:18px}.table-wrap{overflow-x:auto}.empty-state{color:var(--text-muted);padding:28px 18px}.transaction-panel{margin-bottom:34px}.transaction-form{grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:14px;padding:18px;display:grid}.transaction-actions{align-items:center;gap:8px;display:flex}.transaction-actions button{min-height:36px;padding:8px 12px;font-size:12px}.transaction-form-actions{align-items:end;gap:10px;display:flex}.button-secondary{color:var(--text);border-color:var(--border);box-shadow:none;background:#ffffff0e}.button-secondary:hover{background:#ffffff17;border-color:#7dd3fc73}.type-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.type-toggle label{border:1px solid var(--border);border-radius:var(--radius);min-height:44px;color:var(--text-soft);cursor:pointer;background:#111316;align-items:center;gap:10px;padding:10px 12px;transition:border-color .18s,background .18s,transform .18s;display:flex}.type-toggle label:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-1px)}.type-toggle input{width:auto;min-height:auto;accent-color:var(--accent)}.type-toggle input:checked+span{color:#fff}.form-field{gap:8px;display:grid}.form-alert{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:10px 12px;font-size:14px;font-weight:700}.transaction-panel>.form-alert{margin:18px 18px 0}.form-alert-error{color:#fecdd3;background:#fb71851a;border-color:#fb718559}.form-alert-success{color:#bbf7d0;background:#4ade801a;border-color:#4ade8059}.form-error{color:#fecdd3;font-size:12px;font-weight:700}input[aria-invalid=true],select[aria-invalid=true]{border-color:#fb7185b8;box-shadow:0 0 0 4px #fb71851a}button:disabled{cursor:not-allowed;opacity:.68;box-shadow:none;transform:none}.transaction-form button{align-self:end}.home-page{text-align:center;place-items:center;gap:24px;width:min(1080px,100% - 32px);min-height:100svh;margin:0 auto;padding:48px 0;animation:.32s both fade-in;display:grid}.home-hero{place-items:center;gap:30px;width:100%;display:grid}.home-hero-content{place-items:center;max-width:720px;display:grid}.home-hero h1{margin-top:10px;font-size:64px;line-height:.98}.home-subtitle{max-width:560px;color:var(--text-soft);margin-top:18px;font-size:18px}.home-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.home-button{border-radius:var(--radius);color:#061016;background:linear-gradient(#8bdcff,#38bdf8);border:1px solid #7dd3fc59;justify-content:center;align-items:center;min-width:136px;min-height:46px;padding:10px 20px;font-weight:800;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:inline-flex}.home-button:hover{border-color:#7dd3fccc;transform:translateY(-1px);box-shadow:0 12px 26px #38bdf82e}.home-button:active{transform:translateY(0)}.home-button:focus-visible{outline-offset:2px;outline:3px solid #7dd3fc42}.home-button-secondary{color:var(--text);border-color:var(--border);box-shadow:none;background:#ffffff0e}.home-button-secondary:hover{background:#ffffff17;border-color:#7dd3fc73}.home-preview{border-radius:var(--radius);background:linear-gradient(180deg, #ffffff12, transparent), var(--surface);width:min(520px,100%);box-shadow:var(--shadow);border:1px solid #ffffff1a;position:relative;overflow:hidden}.home-preview:before{content:"";background:linear-gradient(90deg, var(--success), var(--accent), var(--warning));height:3px;position:absolute;inset:0 0 auto}.preview-header{border-bottom:1px solid #30343db8;gap:8px;padding:18px;display:flex}.preview-header span{background:var(--border-strong);border-radius:999px;width:10px;height:10px}.preview-header span:first-child{background:var(--danger)}.preview-header span:nth-child(2){background:var(--warning)}.preview-header span:nth-child(3){background:var(--success)}.preview-balance{gap:8px;padding:26px 24px 18px;display:grid}.preview-balance span,.highlight-card span{color:var(--text-muted);text-transform:uppercase;font-size:13px;font-weight:800}.preview-balance strong{color:var(--text);font-size:38px;line-height:1.05}.preview-chart{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:12px;height:150px;padding:12px 24px 24px;display:grid}.bar{background:linear-gradient(#7dd3fce6,#38bdf833);border:1px solid #7dd3fc2e;border-radius:8px 8px 3px 3px;min-height:42px;display:block;box-shadow:0 12px 24px #38bdf814}.bar-one{height:50%}.bar-two{background:linear-gradient(#4ade80e6,#4ade802e);height:76%}.bar-three{height:38%}.bar-four{background:linear-gradient(#fbbf24eb,#fbbf242e);height:88%}.bar-five{background:linear-gradient(#fb7185e0,#fb718529);height:64%}.preview-list{gap:10px;padding:0 24px 24px;display:grid}.preview-list span{background:#ffffff14;border-radius:999px;height:12px;display:block}.preview-list span:first-child{width:78%}.preview-list span:nth-child(2){justify-self:center;width:54%}.preview-list span:nth-child(3){justify-self:end;width:68%}.home-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(680px,100%);display:grid}.highlight-card{border-radius:var(--radius);background:linear-gradient(180deg, #ffffff0b, transparent), var(--surface);min-height:116px;box-shadow:var(--shadow-soft);border:1px solid #ffffff14;padding:18px;transition:transform .18s,border-color .18s,background .18s;position:relative;overflow:hidden}.highlight-card:hover{background:linear-gradient(180deg, #fff1, transparent), var(--surface-raised);border-color:#7dd3fc38;transform:translateY(-2px)}.highlight-card:before{content:"";background:var(--accent);height:3px;position:absolute;inset:0 0 auto}.highlight-income:before{background:var(--success)}.highlight-expense:before{background:var(--danger)}.highlight-balance:before{background:var(--accent)}.highlight-card strong{color:var(--text);margin-top:14px;font-size:22px;line-height:1.15;display:block}.auth-page{place-items:center;min-height:100svh;padding:32px 16px;display:grid}.user-auth{width:min(420px,100%);padding:28px;animation:.32s both rise-in}.user-auth h1{margin:8px 0 22px;font-size:40px}.user-auth form{gap:14px;display:grid}.user-auth button{width:100%;margin-top:4px}.user-auth+*{margin-top:16px}#root>h1{min-height:100svh;color:var(--text);place-items:center;display:grid}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){h1{font-size:38px}.home-hero h1{font-size:52px}.summary-grid,.dashboard-content,.transaction-form{grid-template-columns:1fr}}@media (width<=640px){body{background:linear-gradient(#7dd3fc0f,#0000 260px),#0f1011}.dashboard-page{width:min(100% - 20px,1180px);padding:24px 0 36px}.dashboard-header{flex-direction:column;gap:16px}.logout-actions,.logout-button{width:100%}.metric-card,.panel-header,.transaction-form,.user-auth{padding:16px}.home-page{width:min(100% - 20px,1080px);padding:32px 0}.home-hero h1{font-size:42px}.home-subtitle{font-size:16px}.home-actions,.home-button{width:100%}.home-highlights{grid-template-columns:1fr}.preview-balance strong{font-size:32px}.preview-chart{gap:9px;height:132px;padding-inline:18px}.preview-list{padding-inline:18px}.type-toggle{grid-template-columns:1fr}.transaction-form-actions{flex-direction:column;align-items:stretch}.transaction-form-actions button{width:100%}th,td{padding:13px 14px}}
