:root{
  --bg:#f3f5f7;--card:#fff;--ink:#172033;--muted:#6b7280;--line:#d8dee6;
  --accent:#111827;--good:#16834d;--warn:#b86b00;--bad:#bd3131
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
header{background:var(--accent);color:#fff;padding:20px 18px;display:flex;justify-content:space-between;align-items:center}
header h1{margin:0;font-size:1.55rem}header h1 small{font-size:.55em;opacity:.65}
header p{margin:4px 0 0;opacity:.75}.header-btn{border:1px solid #ffffff55;background:transparent;color:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}
main{max-width:930px;margin:auto;padding:16px}.hidden{display:none!important}
.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px}
.tab{border:0;background:#e4e8ed;color:var(--ink);font-weight:800;padding:10px 14px;border-radius:999px;white-space:nowrap;cursor:pointer}
.tab.active{background:var(--accent);color:#fff}.panel{display:none}.panel.active{display:block}
.card,.auth-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 3px 12px rgba(0,0,0,.04)}
.auth-card{max-width:480px;margin:45px auto}
h2{font-size:1.15rem;margin:0 0 12px}h3{font-size:1rem;margin:0 0 5px}
label{display:block;font-weight:800;margin:11px 0 6px;font-size:.9rem}
input,select{width:100%;padding:12px;border:1px solid #cbd3dc;border-radius:10px;background:#fff;font:inherit}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.btn{width:100%;border:0;border-radius:10px;padding:12px 14px;margin-top:14px;background:var(--accent);color:#fff;font-weight:900;cursor:pointer}
.btn.secondary{background:#e6e9ed;color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.stat,.trend-card{background:#f7f8fa;border:1px solid var(--line);border-radius:12px;padding:12px}
.value{font-size:1.25rem;font-weight:900}.label,.small{font-size:.82rem;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.row:first-child{border-top:0}
.pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:900}
.good{color:var(--good);background:#e6f5ed}.warn{color:var(--warn);background:#fff1d8}.bad{color:var(--bad);background:#fde7e7}
.progress{height:9px;background:#e7eaee;border-radius:99px;overflow:hidden;margin-top:8px}.progress>div{height:100%;background:var(--accent)}
.icon{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;cursor:pointer}
.empty{text-align:center;color:var(--muted);padding:20px 8px}.message{min-height:1.2em;font-size:.88rem}.message.error{color:var(--bad)}.message.ok{color:var(--good)}
.preview{color:var(--muted);font-size:.84rem;font-weight:700;margin-top:8px}
.chart-wrap{height:320px;margin-top:12px}.chart-wrap canvas{width:100%;height:100%;display:block}
.trend-box{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
@media(max-width:700px){.grid,.grid3,.stats,.trend-box{grid-template-columns:1fr 1fr}.grid3>div:last-child{grid-column:1/-1}.row{grid-template-columns:1fr}}
