/* Admin surfaces: keep the site's two themes and use one readable control language. */
html[data-theme="light"] :is(#admin-view,#ai-backend-view) {
  --admin-surface:#fffdf8;
  --admin-raised:#f1f5ee;
  --admin-page:#f7f9f5;
  --admin-ink:#173c35;
  --admin-muted:#47675a;
  --admin-line:#ccdbd0;
  --admin-accent:#173c35;
  --admin-accent-text:#fff;
  --admin-soft:#e2eee6;
  --admin-danger:#a3423d;
}
html[data-theme="dark"] :is(#admin-view,#ai-backend-view) {
  --admin-surface:#10231e;
  --admin-raised:#17342b;
  --admin-page:#0b1c17;
  --admin-ink:#edf5ee;
  --admin-muted:#b8d0c1;
  --admin-line:#36574b;
  --admin-accent:#9cdbb8;
  --admin-accent-text:#0b2118;
  --admin-soft:#1e4033;
  --admin-danger:#ffb0a8;
}

:is(#admin-view,#ai-backend-view) {
  color:var(--admin-ink) !important;
  background:var(--admin-page) !important;
  background-image:none !important;
}
:is(#admin-view,#ai-backend-view) .admin-header {
  align-items:center;
  padding:19px 22px;
  background:var(--admin-surface) !important;
  border:1px solid var(--admin-line) !important;
  border-radius:12px;
  box-shadow:0 7px 24px rgba(11,36,25,.055);
}
:is(#admin-view,#ai-backend-view) .admin-title,
:is(#admin-view,#ai-backend-view) .ai-card-title,
:is(#admin-view,#ai-backend-view) .admin-software-toolbar h3,
:is(#admin-view,#ai-backend-view) .admin-software-editor h3 {
  color:var(--admin-ink) !important;
}
:is(#admin-view,#ai-backend-view) .admin-tabs {
  gap:7px;
  padding:7px;
  background:var(--admin-surface) !important;
  border:1px solid var(--admin-line) !important;
  border-radius:11px;
  scrollbar-width:thin;
}
:is(#admin-view,#ai-backend-view) .admin-tab {
  min-height:39px;
  color:var(--admin-muted) !important;
  border:1px solid transparent !important;
  border-radius:7px;
  font-weight:600;
  white-space:nowrap;
}
:is(#admin-view,#ai-backend-view) .admin-tab:hover {
  color:var(--admin-ink) !important;
  background:var(--admin-soft) !important;
}
:is(#admin-view,#ai-backend-view) .admin-tab.active {
  color:var(--admin-accent-text) !important;
  background:var(--admin-accent) !important;
  border-color:var(--admin-accent) !important;
  box-shadow:none !important;
}
:is(#admin-view,#ai-backend-view) :is(.stat-card,.ai-card,.admin-user-toolbar,.admin-user-table-wrap,.admin-detail-section,.admin-software-toolbar,.admin-software-row,.admin-software-editor,.admin-settings-card),
#ai-backend-view .admin-stats-grid .stat-card {
  background:var(--admin-surface) !important;
  color:var(--admin-ink) !important;
  border:1px solid var(--admin-line) !important;
  border-radius:11px;
  box-shadow:none !important;
}
:is(#admin-view,#ai-backend-view) .admin-overview-panels > div {
  background:var(--admin-surface) !important;
  color:var(--admin-ink) !important;
  border:1px solid var(--admin-line) !important;
  border-radius:11px !important;
}
:is(#admin-view,#ai-backend-view) .stat-card .num {
  color:var(--admin-ink) !important;
  font-variant-numeric:tabular-nums;
}
:is(#admin-view,#ai-backend-view) :is(.stat-card .lbl,.admin-user-subtitle,.admin-user-meta,.admin-user-id,.ai-live-summary,.ai-field label,.toggle-label small,.admin-settings-hint,.admin-invite-item span) {
  color:var(--admin-muted) !important;
}
:is(#admin-view,#ai-backend-view) :is(.admin-table-wrap,.admin-user-table-wrap) {
  border:1px solid var(--admin-line) !important;
  border-radius:10px;
  background:var(--admin-surface) !important;
}
:is(#admin-view,#ai-backend-view) .admin-table th {
  color:var(--admin-ink) !important;
  background:var(--admin-raised) !important;
  border-color:var(--admin-line) !important;
  font-weight:700;
}
:is(#admin-view,#ai-backend-view) .admin-table td {
  color:var(--admin-ink);
  border-color:var(--admin-line) !important;
}
:is(#admin-view,#ai-backend-view) .admin-table tr:hover td {
  background:var(--admin-raised) !important;
}
:is(#admin-view,#ai-backend-view) [style*="color:var(--gold"],
:is(#admin-view,#ai-backend-view) .admin-game-event strong {
  color:var(--admin-accent) !important;
}
:is(#admin-view,#ai-backend-view) :is(.admin-action-btn,.ai-btn,.modal-btn) {
  min-height:34px;
  border:1px solid var(--admin-line) !important;
  border-radius:7px;
  background:var(--admin-raised) !important;
  background-image:none !important;
  color:var(--admin-ink) !important;
  box-shadow:none !important;
  font-weight:650;
}
:is(#admin-view,#ai-backend-view) :is(.admin-action-btn,.ai-btn,.modal-btn):not(:disabled):hover {
  background:var(--admin-soft) !important;
  border-color:var(--admin-accent) !important;
}
:is(#admin-view,#ai-backend-view) :is(.modal-btn.primary,.ai-btn.start,.ai-btn.save,.ai-btn.test) {
  background:var(--admin-accent) !important;
  color:var(--admin-accent-text) !important;
  border-color:var(--admin-accent) !important;
}
:is(#admin-view,#ai-backend-view) :is(.modal-btn.primary,.ai-btn.start,.ai-btn.save,.ai-btn.test):not(:disabled):hover {
  background:var(--admin-accent) !important;
  color:var(--admin-accent-text) !important;
  filter:brightness(1.11);
}
:is(#admin-view,#ai-backend-view) :is(.admin-action-btn.del,.ai-btn.stop) {
  background:transparent !important;
  color:var(--admin-danger) !important;
  border-color:var(--admin-danger) !important;
}
:is(#admin-view,#ai-backend-view) :is(.admin-action-btn,.ai-btn,.modal-btn):disabled {
  opacity:.62 !important;
  cursor:not-allowed;
}
:is(#admin-view,#ai-backend-view) :is(input:not([type=checkbox]),select,textarea) {
  min-height:38px;
  background:var(--admin-surface) !important;
  color:var(--admin-ink) !important;
  border:1px solid var(--admin-line) !important;
  border-radius:7px;
}
:is(#admin-view,#ai-backend-view) :is(input:not([type=checkbox]),select,textarea):focus-visible,
:is(#admin-view,#ai-backend-view) :is(button,input,select,textarea):focus-visible {
  outline:2px solid var(--admin-accent);
  outline-offset:2px;
}
:is(#admin-view,#ai-backend-view) .toggle-switch {
  width:52px;
  height:30px;
}
:is(#admin-view,#ai-backend-view) .toggle-switch input {
  width:100%;
  height:100%;
  opacity:0;
}
:is(#admin-view,#ai-backend-view) .toggle-switch .toggle-slider {
  background:var(--admin-line) !important;
  border:1px solid var(--admin-muted);
  border-radius:99px;
}
:is(#admin-view,#ai-backend-view) .toggle-switch .toggle-slider:before {
  width:22px;
  height:22px;
  bottom:3px;
  left:3px;
  background:var(--admin-surface);
  box-shadow:0 1px 4px rgba(0,0,0,.22);
}
:is(#admin-view,#ai-backend-view) .toggle-switch input:checked + .toggle-slider {
  background:var(--admin-accent) !important;
  border-color:var(--admin-accent);
}
:is(#admin-view,#ai-backend-view) .toggle-switch input:checked + .toggle-slider:before {
  transform:translateX(22px);
  background:var(--admin-accent-text);
}
:is(#admin-view,#ai-backend-view) .toggle-switch input:focus-visible + .toggle-slider {
  outline:2px solid var(--admin-accent);
  outline-offset:3px;
}
#admin-view .admin-invite-controls {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
#admin-view .admin-settings-layout {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:1120px;
  margin:auto;
}
#admin-view .admin-settings-heading {
  grid-column:1/-1;
  color:var(--admin-ink);
  font-size:18px;
  font-weight:750;
}
#admin-view .admin-settings-card { min-width:0; padding:16px; }
#admin-view .admin-settings-card .toggle-row { border:0; padding:0; }
#admin-view .admin-settings-card :is(.toggle-label,p),
#admin-view .admin-settings-card [style*="color:var(--ink)"] { color:var(--admin-ink) !important; }
#admin-view .admin-settings-card [style*="color:var(--ink3)"] { color:var(--admin-muted) !important; }
#admin-view .admin-settings-invites { grid-column:1/-1; }
#admin-view .admin-settings-card > .modal-btn { width:auto; max-width:100%; margin:4px 8px 4px 0; padding:9px 13px; }
#admin-view .admin-invite-generate {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:12px;
}
#admin-view .admin-invite-generate label { color:var(--admin-muted); font-size:13px; font-weight:700; }
#admin-view .admin-invite-generate select { width:100px; padding:8px; }
#admin-view .admin-invite-generate button { width:auto; padding:8px 13px; white-space:nowrap; }
#admin-view .admin-invite-list { max-height:280px; overflow:auto; border-top:1px solid var(--admin-line); }
#admin-view .admin-invite-revoke { margin-top:12px !important; }
#admin-view .admin-invite-controls input { flex:1 1 180px; min-width:0; padding:9px 10px; font-weight:700; }
#admin-view .admin-invite-controls button { width:auto; padding:8px 12px; white-space:nowrap; }
#admin-view .admin-settings-hint { margin-top:8px; font-size:12px; line-height:1.55; }
#admin-view .admin-invite-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  padding:7px 0;
  border-bottom:1px solid var(--admin-line);
}
#admin-view .admin-invite-item code { overflow-wrap:anywhere; color:var(--admin-ink); font-weight:700; }
#admin-view .admin-invite-item span { font-size:11px; }
#admin-view .admin-invite-item button { margin:0; }
#admin-view :is(.exclusive-compute-btn,.exclusive-compute-status-list > div,.exclusive-compute-security,.exclusive-compute-route-note) {
  color:var(--admin-ink);
  background:var(--admin-raised);
  border-color:var(--admin-line);
  box-shadow:none;
}
#admin-view :is(.exclusive-compute-btn strong,.exclusive-compute-status-list strong) { color:var(--admin-ink); }
#admin-view :is(.exclusive-compute-btn span,.exclusive-compute-status-list span,.exclusive-compute-status-list em,.exclusive-compute-summary,.exclusive-compute-security,.exclusive-compute-route-note) { color:var(--admin-muted); }
#admin-view .exclusive-compute-btn.active { background:var(--admin-soft); border-color:var(--admin-accent); }
#admin-view .exclusive-compute-btn:disabled { opacity:.65; filter:none; }

#site-service-modal .customer-service-qr-card {
  display:grid;
  justify-items:center;
  gap:14px;
  text-align:center;
}
#site-service-modal .customer-service-qr img {
  display:block;
  width:auto;
  max-width:min(100%,250px);
  max-height:min(48dvh,330px);
  object-fit:contain;
  margin:auto;
  border-radius:8px;
}
#site-service-modal .customer-service-qr-card p {
  max-width:32em;
  margin:0;
  color:var(--ink2);
  font-size:14px;
  line-height:1.7;
}
html[data-theme="dark"] body:is(.view-admin-view,.view-ai-backend-view) #nav-username { color:#edf5ee !important; }
html[data-theme="light"] body:is(.view-admin-view,.view-ai-backend-view) :is(#nav-rank,#nav-super-badge) { background:#e2eee6 !important; color:#173c35 !important; border-color:#ccdbd0 !important; }
html[data-theme="dark"] body:is(.view-admin-view,.view-ai-backend-view) :is(#nav-rank,#nav-super-badge) { background:#1e4033 !important; color:#aee0c3 !important; border-color:#36574b !important; }
html[data-theme="light"] body.view-admin-view .confirm-dialog .modal { background:#fffdf8 !important; color:#173c35 !important; border:1px solid #ccdbd0 !important; }
html[data-theme="dark"] body.view-admin-view .confirm-dialog .modal { background:#10231e !important; color:#edf5ee !important; border:1px solid #36574b !important; }
body.view-admin-view .confirm-dialog :is(.modal-title,p) { color:inherit !important; }
html[data-theme="light"] body.view-admin-view .confirm-dialog .modal-btn.primary { background:#173c35 !important; color:#fff !important; border-color:#173c35 !important; }
html[data-theme="dark"] body.view-admin-view .confirm-dialog .modal-btn.primary { background:#9cdbb8 !important; color:#0b2118 !important; border-color:#9cdbb8 !important; }
body.view-admin-view .admin-copy-dialog textarea { width:100%; min-height:130px; padding:10px; resize:vertical; white-space:pre; }
@media(max-width:620px) {
  :is(#admin-view,#ai-backend-view) { padding:12px !important; }
  :is(#admin-view,#ai-backend-view) .admin-header { padding:15px; }
  :is(#admin-view,#ai-backend-view) .admin-tabs { margin-bottom:14px; flex-wrap:wrap; }
  :is(#admin-view,#ai-backend-view) .admin-tab { flex:1 1 calc(33.333% - 8px); padding:8px 5px; }
  #admin-view .admin-settings-layout { grid-template-columns:minmax(0,1fr); }
  #admin-view .admin-settings-invites { grid-column:1; }
  #admin-view .admin-invite-controls input { flex-basis:100%; }
  #admin-view .admin-invite-generate button { flex:1 1 auto; }
  #admin-view .admin-invite-item { grid-template-columns:minmax(0,1fr) auto; }
  #admin-view .admin-invite-item span { grid-column:1; grid-row:2; }
  #admin-view .admin-invite-item button { grid-column:2; grid-row:1 / span 2; }
}
