/* =====================================================================
   Página de acceso — centrado y aspecto moderno
   Todo va limitado a .sign-in-layout: no afecta al panel principal.
   ===================================================================== */

.sign-in-layout .center-vertical {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

.sign-in-layout .center-vertical .container {
    width: 100%;
    max-width: 440px;
    margin: 0 auto !important;
    float: none !important;
    padding: 0 20px;
}

/* La columna de Bootstrap deja de desplazar: ya centra el contenedor */
.sign-in-layout .center-vertical .container > div[class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    left: 0 !important;
    float: none !important;
    padding: 0 !important;
}

/* ---------------------------------------------------------- tarjeta */

.sign-in-layout .panel {
    background: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 60px rgba(0, 30, 45, .28) !important;
    overflow: hidden;
}

/* El fondo translúcido del diseño original estorba sobre blanco */
.sign-in-layout .panel-background {
    display: none !important;
}

.sign-in-layout .panel-body {
    padding: 38px 34px 32px !important;
}

/* ------------------------------------------------------------- logo */

.sign-in-layout .panel-body > a > img {
    max-width: 210px;
    margin: 0 auto 4px !important;
}

.sign-in-layout .panel-body hr {
    border: none;
    border-top: 1px solid #E8ECF0;
    margin: 22px 0 !important;
}

/* ----------------------------------------------------------- campos */

.sign-in-layout .form-group {
    margin-bottom: 14px !important;
}

.sign-in-layout .form-control {
    height: 48px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    color: #1B2A35 !important;
    background: #F6F8FA !important;
    border: 1.5px solid #E3E8ED !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transition: border-color .16s ease, background-color .16s ease,
                box-shadow .16s ease !important;
}

.sign-in-layout .form-control::placeholder {
    color: #9AA7B3 !important;
}

.sign-in-layout .form-control:focus {
    background: #fff !important;
    border-color: #04719C !important;
    box-shadow: 0 0 0 4px rgba(4, 113, 156, .13) !important;
}

/* --------------------------------------------------------- recordar */

.sign-in-layout .checkbox label {
    font-size: 13px !important;
    color: #6B7A87 !important;
    font-weight: 500;
}

/* ---------------------------------------------------------- botones */

.sign-in-layout .btn-primary {
    height: 48px !important;
    background: #04719C !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    letter-spacing: .3px !important;
    box-shadow: 0 3px 12px rgba(4, 113, 156, .30) !important;
    transition: background-color .16s ease, box-shadow .16s ease,
                transform .1s ease !important;
}

.sign-in-layout .btn-primary:hover,
.sign-in-layout .btn-primary:focus {
    background: #035A7D !important;
    box-shadow: 0 5px 18px rgba(4, 113, 156, .38) !important;
}

.sign-in-layout .btn-primary:active {
    transform: translateY(1px);
}

/* Enlace de recuperar contraseña: discreto, no compite con Ingresar */
.sign-in-layout .btn-default {
    height: 44px !important;
    line-height: 30px !important;
    background: transparent !important;
    border: 1.5px solid #E3E8ED !important;
    border-radius: 10px !important;
    color: #6B7A87 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: border-color .16s ease, color .16s ease !important;
}

.sign-in-layout .btn-default:hover {
    border-color: #04719C !important;
    color: #04719C !important;
    background: transparent !important;
}

/* --------------------------------------------------------- responsive */

@media (max-width: 480px) {
    .sign-in-layout .panel-body {
        padding: 28px 22px 24px !important;
    }
    .sign-in-layout .center-vertical .container {
        padding: 0 14px;
    }
}

/* --- Quitar el marco translúcido exterior --- */
.sign-in-layout .center-vertical .container > div[class*="col-"] {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}

.sign-in-layout .panel {
    margin-bottom: 0 !important;
}

/* --- Separar del pie de soporte --- */
.sign-in-layout .center-vertical {
    padding: 30px 0 130px !important;
    min-height: auto !important;
}
/* --- Eliminar cualquier fondo del contenedor exterior --- */
.sign-in-layout .center-vertical,
.sign-in-layout .center-vertical .container,
.sign-in-layout .center-vertical .container > div,
.sign-in-layout .container > .col-xs-12 {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    backdrop-filter: none !important;
}
.sign-in-layout .form-group::before,
.sign-in-layout .form-group::after,
.sign-in-layout .form-control::before,
.sign-in-layout .form-control::after {
    display: none !important;
    content: none !important;
}

.sign-in-layout .form-group {
    background: transparent !important;
    overflow: visible !important;
}