/* Estilos personalizados para la aplicación */

/* Fondo para toda la página */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
}

body {
    /* Degradado del fondo del sistema desde azul oscuro a blanco  del sistema completo*/
    /* background: linear-gradient(135deg, #122353 0%, #4a5a9f 50%, #fefefe 100%) fixed !important;    background-color: #12599f !important; */
    background: linear-gradient(135deg, #122353 0%, #4a5a9f 50%, #f5f6fa 100%) fixed !important;    /* background-color: #12599f !important; */
    position: relative !important;
    min-height: 100vh !important;
    color: #333333 !important; /* Texto oscuro para mejor contraste en zonas claras */
    margin: 0 !important;
    padding: 0 !important;
}

/* Animación para el degradado */
@keyframes gradientBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Se ha eliminado la capa de superposición ya que estamos usando solo el color de fondo sólido */

/* Estilos para mejorar la legibilidad con el fondos */
.container {
    position: relative;
    z-index: 1;
}

/* Ajuste para el contenedor principal */
.container.mt-4 {
    margin-top: 76px !important; /* Espacio para que el contenido no quede oculto detrás del navbar */
    margin-bottom: 40px !important; /* Espacio para que el contenido no quede oculto detrás del footer */
    padding-bottom: 10px; /* Espacio adicional en la parte inferior */
}

/* Ajuste para el contenedor principal en modo responsive */
@media (max-width: 991.98px) {
    .container.mt-4 {
        margin-bottom: 30px !important; /* Espacio ajustado para pantallas pequeñas */
    }
    body {
        padding-bottom: 30px; /* Espacio adicional en el cuerpo para dispositivos móviles */
    }
}

.card {
    background-color: rgba(255, 255, 255, 0.95);
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    margin-bottom: 25px;
    color: #333; /* Color oscuro para el texto dentro de las tarjetas */
}

/* Todos los títulos en blanco */
h1, h2, h3, h4, h5, h6, .text-white {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
    color: #ffffff !important;
}

/* Estilos para los títulos dentro de las tarjetas */
.card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6,
.card-title {
    color: #212529 !important; /* Color oscuro para mejor contraste en fondos claros */
    text-shadow: none; /* Sin sombra para mejor legibilidad */
}

/* Clase especial para títulos que siempre deben ser blancos, independientemente de su contenedor */
.title-white {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

.navbar {
    background-color: #212529 !important; /* Color sólido sin transparencia */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1030;
}

/* Asegurar que el navbar siempre tenga color sólido, incluso con la clase scrolled */
.navbar.scrolled {
    background-color: #212529 !important;
    opacity: 1 !important;
}

/* Estilos para el contenedor del logo y título */
.navbar-brand-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.navbar-brand {
    margin-bottom: 0;
    padding-bottom: 0;
    line-height: 1.2;
}

/* Estilos para el título de la página en el navbar */
#page-title-container {
    color: white;
    font-size: 0.7rem; /* Tamaño más reducido para mantener el diseño compacto */
    font-weight: normal;
    transition: opacity 0.3s ease, max-height 0.3s ease;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    white-space: nowrap;
    line-height: 1;
    margin-top: 0;
}

#page-title-container.show {
    opacity: 1;
    max-height: 20px;
    display: block !important;
}

#page-icon {
    font-size: 0.7rem;
}

.page-title-text {
    font-size: 0.7rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
    display: inline-block;
    vertical-align: middle;
    color: #ffffff;
}

/* Mantener visible en modo responsive */
@media (max-width: 991.98px) {
    #page-title-container.show {
        display: block !important;
    }
}

/* Estilo para el menú desplegable en modo responsive */
@media (max-width: 991.98px) {
    .navbar-collapse {
        background-color: #212529 !important; /* Color sólido sin transparencia para el menú desplegable */
        padding: 10px;
        border-radius: 0 0 5px 5px;
    }
}

.footer {
    background-color: #212529 !important; /* Color sólido sin transparencia */
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
    padding: 3px 0; /* Footer aún más compacto */
    font-size: 0.8rem; /* Texto más pequeño */
    line-height: 1.2; /* Reducir espacio entre líneas */
}

/* Asegurar que el footer esté fijo en modo responsive */
@media (max-width: 991.98px) {
    .footer {
        position: fixed !important;
        bottom: 0 !important;
    }
}

/* Mejoras para los botones y badges */
.btn-primary {
    background-color: #0D6EFD;
    border-color: #0D6EFD;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.btn-primary:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

/* Mejoras para la tabla */
.table {
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    overflow: hidden;
    color: #333; /* Color oscuro para el texto dentro de las tablas */
}
