:root{--bg:#0d1620;--card:#15212e;--line:#263547;--text:#eef3f8;--muted:#9fb0c2;--accent:#f5d547;--blue:#2c6fb7;--ok:#5fd36a;--bad:#ff6b6b}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}button,input,select{font:inherit}button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:9px 16px;font-weight:600}button.ghost{outline:1px solid var(--line);background:0 0}button.small{padding:4px 9px;font-size:13px}button.danger{background:#8e2b2b}button:disabled{opacity:.5;cursor:default}input[type=text],input[type=password],input[type=number]{border:1px solid var(--line);width:100%;color:var(--text);background:#0f1923;border-radius:8px;padding:9px 11px}label{color:var(--muted);margin:12px 0 4px;font-size:13px;display:block}.msg{min-height:1.5em;margin-top:10px;font-size:14px}.msg.err{color:var(--bad)}.msg.ok{color:var(--ok)}.admin{max-width:980px;margin:0 auto;padding:24px 16px 60px}.admin header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin h1{margin:0;font-size:24px}.admin section{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:18px}.admin h2{margin:0 0 10px;font-size:17px}.admin .row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.admin .row>*{flex:160px}.admin .row>button{flex:none}.admin .check{color:var(--text);align-items:center;gap:8px;margin:6px 0;font-size:15px;display:flex}.admin table{border-collapse:collapse;width:100%;font-size:14px}.admin th,.admin td{text-align:left;border-top:1px solid var(--line);vertical-align:middle;padding:7px 6px}.admin th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-top:0;font-size:12px;font-weight:600}.admin td.acts{flex-wrap:wrap;gap:5px;display:flex}.admin .tag{background:#2a3a4c;border-radius:6px;margin-right:4px;padding:1px 6px;font-size:11px;display:inline-block}.admin .tag.admin{background:#6a5a12}.admin .tag.banned{background:#7a2020}.admin .tag.muted{background:#4a3a6a}.admin .scroll{overflow-x:auto}.admin .empty{color:var(--muted)}
