:root{--bg:#f6f7f9;--card:#fff;--ink:#16202c;--muted:#6b7684;--red:#d22f2f;--amber:#c97a00;--green:#1f8a4c;--bar:#4a7bd0}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
main{max-width:520px;margin:0 auto;padding:16px}
.hero{text-align:center;padding:28px 12px 20px}
.label{font-size:1rem;color:var(--muted)}
.big{font-size:clamp(3rem,16vw,4.6rem);font-weight:800;letter-spacing:-.02em;margin:4px 0}
.big.red{color:var(--red)}.big.amber{color:var(--amber)}.big.green{color:var(--green)}
.sub{color:var(--muted);font-size:.95rem}.warn{margin-top:10px;font-size:.9rem;color:var(--red)}
.card{background:var(--card);border-radius:16px;padding:16px;margin:12px 0;box-shadow:0 1px 3px #0001}
h2{font-size:1.05rem;margin:0 0 10px}
ul{list-style:none;margin:0;padding:0}
#alertList li{padding:8px 10px;border-radius:10px;margin:6px 0;font-weight:600}
#alertList li.red{background:#fde8e8;color:var(--red)}#alertList li.amber{background:#fff4dc;color:var(--amber)}
#alertList small{display:block;font-weight:400;color:var(--muted)}
.row{margin:9px 0}.row .top{display:flex;justify-content:space-between;font-size:.95rem}
.track{height:10px;background:#eceff3;border-radius:6px;overflow:hidden;margin-top:3px}
.fill{height:100%;background:var(--bar)}.fill.red{background:var(--red)}.fill.amber{background:var(--amber)}
.bills li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee}
.bills li:last-child{border:0}.muted{color:var(--muted);font-size:.85rem}
.small summary{font-weight:600;cursor:pointer}input{width:100%;font-size:1.2rem;padding:10px;margin-top:6px;border:1px solid #ccd;border-radius:10px}
.foot{text-align:center}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login form{width:100%;max-width:420px;text-align:center}.login h1{font-size:2.2rem;margin:0 0 24px}
.login input{font-size:1.5rem;padding:18px;border-radius:14px}
.login button{width:100%;font-size:1.4rem;font-weight:700;padding:18px;margin-top:14px;border:0;border-radius:14px;background:var(--bar);color:#fff}
.login button:disabled{opacity:.6}.err{color:var(--red);min-height:1.4em;margin-top:12px}
button.link{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:.9rem;cursor:pointer}
