:root{
  --bg:#0b0f14;
  --panel:#0f1621;
  --panel2:#0d131c;
  --text:#e6eef8;
  --muted:#9ab0cc;
  --accent:#4da3ff;
  --line:rgba(77,163,255,.22);
  --danger:#ff5a6a;
  --radius2:22px;
  --shadow: 0 14px 36px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.45}
.container{max-width:1200px;margin:0 auto;padding:18px}
a{color:inherit}
.topbar{position:sticky;top:0;z-index:50;background:#000;border-bottom:1px solid rgba(77,163,255,.18)}
.topbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:44px;height:44px;border-radius:12px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand-mark img{width:42px;height:42px;object-fit:contain}
.brand-name{font-weight:900;letter-spacing:.4px}
.brand-tagline{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nav a{text-decoration:none;color:rgba(230,238,248,.92);padding:8px 10px;border-radius:12px;border:1px solid transparent;font-weight:800;font-size:13px}
.nav a:hover{border-color:var(--line);color:#fff}
.nav a.active{border-color:var(--line);background:rgba(77,163,255,.08);color:#fff}
.pill{background:var(--accent);color:#06101a}
.pill.outline{background:transparent;color:var(--accent);border:1px solid var(--line)}
.pill.tiny{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:900;margin-right:6px}
.nav a.pill,.nav a.pill.outline{padding:8px 12px;border-radius:999px}
.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:10px;border-radius:12px;border:1px solid var(--line)}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--accent);margin:4px 0}
@media(max-width:980px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;background:#000;border-bottom:1px solid var(--line);padding:12px 18px}
  .nav.open{display:flex}
}
.footer{margin-top:24px;border-top:1px solid rgba(77,163,255,.16);padding:18px 0 26px}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-right a{color:var(--muted);text-decoration:none;margin-left:14px}
.footer-right a:hover{color:#fff}
.footer-brand{font-weight:900}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius2);box-shadow:var(--shadow);padding:18px}
.card-title{font-weight:900;letter-spacing:.2px;margin-bottom:10px}
.muted{color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(77,163,255,.08);color:#cfe4ff;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#06101a;padding:12px 16px;border-radius:14px;text-decoration:none;font-weight:900;border:1px solid transparent;cursor:pointer}
.btn.outline{background:transparent;color:var(--accent);border:1px solid var(--line)}
.btn.small{padding:9px 12px;border-radius:12px;font-size:13px}
.btn.outline.danger{color:var(--danger);border-color:rgba(255,90,106,.35)}
.alert{margin:14px 0;border-radius:16px;padding:12px 14px;border:1px solid var(--line);background:rgba(77,163,255,.08);font-weight:800}
.alert.error{border-color:rgba(255,90,106,.35);background:rgba(255,90,106,.08)}
.alert.success{border-color:rgba(56,211,159,.28);background:rgba(56,211,159,.08)}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 14px}
.page-head h1{margin:0;font-size:32px;font-weight:1000}
.form label{display:block;margin:10px 0 6px;color:#cfe4ff;font-weight:900;font-size:13px}
.form input,.form textarea,.search-row input{width:100%;padding:11px 12px;background:var(--bg);border:1px solid rgba(77,163,255,.22);border-radius:14px;color:var(--text);outline:none}
.form textarea{resize:vertical}
.search-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.search-row input{flex:1}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:980px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
.hero{padding:26px 0 14px}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.hero h1{font-size:44px;line-height:1.05;margin:10px 0 10px;font-weight:1000;letter-spacing:.6px}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:36px}}
.lead{color:rgba(230,238,248,.88);font-size:16px;max-width:560px}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.stat-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.stat{min-width:140px;background:var(--panel2);border:1px solid rgba(77,163,255,.16);border-radius:18px;padding:12px 14px}
.stat-num{font-size:24px;font-weight:1000}
.stat-label{color:var(--muted);font-weight:800;font-size:12px;margin-top:2px}
.table{display:flex;flex-direction:column;gap:10px}
.trow{display:grid;grid-template-columns:2.2fr .6fr .9fr .9fr;gap:12px;padding:12px;border-radius:18px;border:1px solid rgba(77,163,255,.14);background:rgba(0,0,0,.12);text-decoration:none}
.trow:hover{border-color:rgba(77,163,255,.35)}
.trow.thead{background:transparent;border:0;padding:0 6px 6px;color:var(--muted);font-weight:1000;font-size:12px;text-transform:uppercase;letter-spacing:.8px}
.tuser{font-weight:1000}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.role{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(77,163,255,.24);color:#cfe4ff;font-weight:1000;font-size:12px}
.role.admin{border-color:rgba(255,90,106,.35);color:#ffd6dc}
.role.staff{border-color:rgba(56,211,159,.28);color:#caffef}
.list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border-radius:18px;border:1px solid rgba(77,163,255,.14);background:rgba(0,0,0,.12);text-decoration:none}
.list-row:hover{border-color:rgba(77,163,255,.35)}
.list-title{font-weight:1000}
.list-meta{color:var(--muted);font-size:13px;margin-top:3px}
.list-arrow{color:var(--accent);font-weight:1000}
.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.pager-links{display:flex;gap:8px}
.prose{color:rgba(230,238,248,.92)}
.prose ul{margin:10px 0 10px 18px}
.prose li{margin:6px 0}
.profile-head{display:flex;gap:16px;align-items:center}
.avatar{width:88px;height:88px;border-radius:22px;border:1px solid var(--line);background:rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:1000;font-size:30px;color:#cfe4ff;background:rgba(77,163,255,.12)}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post{display:grid;grid-template-columns:240px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid rgba(77,163,255,.12)}
.post:last-child{border-bottom:0}
.post-left{display:flex;gap:12px;align-items:flex-start}
.post-avatar{width:56px;height:56px;border-radius:18px;border:1px solid rgba(77,163,255,.22);overflow:hidden;background:rgba(0,0,0,.12)}
.post-avatar img{width:100%;height:100%;object-fit:cover}
.post-name{font-weight:1000}
.post-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
@media(max-width:980px){.post{grid-template-columns:1fr}}
.msg-details summary{cursor:pointer}
.msg-details summary:hover{color:#fff}
