:root{color-scheme:dark;--bg:#0d1017;--surface:#151924;--surface2:#1b2030;--line:#292f40;--text:#f3f6ff;--muted:#9099ad;--accent:#6d7cff;--accent2:#78a7ff;--danger:#ff657a;--success:#4fd6a1;--warning:#f7b955;--admin-safe-top:env(safe-area-inset-top,0px);--admin-safe-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.user-subscriptions{display:grid;gap:12px;margin-top:12px;white-space:normal}.subscription-summary{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-block:8px;min-width:0}.subscription-summary strong{font-size:13px;white-space:normal!important;overflow-wrap:anywhere}.subscription-summary small{display:block;flex-basis:100%;color:#b5bdd0;font-size:12px;white-space:normal}.subscription-empty{font-size:12px;color:#b5bdd0}.user-subscriptions .badge{font-size:10px}.user-table .user-cell{align-items:flex-start}.user-table .user-cell>span{min-width:0}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 82% 0,#19213b 0,transparent 34%),var(--bg);color:var(--text)}button,input,select{font:inherit}button,a{transition:.18s ease}.eyebrow{margin:0 0 6px;color:#7e89a5;font-size:11px;font-weight:800;letter-spacing:.16em}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(430px,100%);padding:42px;text-align:center;border:1px solid var(--line);border-radius:28px;background:#121722e8;box-shadow:0 30px 90px #0008}.auth-card img{border-radius:22px;box-shadow:0 14px 40px #6678ff33}.auth-card h1{margin:8px 0 12px;font-size:30px}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.primary,.ghost,.toolbar select,.toolbar input,.pagination button{border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text)}.primary{width:100%;padding:14px;border:0;background:linear-gradient(135deg,var(--accent),#5364e8);font-weight:800;cursor:pointer}.secondary-link{display:block;margin-top:18px;color:var(--muted);text-decoration:none}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;border-right:1px solid var(--line);background:#10141ee8;backdrop-filter:blur(18px);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 26px;color:var(--text);text-decoration:none}.brand img{border-radius:13px}.brand span,.sidebar-user div{display:grid;min-width:0}.brand small,.sidebar-user small{color:var(--muted);font-size:12px}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:12px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.nav-item span{display:grid;place-items:center;width:24px;font-size:19px}.nav-item:hover,.nav-item.active{background:#22283a;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--accent2)}.sidebar-user{margin-top:auto;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:13px 10px;border-top:1px solid var(--line)}.sidebar-user img{border-radius:50%;background:#252b3b}.sidebar-user a{color:var(--muted);font-size:20px;text-decoration:none}.main{min-width:0;padding:0 34px 50px}.topbar{height:105px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:28px}.topbar .ghost{margin-left:auto;padding:10px 15px;cursor:pointer}.menu-toggle{display:none;border:0;background:transparent;color:white;font-size:22px}.view{display:none;padding-top:28px}.view.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:16px;margin-bottom:20px}.metric{position:relative;overflow:hidden;min-height:126px;padding:21px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#171c29,#131722)}.metric:after{content:"";position:absolute;right:-25px;bottom:-45px;width:110px;height:110px;border-radius:50%;background:var(--metric-color,#6577ff);filter:blur(40px);opacity:.24}.metric strong{display:block;margin-top:16px;font-size:30px}.metric small{color:var(--muted)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{border:1px solid var(--line);border-radius:18px;background:#131822d9;box-shadow:0 18px 50px #0002;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.panel h2{margin:0;font-size:18px}.link-button{border:0;background:none;color:var(--accent2);cursor:pointer}.compact-list,.log-list{min-height:260px}.compact-user{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 21px;border-bottom:1px solid #252b39}.compact-user img,.avatar{border-radius:50%;object-fit:cover;background:#242a38}.compact-user span,.user-cell span{display:grid}.compact-user small,.user-cell small{color:var(--muted)}.badge{display:inline-flex;width:max-content;padding:4px 8px;border-radius:99px;background:#232a3a;color:#b8c1d5;font-size:11px}.badge.blocked,.level-error{color:#ff91a0;background:#3c1d29}.badge.admin,.level-warn{color:#ffd17b;background:#3d3020}.badge.support{color:#86d9ff;background:#183444}.badge.superadmin{color:#bbb6ff;background:#292552}.toolbar{display:flex;gap:10px;margin-bottom:16px}.search{flex:1;display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.search input,.toolbar>input{width:100%;padding:12px;border:0;outline:0;background:transparent;color:var(--text)}.toolbar>input{width:190px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.toolbar select{padding:0 13px;outline:0}.table-panel{overflow-x:auto}.user-table{min-width:780px}.table-row{display:grid;grid-template-columns:minmax(250px,1.5fr) 150px 145px 120px 40px;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #252b39;cursor:pointer}.table-row:hover{background:#1a1f2c}.table-row.header{color:var(--muted);font-size:12px;font-weight:700;cursor:default}.user-cell{display:flex;align-items:center;gap:12px;min-width:0}.user-cell img{width:42px;height:42px}.user-cell strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:16px}.pagination button{padding:8px 13px;cursor:pointer}.pagination button:disabled{opacity:.35}.logs-table{min-height:350px}.log-row{display:grid;grid-template-columns:165px 80px 100px 1fr;gap:12px;padding:12px 18px;border-bottom:1px solid #242a37;font:13px ui-monospace,SFMono-Regular,Consolas,monospace}.log-row time,.log-row .scope{color:var(--muted)}.log-message{min-width:0;word-break:break-word}.log-details{grid-column:4;margin:0;padding:8px;border-radius:8px;background:#0e121a;color:#9da8bc;white-space:pre-wrap;max-height:180px;overflow:auto}.loading-block,.empty{display:grid;place-items:center;padding:40px;color:var(--muted)}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end}.modal-backdrop{position:absolute;inset:0;border:0;background:#05070bb5;backdrop-filter:blur(4px)}.user-drawer{position:relative;width:min(520px,100%);height:100%;overflow:auto;padding:28px;background:#141924;border-left:1px solid var(--line);box-shadow:-20px 0 70px #0008}.drawer-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border:0;border-radius:50%;background:#252c3b;color:#fff;font-size:25px;cursor:pointer}.profile-head{text-align:center;padding:18px 20px 24px}.profile-head img{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#252b38}.profile-head h2{margin:13px 0 5px}.profile-head a{color:var(--accent2);text-decoration:none}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.detail-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#10151f}.detail-card small{display:block;color:var(--muted);margin-bottom:5px}.drawer-section{margin-top:20px}.drawer-section h3{font-size:14px}.action-row{display:flex;gap:9px;flex-wrap:wrap}.action-row button,.action-row select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#202637;color:#fff;cursor:pointer}.action-row .danger{border-color:#5c2d38;color:#ff8998}.membership{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.membership span:last-child{color:var(--muted);text-align:right}.toast{position:fixed;right:24px;bottom:24px;z-index:80;max-width:360px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:#202738;box-shadow:0 15px 45px #0008;opacity:0;transform:translateY(15px);pointer-events:none}.toast.show{opacity:1;transform:none}.toast.error{border-color:#743444;color:#ffacb7}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;transform:translateX(-105%);width:250px;height:100dvh;padding-top:calc(24px + var(--admin-safe-top));padding-bottom:calc(24px + var(--admin-safe-bottom));box-shadow:20px 0 60px #0009}.sidebar.open{transform:none}.main{padding:0 18px calc(35px + var(--admin-safe-bottom))}.menu-toggle{display:grid;flex:0 0 44px;width:44px;height:44px;padding:0;place-items:center;border-radius:12px;background:#1b2030;cursor:pointer;touch-action:manipulation}.metric-grid{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.topbar{height:calc(86px + var(--admin-safe-top));padding-top:var(--admin-safe-top)}.toolbar{flex-wrap:wrap}.toolbar select,.toolbar>input{height:44px;flex:1}.log-row{grid-template-columns:130px 70px 1fr}.log-row .scope{display:none}.log-details{grid-column:3}}
@media(max-width:560px){.main{padding-inline:12px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:105px;padding:15px}.metric strong{font-size:24px}.topbar h1{font-size:22px}.topbar .ghost{padding:8px}.auth-card{padding:32px 22px}.user-drawer{padding:20px 15px}.detail-grid{grid-template-columns:1fr}.log-row{grid-template-columns:1fr;gap:5px}.log-details{grid-column:1}.log-row time{font-size:11px}}
.compact-user{width:100%;border:0;border-bottom:1px solid #252b39;background:transparent;color:inherit;text-align:left}
html{scrollbar-gutter:stable}
.profile-head h2{overflow-wrap:anywhere}
.user-drawer :focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
.drawer-close{width:44px;height:44px}
.topbar > div{min-width:0;flex:1}
.topbar h1{overflow-wrap:anywhere}
@media(max-width:560px){.topbar{height:auto;min-height:calc(86px + var(--admin-safe-top));padding-block:calc(16px + var(--admin-safe-top)) 16px}}
.community-identity{display:flex!important;align-items:center;gap:10px;min-width:0;text-align:left!important;color:var(--text)!important}.community-identity>img,.community-placeholder{flex:0 0 auto;width:38px;height:38px;border-radius:50%;object-fit:cover;background:#252c3b}.community-placeholder{display:grid!important;place-items:center;color:#8fa2ca}.community-identity>span:last-child{display:grid;min-width:0;text-align:left!important}.community-identity strong{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-identity small{color:var(--muted);font-size:11px}.community-identity.compact>img,.community-identity.compact>.community-placeholder{width:28px;height:28px}.community-identity.compact strong{max-width:155px;font-size:12px}.session-community{display:grid;justify-items:end;gap:6px}.session-community time{color:var(--muted);font-size:11px}.session-membership{align-items:center}

.admin-subnav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.admin-subnav button { min-height:40px; padding:9px 14px; color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:10px; cursor:pointer; font:inherit; }
.admin-subnav button[aria-pressed="true"] { background:var(--surface2); border-color:var(--accent); }
.admin-subnav button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.admin-subview[hidden],#logsSystemPane[hidden],#view-audit[hidden] { display:none; }

/* Shared responsive admin shell and content. */
.main :focus-visible,.sidebar :focus-visible { outline:2px solid var(--accent2); outline-offset:3px; }
.main input,.main textarea { caret-color:var(--accent2); }
.main ::selection { background:#394fa0; color:#fff; }
.sidebar-close,.sidebar-backdrop { display:none; }
.sidebar button,.sidebar a { transition-property:background-color,color,border-color,box-shadow; }
.compact-user>span,.log-row>span,.panel-head>div,.membership>span { min-width:0; overflow-wrap:anywhere; }
.compact-user strong,.detail-card,.log-row time { overflow-wrap:anywhere; }
.log-details { min-width:0; }
.compact-user:not(button) { grid-template-columns:auto minmax(0,1fr); }
.toolbar .search { min-width:0; }
.toolbar input,.toolbar select { min-width:0; }
@media(max-width:900px) {
  .sidebar { width:min(300px,calc(100vw - 36px)); overflow-y:auto; overscroll-behavior:contain; }
  .sidebar:not(.open) { visibility:hidden; }
  .sidebar.open { visibility:visible; }
  .sidebar .brand { padding-right:36px; }
  .sidebar-close { display:grid; place-items:center; position:absolute; right:12px; top:calc(16px + var(--admin-safe-top)); width:44px; height:44px; cursor:pointer; }
  .sidebar-backdrop { display:block; position:fixed; inset:0; z-index:39; border:0; background:#05070bb5; }
  .sidebar-user { padding-bottom:0; }
  .sidebar nav { margin-bottom:24px; }
  .topbar .ghost,.nav-item,.pagination button,.action-row button,.action-row select { min-height:44px; }
  .panel-head { gap:12px; flex-wrap:wrap; }
  .panel-head .link-button { min-height:44px; padding:8px 0; text-align:left; }
  .compact-user { grid-template-columns:42px minmax(0,1fr); gap:10px; padding:16px; text-align:left; }
  .compact-user>b { grid-column:2; }
  .toolbar input,.toolbar select,.action-row select,.report-share-form input { font-size:16px; }
  .toolbar .search { flex:1 1 100%; }
  .toolbar>input,.toolbar>select { flex:1 1 140px; max-width:100%; min-height:44px; }
  .log-row { grid-template-columns:1fr; gap:6px; padding:16px; }
  .log-row .scope { display:block; }
  .log-details { grid-column:1; }
  .log-row .badge { width:max-content; }
  .toast { left:16px; right:16px; bottom:calc(16px + var(--admin-safe-bottom)); max-width:none; overflow-wrap:anywhere; }
  .user-drawer { padding-top:calc(24px + var(--admin-safe-top)); padding-bottom:calc(24px + var(--admin-safe-bottom)); overscroll-behavior:contain; }
}
@media(max-width:900px) {
  .user-table { min-width:0; }
  .user-table .header { display:none; }
  .user-table .table-row { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:16px; }
  .user-table .user-cell { grid-column:1/-1; }
  .user-cell strong { white-space:normal; overflow-wrap:anywhere; }
  .user-last-login,.user-state { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; }
  .user-last-login::before,.user-state::before { content:attr(data-label); color:var(--muted); }
  .user-row-arrow { grid-column:2; grid-row:2; }
  .pagination { gap:10px; padding:16px 10px; flex-wrap:wrap; font-size:13px; }
  .membership { flex-direction:column; align-items:flex-start; gap:10px; }
  .membership>span:last-child { text-align:left; }
  .community-identity strong { max-width:100%; }
}
@media(max-width:560px) {
  .topbar { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; }
  .topbar>.ghost { grid-column:2; justify-self:start; margin-left:0; }
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric { min-height:96px; }
  .panel-head { padding:16px; }
  .panel-head h2 { font-size:18px; }
  .action-row { display:grid; grid-template-columns:1fr; }
  .action-row>* { width:100%; min-width:0; }
  .admin-subnav button { min-height:44px; flex:1 1 140px; }
  .bot-runtime>div { min-width:0; flex-basis:100%; }
  .bot-runtime button { width:100%; }
  #view-bot input,#view-bot textarea,#view-bot select { font-size:16px; }
  #view-reports .report-record-head>button { width:100%; }
}

@media(max-width:360px) { .metric-grid { grid-template-columns:1fr; } }
