:root {
  --primary: #00c853;
  --accent: #ff1744;
  --dark: #07111f;
  --panel: rgba(8, 18, 31, 0.92);
  --panel-soft: rgba(255, 255, 255, 0.08);
  --text: #f7fbff;
  --muted: #9fb0c7;
  --line: rgba(255, 255, 255, 0.12);
  --success: #00e676;
  --warning: #ffd740;
  --danger: #ff3d71;
  --radius: 18px;
  --shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body {
  color: var(--text);
  background:
    radial-gradient(circle at 15% 15%, rgba(0, 200, 83, 0.13), transparent 28%),
    radial-gradient(circle at 85% 10%, rgba(0, 174, 255, 0.16), transparent 30%),
    linear-gradient(135deg, #06101d, #0c1b30 52%, #07111f);
  overflow-x: hidden;
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: 0.5; }

a { color: inherit; }

.hidden { display: none !important; }
.muted { color: var(--muted); }
.tiny { font-size: 12px; }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.text-warning { color: var(--warning); }
.full { width: 100%; }
.nowrap { white-space: nowrap; }
.center { text-align: center; }

.glass {
  background: rgba(7, 17, 31, 0.76);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.btn {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  color: white;
  background: rgba(255,255,255,0.08);
  font-weight: 750;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.btn:hover { transform: translateY(-1px); background: rgba(255,255,255,0.13); }
.btn:active { transform: translateY(0) scale(.98); }
.btn-primary { background: linear-gradient(135deg, var(--primary), #00a844); border-color: transparent; }
.btn-danger { background: linear-gradient(135deg, var(--accent), #d80035); border-color: transparent; }
.btn-warning { background: linear-gradient(135deg, #ffb300, #ff7a00); border-color: transparent; }
.btn-info { background: linear-gradient(135deg, #00a8ff, #0069d9); border-color: transparent; }
.btn-ghost { background: transparent; }
.btn-sm { min-height: 34px; padding: 6px 10px; font-size: 13px; border-radius: 10px; }
.btn-lg { min-height: 54px; padding: 14px 22px; font-size: 17px; border-radius: 15px; }

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  background: rgba(255,255,255,0.09);
  border: 1px solid var(--line);
}
.badge.green { background: rgba(0,230,118,.14); color: #6affb4; border-color: rgba(0,230,118,.28); }
.badge.red { background: rgba(255,23,68,.15); color: #ff879e; border-color: rgba(255,23,68,.30); }
.badge.yellow { background: rgba(255,215,64,.14); color: #ffe981; border-color: rgba(255,215,64,.30); }

.field { display: grid; gap: 7px; }
.field label { font-size: 12px; color: var(--muted); font-weight: 800; letter-spacing: .03em; }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 43px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 11px;
  padding: 10px 12px;
  color: var(--text);
  background: rgba(255,255,255,.07);
  outline: none;
}
.field textarea { min-height: 84px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: rgba(0,200,83,.8); box-shadow: 0 0 0 3px rgba(0,200,83,.12); }
.field input[type="color"] { padding: 4px; }
.field input[type="range"] { padding: 0; min-height: 28px; }

.switch {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
.switch input { display: none; }
.switch-track {
  position: relative;
  width: 48px;
  height: 26px;
  border-radius: 99px;
  background: rgba(255,255,255,.18);
  transition: .2s;
}
.switch-track::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 3px;
  left: 3px;
  border-radius: 50%;
  background: white;
  transition: .2s;
}
.switch input:checked + .switch-track { background: var(--primary); }
.switch input:checked + .switch-track::after { transform: translateX(22px); }

.card {
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.055);
  padding: 18px;
}
.card h2, .card h3 { margin: 0; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.card-title { display: flex; flex-direction: column; gap: 3px; }
.card-title h2 { font-size: 18px; }
.card-title p { margin: 0; font-size: 12px; color: var(--muted); }

.toast-wrap {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 36px));
}
.toast {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(8,18,31,.94);
  box-shadow: var(--shadow);
  padding: 12px 14px;
  animation: toast-in .25s ease both;
}
.toast strong { display:block; margin-bottom:3px; }
.toast.error { border-color: rgba(255,23,68,.42); }
.toast.success { border-color: rgba(0,230,118,.38); }
@keyframes toast-in { from { opacity:0; transform:translateY(10px); } }

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.66);
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 20px;
}
.modal {
  width: min(520px, 100%);
  border-radius: 22px;
  padding: 24px;
  background: #0b182a;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 13px; }
table { width: 100%; border-collapse: collapse; min-width: 620px; }
th, td { text-align: left; padding: 11px 12px; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 13px; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; background: rgba(255,255,255,.035); position: sticky; top: 0; z-index: 1; }
tr:last-child td { border-bottom: 0; }

.progress {
  height: 8px;
  border-radius: 99px;
  background: rgba(255,255,255,.09);
  overflow: hidden;
}
.progress > span { display:block; height:100%; border-radius:inherit; background: linear-gradient(90deg, #00b8ff, var(--primary)); }

/* Admin */
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 20px 16px;
  border-right: 1px solid var(--line);
  background: rgba(4,12,23,.88);
  backdrop-filter: blur(18px);
  z-index: 20;
}
.admin-brand { display:flex; align-items:center; gap:12px; padding: 4px 8px 20px; }
.admin-brand-mark { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,var(--primary),#00a8ff); font-weight:1000; box-shadow:0 12px 30px rgba(0,200,83,.2); }
.admin-brand h1 { font-size:15px; margin:0; }
.admin-brand p { font-size:11px; color:var(--muted); margin:2px 0 0; }
.admin-nav { display:grid; gap:7px; }
.admin-nav button {
  width:100%;
  text-align:left;
  border:0;
  color:var(--muted);
  background:transparent;
  padding:11px 12px;
  border-radius:11px;
  font-weight:750;
}
.admin-nav button.active, .admin-nav button:hover { color:white; background:rgba(255,255,255,.08); }
.admin-sidebar-bottom { position:absolute; left:16px; right:16px; bottom:16px; }
.admin-main { min-width:0; }
.admin-topbar {
  position: sticky;
  top:0;
  z-index:15;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 24px;
  border-bottom:1px solid var(--line);
  background:rgba(7,17,31,.80);
  backdrop-filter:blur(18px);
}
.admin-topbar h1 { margin:0; font-size:20px; }
.admin-topbar p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.admin-content { padding:22px; }
.admin-page { display:none; }
.admin-page.active { display:block; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.stack { display:grid; gap:14px; }
.inline { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.space-between { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.stat-card { min-height:112px; display:flex; flex-direction:column; justify-content:space-between; }
.stat-card .value { font-size:31px; font-weight:1000; letter-spacing:-.04em; }
.stat-card .label { color:var(--muted); font-size:12px; }
.pin-card { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:18px; align-items:center; }
.pin-number { font-size:clamp(42px,7vw,84px); font-weight:1000; letter-spacing:.12em; line-height:1; }
.qr-box { background:white; padding:10px; border-radius:14px; width:160px; height:160px; }
.qr-box > div { width:100%; height:100%; display:grid; place-items:center; }
.qr-box canvas, .qr-box img { display:block; max-width:100%; max-height:100%; }
.control-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.light-control { min-height:86px; font-size:16px; }
.light-control.green { background:linear-gradient(135deg,#00e676,#00a844); }
.light-control.red { background:linear-gradient(135deg,#ff416c,#d50034); }
.upload-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.preview-frame { aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#020811; border:1px solid var(--line); }
.preview-frame iframe { width:100%; height:100%; border:0; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#718096; box-shadow:0 0 0 5px rgba(113,128,150,.12); }
.status-dot.online { background:#00e676; box-shadow:0 0 0 5px rgba(0,230,118,.12); }

/* Join/controller */
.join-body {
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,200,83,.18), transparent 35%),
    linear-gradient(180deg,#06101d,#0a1d31 55%,#07111f);
  touch-action:none;
}
.join-card { width:min(480px,100%); border-radius:26px; padding:22px; }
.join-logo { width:72px; height:72px; margin:0 auto 14px; border-radius:22px; display:grid; place-items:center; font-size:30px; font-weight:1000; background:linear-gradient(135deg,var(--primary),#00a8ff); box-shadow:0 20px 50px rgba(0,200,83,.22); }
.join-title { text-align:center; margin:0; font-size:30px; letter-spacing:-.04em; }
.join-subtitle { text-align:center; color:var(--muted); margin:6px 0 20px; }
.pin-input { font-size:28px !important; text-align:center; letter-spacing:.2em; font-weight:900; }
.controller-shell { width:min(620px,100%); min-height:calc(100svh - 28px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:13px; }
.controller-top { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 15px; border-radius:18px; }
.player-chip { display:flex; align-items:center; gap:10px; min-width:0; }
.player-avatar { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; font-weight:1000; color:white; flex:0 0 auto; border:2px solid rgba(255,255,255,.28); }
.player-name { font-weight:900; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.controller-stage {
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:380px;
  background:
    linear-gradient(rgba(2,8,17,.25),rgba(2,8,17,.6)),
    radial-gradient(circle at 50% 18%, rgba(0,200,83,.15),transparent 40%),
    #0a1a2c;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.controller-status { position:absolute; left:16px; right:16px; top:16px; text-align:center; z-index:3; }
.light-pill { display:inline-flex; align-items:center; gap:9px; padding:9px 14px; border-radius:999px; font-weight:1000; background:rgba(255,255,255,.10); border:1px solid var(--line); }
.light-orb { width:16px; height:16px; border-radius:50%; background:#718096; }
.light-pill.green .light-orb { background:#00e676; box-shadow:0 0 20px #00e676; }
.light-pill.red .light-orb { background:#ff1744; box-shadow:0 0 20px #ff1744; }
.joystick-zone { position:absolute; inset:0; display:grid; place-items:center; padding-top:45px; user-select:none; -webkit-user-select:none; touch-action:none; }
.joystick-base { width:min(56vw,240px); aspect-ratio:1; border-radius:50%; position:relative; background:radial-gradient(circle,rgba(255,255,255,.09),rgba(255,255,255,.025)); border:2px solid rgba(255,255,255,.15); box-shadow:inset 0 0 50px rgba(0,0,0,.25); }
.joystick-base::before, .joystick-base::after { content:""; position:absolute; background:rgba(255,255,255,.12); }
.joystick-base::before { width:1px; top:15%; bottom:15%; left:50%; }
.joystick-base::after { height:1px; left:15%; right:15%; top:50%; }
.joystick-knob { position:absolute; left:50%; top:50%; width:42%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; background:linear-gradient(145deg,#fff,#a8bdd3); border:5px solid rgba(7,17,31,.62); box-shadow:0 12px 30px rgba(0,0,0,.42); transition:box-shadow .12s; }
.joystick-knob.active { box-shadow:0 14px 38px rgba(0,200,83,.25),0 0 0 6px rgba(0,200,83,.10); }
.joystick-label { position:absolute; left:0; right:0; bottom:19px; text-align:center; color:var(--muted); font-weight:750; font-size:13px; }
.controller-footer { display:grid; gap:10px; }
.player-progress { padding:12px 14px; border-radius:16px; }
.big-message { position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:30px; background:rgba(4,10,19,.82); z-index:10; }
.big-message h2 { font-size:34px; margin:0 0 8px; }
.big-message p { margin:0; color:var(--muted); }
.vibrate-hint { font-size:11px; color:var(--muted); text-align:center; }

/* Big screen */
.screen-body { margin:0; height:100vh; background:#02060c; overflow:hidden; }
.screen-shell { position:relative; width:100vw; height:100vh; overflow:hidden; background:#0b1420; }
#gameCanvas { width:100%; height:100%; display:block; }
.screen-top {
  position:absolute;
  top:18px;
  left:18px;
  right:18px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);
  align-items:start;
  gap:16px;
  pointer-events:none;
}
.screen-brand { display:flex; align-items:center; gap:13px; padding:12px 15px; border-radius:18px; width:max-content; max-width:100%; }
.screen-brand img { max-width:44px; max-height:44px; object-fit:contain; }
.screen-brand-mark { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; font-weight:1000; background:linear-gradient(135deg,var(--primary),#00a8ff); }
.screen-brand h1 { margin:0; font-size:20px; line-height:1; }
.screen-brand p { margin:5px 0 0; color:#c6d5e6; font-size:12px; }
.screen-center-hud { display:grid; justify-items:center; gap:8px; }
.screen-timer { font-size:clamp(34px,5vw,64px); line-height:.9; font-weight:1000; text-shadow:0 6px 25px rgba(0,0,0,.45); }
.screen-light { min-width:240px; justify-content:center; padding:11px 18px; font-size:18px; box-shadow:0 12px 35px rgba(0,0,0,.25); }
.screen-room { justify-self:end; padding:12px 15px; border-radius:18px; text-align:right; }
.screen-room .pin { font-size:30px; font-weight:1000; letter-spacing:.12em; }
.screen-room .count { font-size:12px; color:#c6d5e6; }
.screen-leaderboard {
  position:absolute;
  right:18px;
  top:155px;
  width:min(330px,28vw);
  max-height:calc(100vh - 220px);
  padding:14px;
  border-radius:18px;
  overflow:hidden;
}
.screen-leaderboard h3 { margin:0 0 10px; font-size:14px; }
.screen-leader-list { display:grid; gap:7px; }
.screen-leader-row { display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 9px; border-radius:10px; background:rgba(255,255,255,.06); font-size:12px; }
.screen-leader-row .name { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-weight:800; }
.screen-leader-row .score { color:#8effb7; font-weight:900; }
.screen-bottom {
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  justify-content:center;
  pointer-events:none;
}
.screen-message { max-width:min(860px,78vw); text-align:center; border-radius:22px; padding:17px 25px; }
.screen-message h2 { margin:0; font-size:clamp(24px,3vw,42px); }
.screen-message p { margin:7px 0 0; color:#d2deec; }
.screen-countdown { position:absolute; inset:0; display:grid; place-items:center; font-size:min(30vw,260px); font-weight:1000; text-shadow:0 15px 55px rgba(0,0,0,.5); pointer-events:none; }
.screen-fullscreen { position:absolute; left:18px; bottom:18px; z-index:20; }
.join-qr-overlay { position:absolute; left:18px; top:140px; width:150px; padding:10px; border-radius:17px; text-align:center; }
.join-qr-overlay > div { width:130px; height:130px; background:white; padding:5px; border-radius:10px; display:grid; place-items:center; }
.join-qr-overlay canvas, .join-qr-overlay img { max-width:120px; max-height:120px; display:block; }
.join-qr-overlay p { margin:6px 0 0; font-size:11px; color:#d5e0ed; }

.login-screen { min-height:100vh; display:grid; place-items:center; padding:20px; }
.login-box { width:min(410px,100%); border-radius:24px; padding:24px; }
.login-box h1 { margin:0 0 6px; }
.login-box p { margin:0 0 18px; color:var(--muted); }

@media (max-width: 1100px) {
  .admin-shell { grid-template-columns:82px minmax(0,1fr); }
  .admin-brand-text, .admin-nav .label, .admin-sidebar-bottom .label { display:none; }
  .admin-brand { justify-content:center; padding-inline:0; }
  .admin-nav button { text-align:center; font-size:0; }
  .admin-nav button::first-letter { font-size:18px; }
  .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .control-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .admin-shell { display:block; }
  .admin-sidebar { position:fixed; left:0; right:0; bottom:0; top:auto; height:auto; padding:8px; border-right:0; border-top:1px solid var(--line); }
  .admin-brand, .admin-sidebar-bottom { display:none; }
  .admin-nav { grid-template-columns:repeat(5,1fr); gap:4px; }
  .admin-nav button { padding:10px 4px; font-size:10px; text-align:center; }
  .admin-nav button::first-letter { font-size:inherit; }
  .admin-nav .label { display:block; }
  .admin-main { padding-bottom:75px; }
  .admin-topbar { padding:10px 14px; min-height:64px; }
  .admin-topbar h1 { font-size:17px; }
  .admin-content { padding:14px; }
  .grid-2, .grid-3, .grid-4, .settings-grid { grid-template-columns:1fr; }
  .pin-card { grid-template-columns:1fr; text-align:center; }
  .qr-box { margin:auto; }
  .control-grid { grid-template-columns:1fr 1fr; }
  .screen-top { grid-template-columns:1fr auto; }
  .screen-center-hud { order:3; grid-column:1/-1; }
  .screen-room { grid-column:2; }
  .screen-leaderboard { display:none; }
  .join-qr-overlay { display:none; }
  .screen-brand h1 { font-size:15px; }
  .screen-room .pin { font-size:22px; }
}

@media (max-width: 440px) {
  .join-body { padding:10px; }
  .join-card { padding:18px; }
  .controller-shell { min-height:calc(100svh - 20px); }
  .controller-stage { min-height:330px; }
  .joystick-base { width:min(66vw,230px); }
  .control-grid { grid-template-columns:1fr; }
  .admin-nav .label { font-size:9px; }
}

.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.btn-icon { width:1.15em; height:1.15em; flex:0 0 auto; fill:currentColor; display:block; }
.btn-lg .btn-icon { width:1.25em; height:1.25em; }
.btn-sm .btn-icon { width:1em; height:1em; }
.light-control.green .status-icon { filter:drop-shadow(0 0 7px rgba(50,255,120,.75)); }
.light-control.red .status-icon { filter:drop-shadow(0 0 7px rgba(255,65,80,.75)); }

/* v1.7 enterprise dashboard */
.dashboard-enterprise{display:flex;flex-direction:column;gap:16px}
.dashboard-preview-card{padding:12px;background:linear-gradient(180deg,rgba(15,31,49,.98),rgba(8,20,34,.98));border-color:rgba(90,139,190,.28)}
.dashboard-preview-card .card-head{margin-bottom:10px}
.dashboard-preview-frame{width:min(100%,980px);aspect-ratio:16/9;margin:0 auto;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.dashboard-control-row{display:grid;grid-template-columns:.9fr 1.15fr 1fr;gap:16px;align-items:stretch}
.dashboard-control-row>.card{height:100%}
.status-list{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.status-list>div{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:rgba(255,255,255,.025);border-bottom:1px solid var(--line)}
.status-list>div:last-child{border-bottom:0}.status-list span{color:var(--muted);font-size:13px}.status-list strong{font-size:13px;color:#eaf7ff}.status-list #statPin{color:#28d8df;font-size:17px;letter-spacing:2px}.status-list #statPlayers{color:#38e58a}
.dashboard-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-control-grid .btn{min-height:48px}.dashboard-control-grid .green-control{background:linear-gradient(135deg,#0d9e4d,#15c96c);border-color:#15c96c;color:white}.dashboard-control-grid .dashboard-clear{grid-column:1/-1;background:linear-gradient(135deg,#673bea,#8654f4);border-color:#8a60ff}
.dashboard-empty{padding:24px 8px 8px}.dashboard-empty h3{margin:0 0 5px;font-size:15px}.dashboard-empty p{margin:0;font-size:12px}
.dashboard-room-access{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}.dashboard-room-access .pin-number{font-size:31px;line-height:1}.dashboard-room-access #joinUrl{grid-column:1/-1;word-break:break-all;margin:0}.dashboard-qr{grid-column:2;grid-row:1 / span 2;width:94px;height:94px;padding:6px}.dashboard-qr canvas,.dashboard-qr img{max-width:100%;height:auto}.dashboard-room-access .field{grid-column:1/-1;margin:0}.dashboard-access-buttons{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.dashboard-access-buttons .btn{padding:8px 7px;font-size:11px}
.dashboard-leader-card{padding-top:14px}.dashboard-topplayers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dashboard-topplayers>*{margin:0!important}
.admin-content{max-width:none}.admin-main{background:radial-gradient(circle at 80% 0%,rgba(12,98,177,.12),transparent 35%),#06101c}
@media(max-width:1250px){.dashboard-control-row{grid-template-columns:1fr 1fr}.dashboard-access-card{grid-column:1/-1}.dashboard-preview-frame{aspect-ratio:16/9}.dashboard-topplayers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-control-row{grid-template-columns:1fr}.dashboard-access-card{grid-column:auto}.dashboard-control-grid{grid-template-columns:1fr}.dashboard-control-grid .dashboard-clear{grid-column:auto}.dashboard-topplayers{grid-template-columns:1fr}.dashboard-preview-card{padding:8px}.dashboard-preview-frame{aspect-ratio:16/9}}

/* v1.8 compact dashboard preview */
.dashboard-preview-card{padding:12px 14px 14px}
.dashboard-preview-card .card-head{max-width:1180px;margin-left:auto;margin-right:auto}
.dashboard-preview-frame iframe{display:block;background:#020811}
@media(min-width:1500px){.dashboard-preview-frame{width:min(100%,1040px)}}

.admin-nav .nav-icon{width:18px;height:18px;fill:currentColor;flex:0 0 auto;display:block}

/* v1.9 enterprise command center redesign */
:root{
  --admin-bg:#07101d;
  --admin-panel:#0d1a2b;
  --admin-panel-2:#101f32;
  --admin-border:rgba(148,180,215,.16);
  --admin-text:#f4f8fc;
  --admin-muted:#8ea2b8;
  --admin-accent:#19c37d;
}
.admin-shell{grid-template-columns:238px minmax(0,1fr);background:var(--admin-bg)}
.admin-sidebar{padding:22px 14px;background:linear-gradient(180deg,#07121f 0%,#081522 100%);border-right:1px solid var(--admin-border);box-shadow:12px 0 42px rgba(0,0,0,.18)}
.admin-brand{padding:2px 8px 24px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:15px}
.admin-brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#18c58a,#00a9d8);box-shadow:0 10px 24px rgba(19,195,125,.18)}
.admin-brand h1{font-size:16px;letter-spacing:-.02em}.admin-brand p{font-size:10px;color:#7890a8}
.admin-nav{gap:6px}.admin-nav button{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:700;transition:.18s ease}
.admin-nav button.active{background:linear-gradient(90deg,rgba(25,195,125,.18),rgba(25,195,125,.06));color:#fff;box-shadow:inset 3px 0 0 #20d892;border:1px solid rgba(32,216,146,.14)}
.admin-nav button:hover:not(.active){background:rgba(255,255,255,.045);transform:translateX(2px)}
.admin-sidebar-bottom .btn{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.025)}
.admin-main{background:radial-gradient(circle at 80% -10%,rgba(0,132,255,.10),transparent 34%),linear-gradient(180deg,#081321,#07101d 55%)}
.admin-topbar{min-height:76px;padding:14px 26px;background:rgba(7,16,29,.86);border-color:var(--admin-border);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.admin-topbar h1{font-size:22px;letter-spacing:-.025em}.admin-topbar p{font-size:11px;color:#7890a8}
.admin-content{padding:20px 24px 32px;max-width:1480px;margin:0 auto;width:100%}
.card{border:1px solid var(--admin-border);background:linear-gradient(180deg,rgba(15,30,48,.96),rgba(10,23,38,.96));border-radius:15px;box-shadow:0 14px 40px rgba(0,0,0,.16);padding:16px}
.card-head{margin-bottom:13px}.card-title h2{font-size:15px;letter-spacing:-.01em}.card-title p{font-size:11px;color:#8297ad}
.dashboard-enterprise{gap:14px}
.dashboard-preview-card{padding:14px 16px 16px;background:linear-gradient(180deg,#0e1d30,#0a1727);border-color:rgba(111,154,201,.22)}
.dashboard-preview-card .card-head{max-width:none;margin:0 0 12px}
.dashboard-preview-frame{width:min(100%,900px);aspect-ratio:16/9;margin:0 auto;border-radius:11px;border:1px solid rgba(135,171,208,.22);box-shadow:0 18px 46px rgba(0,0,0,.38),0 0 0 6px rgba(255,255,255,.018)}
.dashboard-preview-frame iframe{background:#040b13}
.dashboard-control-row{grid-template-columns:.9fr 1.15fr 1fr;gap:14px}
.dashboard-control-row>.card{min-height:286px}
.status-list{border-color:rgba(142,169,198,.13);background:rgba(3,11,20,.22)}
.status-list>div{padding:10px 12px;background:transparent;border-color:rgba(255,255,255,.055)}
.status-list span{font-size:11px;color:#8499ae}.status-list strong{font-size:12px}
.dashboard-control-grid{gap:9px}.dashboard-control-grid .btn{min-height:44px;border-radius:9px;font-size:12px;box-shadow:none}
.dashboard-control-grid .dashboard-clear{background:linear-gradient(135deg,#6842df,#8055ec);border-color:rgba(151,119,255,.5)}
.dashboard-access-card .btn.full{min-height:42px;border-radius:9px}
.dashboard-room-access{gap:8px}.dashboard-room-access .pin-number{font-size:28px;color:#fff;letter-spacing:.16em}
.dashboard-qr{width:84px;height:84px;border-radius:10px}.dashboard-access-buttons{gap:6px}
.dashboard-leader-card{padding:14px 16px}.dashboard-topplayers{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.dashboard-topplayers .player-row,.dashboard-topplayers>div{border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.028)}
.btn{border-radius:9px;font-weight:750;letter-spacing:-.005em}.btn-primary{background:linear-gradient(135deg,#12bf78,#0da967);border-color:#18c37c}.btn-info{background:linear-gradient(135deg,#087bd7,#0b63bd)}
.badge{border-radius:999px;padding:5px 9px;font-size:10px;letter-spacing:.035em}
.status-dot.online{background:#24d88c;box-shadow:0 0 0 4px rgba(36,216,140,.12)}
@media(min-width:1450px){.dashboard-preview-frame{width:min(100%,940px)}}
@media(max-width:1250px){.admin-shell{grid-template-columns:82px minmax(0,1fr)}.dashboard-control-row{grid-template-columns:1fr 1fr}.dashboard-access-card{grid-column:1/-1;min-height:auto!important}}
@media(max-width:760px){.admin-content{padding:12px 12px 88px}.dashboard-preview-card{padding:10px}.dashboard-preview-frame{width:100%}.dashboard-control-row{grid-template-columns:1fr}.dashboard-control-row>.card{min-height:auto}.admin-topbar{padding:10px 14px}.card{border-radius:13px}.dashboard-topplayers{grid-template-columns:1fr}}

/* v2.0 — light enterprise admin system */
.admin-shell{
  --admin-bg:#eef4f3;--admin-panel:#ffffff;--admin-soft:#f5f8f7;--admin-text:#17211f;--admin-muted:#75817f;--admin-border:#dfe8e5;--admin-accent:#18b59b;--admin-accent-2:#6c63ff;
  background:linear-gradient(135deg,#eaf4f2 0%,#f7f8fb 48%,#eef0fa 100%);color:var(--admin-text);grid-template-columns:230px minmax(0,1fr)
}
.admin-shell .admin-sidebar{background:#15201f;border:0;margin:18px 0 18px 18px;height:calc(100vh - 36px);border-radius:26px;padding:22px 14px;box-shadow:0 24px 60px rgba(31,54,50,.18)}
.admin-shell .admin-brand{padding:0 10px 26px}.admin-shell .admin-brand-mark{background:linear-gradient(135deg,#19c2a4,#53d8c0);box-shadow:none}.admin-shell .admin-brand h1{color:#fff;font-size:16px}.admin-shell .admin-brand p{color:#9bb0ac}
.admin-shell .admin-nav{gap:8px}.admin-shell .admin-nav button{display:flex;align-items:center;gap:12px;color:#aebfbc;padding:12px 13px;border-radius:14px}.admin-shell .admin-nav button.active,.admin-shell .admin-nav button:hover{background:#fff;color:#17211f;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.admin-shell .nav-icon{width:18px;height:18px;fill:currentColor;flex:none}.admin-shell .admin-sidebar-bottom .btn{border-color:rgba(255,255,255,.15);color:#d9e5e2;background:rgba(255,255,255,.05)}
.admin-shell .admin-main{padding:18px 18px 18px 0}.admin-shell .admin-topbar{position:relative;background:transparent;border:0;padding:10px 24px 18px;min-height:70px;backdrop-filter:none}.admin-shell .admin-topbar h1{font-size:26px;color:var(--admin-text)}.admin-shell .admin-topbar p{color:var(--admin-muted)}
.admin-shell .admin-content{padding:0 24px 24px}.admin-shell .card{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 48px rgba(63,85,80,.09);border-radius:22px;color:var(--admin-text);backdrop-filter:blur(16px)}
.admin-shell .card-title h2{color:var(--admin-text);font-size:18px}.admin-shell .card-title p,.admin-shell .muted{color:var(--admin-muted)!important}.admin-shell .badge{background:#edf3f1;color:#43524f;border-color:#d9e5e2}.admin-shell .field label{color:#667572}.admin-shell input,.admin-shell select,.admin-shell textarea{background:#f7faf9!important;color:#1b2926!important;border-color:#dfe8e5!important}
.dashboard-enterprise{max-width:1500px;margin:0 auto}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:0 2px}.dashboard-welcome h2{font-size:25px;margin:4px 0}.dashboard-welcome p{margin:0;color:var(--admin-muted)}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;color:#1aa88f}.dashboard-live-chip{display:flex;align-items:center;gap:9px;background:#fff;padding:10px 14px;border-radius:999px;box-shadow:0 10px 24px rgba(63,85,80,.08);font-size:12px;font-weight:800}
.dashboard-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:17px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 30px rgba(63,85,80,.07)}.metric-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#e7f8f4;color:#17a98f}.metric-icon svg{width:22px;height:22px;fill:currentColor}.metric-card span{display:block;color:var(--admin-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.metric-card strong{display:block;font-size:22px;margin:2px 0;color:var(--admin-text)}.metric-card small{color:#8b9694}.metric-pin .metric-icon{background:#eeeefe;color:#6c63ff}.metric-time .metric-icon{background:#fff1e6;color:#ff8a3d}.metric-state .metric-icon{background:#eaf8ee;color:#32a95b}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:16px;align-items:start}.dashboard-preview-card{padding:18px}.dashboard-preview-frame{border-radius:17px;border:1px solid #dce5e3;background:#111;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.preview-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--admin-muted);font-size:12px}.preview-footer>span{display:flex;align-items:center;gap:9px}.text-link{border:0;background:transparent;color:#168f7c;font-weight:900;display:flex;align-items:center;gap:5px}.text-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.icon-button{width:38px;height:38px;border:1px solid #dfe8e5;border-radius:12px;background:#f7faf9;color:#40504d;display:grid;place-items:center}.icon-button:hover{background:#eaf7f4;color:#138b77}.icon-button svg{width:18px;height:18px;fill:currentColor}
.dashboard-side-stack{display:grid;gap:16px}.dashboard-access-card,.dashboard-leader-card{padding:18px}.dashboard-empty{text-align:center;padding:26px 8px;color:var(--admin-muted)}.dashboard-empty h3{color:var(--admin-text);margin:10px 0 5px}.dashboard-empty p{margin:0;font-size:12px}.empty-icon{width:52px;height:52px;border-radius:17px;margin:auto;display:grid;place-items:center;background:#edf8f5;color:#15a58d}.empty-icon svg{width:24px;height:24px;fill:currentColor}.access-pin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.access-pin-row>div>span{font-size:10px;color:var(--admin-muted);font-weight:900;letter-spacing:.12em}.admin-shell .dashboard-room-access .pin-number{font-size:34px;letter-spacing:.1em;color:var(--admin-text)}.admin-shell .dashboard-qr{width:96px;height:96px;padding:7px}.access-url{font-size:10px;color:var(--admin-muted);word-break:break-all;background:#f5f8f7;padding:9px;border-radius:10px}.compact-field{margin-top:10px}.dashboard-access-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.dashboard-topplayers{gap:8px}.dashboard-topplayers>div{background:#f6f9f8!important;border-color:#e5ecea!important;color:var(--admin-text)!important}
.admin-shell .btn{border-radius:12px}.admin-shell .btn-primary{background:linear-gradient(135deg,#19b99d,#0f987f);border-color:transparent}.admin-shell .btn-info{background:linear-gradient(135deg,#6d6af3,#5651da);border-color:transparent}.admin-shell .btn-danger{background:linear-gradient(135deg,#ff6475,#e94b60);border-color:transparent}.admin-shell .btn-warning{background:linear-gradient(135deg,#ffb34c,#f3971b);border-color:transparent;color:#fff}.admin-shell .green-control,.admin-shell .light-control.green{background:linear-gradient(135deg,#35c77a,#19a85f)}
.admin-shell .table-wrap{border-color:#e1e9e7;background:#fff}.admin-shell table{color:var(--admin-text)}.admin-shell th{background:#f4f7f6;color:#71807d}.admin-shell td{border-color:#edf1f0}.admin-shell .progress{background:#e7eceb}.admin-shell .modal{background:#fff;color:var(--admin-text);border-color:#e0e8e6}
@media(max-width:1100px){.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-shell{grid-template-columns:76px minmax(0,1fr)}.admin-shell .admin-sidebar{margin:10px 0 10px 10px;height:calc(100vh - 20px);padding:15px 9px}.admin-shell .admin-brand-text,.admin-shell .admin-nav .label,.admin-shell .admin-sidebar-bottom .label{display:none}.admin-shell .admin-brand{justify-content:center;padding:0 0 20px}.admin-shell .admin-nav button{justify-content:center;padding:12px}.admin-shell .admin-main{padding:10px 10px 10px 0}.admin-shell .admin-content{padding:0 10px 18px}.dashboard-metric-grid{grid-template-columns:1fr 1fr}.dashboard-side-stack{grid-template-columns:1fr}.dashboard-welcome{align-items:flex-start}.dashboard-live-chip{display:none}}
@media(max-width:520px){.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-welcome h2{font-size:21px}.dashboard-access-buttons{grid-template-columns:1fr}.admin-shell .admin-topbar{padding-left:12px;padding-right:12px}}

/* =========================================================
   v2.1 — Enterprise Dark Glass UI (final override)
   ========================================================= */
:root{
  --admin-bg:#07111f;
  --admin-bg-2:#0a1728;
  --admin-panel:rgba(16,31,50,.72);
  --admin-panel-strong:rgba(13,27,45,.9);
  --admin-line:rgba(153,190,220,.15);
  --admin-text:#f5f8fc;
  --admin-muted:#8fa3b8;
  --admin-accent:#39e6c4;
  --admin-accent-2:#2c7df0;
  --admin-danger:#ff5f75;
}
html,body{background:
  radial-gradient(circle at 12% 0%,rgba(44,125,240,.18),transparent 32%),
  radial-gradient(circle at 86% 18%,rgba(57,230,196,.10),transparent 30%),
  linear-gradient(135deg,#06101d 0%,#09182a 48%,#06111f 100%)!important;
  color:var(--admin-text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 78%)}
.admin-shell{grid-template-columns:238px minmax(0,1fr)!important;gap:14px;padding:14px;min-height:100vh}
.admin-sidebar{position:sticky!important;top:14px!important;height:calc(100vh - 28px)!important;border:1px solid var(--admin-line)!important;border-radius:24px!important;background:linear-gradient(180deg,rgba(10,24,40,.92),rgba(7,17,30,.88))!important;backdrop-filter:blur(24px) saturate(135%)!important;box-shadow:0 24px 80px rgba(0,0,0,.34)!important;padding:18px 14px!important}
.admin-main{min-width:0;border:1px solid var(--admin-line);border-radius:24px;background:rgba(7,17,31,.36);backdrop-filter:blur(16px);overflow:hidden}
.admin-topbar{position:sticky!important;top:0!important;min-height:74px!important;padding:15px 22px!important;background:rgba(8,20,35,.7)!important;border-bottom:1px solid var(--admin-line)!important;backdrop-filter:blur(22px) saturate(130%)!important}
.admin-topbar h1{font-size:22px!important;letter-spacing:-.02em}.admin-topbar p{color:var(--admin-muted)!important}
.admin-brand{padding:2px 5px 18px!important}.admin-brand-mark{background:linear-gradient(135deg,var(--admin-accent),#23a9e7)!important;box-shadow:0 12px 30px rgba(57,230,196,.18)!important}.admin-brand h1{color:#fff!important}.admin-brand p{color:var(--admin-muted)!important}
.admin-nav{gap:6px!important}.admin-nav button{display:flex!important;align-items:center!important;gap:11px!important;color:#9fb2c6!important;border:1px solid transparent!important;border-radius:13px!important;padding:12px 12px!important;font-size:13px!important}.admin-nav button:hover{background:rgba(255,255,255,.055)!important;color:#fff!important;border-color:rgba(255,255,255,.06)!important}.admin-nav button.active{background:linear-gradient(135deg,rgba(44,125,240,.26),rgba(57,230,196,.12))!important;color:#fff!important;border-color:rgba(95,176,255,.28)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 26px rgba(0,0,0,.16)!important}.nav-icon{width:18px!important;height:18px!important;fill:currentColor!important;flex:0 0 auto}
.admin-sidebar-bottom .btn{background:rgba(255,255,255,.035)!important;border-color:var(--admin-line)!important;color:#dce7f2!important}
.admin-content{padding:20px!important}
.admin-page{display:none!important}.admin-page.active{display:block!important}.admin-page.dashboard-enterprise.active{display:flex!important}.admin-page.dashboard-enterprise:not(.active){display:none!important}
.dashboard-enterprise{max-width:1480px!important;margin:0 auto!important;gap:16px!important}
.dashboard-welcome{margin:0!important;padding:2px 2px 4px!important}.dashboard-welcome h2{color:#fff!important;font-size:25px!important}.dashboard-welcome p{color:var(--admin-muted)!important}.eyebrow{color:var(--admin-accent)!important}.dashboard-live-chip{background:rgba(13,29,47,.72)!important;color:#eafffa!important;border:1px solid rgba(57,230,196,.18)!important;box-shadow:none!important;backdrop-filter:blur(16px)!important}
.dashboard-metric-grid{gap:12px!important;margin-bottom:0!important}.metric-card{background:linear-gradient(180deg,rgba(20,39,62,.82),rgba(13,28,47,.72))!important;border:1px solid var(--admin-line)!important;border-radius:17px!important;padding:15px!important;box-shadow:0 16px 40px rgba(0,0,0,.18)!important;backdrop-filter:blur(18px)!important}.metric-card span{color:var(--admin-muted)!important}.metric-card strong{color:#fff!important;font-size:21px!important}.metric-card small{color:#748ba2!important}.metric-icon{background:rgba(57,230,196,.10)!important;color:var(--admin-accent)!important;border:1px solid rgba(57,230,196,.12)!important}.metric-pin .metric-icon{background:rgba(124,105,255,.12)!important;color:#a89cff!important}.metric-time .metric-icon{background:rgba(255,146,79,.12)!important;color:#ffa76f!important}
.card{background:linear-gradient(180deg,rgba(18,36,57,.78),rgba(10,24,41,.72))!important;border:1px solid var(--admin-line)!important;border-radius:18px!important;box-shadow:0 18px 50px rgba(0,0,0,.20)!important;backdrop-filter:blur(22px) saturate(125%)!important;color:var(--admin-text)!important}.card-title h2,.card h2,.card h3{color:#fff!important}.card-title p,.muted,.tiny{color:var(--admin-muted)!important}
.dashboard-main-grid{grid-template-columns:minmax(0,1.55fr) minmax(315px,.65fr)!important;gap:14px!important}.dashboard-preview-card{padding:14px!important}.dashboard-preview-frame{width:100%!important;max-width:920px!important;aspect-ratio:16/9!important;border-radius:14px!important;border:1px solid rgba(117,174,219,.19)!important;background:#020811!important;box-shadow:0 22px 55px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.025)!important}.preview-footer{color:var(--admin-muted)!important}.text-link{color:var(--admin-accent)!important}.icon-button{background:rgba(255,255,255,.045)!important;border:1px solid var(--admin-line)!important;color:#dce9f5!important}.icon-button:hover{background:rgba(57,230,196,.10)!important;color:var(--admin-accent)!important}
.dashboard-side-stack{gap:14px!important}.dashboard-access-card,.dashboard-leader-card{padding:16px!important}.access-url{background:rgba(255,255,255,.04)!important;color:#91a9bf!important;border:1px solid rgba(255,255,255,.05)!important}.dashboard-topplayers>div{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.07)!important;color:#fff!important}.admin-shell .dashboard-room-access .pin-number{color:#fff!important}.compact-field select,.field input,.field select,.field textarea{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.10)!important;color:#f5f8fc!important}.field label{color:#8fa3b8!important}
.btn{border-radius:11px!important;font-weight:800!important;letter-spacing:.01em!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,#1ecaa8,#1d98d6)!important;border-color:transparent!important;color:#03131d!important}.btn-info{background:linear-gradient(135deg,#2c7df0,#5e72ff)!important;border-color:transparent!important}.btn-danger{background:linear-gradient(135deg,#e43d5d,#ff6a78)!important;border-color:transparent!important}.btn-warning{background:linear-gradient(135deg,#f2a11b,#ffca4b)!important;border-color:transparent!important;color:#1b1200!important}.btn-ghost{background:rgba(255,255,255,.04)!important;border-color:var(--admin-line)!important;color:#d6e2ed!important}.badge{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.10)!important;color:#dce8f3!important}
.table-wrap{border-color:var(--admin-line)!important;background:rgba(5,14,26,.28)!important}.table-wrap table{background:transparent!important}th{background:rgba(255,255,255,.035)!important;color:#8fa3b8!important}td{color:#e8f0f7!important;border-color:rgba(255,255,255,.06)!important}
.settings-grid,.grid-2,.grid-3,.grid-4{align-items:start}
@media(max-width:1180px){.admin-shell{grid-template-columns:82px minmax(0,1fr)!important}.admin-brand-text,.admin-nav .label,.admin-sidebar-bottom .label{display:none!important}.admin-brand{justify-content:center!important}.admin-nav button{justify-content:center!important}.dashboard-main-grid{grid-template-columns:1fr!important}.dashboard-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.admin-shell{display:block!important;padding:8px!important}.admin-sidebar{position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;height:auto!important;border-radius:18px!important;padding:8px!important;z-index:100!important}.admin-brand,.admin-sidebar-bottom{display:none!important}.admin-nav{display:grid!important;grid-template-columns:repeat(5,1fr)!important}.admin-nav button{padding:10px 6px!important}.admin-main{border-radius:18px!important;margin-bottom:82px!important}.admin-content{padding:12px!important}.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-side-stack{grid-template-columns:1fr!important}.dashboard-welcome h2{font-size:21px!important}}
@media(max-width:520px){.dashboard-metric-grid{grid-template-columns:1fr!important}.admin-nav button{border-radius:10px!important}.nav-icon{width:17px!important;height:17px!important}}

/* v2.2 enterprise refinement — single-source live output + polished dark glass */
:root{
  --admin-bg:#07111d;
  --admin-panel:rgba(15,28,44,.78);
  --admin-panel-strong:rgba(17,32,50,.94);
  --admin-line:rgba(151,190,224,.14);
  --admin-line-strong:rgba(151,190,224,.24);
  --admin-text:#eef6ff;
  --admin-muted:#8fa6bb;
  --admin-accent:#32d6c0;
  --admin-blue:#4a8cff;
}
body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:-.01em}
.admin-shell{background:
 radial-gradient(circle at 68% -10%,rgba(34,126,193,.18),transparent 34%),
 radial-gradient(circle at 22% 115%,rgba(36,211,180,.09),transparent 28%),
 linear-gradient(145deg,#050c15 0%,#071321 48%,#081624 100%)}
.admin-sidebar{background:linear-gradient(180deg,rgba(5,14,24,.96),rgba(7,18,30,.94));border-right:1px solid var(--admin-line);backdrop-filter:blur(24px);box-shadow:18px 0 60px rgba(0,0,0,.28)}
.admin-brand{padding:22px 18px 20px;border-bottom:1px solid var(--admin-line)}
.admin-brand-mark{box-shadow:0 10px 30px rgba(50,214,192,.20);border:1px solid rgba(255,255,255,.16)}
.admin-nav{padding:17px 12px;gap:7px}
.admin-nav button{border:1px solid transparent;border-radius:14px;min-height:47px;font-weight:700;color:#9db1c4;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.admin-nav button:hover{transform:translateX(2px);background:rgba(255,255,255,.045);border-color:var(--admin-line);color:#fff}
.admin-nav button.active{background:linear-gradient(135deg,rgba(56,140,255,.20),rgba(45,220,190,.12));border-color:rgba(91,167,255,.26);color:#fff;box-shadow:inset 3px 0 0 #4a8cff,0 12px 28px rgba(0,0,0,.18)}
.admin-main{min-width:0}
.admin-topbar{background:rgba(6,16,28,.66);backdrop-filter:blur(20px);border-bottom:1px solid var(--admin-line);padding:17px 24px}
.admin-topbar h1{font-size:23px;letter-spacing:-.035em}.admin-topbar p{font-size:12px;margin-top:4px}
.admin-content{max-width:1580px;margin:0 auto;padding:22px 24px 34px}
.card,.metric-card{background:linear-gradient(145deg,rgba(20,37,57,.82),rgba(10,24,39,.78));border:1px solid var(--admin-line);box-shadow:0 20px 55px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.card:hover{border-color:var(--admin-line-strong)}
.dashboard-welcome{padding:6px 2px 2px}.dashboard-welcome h2{font-size:28px;letter-spacing:-.04em;color:var(--admin-text)}
.dashboard-welcome p,.card-title p,.metric-card small{color:var(--admin-muted)}
.dashboard-live-chip{background:rgba(17,35,52,.70);border:1px solid var(--admin-line);color:#dceafa;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.dashboard-metric-grid{gap:13px}.metric-card{border-radius:18px;padding:17px}.metric-card strong{font-size:22px;color:#fff}.metric-icon{border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.dashboard-main-grid{grid-template-columns:minmax(0,1.62fr) minmax(310px,.62fr)!important;gap:15px!important}
.dashboard-preview-card{padding:15px!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(14,31,49,.92),rgba(7,19,32,.92))!important}
.dashboard-preview-frame{max-width:880px!important;border-radius:16px!important;border:1px solid rgba(127,177,219,.22)!important;box-shadow:0 22px 70px rgba(0,0,0,.38),0 0 0 5px rgba(255,255,255,.018)!important;transform:translateZ(0)}
.dashboard-preview-frame iframe{display:block;width:100%;height:100%;background:#020811}
.preview-footer{color:var(--admin-muted)!important}.text-link{color:var(--admin-accent)!important}
.dashboard-side-stack{gap:15px}.dashboard-access-card,.dashboard-leader-card{border-radius:20px}
.icon-button{border-radius:11px!important;background:rgba(255,255,255,.055)!important;border:1px solid var(--admin-line)!important;color:#eaf5ff!important;transition:.18s ease}.icon-button:hover{background:rgba(50,214,192,.13)!important;color:#6ff8e4!important;transform:translateY(-1px)}
.btn{border-radius:12px;font-weight:800;letter-spacing:-.01em;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.btn:active{transform:translateY(0)}
.field input,.field select,.field textarea{background:rgba(3,13,23,.55)!important;border:1px solid var(--admin-line)!important;color:#f3f8fc!important;border-radius:12px!important;transition:border-color .16s ease,box-shadow .16s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:rgba(74,140,255,.58)!important;box-shadow:0 0 0 4px rgba(74,140,255,.10)}
table{border-collapse:separate;border-spacing:0 7px}thead th{color:#7890a7;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:0}tbody tr{background:rgba(255,255,255,.025)}tbody td{border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}tbody td:first-child{border-left:1px solid rgba(255,255,255,.04);border-radius:11px 0 0 11px}tbody td:last-child{border-right:1px solid rgba(255,255,255,.04);border-radius:0 11px 11px 0}
.bigscreen-layout-card{overflow:hidden}.overlay-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.range-field{padding:15px;border-radius:15px;background:rgba(255,255,255,.028);border:1px solid var(--admin-line)}.range-field strong{color:#65ead5;font-size:13px}.range-field small{display:block;color:var(--admin-muted);font-size:11px;margin-top:9px}.range-field input[type=range]{width:100%;accent-color:#42d7c1;margin-top:10px}
.screen-shell{--screen-bottom-opacity:.92;--screen-bottom-x:50%;--screen-bottom-y:18px}
.screen-bottom{left:var(--screen-bottom-x);right:auto;bottom:var(--screen-bottom-y);width:min(92vw,980px);transform:translateX(-50%);justify-content:center}
.screen-message{opacity:var(--screen-bottom-opacity);width:100%;max-width:min(860px,78vw);transition:opacity .25s ease,transform .25s ease,left .25s ease,bottom .25s ease}
@media(max-width:1180px){.dashboard-main-grid{grid-template-columns:1fr!important}.dashboard-side-stack{display:grid;grid-template-columns:1fr 1fr}.overlay-settings-grid{grid-template-columns:1fr 1fr}.dashboard-preview-frame{max-width:900px!important}}
@media(max-width:760px){.admin-content{padding:14px 12px 92px}.dashboard-side-stack{grid-template-columns:1fr}.overlay-settings-grid{grid-template-columns:1fr}.dashboard-welcome h2{font-size:23px}.dashboard-preview-card{padding:9px!important}}

/* v2.3 unified enterprise control center */
.control-preview-card{margin-bottom:18px;background:linear-gradient(145deg,rgba(18,37,60,.82),rgba(8,21,37,.90));backdrop-filter:blur(22px);border:1px solid rgba(128,188,255,.18);box-shadow:0 22px 70px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.05)}
.control-preview-frame{width:min(100%,1080px);margin:auto;box-shadow:0 18px 55px rgba(0,0,0,.38)}
.control-preview-frame iframe{width:100%;height:100%;border:0;display:block}
.control-command-grid{align-items:start}.asset-manager-card,.bigscreen-layout-card{background:linear-gradient(145deg,rgba(17,35,57,.88),rgba(8,20,34,.92));backdrop-filter:blur(22px)}
.character-manager-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.character-slot{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035)}
.asset-thumb{height:150px;margin:12px 0;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015));overflow:hidden}.asset-thumb img{max-width:92%;max-height:92%;object-fit:contain}.character-slot .upload-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.character-slot input[type=file]{min-width:0;font-size:10px}
.screen-bottom{width:var(--screen-bottom-width,58%);left:var(--screen-bottom-x,50%);right:auto;transform:translateX(-50%);bottom:var(--screen-bottom-y,18px);opacity:var(--screen-bottom-opacity,.92)}
.admin-main,.admin-sidebar,.card,.metric-card,.btn,input,select,textarea{transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .18s ease}.card{box-shadow:0 18px 60px rgba(0,0,0,.18)}
@media(max-width:1250px){.character-manager-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.character-manager-grid{grid-template-columns:1fr}.control-preview-frame{width:100%}.character-slot .upload-line{grid-template-columns:1fr 1fr}.character-slot input[type=file]{grid-column:1/-1}}


/* v2.4 Premium character selection and refined enterprise polish */
:root{--ease-premium:cubic-bezier(.22,.8,.26,1)}
.admin-page,.card,.metric-card,.btn,.admin-nav button{transition:transform .22s var(--ease-premium),border-color .22s ease,background .22s ease,box-shadow .22s ease,opacity .22s ease}
.card{background:linear-gradient(145deg,rgba(18,38,62,.86),rgba(7,18,33,.76));border:1px solid rgba(129,190,255,.14);box-shadow:0 18px 46px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(18px) saturate(125%)}
.card:hover{border-color:rgba(64,220,204,.23);box-shadow:0 22px 54px rgba(0,0,0,.28),0 0 0 1px rgba(64,220,204,.035)}
.admin-sidebar{background:linear-gradient(180deg,rgba(5,16,29,.98),rgba(6,19,32,.94));border-right:1px solid rgba(141,196,255,.11);box-shadow:18px 0 50px rgba(0,0,0,.22)}
.admin-nav button.active{background:linear-gradient(135deg,rgba(35,211,185,.18),rgba(43,121,255,.19));border-color:rgba(61,223,198,.25);box-shadow:0 10px 28px rgba(0,0,0,.22),inset 3px 0 #28dbc2}
.character-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.character-choice{appearance:none;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:16px;padding:8px;color:#fff;cursor:pointer;min-width:0;transition:.22s var(--ease-premium)}.character-choice:hover{transform:translateY(-2px);border-color:rgba(55,218,198,.45)}.character-choice.active{border-color:#26d7bd;background:linear-gradient(145deg,rgba(38,215,189,.18),rgba(49,122,255,.14));box-shadow:0 0 0 2px rgba(38,215,189,.12),0 12px 26px rgba(0,0,0,.24)}.character-choice img{width:100%;height:92px;object-fit:contain;display:block;filter:drop-shadow(0 9px 9px rgba(0,0,0,.25))}.character-choice span{display:block;font-weight:700;font-size:11px;margin-top:5px}.player-avatar img{width:100%;height:100%;object-fit:contain}
.player-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.player-library-item{padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;position:relative;overflow:hidden}.player-library-item:before{content:"";position:absolute;inset:auto -25% -55% 20%;height:90px;background:radial-gradient(circle,rgba(40,215,190,.16),transparent 68%)}.player-library-preview{height:78px;border-radius:14px;background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.11),rgba(255,255,255,.025));display:grid;place-items:center}.player-library-preview img{max-width:100%;max-height:76px;filter:drop-shadow(0 9px 8px rgba(0,0,0,.32))}.player-library-item strong,.player-library-item span{display:block}.player-library-item>div:nth-child(2) span{font-size:11px;color:var(--muted);margin-top:4px}.player-library-item>.badge{grid-column:1/-1;justify-self:start}.player-size-control{margin-top:18px;max-width:520px}
@media(max-width:900px){.character-picker,.player-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.character-picker{gap:7px}.character-choice{padding:5px;border-radius:12px}.character-choice img{height:68px}.player-library-grid{grid-template-columns:1fr}}

/* v2.5 stability fixes */
html { overflow-y: scroll; scrollbar-gutter: stable; }
body { min-width: 0; }
.admin-shell { align-items: start; }
.admin-sidebar { align-self: start; transform: none !important; }
.admin-page[data-page="players"],
.admin-page[data-page="history"] { width: 100%; min-width: 0; }
.history-page-card { min-height: 420px; }
.history-list-enterprise { max-width: none; }
.screen-shell {
  --screen-bottom-width: 58%;
}
.screen-bottom {
  width: var(--screen-bottom-width,58%) !important;
  left: var(--screen-bottom-x,50%) !important;
  right: auto !important;
  bottom: var(--screen-bottom-y,18px) !important;
  transform: translateX(-50%) !important;
  opacity: 1 !important;
  transition: left .25s ease, bottom .25s ease, width .25s ease;
}
.screen-bottom .screen-message {
  width: 100% !important;
  max-width: none !important;
  opacity: var(--screen-bottom-opacity,.92) !important;
}


/* v3.4 SVG health system */
.controller-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.controller-health{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(4,12,25,.42);backdrop-filter:blur(12px)}
.controller-health .health-label{font-size:10px;font-weight:900;letter-spacing:.14em;color:#9fb1c9}
.controller-health .health-hearts{display:flex;gap:3px}
.controller-health svg{width:23px;height:23px;filter:drop-shadow(0 4px 7px rgba(255,38,89,.28))}
.controller-health strong{font-size:12px;color:#fff}
@media(max-width:520px){.controller-health{padding:7px 9px}.controller-health svg{width:20px;height:20px}}


/* v3.6 enterprise readability, responsive admin and full asset previews */
.admin-shell,.admin-main,.admin-content,.admin-page{min-width:0}
.admin-shell .card,.admin-shell .card *{box-sizing:border-box}
.admin-shell .card-title h2,.admin-shell .character-slot>strong,.admin-shell .player-library-item strong,.admin-shell h1,.admin-shell h2,.admin-shell h3{color:#f4f8fc!important;text-shadow:none!important}
.admin-shell .card-title p,.admin-shell .player-library-item span,.admin-shell .character-slot label,.admin-shell small,.admin-shell .tiny,.admin-shell .muted{color:#94a9bd!important}
.admin-shell .eyebrow{color:#43e0ca!important}
.admin-shell input[type=file]{color:#dce8f3!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(158,198,231,.16)!important;border-radius:10px;padding:7px;max-width:100%}
.admin-shell input[type=file]::file-selector-button{border:0;border-radius:8px;padding:8px 10px;margin-right:8px;background:#22374c;color:#eef7ff;font-weight:800;cursor:pointer}
.character-manager-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
.character-slot{min-width:0;padding:14px!important;overflow:hidden}
.asset-thumb{height:260px!important;min-height:220px!important;padding:10px;background:radial-gradient(circle at 50% 42%,rgba(64,213,195,.12),rgba(3,12,22,.55))!important;border:1px solid rgba(151,190,224,.12)}
.asset-thumb img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 14px 14px rgba(0,0,0,.35))}
.character-slot .upload-line{grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center}
.settings-note{display:flex;gap:9px;align-items:flex-start;margin:14px 0 0;padding:11px 12px;border:1px solid rgba(67,224,202,.16);border-radius:12px;background:rgba(67,224,202,.055);color:#a9bdcf;font-size:12px;line-height:1.55}.settings-note svg{width:17px;height:17px;fill:#43e0ca;flex:none;margin-top:1px}
.history-actions{flex-wrap:wrap;justify-content:flex-end}
.history-list-enterprise>.card{background:rgba(255,255,255,.035)!important}
.admin-sidebar{position:sticky!important;top:14px!important;height:calc(100vh - 28px)!important;overflow:hidden}
.admin-nav{overflow-y:auto;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}
.admin-topbar,.admin-content{width:100%}
@media(max-width:1180px){.character-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.asset-thumb{height:230px!important}}
@media(max-width:760px){
 html{overflow-y:auto!important;scrollbar-gutter:auto!important}
 .admin-shell{display:block!important;padding:0!important}
 .admin-sidebar{position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;height:68px!important;z-index:1000!important;padding:7px!important;border-radius:18px!important;overflow-x:auto!important;overflow-y:hidden!important}
 .admin-nav{display:flex!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;justify-content:flex-start!important;padding:0!important}
 .admin-nav button{flex:0 0 62px!important;min-width:62px!important;height:52px!important;padding:7px!important;display:grid!important;place-items:center!important;scroll-snap-align:start}
 .admin-nav .label{display:none!important}.admin-brand,.admin-sidebar-bottom{display:none!important}
 .admin-main{margin:0 0 84px!important;border-radius:0!important;padding:0!important;width:100%!important}
 .admin-topbar{padding:14px 14px 12px!important}.admin-content{padding:12px 10px 20px!important}
 .grid-2,.grid-3,.grid-4,.settings-grid,.control-command-grid{grid-template-columns:1fr!important}
 .character-manager-grid,.player-library-grid{grid-template-columns:1fr!important}
 .character-slot .upload-line{grid-template-columns:1fr 1fr!important}.character-slot .upload-line input[type=file]{grid-column:1/-1!important}
 .asset-thumb{height:260px!important}
 .card{border-radius:16px!important;padding:14px!important}
 .card-head{align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important}
 .history-actions{width:100%;justify-content:stretch}.history-actions .btn{flex:1}
 .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:720px}
 .inline{flex-wrap:wrap!important}.inline>.field,.inline>.btn{min-width:0!important;width:100%}
}
@media(max-width:420px){.asset-thumb{height:220px!important}.admin-topbar h1{font-size:20px!important}.card-title h2{font-size:17px!important}}


/* v3.7 finish editor, readable dark cards, portrait previews */
.admin-shell .card,.admin-shell .card p,.admin-shell .card span,.admin-shell .card label,.admin-shell .card strong,.admin-shell .card td,.admin-shell .card th{color:#f4f8fc}
.admin-shell .card p,.admin-shell .card small,.admin-shell .card .muted{color:#9db0c3!important}
.player-library-preview{height:210px!important;min-height:210px!important;border-radius:16px!important;background:radial-gradient(circle at 50% 42%,rgba(53,224,193,.12),rgba(3,12,22,.72))!important;overflow:hidden!important;padding:10px!important}
.player-library-preview img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 12px 16px rgba(0,0,0,.38))}
.asset-thumb{aspect-ratio:3/4!important;height:auto!important;min-height:260px!important;max-height:390px!important}
.asset-thumb img{object-fit:contain!important;object-position:center bottom!important}
.background-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.background-presets .btn{flex:1 1 150px}
.finish-editor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:18px;align-items:start}.finish-canvas-wrap{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(129,190,255,.18);background:#06101c;box-shadow:0 20px 60px rgba(0,0,0,.28)}#finishCanvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab}.finish-canvas-help{position:absolute;left:14px;right:14px;bottom:12px;padding:9px 12px;border-radius:11px;background:rgba(4,13,25,.78);backdrop-filter:blur(12px);font-size:12px;color:#dceafa;text-align:center}.finish-editor-controls{display:grid;gap:13px}.finish-editor-controls .field{padding:14px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.finish-editor-controls input[type=range]{width:100%;accent-color:#35e0c1}.finish-editor-controls label{display:flex;justify-content:space-between;gap:12px}.finish-editor-controls label strong{color:#4de8d0!important}
#clearHistoryBtn:not(:disabled){pointer-events:auto;opacity:1;cursor:pointer}#clearHistoryBtn:disabled{opacity:.55;cursor:wait}
@media(max-width:980px){.finish-editor-layout{grid-template-columns:1fr}.player-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.asset-thumb{max-height:330px!important}}
@media(max-width:620px){.player-library-grid{grid-template-columns:1fr!important}.player-library-preview{height:250px!important}.finish-canvas-help{font-size:10px}.admin-nav button .label{font-size:11px}.asset-thumb{min-height:300px!important;max-height:none!important}}


/* v3.9 — proportional participant thumbnails */
.player-library-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.player-library-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:11px!important;
  min-width:0!important;
  padding:14px!important;
}
.player-library-preview{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3/4!important;
  padding:10px!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:radial-gradient(circle at 50% 38%,rgba(53,224,193,.12),rgba(3,12,22,.72))!important;
}
.player-library-preview img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.38))!important;
}
.player-library-item>div:nth-child(2){min-width:0!important}
.player-library-item>.badge{align-self:flex-start!important;grid-column:auto!important}
@media(max-width:1100px){.player-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.player-library-grid{grid-template-columns:1fr!important}.player-library-preview{aspect-ratio:4/5!important;max-height:360px!important}}
