:root{
  --bg:#0d1b1e; --white:#ecfdf5; --muted:#9fb0b8;
  --accent:#1dbf73; --accent-600:#11a55f; --danger:#ef4444;
  --radius:20px; --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Arial;color:var(--white);background:linear-gradient(160deg,#0a1316 0%,#0f172a 50%,#0a1d16 100%) fixed}
a{color:inherit;text-decoration:none}
.bg{position:fixed;inset:0;pointer-events:none;background:
  radial-gradient(700px 500px at 10% -10%,rgba(29,191,115,.18),transparent),
  radial-gradient(700px 500px at 90% 0%,rgba(45,212,191,.18),transparent),
  radial-gradient(1000px 700px at 50% 120%,rgba(59,130,246,.16),transparent);}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:14px 16px}
.logo{width:36px;height:36px}
.ttl{font-weight:800;letter-spacing:.3px}
.sub{font-size:12px;color:var(--muted)}
.container{max-width:980px;margin:0 auto 260px auto;padding:0 16px}
.card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 16px 32px 16px;margin:12px 0;overflow:visible}
.center{margin:56px auto;text-align:center;max-width:680px}
.form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media (max-width:440px){.form{grid-template-columns:1fr}}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}
input,select{width:100%;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#e8ffef;outline:none;font-size:15px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{padding:12px 16px;border-radius:16px;border:1px solid transparent;cursor:pointer;font-weight:800}
.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-600));color:#032313}
.btn.secondary{background:rgba(255,255,255,.10);color:#e6ffee;border-color:rgba(255,255,255,.18)}
.btn.danger{background:linear-gradient(180deg,#f87171,#ef4444);color:#2b0b0b}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.3);color:#d7ece0}
.btn.tiny{padding:8px 10px;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.stat{padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.12)}
.stat .big{font-size:26px;font-weight:900;color:#a7f3d0}
.badge{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-size:12px;color:#eafff5;margin-right:8px}
.table{margin-top:10px;border-top:1px solid rgba(255,255,255,.1);overflow:auto}
.row{display:grid;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);align-items:center;min-width:600px}
.row.head{font-weight:800;color:#e2e8f0}
.hidden{display:none}
.bottom-area{position:fixed;left:0;right:0;bottom:64px;padding:8px 0;background:linear-gradient(180deg,transparent,rgba(15,23,42,.85));backdrop-filter:blur(10px);z-index:8}
.month-pager{display:flex;align-items:center;justify-content:center;gap:8px}
.chip{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);font-size:13px}
.chip.active{background:linear-gradient(180deg,var(--accent),var(--accent-600));color:#04210f;border-color:transparent}
.navbar{position:fixed;left:0;right:0;bottom:0;height:64px;background:rgba(9,15,25,.97);border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-around;align-items:center;z-index:9}
.navbtn{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:#cde7dd}
.navbtn.active{color:#a7f3d0}

.stat{padding-bottom:22px}
.stat .big{margin-bottom:10px}
.stats{row-gap:14px}
