:root {
  /* VARIABLES DE COLOR DEL TEMA DE LA RULETA (CYAN) */
  --color-ruleta-base: #04f6f6; /* Cyan Claro */
  --color-ruleta-hover: #7cfcfc; /* Cyan Más Claro (Hover) */
  --color-ruleta-primary: #048181; /* Cyan Oscuro (Primary/Principal) */
  --color-ruleta-success: #029696; /* Cyan Intermedio (Success/Añadir) */
  --color-ruleta-negro: #040404; /* Negro */
  
  /* VARIABLES PARA LA BARRA DE NAVEGACIÓN (usa los colores de ruleta) */
  --color1: var(--color-ruleta-base); /* Color de texto base de la navbar (Cyan Claro) */
  --color2: var(--color-ruleta-hover); /* Color de hover de la navbar (Cyan Más Claro) */
  --color-bg-dark: rgba(0, 0, 0, 0.6); /* Fondo semi-transparente */

  /* Sobrescribir variables de Bootstrap para un tema consistente en el CONTENIDO */
  --bs-primary: var(--color-ruleta-primary);
  --bs-success: var(--color-ruleta-success);
  --bs-danger: #dc3545;
  --bs-body-color: var(--color-ruleta-negro);
}

body {
    /* 1. La capa oscura (el overlay) */
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), 
                /* 2. Tu imagen de fondo original */
                url(../../img/fondo.jpg) no-repeat center center fixed;
    
    /* Propiedades de tamaño y repetición */
    background-size: cover;
}

.password-container {
  position: relative;
}

.password-toggle-icone {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  cursor: pointer;
  color: #6c757d;
  z-index: 100;
}

/* ---------------- NAVBAR BASE Y ESTILO PERSONALIZADO ---------------- */

/* Clase para aplicar tu estilo de fondo y posición */
.custom-navbar {
    background: var(--color-bg-dark) !important;
    padding: 1rem 2rem;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
    /* Desactivamos padding de Bootstrap en el nav */
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Ajuste del contenedor principal */
.nav-container {
    width: 100%;
    /* Desactivamos padding de Bootstrap en el container-fluid */
    padding-left: 2rem !important; 
    padding-right: 2rem !important;
}


/* ---------------- ENLACE DE USUARIO (BRAND - IZQUIERDA) ---------------- */

.usuario-item {
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--color1) !important;
    text-decoration: none;
    padding-left: 0;
    transition: color 0.3s ease;
}

.usuario-item:hover {
    color: var(--color2) !important;
}

/* ---------------- ENLACES PRINCIPALES (nav-link) ---------------- */

.navbar-nav .nav-link {
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--color1) !important;
    text-decoration: none;
    transition: color 0.3s ease;
    padding: 0.5rem 1rem;
}

/* ---------------- EFECTO DE LÍNEA INFERIOR ANIMADA (CORREGIDO) ---------------- */

.animated-link {
    position: relative; 
    display: inline-block;
    padding-bottom: 5px; 
    /* La transición del color del texto es importante */
    transition: color 0.3s ease; 
}

.animated-link::after {
    content: '';
    position: absolute;
    width: 50%; /* CLAVE: Ancho inicial más corto (visible) */
    height: 2px; /* Grosor de línea base */
    bottom: 0;
    
    /* PROPIEDADES DE CENTRADO CORREGIDAS */
    left: 50%; 
    transform: translateX(-50%); 
    
    /* Color inicial de la línea (base) */
    background-color: var(--color1); 
    
    /* Transición en todas las propiedades para el efecto de movimiento */
    transition: all 0.3s ease-out; 
}

/* El efecto al pasar el cursor (hover) */
.animated-link:hover {
    color: var(--color2) !important; /* Cambia el color del texto al color de hover */
}

.animated-link:hover::after {
    /* Movimiento y cambio de color: se expande a 100% y cambia el color */
    width: 100%; 
    background-color: var(--color2); 
    height: 3px; /* Sutil aumento del grosor para el realce */
}


/* ---------------- ESTILO DEL BOTÓN DE CERRAR SESIÓN (DERECHA) ---------------- */
.logout-link {
    /* Sobreescribe el estilo de .nav-link para que parezca botón */
    background-color: black;
    border-radius: 10px;
    padding: 5px 15px !important; 
    border: 1px solid var(--color1);
    display: inline-block !important; /* Para que tome el tamaño del contenido */
    color: var(--color1) !important;
    box-shadow: 0 4px 15px rgba(4, 246, 246, 0.4);
}

.logout-link:hover {
    transition: all 1s;
    color: var(--color2) !important;
    border-color: var(--color2);
    background-color: rgba(0, 0, 0, 0.168);
    transform: scale(1.05);
    box-shadow: 0 6px 25px rgba(4, 246, 246, 0.6);
    
}

/* ---------------- ESTILO PARA MÓVILES (Menú Hamburguesa) ---------------- */

/* Estilo del botón hamburguesa */
.custom-toggler {
    border-color: var(--color1) !important;
}

.custom-toggler .navbar-toggler-icon {
    /* Icono blanco para contraste */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

@media (max-width: 991.98px) {
    /* En móviles (< lg), forzamos que el nav-link ocupe todo el ancho */
    .navbar-nav .nav-item {
        width: 100%;
        text-align: center;
        margin: 5px 0;
    }

    /* Quitamos el efecto de línea animada en móvil */
    .animated-link::after {
        content: none;
    }
    
    /* Aseguramos que el botón de logout se vea bien en móvil */
    .logout-link {
        display: block !important;
        width: calc(100% - 2rem); 
        margin: 0.5rem auto !important;
    }
}

/* ---------------- JUMBOTRON ---------------- */
.jumbotron {
  background: linear-gradient(45deg, var(--color4), var(--color3));
  color: #fff;
}

/* ---------------- CARD ---------------- */
.card {
  border: none;
  transition: transform 0.2s, box-shadow 0.2s;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--color5);
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
}

.text-info {
  color: var(--color3) !important;
}

.btn-outline-info {
  color: var(--color3);
  border-color: var(--color3);
}

.btn-outline-info:hover {
  background-color: var(--color3);
  color: #fff;
}

#spin-button {
    /* Forzar al botón a estar por encima de cualquier otro elemento (como el canvas o overlays) */
    position: relative; 
    z-index: 1001; /* Un valor alto para asegurar que está en la capa superior */
}