﻿/* ==========================================================================
   Modern Login Styles - REEMPLAZO COMPLETO
   ========================================================================== */

/* Animaciones de entrada */
body {
    -webkit-animation-name: fade-in;
    -moz-animation-name: fade-in;
    -ms-animation-name: fade-in;
    -o-animation-name: fade-in;
    animation-name: fade-in;
    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    -ms-animation-duration: 1s;
    -o-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -ms-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -ms-animation-iteration-count: 1;
    -o-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    -o-animation-fill-mode: both;
    animation-fill-mode: both;
    
    /* ESTILOS MODERNOS FORZADOS */
    background: #1A202C !important;
    color: #FFF !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@-webkit-keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-moz-keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
    }

@-ms-keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-o-keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* CONTENEDOR PRINCIPAL - TAMAÑO CORRECTO */
.container {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* FILA DEL LOGIN */
.row {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
}

/* COLUMNA DEL LOGIN - TAMAÑO CORRECTO */
.col-sm-8, .col-md-6, .col-lg-4 {
    width: 100% !important;
    max-width: 380px !important;
    min-width: 350px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* BLOQUE DE LOGIN */
#login-block {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    width: 100% !important;
    max-width: 380px !important;
    min-width: 350px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#login-block h3 {
    color: #FFFFFF !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: bold !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    position: relative !important;
    z-index: 2 !important;
    text-shadow: none !important;
    background: transparent !important;
}

/* CAJA DEL LOGIN - TAMAÑO CORRECTO */
.login-box {
    position: relative !important;
    max-width: 380px !important;
    min-width: 350px !important;
    background: #FFFFFF !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin-top: 20px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
    overflow: hidden !important;
    width: 100% !important;
}

/* HEADER AZUL - ALTURA MÁS REDUCIDA */
body .login-box::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 60px !important;
    background: #2C5282 !important;
    z-index: 1 !important;
    border-radius: 8px 8px 0 0 !important;
}

/* BARRA BLANCA DECORATIVA */
.login-box::after {
    content: '' !important;
    position: absolute !important;
    top: 15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 40px !important;
    height: 3px !important;
    background: #FFFFFF !important;
    border-radius: 2px !important;
    z-index: 2 !important;
}

/* LOGO - ESPACIOS MÁS REDUCIDOS */
body .login-box .login-logo {
    text-align: center !important;
    padding: 5px 0 2px !important;
    position: relative !important;
    z-index: 2 !important;
    background: transparent !important;
    height: auto !important;
    min-height: auto !important;
    max-height: 60px !important;
}

/* OCULTAR COMPLETAMENTE EL TEXTO "INICIO DE SESIÓN" DEL HEADER */
.login-logo::before {
    content: 'GRUPO INPPA' !important;
    display: block !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: bold !important;
    margin-bottom: 1px !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    position: relative !important;
    z-index: 3 !important;
}

.login-logo::after {
    content: 'Sistema de Administracion Empresarial' !important;
    display: block !important;
    color: #FFFFFF !important;
    font-size: 9px !important;
    opacity: 0.9 !important;
    margin-bottom: 0px !important;
    text-align: center !important;
    position: relative !important;
    z-index: 3 !important;
}

.login-logo img {
    border: 0 !important;
    display: inline-block !important;
    max-width: 200px !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-bottom: 10px !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important;
}

/* TÍTULO "GRUPO INPPA" - FORZADO CON ESPECIFICIDAD MÁXIMA */
body .login-box .login-logo::before {
    content: 'GRUPO INPPA' !important;
    display: block !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: bold !important;
    margin-bottom: 1px !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    position: relative !important;
    z-index: 3 !important;
}

/* SUBTÍTULO */
.login-logo::after {
    content: 'Sistema de Administracion Empresarial' !important;
    display: block !important;
    color: #FFFFFF !important;
    font-size: 9px !important;
    opacity: 0.9 !important;
    margin-bottom: 0px !important;
    text-align: center !important;
    position: relative !important;
    z-index: 3 !important;
}

/* FORMULARIO - ESPACIOS REDUCIDOS */
.login-form {
    padding: 15px 25px 25px !important;
    background: #FFFFFF !important;
    position: relative !important;
    z-index: 2 !important;
    min-width: 300px !important;
}


/* ETIQUETAS */
.login-form label {
    display: block !important;
    color: #2D3748 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
    text-align: left !important;
}

/* CAMPOS DE ENTRADA */
.login-form input {
    display: block !important;
    margin: 0 auto 15px !important;
    width: 100% !important;
    background: #FFFFFF !important;
    border: 2px solid #E2E8F0 !important;
    color: #2D3748 !important;
    padding: 12px 15px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.login-form input:focus {
    border-color: #4299E1 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1) !important;
}

/* BOTÓN DE LOGIN */
.btn.btn-login {
    width: 100% !important;
    display: block !important;
    margin: 15px auto !important;
    color: #FFFFFF !important;
    text-transform: uppercase !important;
    background: #2C5282 !important;
    border: none !important;
    padding: 12px 15px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.btn.btn-login:hover {
    background: #2A4A7A !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(44, 82, 130, 0.3) !important;
}

/* ENLACES */
.login-links {
    text-align: center !important;
    margin-top: 15px !important;
}

.login-links a {
    color: #4299E1 !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px !important;
    transition: all 0.3s ease !important;
    opacity: 1 !important;
    text-decoration: none !important;
    font-size: 13px !important;
}

.login-links a:hover {
    color: #3182CE !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
}

/* FOOTER INTEGRADO */
#footer-text, #footer-text a, #footer-text p {
    text-align: center !important;
    color: #718096 !important;
    font-size: 11px !important;
    opacity: 1 !important;
    position: relative !important;
    bottom: auto !important;
    right: auto !important;
    margin: 15px 0 0 0 !important;
    padding: 10px 0 0 0 !important;
    z-index: 1000 !important;
    background: transparent !important;
    border-top: 1px solid #E2E8F0 !important;
    width: 100% !important;
}

/* FORZAR COLOR NEGRO EN EL FOOTER */
#footer-text p {
    color: #718096 !important;
}

/* ESTILO PARA VERSIÓN */
#footer-text p:last-child {
    color: #A0AEC0 !important;
    font-size: 10px !important;
    margin-top: 5px !important;
}

/* OCULTAR ELEMENTOS NO NECESARIOS */
.page-icon {
    display: none !important;
}

.login-box hr {
    display: block !important;
    margin: 10px auto 20px !important;
    width: 70% !important;
    border-top: 1px solid rgba(0, 0, 0, 0.13) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* OCULTAR CUALQUIER H3 EN EL LOGIN */
.login-box h3 {
    display: none !important;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .container {
        padding: 0 10px !important;
    }
    
    #login-block {
        padding: 10px !important;
    }
    
    .login-form {
        padding: 15px 20px 20px !important;
    }
    
    .login-form input {
        font-size: 16px !important; /* Evita zoom en iOS */
    }
}

@media (max-width: 480px) {
    .login-form {
        padding: 15px !important;
    }
    
    .login-form input {
        font-size: 16px !important;
    }
}