/* Preview only. Clears legacy Aurora surfaces without changing page behavior. */
:root {
  --action: #7554d3;
  --legacy-line: rgba(255, 255, 255, .10);
  --legacy-line-strong: rgba(255, 255, 255, .20);
  --legacy-control-line: #716c86;
  --legacy-selected: #29213e;
  --legacy-positive: #82dfbd;
  --legacy-warning: #f1c875;
  --legacy-danger: #ffa8b4;
}

/* A background-color alone leaves the old blue background-image in place. */
html, body {
  background: var(--bg, #0d101c);
  background-image: none;
}
.sidebar {
  background: #0b0e19;
  background-image: none;
  border-color: var(--legacy-line);
}
.topbar {
  background: var(--bg, #0d101c);
  background-image: none;
  border-color: var(--legacy-line);
}
.sidebar footer { background: transparent; background-image: none; }

.panel, .kpi, .info-bar, .page-footer, .integration-card,
.database-types button, .license-hero-grid > article, .license-state,
.diagnostic-strip > article, .cloud-kpis > article, .command-summary > article,
.season-hero, .tournament-hero, .raid-hero {
  background: var(--surface, #151a2a);
  background-image: none;
  border-color: var(--legacy-line);
  box-shadow: none;
}

/* Nested content shared by the standard modules and all NovaPlay pages. */
.service-grid > div, .module-status-grid > div,
.switch-control, .toggle-list label, .category-toggles label,
.rule-list > div, .sanction-steps > div, .rights-grid > div,
.selectable-list button, .extension-card, .extension,
.radio-card, .search-box, .game-grid > div,
.mission-list button, .season-progress, .podium > div,
.bracket-cols span, .reward-catalog button, .inventory-grid .data-row,
.social-config-grid .notice, .action-cards button,
.discord-preview, .welcome-preview, .user-bubble, .bot-bubble, .embed {
  background: var(--surface-3, #111625);
  background-image: none;
  border-color: var(--legacy-line);
  box-shadow: none;
}
.embed { border-left-color: var(--violet, #8c6af5); }
.user-bubble { border-left-color: #ac94f7; }
.bot-bubble { border-left-color: var(--violet, #8c6af5); }
.warn-embed, .danger-embed { border-left-color: var(--legacy-danger); }
.success-panel, .panel.success-panel, .notice.success,
.danger-panel, .panel.danger-panel, .error-panel, .panel.error-panel,
.notice.error, .notice.warning {
  background: var(--surface, #151a2a);
  background-image: none;
  border-color: var(--legacy-line);
  border-left: 3px solid var(--legacy-positive);
  box-shadow: none;
}
.danger-panel, .panel.danger-panel, .error-panel, .panel.error-panel,
.notice.error { border-left-color: var(--legacy-danger); }
.notice.warning { border-left-color: var(--legacy-warning); }
.success-panel strong, .green-text { color: var(--legacy-positive); }
.success-panel ul { color: var(--muted, #a4a2bb); }

/* Inputs get a distinct, neutral boundary; checkbox/range rendering stays native. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
select, textarea {
  background: var(--surface-3, #111625);
  background-image: none;
  border-color: var(--legacy-control-line);
  color: var(--text, #f1f2fa);
  font-size: 12px;
}
select option, select optgroup {
  background: var(--surface-2, #1b2135);
  color: var(--text, #f1f2fa);
}
input::placeholder, textarea::placeholder { color: var(--muted, #a4a2bb); opacity: 1; }
input:disabled, select:disabled, textarea:disabled { color: var(--muted, #a4a2bb); }
input[type="range"], input[type="color"] { background: transparent; background-image: none; }
input[type="checkbox"], input[type="radio"] {
  background: transparent;
  background-image: none;
  border-color: var(--legacy-control-line);
  accent-color: var(--violet, #8c6af5);
}
.module-search { background: var(--surface-3, #111625); border-color: var(--legacy-line-strong); }
.module-search input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]) {
  background: transparent;
  background-image: none;
  border: 0;
}
label { color: #dcd7ec; font-size: 12px; }
label small { color: var(--muted, #a4a2bb); font-size: 12px; }
.switch-control, .toggle-list label, .category-toggles label { color: #dcd7ec; }
fieldset, details, .protocols { border-color: var(--legacy-line); }

/* Primary actions use the approved violet; green/amber/red keep their meaning. */
button { background: var(--action, #7554d3); background-image: none; }
button.blue, .actions button.blue, button.violet, .actions button.violet,
button.pink, .actions button.pink {
  background: var(--action, #7554d3);
  background-image: none;
  border-color: #ac94f7;
  color: #fff;
}
button.secondary, .module-menu button,
.novaplay-tabs button, .local-tabs button, .segmented button, .social-tabs button {
  background: var(--surface-2, #1b2135);
  background-image: none;
  border-color: var(--legacy-line-strong);
  color: #ddd8ed;
}
button.green, .actions button.green {
  background: #19312f;
  background-image: none;
  border-color: #5cb99b;
  color: #c1f7e4;
}
button.amber, .actions button.amber {
  background: #352e24;
  background-image: none;
  border-color: #c5a363;
  color: #f8dba6;
}
button.red, .actions button.red, button.danger {
  background: #35212d;
  background-image: none;
  border-color: #d78c9d;
  color: #ffd4dc;
}
.database-types button.active, .selectable-list button.selected,
.radio-card.selected, .mission-list button.selected, .reward-catalog button.selected,
.novaplay-tabs button.active, .local-tabs button.active, .segmented button.active,
.social-tabs button.active,
.social-tabs button.youtube.active, .social-tabs button.twitch.active,
.social-tabs button.tiktok.active, .social-tabs button.instagram.active {
  background: var(--legacy-selected);
  background-image: none;
  border-color: #ac94f7;
  color: #e4d9ff;
  box-shadow: none;
}
button.text-button, .add-radio-card {
  background: transparent;
  background-image: none;
}
button:disabled { cursor: not-allowed; }
button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 2px solid #ac94f7;
  outline-offset: 3px;
}
input:focus, select:focus, textarea:focus {
  border-color: #ac94f7;
  box-shadow: 0 0 0 3px rgba(172, 148, 247, .16);
}

/* Tables and lists use the same separators and restrained neutral hover. */
.table > div, .data-row, .permission-matrix > div,
.track-row, .command-list article, .list-row,
.mini-feed > div, .detail-list > div, .version-history > div,
.tier-list > div, .damage-list > div, .check-list li, .error-feed > div {
  border-color: var(--legacy-line);
}
.table > div:not(.table-head):hover, .data-row:hover,
.track-row:hover, .command-list article:hover {
  background: rgba(255, 255, 255, .035);
  background-image: none;
}
.table, .data-table, .permission-matrix { scrollbar-color: #6c657e transparent; }
.table > .table-head, .data-row small { color: var(--muted, #a4a2bb); }
.progress, .player-progress, .tier-list i {
  background: var(--surface-2, #1b2135);
  background-image: none;
}
.progress i, .player-progress i { background: #ac94f7; background-image: none; }

/* Replace synthetic legacy artwork backgrounds, leaving all image/SVG art intact. */
.radio-card-art, .radio-artwork, .image-thumbs i:nth-child(n), .preview-banner {
  background: var(--surface-2, #1b2135);
  background-image: none;
  box-shadow: none;
  color: #d6c9f5;
  text-shadow: none;
}
.extension-detail .extension-hero-icon, .product-icon,
.avatar-circle, .duel-users i {
  background: #342746;
  background-image: none;
}
.info-bar > i { background: #443361; color: #e3d6ff; }
.social-auth-code {
  background: var(--surface-2, #1b2135);
  background-image: none;
  border-color: #ac94f7;
  color: var(--text, #f1f2fa);
}
.social-qr { background: #fff; } /* The QR code requires a white quiet zone. */
.social-config-grid .notice b { color: #dfd7f2; }
.social-config-grid .notice p { color: var(--muted, #a4a2bb); }
.social-auth-box a { color: #c0aafa; }

/* Menus, dialogs, code/log output and the persistent save bar. */
.module-menu, .aurora-dialog {
  background: var(--surface, #151a2a);
  background-image: none;
  border-color: var(--legacy-line-strong);
}
.aurora-dialog::backdrop { background: rgba(6, 6, 12, .76); }
.dialog-head, .dialog-actions { border-color: var(--legacy-line); }
pre {
  background: var(--surface-3, #111625);
  background-image: none;
  border-color: var(--legacy-line);
  color: #d4cfe4;
}
code { color: #c5adff; }
.save-bar {
  background: var(--surface-2, #1b2135);
  background-image: none;
  border-color: #8c6af5;
  color: #e2d7ff;
}

/* Keep warning/error states visible despite the stronger illustrated selectors. */
.pill, .header-badges .pill, .status {
  background: var(--surface-3, #111625);
  background-image: none;
  border-color: var(--legacy-line-strong);
  color: #c0bacf;
}
.pill.accent, .header-badges .pill.accent {
  background: #29213e;
  border-color: #75608f;
  color: #ccb7ff;
}
.pill.offline, .header-badges .pill.offline, .status.error {
  background: #2b1d28;
  border-color: #c58294;
  color: var(--legacy-danger);
}
.status.on { background: #19312f; border-color: #5cb99b; color: var(--legacy-positive); }
.status.warning { background: #352e24; border-color: #c5a363; color: var(--legacy-warning); }
.round-state.green { background: #19312f; border-color: #5cb99b; color: var(--legacy-positive); }
.status-hero h2, .license-state strong { color: var(--legacy-positive); }
#toast {
  background: var(--surface-2, #1b2135);
  background-image: none;
  border-color: #8c6af5;
  color: #e2d7ff;
}
#toast.error { background: var(--surface, #151a2a); border-color: #c58294; border-left: 3px solid #c58294; color: #ffd4dc; }

/* Readable supporting text throughout the legacy modules; semantic values stay colored. */
.kpi small, .kpi-grid.miniature .kpi small,
.service-grid b, .activity-row small, .rights-grid b,
.selectable-list button small, .rule-list small, .attachment-strip small,
.integration-card small, .database-types button small,
.extension-card small, .extension small, .detail-list > div,
.radio-card small, .radio-capacity, .add-radio-card small,
.protocols > span, .player-time, .now-playing span, .track-row,
.info-bar small, .command-summary > article span, .command-list small,
.list-row small, .version-card > span, .version-history small,
.process-steps small, .process-steps > span,
.license-hero-grid span, .timeline small,
.diagnostic-strip .health-score span, .diagnostic-strip .health-score small,
.error-feed small, .cloud-kpis span, .cloud-kpis small, .ring span,
.game-grid small, .duel-users span, .season-progress small,
.tier-list small, .tier-list strong, .podium small, .reward-catalog small,
.action-cards button small, .empty, .chat-input,
.social-config-grid .notice p, .success-panel ul {
  color: var(--muted, #a4a2bb);
  font-size: 12px;
}
.table > .table-head, .data-row small, .track-row,
.command-list article, .list-row, .version-history > div,
.permission-matrix > div { font-size: 12px; }
