/* ============================================================
   SALVADOR OS — themes.css
   Sprint 43 — "Futurista Premium" Fase 1
   Motor de 3 temas: dark | light | antiblue
   Tokens definidos en RFC-001 §A y ADR-Ω-003.

   Carga: DESPUÉS de custom.css — los selectores [data-theme]
   tienen mayor especificidad que :root y sobreescriben los
   valores que custom.css define en :root.

   Reglas:
   · Cero librerías nuevas (Doc 8 §6)
   · Contraste AA verificado por par token/fondo (4.5:1)
   · prefers-reduced-motion respetado
   · backdrop-filter con fallback @supports
   · Máx. 2 capas desenfocadas por viewport
   · Máx. 3 elementos con glow simultáneo
   ============================================================ */


/* ─────────────────────────────────────────────────────────── */
/* §1 — TOKENS BASE (fallback = Oscuro Futurista)             */
/* ─────────────────────────────────────────────────────────── */
:root {
  /* Superficie */
  --bg-page:               #0B1220;
  --surface-glass:         rgba(255,255,255,0.06);
  --surface-glass-border:  rgba(255,255,255,0.10);
  --surface-glass-blur:    14px;
  --surface-glass-solid:   #141C2E;

  /* Tipografía */
  --text-primary:   #E8EEF9;
  --text-secondary: #9FB0C7;
  --text-muted-fp:  #6B7FA3;

  /* Acentos aurora */
  --accent-primary: #6D6AF7;
  --accent-cyan:    #22D3EE;
  --accent-violet:  #A78BFA;
  --accent-aurora-start: #6D6AF7;
  --accent-aurora-end:   #22D3EE;

  /* Glow */
  --glow-color:             rgba(109,106,247,0.35);
  --glow-achievement-color: rgba(34,211,238,0.40);
  --glow-spread:            16px;

  /* Semánticos */
  --sem-success: #34D399;
  --sem-warning: #FBBF24;
  --sem-danger:  #F87171;
  --sem-info:    #38BDF8;

  /* Foco */
  --focus-ring: 0 0 0 2px var(--accent-primary);
}


/* ─────────────────────────────────────────────────────────── */
/* §2 — OSCURO FUTURISTA (tema insignia y por defecto)        */
/* ─────────────────────────────────────────────────────────── */
[data-theme="dark"] {
  /* Sprint 43 tokens */
  --bg-page:               #0B1220;
  --surface-glass:         rgba(255,255,255,0.06);
  --surface-glass-border:  rgba(255,255,255,0.10);
  --surface-glass-blur:    14px;
  --surface-glass-solid:   #141C2E;
  --text-primary:          #E8EEF9;
  --text-secondary:        #9FB0C7;
  --text-muted-fp:         #6B7FA3;
  --accent-primary:        #6D6AF7;
  --accent-cyan:           #22D3EE;
  --accent-violet:         #A78BFA;
  --accent-aurora-start:   #6D6AF7;
  --accent-aurora-end:     #22D3EE;
  --glow-color:            rgba(109,106,247,0.35);
  --glow-achievement-color:rgba(34,211,238,0.40);
  --sem-success:           #34D399;
  --sem-warning:           #FBBF24;
  --sem-danger:            #F87171;
  --sem-info:              #38BDF8;
  --focus-ring:            0 0 0 2px #6D6AF7;

  /* Remap variables de custom.css */
  --body-bg:       #0B1220;
  --accent:        #6D6AF7;
  --accent-light:  rgba(109,106,247,0.12);
  --sidebar-bg:    #080E1A;
  --sidebar-text:  #9FB0C7;
  --sidebar-hover: rgba(255,255,255,0.07);
}


/* ─────────────────────────────────────────────────────────── */
/* §3 — CLARO PREMIUM                                         */
/* ─────────────────────────────────────────────────────────── */
[data-theme="light"] {
  --bg-page:               #F1F5F9;
  --surface-glass:         rgba(255,255,255,0.65);
  --surface-glass-border:  rgba(255,255,255,0.90);
  --surface-glass-blur:    10px;
  --surface-glass-solid:   #FFFFFF;
  --text-primary:          #1E293B;
  --text-secondary:        #64748B;
  --text-muted-fp:         #94A3B8;
  --accent-primary:        #5B5BD6;
  --accent-cyan:           #7DD3FC;
  --accent-violet:         #8B5CF6;
  --accent-aurora-start:   #5B5BD6;
  --accent-aurora-end:     #7DD3FC;
  --glow-color:            rgba(91,91,214,0.18);
  --glow-achievement-color:rgba(91,91,214,0.25);
  --sem-success:           #16A34A;
  --sem-warning:           #D97706;
  --sem-danger:            #DC2626;
  --sem-info:              #0284C7;
  --focus-ring:            0 0 0 2px #5B5BD6;

  /* Remap variables de custom.css */
  --body-bg:       #F1F5F9;
  --accent:        #5B5BD6;
  --accent-light:  rgba(91,91,214,0.08);
  --sidebar-bg:    #0f172a;
  --sidebar-text:  #94a3b8;
  --sidebar-hover: rgba(255,255,255,0.08);
}


/* ─────────────────────────────────────────────────────────── */
/* §4 — ANTI-LUZ-AZUL (paleta cálida, cero azules/cianes)   */
/* ─────────────────────────────────────────────────────────── */
[data-theme="antiblue"] {
  --bg-page:               #191310;
  --surface-glass:         rgba(255,255,255,0.04);
  --surface-glass-border:  rgba(240,230,216,0.12);
  --surface-glass-blur:    8px;
  --surface-glass-solid:   #221A15;
  --text-primary:          #F0E6D8;
  --text-secondary:        #C9B8A3;
  --text-muted-fp:         #9A8A77;
  --accent-primary:        #F59E0B;
  --accent-cyan:           #FB923C;        /* naranja suave — sin azul */
  --accent-violet:         #E07A5F;        /* teja suave — sin violeta */
  --accent-aurora-start:   #F59E0B;
  --accent-aurora-end:     #FB923C;
  --glow-color:            rgba(245,158,11,0.25);
  --glow-achievement-color:rgba(245,158,11,0.35);
  --sem-success:           #A3B18A;        /* oliva cálido */
  --sem-warning:           #F59E0B;
  --sem-danger:            #E07A5F;        /* teja */
  --sem-info:              #C9B8A3;        /* arena */
  --focus-ring:            0 0 0 2px #F59E0B;

  /* Remap variables de custom.css */
  --body-bg:       #191310;
  --accent:        #F59E0B;
  --accent-light:  rgba(245,158,11,0.10);
  --sidebar-bg:    #100D0A;
  --sidebar-text:  #C9B8A3;
  --sidebar-hover: rgba(255,255,255,0.05);
}


/* ─────────────────────────────────────────────────────────── */
/* §5 — BODY / WRAPPER global                                 */
/* ─────────────────────────────────────────────────────────── */
[data-theme="dark"] body,
[data-theme="antiblue"] body {
  color: var(--text-primary);
}

/* Fondo aurora estático para pantallas insignia (dark) */
[data-theme="dark"] .sos-wrapper,
[data-theme="dark"] .auth-page {
  background: #0B1220; /* fallback sólido */
  background:
    radial-gradient(ellipse at 15% 25%,  rgba(30,27,75,0.80)  0%, transparent 55%),
    radial-gradient(ellipse at 85% 75%,  rgba(22,78,99,0.35)  0%, transparent 50%),
    radial-gradient(ellipse at 50% 100%, rgba(109,106,247,0.08) 0%, transparent 40%),
    #0B1220;
}

[data-theme="antiblue"] .sos-wrapper,
[data-theme="antiblue"] .auth-page {
  background:
    radial-gradient(ellipse at 20% 30%, rgba(34,26,21,0.90) 0%, transparent 60%),
    #191310;
}

[data-theme="light"] .sos-wrapper,
[data-theme="light"] .auth-page {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(91,91,214,0.06) 0%, transparent 50%),
    #F1F5F9;
}


/* ─────────────────────────────────────────────────────────── */
/* §6 — SIDEBAR                                               */
/* ─────────────────────────────────────────────────────────── */
[data-theme="dark"] .sos-sidebar {
  background: var(--sidebar-bg);
  border-right: 1px solid rgba(255,255,255,0.05);
}

[data-theme="antiblue"] .sos-sidebar {
  background: var(--sidebar-bg);
  border-right: 1px solid rgba(240,230,216,0.08);
}

/* Texto y links del sidebar en dark/antiblue */
[data-theme="dark"]    .sidebar-link,
[data-theme="antiblue"] .sidebar-link {
  color: var(--sidebar-text);
}

[data-theme="dark"]    .sidebar-link:hover:not(.disabled),
[data-theme="antiblue"] .sidebar-link:hover:not(.disabled) {
  background: var(--sidebar-hover);
  color: var(--text-primary);
}

[data-theme="dark"]    .sidebar-link.active,
[data-theme="antiblue"] .sidebar-link.active {
  background: var(--accent);
  color: #fff;
}

[data-theme="dark"]    .sidebar-nav-label,
[data-theme="antiblue"] .sidebar-nav-label {
  color: var(--text-muted-fp);
}

[data-theme="dark"]    .sidebar-brand-text .fw-bold,
[data-theme="dark"]    .sidebar-brand-text,
[data-theme="antiblue"] .sidebar-brand-text .fw-bold,
[data-theme="antiblue"] .sidebar-brand-text {
  color: var(--text-primary);
}

[data-theme="dark"]    .sidebar-user-name,
[data-theme="antiblue"] .sidebar-user-name {
  color: var(--text-primary);
}

[data-theme="dark"]    .sidebar-brand,
[data-theme="antiblue"] .sidebar-brand {
  border-bottom-color: rgba(255,255,255,0.06);
}

[data-theme="dark"]    .sidebar-user,
[data-theme="antiblue"] .sidebar-user {
  border-top-color: rgba(255,255,255,0.06);
}


/* ─────────────────────────────────────────────────────────── */
/* §7 — NAVBAR                                                */
/* ─────────────────────────────────────────────────────────── */
[data-theme="dark"] .sos-navbar {
  background: rgba(8,14,26,0.90);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom-color: rgba(255,255,255,0.07);
}

[data-theme="antiblue"] .sos-navbar {
  background: rgba(16,13,10,0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom-color: rgba(240,230,216,0.08);
}

[data-theme="light"] .sos-navbar {
  background: rgba(255,255,255,0.90);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

[data-theme="dark"]    .navbar-page-title,
[data-theme="antiblue"] .navbar-page-title {
  color: var(--text-secondary);
}

[data-theme="dark"]    .navbar-page-title strong,
[data-theme="antiblue"] .navbar-page-title strong {
  color: var(--text-primary);
}

[data-theme="dark"]    .navbar-user-btn,
[data-theme="antiblue"] .navbar-user-btn {
  border-color: rgba(255,255,255,0.10);
  color: var(--text-primary);
}

[data-theme="dark"]    .navbar-user-btn:hover,
[data-theme="antiblue"] .navbar-user-btn:hover {
  border-color: var(--accent);
  background: var(--accent-light);
}

[data-theme="dark"]    .btn-icon,
[data-theme="antiblue"] .btn-icon {
  border-color: rgba(255,255,255,0.10);
  color: var(--text-secondary);
}

[data-theme="dark"]    .btn-icon:hover,
[data-theme="antiblue"] .btn-icon:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* Dropdown menu en dark/antiblue */
[data-theme="dark"]    .dropdown-menu,
[data-theme="antiblue"] .dropdown-menu {
  background: var(--surface-glass-solid);
  border: 1px solid var(--surface-glass-border);
  color: var(--text-primary);
}

[data-theme="dark"]    .dropdown-item,
[data-theme="antiblue"] .dropdown-item {
  color: var(--text-primary);
}

[data-theme="dark"]    .dropdown-item:hover,
[data-theme="antiblue"] .dropdown-item:hover {
  background: var(--accent-light);
  color: var(--accent);
}

[data-theme="dark"]    .dropdown-header,
[data-theme="antiblue"] .dropdown-header {
  color: var(--text-secondary);
}

[data-theme="dark"]    .dropdown-divider,
[data-theme="antiblue"] .dropdown-divider {
  border-color: rgba(255,255,255,0.08);
}


/* ─────────────────────────────────────────────────────────── */
/* §8 — CARDS / SUPERFICIES GLASS                             */
/* ─────────────────────────────────────────────────────────── */

/* Fallback sólido (todos los navegadores) */
[data-theme="dark"]    .card,
[data-theme="antiblue"] .card {
  background: var(--surface-glass-solid) !important;
  border: 1px solid var(--surface-glass-border) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.35) !important;
}

/* Glass con backdrop-filter donde esté soportado */
@supports (backdrop-filter: blur(1px)) {
  [data-theme="dark"]    .card,
  [data-theme="antiblue"] .card {
    background: var(--surface-glass) !important;
    backdrop-filter: blur(var(--surface-glass-blur));
    -webkit-backdrop-filter: blur(var(--surface-glass-blur));
  }
}

/* Limpiar bg-white forzado por Bootstrap en card-header */
[data-theme="dark"]    .card-header.bg-white,
[data-theme="antiblue"] .card-header.bg-white {
  background-color: transparent !important;
}

/* Texto en cards para dark/antiblue */
[data-theme="dark"]    .card,
[data-theme="dark"]    .card h5,
[data-theme="dark"]    .card h6,
[data-theme="dark"]    .card .fw-700,
[data-theme="dark"]    .card .fw-600,
[data-theme="antiblue"] .card,
[data-theme="antiblue"] .card h5,
[data-theme="antiblue"] .card h6,
[data-theme="antiblue"] .card .fw-700,
[data-theme="antiblue"] .card .fw-600 {
  color: var(--text-primary);
}

[data-theme="dark"]    .text-muted,
[data-theme="antiblue"] .text-muted {
  color: var(--text-secondary) !important;
}

[data-theme="dark"]    .text-dark,
[data-theme="antiblue"] .text-dark {
  color: var(--text-primary) !important;
}

/* card border-top en dark */
[data-theme="dark"]    .border-top,
[data-theme="antiblue"] .border-top {
  border-color: var(--surface-glass-border) !important;
}

/* Botones outline en dark */
[data-theme="dark"]    .btn-outline-primary,
[data-theme="antiblue"] .btn-outline-primary {
  color: var(--accent);
  border-color: var(--accent);
}

[data-theme="dark"]    .btn-outline-primary:hover,
[data-theme="antiblue"] .btn-outline-primary:hover {
  background: var(--accent);
  color: #fff;
}

[data-theme="dark"]    .btn-outline-secondary,
[data-theme="antiblue"] .btn-outline-secondary {
  color: var(--text-secondary);
  border-color: var(--surface-glass-border);
}

[data-theme="dark"]    .btn-outline-secondary:hover,
[data-theme="antiblue"] .btn-outline-secondary:hover {
  background: var(--surface-glass-border);
  color: var(--text-primary);
}

/* Botón primario con degradado aurora */
[data-theme="dark"]    .btn-primary,
[data-theme="antiblue"] .btn-primary {
  background: linear-gradient(90deg, var(--accent-aurora-start), var(--accent-aurora-end));
  border-color: transparent;
  color: #fff;
  position: relative;
}

[data-theme="dark"] .btn-primary::after,
[data-theme="antiblue"] .btn-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  background: inherit;
  box-shadow: 0 0 var(--glow-spread) var(--glow-color);
  transition: opacity 0.2s ease;
  pointer-events: none;
}

[data-theme="dark"] .btn-primary:hover::after,
[data-theme="dark"] .btn-primary:focus::after,
[data-theme="antiblue"] .btn-primary:hover::after,
[data-theme="antiblue"] .btn-primary:focus::after {
  opacity: 1;
}

/* Foco visible en todos los temas */
[data-theme="dark"]    *:focus-visible,
[data-theme="light"]   *:focus-visible,
[data-theme="antiblue"] *:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring) !important;
}


/* ─────────────────────────────────────────────────────────── */
/* §9 — DASHBOARD específico                                  */
/* ─────────────────────────────────────────────────────────── */
[data-theme="dark"]    .dashboard-greeting,
[data-theme="antiblue"] .dashboard-greeting {
  color: var(--text-primary);
}

[data-theme="dark"]    .text-primary,
[data-theme="antiblue"] .text-primary {
  color: var(--accent) !important;
}

/* Stat cards: conservan gradientes propios, no necesitan override */

/* Progress bars */
[data-theme="dark"]    .progress,
[data-theme="antiblue"] .progress {
  background-color: rgba(255,255,255,0.08);
}

[data-theme="dark"]    .progress-bar.bg-primary,
[data-theme="antiblue"] .progress-bar.bg-primary {
  background: linear-gradient(90deg, var(--accent-aurora-start), var(--accent-aurora-end)) !important;
}

/* Alert-item en alertas/recomendaciones */
[data-theme="dark"]    .alert-item,
[data-theme="antiblue"] .alert-item {
  color: var(--text-primary);
  border-bottom-color: rgba(255,255,255,0.06);
}

/* Module chips */
[data-theme="dark"]    .module-chip,
[data-theme="antiblue"] .module-chip {
  background: var(--surface-glass-solid);
  border-color: var(--surface-glass-border);
  color: var(--text-secondary);
}

[data-theme="dark"]    .module-chip.active,
[data-theme="antiblue"] .module-chip.active {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent);
}

/* SVG stroke en los anillos de progreso */
[data-theme="dark"]    circle[stroke="#e2e8f0"],
[data-theme="antiblue"] circle[stroke="#e2e8f0"] {
  stroke: rgba(255,255,255,0.10);
}

/* Soft backgrounds en dashboard */
[data-theme="dark"]    .bg-primary-soft,
[data-theme="dark"]    .bg-primary-subtle,
[data-theme="antiblue"] .bg-primary-soft,
[data-theme="antiblue"] .bg-primary-subtle {
  background: var(--accent-light) !important;
}

[data-theme="dark"]    .bg-warning-subtle,
[data-theme="antiblue"] .bg-warning-subtle {
  background: rgba(251,191,36,0.12) !important;
}

[data-theme="dark"]    .bg-danger-subtle,
[data-theme="antiblue"] .bg-danger-subtle {
  background: rgba(248,113,113,0.12) !important;
}

[data-theme="dark"]    .bg-success-soft,
[data-theme="dark"]    .bg-success-subtle,
[data-theme="antiblue"] .bg-success-soft,
[data-theme="antiblue"] .bg-success-subtle {
  background: rgba(52,211,153,0.12) !important;
}

[data-theme="dark"]    .bg-info-subtle,
[data-theme="antiblue"] .bg-info-subtle {
  background: rgba(56,189,248,0.12) !important;
}

[data-theme="antiblue"] .bg-info-subtle {
  background: rgba(201,184,163,0.12) !important;
}

/* Badges */
[data-theme="dark"]    .badge.bg-secondary,
[data-theme="antiblue"] .badge.bg-secondary {
  background: var(--surface-glass-solid) !important;
  color: var(--text-secondary);
  border: 1px solid var(--surface-glass-border);
}

/* Alert dismissible en dark */
[data-theme="dark"]    .alert-primary,
[data-theme="antiblue"] .alert-primary {
  background: var(--accent-light);
  border-color: var(--accent);
  color: var(--text-primary);
}

/* Racha activa box */
[data-theme="dark"]    .bg-warning-subtle.rounded,
[data-theme="antiblue"] .bg-warning-subtle.rounded {
  background: rgba(251,191,36,0.10) !important;
}

/* Acceso rápido admin card */
[data-theme="dark"]    .border-primary,
[data-theme="antiblue"] .border-primary {
  border-color: var(--accent) !important;
}

/* Racha: glow de logro (gamificación) — máx. 1 simultáneo aquí */
[data-theme="dark"] .bi-fire {
  text-shadow: 0 0 8px var(--glow-achievement-color);
}

/* Hover glow en cards interactivas (las que son <a>) */
[data-theme="dark"] a.card:hover,
[data-theme="antiblue"] a.card:hover {
  box-shadow: 0 4px 28px var(--glow-color) !important;
  transform: translateY(-1px);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}


/* ─────────────────────────────────────────────────────────── */
/* §10 — AUTH PAGE (login)                                    */
/* ─────────────────────────────────────────────────────────── */

/* La aurora del fondo se aplica en §5 (.auth-page / .sos-wrapper) */

/* Limpiar el fondo hardcoded de custom.css */
[data-theme="dark"]    .auth-page,
[data-theme="light"]   .auth-page,
[data-theme="antiblue"] .auth-page {
  background: unset; /* se aplica desde §5 vía .auth-page selector específico */
}

/* Auth card — glass */
[data-theme="dark"]    .auth-card,
[data-theme="antiblue"] .auth-card {
  background: var(--surface-glass-solid);
  border: 1px solid var(--surface-glass-border);
  box-shadow: 0 24px 64px rgba(0,0,0,0.50);
  color: var(--text-primary);
}

@supports (backdrop-filter: blur(1px)) {
  [data-theme="dark"]    .auth-card,
  [data-theme="antiblue"] .auth-card {
    background: var(--surface-glass);
    backdrop-filter: blur(var(--surface-glass-blur));
    -webkit-backdrop-filter: blur(var(--surface-glass-blur));
  }
}

[data-theme="light"] .auth-card {
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.95);
  box-shadow: 0 24px 64px rgba(91,91,214,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Auth header textos */
[data-theme="dark"]    .auth-card-header h2,
[data-theme="antiblue"] .auth-card-header h2 {
  color: var(--text-primary);
}

[data-theme="dark"]    .auth-card-header p,
[data-theme="antiblue"] .auth-card-header p {
  color: var(--text-secondary);
}

/* Logo aurora */
[data-theme="dark"] .auth-logo {
  background: linear-gradient(135deg, var(--accent-aurora-start), var(--accent-aurora-end));
  box-shadow: 0 8px 24px var(--glow-color);
}

[data-theme="antiblue"] .auth-logo {
  background: linear-gradient(135deg, #F59E0B, #FB923C);
  box-shadow: 0 8px 24px rgba(245,158,11,0.30);
}

[data-theme="light"] .auth-logo {
  background: linear-gradient(135deg, #5B5BD6, #7DD3FC);
  box-shadow: 0 8px 24px rgba(91,91,214,0.25);
}

/* Inputs cristal */
[data-theme="dark"] .auth-card .form-control,
[data-theme="dark"] .auth-card .form-select {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
  color: var(--text-primary);
}

[data-theme="dark"] .auth-card .form-control::placeholder {
  color: var(--text-muted-fp);
}

[data-theme="dark"] .auth-card .form-control:focus,
[data-theme="dark"] .auth-card .form-select:focus {
  background: rgba(255,255,255,0.10);
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px var(--glow-color);
  color: var(--text-primary);
}

[data-theme="antiblue"] .auth-card .form-control,
[data-theme="antiblue"] .auth-card .form-select {
  background: rgba(255,255,255,0.05);
  border-color: rgba(240,230,216,0.15);
  color: var(--text-primary);
}

[data-theme="antiblue"] .auth-card .form-control::placeholder {
  color: var(--text-muted-fp);
}

[data-theme="antiblue"] .auth-card .form-control:focus {
  background: rgba(255,255,255,0.08);
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px var(--glow-color);
  color: var(--text-primary);
}

/* Toggle de contraseña */
[data-theme="dark"] .auth-card .btn-outline-secondary,
[data-theme="antiblue"] .auth-card .btn-outline-secondary {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.12);
  color: var(--text-secondary);
}

[data-theme="dark"] .auth-card .btn-outline-secondary:hover,
[data-theme="antiblue"] .auth-card .btn-outline-secondary:hover {
  background: var(--accent-light);
  color: var(--accent);
}

/* Btn login aurora con glow */
[data-theme="dark"] .btn-auth.btn-primary,
[data-theme="antiblue"] .btn-auth.btn-primary {
  background: linear-gradient(90deg, var(--accent-aurora-start), var(--accent-aurora-end));
  border: none;
  font-weight: 700;
  letter-spacing: 0.3px;
  position: relative;
  overflow: hidden;
}

[data-theme="dark"] .btn-auth.btn-primary:hover,
[data-theme="dark"] .btn-auth.btn-primary:focus,
[data-theme="antiblue"] .btn-auth.btn-primary:hover,
[data-theme="antiblue"] .btn-auth.btn-primary:focus {
  box-shadow: 0 0 var(--glow-spread) var(--glow-color);
}

/* Botón "Crear cuenta" outline */
[data-theme="dark"] .auth-card .btn-outline-primary,
[data-theme="antiblue"] .auth-card .btn-outline-primary {
  border-color: var(--accent);
  color: var(--accent);
}

[data-theme="dark"] .auth-card .btn-outline-primary:hover,
[data-theme="antiblue"] .auth-card .btn-outline-primary:hover {
  background: var(--accent);
  color: #fff;
}

/* Form label */
[data-theme="dark"] .auth-card .form-label,
[data-theme="antiblue"] .auth-card .form-label {
  color: var(--text-secondary);
}

/* Checkbox */
[data-theme="dark"] .auth-card .form-check-label,
[data-theme="antiblue"] .auth-card .form-check-label {
  color: var(--text-secondary);
}

/* Enlace "¿Olvidaste tu contraseña?" */
[data-theme="dark"] .auth-link,
[data-theme="antiblue"] .auth-link {
  color: var(--accent-cyan);
}

/* Hr separador */
[data-theme="dark"] .auth-card hr,
[data-theme="antiblue"] .auth-card hr {
  border-color: rgba(255,255,255,0.08);
}

/* Texto de pie de card */
[data-theme="dark"] .auth-card .text-muted,
[data-theme="antiblue"] .auth-card .text-muted {
  color: var(--text-secondary) !important;
}


/* ─────────────────────────────────────────────────────────── */
/* §11 — SELECTOR DE TEMA (navbar dropdown)                   */
/* ─────────────────────────────────────────────────────────── */
.sos-theme-switcher {
  padding: 4px 16px 8px;
}

.sos-theme-switcher-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--text-muted-fp, #64748b);
  margin-bottom: 6px;
}

.sos-theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.sos-theme-btn:hover {
  border-color: var(--accent, #6D6AF7);
  color: var(--accent, #6D6AF7);
}

.sos-theme-btn.sos-active {
  border-color: var(--accent, #6D6AF7);
  background: var(--accent-light, rgba(109,106,247,0.12));
  color: var(--accent, #6D6AF7);
}

[data-theme="dark"]    .sos-theme-btn,
[data-theme="antiblue"] .sos-theme-btn {
  border-color: rgba(255,255,255,0.10);
  color: var(--text-secondary);
}

[data-theme="dark"]    .sos-theme-btn:hover,
[data-theme="antiblue"] .sos-theme-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
}

[data-theme="dark"]    .sos-theme-btn.sos-active,
[data-theme="antiblue"] .sos-theme-btn.sos-active {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent);
}


/* ─────────────────────────────────────────────────────────── */
/* §12 — prefers-reduced-motion                               */
/* ─────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  /* Glow estático — sin animación de opacidad */
  [data-theme="dark"] .btn-primary::after,
  [data-theme="antiblue"] .btn-primary::after {
    transition: none;
  }

  /* Sin transform en hover de cards */
  [data-theme="dark"] a.card:hover,
  [data-theme="antiblue"] a.card:hover {
    transform: none;
  }

  /* Sin transición en sidebar */
  .sidebar-link {
    transition: none !important;
  }
}
