/* ============================================================
   Admin panel — NEON EDITION (extends style.css tokens)
   ============================================================ */

.admin-body{ min-height:100vh; }

/* ---- Login ---- */
.admin-login-body{
  min-height:100vh; display:grid; place-items:center; padding:40px 22px;
}
.admin-login-card{
  width:100%; max-width:400px; text-align:center;
  background:linear-gradient(180deg, var(--panel-2), var(--panel-solid));
  border:1px solid var(--line-2); border-radius:var(--radius-lg); padding:40px 34px; box-shadow:var(--shadow);
  position:relative; overflow:hidden;
}
.admin-login-card::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--grad-main); }
.admin-login-dots{ display:flex; justify-content:center; gap:7px; margin-bottom:18px; }
.admin-login-dots span{ width:13px; height:13px; border-radius:50%; }
.admin-login-dots span:nth-child(1){ background:var(--blue);   box-shadow:0 0 14px var(--blue); }
.admin-login-dots span:nth-child(2){ background:var(--violet);  box-shadow:0 0 14px var(--violet); }
.admin-login-dots span:nth-child(3){ background:var(--magenta); box-shadow:0 0 14px var(--magenta); }
.admin-login-card h1{ font-family:var(--font-disp); text-transform:uppercase; font-size:1.8rem; letter-spacing:1px; font-style:italic; }
.admin-login-sub{ color:var(--muted); font-size:.84rem; margin:6px 0 24px; }
.admin-login-card form{ text-align:left; display:flex; flex-direction:column; gap:14px; }
.admin-login-card label{ display:flex; flex-direction:column; gap:6px; font-size:.82rem; font-weight:600; color:#fff; }
.admin-login-card input{
  background:rgba(10,10,31,.7); border:1.5px solid var(--line-2); color:var(--text);
  border-radius:12px; padding:12px 14px; font-size:.95rem; font-family:var(--font-body);
}
.admin-login-card input:focus{ outline:none; border-color:var(--violet); box-shadow:0 0 0 3px rgba(139,92,255,.2); }
.admin-login-home{ display:inline-block; margin-top:18px; color:var(--muted); font-size:.85rem; }
.admin-login-home:hover{ color:var(--cyan); }
.admin-alert{ border-radius:10px; padding:11px 14px; font-size:.86rem; margin-bottom:16px; text-align:left; }
.admin-alert-error{ background:rgba(255,77,109,.1); border:1px solid rgba(255,77,109,.4); color:#ffb3c0; }

/* ---- Topbar ---- */
.admin-topbar{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:16px 26px; background:rgba(10,10,31,.82); backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.admin-brand{ display:flex; align-items:center; gap:13px; font-family:var(--font-disp); text-transform:uppercase; font-size:1.2rem; letter-spacing:1px; font-style:italic; }
.admin-brand em{ background:var(--grad-main); -webkit-background-clip:text; background-clip:text; color:transparent; font-style:italic; }
.admin-brand-dots{ display:flex; gap:5px; }
.admin-brand-dots span{ width:10px; height:10px; border-radius:50%; }
.admin-brand-dots span:nth-child(1){ background:var(--blue);   box-shadow:0 0 10px var(--blue); }
.admin-brand-dots span:nth-child(2){ background:var(--violet);  box-shadow:0 0 10px var(--violet); }
.admin-brand-dots span:nth-child(3){ background:var(--magenta); box-shadow:0 0 10px var(--magenta); }
.admin-topbar-right{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.admin-user{ color:var(--muted); font-size:.84rem; }
.admin-user strong{ color:#fff; }

/* ---- Main ---- */
.admin-main{ max-width:1260px; margin:0 auto; padding:28px 26px 70px; }

/* ---- Stats ---- */
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px; }
.stat-card{
  background:linear-gradient(180deg, var(--panel-2), var(--panel-solid));
  border:1px solid var(--line); border-radius:var(--radius); padding:22px 22px;
  position:relative; overflow:hidden; transition:transform .25s, box-shadow .25s;
}
.stat-card:hover{ transform:translateY(-3px); box-shadow:var(--glow-blue); }
.stat-card::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--blue); }
.stat-card.stat-amber::after{ background:var(--amber); }
.stat-card.stat-green::after{ background:var(--green); }
.stat-card.stat-red::after{ background:var(--magenta); }
.stat-num{ font-family:var(--font-disp); font-size:2.7rem; line-height:1; letter-spacing:1px; font-style:italic;
  background:linear-gradient(180deg,#fff,#c3c8ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat-label{ color:var(--muted); font-size:.82rem; letter-spacing:.06em; margin-top:6px; text-transform:uppercase; }

/* ---- Category strip ---- */
.cat-strip{ margin-bottom:22px; }
.cat-strip h3{ font-family:var(--font-disp); text-transform:uppercase; letter-spacing:1px; font-size:1.15rem; font-style:italic;
  background:var(--grad-main); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:12px; }
.cat-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.cat-chip{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--panel-solid); border:1px solid var(--line-2); border-radius:999px;
  padding:8px 8px 8px 15px; font-size:.82rem; color:var(--muted);
}
.cat-chip b{ background:rgba(10,10,31,.7); border-radius:999px; padding:3px 11px; color:var(--cyan); font-family:var(--font-disp); font-size:.95rem; }

/* ---- Toolbar ---- */
.admin-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.admin-filter{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.admin-filter input, .admin-filter select{
  background:var(--panel-solid); border:1.5px solid var(--line-2); color:var(--text);
  border-radius:10px; padding:10px 13px; font-size:.88rem; font-family:var(--font-body);
}
.admin-filter input{ min-width:230px; }
.admin-filter input:focus, .admin-filter select:focus{ outline:none; border-color:var(--violet); box-shadow:0 0 0 3px rgba(139,92,255,.15); }
.admin-filter select option{ background:#12122e; }

/* ---- Table ---- */
.table-wrap{
  background:linear-gradient(180deg, var(--panel-2), var(--panel-solid));
  border:1px solid var(--line); border-radius:var(--radius); overflow-x:auto;
}
.reg-table{ width:100%; border-collapse:collapse; min-width:960px; }
.reg-table thead th{
  text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em;
  color:var(--cyan); padding:15px 14px; border-bottom:1px solid var(--line); white-space:nowrap;
}
.reg-table tbody td{ padding:13px 14px; border-bottom:1px solid var(--line); font-size:.88rem; vertical-align:top; }
.reg-table tbody tr:hover{ background:rgba(139,92,255,.05); }
.reg-table tbody tr:last-child td{ border-bottom:0; }
.mono{ font-family:var(--font-disp); letter-spacing:1px; font-style:italic; font-size:1rem; white-space:nowrap;
  background:var(--grad-main); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cat-cell{ max-width:180px; color:var(--text); }
.nowrap{ white-space:nowrap; color:var(--muted); }

.players-cell details summary{ cursor:pointer; color:var(--text); list-style:none; }
.players-cell details summary::-webkit-details-marker{ display:none; }
.players-cell details summary::before{ content:"▸ "; color:var(--cyan); }
.players-cell details[open] summary::before{ content:"▾ "; }
.player-detail{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:12px; padding:12px; background:rgba(10,10,31,.6); border-radius:10px; font-size:.82rem; color:var(--muted); }
.player-detail b{ color:var(--cyan); }

.inline-form{ margin:0; }
.status-select{
  border:1.5px solid var(--line-2); border-radius:8px; padding:7px 9px; font-size:.78rem;
  font-family:var(--font-body); background:var(--panel-solid); color:var(--text); cursor:pointer; max-width:170px;
}
.status-select option{ background:#12122e; }
.status-select.b-green{ border-color:rgba(47,230,160,.6); color:var(--green); }
.status-select.b-red{ border-color:rgba(255,77,109,.6); color:var(--red); }
.status-select.b-amber{ border-color:rgba(255,194,77,.6); color:var(--amber); }

.link-view{ color:var(--cyan); font-size:.82rem; display:inline-block; margin-right:10px; }
.link-view:hover{ color:var(--magenta); text-decoration:underline; }

.empty-state{ padding:44px; text-align:center; color:var(--muted); }

@media (max-width:900px){
  .stat-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .stat-grid{ grid-template-columns:1fr; }
  .admin-filter input{ min-width:0; flex:1; }
}

/* ---- Logo in admin (v3) ---- */
.admin-login-logo{ margin-bottom:18px; }
.admin-login-logo img{ height:52px; width:auto; max-width:230px; margin:0 auto; object-fit:contain;
  filter:drop-shadow(0 2px 10px rgba(59,123,255,.35)); }
.admin-brand-logo{ height:34px; width:auto; max-width:170px; object-fit:contain; }
@media (max-width:560px){ .admin-brand-logo{ height:28px; max-width:130px; } }
