
:root {
  color-scheme: dark;
  --bg:#0c0e11;
  --panel:#171a1f;
  --panel2:#1e2228;
  --border:#30363e;
  --text:#e2e6ea;
  --muted:#89929d;
  --red:#a83b44;
  --red2:#dd4d57;
  --green:#64d48a;
  --yellow:#e1b85e;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.eyebrow{font-size:10px;font-weight:900;letter-spacing:.14em;color:#a64a52}
.muted{color:var(--muted);font-size:12px}
.brand-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid #6a3037;border-radius:15px;background:radial-gradient(circle at 30% 20%,#5c232a,#1a1114 70%);color:#f06d75;font-weight:1000;letter-spacing:.08em}
.brand-mark.small{width:40px;height:40px;border-radius:10px;font-size:13px}
.login-view{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% -10%,rgba(156,42,51,.22),transparent 42%)}
.login-card{width:min(420px,100%);display:grid;gap:14px;padding:28px;border:1px solid var(--border);border-radius:18px;background:rgba(22,25,30,.96);box-shadow:0 30px 90px rgba(0,0,0,.48)}
.login-card h1{margin:0;font-size:32px}.login-card p{margin:0;color:var(--muted)}
label{display:grid;gap:6px;color:#abb3bc;font-size:12px}
input,select{width:100%;border:1px solid #353c45;border-radius:9px;background:#101317;color:var(--text);padding:10px 11px;outline:none}
input:focus,select:focus{border-color:#754048}
button{border:1px solid #6d3339;border-radius:9px;background:#8e3038;color:white;padding:9px 13px;font-weight:800}
button:hover{filter:brightness(1.08)}
.ghost-btn{border-color:#3b424b;background:#20242a;color:#c8ced4}
.warn-btn{border-color:#70572d;background:#55411e;color:#f0c66b}
.danger-btn{border-color:#7d343b;background:#7a252d;color:#fff}
.back-link{color:#9ca5af;text-decoration:none;font-size:12px}
.form-message{min-height:18px;color:#e1747a;font-size:12px;white-space:pre-wrap}
.admin-shell{min-height:100dvh;display:grid;grid-template-columns:230px 1fr}
.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:16px;border-right:1px solid #242a31;background:#101216}
.sidebar-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.sidebar-brand div:last-child{display:grid;gap:2px}.sidebar-brand strong{font-size:15px}.sidebar-brand span{color:#9e424a;font-size:9px;font-weight:900;letter-spacing:.15em}
.sidebar nav{display:grid;gap:5px}.nav-btn{width:100%;text-align:left;border-color:transparent;background:transparent;color:#9099a3}.nav-btn.active{border-color:#543036;background:#26191c;color:#e1e5e9}
.sidebar-footer{margin-top:auto;display:grid;gap:8px}.admin-identity{overflow:hidden;color:#aeb5bd;font-size:11px;text-overflow:ellipsis}
.content{min-width:0;padding:22px 26px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.topbar h2{margin:3px 0 0}.topbar-actions{display:flex;align-items:center;gap:8px}.version-badge{padding:5px 8px;border:1px solid #343a42;border-radius:999px;color:#8d96a0;font-size:10px}
.page{display:none}.page.active{display:block}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.metric-card{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.metric-card span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.metric-card strong{display:block;margin-top:8px;font-size:25px;font-variant-numeric:tabular-nums}.metric-card small{display:block;margin-top:3px;color:#737d87}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel{border:1px solid var(--border);border-radius:13px;background:var(--panel);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #292f36}.panel-head h3{margin:0;font-size:13px}.panel-head.responsive{flex-wrap:wrap}
.toolbar{display:flex;gap:7px}.toolbar .search{width:260px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:10px 12px;border-bottom:1px solid #252b32;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#191d22;color:#7f8993;font-size:9px;text-transform:uppercase}tbody tr{cursor:pointer}tbody tr:hover{background:#1c2026}.user-cell{display:grid}.user-cell strong{font-size:11px}.user-cell span{color:#7f8993;font-size:9px}
.status-pill,.online-pill{display:inline-flex;padding:3px 6px;border:1px solid #365440;border-radius:999px;color:var(--green);font-size:9px}.status-pill.blocked{border-color:#60383c;color:#e0767d}.online-pill.offline{border-color:#3b4148;color:#777f88}
.kv-list{display:grid}.kv-row{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid #272d34;font-size:11px}.kv-row span{color:#818b95}.kv-row strong{text-align:right}
.room-list,.stack-list,.audit-list{display:grid;gap:6px;padding:10px}.room-item,.stack-item,.audit-item{padding:9px 10px;border:1px solid #2c3239;border-radius:8px;background:var(--panel2);font-size:10px}.room-item{display:flex;justify-content:space-between;gap:12px}.room-item span,.stack-item span,.audit-item span{color:#838c96}
.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,4,6,.8);backdrop-filter:blur(7px)}.modal-card{width:min(900px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:18px;border:1px solid #373e47;border-radius:15px;background:#15181d;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.modal-head h3{margin:3px 0 0}.close-btn{width:36px;height:36px;padding:0;border-color:#444b54;background:#20242a;font-size:20px}.user-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-column{display:grid;align-content:start;gap:10px}.detail-column h4{margin:10px 0 0;font-size:11px;color:#aab1b8}.action-row{display:flex;gap:7px;flex-wrap:wrap}.danger-zone{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid #563036;border-radius:10px;background:rgba(87,28,34,.12)}.danger-zone p{margin:0;color:#8d777a;font-size:10px}
@media(max-width:900px){.admin-shell{grid-template-columns:72px 1fr}.sidebar-brand div:last-child,.sidebar-footer .admin-identity{display:none}.sidebar{padding:10px}.nav-btn{overflow:hidden;font-size:0}.nav-btn::first-letter{font-size:14px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid,.user-detail-grid{grid-template-columns:1fr}.content{padding:16px}.toolbar{width:100%}.toolbar .search{width:100%}}
@media(max-width:600px){.admin-shell{display:block}.sidebar{position:sticky;z-index:20;top:0;width:100%;height:auto;display:flex;flex-direction:row;align-items:center;gap:8px;border-right:0;border-bottom:1px solid #272d34}.sidebar-brand{margin:0}.sidebar nav{display:flex;overflow:auto}.nav-btn{width:auto;flex:0 0 auto;font-size:10px!important}.sidebar-footer{margin:0 0 0 auto}.sidebar-footer .ghost-btn{padding:7px}.content{padding:12px}.metric-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.version-badge{display:none}.modal{padding:8px}.modal-card{max-height:calc(100dvh - 16px)}}
