/* ════════════════════════════════════════════
   CIPHER ADMIN v5 — Matches casino design system
════════════════════════════════════════════ */
:root {
  --bg0:#0f172a; --bg1:#1e293b; --bg2:#1e293b; --bg3:#334155; --bg4:#475569;
  --border:rgba(255,255,255,0.06); --border2:rgba(255,255,255,0.11);
  --accent:#6366f1; --accent2:#818cf8; --accent3:#4f46e5;
  --gold:#f59e0b; --gold2:#fbbf24;
  --green:#22c55e; --red:#ef4444; --blue:#3b82f6; --purple:#a855f7;
  --text1:#f1f5f9; --text2:#94a3b8; --text3:#64748b;
  --r:8px; --r2:12px; --r3:16px; --r4:22px;
  --sidebar-w:230px;
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px;color-scheme:dark}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg0);color:var(--text1);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.anav:focus-visible,.adm-btn-sm:focus-visible,.adm-btn-accent:focus-visible,.adm-burger:focus-visible,.gate-btn:focus-visible,.adm-modal-close:focus-visible{outline:2px solid rgba(129,140,248,0.85);outline-offset:2px}

/* ══ GATE ══ */
.gate-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(ellipse at 30% 50%,rgba(99,102,241,0.06) 0%,transparent 60%)}
.gate-card{width:100%;max-width:380px;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r4);padding:2.5rem;box-shadow:0 40px 80px rgba(0,0,0,0.5);display:flex;flex-direction:column;gap:1.25rem}
.gate-brand{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem}
.gate-brand-icon{flex-shrink:0}
.gate-wordmark{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:-0.5px}
.gate-subtitle{font-size:0.72rem;color:var(--text2);letter-spacing:1px;text-transform:uppercase;margin-top:2px}
.gate-field{display:flex;flex-direction:column;gap:0.4rem}
.gate-field label{font-size:0.75rem;font-weight:600;color:var(--text2);letter-spacing:0.3px}
.gate-field input{padding:0.72rem 0.9rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--text1);font-size:0.9rem;transition:border-color 0.18s;width:100%}
.gate-field input:focus{outline:none;border-color:rgba(99,102,241,0.6);background:var(--bg4)}
.gate-err{color:var(--red);font-size:0.8rem;min-height:1rem;font-weight:500}
.gate-btn{padding:0.8rem;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:0.92rem;font-weight:700;letter-spacing:0.3px;transition:all 0.18s}
.gate-btn:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 4px 20px rgba(99,102,241,0.4)}
.gate-back{text-align:center;font-size:0.8rem;color:var(--text2);transition:color 0.15s}
.gate-back:hover{color:var(--text1)}

/* ══ DASHBOARD SHELL ══ */
.dashboard{display:flex;flex-direction:row;height:100vh;height:100dvh;overflow:hidden;position:relative}

/* Mobile top bar + drawer */
.adm-mtop{display:none;align-items:center;gap:0.75rem;padding:0.65rem 1rem;background:var(--bg1);border-bottom:1px solid var(--border);flex-shrink:0}
.adm-burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-0.35rem;border:none;border-radius:var(--r);background:transparent;color:var(--text1);transition:background 0.15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.adm-burger:hover{background:var(--bg3)}
.adm-mtop-title{font-family:'Space Grotesk',sans-serif;font-size:0.98rem;font-weight:800;letter-spacing:-0.3px;color:var(--text1)}
.adm-scrim{display:none}

/* SIDEBAR */
.adm-sidebar{
  width:var(--sidebar-w);flex-shrink:0;height:100vh;overflow-y:auto;
  background:var(--bg1);border-right:1px solid var(--border);
  display:flex;flex-direction:column;padding:0;
  scrollbar-width:thin;scrollbar-color:var(--border2) transparent;
}
.adm-sidebar::-webkit-scrollbar{width:4px}
.adm-sidebar::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
.adm-brand{display:flex;align-items:center;gap:0.65rem;padding:1.1rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}
.adm-brand-name{font-family:'Space Grotesk',sans-serif;font-size:0.95rem;font-weight:800;letter-spacing:-0.3px}

.adm-identity{display:flex;align-items:center;gap:0.6rem;margin:0.75rem;padding:0.7rem 0.85rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r2)}
.adm-ident-icon{font-size:1.3rem;flex-shrink:0}
.adm-ident-role{font-size:0.78rem;font-weight:700}
.adm-ident-status{display:flex;align-items:center;gap:0.35rem;font-size:0.7rem;color:var(--text2);margin-top:2px}

.adm-live-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 6px var(--green);animation:live-pulse 1.4s ease-in-out infinite;flex-shrink:0}
@keyframes live-pulse{0%,100%{opacity:1}50%{opacity:0.35}}

.adm-nav{display:flex;flex-direction:column;padding:0.5rem;flex:1}
.adm-nav-label{font-size:0.6rem;font-weight:800;letter-spacing:2px;color:var(--text3);padding:0.5rem 0.75rem 0.25rem;text-transform:uppercase}
.anav{display:flex;align-items:center;gap:0.65rem;width:100%;padding:0.62rem 0.75rem;background:transparent;border:none;border-radius:var(--r);color:var(--text2);font-size:0.875rem;font-weight:500;text-align:left;transition:all 0.15s;position:relative;cursor:pointer}
.anav:hover{background:var(--bg3);color:var(--text1)}
.anav.active{background:var(--bg3);color:var(--text1)}
.anav.active::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:2px;background:var(--accent);border-radius:0 2px 2px 0}
.anav-icon{width:16px;height:16px;flex-shrink:0;opacity:0.8}
.anav-muted{color:var(--text3)}
.anav-logout:hover{color:var(--red)}
.adm-sidebar-bottom{padding:0.75rem 0.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:0.15rem}

/* MAIN */
.adm-main{flex:1;overflow-y:auto;min-height:0;height:100vh;height:100dvh;background:var(--bg0);scroll-behavior:smooth}
.apage{display:none;padding:2rem;max-width:1200px}
.apage.active{display:block}

/* Page header */
.apage-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.75rem;gap:1rem;flex-wrap:wrap}
.apage-title{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:-0.5px}
.apage-sub{font-size:0.78rem;color:var(--text2);margin-top:3px}
.apage-hdr-right{display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap}
.live-indicator{display:flex;align-items:center;gap:0.4rem;font-size:0.72rem;font-weight:700;color:var(--green);letter-spacing:0.5px}

/* Buttons */
.adm-btn-sm{display:flex;align-items:center;gap:0.4rem;padding:0.45rem 0.9rem;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);color:var(--text2);font-size:0.78rem;font-weight:600;transition:all 0.15s}
.adm-btn-sm:hover{color:var(--text1);border-color:var(--border2);background:var(--bg4)}
.adm-btn-accent{display:flex;align-items:center;gap:0.4rem;padding:0.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:0.8rem;font-weight:700;transition:all 0.18s}
.adm-btn-accent:hover{background:var(--accent2);transform:translateY(-1px)}
.adm-btn-danger{display:flex;align-items:center;gap:0.35rem;padding:0.4rem 0.8rem;background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.25);border-radius:var(--r);color:var(--red);font-size:0.75rem;font-weight:700;transition:all 0.15s}
.adm-btn-danger:hover{background:rgba(239,68,68,0.2)}
.adm-btn-warn{display:flex;align-items:center;gap:0.35rem;padding:0.4rem 0.8rem;background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.25);border-radius:var(--r);color:var(--gold);font-size:0.75rem;font-weight:700;transition:all 0.15s}
.adm-btn-warn:hover{background:rgba(245,158,11,0.2)}
.adm-btn-ok{display:flex;align-items:center;gap:0.35rem;padding:0.4rem 0.8rem;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.25);border-radius:var(--r);color:var(--green);font-size:0.75rem;font-weight:700;transition:all 0.15s}
.adm-btn-ok:hover{background:rgba(34,197,94,0.2)}

/* Inputs */
.search-wrap{position:relative}
.search-icon{position:absolute;left:0.7rem;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}
.adm-search{padding:0.5rem 0.85rem 0.5rem 2.2rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--text1);font-size:0.82rem;width:200px;transition:border-color 0.15s}
.adm-search:focus{outline:none;border-color:rgba(99,102,241,0.5);background:var(--bg4)}
.adm-sel{padding:0.48rem 0.8rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--text1);font-size:0.8rem;cursor:pointer;transition:border-color 0.15s}
.adm-sel:focus{outline:none;border-color:rgba(99,102,241,0.5)}
.adm-check{display:flex;align-items:center;gap:0.5rem;font-size:0.8rem;color:var(--text2);cursor:pointer}
.adm-check input{width:14px;height:14px;accent-color:var(--accent)}

/* KPI strip */
.kpi-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0.75rem;margin-bottom:1.25rem}
.kpi-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r3);padding:1.1rem;display:flex;align-items:center;gap:0.85rem}
.kpi-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.kpi-icon-blue{background:rgba(59,130,246,0.12)}
.kpi-icon-green{background:rgba(34,197,94,0.1)}
.kpi-icon-gold{background:rgba(245,158,11,0.1)}
.kpi-icon-purple{background:rgba(168,85,247,0.1)}
.kpi-icon-red{background:rgba(239,68,68,0.1)}
.kpi-body{min-width:0}
.kpi-n{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:800;line-height:1;letter-spacing:-0.5px;white-space:nowrap}
.kpi-l{font-size:0.7rem;color:var(--text2);margin-top:3px;white-space:nowrap}
.kpi-green{color:var(--green)}.kpi-gold{color:var(--gold)}.kpi-red{color:var(--red)}

/* Cards */
.adm-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r3);padding:1.25rem;margin-bottom:0}
.adm-card-title{font-size:0.72rem;font-weight:800;letter-spacing:1.5px;color:var(--text2);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* Bet feed */
.bet-feed{display:flex;flex-direction:column;gap:0.35rem;max-height:340px;overflow-y:auto}
.feed-row{display:flex;align-items:center;gap:0.6rem;padding:0.5rem 0.65rem;background:var(--bg3);border-radius:var(--r);font-size:0.78rem;border-left:2px solid var(--border)}
.feed-row.fr-win{border-left-color:var(--green)}
.feed-row.fr-loss{border-left-color:var(--red)}
.feed-avi{font-size:1rem;flex-shrink:0}
.feed-user{font-weight:700;min-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-game{color:var(--text2);flex:1;font-size:0.74rem}
.feed-bet{color:var(--text3);font-size:0.72rem}
.feed-net{font-weight:800;min-width:52px;text-align:right}
.feed-net.pos{color:var(--green)}.feed-net.neg{color:var(--red)}
.feed-time{color:var(--text3);font-size:0.7rem;white-space:nowrap}
.feed-loading{font-size:0.78rem;color:var(--text2);padding:0.5rem}

/* Top lists */
.top-row{display:flex;align-items:center;gap:0.6rem;padding:0.45rem 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:0.8rem}
.top-row:last-child{border-bottom:none}
.top-rank{font-size:0.68rem;font-weight:800;color:var(--text3);min-width:18px}
.top-avi{font-size:1rem;flex-shrink:0}
.top-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-amt{font-weight:800;font-size:0.82rem}
.top-amt.pos{color:var(--green)}.top-amt.neg{color:var(--red)}

/* Tables */
.adm-table-wrap{border-radius:var(--r3);border:1px solid var(--border);overflow-x:auto}
.adm-table{width:100%;border-collapse:collapse;font-size:0.82rem}
.adm-table th{padding:0.7rem 0.9rem;background:var(--bg2);color:var(--text2);font-size:0.67rem;letter-spacing:1.2px;text-align:left;font-weight:800;border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase}
.adm-table td{padding:0.62rem 0.9rem;border-bottom:1px solid rgba(255,255,255,0.04);vertical-align:middle}
.adm-table tr:last-child td{border-bottom:none}
.adm-table tr:hover td{background:var(--bg2)}
.adm-table-scroll{max-height:min(65vh,640px);overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r3)}
.adm-table-scroll thead th{position:sticky;top:0;z-index:2;background:var(--bg2);box-shadow:0 1px 0 var(--border)}
.tbl-empty{text-align:center;color:var(--text2);padding:2.5rem!important;font-size:0.85rem}
.td-actions{display:flex;gap:0.35rem;flex-wrap:wrap}

/* Player cell */
.player-cell{display:flex;align-items:center;gap:0.5rem}
.pc-avi{font-size:1.1rem;flex-shrink:0}
.pc-name{font-weight:700}
.pc-id{font-size:0.68rem;color:var(--text3)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:20px;font-size:0.68rem;font-weight:800;letter-spacing:0.3px}
.badge-active{background:rgba(34,197,94,0.1);color:var(--green);border:1px solid rgba(34,197,94,0.25)}
.badge-banned{background:rgba(239,68,68,0.1);color:var(--red);border:1px solid rgba(239,68,68,0.25)}
.badge-win{background:rgba(34,197,94,0.1);color:var(--green)}
.badge-loss{background:rgba(239,68,68,0.1);color:var(--red)}
.badge-push{background:rgba(59,130,246,0.1);color:var(--blue)}
.badge-bonus,.badge-admin_credit{background:rgba(245,158,11,0.1);color:var(--gold)}

/* Pagination */
.adm-pagination{display:flex;align-items:center;gap:0.4rem;padding:1rem 0;font-size:0.8rem;color:var(--text2);flex-wrap:wrap}
.pg-info{margin-right:0.5rem}
.pg-btn{padding:0.35rem 0.65rem;background:var(--bg3);border:1px solid var(--border);border-radius:6px;color:var(--text1);font-size:0.76rem;cursor:pointer;transition:all 0.15s}
.pg-btn:hover{border-color:var(--accent);color:var(--accent2)}
.pg-btn.active-pg{background:var(--bg4);border-color:var(--accent);color:var(--accent2)}

/* Modal */
.adm-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:200;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;backdrop-filter:blur(4px)}
.adm-modal-overlay.open{display:flex}
.adm-modal{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r4);width:100%;max-width:720px;margin:auto;box-shadow:0 40px 80px rgba(0,0,0,0.5)}
.adm-modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}
.adm-modal-title{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:-0.3px}
.adm-modal-close{background:none;border:none;color:var(--text2);padding:0.25rem;border-radius:6px;transition:color 0.15s;display:flex}
.adm-modal-close:hover{color:var(--text1)}
.adm-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}
.modal-id-line{display:flex;align-items:center;flex-wrap:wrap;gap:0.35rem;font-size:0.8rem;color:var(--text2);margin-top:4px}
.modal-id-hash{color:var(--text3);font-weight:600}
.adm-copy-id{padding:0.25rem 0.55rem!important;font-size:0.68rem!important;min-height:auto}
.modal-id-meta{color:var(--text2)}

/* Modal sections */
.modal-profile-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.modal-avi{font-size:2.8rem;line-height:1}
.modal-profile-info h2{font-family:'Space Grotesk',sans-serif;font-size:1.25rem;font-weight:800}
.modal-profile-info p{font-size:0.8rem;color:var(--text2);margin-top:3px}
.modal-status-banned{color:var(--red);font-size:0.8rem;margin-top:4px;font-weight:600}
.modal-status-active{color:var(--green);font-size:0.8rem;margin-top:4px;font-weight:600}
.modal-stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:0.6rem}
.modal-stat{background:var(--bg3);border-radius:var(--r2);padding:0.75rem}
.modal-stat-n{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;font-weight:800;line-height:1}
.modal-stat-l{font-size:0.65rem;color:var(--text2);margin-top:3px;text-transform:uppercase;letter-spacing:0.5px}
.modal-section-title{font-size:0.68rem;font-weight:800;letter-spacing:1.5px;color:var(--text3);text-transform:uppercase;margin-bottom:0.6rem}
.modal-action-row{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center}
.modal-action-row input{flex:1;min-width:130px;padding:0.5rem 0.75rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--text1);font-size:0.85rem}
.modal-action-row input:focus{outline:none;border-color:rgba(99,102,241,0.5)}
.modal-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.6rem}
.modal-game-card{background:var(--bg3);border-radius:var(--r2);padding:0.75rem}
.modal-game-card h4{font-size:0.8rem;font-weight:700;margin-bottom:0.5rem}
.mgc-row{display:flex;justify-content:space-between;font-size:0.74rem;color:var(--text2);margin-bottom:2px}
.mgc-row span:last-child{color:var(--text1);font-weight:600}
.modal-notes-area{width:100%;padding:0.65rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r2);color:var(--text1);font-size:0.85rem;resize:vertical;min-height:80px;font-family:inherit}
.modal-notes-area:focus{outline:none;border-color:rgba(99,102,241,0.5)}
.modal-mini-table{width:100%;border-collapse:collapse;font-size:0.76rem}
.modal-mini-table th{padding:0.45rem 0.7rem;background:var(--bg3);color:var(--text2);font-size:0.63rem;letter-spacing:1px;font-weight:700;text-align:left;border-bottom:1px solid var(--border)}
.modal-mini-table td{padding:0.4rem 0.7rem;border-bottom:1px solid rgba(255,255,255,0.04)}
.modal-mini-table tr:last-child td{border-bottom:none}
.adm-suc{color:var(--green);font-size:0.78rem;min-height:1rem;font-weight:500}
.adm-err-inline{color:var(--red);font-size:0.78rem;font-weight:500}
canvas.modal-spark{width:100%;height:70px;display:block}

/* Game analytics */
.game-ana-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}
.game-ana-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r3);padding:1.25rem}
.gac-header{display:flex;align-items:center;gap:0.5rem;margin-bottom:1rem}
.gac-icon{font-size:1.2rem}
.gac-name{font-size:0.95rem;font-weight:700}
.gac-metric{display:flex;justify-content:space-between;align-items:center;padding:0.35rem 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:0.78rem}
.gac-metric:last-of-type{border-bottom:none}
.gac-metric-label{color:var(--text2)}
.gac-metric-val{font-weight:700}
.rtp-bar-wrap{margin-top:0.75rem}
.rtp-bar-label{display:flex;justify-content:space-between;font-size:0.68rem;color:var(--text2);margin-bottom:4px}
.rtp-bar{height:5px;background:var(--bg3);border-radius:3px;overflow:hidden}
.rtp-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green),var(--gold))}
.game-summary-table{width:100%;border-collapse:collapse;font-size:0.8rem;margin-top:0.75rem}
.game-summary-table th{padding:0.65rem 0.85rem;background:var(--bg2);color:var(--text2);font-size:0.65rem;letter-spacing:1px;text-align:left;font-weight:800;border-bottom:1px solid var(--border);text-transform:uppercase}
.game-summary-table td{padding:0.6rem 0.85rem;border-bottom:1px solid rgba(255,255,255,0.04)}
.game-summary-table tr:last-child td{border-bottom:none;font-weight:700;background:var(--bg2)}

/* Announcements */
.ann-compose{display:flex;flex-direction:column;gap:0.75rem}
.ann-textarea{padding:0.75rem 0.9rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r2);color:var(--text1);font-size:0.88rem;resize:vertical;width:100%;transition:border-color 0.15s;font-family:inherit}
.ann-textarea:focus{outline:none;border-color:rgba(99,102,241,0.5);background:var(--bg4)}
.ann-compose-row{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap}
.ann-item{background:var(--bg3);border-radius:var(--r2);padding:1rem;margin-bottom:0.5rem;display:flex;align-items:flex-start;gap:0.75rem}
.ann-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}
.ann-status-dot.on{background:var(--green);box-shadow:0 0 6px var(--green)}
.ann-status-dot.off{background:var(--text3)}
.ann-item-body{flex:1}
.ann-item-msg{font-size:0.88rem;margin-bottom:0.35rem}
.ann-item-meta{font-size:0.7rem;color:var(--text2);display:flex;align-items:center;gap:0.75rem}
.ann-badge{font-size:0.65rem;font-weight:800;padding:1px 7px;border-radius:20px}
.ann-badge.info{background:rgba(59,130,246,0.12);color:var(--blue)}
.ann-badge.warning{background:rgba(245,158,11,0.1);color:var(--gold)}
.ann-badge.promo{background:rgba(34,197,94,0.08);color:var(--green)}
.ann-badge.maintenance{background:rgba(168,85,247,0.1);color:var(--purple)}
.ann-item-actions{display:flex;gap:0.35rem;flex-shrink:0}

/* Audit action colors */
.audit-action{display:inline-flex;align-items:center;gap:0.3rem;font-size:0.72rem;font-weight:800;padding:2px 8px;border-radius:5px}
.aa-ban{background:rgba(239,68,68,0.1);color:var(--red)}
.aa-unban{background:rgba(34,197,94,0.1);color:var(--green)}
.aa-credit{background:rgba(245,158,11,0.1);color:var(--gold)}
.aa-delete{background:rgba(239,68,68,0.12);color:var(--red)}
.aa-other{background:rgba(129,140,248,0.1);color:var(--accent2)}

@keyframes toast-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}

.adm-kill-card{border-color:rgba(239,68,68,0.35)!important;background:linear-gradient(165deg,rgba(239,68,68,0.06),transparent 55%)}
.adm-kill-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.adm-kill-title{color:var(--red)!important}
.adm-kill-desc{font-size:0.78rem;color:var(--text2);line-height:1.55;margin:0.35rem 0 0.5rem;max-width:52rem}
.adm-kill-desc code{font-size:0.72rem;background:var(--bg3);padding:0.12rem 0.35rem;border-radius:4px}
.adm-kill-status{font-size:0.8rem;font-weight:700;margin-top:0.35rem}
.adm-kill-live{color:var(--green)}
.adm-kill-off{color:var(--red)}
.adm-kill-panic{padding:0.85rem 1.25rem;background:linear-gradient(180deg,#ef4444,#b91c1c);color:#fff;border:none;border-radius:var(--r2);font-size:0.88rem;font-weight:800;letter-spacing:0.04em;box-shadow:0 8px 28px rgba(239,68,68,0.35);transition:transform 0.15s,filter 0.15s;flex-shrink:0}
.adm-kill-panic:hover{filter:brightness(1.06);transform:translateY(-1px)}
.adm-kill-controls{display:flex;flex-wrap:wrap;align-items:center;gap:0.65rem}
.adm-kill-msg-input{flex:1;min-width:200px;max-width:420px;padding:0.55rem 0.75rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--text1);font-size:0.85rem}
.adm-kill-msg-input:focus{outline:none;border-color:rgba(99,102,241,0.5)}
.adm-input{padding:0.55rem 0.75rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--text1);font-size:0.85rem}
.adm-input:focus{outline:none;border-color:rgba(99,102,241,0.5)}
.risk-aff-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.65rem}
.risk-aff-lbl{font-size:0.8rem;color:var(--text2);font-weight:600}
.shadow-flag-list{margin:0.35rem 0 0 1.1rem;color:var(--gold2);font-size:0.78rem;line-height:1.5}
.shadow-flag-list code{background:var(--bg3);padding:0.08rem 0.3rem;border-radius:4px;font-size:0.72rem}

/* ══ Game Controls — per-game cards (loaded only on admin; not main.css) ══ */
.gc-page-section{margin-bottom:1.5rem}
.gc-section-head{margin-bottom:1rem}
.gc-section-title{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-0.3px;color:var(--text1)}
.gc-section-sub{font-size:0.78rem;color:var(--text2);line-height:1.5;margin-top:0.35rem;max-width:48rem}

.game-control-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));
  gap:1rem;
  margin-bottom:1.5rem;
}

.gc-control-card{
  background:linear-gradient(165deg,rgba(30,36,64,0.35) 0%,var(--bg2) 45%);
  border:1px solid var(--border);
  border-radius:var(--r3);
  padding:0;
  overflow:hidden;
  box-shadow:0 4px 24px rgba(0,0,0,0.2);
  display:flex;
  flex-direction:column;
}
.gc-control-card:hover{border-color:rgba(99,102,241,0.2)}

.gcc-header{
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
  background:rgba(0,0,0,0.15);
}
.gcc-icon{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;
  background:var(--bg3);
  border:1px solid var(--border);
  flex-shrink:0;
}
.gcc-header-text{flex:1;min-width:0}
.gcc-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:1rem;font-weight:800;letter-spacing:-0.3px;
  color:var(--text1);
}
.gcc-sub{font-size:0.68rem;color:var(--text3);margin-top:2px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase}
.gcc-status{
  flex-shrink:0;
  font-size:0.62rem;font-weight:800;letter-spacing:0.12em;
  padding:0.35rem 0.55rem;border-radius:20px;
  border:1px solid transparent;
}
.gcc-status.on{color:var(--green);background:rgba(34,197,94,0.1);border-color:rgba(34,197,94,0.28)}
.gcc-status.off{color:var(--text3);background:var(--bg3);border-color:var(--border)}

.gcc-body{padding:0.65rem 1.1rem 1rem}

.gcc-control-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem;
  padding:0.55rem 0;
  border-bottom:1px solid rgba(255,255,255,0.05);
  font-size:0.82rem;
}
.gcc-control-row:last-of-type{border-bottom:none}
.gcc-label{color:var(--text2);font-weight:500;font-size:0.8rem}

.gcc-numeric-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0.65rem;
  padding:0.5rem 0 0;
}
@media(max-width:520px){
  .gcc-numeric-grid{grid-template-columns:1fr}
}

.gcc-field-col{display:flex;flex-direction:column;gap:0.35rem}
.gcc-field-lbl{
  font-size:0.62rem;font-weight:800;letter-spacing:0.1em;
  color:var(--text3);text-transform:uppercase;
}

.gcc-input-row{display:flex;align-items:center;gap:0.35rem}
.gcc-input{
  box-sizing:border-box;
  width:6.5rem;
  max-width:100%;
  padding:0.5rem 0.6rem;
  background:var(--bg3)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--r);
  color:var(--text1)!important;
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:0.82rem;font-weight:600;
  text-align:center;
  transition:border-color 0.15s,background 0.15s;
  -webkit-appearance:none;appearance:none;
}
.gcc-field-col > .gcc-input,
.gcc-input-row .gcc-input{
  width:100%;
  flex:1;
  min-width:0;
}
.gcc-input:focus{
  outline:none;
  border-color:rgba(99,102,241,0.55)!important;
  background:var(--bg4)!important;
}
.gcc-input::-webkit-outer-spin-button,.gcc-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gcc-input[type=number]{-moz-appearance:textfield}
.gcc-suffix{font-size:0.72rem;color:var(--text3);font-weight:700;flex-shrink:0;min-width:1rem}

.gcc-save-row{
  margin-top:0.85rem;
  padding-top:0.85rem;
  border-top:1px solid rgba(255,255,255,0.06);
}
.gcc-save-row .gcc-save-btn{width:100%}
.gcc-save-btn{
  padding:0.5rem 1rem;
  background:var(--accent);
  color:#fff!important;
  border:none;
  border-radius:var(--r);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.02em;
  transition:background 0.15s,transform 0.15s,box-shadow 0.15s;
  box-shadow:0 4px 14px rgba(99,102,241,0.25);
  white-space:nowrap;
}
.gcc-save-btn:hover{
  background:var(--accent2);
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(99,102,241,0.35);
}

/* Toggle (game active) */
.toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0;position:absolute}
.toggle-slider{
  position:absolute;inset:0;
  background:var(--bg4);
  border-radius:24px;cursor:pointer;
  transition:background 0.2s,border-color 0.2s;
  border:1px solid var(--border2);
}
.toggle-slider::before{
  content:'';position:absolute;width:18px;height:18px;left:2px;top:2px;
  background:var(--text2);
  border-radius:50%;
  transition:transform 0.2s,background 0.2s;
  box-shadow:0 1px 3px rgba(0,0,0,0.35);
}
.toggle-switch input:checked + .toggle-slider{background:rgba(34,197,94,0.25);border-color:rgba(34,197,94,0.45)}
.toggle-switch input:checked + .toggle-slider::before{transform:translateX(20px);background:var(--green)}

/* Force / rig panel */
.force-result-panel{
  margin:0;
  padding:0.85rem 1.1rem 1rem;
  background:rgba(239,68,68,0.05);
  border-top:1px solid rgba(239,68,68,0.18);
}
.frp-title{
  font-size:0.62rem;font-weight:800;letter-spacing:0.14em;
  color:rgba(248,113,113,0.95);
  margin-bottom:0.55rem;
  text-transform:uppercase;
}
.frp-buttons{display:flex;flex-wrap:wrap;gap:0.4rem}
.frp-btn{
  padding:0.42rem 0.75rem;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
  color:var(--text2);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.04em;
  transition:all 0.15s;
  font-family:inherit;
}
.frp-btn:hover{
  border-color:rgba(255,255,255,0.12);
  color:var(--text1);
  background:var(--bg4);
}
.frp-btn.active-force{
  background:rgba(239,68,68,0.15);
  border-color:rgba(239,68,68,0.45);
  color:#fecaca;
  box-shadow:0 0 0 1px rgba(239,68,68,0.12);
}

.gcc-warning{
  display:flex;
  align-items:flex-start;
  gap:0.45rem;
  font-size:0.72rem;
  line-height:1.45;
  color:#fecaca;
  margin-top:0.6rem;
  padding:0.5rem 0.65rem;
  background:rgba(239,68,68,0.1);
  border-radius:var(--r);
  border:1px solid rgba(239,68,68,0.25);
}
.gcc-warning svg{flex-shrink:0;margin-top:2px;opacity:0.9}

/* Broadcast + live monitor helpers used on same page */
.broadcast-compose{display:flex;gap:0.5rem;align-items:flex-start;flex-wrap:wrap}
.broadcast-input{
  flex:1;min-width:200px;
  padding:0.65rem 0.85rem;
  background:var(--bg3)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--r);
  color:var(--text1)!important;
  font-size:0.88rem;
  transition:border-color 0.15s;
}
.broadcast-input:focus{outline:none;border-color:rgba(99,102,241,0.5)!important}

.live-players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.6rem}
.lpm-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r2);padding:0.75rem;display:flex;align-items:center;gap:0.6rem;font-size:0.78rem}
.lpm-avi{font-size:1.1rem;flex-shrink:0}
.lpm-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.lpm-game{font-size:0.68rem;color:var(--text2)}
.lpm-bal{font-weight:700;color:var(--gold);white-space:nowrap;font-size:0.8rem}
.lpm-online{width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0}

.adm-wd-badge{display:inline-block;font-size:0.65rem;font-weight:800;padding:0.22rem 0.5rem;border-radius:6px;letter-spacing:0.04em;text-transform:uppercase;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.adm-wd-neu{background:rgba(255,255,255,0.06);color:var(--text2)}
.adm-wd-pending{background:rgba(245,158,11,0.18);color:var(--gold2)}
.adm-wd-proc{background:rgba(59,130,246,0.18);color:#93c5fd}
.adm-wd-ok{background:rgba(34,197,94,0.18);color:var(--green)}
.adm-wd-bad{background:rgba(239,68,68,0.18);color:#fca5a5}

@media(max-width:700px){
  .game-control-grid{grid-template-columns:1fr}
}

@media(max-width:900px){
  .adm-mtop{display:flex}
  .dashboard{flex-direction:column}
  .adm-sidebar{
    position:fixed;left:0;top:0;bottom:0;width:min(288px,90vw);max-width:100%;
    z-index:300;transform:translateX(-100%);transition:transform 0.28s var(--ease);
    box-shadow:none;border-right:1px solid var(--border);
  }
  .adm-sidebar.open{transform:translateX(0);box-shadow:12px 0 48px rgba(0,0,0,0.55)}
  body.adm-drawer-open .adm-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:299;-webkit-tap-highlight-color:transparent}
  .adm-main{height:auto;flex:1;min-height:0;padding-bottom:max(0.5rem,env(safe-area-inset-bottom,0px))}
  .apage{padding:1.1rem 1rem 2rem}
  .two-col{grid-template-columns:1fr}
  .kpi-strip{grid-template-columns:repeat(2,1fr)}
  .apage-hdr-right{width:100%}
}

@media(min-width:901px){
  .adm-sidebar{transform:none!important;position:relative;left:auto;top:auto}
}
