:root{color:#e2e8f0;--surface:#0f172a;--surface2:#1e293b;--accent:#38bdf8;--danger:#f87171;--ok:#4ade80;--border:#334155;--shell-max:1280px;background-color:#020617;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 50% -10%,#1e3a5f 0%,#020617 55%);min-height:100dvh;margin:0}#root{min-height:100dvh}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--border);color:#f8fafc;background:#020617;border-radius:10px;width:100%;padding:.65rem .75rem}button{cursor:pointer;color:#0f172a;background:linear-gradient(#38bdf8,#0ea5e9);border:none;border-radius:12px;padding:.75rem 1rem;font-weight:600}button.secondary{background:var(--surface2);color:#e2e8f0;border:1px solid var(--border)}button.danger{color:#fecaca;background:#7f1d1d}a{color:var(--accent)}.app-shell{width:100%;max-width:var(--shell-max);flex-direction:column;min-height:100dvh;margin:0 auto;padding-bottom:88px;display:flex}.page{flex:1;width:100%;padding:1rem 1rem 1.5rem}@media (width>=768px){.page{padding:1.25rem clamp(1rem,3vw,2rem) 2rem}}.card{border:1px solid var(--border);background:#0f172ad9;border-radius:16px;margin-bottom:.75rem;padding:1rem}@media (width>=768px){.card{margin-bottom:0;padding:1.125rem 1.25rem}}.card h2{margin:0 0 .5rem;font-size:1.1rem}@media (width>=768px){.card h2{font-size:1.15rem}}.muted{color:#94a3b8;font-size:.9rem}.row{align-items:center;gap:.75rem;display:flex}.row-between{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bottom-nav{width:100%;max-width:var(--shell-max);padding:.5rem .25rem calc(.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020617eb;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{text-align:center;color:#94a3b8;flex:1;padding:.5rem .25rem;font-size:.75rem;text-decoration:none}.bottom-nav a.active{color:#38bdf8}.bottom-nav a span{margin-bottom:.15rem;font-size:1.25rem;display:block}@media (width>=1024px){.bottom-nav{padding-left:clamp(.5rem,2vw,1.5rem);padding-right:clamp(.5rem,2vw,1.5rem)}}h1{margin:0 0 1rem;font-size:1.35rem}@media (width>=768px){h1{font-size:1.5rem}}.form-grid{gap:.75rem;display:grid}.label{color:#cbd5e1;font-size:.85rem}.pill{background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.amount{font-variant-numeric:tabular-nums}.chart-wrap{width:100%;height:240px}.chart-wrap--sm{height:220px}.chart-wrap--md{height:280px}.chart-wrap--lg{height:min(420px,55vh)}.chart-wrap--budget{width:100%;height:min(480px,60vh)}.chart-wrap--category{height:min(360px,48vh)}@media (width>=900px){.chart-wrap--category{height:min(440px,55vh)}.chart-wrap{height:280px}.chart-wrap--sm{height:260px}}.dashboard-root{width:100%}.dashboard-toolbar{margin-bottom:1rem}.dashboard-summary{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}@media (width>=640px){.dashboard-summary{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.summary-tile{border:1px solid var(--border);background:#0f172ad9;border-radius:12px;padding:.75rem .875rem}.summary-tile .label{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:.25rem;font-size:.75rem}.summary-tile .value{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.dashboard-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=900px){.dashboard-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1rem}.dashboard-grid .dashboard-span-full{grid-column:1/-1}}@media (width>=1200px){.dashboard-grid{grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr);gap:1.25rem}}
