
:root{
  --bg:#020617;--panel:#0f172a;--panel2:#111827;--muted:#94a3b8;--text:#f8fafc;
  --line:#1e293b;--accent:#38bdf8;--good:#22c55e;--bad:#ef4444;--warn:#f59e0b;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}
button,input,select,textarea{font:inherit}
.app-shell{max-width:720px;margin:0 auto;min-height:100vh;padding-bottom:92px}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 18px 12px;background:rgba(2,6,23,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.04)}
h1,h2,h3{margin:.15rem 0 .7rem}
h1{font-size:1.4rem}
h2{font-size:1.7rem}
h3{font-size:1.02rem}
.eyebrow{font-size:.68rem;letter-spacing:.14em;color:var(--muted);font-weight:700}
main{padding:14px 16px 24px}
.view{display:none}.view.active{display:block}
.card{background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(10,16,30,.98));border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:14px;box-shadow:0 12px 35px rgba(0,0,0,.18)}
.hero-card{display:flex;justify-content:space-between;align-items:center}
.score-ring{width:74px;height:74px;border-radius:999px;border:7px solid var(--accent);display:grid;place-items:center;font-weight:800}
.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.habit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.habit-btn{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:18px;padding:16px 12px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.habit-btn .state{font-size:.75rem;color:var(--muted)}
.habit-btn.yes{border-color:rgba(34,197,94,.65);background:rgba(34,197,94,.10)}
.habit-btn.no{border-color:rgba(239,68,68,.55);background:rgba(239,68,68,.08)}
.form-card label{display:flex;flex-direction:column;gap:7px;color:#cbd5e1;font-size:.84rem;margin-bottom:12px}
input,select,textarea{width:100%;border-radius:13px;border:1px solid var(--line);background:#020617;color:var(--text);padding:12px}
textarea{resize:vertical}
.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:1fr 1fr}
.primary,.ghost,.text-btn{border:0;border-radius:13px;padding:12px 14px;font-weight:750}
.primary{width:100%;background:var(--accent);color:#082f49}
.ghost{background:#0f172a;color:#e2e8f0;border:1px solid var(--line)}
.text-btn{background:transparent;color:var(--accent);padding:6px}
.danger-text{color:#f87171}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(720px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(2,6,23,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.nav-btn{background:transparent;border:0;color:var(--muted);padding:8px 4px;border-radius:14px;display:flex;flex-direction:column;gap:3px;align-items:center}
.nav-btn.active{color:var(--accent);background:rgba(56,189,248,.08)}
.nav-btn span{font-size:1.2rem}.nav-btn small{font-size:.68rem}
.stack{display:flex;flex-direction:column;gap:10px}
.tx-row,.budget-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:13px}
.tx-row .meta,.budget-row .meta{font-size:.74rem;color:var(--muted);margin-top:4px}
.amount.expense{color:#fca5a5}.amount.income{color:#86efac}
.icon-btn{border:0;background:transparent;color:#94a3b8;padding:3px 6px}
.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}
.summary-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px}
.summary-card .label{font-size:.72rem;color:var(--muted)}
.summary-card .value{font-size:1.35rem;font-weight:800;margin-top:4px}
.bar-row{margin:12px 0}.bar-head{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:6px}
.bar-track{height:10px;border-radius:999px;background:#1e293b;overflow:hidden}
.bar-fill{height:100%;background:var(--accent);border-radius:999px}
.empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.hidden{display:none!important}
@media (max-width:420px){.habit-grid{grid-template-columns:1fr 1fr}.form-grid.two{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}}

.muted-copy{color:var(--muted);font-size:.82rem;line-height:1.45;margin:.2rem 0 14px}
.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.secondary-file-btn{display:flex;align-items:center;justify-content:center;border-radius:13px;padding:12px 14px;font-weight:750;background:#0f172a;color:#e2e8f0;border:1px solid var(--line);cursor:pointer}
.backup-meta{margin-top:10px;color:var(--muted);font-size:.74rem}
