/* Importar una fuente más atractiva desde Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

/* Estilo base para toda la aplicación */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #f4f7f6;
}

/* --- ESTILOS PARA LA PÁGINA DE LOGIN --- */
body.login-page {
    background-image: url('../img/background-login.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 100vh;
}
.login-logo {
    max-width: 280px; 
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
@keyframes sparkle-border {
    0% { box-shadow: 0 0 10px 0 rgba(255, 165, 0, 0), inset 0 0 10px 0 rgba(255, 165, 0, 0); }
    50% { box-shadow: 0 0 20px 5px rgba(255, 165, 0, 0.7), inset 0 0 20px 5px rgba(255, 165, 0, 0.7); }
    100% { box-shadow: 0 0 10px 0 rgba(255, 165, 0, 0), inset 0 0 10px 0 rgba(255, 165, 0, 0); }
}
.login-card {
    background-image: url('../img/Background-form-login.png');
    background-size: cover;
    background-position: center;
    border: 4px solid #FFA500;
    border-radius: 1.5rem;
    position: relative;
    overflow: hidden;
    animation: sparkle-border 4s infinite linear;
}
.login-card .form-label { color: #ffffff; font-weight: 600; }
.login-card .btn-link { color: #f8f9fa; }
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.03); }
    100% { transform: scale(1); }
}
.btn-ingresar-custom {
    background-image: url('../img/Boton-ingresar.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: transparent;
    border: none;
    font-weight: 700;
    font-size: 1.2rem;
    color: white; 
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
    padding: 3rem 1.5rem; 
    transition: all 0.3s ease;
    animation: pulse 2.5s infinite ease-in-out;
}
.btn-ingresar-custom:hover { transform: scale(1.05); cursor: pointer; animation: none; }

/* --- ESTILOS PARA LOS PANELES INTERNOS --- */
.navbar-custom-bg, .footer-panel {
    background-image: url('../img/background-login.jpg');
    background-size: cover;
    background-position: center center;
}
.navbar-logo {
    height: 40px;
    width: auto;
}
.footer-panel {
    text-align: center;
    padding: 1rem;
    color: white;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.table-hover tbody tr:hover {
    background-color: #e9ecef;
    cursor: pointer;
}
.card:not(.login-card) {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: none;
    background-color: #ffffff;
}

/* --- NUEVO: ESTILOS PARA EL STICKY FOOTER --- */
body.panel-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.main-content {
    flex-grow: 1; /* Permite que este contenedor crezca y empuje el footer */
}