:root{color-scheme:dark;--bg: #10141A;--bg-elev: #1A2130;--bg-elev-2: #1F2840;--border: #283040;--border-strong: #344060;--accent: #F06030;--accent-weak: #4A2018;--text: #F0F4F8;--text-dim: #8EA0B4;--muted: #5C7080;--success: #22C55E;--warning: #F5A145;--danger: #EF4444;--owner: #C084FC}body{margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.screen{min-height:100vh;padding:16px;background:var(--bg)}.center{display:flex;align-items:center;justify-content:center}.card{border:1px solid var(--border);background:var(--bg-elev);border-radius:12px;padding:16px;box-shadow:0 1px #0003}.panel{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;padding:18px}.login{width:380px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}.brandLogo{display:block;object-fit:contain;border-radius:12px}.checkboxLabel{display:flex;align-items:center;gap:8px;font-size:12px;color:#b8c5df}.modeBadge{border:1px solid #3a4659;border-radius:999px;padding:6px 10px;font-size:11px;color:#b8c5df;background:#0f1623;width:fit-content}.modeBadgeOk{border-color:#2f6f4f;color:#9ff0c5;background:#12251a}input,select,textarea{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--bg-elev-2);color:var(--text);font-family:inherit;outline:none;transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;accent-color:var(--accent)}.passwordRow{display:flex;align-items:center;gap:8px}.passwordRow input{flex:1}.passwordToggle{width:44px;min-width:44px;padding:10px 0;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent}.passwordToggle:hover{color:var(--text)}button{border:1px solid var(--border-strong);border-radius:8px;padding:10px 16px;background:var(--bg-elev-2);color:var(--text);cursor:pointer;font-weight:600;font-size:13px;letter-spacing:.2px;transition:background .12s ease,border-color .12s ease,transform 60ms ease;white-space:normal;line-height:1.25;text-align:center}button:hover:not(:disabled){background:#1a2230;border-color:var(--border)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.secondaryBtn{background:transparent;border-color:var(--border)}.danger{border-color:#4b2a2a;background:#2a1618;color:#fecaca}.danger:hover:not(:disabled){background:#3a2022}.okMessage{color:var(--success);background:#22c55e14;border:1px solid rgba(34,197,94,.25);padding:8px 12px;border-radius:6px;font-size:13px}.error{color:#fca5a5;background:#ef444414;border:1px solid rgba(239,68,68,.25);padding:8px 12px;border-radius:6px;font-size:13px}.appShell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto 1fr;min-height:100vh;background:var(--bg);width:100%}.sidebar{grid-column:1;grid-row:1 / -1;width:240px;min-width:240px;max-width:240px;border-right:1px solid var(--border);background:var(--bg-elev);padding:18px 12px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow:auto;flex-shrink:0}.topbar{grid-column:2;grid-row:1;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--bg-elev);position:sticky;top:0;z-index:10}.topbarBrand{display:flex;align-items:center;gap:12px}.topActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sidebarHeader{padding:8px 12px 16px;border-bottom:1px solid var(--border);margin-bottom:8px}.sidebarHeader .brand{font-weight:700;letter-spacing:-.2px;font-size:15px}.navItem{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-dim);text-align:left;font-size:13.5px;font-weight:600}.navItem:hover{background:#ffffff08;color:var(--text)}.navItem.active{background:var(--bg-elev-2);color:var(--text);border-color:var(--border)}.navIcon{width:18px;text-align:center;opacity:.9}.mainContent{grid-column:2;grid-row:2;overflow-y:auto;padding:20px 24px 40px;max-width:1280px;width:100%;margin:0 auto}.content{display:flex;flex-direction:column;gap:16px}.sectionTitle{font-size:15px;font-weight:700;letter-spacing:.3px;color:var(--text-dim);text-transform:uppercase}.statGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px}.stat{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;padding:14px 16px}.statLabel{font-size:11px;color:var(--muted);letter-spacing:.6px;text-transform:uppercase}.statValue{font-size:26px;font-weight:800;line-height:1.1;margin-top:4px}.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{border:1px solid #2a3342;border-radius:10px;padding:12px;background:#111826}.big{font-size:28px;font-weight:800;margin-top:6px}.muted{color:#9fb0cf;font-size:12px}.panel{border:1px solid #2a3342;border-radius:10px;padding:12px;background:#111826}.statusList{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.statusList li{display:flex;justify-content:space-between}.ok{color:#4ade80;font-weight:700}.bad{color:#f87171;font-weight:700}.tableWrap{overflow:auto;border:1px solid #2a3342;border-radius:8px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:8px;border-bottom:1px solid #1c2535;font-size:12px}th{background:#0f1623;color:#b8c5df;position:sticky;top:0}.error{color:#f87171;font-size:12px}.okMessage{color:#4ade80;font-size:12px;margin-top:8px}.resolveGrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-bottom:10px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#b8c5df}.fieldWide{grid-column:span 3}.resolveActions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.secondaryBtn{border-color:#3a4659;background:#141c2a}.quickActions{display:flex;gap:6px}.toolbarRow{display:grid;grid-template-columns:1fr 180px;gap:8px;margin-bottom:8px}.toolGrid{display:grid;grid-template-columns:2fr 1fr;gap:8px}.smallBtn{padding:6px 8px;font-size:11px}.bulkRow{display:flex;align-items:center;gap:16px}.bulkCheck{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#b8c5df}.mobileBottomNav{display:none}.hideMobile{display:inline-flex}@media (max-width: 900px){.screen{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0))}.login{width:100%;max-width:420px}.topbar{flex-direction:column;align-items:flex-start;gap:10px}.topActions{flex-wrap:wrap;width:100%}.topActions button{min-height:44px;flex:1 1 auto}.hideMobile,.desktopTabs{display:none}.mobileBottomNav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#0f1623;border-top:1px solid #2a3342;padding:4px 2px calc(4px + env(safe-area-inset-bottom,0));overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px}.mobileNavItem{flex:1 0 56px;min-width:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:none;background:transparent;color:#9fb0cf;font-size:10px;min-height:52px}.mobileNavItem.active{color:#a8b8ff;background:#1a2540;border-radius:8px}.mobileNavIcon{font-size:18px;line-height:1}.mobileNavLabel{line-height:1.1;text-align:center;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.twoCol,.resolveGrid{grid-template-columns:1fr}.fieldWide{grid-column:span 1}.toolbarRow,.toolGrid{grid-template-columns:1fr}.bulkRow{flex-direction:column;align-items:flex-start}button,input,select,textarea{font-size:16px}.smallBtn{min-height:36px;padding:8px 10px}.mainContent{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}}@media (max-width: 480px){.grid{grid-template-columns:1fr 1fr}.big{font-size:22px}h2{font-size:1.15rem}}@media (display-mode: standalone){.topbar{padding-top:env(safe-area-inset-top,0)}}.userDirectory{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:12px;align-items:start}.userListPanel,.userDetailPanel{min-width:0}.userCount{align-self:center;text-align:right}.filterChips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{border-radius:999px;padding:8px 12px;font-size:12px;background:#141c2a;border-color:#2a3342;min-height:36px}.chip.active{border-color:#5c73ff;background:#20305f;color:#edf2ff}.userCardList{display:none;flex-direction:column;gap:8px}.userCard{width:100%;text-align:left;display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid #2a3342;background:#0f1623;color:#edf2ff}.userCard.selected{border-color:#5c73ff;background:#1a2540}.userCardTop,.userCardMeta,.userCardFoot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.userCardName{font-weight:700;font-size:14px}.userCardMeta{font-size:12px;color:#b8c5df}.userCardFoot{font-size:11px}.statusPill,.rolePill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;border:1px solid transparent}.statusPill.online{color:#4ade80;background:#12251a;border-color:#2f6f4f}.statusPill.offline{color:#9fb0cf;background:#141c2a;border-color:#2a3342}.statusPill.banned{color:#fca5a5;background:#3a1822;border-color:#8a3240}.rolePill.admin{color:#a8b8ff;background:#20305f;border-color:#5c73ff}.userTableDesktop tbody tr{cursor:pointer}.rolePill.owner{color:#e0d0ff;background:#c084fc1f;border-color:#c084fc59}.rolePill.admin{color:#a8b8ff;background:#1e3a8a;border-color:#3b82f6}.rolePill.user{color:#9fb0cf;background:#141c2a;border-color:#2a3342}.userActionGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.userActionGrid button{min-height:44px}.voteCard{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;padding:16px;margin-bottom:12px}.voteHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.voteTitle{font-weight:700;font-size:14px}.voteMeta{font-size:12px;color:var(--muted)}.progress{font-weight:700;font-size:13px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev-2)}.progress.complete{border-color:#22c55e66;color:var(--success);background:#22c55e14}.voteReason{font-size:13px;color:var(--text-dim);margin:8px 0 12px;line-height:1.4}.voteActions{display:flex;gap:8px;flex-wrap:wrap}.voteVoters{margin-top:10px;font-size:12px;color:var(--muted)}.voteVoters span{display:inline-block;background:var(--bg-elev-2);border:1px solid var(--border);padding:1px 6px;border-radius:4px;margin:2px 4px 2px 0}.auditTable th,.auditTable td{padding:8px 10px;font-size:12.5px;border-bottom:1px solid var(--border);vertical-align:top}.auditTable th{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.auditAction{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--accent)}@media (max-width: 980px){.appShell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{display:none}.topbar{grid-column:1;grid-row:1}.mainContent{grid-column:1;grid-row:2;max-width:100%;padding:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0))}.userActionGrid{grid-template-columns:1fr}.hideMobile{display:none}.mobileBottomNav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--chrome, #0D1119);border-top:1px solid var(--border);padding:4px 2px calc(4px + env(safe-area-inset-bottom,0));overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px;box-shadow:0 -8px 24px #00000073}.mobileNavItem{flex:1 0 56px;min-width:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:none;background:transparent;color:var(--muted);font-size:10px;min-height:52px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobileNavItem.active{color:var(--accent);background:#f060301f;border-radius:8px}.mobileNavItem.active:before{content:"";display:block;width:20px;height:2.5px;border-radius:2px;background:var(--accent);margin-bottom:2px}.statGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.muted{color:var(--muted)}.chip{border:1px solid var(--border);background:transparent;padding:6px 10px;border-radius:999px;font-size:12px;color:var(--text-dim)}.chip.active{background:#f0603026;color:var(--accent);border-color:var(--accent)}.userCard{text-align:left;width:100%;border:1px solid var(--border);background:var(--bg-elev);padding:12px;border-radius:10px;margin-bottom:8px}.userCard.selected{border-color:var(--accent);box-shadow:0 0 0 1px #3b82f633}.userCardTop{display:flex;justify-content:space-between;align-items:center;gap:8px}.userCardMeta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-dim);margin:6px 0}.userCardFoot{font-size:11px;color:var(--muted)}.statusPill,.rolePill{font-size:10.5px;padding:2px 8px}.tableWrap{overflow:auto;border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 12px;background:var(--bg-elev-2);color:var(--muted);font-weight:700;border-bottom:1px solid var(--border)}td{padding:10px 12px;border-bottom:1px solid var(--border)}.selectedRow{background:#f0603014}.emptyUsers{padding:24px;color:var(--muted)}.userDetailPanel{border:1px solid var(--border);background:var(--bg-elev);border-radius:12px;padding:16px}.userDetailHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.userDetailGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:12px 0}.userDetailGrid dt{font-size:11px;color:var(--muted)}.userDetailGrid dd{margin:2px 0 0;font-size:13px;word-break:break-word}.detailWide{grid-column:1 / -1}.userTableDesktop tbody tr.selectedRow{background:#1a2540}.userDetailHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.userDetailBadges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.userDetailGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0 0 12px}.userDetailGrid div{min-width:0}.userDetailGrid dt{margin:0 0 4px;font-size:11px;color:#9fb0cf;text-transform:uppercase;letter-spacing:.04em}.userDetailGrid dd{margin:0;font-size:13px;word-break:break-word}.userDetailGrid .detailWide{grid-column:1 / -1}.userActionGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.userActionGrid button{min-height:44px;min-width:0}.userDetailEmpty{display:flex;flex-direction:column;justify-content:center;min-height:240px}.hideMobile{display:block}.hideDesktop{display:none}.emptyUsers{padding:16px 0}.userDetailBackdrop{display:none}@media (max-width: 900px){.userDetailBackdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0000008c;border:none;padding:0;cursor:pointer}.userDirectory{grid-template-columns:1fr}.userCardList{display:flex}.userTableDesktop{display:none}.hideMobile{display:none!important}.hideDesktop{display:inline-flex}.userDetailPanel{position:fixed;left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom,0));z-index:90;max-height:min(72vh,640px);overflow:auto;box-shadow:0 12px 40px #00000073}.userDetailGrid,.userActionGrid{grid-template-columns:1fr}.filterChips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.chip{flex:0 0 auto}.quickActions,.resolveActions{flex-wrap:wrap}.resolveActions button{flex:1 1 100%;min-height:44px}table{min-width:560px}}.presenceDot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.presenceDot.online{background:var(--success);box-shadow:0 0 4px #22c55e99;animation:pulse 2s ease-in-out infinite}.presenceDot.offline{background:var(--border)}.presenceDot.banned{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}table thead th{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--border)}table tbody tr.selectedRow{background:#388bfd1a;border-left:3px solid var(--accent)}table tbody tr:hover{background:var(--bg-elev-2)}.chip{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;background:var(--bg-elev-2);color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .12s ease;white-space:nowrap}.chip:hover,.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sectionToggle{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.sectionToggle.allowed{background:#22c55e1f;color:var(--success);border-color:#22c55e66}.sectionToggle.allowed:hover{background:#22c55e38}.sectionToggle.blocked{background:#ef44441f;color:var(--danger);border-color:#ef444466}.sectionToggle.blocked:hover{background:#ef444438}.sectionToggle:disabled{opacity:.5;cursor:wait}.adminPermRow{border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:10px;background:var(--bg-elev-2)}.adminPermEmail{font-weight:600;font-size:13px;margin-bottom:10px;color:var(--text)}.sectionToggles{display:flex;gap:8px;flex-wrap:wrap}
