/* ==========================================================================
   GooSFe - Paleta "Seguridad Inteligente"
   Tecnología, Intuición, Protección e Inclusión Orgánica
   ========================================================================== */

:root {
  /* Primarios: Intuición, Tecnología y Protección */
  --gs-indigo-midnight: #13112c;      /* Fondo ultra profundo */
  --gs-indigo-deep: #1e1b4b;          /* Índigo profundo (Navbars, contenedores) */
  --gs-indigo: #312e81;               /* Índigo base */
  --gs-indigo-light: #4338ca;         /* Índigo luminoso */
  --gs-violet-electric: #7c3aed;      /* Violeta eléctrico (Acentos primarios, foco) */
  --gs-violet-bright: #8b5cf6;        /* Violeta brillante */

  /* Acentos de Acción (CTAs): Aprobación, Seguridad, Alta Energía */
  --gs-cyan-vibrant: #00f2fe;         /* Cian vibrante (CTA primario) */
  --gs-cyan-hover: #00c4d4;
  --gs-neon-green: #00e676;          /* Verde neón ("Check", Aprobado) */
  --gs-neon-green-hover: #00c853;

  /* Neutros y Superficies */
  --gs-dark-text: #0f172a;            /* Texto de máximo contraste sobre CTAs */
  --gs-text-main: #1e293b;            /* Texto principal legible */
  --gs-text-muted: #64748b;           /* Texto secundario */
  --gs-bg-soft: #f8fafc;              /* Fondo suave */
  --gs-border-subtle: #e2e8f0;

  /* Seguridad / Alertas (Evitando el rojo chillón hospitalario) */
  --gs-danger-bg: #2d1522;            /* Ciruela oscuro para alertas */
  --gs-danger-border: #e11d48;        /* Borde sutil */
  --gs-danger-text: #ffe4e6;
  --gs-neutral-cancel: #475569;        /* Botones cancelar neutrales */

  /* Compatibilidad con variables legacy */
  --goosfe-primary: var(--gs-violet-electric);
  --goosfe-indigo: var(--gs-indigo-deep);
  --goosfe-cyan: var(--gs-cyan-vibrant);
  --goosfe-neon: var(--gs-neon-green);
}

/* --------------------------------------------------------------------------
   SOBRESCRITURA ADMINLTE / BOOTSTRAP 4
   -------------------------------------------------------------------------- */

/* Navbar Principal */
.navbar-primary,
.main-header.navbar-dark.navbar-primary {
  background: linear-gradient(90deg, var(--gs-indigo-deep) 0%, var(--gs-indigo) 100%) !important;
  border-bottom: 2px solid var(--gs-violet-electric) !important;
  color: #ffffff !important;
}

.main-header.navbar-dark .navbar-nav .nav-link {
  color: #e2e8f0 !important;
  transition: color 0.2s ease;
}

.main-header.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--gs-cyan-vibrant) !important;
}

/* Sidebar / Barra lateral activa */
.sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
  background: linear-gradient(135deg, var(--gs-violet-electric) 0%, var(--gs-indigo-light) 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.35) !important;
  border-radius: 6px;
}

.main-sidebar {
  border-right: 1px solid rgba(124, 58, 237, 0.1) !important;
}

/* Cards Primarias */
.card-primary:not(.card-outline) > .card-header {
  background: linear-gradient(135deg, var(--gs-indigo-deep) 0%, var(--gs-indigo) 100%) !important;
  border-bottom: 2px solid var(--gs-cyan-vibrant) !important;
  color: #ffffff !important;
}

.card-primary.card-outline {
  border-top: 3px solid var(--gs-violet-electric) !important;
}

/* --------------------------------------------------------------------------
   BOTONES Y LLAMADAS A LA ACCIÓN (CTAs)
   -------------------------------------------------------------------------- */

/* Botón Primario: Violeta Eléctrico Tecnológico */
.btn-primary {
  background: linear-gradient(135deg, var(--gs-violet-electric) 0%, var(--gs-indigo-light) 100%) !important;
  border: none !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.25) !important;
  transition: all 0.3s ease !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, #6d28d9 0%, #3730a3 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(124, 58, 237, 0.4) !important;
}

/* Botones CTA de Acento: Cian Vibrante y Verde Neón ("Check" / Aprobado) */
.btn-cta-cyan,
.btn-cta {
  background: linear-gradient(135deg, var(--gs-cyan-vibrant) 0%, #00c4d4 100%) !important;
  color: var(--gs-dark-text) !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(0, 242, 254, 0.4) !important;
  transition: all 0.25s ease !important;
}

.btn-cta-cyan:hover,
.btn-cta:hover {
  background: linear-gradient(135deg, #00d8e4 0%, #009eb0 100%) !important;
  color: var(--gs-dark-text) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 242, 254, 0.55) !important;
}

/* Verde Neón para Éxito / Confirmación Segura */
.btn-success,
.btn-cta-neon {
  background: linear-gradient(135deg, var(--gs-neon-green) 0%, var(--gs-neon-green-hover) 100%) !important;
  color: var(--gs-dark-text) !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(0, 230, 118, 0.3) !important;
  transition: all 0.25s ease !important;
}

.btn-success:hover,
.btn-cta-neon:hover {
  background: linear-gradient(135deg, #00c853 0%, #009624 100%) !important;
  color: var(--gs-dark-text) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 230, 118, 0.45) !important;
}

/* Botones Cancelar / Neutrales (Reemplazo del Rojo Peligro) */
.btn-danger,
.btn-neutral-cancel {
  background-color: var(--gs-neutral-cancel) !important;
  border: 1px solid #334155 !important;
  color: #f8fafc !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.btn-danger:hover,
.btn-neutral-cancel:hover {
  background-color: #334155 !important;
  color: #ffffff !important;
  border-color: #1e293b !important;
}

/* --------------------------------------------------------------------------
   ALERTAS Y NOTIFICACIONES SOFISTICADAS
   -------------------------------------------------------------------------- */

.alert-danger {
  background-color: #1e1e2e !important;
  border-left: 4px solid var(--gs-danger-border) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  color: var(--gs-danger-text) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.alert-danger .icon,
.alert-danger h5 {
  color: #fda4af !important;
}

/* --------------------------------------------------------------------------
   CLASES UTILITARIAS GOOSFE
   -------------------------------------------------------------------------- */

/* Botón GooSFe gradiente completo */
.btn-goosfe {
  background: linear-gradient(135deg, var(--gs-violet-electric) 0%, var(--gs-cyan-vibrant) 100%);
  color: var(--gs-dark-text);
  border: none;
  font-weight: bold;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(124, 58, 237, 0.3);
}

.btn-goosfe:hover {
  opacity: 0.95;
  transform: translateY(-1px);
  color: var(--gs-dark-text);
}

/* Tarjetas GooSFe */
.card-goosfe {
  background-color: #ffffff;
  border: 1px solid rgba(124, 58, 237, 0.15);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(30, 27, 75, 0.05);
}

/* Badges */
.badge-primary {
  background-color: var(--gs-violet-electric) !important;
  color: #ffffff !important;
}

.badge-accent {
  background-color: var(--gs-cyan-vibrant) !important;
  color: var(--gs-dark-text) !important;
  font-weight: 700;
}

/* Toasts */
.toast-goosfe {
  background: linear-gradient(135deg, var(--gs-indigo-deep) 0%, var(--gs-indigo) 100%);
  color: white;
  border-left: 4px solid var(--gs-cyan-vibrant);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.toast-goosfe .toast-header {
  background-color: transparent;
  color: var(--gs-cyan-vibrant);
  font-weight: bold;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.toast-goosfe-error {
  background: #1e1e2e;
  color: #f8fafc;
  border-left: 4px solid var(--gs-danger-border);
  border-radius: 8px;
}

.toast-goosfe-error .toast-header {
  background-color: transparent;
  color: #fda4af;
  font-weight: bold;
}
