:root{--bg:#EDE3F0;--card:#FFFFFF;--alt:#F5F0F7;--text:#0F172A;--sub:#526173;--line:#E3BEEF;--pri:#7D00A3;--pri2:#DB64FF;--onpri:#FFFFFF;--danger:#DC2626;--dangerBg:#FDECEC;--ok:#047857;--okBg:#E3F4EC;--amber:#B45309;--amberBg:#FEF3C7;--shadow:0 18px 40px -24px rgba(50,15,61,.35),0 2px 6px rgba(50,15,61,.05)}
@media (prefers-color-scheme:dark){:root{--bg:#170E1A;--card:#221526;--alt:#351041;--text:#F1F5F9;--sub:#94A3B8;--line:#6A008A;--pri:#DFB3EC;--pri2:#E799FF;--onpri:#1E1221;--danger:#F87171;--dangerBg:#3A1E24;--ok:#10B981;--okBg:#12291F;--amber:#FBBF24;--amberBg:#2E2410;--shadow:0 18px 40px -22px rgba(0,0,0,.7)}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:500 15px/1.4 Roboto,"Segoe UI",system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%}
body{min-height:100vh;background-image:radial-gradient(900px 520px at 88% -8%,rgba(205,41,255,.2),transparent 62%),radial-gradient(760px 460px at 8% 108%,rgba(141,0,184,.12),transparent 60%)}
button,input{font:inherit;color:inherit}
.wrap{max-width:880px;margin:0 auto;padding:20px 16px 48px}
.brand{display:flex;align-items:center;gap:8px}
.brand b{font-size:26px;font-weight:900;letter-spacing:-.04em;background:linear-gradient(90deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand i{font-style:normal;font-size:11px;font-weight:900;letter-spacing:.15em;color:#fff;padding:4px 8px;border-radius:7px;background:linear-gradient(90deg,#7D00A3,#DB64FF)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.top .who{color:var(--sub);font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow);margin-bottom:14px}
.card h2{margin:0 0 4px;font-size:17px}
.card p.sub{margin:0 0 12px;color:var(--sub);font-size:13px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.f{flex:1 1 180px;display:flex;flex-direction:column;gap:4px}
.f label{font-size:12px;color:var(--sub);font-weight:600}
input{height:46px;border-radius:14px;border:1px solid var(--line);background:var(--alt);padding:0 14px;font-size:16px;outline:none;width:100%}
input:focus{border-color:var(--pri)}
.btn{height:46px;border:0;border-radius:14px;padding:0 18px;font-weight:700;cursor:pointer;background:linear-gradient(90deg,#61007E,#DB64FF);color:#fff;white-space:nowrap}
@media (prefers-color-scheme:dark){.btn{background:linear-gradient(90deg,#E799FF,#DFB3EC);color:#1B101E}}
.btn:disabled{opacity:.55;cursor:default}
.ghost{background:transparent!important;color:var(--text)!important;border:1.5px solid var(--line)}
.sm{height:36px;padding:0 12px;border-radius:11px;font-size:13.5px}
.dangerB{color:var(--danger)!important;border-color:var(--danger)!important}
.msg{margin-top:10px;font-size:13.5px;padding:9px 12px;border-radius:12px;display:none}
.msg.err{display:block;background:var(--dangerBg);color:var(--danger)}
.msg.ok{display:block;background:var(--okBg);color:var(--ok)}
.list{display:flex;flex-direction:column;gap:10px}
.u{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:16px;background:var(--alt);border:1px solid var(--line)}
.u.off{opacity:.62}
.av{width:44px;height:44px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#7D00A3,#DB64FF)}
.u .n{font-weight:700;font-size:15.5px}
.u .m{color:var(--sub);font-size:12.5px;margin-top:2px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tag{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.tag.live{color:var(--ok);border-color:var(--ok)}
.tag.lock{color:var(--danger);border-color:var(--danger)}
.tag.adm{color:var(--amber);border-color:var(--amber)}
.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pw{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.pw input{flex:1 1 200px;height:40px}
.login{max-width:420px;margin:8vh auto 0}
.login .brand{justify-content:center;margin-bottom:6px}
.login .tg{text-align:center;color:var(--sub);margin:0 0 18px}
.login .f{margin-bottom:10px}
.login .btn{width:100%;height:52px;margin-top:6px;font-size:17px}
.empty{color:var(--sub);text-align:center;padding:18px}
.stats{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.stat{flex:1 1 120px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow)}
.stat b{display:block;font-size:22px}
.stat span{color:var(--sub);font-size:12.5px}
@media (max-width:560px){.u{grid-template-columns:40px 1fr}.acts{grid-column:1/-1;justify-content:flex-start}.av{width:40px;height:40px}}
