/* Shared Events visual system. Staff colors; no behavioral overrides. */
.events-theme {
  --bg:#071011; --panel:#101c1b; --panel2:#13251f; --surface:#0b1515;
  --text:#f0f5eb; --muted:#b0bfb8; --subtle:#8eaaa0; --line:#2a3c35;
  --cyan:#6eeedd; --green:#d4ff68; --lime:#d4ff68; --purple:#c6b6f5;
  --danger:#ffbbb2; --warn:#f6dfab; --shadow:0 16px 48px #0002;
  min-height:100vh; min-height:100dvh;
  background:radial-gradient(ellipse 1000px 550px at 85% -180px,#1a3828 0,transparent 75%),var(--bg);
  color:var(--text); font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:dark; text-rendering:optimizeLegibility;
}
.events-theme *, .events-theme *::before, .events-theme *::after {box-sizing:border-box}
.events-theme ::selection {background:var(--lime);color:#102018}
.events-theme :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid var(--cyan);outline-offset:3px}
.events-theme :is(button,select,summary) {touch-action:manipulation}
.events-theme :is(button,input,select,textarea) {font:inherit}
.events-theme :is(input,select,textarea,fieldset,.card,.two>*,.three>*,.four>*) {min-width:0}
.events-theme :is(p,h1,h2,h3,label) {overflow-wrap:anywhere}
.events-theme .wrap {width:min(1340px,calc(100% - 64px));margin-inline:auto}
.events-theme main {padding:42px 0 88px;min-height:75vh}
.events-theme .topbar {background:rgba(7,16,17,.95);border-color:var(--line);backdrop-filter:blur(12px)}
.events-theme .topbar-in {min-height:80px;height:auto;padding-block:12px;gap:20px}
.events-theme .brand {font-weight:750;letter-spacing:-.025em;min-width:0}
.events-theme .brand img {height:49px;object-fit:contain}
.events-theme .brand span {font-size:1rem}
.events-theme .nav {gap:8px;align-items:center}
.events-theme .hero {padding:10px 0 25px}
.events-theme h1,.events-theme .hero h1 {font-size:clamp(2.1rem,4vw,3.8rem);font-weight:750;line-height:1.08;letter-spacing:-.055em;margin:.3em 0 .35em}
.events-theme h2 {font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.3;letter-spacing:-.03em}
.events-theme h3 {line-height:1.35;letter-spacing:-.02em}
.events-theme .hero p {font-size:.96rem;line-height:1.7;color:var(--muted)}
.events-theme .eyebrow {color:var(--cyan);font-size:.68rem;letter-spacing:.16em;font-weight:800}
.events-theme .muted,.events-theme .hint {color:var(--muted)}
.events-theme .grid {gap:22px}
.events-theme .grid.cards {grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.events-theme .card {padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:var(--shadow)}
.events-theme .card.soft {background:var(--surface);box-shadow:none}
.events-theme .card.danger-zone {background:#251b19;border-color:#6c423a}
.events-theme .stack {gap:18px}
.events-theme .section-title {margin:30px 0 17px;gap:13px}
.events-theme .section-title span {border:1px solid #3e5638;background:#1e3023;color:var(--lime);border-radius:11px}
.events-theme .section-title h2 {font-size:1.25rem}
.events-theme .btn {min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:11px;background:#182a22;color:var(--text);font-size:.85rem;font-weight:650;line-height:1.3;box-shadow:none;transition:background .15s,border-color .15s;white-space:normal;text-align:center}
.events-theme .btn:hover {transform:none;background:#24392b;border-color:#58724c}
.events-theme .btn.primary,.events-theme .arena-alert-button {background:var(--lime);border-color:var(--lime);color:#15200d;font-weight:750}
.events-theme .btn.primary:hover,.events-theme .arena-alert-button:hover {background:#e0ff92;border-color:#e0ff92;transform:none}
.events-theme .btn.purple {background:#262238;border-color:#574b70;color:#e3dafa}
.events-theme .btn.purple:hover {background:#352d48}
.events-theme .btn.danger {background:#321e1b;border-color:#7c493e;color:#ffd5cd}
.events-theme .btn.danger:hover {background:#462722;border-color:#b16a58}
.events-theme .btn.warn {background:#30291d;border-color:#695b3a;color:#f6dfab}
.events-theme .btn.ghost {background:transparent}
.events-theme .btn.ghost:hover {background:#192a22}
.events-theme .btn.sm {min-height:38px;padding:9px 12px;font-size:.76rem;border-radius:9px}
.events-theme .btn:disabled {opacity:.45;transform:none;cursor:not-allowed}
.events-theme .badge {border-color:var(--line);padding:5px 9px;font-size:.7rem;font-weight:650;color:var(--muted);background:#16241e;line-height:1.4}
.events-theme .badge.green {background:#20311d;border-color:#4a6235;color:#d4ff90}
.events-theme .badge.warn {background:#30291d;border-color:#695b3a;color:#f6dfab}
.events-theme .badge.red {background:#321e1b;border-color:#7c493e;color:#ffd5cd}
.events-theme .badge.purple {background:#262238;border-color:#574b70;color:#e3dafa}
.events-theme .badge.city-badge {background:#142b27;border-color:#355b4b;color:var(--cyan)}
.events-theme label {color:var(--text);font-size:.85rem;font-weight:650;gap:8px}
.events-theme :is(input,select,textarea) {border-color:var(--line);border-radius:11px;background:var(--bg);color:var(--text);padding:12px 14px;line-height:1.45;accent-color:var(--lime);box-shadow:none}
.events-theme :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) {min-height:46px}
.events-theme :is(input,textarea)::placeholder {color:#9cafa6;opacity:1}
.events-theme :is(input,select,textarea):focus {border-color:#6a8960;box-shadow:0 0 0 3px #b9ed6914}
.events-theme input:read-only,.events-theme textarea:read-only {background:#11201a;color:var(--muted)}
.events-theme input[type=checkbox],.events-theme input[type=radio] {width:19px;height:19px;flex:0 0 19px;padding:0;margin-top:2px}
.events-theme input[type=file] {padding:9px;white-space:normal;font-size:.8rem}
.events-theme input[type=file]::file-selector-button {margin-right:12px;padding:8px 11px;border:1px solid #3d5437;border-radius:7px;background:#223421;color:var(--text);cursor:pointer}
.events-theme select option {background:#101c1b;color:var(--text)}
.events-theme .check {font-size:.85rem;font-weight:500;line-height:1.55;align-items:flex-start}
.events-theme .hint {font-size:.77rem;line-height:1.55}
.events-theme .alert {padding:15px 17px;border-radius:13px;border-color:var(--line);line-height:1.55}
.events-theme .alert.info {background:#142b27;border-color:#355b4b;color:#d1f3e9}
.events-theme .alert.ok {background:#20311d;border-color:#4a6235;color:#d4ff90}
.events-theme .alert.error {background:#321e1b;border-color:#7c493e;color:#ffd5cd}
.events-theme .stats {gap:14px}
.events-theme .stat {padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}
.events-theme .stat strong {font-size:2rem;line-height:1.2;letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:10px 0 3px}
.events-theme .stat span {font-size:.65rem;letter-spacing:.09em;color:var(--muted)}
.events-theme .table-wrap {max-width:100%;border:1px solid var(--line);border-radius:17px;background:var(--panel);scrollbar-color:#4c6655 #111e19;overscroll-behavior-inline:contain}
.events-theme table {color:var(--text);font-size:.84rem}
.events-theme th,.events-theme td {padding:16px 18px;border-color:var(--line);vertical-align:middle}
.events-theme th {background:#192c22;color:var(--muted);font-size:.65rem;font-weight:700;letter-spacing:.09em}
.events-theme tbody tr:hover {background:#15271f}
.events-theme td .row {gap:8px}
.events-theme .tabs {gap:8px;padding-bottom:5px;scrollbar-width:thin;scrollbar-color:#4c6655 #111e19}
.events-theme .tab {display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 14px;border-radius:11px;background:#12201b;border:1px solid var(--line);color:var(--muted);font-size:.81rem;font-weight:650}
.events-theme .tab:hover {border-color:#536b43;color:var(--text)}
.events-theme .tab.active {background:#25351d;border-color:#627b3b;color:var(--lime)}
.events-theme .slot label {min-height:49px;border-color:var(--line);background:var(--surface);border-radius:11px;line-height:1.4}
.events-theme .slot input:checked+label {background:#25351d;border-color:#7e9e42;color:var(--lime)}
.events-theme .slot input:focus-visible+label {outline:3px solid var(--cyan);outline-offset:3px}
.events-theme .slot label.disabled {opacity:.5}
.events-theme .slot small {color:var(--muted)}
.events-theme .player-btn {background:#15271f;border-color:#3d5749;box-shadow:none;border-radius:12px}
.events-theme .player-btn::before {filter:none}
.events-theme .player-btn.is-active {background:#b6e867;border-color:#d4ff68;box-shadow:0 0 0 1px #142315;transform:none}
.events-theme .player-btn.is-active::before {filter:none}
.events-theme .city-choice {border-color:#3c573e;border-radius:24px;background:radial-gradient(ellipse at top right,#31532b66,transparent 72%),var(--panel2);box-shadow:var(--shadow);transition:border-color .15s,background .15s}
.events-theme .city-choice:hover {transform:none;border-color:#7e9e42;background-color:#193022}
.events-theme .city-choice strong {letter-spacing:-.055em}
.events-theme .city-choice-action {color:var(--lime);font-size:.86rem}
.events-theme .city-tab {background:#12201b;border-color:var(--line);color:var(--muted);font-size:.82rem}
.events-theme .city-tab:hover,.events-theme .city-tab.active {background:#25351d;border-color:#627b3b;color:var(--lime)}
.events-theme .event-venuebar {border-color:var(--line);border-radius:13px;background:#101c1bd9;padding:11px 15px;margin-bottom:24px;font-size:.82rem}
.events-theme .city-permission,.events-theme .rbac-event-option {background:var(--surface);border-color:var(--line)}
.events-theme .divider {background:var(--line);margin:22px 0}
.events-theme .footer {border-color:var(--line);color:var(--muted);background:#0b1515;padding:26px 0;font-size:.77rem}
.events-theme .empty {padding:44px 24px;line-height:1.7;color:var(--muted)}
/* Shared colors for page-specific booking, login and dialog components. */
.events-theme .rbac-login-card {background:radial-gradient(ellipse 400px 250px at 95% -50%,#2a4731,transparent),var(--panel);border-color:#3e5638;border-radius:24px;box-shadow:0 24px 80px #0003;padding:34px}
.events-theme .rbac-login-card h1 {font-size:clamp(1.8rem,5vw,2.5rem);letter-spacing:-.045em}
.events-theme .rbac-login-card p {color:var(--muted);font-size:.9rem}
.events-theme .rbac-login-card label {font-weight:650}
.events-theme .rbac-event-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}
.events-theme .rbac-event-card {gap:20px}
.events-theme #rbacV3Toolbar {background:#101c1bf5;border-color:#405b3e;border-radius:15px;box-shadow:0 12px 35px #0005;max-width:calc(100% - 24px)}
.events-theme #rbacV3Toolbar .rbac-user-button {background:var(--lime);color:#15200d}
.events-theme #rbacV3Toolbar .rbac-logout-button {background:#23362b;color:var(--text)}
.events-theme #rbacV3Toolbar .rbac-account-name {color:var(--muted)}
.events-theme #adminEventDateNavigator button,.events-theme #adminEventDatePicker {background:var(--surface);border-color:#476044;color:var(--text)}
.events-theme #adminEventDateNavigator button:hover:not(:disabled) {background:#25351d;border-color:#7e9e42}
.events-theme #adminEventDatePretty {color:var(--muted)}
.events-theme :is(.delete-modal,.arena-alert-dialog) {background:#13231d;border-color:#536a4d;border-radius:22px;color:var(--text);box-shadow:0 30px 90px #0008}
.events-theme .delete-modal-head {border-color:var(--line)}
.events-theme :is(.delete-modal-title,.arena-alert-title) {color:var(--text)}
.events-theme :is(.delete-modal-body,.delete-modal-note,.arena-alert-message) {color:var(--muted)}
.events-theme .btn-delete-cancel {background:#1e3023;border-color:#3c543b;color:var(--text)}
.events-theme .btn-delete-confirm {background:#583126;border-color:#b16a58;color:#fff0ec;box-shadow:none}
.events-theme .arena-alert-icon {background:#233820;border-color:#526e3c;color:var(--lime);box-shadow:none}
.events-theme .arena-alert-accent {background:linear-gradient(90deg,var(--lime),var(--cyan))}
.events-theme #eventBackToList {background:#101c1bf5;border-color:#466044;color:var(--text);box-shadow:0 12px 36px #0004}
.events-theme #eventBackToList:hover {background:#24392b;border-color:#7e9e42;transform:none}
.events-theme .event-long-date-picker {background:var(--panel2);border-color:#3e5638}
.events-theme .event-date-calendar-shell {background:var(--bg);border-color:#476044}
.events-theme .event-long-date-label,.events-theme .event-date-calendar-info {color:var(--muted)}
.events-theme .payment-card {padding:0}
.events-theme .payment-header {background:radial-gradient(ellipse at top,#30472866,transparent 75%),var(--panel2)}
.events-theme .payment-summary,.events-theme .success-user {background:var(--surface);border-color:var(--line)}
.events-theme .payment-status.loading {background:#142b27;border-color:#355b4b;color:var(--text)}
.events-theme .success-card {background:#101c1bf2;border-color:#405b3e}
.events-theme .success-page.no-bg::before {background:radial-gradient(ellipse at top right,#233d29,transparent 70%),var(--bg)}
.events-theme .success-page::after {background:radial-gradient(circle at 20% 15%,#6eeedd0a,transparent 30%)}
.events-theme .success-check {background:var(--lime);color:#15200d;box-shadow:none}
/* Dedicated room displays retain their layouts and QR/camera behavior. */
.events-theme.events-screen {overflow:hidden;background:var(--bg)}
.events-theme.events-screen .head {border-color:var(--line);background:#0b1515}
.events-theme.events-screen .title {line-height:1.15}
.events-theme.events-screen .title h1 {font-size:2.1vw;line-height:1.15;margin:0}
.events-theme.events-screen .title div {color:var(--muted)}
.events-theme.events-screen .slot {background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}
.events-theme.events-screen .slot h2 {font-size:3.2vw;color:var(--lime);letter-spacing:-.035em}
.events-theme.events-screen .arena h3 {color:var(--cyan)}
.events-theme.events-screen .name {background:#203428;color:var(--text)}
.events-theme.events-screen .name.in {background:#344e24;color:#d4ff90}
.events-theme.events-screen .empty {padding:0;color:var(--muted)}
.events-theme.events-kiosk::before {background:radial-gradient(ellipse at top right,#2b4d32,transparent 70%),var(--bg);animation:none}
.events-theme.events-kiosk .shell,.events-theme.events-kiosk .logo {animation:none;transform:none}
.events-theme.events-kiosk .logo {filter:none}
.events-theme.events-kiosk .title {color:var(--text);text-shadow:none;letter-spacing:.03em;font-weight:750}
.events-theme.events-kiosk :is(.subtitle,.status,.status span.label,.hint) {color:var(--muted)}
.events-theme.events-kiosk .card {background:var(--panel);border-color:#496244;padding:14px;box-shadow:0 24px 70px #0004}
.events-theme.events-kiosk .preview-wrap {background:var(--bg);border-color:#536b43}
.events-theme.events-kiosk .overlay-frame {border-color:var(--lime);box-shadow:0 0 18px #d4ff6829;animation:none}
.events-theme.events-kiosk .scan-lines {opacity:.15;animation:none}
.events-theme.events-kiosk .ready-banner-inner {background:#203a24f2;border-color:#7e9e42;box-shadow:0 20px 45px #0006}
.events-theme.events-kiosk .ready-banner-inner::before {animation:none}
.events-theme.events-kiosk .ready-icon-wrap {background:var(--lime);box-shadow:none}
.events-theme.events-kiosk .ready-copy-sub {color:#d1f3c4}
.events-theme.events-kiosk .ready-progress {background:#112017}
.events-theme.events-kiosk .ready-progress-bar {background:linear-gradient(90deg,var(--lime),var(--cyan));box-shadow:none}
.events-theme.events-standalone .box {background:var(--panel);border-color:#405b3e;color:var(--text)}
.events-theme.events-standalone .box a {background:var(--lime);color:#15200d;font-weight:750}
.events-theme.events-superadmin .back {color:var(--cyan)}
.events-theme.events-superadmin .lead,.events-theme.events-superadmin .admin-row small {color:var(--muted)}
.events-theme.events-superadmin button {background:var(--lime);color:#15200d;font-weight:750}
.events-theme.events-superadmin button:hover {background:#e0ff92}
.events-theme.events-superadmin .admin-row {background:var(--surface);border-color:var(--line)}
.events-theme.events-superadmin .status.active,.events-theme.events-superadmin .notice.success {background:#20311d;border-color:#4a6235;color:#d4ff90}
.events-theme.events-superadmin .status.inactive,.events-theme.events-superadmin .notice.error {background:#321e1b;border-color:#7c493e;color:#ffd5cd}
.events-theme.events-superadmin .warning {background:#30291d;color:#f6dfab}
@media(min-width:1600px) {.events-theme .wrap {width:min(1500px,calc(100% - 96px))}}
@media(max-width:1000px) {.events-theme .wrap {width:calc(100% - 40px)}.events-theme .brand span {max-width:180px;font-size:.88rem}.events-theme .topbar-in {gap:14px}.events-theme .nav {justify-content:flex-end}}
@media(max-width:760px) {
  .events-theme .wrap {width:calc(100% - 28px)}
  .events-theme main {padding:27px 0 100px}
  .events-theme .topbar-in {min-height:74px;align-items:center;padding-block:11px}
  .events-theme .brand img {height:43px}.events-theme .brand span {display:none}
  .events-theme .nav {gap:6px}.events-theme .nav .btn {min-height:39px;padding:9px 10px;font-size:.72rem}
  .events-theme .hero {padding:7px 0 20px}.events-theme .hero p {font-size:.88rem}
  .events-theme .card {padding:20px;border-radius:18px}
  .events-theme .grid {gap:16px}.events-theme .two,.events-theme .three,.events-theme .four {grid-template-columns:1fr;gap:16px}
  .events-theme :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) {font-size:16px}
  .events-theme .arena-row {grid-template-columns:minmax(0,1fr) 90px auto;gap:8px}
  .events-theme .arena-row .btn {padding:10px;font-size:.76rem}
  .events-theme .stat {padding:17px}.events-theme .stat strong {font-size:1.8rem}
  .events-theme th,.events-theme td {padding:13px 14px}
  .events-theme .table-wrap {border-radius:13px}.events-theme .table-wrap .btn.sm {min-height:40px}
  .events-theme .city-choice {padding:26px;min-height:205px}
  .events-theme .rbac-login-shell {margin:3vh auto}.events-theme .rbac-login-card {padding:25px}
  .events-theme #rbacV3Toolbar {right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:6px;padding:8px;font-size:.77rem}
  .events-theme #rbacV3Toolbar .rbac-account-name {max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .events-theme #adminEventDateNavigator {grid-template-columns:42px minmax(0,1fr) 42px;max-width:100%}
  .events-theme .payment-card {padding:0}.events-theme .payment-header,.events-theme .payment-content {padding:21px}
  .events-theme .success-shell {width:100%}.events-theme .success-card {padding:21px}
  .events-theme .delete-modal-actions {flex-wrap:wrap}.events-theme .delete-modal-actions button {flex:1}
  .events-theme .footer {padding-bottom:90px}
}
@media(max-width:380px) {.events-theme .arena-row {grid-template-columns:minmax(0,1fr) 75px}.events-theme .arena-row .btn {grid-column:1/-1}.events-theme .card {padding:18px}.events-theme .stats {grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce) {.events-theme *,.events-theme *::before,.events-theme *::after {scroll-behavior:auto!important;transition:none!important;animation:none!important}}
