/* =====================================================================
   Gavy OS — Argon-style dark mode overlay
   Loads after sneat-theme.css. Activates only when [data-bs-theme="dark"].
   Goal: deep midnight canvas + glowing surfaces / accents / typography
   so every page reads as "Argon dashboard at night" without touching markup.
   ===================================================================== */

[data-bs-theme="dark"] {
  /* ---- Argon midnight palette ---- */
  --gavy-canvas: #0b1023;
  --gavy-canvas-2: #11163a;
  --gavy-surface: #1a1f3d;
  --gavy-surface-2: #232846;
  --gavy-surface-3: #2c3157;

  --gavy-ink: #f3f4ff;
  --gavy-ink-strong: #ffffff;
  --gavy-muted: #a3acd1;
  --gavy-muted-2: #7d86ad;

  --gavy-border: rgba(255, 255, 255, 0.08);
  --gavy-border-strong: rgba(255, 255, 255, 0.14);

  --gavy-glow-primary: rgba(53, 89, 255, 0.45);
  --gavy-glow-secondary: rgba(124, 58, 237, 0.45);
  --gavy-glow-success: rgba(132, 204, 22, 0.45);
  --gavy-glow-warning: rgba(249, 115, 22, 0.45);
  --gavy-glow-cyan: rgba(34, 211, 238, 0.45);
  --gavy-glow-danger: rgba(239, 68, 68, 0.4);

  /* Translucent label fills replace solid pastels */
  --gavy-royal-soft: rgba(53, 89, 255, 0.18);
  --gavy-purple-soft: rgba(124, 58, 237, 0.2);
  --gavy-lime-soft: rgba(132, 204, 22, 0.2);
  --gavy-orange-soft: rgba(249, 115, 22, 0.2);

  /* Bootstrap mappings */
  --bs-body-bg: var(--gavy-canvas);
  --bs-body-color: var(--gavy-ink);
  --bs-emphasis-color: var(--gavy-ink-strong);
  --bs-secondary-color: var(--gavy-muted);
  --bs-tertiary-color: var(--gavy-muted-2);
  --bs-border-color: var(--gavy-border);
  --bs-border-color-translucent: var(--gavy-border);
  --bs-heading-color: var(--gavy-ink-strong);
  --bs-link-color: #6e8bff;
  --bs-link-hover-color: #a78bfa;
}

/* ---------------------------------------------------------------------
   Body — radial glow on midnight canvas
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] body {
  background:
    radial-gradient(ellipse 60% 40% at 0% 0%, rgba(53, 89, 255, 0.16), transparent 60%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(124, 58, 237, 0.14), transparent 60%),
    radial-gradient(ellipse 40% 30% at 50% 50%, rgba(34, 211, 238, 0.04), transparent 70%),
    var(--gavy-canvas);
  background-attachment: fixed;
  color: var(--gavy-ink);
}

[data-bs-theme="dark"] .layout-page,
[data-bs-theme="dark"] .layout-wrapper,
[data-bs-theme="dark"] .content-wrapper {
  background: transparent !important;
}

/* ---------------------------------------------------------------------
   Typography — bright with subtle glow on headings
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] h1, [data-bs-theme="dark"] .h1,
[data-bs-theme="dark"] h2, [data-bs-theme="dark"] .h2,
[data-bs-theme="dark"] h3, [data-bs-theme="dark"] .h3,
[data-bs-theme="dark"] h4, [data-bs-theme="dark"] .h4,
[data-bs-theme="dark"] h5, [data-bs-theme="dark"] .h5,
[data-bs-theme="dark"] h6, [data-bs-theme="dark"] .h6 {
  color: var(--gavy-ink-strong);
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.05);
}

[data-bs-theme="dark"] p,
[data-bs-theme="dark"] .text-body,
[data-bs-theme="dark"] li,
[data-bs-theme="dark"] dd, [data-bs-theme="dark"] dt,
[data-bs-theme="dark"] small {
  color: var(--gavy-ink);
}

[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-secondary { color: var(--gavy-muted) !important; }
[data-bs-theme="dark"] .text-dark { color: var(--gavy-ink-strong) !important; }
[data-bs-theme="dark"] .text-black { color: var(--gavy-ink-strong) !important; }

[data-bs-theme="dark"] hr,
[data-bs-theme="dark"] .gavy-divider { border-color: var(--gavy-border); background: var(--gavy-border); }

[data-bs-theme="dark"] a:not(.btn):not(.menu-link):not(.nav-link):not(.dropdown-item):not(.page-link) {
  color: #6e8bff;
}
[data-bs-theme="dark"] a:not(.btn):not(.menu-link):not(.nav-link):not(.dropdown-item):not(.page-link):hover {
  color: #a78bfa;
  text-shadow: 0 0 12px rgba(124, 58, 237, 0.4);
}

/* ---------------------------------------------------------------------
   Sidebar / layout-menu — dark glass with glowing active state
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] #layout-menu,
[data-bs-theme="dark"] .layout-menu {
  background: linear-gradient(180deg, #0a0e26 0%, #11142e 50%, #0d1130 100%) !important;
  border-right: 1px solid var(--gavy-border) !important;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.55), inset -1px 0 0 rgba(255, 255, 255, 0.04);
}

[data-bs-theme="dark"] .menu-vertical .menu-link,
[data-bs-theme="dark"] .layout-menu .menu-link {
  color: rgba(232, 234, 255, 0.72) !important;
}
[data-bs-theme="dark"] .menu-vertical .menu-link:hover,
[data-bs-theme="dark"] .layout-menu .menu-link:hover {
  background: rgba(53, 89, 255, 0.14) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(53, 89, 255, 0.22);
}
[data-bs-theme="dark"] .menu-vertical .menu-item.active > .menu-link,
[data-bs-theme="dark"] .layout-menu .menu-item.active > .menu-link {
  background: linear-gradient(120deg, rgba(53, 89, 255, 0.3), rgba(124, 58, 237, 0.22)) !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 0 0 1px rgba(110, 139, 255, 0.4),
    0 4px 14px rgba(53, 89, 255, 0.22);
}
[data-bs-theme="dark"] .menu-vertical .menu-item.active > .menu-link::before {
  background: linear-gradient(180deg, #6e8bff, #a78bfa) !important;
  box-shadow: 0 0 14px rgba(124, 58, 237, 0.65);
}
[data-bs-theme="dark"] .menu-vertical .menu-icon,
[data-bs-theme="dark"] .layout-menu .menu-icon { color: rgba(232, 234, 255, 0.85) !important; }

[data-bs-theme="dark"] .menu-header-text,
[data-bs-theme="dark"] .menu-vertical .menu-header { color: rgba(232, 234, 255, 0.45) !important; }

[data-bs-theme="dark"] .menu-vertical .menu-sub { background: transparent; }
[data-bs-theme="dark"] .app-brand,
[data-bs-theme="dark"] .menu-inner {
  border-color: var(--gavy-border) !important;
}

/* Logo: kill the inline white tint backdrop on dark mode so the mark sits
   directly on the midnight canvas. Targets the sidebar brand and any page
   logo that ships the same defensive backdrop. */
[data-bs-theme="dark"] .app-brand-logo img,
[data-bs-theme="dark"] .gavy-features-logo {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------------------
   Top navbar — frosted glass
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .layout-navbar,
[data-bs-theme="dark"] .navbar-detached {
  background: rgba(26, 31, 61, 0.65) !important;
  border: 1px solid var(--gavy-border) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
[data-bs-theme="dark"] .layout-navbar .nav-link,
[data-bs-theme="dark"] .navbar-detached .nav-link { color: var(--gavy-ink); }

[data-bs-theme="dark"] .navbar .navbar-search-wrapper input,
[data-bs-theme="dark"] .search-input {
  background: rgba(15, 21, 53, 0.6) !important;
  color: var(--gavy-ink) !important;
  border-color: var(--gavy-border) !important;
}
[data-bs-theme="dark"] .navbar .navbar-search-wrapper input::placeholder,
[data-bs-theme="dark"] .search-input::placeholder { color: rgba(255, 255, 255, 0.4); }

/* ---------------------------------------------------------------------
   Cards — glass-morph with subtle inner glow
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card.card-action {
  background: linear-gradient(180deg, rgba(35, 40, 70, 0.78) 0%, rgba(26, 31, 61, 0.92) 100%);
  border: 1px solid var(--gavy-border);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(8px);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .card:hover {
  border-color: rgba(110, 139, 255, 0.25);
  box-shadow:
    0 12px 36px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(53, 89, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
[data-bs-theme="dark"] .card-header {
  border-bottom: 1px solid var(--gavy-border);
  background: transparent;
  color: var(--gavy-ink-strong);
}
[data-bs-theme="dark"] .card-footer {
  border-top: 1px solid var(--gavy-border);
  background: transparent;
}

/* ---------------------------------------------------------------------
   Buttons — gradient fills with colored glow
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .btn-primary {
  background: linear-gradient(135deg, var(--gavy-royal), #4a64ff);
  border-color: transparent;
  color: #fff;
  box-shadow:
    0 4px 14px var(--gavy-glow-primary),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
[data-bs-theme="dark"] .btn-primary:hover,
[data-bs-theme="dark"] .btn-primary:focus {
  background: linear-gradient(135deg, #4a64ff, var(--gavy-royal));
  box-shadow: 0 8px 22px rgba(53, 89, 255, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transform: translateY(-1px);
}

[data-bs-theme="dark"] .btn-secondary {
  background: linear-gradient(135deg, var(--gavy-purple), #9764ff);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 14px var(--gavy-glow-secondary), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
[data-bs-theme="dark"] .btn-secondary:hover,
[data-bs-theme="dark"] .btn-secondary:focus {
  background: linear-gradient(135deg, #9764ff, var(--gavy-purple));
  box-shadow: 0 8px 22px rgba(124, 58, 237, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transform: translateY(-1px);
}

[data-bs-theme="dark"] .btn-success {
  background: linear-gradient(135deg, var(--gavy-lime), #a3e635);
  color: #0c0e2c;
  box-shadow: 0 4px 14px var(--gavy-glow-success), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
[data-bs-theme="dark"] .btn-warning {
  background: linear-gradient(135deg, var(--gavy-orange), #fb923c);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 14px var(--gavy-glow-warning), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
[data-bs-theme="dark"] .btn-danger {
  background: linear-gradient(135deg, #ef4444, #f87171);
  border-color: transparent;
  box-shadow: 0 4px 14px var(--gavy-glow-danger), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
[data-bs-theme="dark"] .btn-info {
  background: linear-gradient(135deg, #06b6d4, #22d3ee);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 14px var(--gavy-glow-cyan), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

[data-bs-theme="dark"] .btn-outline-primary { color: #6e8bff; border-color: rgba(53, 89, 255, 0.5); }
[data-bs-theme="dark"] .btn-outline-primary:hover {
  background: rgba(53, 89, 255, 0.18);
  color: #fff;
  border-color: var(--gavy-royal);
  box-shadow: 0 0 16px rgba(53, 89, 255, 0.4);
}
[data-bs-theme="dark"] .btn-outline-secondary { color: #a78bfa; border-color: rgba(124, 58, 237, 0.5); }
[data-bs-theme="dark"] .btn-outline-secondary:hover {
  background: rgba(124, 58, 237, 0.18);
  color: #fff;
  border-color: var(--gavy-purple);
  box-shadow: 0 0 16px rgba(124, 58, 237, 0.4);
}
[data-bs-theme="dark"] .btn-outline-success { color: #a3e635; border-color: rgba(132, 204, 22, 0.5); }
[data-bs-theme="dark"] .btn-outline-success:hover {
  background: rgba(132, 204, 22, 0.18);
  color: #d9f99d;
  border-color: var(--gavy-lime);
  box-shadow: 0 0 16px rgba(132, 204, 22, 0.4);
}
[data-bs-theme="dark"] .btn-outline-danger { color: #fca5a5; border-color: rgba(239, 68, 68, 0.5); }
[data-bs-theme="dark"] .btn-outline-danger:hover {
  background: rgba(239, 68, 68, 0.18);
  color: #fff;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.4);
}

/* Soft / label buttons */
[data-bs-theme="dark"] .btn-label-primary, [data-bs-theme="dark"] .bg-label-primary {
  background: rgba(53, 89, 255, 0.18) !important;
  color: #6e8bff !important;
  box-shadow: inset 0 0 0 1px rgba(53, 89, 255, 0.28);
}
[data-bs-theme="dark"] .btn-label-secondary, [data-bs-theme="dark"] .bg-label-secondary {
  background: rgba(124, 58, 237, 0.2) !important;
  color: #a78bfa !important;
  box-shadow: inset 0 0 0 1px rgba(124, 58, 237, 0.32);
}
[data-bs-theme="dark"] .btn-label-success, [data-bs-theme="dark"] .bg-label-success {
  background: rgba(132, 204, 22, 0.2) !important;
  color: #a3e635 !important;
  box-shadow: inset 0 0 0 1px rgba(132, 204, 22, 0.3);
}
[data-bs-theme="dark"] .btn-label-warning, [data-bs-theme="dark"] .bg-label-warning {
  background: rgba(249, 115, 22, 0.2) !important;
  color: #fb923c !important;
  box-shadow: inset 0 0 0 1px rgba(249, 115, 22, 0.32);
}
[data-bs-theme="dark"] .btn-label-info, [data-bs-theme="dark"] .bg-label-info {
  background: rgba(34, 211, 238, 0.2) !important;
  color: #67e8f9 !important;
  box-shadow: inset 0 0 0 1px rgba(34, 211, 238, 0.32);
}
[data-bs-theme="dark"] .btn-label-danger, [data-bs-theme="dark"] .bg-label-danger {
  background: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
  box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.3);
}
[data-bs-theme="dark"] .btn-label-dark, [data-bs-theme="dark"] .bg-label-dark {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--gavy-ink) !important;
  box-shadow: inset 0 0 0 1px var(--gavy-border-strong);
}

/* ---------------------------------------------------------------------
   Forms — translucent dark inputs with glowing focus
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: rgba(15, 21, 53, 0.5);
  border-color: var(--gavy-border);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: rgba(15, 21, 53, 0.7);
  border-color: #6e8bff;
  color: var(--gavy-ink);
  box-shadow: 0 0 0 0.18rem rgba(53, 89, 255, 0.25), 0 0 18px rgba(53, 89, 255, 0.18);
}
[data-bs-theme="dark"] .form-control::placeholder { color: rgba(255, 255, 255, 0.35); }

[data-bs-theme="dark"] .form-label,
[data-bs-theme="dark"] label { color: rgba(255, 255, 255, 0.85); }

[data-bs-theme="dark"] .input-group-text {
  background: rgba(15, 21, 53, 0.5);
  border-color: var(--gavy-border);
  color: var(--gavy-muted);
}

[data-bs-theme="dark"] .form-check-input {
  background-color: rgba(15, 21, 53, 0.6);
  border-color: rgba(255, 255, 255, 0.22);
}
[data-bs-theme="dark"] .form-check-input:checked {
  background-color: var(--gavy-royal);
  border-color: var(--gavy-royal);
  box-shadow: 0 0 10px rgba(53, 89, 255, 0.45);
}
[data-bs-theme="dark"] .form-check-input:focus {
  border-color: #6e8bff;
  box-shadow: 0 0 0 0.2rem rgba(53, 89, 255, 0.25);
}

[data-bs-theme="dark"] .form-switch .form-check-input {
  background-color: rgba(255, 255, 255, 0.12);
}

/* ---------------------------------------------------------------------
   Tables
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--gavy-ink);
  --bs-table-border-color: var(--gavy-border);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.025);
  --bs-table-striped-color: var(--gavy-ink);
  --bs-table-hover-bg: rgba(53, 89, 255, 0.08);
  --bs-table-hover-color: var(--gavy-ink-strong);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .table > thead {
  background: rgba(15, 21, 53, 0.55);
  color: var(--gavy-muted);
}
[data-bs-theme="dark"] .table > thead th {
  border-bottom: 1px solid var(--gavy-border);
}
[data-bs-theme="dark"] .table > tbody > tr:hover { background: rgba(53, 89, 255, 0.08); }

/* ---------------------------------------------------------------------
   Modals / dropdowns / popovers / tooltips
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .modal-content {
  background: linear-gradient(180deg, #1f2349 0%, #181c3b 100%);
  border: 1px solid var(--gavy-border);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .modal-header { border-bottom: 1px solid var(--gavy-border); }
[data-bs-theme="dark"] .modal-footer { border-top: 1px solid var(--gavy-border); }
[data-bs-theme="dark"] .modal-backdrop.show { opacity: 0.7; }

[data-bs-theme="dark"] .dropdown-menu {
  background: rgba(35, 40, 70, 0.96);
  border: 1px solid var(--gavy-border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(16px);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .dropdown-item { color: var(--gavy-ink); }
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus,
[data-bs-theme="dark"] .dropdown-item.active {
  background: rgba(53, 89, 255, 0.22);
  color: #fff;
}
[data-bs-theme="dark"] .dropdown-divider { border-color: var(--gavy-border); }
[data-bs-theme="dark"] .dropdown-header { color: var(--gavy-muted); }

[data-bs-theme="dark"] .popover {
  background: #1a1f3d;
  border: 1px solid var(--gavy-border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
}
[data-bs-theme="dark"] .popover-header {
  background: rgba(53, 89, 255, 0.18);
  border-bottom: 1px solid var(--gavy-border);
  color: var(--gavy-ink-strong);
}
[data-bs-theme="dark"] .popover-body { color: var(--gavy-ink); }
[data-bs-theme="dark"] .popover .popover-arrow::after { border-top-color: #1a1f3d; border-bottom-color: #1a1f3d; }

[data-bs-theme="dark"] .tooltip-inner {
  background: rgba(35, 40, 70, 0.96);
  color: var(--gavy-ink);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
[data-bs-theme="dark"] .tooltip .tooltip-arrow::before { border-top-color: rgba(35, 40, 70, 0.96); border-bottom-color: rgba(35, 40, 70, 0.96); }

/* ---------------------------------------------------------------------
   Alerts
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .alert-primary {
  background: rgba(53, 89, 255, 0.16); color: #c4d0ff;
  border-color: rgba(53, 89, 255, 0.32);
}
[data-bs-theme="dark"] .alert-secondary {
  background: rgba(124, 58, 237, 0.16); color: #d9c9ff;
  border-color: rgba(124, 58, 237, 0.32);
}
[data-bs-theme="dark"] .alert-success {
  background: rgba(132, 204, 22, 0.16); color: #d9f99d;
  border-color: rgba(132, 204, 22, 0.32);
}
[data-bs-theme="dark"] .alert-warning {
  background: rgba(249, 115, 22, 0.16); color: #fed7aa;
  border-color: rgba(249, 115, 22, 0.32);
}
[data-bs-theme="dark"] .alert-danger {
  background: rgba(239, 68, 68, 0.16); color: #fecaca;
  border-color: rgba(239, 68, 68, 0.32);
}
[data-bs-theme="dark"] .alert-info {
  background: rgba(34, 211, 238, 0.16); color: #a5f3fc;
  border-color: rgba(34, 211, 238, 0.32);
}

/* ---------------------------------------------------------------------
   Badges (solid get a soft glow)
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .badge { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); }
[data-bs-theme="dark"] .badge.bg-primary { box-shadow: 0 2px 10px rgba(53, 89, 255, 0.4); }
[data-bs-theme="dark"] .badge.bg-secondary { box-shadow: 0 2px 10px rgba(124, 58, 237, 0.4); }
[data-bs-theme="dark"] .badge.bg-success { box-shadow: 0 2px 10px rgba(132, 204, 22, 0.4); }
[data-bs-theme="dark"] .badge.bg-warning { box-shadow: 0 2px 10px rgba(249, 115, 22, 0.4); }
[data-bs-theme="dark"] .badge.bg-danger { box-shadow: 0 2px 10px rgba(239, 68, 68, 0.4); }

/* ---------------------------------------------------------------------
   Navs / tabs / pills
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .nav-tabs { border-bottom-color: var(--gavy-border); }
[data-bs-theme="dark"] .nav-tabs .nav-link {
  color: var(--gavy-muted);
  border-color: transparent;
  background: transparent;
}
[data-bs-theme="dark"] .nav-tabs .nav-link:hover { color: var(--gavy-ink); border-color: transparent; }
[data-bs-theme="dark"] .nav-tabs .nav-link.active {
  color: var(--gavy-ink-strong);
  background: rgba(35, 40, 70, 0.7);
  border-color: var(--gavy-border) var(--gavy-border) transparent;
  box-shadow: inset 0 -2px 0 #6e8bff;
}

[data-bs-theme="dark"] .nav-pills .nav-link {
  color: var(--gavy-muted);
  background: transparent;
}
[data-bs-theme="dark"] .nav-pills .nav-link:hover { color: var(--gavy-ink); background: rgba(255, 255, 255, 0.04); }
[data-bs-theme="dark"] .nav-pills .nav-link.active,
[data-bs-theme="dark"] .nav-pills .show > .nav-link {
  background: linear-gradient(135deg, var(--gavy-royal), #4a64ff);
  color: #fff;
  box-shadow: 0 4px 14px rgba(53, 89, 255, 0.4);
}

/* ---------------------------------------------------------------------
   Pagination
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .page-link {
  background: rgba(35, 40, 70, 0.5);
  border-color: var(--gavy-border);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .page-link:hover { background: rgba(53, 89, 255, 0.2); color: #fff; }
[data-bs-theme="dark"] .page-item.active .page-link {
  background: linear-gradient(135deg, var(--gavy-royal), #4a64ff);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 14px rgba(53, 89, 255, 0.4);
}
[data-bs-theme="dark"] .page-item.disabled .page-link {
  background: rgba(35, 40, 70, 0.3);
  color: rgba(255, 255, 255, 0.3);
}

/* ---------------------------------------------------------------------
   Toasts / offcanvas / progress
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .toast {
  background: rgba(35, 40, 70, 0.95);
  border: 1px solid var(--gavy-border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
  color: var(--gavy-ink);
  backdrop-filter: blur(12px);
}
[data-bs-theme="dark"] .toast-header {
  background: rgba(15, 21, 53, 0.6);
  color: var(--gavy-ink);
  border-bottom: 1px solid var(--gavy-border);
}

[data-bs-theme="dark"] .offcanvas {
  background: linear-gradient(180deg, #1a1f3d, #11142e);
  color: var(--gavy-ink);
  border-color: var(--gavy-border);
}
[data-bs-theme="dark"] .offcanvas-header { border-bottom: 1px solid var(--gavy-border); }

[data-bs-theme="dark"] .progress {
  background: rgba(15, 21, 53, 0.6);
  border: 1px solid var(--gavy-border);
}
[data-bs-theme="dark"] .progress-bar {
  background: linear-gradient(90deg, var(--gavy-royal), #4a64ff);
  box-shadow: 0 0 12px rgba(53, 89, 255, 0.45);
}

/* ---------------------------------------------------------------------
   List groups / breadcrumbs / accordion
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .list-group {
  background: transparent;
  border-color: var(--gavy-border);
}
[data-bs-theme="dark"] .list-group-item {
  background: rgba(35, 40, 70, 0.4);
  border-color: var(--gavy-border);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .list-group-item:hover { background: rgba(53, 89, 255, 0.1); }
[data-bs-theme="dark"] .list-group-item.active {
  background: linear-gradient(135deg, var(--gavy-royal), #4a64ff);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 14px rgba(53, 89, 255, 0.35);
}

[data-bs-theme="dark"] .breadcrumb-item,
[data-bs-theme="dark"] .breadcrumb-item a { color: var(--gavy-muted); }
[data-bs-theme="dark"] .breadcrumb-item.active { color: var(--gavy-ink); }
[data-bs-theme="dark"] .breadcrumb-item + .breadcrumb-item::before { color: var(--gavy-muted-2); }

[data-bs-theme="dark"] .accordion {
  --bs-accordion-bg: transparent;
  --bs-accordion-color: var(--gavy-ink);
  --bs-accordion-border-color: var(--gavy-border);
  --bs-accordion-active-bg: rgba(53, 89, 255, 0.12);
  --bs-accordion-active-color: var(--gavy-ink-strong);
}
[data-bs-theme="dark"] .accordion-item {
  background: rgba(35, 40, 70, 0.45);
  border-color: var(--gavy-border);
}
[data-bs-theme="dark"] .accordion-button {
  background: transparent;
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
  background: rgba(53, 89, 255, 0.14);
  color: var(--gavy-ink-strong);
  box-shadow: inset 0 -1px 0 var(--gavy-border);
}
[data-bs-theme="dark"] .accordion-button::after {
  filter: invert(1) brightness(1.2);
}

/* ---------------------------------------------------------------------
   Backgrounds & utility classes
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .bg-light { background: rgba(255, 255, 255, 0.05) !important; color: var(--gavy-ink) !important; }
[data-bs-theme="dark"] .bg-white { background: var(--gavy-surface) !important; color: var(--gavy-ink) !important; }
[data-bs-theme="dark"] .bg-body { background: var(--gavy-canvas) !important; }
[data-bs-theme="dark"] .bg-body-secondary { background: var(--gavy-surface-2) !important; }
[data-bs-theme="dark"] .bg-body-tertiary { background: var(--gavy-surface) !important; }

[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-start,
[data-bs-theme="dark"] .border-end { border-color: var(--gavy-border) !important; }

[data-bs-theme="dark"] .shadow,
[data-bs-theme="dark"] .shadow-sm,
[data-bs-theme="dark"] .shadow-lg { box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45) !important; }

/* ---------------------------------------------------------------------
   Scrollbars + selection
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] ::-webkit-scrollbar { width: 10px; height: 10px; }
[data-bs-theme="dark"] ::-webkit-scrollbar-track { background: var(--gavy-canvas); }
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
  background: rgba(110, 139, 255, 0.32);
  border-radius: 10px;
  border: 2px solid var(--gavy-canvas);
}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: rgba(110, 139, 255, 0.55); }

[data-bs-theme="dark"] ::selection { background: rgba(53, 89, 255, 0.42); color: #fff; }

/* ---------------------------------------------------------------------
   Page header / Sneat-level bits
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .gavy-pageheader__title { color: var(--gavy-ink-strong); }
[data-bs-theme="dark"] .gavy-pageheader__subtitle { color: var(--gavy-muted); }
[data-bs-theme="dark"] .gavy-pageheader__eyebrow {
  color: #a78bfa;
  text-shadow: 0 0 14px rgba(124, 58, 237, 0.5);
}

[data-bs-theme="dark"] .avatar.bg-label-primary { background: rgba(53, 89, 255, 0.22) !important; color: #6e8bff !important; }
[data-bs-theme="dark"] .avatar.bg-label-secondary { background: rgba(124, 58, 237, 0.22) !important; color: #a78bfa !important; }
[data-bs-theme="dark"] .avatar.bg-label-success { background: rgba(132, 204, 22, 0.22) !important; color: #a3e635 !important; }
[data-bs-theme="dark"] .avatar.bg-label-warning { background: rgba(249, 115, 22, 0.22) !important; color: #fb923c !important; }
[data-bs-theme="dark"] .avatar.bg-label-info { background: rgba(34, 211, 238, 0.22) !important; color: #67e8f9 !important; }

/* Stat card glow */
[data-bs-theme="dark"] .gavy-stat--royal { box-shadow: 0 12px 32px rgba(53, 89, 255, 0.38); }
[data-bs-theme="dark"] .gavy-stat--purple { box-shadow: 0 12px 32px rgba(124, 58, 237, 0.38); }
[data-bs-theme="dark"] .gavy-stat--lime { box-shadow: 0 12px 32px rgba(132, 204, 22, 0.34); }
[data-bs-theme="dark"] .gavy-stat--orange { box-shadow: 0 12px 32px rgba(249, 115, 22, 0.34); }

/* Mobile tab bar */
[data-bs-theme="dark"] .gavy-tabbar {
  background: rgba(15, 21, 53, 0.92);
  border-top: 1px solid var(--gavy-border);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(18px);
}
[data-bs-theme="dark"] .gavy-tabbar a { color: var(--gavy-muted); }
[data-bs-theme="dark"] .gavy-tabbar a.active {
  color: #fff;
  background: rgba(53, 89, 255, 0.28);
  box-shadow: 0 0 14px rgba(53, 89, 255, 0.4);
}

/* ---------------------------------------------------------------------
   Public site (home & marketing pages that extend base.html)
   --------------------------------------------------------------------- */
[data-bs-theme="dark"] .gavy-hero {
  background-color: var(--gavy-canvas);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .gavy-hero h1,
[data-bs-theme="dark"] .gavy-hero h2 { color: var(--gavy-ink-strong); }
[data-bs-theme="dark"] .gavy-hero p { color: var(--gavy-muted); }

[data-bs-theme="dark"] .gavy-section { background: transparent; }
[data-bs-theme="dark"] .gavy-section--alt { background: rgba(255, 255, 255, 0.02); }
[data-bs-theme="dark"] .gavy-section h2 { color: var(--gavy-ink-strong); }
[data-bs-theme="dark"] .gavy-section .gavy-lead { color: var(--gavy-muted); }
[data-bs-theme="dark"] .gavy-card {
  background: linear-gradient(180deg, rgba(35, 40, 70, 0.78), rgba(26, 31, 61, 0.92));
  border: 1px solid var(--gavy-border);
  color: var(--gavy-ink);
}
[data-bs-theme="dark"] .gavy-card:hover {
  border-color: rgba(110, 139, 255, 0.3);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(53, 89, 255, 0.15);
}
[data-bs-theme="dark"] .gavy-card h3 { color: var(--gavy-ink-strong); }
[data-bs-theme="dark"] .gavy-card p { color: var(--gavy-muted); }

[data-bs-theme="dark"] .gavy-stat-strip,
[data-bs-theme="dark"] .gavy-stats-strip {
  background: linear-gradient(180deg, rgba(35, 40, 70, 0.6), rgba(26, 31, 61, 0.85));
  border: 1px solid var(--gavy-border);
}
[data-bs-theme="dark"] .gavy-stat-value,
[data-bs-theme="dark"] .gavy-stat .gavy-stat-value { color: var(--gavy-ink-strong); text-shadow: 0 0 18px rgba(110, 139, 255, 0.35); }
[data-bs-theme="dark"] .gavy-stat-label { color: var(--gavy-muted); }

[data-bs-theme="dark"] footer,
[data-bs-theme="dark"] .footer,
[data-bs-theme="dark"] .gavy-footer {
  background: var(--gavy-canvas-2);
  color: var(--gavy-ink);
  border-top: 1px solid var(--gavy-border);
}
