:root{
  --bg:#0c1420;--panel:#121e2c;--panel2:#172536;--border:#263a50;
  --text:#edf4fb;--muted:#8fa4b9;--blue:#2f86ff;--green:#35c27f;--red:#ff6670;
  --sidebar:240px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:#7db6ff;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:#0a111b;border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}
.brand-mark,.login-logo{display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#28c7ff,#7a5cff);color:white}
.brand-mark{width:38px;height:38px;border-radius:10px}
.brand strong{display:block}.brand small{display:block;color:var(--muted);margin-top:3px}
nav{display:grid;gap:6px}
nav a{color:#b9c9d8;padding:10px 12px;border-radius:9px}
nav a:hover,nav a.active{background:#152435;color:white}
.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--border)}
.admin-email{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}
.ghost{background:transparent;border:0;color:#b9c9d8;padding:0}
.content{padding:30px;min-width:0}
.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.page-header h1{margin:0;font-size:28px}.page-header p{margin:6px 0 0;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;margin-bottom:22px}
.stat{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:17px}
.stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
.stat strong{font-size:27px}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;overflow:hidden}
.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.panel-title h2{margin:0;font-size:16px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:var(--muted);font-weight:600;padding:11px 8px;border-bottom:1px solid var(--border)}
td{padding:12px 8px;border-bottom:1px solid rgba(38,58,80,.65);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
.badge{display:inline-flex;padding:4px 8px;border-radius:999px;text-transform:capitalize;font-size:11px;font-weight:700}
.badge.premium{background:rgba(47,134,255,.16);color:#83b8ff}
.badge.free{background:rgba(143,164,185,.13);color:#b9c9d8}
.event-list{display:grid;gap:10px}
.event{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;gap:5px}
.event strong{font-size:12px}.event span{font-size:13px}.event small{color:var(--muted)}
.event-top{display:flex;justify-content:space-between;gap:10px}
.filters{display:flex;gap:10px;margin-bottom:14px}
input,select{background:#0c1723;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 10px;outline:none}
input:focus,select:focus{border-color:#4376b7}
.primary,.secondary,.mini{border-radius:8px;border:1px solid var(--border);padding:9px 12px;color:white}
.primary{background:var(--blue);border-color:var(--blue)}
.secondary,.mini{background:#1a2a3c}
.mini{padding:6px 8px;font-size:11px}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.actions form{margin:0}
.table-wrap{overflow:auto}
.stack{display:grid;gap:14px}
.stack label{display:grid;gap:6px;color:#c6d4e2;font-size:13px}
.settings-panel{max-width:560px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-card{width:min(390px,100%);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:28px}
.login-logo{width:54px;height:54px;border-radius:14px;margin-bottom:18px}
.login-card h1{margin:0}.login-card p{color:var(--muted);margin:6px 0 22px}
.wide{width:100%}
.alert{padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:13px}
.alert.error{background:rgba(255,102,112,.12);border:1px solid rgba(255,102,112,.35);color:#ff9da4}
@media(max-width:1100px){
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:1fr}
}
@media(max-width:760px){
  :root{--sidebar:72px}
  .brand div:last-child,.sidebar nav a{font-size:0}
  .sidebar nav a::first-letter{font-size:14px}
  .sidebar-footer{display:none}
  .content{padding:18px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
