/* ══════════════════════════════════════════════════════════
   Admin Panel — Sprint 19 (19/04/2026)
   Composants : adm-*
   ══════════════════════════════════════════════════════════ */

/* ── Root layout ──────────────────────────────────────── */
.adm-root {
  padding:20px 24px 40px;
  max-width:1400px;
  margin:0 auto;
  /* Empêche le panel de grossir avec son contenu (inputs/tables larges).
     Sans ces lignes, un INPUT width:546 forçait .adm-root à 750px sur viewport 402. */
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.adm-content, .adm-stats-wrap, .adm-stats-grid, .adm-server-grid,
.adm-card, .adm-toolbar { min-width:0; }
.adm-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}
.adm-title {
  font-family:var(--font-display);
  font-size:22px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:2px;
}
.adm-section-title {
  font-family:var(--font-display);
  font-size:14px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:1.5px;
  margin:0 0 12px;
}
.adm-subtitle {
  font-family:var(--font-display);
  font-size:12px;
  color:var(--textsoft);
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin:14px 0 8px;
}

/* ── Tabs ─────────────────────────────────────────────── */
.adm-tabs {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:20px;
  border-bottom:1px solid rgba(var(--accent-rgb),0.2);
  padding-bottom:8px;
}
.adm-tab {
  padding:8px 16px;
  background:rgba(var(--accent-rgb),0.06);
  border:1px solid rgba(var(--accent-rgb),0.2);
  border-radius:6px;
  color:var(--textsoft);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.5px;
  cursor:pointer;
  transition:all 0.15s;
  user-select:none;
}
.adm-tab:hover {
  color:var(--text);
  border-color:rgba(var(--accent-rgb),0.5);
  background:rgba(var(--accent-rgb),0.12);
}
.adm-tab.active {
  color:var(--gold);
  border-color:var(--gold);
  background:rgba(255,215,0,0.1);
  box-shadow:0 0 10px rgba(255,215,0,0.2);
}

.adm-content { min-height:200px; }
.adm-loading {
  color:var(--textsoft);
  text-align:center;
  padding:32px;
  font-family:var(--font-mono);
}
.adm-error {
  color:var(--danger);
  padding:16px;
  background:rgba(255,60,60,0.08);
  border:1px solid rgba(255,60,60,0.3);
  border-radius:8px;
}
.adm-empty {
  color:var(--textsoft);
  text-align:center;
  padding:24px;
  font-style:italic;
}

/* ── Toolbar (search + filters) ──────────────────────── */
.adm-toolbar {
  display:flex;
  gap:10px;
  margin-bottom:12px;
  align-items:center;
  flex-wrap:wrap;
}
.adm-input, .adm-select, .adm-textarea {
  padding:9px 12px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:6px;
  color:var(--text);
  font-family:var(--font-body);
  font-size:14px;
  outline:none;
  transition:border-color 0.15s;
}
.adm-input:focus, .adm-select:focus, .adm-textarea:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(var(--accent-rgb),0.18);
}
.adm-input { flex:1; min-width:180px; }
.adm-select { min-width:140px; cursor:pointer; }
.adm-textarea { width:100%; resize:vertical; font-family:var(--font-body); }

.adm-meta {
  color:var(--textsoft);
  font-family:var(--font-mono);
  font-size:12px;
  margin-bottom:10px;
  letter-spacing:0.5px;
}

/* ── Buttons ──────────────────────────────────────────── */
.adm-btn {
  padding:8px 14px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:6px;
  color:var(--text);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:all 0.15s;
  letter-spacing:0.3px;
  user-select:none;
}
.adm-btn:hover {
  border-color:var(--accent);
  background:rgba(var(--accent-rgb),0.1);
}
.adm-btn:disabled { opacity:0.4; cursor:not-allowed; }
.adm-btn-sm     { padding:5px 10px; font-size:12px; }
.adm-btn-primary{ background:var(--accent); border-color:var(--accent); color:var(--textbright); }
.adm-btn-primary:hover { filter:brightness(1.15); }
.adm-btn-success{ background:var(--success); border-color:var(--success); color:var(--textbright); }
.adm-btn-danger { background:var(--danger);  border-color:var(--danger);  color:var(--textbright); }
.adm-btn-gold   { background:var(--gold);    border-color:var(--gold);    color:#000; font-weight:700; }
.adm-btn-purple { background:#7e3bc7; border-color:#7e3bc7; color:var(--textbright); font-weight:700; }
.adm-btn-refresh{ margin-top:12px; }

.adm-actions {
  display:flex;
  gap:4px;
  flex-wrap:wrap;
}

/* ── Tables ───────────────────────────────────────────── */
.adm-table-wrap {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:10px;
  overflow-x:auto;
  max-width:100%;
}
.adm-table {
  width:100%;
  border-collapse:collapse;
  font-family:var(--font-body);
  font-size:14px;
  color:var(--text);
}
.adm-table thead tr {
  border-bottom:2px solid rgba(var(--accent-rgb),0.3);
  background:rgba(var(--accent-rgb),0.04);
}
.adm-table th {
  padding:10px 12px;
  text-align:left;
  color:var(--gold);
  font-family:var(--font-display);
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  white-space:nowrap;
}
.adm-table td {
  padding:9px 12px;
  border-bottom:1px solid var(--tint-2);
  vertical-align:middle;
}
.adm-table tbody tr:hover { background:rgba(var(--accent-rgb),0.05); }
.adm-row { cursor:pointer; }
.adm-row-sel { background:rgba(255,215,0,0.08) !important; }
.adm-mono { font-family:var(--font-mono); }

/* ── Pager ────────────────────────────────────────────── */
.adm-pager {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:12px;
  flex-wrap:wrap;
}
.adm-pager-info {
  padding:4px 12px;
  color:var(--textsoft);
  font-family:var(--font-mono);
  font-size:13px;
}

/* ── Stats grid (tab Stats) ──────────────────────────── */
.adm-stats-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
  margin-bottom:18px;
}
.adm-stat-card {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:10px;
  padding:18px;
  text-align:center;
}
.adm-stat-ico { font-size:26px; margin-bottom:6px; }
.adm-stat-val {
  font-family:var(--font-display);
  font-size:22px;
  font-weight:700;
  color:var(--textbright);
  margin-bottom:4px;
}
.adm-stat-lbl {
  font-size:12px;
  color:var(--textsoft);
  letter-spacing:1px;
  text-transform:uppercase;
}

/* ── Server info (KV) ─────────────────────────────────── */
.adm-server-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.adm-kv {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:6px;
  padding:10px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.adm-kv-lbl {
  color:var(--textsoft);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.8px;
  text-transform:uppercase;
}
.adm-kv-val {
  color:var(--textbright);
  font-family:var(--font-mono);
  font-size:14px;
  font-weight:700;
}

/* ── Players row badges ──────────────────────────────── */
.adm-player-name {
  color:var(--text);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.adm-player-sub {
  color:var(--textsoft);
  font-size:12px;
  margin-top:2px;
  font-family:var(--font-mono);
}
.adm-badge {
  display:inline-block;
  padding:2px 7px;
  border-radius:4px;
  font-family:var(--font-display);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.8px;
}
.adm-badge-gold   { background:rgba(255,215,0,0.18);  color:var(--gold); }
.adm-badge-danger { background:rgba(255,60,60,0.18);  color:var(--danger); }
.adm-badge-pass   { background:rgba(255,215,0,0.22);  color:var(--gold); }

/* ── Alliances detail layout ─────────────────────────── */
.adm-al-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,420px);
  gap:16px;
}
.adm-al-detail {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:10px;
  padding:16px;
  min-height:300px;
}
.adm-al-head { margin-bottom:12px; }
.adm-al-name {
  font-family:var(--font-display);
  font-size:17px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:1px;
}
.adm-al-sub {
  color:var(--textsoft);
  font-family:var(--font-mono);
  font-size:12px;
  margin-top:3px;
}
.adm-al-hq {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-bottom:12px;
}
.adm-al-actions {
  margin-top:16px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* ── Logs ─────────────────────────────────────────────── */
.adm-action-pill {
  font-family:var(--font-display);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.5px;
}
.adm-log-detail {
  font-size:12px;
  color:var(--textsoft);
  font-family:var(--font-mono);
  max-width:420px;
  white-space:normal;
  word-break:break-word;
}

/* ── Announce ─────────────────────────────────────────── */
.adm-announce-wrap { max-width:720px; }
.adm-announce-hint {
  color:var(--textsoft);
  font-size:13px;
  margin-bottom:10px;
}
.adm-announce-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:10px;
}
.adm-counter {
  color:var(--textsoft);
  font-family:var(--font-mono);
  font-size:12px;
}

/* ── Broadcast overlay (reçu par joueurs) ────────────── */
.adm-broadcast-overlay {
  position:fixed; inset:0;
  z-index:var(--z-confirm-modal);
  background:rgba(0,0,0,0.85);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:5vh 16px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  backdrop-filter:blur(6px);
  animation:admFadeIn 0.3s ease;
}
@keyframes admFadeIn { from{opacity:0} to{opacity:1} }
@keyframes admPulse {
  0%,100%{ box-shadow:0 0 30px rgba(var(--accent-rgb),0.3); }
  50%    { box-shadow:0 0 60px rgba(var(--accent-rgb),0.6); }
}
.adm-broadcast-box {
  background:linear-gradient(135deg,rgba(10,14,28,0.98),rgba(16,20,36,0.98));
  border:2px solid var(--gold);
  border-radius:16px;
  padding:40px 48px;
  max-width:560px;
  width:90vw;
  text-align:center;
  animation:admPulse 2s ease-in-out infinite;
}
.adm-broadcast-ico { font-size:48px; margin-bottom:14px; }
.adm-broadcast-title {
  font-family:var(--font-display);
  font-size:18px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:2px;
  margin-bottom:18px;
}
.adm-broadcast-msg {
  font-family:var(--font-body);
  font-size:20px;
  color:var(--text);
  line-height:1.6;
  margin-bottom:30px;
  white-space:pre-wrap;
}
.adm-broadcast-btn {
  padding:12px 38px;
  background:var(--gold);
  border:none;
  border-radius:8px;
  color:#000;
  font-family:var(--font-display);
  font-size:14px;
  font-weight:700;
  letter-spacing:1px;
  cursor:pointer;
  transition:transform 0.15s;
}
.adm-broadcast-btn:hover { transform:translateY(-1px); filter:brightness(1.1); }

/* ── Resources dialog + code display ─────────────────── */
.adm-res-form {
  display:grid;
  grid-template-columns:100px 1fr;
  gap:8px;
  align-items:center;
}
.adm-res-form label {
  color:var(--textsoft);
  font-size:13px;
  font-family:var(--font-mono);
}
.adm-res-mode {
  grid-column:1 / span 2;
  display:flex;
  gap:14px;
  justify-content:center;
  margin-top:6px;
  font-size:13px;
}
.adm-res-mode label { cursor:pointer; }

.adm-code {
  font-family:var(--font-display);
  font-size:36px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:8px;
  text-align:center;
  padding:18px;
  background:rgba(255,215,0,0.08);
  border:1px dashed rgba(255,215,0,0.4);
  border-radius:10px;
  margin:12px 0;
  user-select:all;
}
.adm-code-exp, .adm-code-hint {
  text-align:center;
  font-size:12px;
  color:var(--textsoft);
  margin-top:6px;
}

/* ── Prompt modal input ──────────────────────────────── */
.adm-prompt-input {
  width:100%;
  padding:10px 14px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:6px;
  color:var(--text);
  font-family:var(--font-body);
  font-size:15px;
  outline:none;
}
.adm-prompt-input:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(var(--accent-rgb),0.22);
}
.adm-prompt-hint {
  margin-top:8px;
  color:var(--textsoft);
  font-size:12px;
  font-style:italic;
}

/* ══ Mobile & tablet responsive ══════════════════════ */
@media (max-width: 1024px) {
  .adm-al-layout { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
  .adm-root { padding:14px 12px 30px; }
  .adm-al-layout { grid-template-columns:1fr; }
  .adm-tabs { overflow-x:auto; flex-wrap:nowrap; padding-bottom:12px; }
  .adm-tab { white-space:nowrap; }
  .adm-toolbar { flex-direction:column; align-items:stretch; }
  .adm-toolbar .adm-input,
  .adm-toolbar .adm-select { width:100%; min-width:0 !important; }
  .adm-table th, .adm-table td { padding:7px 8px; font-size:13px; }
  .adm-actions { gap:3px; flex-wrap:wrap; }
  .adm-btn-sm { padding:4px 7px; font-size:11px; }
  .adm-input, .adm-select { min-width:0 !important; max-width:100%; }
}

@media (max-width: 768px) {
  .adm-toolbar { gap:6px; padding:10px 8px; }
  .adm-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:6px; }
  .adm-table { min-width:600px; }
  .adm-stats-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  /* Server grid n'avait pas de breakpoint mobile : minmax(180px, 1fr) forçait l'overflow. */
  .adm-server-grid { grid-template-columns:repeat(2,1fr); }
  /* Inputs sondages avec width fixe → cap à 100% */
  .adm-root input[type="text"],
  .adm-root input[type="number"],
  .adm-root input[type="email"],
  .adm-root textarea,
  .poll-opt-row input { max-width:100% !important; min-width:0 !important; box-sizing:border-box; width:100%; }
  .poll-opt-row { flex-wrap:wrap; min-width:0; }
}

@media (max-width: 600px) {
  .adm-title { font-size:18px; }
  .adm-stats-grid { grid-template-columns:repeat(2,1fr); }
  .adm-server-grid { grid-template-columns:1fr; }
  .adm-table { font-size:12px; min-width:540px; }
  .adm-player-sub { display:none; }
  .adm-al-hq { grid-template-columns:1fr; }
  .adm-code { font-size:28px; letter-spacing:5px; }
  .adm-actions { flex-direction:column; align-items:stretch; }
  .adm-btn { padding:8px 10px; font-size:12px; min-height:var(--touch-min); }
  .adm-card { padding:10px; }
}

@media (max-width: 430px) {
  .adm-root { padding:10px 8px 30px; }
  .adm-title { font-size:16px; letter-spacing:1.5px; }
  .adm-tabs { gap:4px; }
  .adm-tab { padding:8px 10px; font-size:12px; }
  .adm-stats-grid { grid-template-columns:1fr; gap:6px; }
  .adm-table { min-width:480px; }
  .adm-table th, .adm-table td { padding:6px 6px; font-size:11px; }
  .adm-input, .adm-select { font-size:16px !important; padding:10px 12px; }
  .adm-card { padding:8px; }
  .adm-section-title { font-size:13px; }
  .adm-code { font-size:22px; letter-spacing:3px; }
}

@media (max-width: 360px) {
  .adm-table { min-width:420px; }
  .adm-table th, .adm-table td { font-size:10px; padding:5px 4px; }
}

/* Touch feedback */
@media (hover:none), (pointer:coarse) {
  .adm-btn:active, .adm-btn-sm:active { transform:scale(0.96); opacity:0.8; }
  .adm-tab:active { background:rgba(var(--accent-rgb),0.18); }
}

/* ── Monitoring tab ───────────────────────────────────────────── */
.adm-mon-wrap { padding:4px 0; }
.adm-mon-kpis {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:10px;
  margin-bottom:12px;
}
.adm-mon-kpi {
  background:linear-gradient(135deg, rgba(100,200,255,0.06), rgba(255,255,255,0.02));
  border:1px solid rgba(100,200,255,0.18);
  border-radius:10px;
  padding:12px 14px;
  position:relative;
  overflow:hidden;
  transition:transform 0.15s, border-color 0.15s;
}
.adm-mon-kpi:hover { transform:translateY(-2px); border-color:rgba(100,200,255,0.4); }
.adm-mon-kpi-ico { font-size:18px; opacity:0.85; }
.adm-mon-kpi-val {
  font-family:'Orbitron', sans-serif;
  font-size:22px;
  font-weight:700;
  margin:4px 0 2px;
  color:#e8f4ff;
  letter-spacing:1px;
}
.adm-mon-kpi-lbl { font-size:11px; text-transform:uppercase; letter-spacing:1.2px; opacity:0.7; }
.adm-mon-kpi-sub { font-size:10px; opacity:0.5; margin-top:3px; }

.adm-mon-range-bar { display:flex; gap:6px; margin:8px 0; }
.adm-mon-range {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  color:#aaa;
  padding:4px 14px;
  font-size:12px;
  border-radius:6px;
  cursor:pointer;
  transition:all 0.15s;
}
.adm-mon-range:hover { background:rgba(100,200,255,0.1); color:#e8f4ff; }
.adm-mon-range.active { background:rgba(100,200,255,0.18); color:#64c8ff; border-color:rgba(100,200,255,0.5); }

.adm-mon-chart {
  background:rgba(0,0,0,0.25);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:8px;
  padding:8px;
  min-height:180px;
}
.adm-mon-chart.small { min-height:140px; }

.adm-mon-2col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
@media (max-width:768px) { .adm-mon-2col { grid-template-columns:1fr; } }

.adm-mon-fac-row {
  display:grid;
  grid-template-columns:80px 1fr 110px;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
  font-size:13px;
}
.adm-mon-fac-name { color:#ccc; font-weight:600; }
.adm-mon-fac-bar { background:rgba(255,255,255,0.05); border-radius:4px; height:10px; overflow:hidden; }
.adm-mon-fac-fill { height:100%; border-radius:4px; transition:width 0.4s ease-out; }
.adm-mon-fac-val { color:#fff; font-variant-numeric:tabular-nums; font-size:12px; text-align:right; }
.adm-mon-fac-pct { color:#888; }

.adm-mon-heatmap { overflow-x:auto; background:rgba(0,0,0,0.25); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:8px; }
.adm-mon-heatmap table { border-collapse:separate; border-spacing:2px; width:100%; font-size:10px; }
.adm-mon-heatmap th { color:#888; font-weight:500; padding:2px 4px; font-size:10px; }
.adm-mon-heatmap thead th { text-align:center; }
.adm-mon-heatmap tbody th { text-align:right; padding-right:8px; min-width:34px; }
.adm-mon-heatmap td {
  text-align:center;
  padding:4px 2px;
  border-radius:3px;
  color:rgba(255,255,255,0.85);
  min-width:24px;
  font-variant-numeric:tabular-nums;
  transition:transform 0.1s;
}
.adm-mon-heatmap td:hover { transform:scale(1.15); outline:1px solid rgba(255,255,255,0.4); }
.adm-mon-heat-legend { font-size:10px; color:#888; margin-top:8px; text-align:center; }

/* Variation hebdomadaire */
.adm-mon-wow {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
}
.adm-mon-wow-card {
  background:rgba(0,0,0,0.3);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  padding:12px 14px;
}
.adm-mon-wow-lbl { font-size:11px; text-transform:uppercase; letter-spacing:1px; opacity:0.65; }
.adm-mon-wow-val { font-family:'Orbitron',sans-serif; font-size:20px; font-weight:700; color:#e8f4ff; margin:4px 0; }
.adm-mon-wow-delta { font-size:13px; font-weight:600; }
.adm-mon-wow-delta.up   { color:#4ade80; }
.adm-mon-wow-delta.down { color:#f87171; }
.adm-mon-wow-delta.flat { color:#888; }
.adm-mon-wow-prev { font-size:10px; opacity:0.5; margin-top:2px; }

/* Listes courtes (top players, bans, etc.) */
.adm-mon-list {
  list-style:none;
  margin:0;
  padding:0;
  background:rgba(0,0,0,0.25);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:8px;
  overflow:hidden;
}
.adm-mon-list li {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:7px 12px;
  border-bottom:1px solid rgba(255,255,255,0.04);
  font-size:13px;
  gap:10px;
}
.adm-mon-list li:last-child { border-bottom:none; }
.adm-mon-list li:hover { background:rgba(100,200,255,0.05); }
.adm-mon-name { color:#cbe6ff; cursor:pointer; font-weight:500; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-mon-name:hover { color:#fff; text-decoration:underline; }
.adm-mon-val { color:#888; font-size:12px; font-variant-numeric:tabular-nums; }
.adm-mon-reason { font-style:italic; opacity:0.7; max-width:60%; overflow:hidden; text-overflow:ellipsis; }
.adm-mon-sub { font-size:12px; opacity:0.7; margin-top:8px; padding-left:4px; }

/* Mini KPI ligne (combat) */
.adm-mon-mini-kpis {
  display:flex;
  gap:14px;
  margin-bottom:8px;
}
.adm-mon-mini-kpis > div {
  background:rgba(0,0,0,0.25);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:6px;
  padding:8px 14px;
  text-align:center;
  flex:1;
}
.adm-mon-mini-kpis b { display:block; font-family:'Orbitron',sans-serif; font-size:18px; color:#e8f4ff; }
.adm-mon-mini-kpis span { font-size:10px; opacity:0.65; text-transform:uppercase; letter-spacing:0.5px; }

/* Détails repliables */
.adm-mon-details {
  margin-top:10px;
  background:rgba(0,0,0,0.2);
  border:1px solid rgba(255,255,255,0.05);
  border-radius:6px;
  padding:0;
}
.adm-mon-details > summary {
  cursor:pointer;
  padding:8px 12px;
  font-size:12px;
  color:#cbe6ff;
  font-weight:600;
  user-select:none;
}
.adm-mon-details > summary:hover { background:rgba(100,200,255,0.06); }
.adm-mon-details[open] > summary { border-bottom:1px solid rgba(255,255,255,0.06); }
.adm-mon-details > .adm-mon-list,
.adm-mon-details > .adm-mon-small-tbl { margin:0; border:none; border-radius:0; background:transparent; }

/* Petite table */
.adm-mon-small-tbl, .adm-mon-funnel-tbl {
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.adm-mon-small-tbl th, .adm-mon-funnel-tbl th {
  text-align:left;
  padding:6px 10px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  color:#888;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.8px;
}
.adm-mon-small-tbl td, .adm-mon-funnel-tbl td {
  padding:6px 10px;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.adm-mon-funnel-tbl {
  background:rgba(0,0,0,0.25);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:8px;
  overflow:hidden;
}
.adm-mon-pct-bar {
  display:inline-block;
  width:120px;
  height:8px;
  background:rgba(255,255,255,0.06);
  border-radius:4px;
  overflow:hidden;
  vertical-align:middle;
  margin-right:8px;
}
.adm-mon-pct-fill {
  height:100%;
  background:linear-gradient(90deg, #64c8ff, #4ade80);
  border-radius:4px;
}
.adm-mon-pct-txt { font-variant-numeric:tabular-nums; color:#cbe6ff; font-size:11px; }

.adm-mon-err-msg {
  font-family:monospace;
  font-size:11px;
  color:#f87171;
  max-width:600px;
  overflow:hidden;
  text-overflow:ellipsis;
}
