/* Admin Session Analytics & Bet Ledger */
.sl-host-root,
.sl-mount{min-width:0;width:100%}
.sl-host{display:grid;gap:16px}
.sl-head h2{margin:0 0 4px}
.sl-head .lede{margin:0 0 8px}
.sl-filters{
  display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  align-items:end
}
.sl-filters label{display:grid;gap:4px;font-size:.82rem;font-weight:700}
.sl-filters input,.sl-filters select{
  border:1px solid var(--line,#334155);border-radius:10px;
  padding:8px 10px;font:inherit;background:var(--paper,#0f172a);color:inherit;width:100%
}
.sl-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end}
.sl-actions button{cursor:pointer}
.sl-kpis{
  display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr))
}
.sl-kpi{
  border:1px solid var(--line,#334155);border-radius:14px;
  padding:12px 14px;background:color-mix(in srgb,var(--paper,#0f172a) 88%,#000);
  display:grid;gap:4px
}
.sl-kpi span{font-size:.78rem;opacity:.8;text-transform:uppercase;letter-spacing:.04em}
.sl-kpi strong{font-size:1.15rem;font-weight:800}
.sl-kpi--good strong{color:#4ade80}
.sl-kpi--warn strong{color:#fbbf24}
.sl-kpi--danger strong{color:#f87171}
.sl-section{min-width:0}
.sl-section h3{margin:0 0 8px;font-size:1.05rem}
.sl-section--ledger{
  border:1px solid var(--line,#334155);
  border-radius:16px;
  padding:14px;
  background:color-mix(in srgb,var(--card,#1b2a44) 92%,#000);
}
.sl-muted{opacity:.72;font-size:.88rem}
.sl-filter-hint{
  margin:0;padding:10px 12px;border-radius:10px;font-size:.86rem;
  background:color-mix(in srgb,#38bdf8 14%,transparent);border:1px solid #38bdf855
}
.sl-grid-scroll{
  max-height:min(42vh,360px);
  overflow:auto;
  border:1px solid var(--line,#334155);
  border-radius:12px;
  padding:8px;
  -webkit-overflow-scrolling:touch
}
.sl-grid{
  display:grid;gap:6px;
  grid-template-columns:repeat(auto-fill,minmax(58px,1fr))
}
.sl-cell{
  border:1px solid transparent;border-radius:10px;padding:7px 4px;text-align:center;
  cursor:pointer;background:#1e3a5f;color:#f8fafc;display:grid;gap:2px
}
.sl-cell strong{font-size:.95rem;font-weight:800}
.sl-cell small{font-size:.7rem;opacity:.9}
.sl-cell--zero{background:#273244;border-color:#4b5563;color:#e5e7eb}
.sl-cell--highest{background:#78350f;border-color:#fbbf24;color:#fffbeb}
.sl-cell--lowest{background:#14532d;border-color:#4ade80;color:#f0fdf4}
.sl-cell--normal{background:#1e3a5f;border-color:#60a5fa}
.sl-cell.is-active{outline:2px solid #fbbf24;outline-offset:1px}
.sl-table-wrap{
  overflow:auto;border:1px solid var(--line,#334155);border-radius:12px;
  background:color-mix(in srgb,var(--paper,#152033) 90%,#000);
  min-height:120px
}
.sl-bet-table{
  width:100%;border-collapse:collapse;font-size:.86rem;
  table-layout:auto;max-height:none;color:inherit
}
.sl-bet-table th,.sl-bet-table td{
  text-align:left;padding:10px 12px;
  border-bottom:1px solid color-mix(in srgb,var(--line,#334155) 70%,transparent);
  vertical-align:top;color:inherit
}
.sl-bet-table th{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.85;
  position:sticky;top:0;background:color-mix(in srgb,var(--card,#1b2a44) 96%,#000);z-index:1
}
.sl-empty-row td{
  text-align:center;padding:28px 12px;opacity:.8;font-style:italic
}
.sl-tag{
  display:inline-block;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700
}
.sl-tag--pending{background:#fef3c7;color:#92400e}
.sl-tag--won{background:#d1fae5;color:#065f46}
.sl-tag--lost{background:#fee2e2;color:#991b1b}
.sl-tag--cancelled,.sl-tag--refunded{background:#e5e7eb;color:#374151}
.sl-tag--pos{background:#dbeafe;color:#1e40af}
.sl-tag--self{background:#f3e8ff;color:#6b21a8}
.sl-pager{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.sl-error{color:#f87171;margin:0}
.sl-ok{color:#4ade80;margin:0}
.sl-meta{font-size:.8rem;opacity:.75;line-height:1.35}
.sl-tabs{
  display:flex;flex-wrap:wrap;gap:8px;
  border-bottom:1px solid var(--line,#334155);padding-bottom:10px
}
.sl-tab{
  cursor:pointer;border:1px solid var(--line,#334155);background:transparent;color:inherit;
  border-radius:999px;padding:8px 14px;font:inherit;font-weight:700
}
.sl-tab.is-active{
  background:color-mix(in srgb,#38bdf8 22%,transparent);
  border-color:#38bdf8;color:#e0f2fe
}
.sl-presets{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1}
.sl-preset{
  cursor:pointer;border:1px solid var(--line,#334155);background:transparent;color:inherit;
  border-radius:999px;padding:7px 12px;font:inherit;font-size:.85rem;font-weight:700
}
.sl-preset.is-active{
  background:color-mix(in srgb,#fbbf24 20%,transparent);
  border-color:#fbbf24;color:#fef3c7
}
.sl-kpis--compact{margin:10px 0 14px}
.sl-rank{font-weight:800;opacity:.85}
.sl-badge{
  display:inline-block;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800;
  letter-spacing:.02em;white-space:nowrap
}
.sl-badge--gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1c1403}
.sl-badge--silver{background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#0f172a}
.sl-badge--bronze{background:linear-gradient(135deg,#fdba74,#c2410c);color:#1c0a02}
.sl-pos{color:#4ade80}
.sl-neg{color:#f87171}
.sl-agent-table th:first-child,.sl-agent-table td:first-child{white-space:nowrap}

@media (max-width:720px){
  .sl-bet-table thead{display:none}
  .sl-bet-table tr{
    display:grid;gap:6px;padding:12px;
    border-bottom:1px solid var(--line,#334155)
  }
  .sl-bet-table td{
    display:grid;grid-template-columns:7.5rem 1fr;gap:8px;
    border:0;padding:4px 0
  }
  .sl-bet-table td:before{
    content:attr(data-label);font-weight:700;opacity:.75
  }
  .sl-empty-row td{display:block;text-align:center}
  .sl-empty-row td:before{content:none}
}
