/* ========================================================================
   FireDNS — Nova Theme
   Stellar glassmorphism · Electric violet · Deep cosmic palette
   ======================================================================== */

/* ── Design Tokens ──────────────────────────────────────────────────────── */
[data-theme="nova"] {
  color-scheme: dark;

  --bg:             #05070f;
  --bg-strong:      #07091a;
  --surface:        #0b0f24;
  --surface-soft:   #0f1330;
  --surface-tint:   #121840;
  --ink:            #e2e8f5;
  --ink-soft:       #94a3c4;
  --muted:          #566285;
  --line:           #1a2045;
  --line-strong:    #2c3568;
  --brand:          #818cf8;
  --brand-strong:   #a5b0fa;
  --brand-soft:     rgba(129, 140, 248, 0.13);
  --blue:           #38bdf8;
  --blue-soft:      rgba(56, 189, 248, 0.12);
  --amber:          #fb923c;
  --amber-soft:     rgba(251, 146, 60, 0.12);
  --red:            #f87171;
  --red-soft:       rgba(248, 113, 113, 0.12);
  --sidebar:        #040610;
  --sidebar-2:      #0a0e20;
  --shadow:         0 28px 70px rgba(0, 0, 0, 0.55);
  --shadow-soft:    0 16px 34px rgba(0, 0, 0, 0.38);

  /* Nova auth-specific palette */
  --auth-jade:    #818cf8;
  --auth-copper:  #fb923c;
  --auth-indigo:  #38bdf8;
  --auth-night:   #05070f;
  --auth-panel:   #0b0f24;
  --auth-panel-2: #111535;
  --auth-mist:    #e2e8f5;
}

/* ── Body & Background ──────────────────────────────────────────────────── */
[data-theme="nova"] body {
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.045) 1px, transparent 1px),
    linear-gradient(rgba(56, 189, 248, 0.03) 1px, transparent 1px),
    radial-gradient(circle at 14% 0%, rgba(129, 140, 248, 0.12), transparent 28%),
    radial-gradient(circle at 88% 96%, rgba(56, 189, 248, 0.08), transparent 26%),
    linear-gradient(135deg, #05070f, #07091a 48%, #05070f);
  background-size: 44px 44px, 44px 44px, auto, auto, auto;
}

[data-theme="nova"] body:has(#auth-view:not(.hidden)) {
  background: #05070f;
}

/* ── Auth Shell ─────────────────────────────────────────────────────────── */
[data-theme="nova"] .auth-shell {
  background:
    radial-gradient(circle at 68% 28%, rgba(129, 140, 248, 0.18), transparent 22%),
    radial-gradient(circle at 22% 74%, rgba(251, 146, 60, 0.12), transparent 26%),
    radial-gradient(circle at 50% 50%, rgba(56, 189, 248, 0.06), transparent 40%),
    linear-gradient(135deg, #04060e 0%, #080920 42%, #090d1e 100%);
}

[data-theme="nova"] .auth-shell::before {
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.04) 1px, transparent 1px),
    linear-gradient(rgba(56, 189, 248, 0.03) 1px, transparent 1px),
    linear-gradient(135deg, rgba(129, 140, 248, 0.06), rgba(56, 189, 248, 0.03));
  background-size: 44px 44px, 44px 44px, auto;
  border-color: rgba(129, 140, 248, 0.12);
}

[data-theme="nova"] .auth-shell::after {
  background:
    linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.48), rgba(56, 189, 248, 0.38), transparent);
  box-shadow:
    0 -180px 0 rgba(129, 140, 248, 0.08),
    0 180px 0 rgba(56, 189, 248, 0.06);
}

/* ── Auth Brand Panel ───────────────────────────────────────────────────── */
[data-theme="nova"] .auth-brand {
  background:
    radial-gradient(circle at 16% 22%, rgba(129, 140, 248, 0.16), transparent 24%),
    radial-gradient(circle at 86% 80%, rgba(56, 189, 248, 0.12), transparent 25%),
    linear-gradient(145deg, rgba(14, 18, 44, 0.92), rgba(5, 7, 15, 0.78)),
    linear-gradient(90deg, rgba(129, 140, 248, 0.07) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: auto, auto, auto, 42px 42px, 42px 42px;
  border-color: rgba(129, 140, 248, 0.12);
}

[data-theme="nova"] .auth-brand::before {
  background: linear-gradient(180deg, var(--auth-jade), var(--auth-copper), var(--auth-indigo));
}

/* ── Auth Command Center ────────────────────────────────────────────────── */
[data-theme="nova"] .auth-command-center {
  background:
    linear-gradient(180deg, rgba(129, 140, 248, 0.09), rgba(56, 189, 248, 0.04)),
    rgba(5, 7, 15, 0.52);
  border-color: rgba(129, 140, 248, 0.14);
  box-shadow:
    0 26px 68px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(129, 140, 248, 0.10);
}

[data-theme="nova"] .auth-command-center::after {
  border-top-color: rgba(129, 140, 248, 0.34);
  border-bottom-color: rgba(56, 189, 248, 0.22);
  border-inline-start-color: rgba(251, 146, 60, 0.20);
}

/* ── Brand Mark ─────────────────────────────────────────────────────────── */
[data-theme="nova"] .brand-mark {
  background:
    linear-gradient(135deg, rgba(129, 140, 248, 0.96), rgba(56, 189, 248, 0.88)),
    #050720;
  box-shadow: 0 18px 42px rgba(129, 140, 248, 0.28);
}

/* ── Live Dot ───────────────────────────────────────────────────────────── */
[data-theme="nova"] .live-dot {
  background: var(--auth-jade);
  box-shadow: 0 0 0 6px rgba(129, 140, 248, 0.13), 0 0 26px rgba(129, 140, 248, 0.52);
}

/* ── Route Board ────────────────────────────────────────────────────────── */
[data-theme="nova"] .route-board {
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.055) 1px, transparent 1px),
    linear-gradient(rgba(56, 189, 248, 0.04) 1px, transparent 1px),
    radial-gradient(circle at 50% 45%, rgba(129, 140, 248, 0.17), transparent 36%),
    rgba(5, 8, 24, 0.72);
  background-size: 28px 28px, 28px 28px, auto, auto;
  border-color: rgba(129, 140, 248, 0.10);
}

[data-theme="nova"] .route-board::after {
  background: conic-gradient(from 60deg, transparent, rgba(129, 140, 248, 0.12), transparent 32%);
}

[data-theme="nova"] .route-dns {
  background: linear-gradient(135deg, var(--auth-jade), var(--auth-indigo));
}

[data-theme="nova"] .route-beam {
  background: linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.76), rgba(56, 189, 248, 0.54), transparent);
}

/* ── Command Feed ───────────────────────────────────────────────────────── */
[data-theme="nova"] .command-feed span {
  background: rgba(129, 140, 248, 0.12);
  color: var(--auth-jade);
}

/* ── Auth Visual ────────────────────────────────────────────────────────── */
[data-theme="nova"] .auth-visual {
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.055) 1px, transparent 1px),
    linear-gradient(rgba(129, 140, 248, 0.055) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(129, 140, 248, 0.08));
  background-size: 34px 34px, 34px 34px, auto;
  border-color: rgba(129, 140, 248, 0.14);
}

[data-theme="nova"] .auth-visual::before {
  border-color: rgba(129, 140, 248, 0.24);
}

[data-theme="nova"] .signal-core {
  background: linear-gradient(135deg, var(--auth-jade), var(--auth-indigo));
  box-shadow: 0 18px 46px rgba(129, 140, 248, 0.28);
}

[data-theme="nova"] .signal-node {
  border-color: var(--auth-jade);
  box-shadow: 0 0 0 7px rgba(129, 140, 248, 0.15);
}

[data-theme="nova"] .node-c {
  border-color: var(--auth-copper);
  box-shadow: 0 0 0 7px rgba(251, 146, 60, 0.16);
}

[data-theme="nova"] .signal-line {
  background: linear-gradient(90deg, transparent, rgba(56, 189, 248, 0.42), rgba(129, 140, 248, 0.48), transparent);
}

/* ── Auth Card (dark glass in Nova) ─────────────────────────────────────── */
[data-theme="nova"] .auth-card {
  background:
    linear-gradient(rgba(129, 140, 248, 0.10), transparent 40%) padding-box,
    linear-gradient(135deg, rgba(129, 140, 248, 0.60), rgba(56, 189, 248, 0.50), rgba(251, 146, 60, 0.40)) border-box;
  border: 1px solid transparent;
  border-radius: 20px;
  backdrop-filter: blur(22px);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55);
}

[data-theme="nova"] .auth-card::before {
  background:
    linear-gradient(135deg, rgba(129, 140, 248, 0.09), transparent 34%),
    linear-gradient(0deg, rgba(56, 189, 248, 0.045), transparent 46%);
}

[data-theme="nova"] .auth-card::after {
  background: linear-gradient(90deg, var(--auth-jade), var(--auth-copper), var(--auth-indigo));
  box-shadow: 0 0 24px rgba(129, 140, 248, 0.40);
}

/* ── Auth Form (dark text → light text in Nova) ─────────────────────────── */
[data-theme="nova"] .auth-form {
  color: var(--ink) !important;
}

[data-theme="nova"] .auth-form h2 {
  color: var(--ink) !important;
}

[data-theme="nova"] .auth-form label {
  color: var(--ink-soft) !important;
}

[data-theme="nova"] .auth-form input,
[data-theme="nova"] .auth-form select,
[data-theme="nova"] .auth-form textarea {
  background: rgba(11, 15, 36, 0.88) !important;
  border-color: rgba(129, 140, 248, 0.30) !important;
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  caret-color: var(--ink);
  box-shadow: none !important;
}

[data-theme="nova"] .auth-form input::placeholder,
[data-theme="nova"] .auth-form textarea::placeholder {
  color: var(--muted) !important;
  opacity: 1;
}

[data-theme="nova"] .auth-form input:focus,
[data-theme="nova"] .auth-form select:focus,
[data-theme="nova"] .auth-form textarea:focus {
  background: rgba(15, 19, 44, 0.95) !important;
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.22) !important;
}

[data-theme="nova"] .auth-form input:-webkit-autofill,
[data-theme="nova"] .auth-form input:-webkit-autofill:hover,
[data-theme="nova"] .auth-form input:-webkit-autofill:focus {
  border-color: rgba(129, 140, 248, 0.30) !important;
  -webkit-text-fill-color: var(--ink) !important;
  caret-color: var(--ink);
  box-shadow: 0 0 0 1000px #0b0f24 inset !important;
  transition: background-color 9999s ease-out;
}

/* ── Security Ribbon ────────────────────────────────────────────────────── */
[data-theme="nova"] .security-ribbon {
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.12), rgba(56, 189, 248, 0.08));
  border-color: rgba(129, 140, 248, 0.24);
  color: var(--ink-soft) !important;
}

/* ── Register Form ──────────────────────────────────────────────────────── */
[data-theme="nova"] #register-form {
  background:
    linear-gradient(rgba(129, 140, 248, 0.10), transparent 40%) padding-box,
    linear-gradient(145deg, rgba(129, 140, 248, 0.60), rgba(56, 189, 248, 0.55), rgba(11, 15, 36, 0.50)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.50);
}

[data-theme="nova"] #register-form::before {
  background:
    radial-gradient(circle at 88% 8%, rgba(56, 189, 248, 0.12), transparent 25%),
    radial-gradient(circle at 10% 92%, rgba(129, 140, 248, 0.12), transparent 28%),
    linear-gradient(145deg, rgba(129, 140, 248, 0.05), rgba(56, 189, 248, 0.03));
}

[data-theme="nova"] #register-form .security-ribbon {
  border-color: rgba(56, 189, 248, 0.20);
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.10), rgba(129, 140, 248, 0.08));
  color: var(--ink-soft) !important;
}

/* ── Captcha Box ────────────────────────────────────────────────────────── */
[data-theme="nova"] .captcha-box {
  background: linear-gradient(135deg, rgba(11, 15, 36, 0.92), rgba(15, 19, 44, 0.80));
  border-color: rgba(129, 140, 248, 0.20);
}

[data-theme="nova"] .captcha-box span {
  color: var(--ink-soft) !important;
}

[data-theme="nova"] .captcha-question {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
}

/* ── Eyebrow Tag ────────────────────────────────────────────────────────── */
[data-theme="nova"] .eyebrow {
  color: var(--auth-copper);
}

/* ── Primary Buttons ────────────────────────────────────────────────────── */
[data-theme="nova"] button:not(.secondary):not(.ghost):not(.nav-item):not(.icon-only):not([class*="badge"]) {
  background: linear-gradient(135deg, #7c6ef0, #4e8dd4);
}

[data-theme="nova"] button:not(.secondary):not(.ghost):not(.nav-item):not(.icon-only):not([class*="badge"]):hover {
  background: linear-gradient(135deg, var(--brand-strong), #5fa0e8);
  box-shadow: 0 8px 18px rgba(129, 140, 248, 0.28);
}

/* Secondary buttons */
[data-theme="nova"] button.secondary {
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
}

[data-theme="nova"] button.secondary:hover {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow: 0 8px 18px rgba(56, 189, 248, 0.22);
}

/* Ghost buttons */
[data-theme="nova"] button.ghost {
  background: rgba(5, 7, 15, 0.72);
  border-color: var(--line);
  color: var(--ink-soft);
}

[data-theme="nova"] button.ghost:hover {
  background: rgba(11, 15, 36, 0.92);
  border-color: var(--line-strong);
  color: var(--ink);
}

/* Checkbox accent */
[data-theme="nova"] input[type="checkbox"] {
  accent-color: var(--brand);
}

/* Inputs */
[data-theme="nova"] input:not(.auth-form input),
[data-theme="nova"] select:not(.auth-form select),
[data-theme="nova"] textarea:not(.auth-form textarea) {
  background: var(--surface-soft);
  border-color: var(--line);
}

[data-theme="nova"] input:focus,
[data-theme="nova"] select:focus,
[data-theme="nova"] textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.16);
}

/* ── Sidebar ────────────────────────────────────────────────────────────── */
[data-theme="nova"] .sidebar {
  background:
    linear-gradient(180deg, rgba(129, 140, 248, 0.11), transparent 42%),
    linear-gradient(160deg, var(--sidebar), var(--sidebar-2));
  box-shadow:
    -18px 0 38px rgba(0, 0, 0, 0.46),
    inset 1px 0 0 rgba(129, 140, 248, 0.14);
}

/* ── Nav Items ──────────────────────────────────────────────────────────── */
[data-theme="nova"] .nav-item:hover,
[data-theme="nova"] .nav-item.active {
  background: rgba(129, 140, 248, 0.12);
  border-color: rgba(129, 140, 248, 0.26);
}

[data-theme="nova"] .nav-item.active {
  box-shadow: inset 3px 0 0 var(--brand);
}

/* ── Sidebar Clock ──────────────────────────────────────────────────────── */
[data-theme="nova"] .sidebar-clock {
  border-color: rgba(129, 140, 248, 0.18);
}

/* ── Panels & Auth Card ─────────────────────────────────────────────────── */
[data-theme="nova"] .panel {
  background:
    linear-gradient(180deg, rgba(129, 140, 248, 0.045), transparent 38%),
    var(--surface);
  border-color: var(--line);
}

/* ── Panel Heads ────────────────────────────────────────────────────────── */
[data-theme="nova"] .panel-head {
  border-bottom-color: var(--line);
}

/* ── Stat Cards ─────────────────────────────────────────────────────────── */
[data-theme="nova"] .stat-card {
  background: var(--surface-soft);
  border-color: var(--line);
}

/* ── Ops Grid ───────────────────────────────────────────────────────────── */
[data-theme="nova"] .ops-grid div {
  background: var(--surface-soft);
  border-color: var(--line);
}

/* ── Table Lists ────────────────────────────────────────────────────────── */
[data-theme="nova"] .table-row:hover,
[data-theme="nova"] .domain-item:hover {
  background: rgba(129, 140, 248, 0.06);
  border-color: rgba(129, 140, 248, 0.16);
}

[data-theme="nova"] .table-row.selected,
[data-theme="nova"] .domain-item.selected {
  background: rgba(129, 140, 248, 0.10);
  border-color: rgba(129, 140, 248, 0.28);
}

/* ── Terminal ───────────────────────────────────────────────────────────── */
[data-theme="nova"] .terminal {
  background: var(--bg);
  border-color: var(--line);
}

/* ── Cluster Card ───────────────────────────────────────────────────────── */
[data-theme="nova"] .cluster-card {
  background:
    radial-gradient(circle at 88% 22%, rgba(129, 140, 248, 0.12), transparent 28%),
    var(--surface-soft);
  border-color: var(--line-strong);
}

[data-theme="nova"] .cluster-card::before {
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.24), rgba(56, 189, 248, 0.18));
}

[data-theme="nova"] .cluster-state.healthy,
[data-theme="nova"] .status-dot.up {
  color: #34d399;
  background: rgba(52, 211, 153, 0.10);
  border-color: rgba(52, 211, 153, 0.24);
}

/* ── Topbar ─────────────────────────────────────────────────────────────── */
[data-theme="nova"] .topbar {
  border-bottom-color: var(--line);
  background:
    linear-gradient(180deg, rgba(129, 140, 248, 0.06), transparent 60%),
    var(--bg-strong);
  backdrop-filter: blur(10px);
}

/* ── Toasts & Alerts ────────────────────────────────────────────────────── */
[data-theme="nova"] .toast.ok {
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.16), rgba(56, 189, 248, 0.10));
  border-color: rgba(129, 140, 248, 0.30);
}

[data-theme="nova"] .toast.err {
  background: linear-gradient(135deg, rgba(248, 113, 113, 0.15), rgba(251, 146, 60, 0.10));
  border-color: rgba(248, 113, 113, 0.28);
}

/* ── Auth Metrics Hover ─────────────────────────────────────────────────── */
[data-theme="nova"] .auth-metrics div {
  background: rgba(129, 140, 248, 0.06);
  border-color: rgba(129, 140, 248, 0.10);
}

/* ── Modal Overlay ──────────────────────────────────────────────────────── */
[data-theme="nova"] .modal-overlay {
  background: rgba(2, 4, 10, 0.82);
}

[data-theme="nova"] .modal-panel,
[data-theme="nova"] .action-modal-panel,
[data-theme="nova"] .delete-user-modal-panel,
[data-theme="nova"] .domain-owner-modal-panel {
  background:
    linear-gradient(180deg, rgba(129, 140, 248, 0.06), transparent 30%),
    var(--surface);
  border-color: var(--line-strong);
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.60), 0 0 0 1px rgba(129, 140, 248, 0.10);
}

/* ── Generated Password Preview ─────────────────────────────────────────── */
[data-theme="nova"] .generated-password-preview {
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.10), rgba(56, 189, 248, 0.07));
  border-color: rgba(129, 140, 248, 0.22);
}

/* ── Owner Selected / Danger Summary ────────────────────────────────────── */
[data-theme="nova"] .owner-selected-box {
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.10), rgba(56, 189, 248, 0.07));
  border-color: rgba(129, 140, 248, 0.20);
}

[data-theme="nova"] .danger-summary {
  background: linear-gradient(135deg, rgba(248, 113, 113, 0.12), rgba(251, 146, 60, 0.08));
  border-color: rgba(248, 113, 113, 0.22);
}

/* ── Owner Search Shell ──────────────────────────────────────────────────── */
[data-theme="nova"] .owner-search-shell input {
  background: var(--surface-soft);
  color: var(--ink);
}

/* ── Billing ─────────────────────────────────────────────────────────────── */
[data-theme="nova"] #billing .panel {
  background: var(--surface);
  border-color: rgba(129, 140, 248, 0.18);
}

/* ── SSL Panel ───────────────────────────────────────────────────────────── */
[data-theme="nova"] .ssl-cert-card,
[data-theme="nova"] .ssl-request-card {
  background: var(--surface-soft);
  border-color: var(--line);
}

[data-theme="nova"] .ssl-cert-card:hover,
[data-theme="nova"] .ssl-request-card:hover {
  border-color: rgba(129, 140, 248, 0.30);
  box-shadow: 0 8px 22px rgba(129, 140, 248, 0.10);
}

/* ── Analytics ───────────────────────────────────────────────────────────── */
[data-theme="nova"] .analytics-card {
  background: var(--surface-soft);
  border-color: var(--line);
}

/* ── Scroll Bars ─────────────────────────────────────────────────────────── */
[data-theme="nova"] ::-webkit-scrollbar-track {
  background: var(--bg);
}

[data-theme="nova"] ::-webkit-scrollbar-thumb {
  background: var(--line-strong);
}

[data-theme="nova"] ::-webkit-scrollbar-thumb:hover {
  background: var(--brand);
}

/* ── Theme Toggle Button ─────────────────────────────────────────────────── */
.theme-toggle-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 30px;
  padding: 0 9px;
  margin-top: 8px;
  flex-shrink: 0;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 8px;
  color: #b9c7d7;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.16s, border-color 0.16s, color 0.16s;
  box-shadow: none;
  min-height: 36px;
}

.theme-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
  box-shadow: none;
  transform: none;
}

[data-theme="nova"] .theme-toggle-btn {
  border-color: rgba(129, 140, 248, 0.20);
  color: var(--ink-soft);
}

[data-theme="nova"] .theme-toggle-btn:hover {
  background: rgba(129, 140, 248, 0.08);
  border-color: rgba(129, 140, 248, 0.30);
  color: var(--ink);
}

.theme-toggle-btn .theme-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.8;
}

.theme-toggle-label {
  flex: 1;
  text-align: right;
}

/* Classic (Jade) eye icon hidden in nova, show moon */
.icon-classic { display: block; }
.icon-nova    { display: none;  }

[data-theme="nova"] .icon-classic { display: none;  }
[data-theme="nova"] .icon-nova    { display: block; }

/* ── Animations (inherit from main; override accent glow) ────────────────── */
[data-theme="nova"] .brand-mark {
  box-shadow: 0 18px 42px rgba(129, 140, 248, 0.28);
}

/* ── Workspace Footer ─────────────────────────────────────────────────────── */
[data-theme="nova"] .workspace-footer {
  border-top-color: var(--line);
}

/* ── Target Node Item badges ─────────────────────────────────────────────── */
[data-theme="nova"] .badge-ok   { background: rgba(52, 211, 153, 0.12); color: #34d399; border-color: rgba(52, 211, 153, 0.24); }
[data-theme="nova"] .badge-warn { background: var(--amber-soft); color: var(--amber); border-color: rgba(251, 146, 60, 0.24); }
[data-theme="nova"] .badge-err  { background: var(--red-soft); color: var(--red); border-color: rgba(248, 113, 113, 0.24); }

/* ── Row Items (list cards) ──────────────────────────────────────────────── */
[data-theme="nova"] .row {
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.03), transparent 36%),
    var(--surface-soft);
  border-color: var(--line);
}

[data-theme="nova"] .row:hover {
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.08), transparent 42%),
    var(--surface-tint);
  border-color: var(--line-strong);
}

/* ── Domain Row Selected ─────────────────────────────────────────────────── */
[data-theme="nova"] .domain-row.selected {
  border-color: rgba(129, 140, 248, 0.52);
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.13), transparent 46%),
    var(--surface-tint);
}

/* ── Stat Card Accent Bar ────────────────────────────────────────────────── */
[data-theme="nova"] .stat-card::after {
  background: linear-gradient(var(--brand), var(--blue));
  box-shadow: 0 0 18px rgba(129, 140, 248, 0.30);
}

/* ── User Rows ───────────────────────────────────────────────────────────── */
[data-theme="nova"] .user-row {
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.04), transparent 42%),
    var(--surface-soft);
}

/* ── Billing Wallet Panel ────────────────────────────────────────────────── */
[data-theme="nova"] .billing-wallet-panel .ops-grid div {
  background: var(--surface-soft);
  border-color: var(--line);
}

[data-theme="nova"] .billing-wallet-panel .ops-grid div:first-child {
  background:
    linear-gradient(135deg, rgba(129, 140, 248, 0.12), rgba(56, 189, 248, 0.06)),
    var(--surface-soft);
}

[data-theme="nova"] #wallet-transaction-list .row,
[data-theme="nova"] #finance-user-list .row {
  background: var(--surface-soft);
  border-color: var(--line);
}

[data-theme="nova"] #wallet-charge-form,
[data-theme="nova"] #zarinpal-settings-form {
  background: var(--surface);
}

[data-theme="nova"] .plan-price {
  background: var(--surface-soft);
  border-color: var(--line);
}

[data-theme="nova"] .plan-period-prices > div {
  background: rgba(5, 7, 15, 0.32);
  border-color: var(--line);
}

[data-theme="nova"] .plan-feature-grid > div {
  background: rgba(5, 7, 15, 0.34);
  border-color: var(--line);
}

[data-theme="nova"] .plan-card .badge {
  border-color: rgba(129, 140, 248, 0.28);
  background: rgba(129, 140, 248, 0.10);
  color: #c4b5fd;
}

/* ── SSL Scroll List Scrollbar ───────────────────────────────────────────── */
[data-theme="nova"] .ssl-scroll-list {
  scrollbar-color: rgba(129, 140, 248, 0.60) rgba(5, 7, 15, 0.32);
}

[data-theme="nova"] .ssl-scroll-list::-webkit-scrollbar-thumb {
  background: rgba(129, 140, 248, 0.60);
  border-color: rgba(5, 7, 15, 0.32);
}

/* ── Audit Section ───────────────────────────────────────────────────────── */
[data-theme="nova"] body:has(#audit:not(.hidden)),
[data-theme="nova"] body.audit-page {
  --audit-panel:    #0b0f24;
  --audit-line:     #1a2045;
  --audit-line-hot: #2e1a3a;
  --audit-green:    #818cf8;
  --audit-cyan:     #38bdf8;
  --audit-text:     #e2e8f5;
  --audit-muted:    #566285;
  background:
    linear-gradient(90deg, rgba(129, 140, 248, 0.06) 1px, transparent 1px),
    linear-gradient(rgba(56, 189, 248, 0.04) 1px, transparent 1px),
    radial-gradient(circle at 18% 0%, rgba(129, 140, 248, 0.12), transparent 28%),
    linear-gradient(135deg, #05070f, #080c1e 45%, #060912);
  background-size: 44px 44px, 44px 44px, auto, auto;
}

[data-theme="nova"] #audit > .panel {
  border-color: var(--line-strong);
  background:
    linear-gradient(180deg, rgba(129, 140, 248, 0.06), transparent 34%),
    var(--surface);
}

[data-theme="nova"] #audit .panel-head h2 {
  text-shadow: 0 0 22px rgba(129, 140, 248, 0.18);
}

[data-theme="nova"] body.audit-page .session {
  border-color: rgba(129, 140, 248, 0.32);
}

[data-theme="nova"] #audit button,
[data-theme="nova"] #audit button.secondary,
[data-theme="nova"] #audit button.ghost {
  border-color: rgba(129, 140, 248, 0.38);
  background: linear-gradient(135deg, #0f102e, #131943);
  color: #e2e8f5;
  box-shadow: 0 0 0 1px rgba(129, 140, 248, 0.08), 0 10px 28px rgba(0, 0, 0, 0.24);
}

[data-theme="nova"] #audit button:hover {
  border-color: rgba(129, 140, 248, 0.70);
  background: linear-gradient(135deg, #141550, #1a1f60);
}

/* ── Tooltip Background ──────────────────────────────────────────────────── */
[data-theme="nova"] .tooltip-button::after {
  background: var(--surface-tint);
  border-color: var(--line-strong);
}

/* ── Ops Grid background hardcoded fix ───────────────────────────────────── */
[data-theme="nova"] .ops-grid div {
  background: var(--surface-soft);
  border-color: var(--line);
}

/* ── Overview domain/node rows ───────────────────────────────────────────── */
[data-theme="nova"] .domain-item {
  border-color: var(--line);
  background: var(--surface-soft);
}

[data-theme="nova"] .domain-item:hover {
  border-color: rgba(129, 140, 248, 0.24);
  background: var(--surface-tint);
}
