:root{--bg:#f6f7fb;--card:#fff;--tx:#14171f;--mu:#667085;--bd:#e3e6ee;--ac:#4f46e5;--bad:#dc2626;--ok:#16a34a}
@media(prefers-color-scheme:dark){:root{--bg:#0e1118;--card:#171b25;--tx:#e8eaf0;--mu:#98a2b3;--bd:#262c3a;--ac:#818cf8}}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx)}
a{color:var(--ac)}h1{font-size:1.7rem;margin:.2em 0}h3{margin:.2em 0 .6em;font-size:1rem}
.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:18px;margin:0 0 14px;max-width:100%}
.muted{color:var(--mu)}.err{color:var(--bad)}
input,select,button{font:inherit;padding:9px 12px;border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx)}
button{cursor:pointer}button.pri{background:var(--ac);border-color:var(--ac);color:#fff}button:disabled{opacity:.6}
button.sm{padding:4px 8px;font-size:.85rem;margin-right:4px}
form.card input{width:100%;margin:0 0 10px}
.wrap{max-width:860px;margin:0 auto;padding:24px 16px}
.hero{text-align:center;padding:48px 0 24px}.hero p{font-size:1.1rem;color:var(--mu);max-width:560px;margin:8px auto}
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.top{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.btn{padding:9px 14px;border:1px solid var(--bd);border-radius:8px;text-decoration:none;color:var(--tx);background:var(--card)}.btn.pri{background:var(--ac);color:#fff;border-color:var(--ac)}
footer{text-align:center;color:var(--mu);font-size:.9rem;padding:24px}
/* admin */
header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:5}
header nav{display:flex;gap:4px;flex:1}header nav button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.pill{display:inline-block;font-size:.78rem;padding:2px 8px;border-radius:99px;border:1px solid var(--bd);margin-right:4px}
.pill.ok{color:var(--ok);border-color:var(--ok)}.pill.bad{color:var(--bad);border-color:var(--bad)}
main{max-width:1000px;margin:0 auto;padding:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.big{font-size:1.8rem;font-weight:700}.bar{display:flex;gap:8px;margin-bottom:14px}
.chart{display:flex;align-items:flex-end;gap:2px;height:140px}.chart i{flex:1;background:var(--ac);min-height:2px;border-radius:2px 2px 0 0}
.row{display:flex;justify-content:space-between;border-bottom:1px solid var(--bd);padding:4px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two input,.two select{margin:0 0 10px;width:100%}
table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--bd);vertical-align:top;word-break:break-word}
.tw{overflow-x:auto}
#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:10px 16px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}
#toast.show{opacity:1}#toast.bad{background:var(--bad)}
@media(max-width:600px){.two{grid-template-columns:1fr}}
