/*
 * ============================================================
 * COVA LOGIN PRO
 * Sistema Interno COVA
 * Capa exclusivamente visual.
 * No modifica autenticacion, sesiones, 2FA ni base de datos.
 * ============================================================
 */

*,
*:before,
*:after {
    box-sizing: border-box;
}

html.lockscreen,
body.lockscreen {
    width: 100%;
    min-height: 100%;
}

body.lockscreen {
    margin: 0 !important;
    min-height: 100vh !important;
    overflow-x: hidden;
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    color: #f4f5f7 !important;

    background:
        radial-gradient(circle at 78% 18%, rgba(255,255,255,.055), transparent 30%),
        radial-gradient(circle at 88% 75%, rgba(73,93,122,.08), transparent 28%),
        #14171b !important;
}


/* ============================================================
   CONTENEDOR GENERAL
   ============================================================ */

body.lockscreen .container-login100 {
    width: 100% !important;
    min-height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;

    background: transparent !important;
}

body.lockscreen .wrap-login100 {
    position: relative;

    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: stretch !important;

    border-radius: 0 !important;
    overflow: hidden !important;

    background: transparent !important;
    box-shadow: none !important;
}


/* ============================================================
   PANEL IZQUIERDO / MARCA
   ============================================================ */

body.lockscreen .login100-pic {
    position: relative !important;

    flex: 0 0 46% !important;
    width: 46% !important;
    max-width: 46% !important;
    min-height: 100vh !important;

    padding: 58px 64px 48px !important;

    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    overflow: hidden !important;

    transform: none !important;

    background:
        linear-gradient(
            180deg,
            rgba(4,6,8,.68) 0%,
            rgba(3,5,7,.78) 44%,
            rgba(2,3,4,.90) 100%
        ),
        url('/img/blur-background09.jpg') center bottom / cover no-repeat !important;

    border-right: 1px solid rgba(255,255,255,.06);
}

body.lockscreen .login100-pic:before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            110deg,
            rgba(0,0,0,.14),
            transparent 50%,
            rgba(0,0,0,.28)
        );

    pointer-events: none;
}

body.lockscreen .login100-pic:after {
    content: "";
    position: absolute;

    width: 760px;
    height: 760px;

    left: -530px;
    top: 130px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;

    box-shadow:
        55px 0 0 -54px rgba(255,255,255,.07),
        105px 0 0 -104px rgba(255,255,255,.05);

    pointer-events: none;
}

.cova-brand {
    position: relative;
    z-index: 2;

    width: 100%;
    min-height: calc(100vh - 106px);

    display: flex;
    flex-direction: column;
}

.cova-brand-logo {
    display: block;

    width: min(410px, 90%);
    height: auto;

    margin: 0 auto 34px;

    filter: drop-shadow(0 12px 25px rgba(0,0,0,.50));
}

.cova-brand-title {
    margin: 0;

    color: #ffffff;

    font-size: clamp(34px, 3.2vw, 54px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.8px;

    text-align: center;

    text-shadow: 0 4px 18px rgba(0,0,0,.45);
}

.cova-brand-title strong {
    display: block;
    margin-top: 4px;

    font-weight: 600;
}

.cova-brand-sic {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;

    margin: 22px auto 26px;

    width: min(360px, 90%);

    color: rgba(255,255,255,.82);

    font-size: 25px;
    font-weight: 300;
    letter-spacing: 12px;
}

.cova-brand-sic:before,
.cova-brand-sic:after {
    content: "";

    height: 1px;
    flex: 1;

    background: rgba(255,255,255,.30);
}

.cova-brand-security {
    display: flex;
    align-items: center;
    gap: 17px;

    width: min(420px, 100%);

    margin: 0 auto;
    padding: 20px 8px 22px;

    color: rgba(255,255,255,.95);

    font-size: 20px;
    font-weight: 400;

    border-bottom: 1px solid rgba(255,255,255,.12);
}

.cova-brand-security-icon {
    width: 44px;
    height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 44px;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 13px;

    color: #ffffff;

    font-size: 21px;
}

.cova-brand-features {
    width: min(420px, 100%);

    margin: 17px auto 0;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    color: rgba(255,255,255,.61);

    font-size: 14px;
    font-weight: 300;
}

.cova-brand-features span:not(:last-child):after {
    content: "•";
    margin-left: 20px;

    color: rgba(255,255,255,.40);
}

.cova-brand-spacer {
    flex: 1;
    min-height: 165px;
}


/* ============================================================
   FORMULARIO
   ============================================================ */

body.lockscreen form[name="frmLogin"] {
    position: relative;

    flex: 0 1 590px !important;

    width: min(590px, calc(54vw - 90px)) !important;
    max-width: 590px !important;

    margin: auto !important;
    padding: 52px 48px 44px !important;

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            rgba(27,31,36,.94),
            rgba(14,17,20,.95)
        ) !important;

    box-shadow:
        0 30px 80px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.025);

    backdrop-filter: blur(16px);
}

.cova-user-badge {
    width: 76px;
    height: 76px;

    margin: 0 auto 19px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;

    background: rgba(0,0,0,.15);

    box-shadow:
        0 12px 30px rgba(0,0,0,.18),
        inset 0 0 24px rgba(255,255,255,.015);

    color: rgba(255,255,255,.88);

    font-size: 29px;
}

body.lockscreen .login100-form-title {
    display: block !important;

    width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    color: #ffffff !important;

    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    text-align: center !important;
}

.cova-login-subtitle {
    margin: 9px 0 31px;

    color: rgba(255,255,255,.58);

    font-size: 15px;
    font-weight: 300;

    text-align: center;
}


/* ============================================================
   INPUTS
   ============================================================ */

body.lockscreen .wrap-input100 {
    position: relative !important;

    width: 100% !important;

    margin: 0 0 17px !important;
}

body.lockscreen .input100 {
    width: 100% !important;
    height: 68px !important;

    padding: 0 54px 0 57px !important;

    color: #f7f7f7 !important;

    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;

    outline: none !important;

    border: 1px solid rgba(255,255,255,.17) !important;
    border-radius: 11px !important;

    background: rgba(4,7,10,.23) !important;

    box-shadow: none !important;

    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease !important;
}

body.lockscreen .input100::placeholder {
    color: rgba(255,255,255,.43) !important;
    opacity: 1;
}

body.lockscreen .input100:focus {
    border-color: rgba(135,175,231,.63) !important;

    background: rgba(7,10,14,.38) !important;

    box-shadow:
        0 0 0 3px rgba(82,135,210,.09) !important;
}

body.lockscreen .symbol-input100 {
    position: absolute !important;

    left: 19px !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    width: auto !important;

    color: rgba(255,255,255,.82) !important;

    font-size: 19px !important;

    pointer-events: none;
}

.cova-password-toggle {
    position: absolute;

    z-index: 3;

    right: 17px;
    top: 50%;

    width: 38px;
    height: 38px;

    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    outline: none;

    background: transparent;

    color: rgba(255,255,255,.82);

    font-size: 18px;

    cursor: pointer;

    transition: color .18s ease;
}

.cova-password-toggle:hover,
.cova-password-toggle:focus {
    color: #ffffff;
}

.cova-caps-warning {
    display: none;

    margin: -6px 0 13px;

    color: #efb34e;

    font-size: 12px;
    font-weight: 400;
}

.cova-caps-warning.is-visible {
    display: block;
}


/* ============================================================
   BOTON
   ============================================================ */

body.lockscreen .container-login100-form-btn {
    width: 100% !important;

    margin: 14px 0 0 !important;
    padding: 0 !important;
}

body.lockscreen .login100-form-btn {
    width: 100% !important;
    height: 66px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: relative;

    padding: 0 58px !important;

    border: 0 !important;
    border-radius: 9px !important;

    color: #101214 !important;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f0f1f2
        ) !important;

    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;

    box-shadow:
        0 11px 25px rgba(0,0,0,.22),
        inset 0 1px 0 #ffffff !important;

    cursor: pointer;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background .16s ease !important;
}

body.lockscreen .login100-form-btn:hover {
    transform: translateY(-1px);

    background: #ffffff !important;

    box-shadow:
        0 15px 32px rgba(0,0,0,.28) !important;
}

body.lockscreen .login100-form-btn:active {
    transform: translateY(0);
}

.cova-btn-arrow {
    position: absolute;
    right: 23px;

    font-size: 29px;
    font-weight: 300;
    line-height: 1;
}

.login100-form-btn.is-loading {
    cursor: wait;
}


/* ============================================================
   AVISOS
   ============================================================ */

.cova-authorized {
    position: relative;

    margin: 29px 0 0;
    padding: 28px 0 0;

    color: rgba(255,255,255,.52);

    font-size: 13px;
    font-weight: 300;

    text-align: center;

    border-top: 1px solid rgba(255,255,255,.10);
}

.cova-authorized-icon {
    position: absolute;

    width: 31px;
    height: 31px;

    left: 50%;
    top: -16px;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: rgba(255,255,255,.55);
    background: #171a1e;

    font-size: 13px;
}

.cova-2fa-note {
    width: 100%;

    margin: 26px 0 0;
    padding: 16px 17px;

    display: flex;
    align-items: center;
    gap: 14px;

    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;

    background: rgba(255,255,255,.018);

    color: rgba(255,255,255,.82);
}

.cova-2fa-shield {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 20px;
}

.cova-2fa-copy {
    min-width: 0;
    flex: 1;
}

.cova-2fa-title {
    margin: 0 0 2px;

    color: rgba(255,255,255,.92);

    font-size: 12px;
    font-weight: 600;
}

.cova-2fa-text {
    margin: 0;

    color: rgba(255,255,255,.49);

    font-size: 11px;
    font-weight: 300;
}

.cova-2fa-badge {
    flex: 0 0 auto;

    padding: 6px 9px;

    border-radius: 6px;

    background: rgba(255,255,255,.07);

    color: rgba(255,255,255,.70);

    font-size: 11px;
    font-weight: 600;
}


/* ============================================================
   TEXTOS LEGACY DENTRO DEL FORM
   ============================================================ */

body.lockscreen form[name="frmLogin"] .text-center {
    color: rgba(255,255,255,.55) !important;
}

body.lockscreen form[name="frmLogin"] .text-center a {
    color: rgba(255,255,255,.75) !important;
}


/* ============================================================
   FOOTER
   ============================================================ */

.cova-login-footer {
    margin: 28px 0 -7px;

    color: rgba(255,255,255,.38);

    font-size: 12px;
    font-weight: 300;
    line-height: 1.65;

    text-align: center;
}

.cova-login-footer strong {
    display: block;

    color: rgba(255,255,255,.56);

    font-size: 13px;
    font-weight: 400;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1100px) {

    body.lockscreen .login100-pic {
        flex-basis: 43% !important;
        width: 43% !important;
        max-width: 43% !important;

        padding-left: 38px !important;
        padding-right: 38px !important;
    }

    body.lockscreen form[name="frmLogin"] {
        width: min(540px, calc(57vw - 56px)) !important;

        margin-left: 28px !important;
        margin-right: 28px !important;
    }

    .cova-brand-title {
        font-size: 38px;
    }
}


@media (max-width: 850px) {

    body.lockscreen .wrap-login100 {
        display: block !important;
    }

    body.lockscreen .login100-pic {
        width: 100% !important;
        max-width: none !important;
        min-height: auto !important;

        padding: 28px 22px 30px !important;

        background:
            linear-gradient(
                180deg,
                rgba(3,5,7,.84),
                rgba(3,5,7,.94)
            ),
            url('/img/blur-background09.jpg') center / cover no-repeat !important;
    }

    .cova-brand {
        min-height: auto;
    }

    .cova-brand-logo {
        width: 245px;
        max-width: 72%;

        margin-bottom: 16px;
    }

    .cova-brand-title {
        font-size: 29px;
    }

    .cova-brand-title strong {
        display: inline;
    }

    .cova-brand-sic {
        margin-top: 13px;
        margin-bottom: 13px;

        font-size: 17px;
        letter-spacing: 7px;
    }

    .cova-brand-security,
    .cova-brand-features,
    .cova-brand-spacer {
        display: none;
    }

    body.lockscreen form[name="frmLogin"] {
        width: calc(100% - 30px) !important;
        max-width: 560px !important;

        margin: 24px auto 32px !important;
        padding: 38px 26px 31px !important;
    }
}


@media (max-width: 480px) {

    body.lockscreen .login100-pic {
        padding-top: 22px !important;
        padding-bottom: 23px !important;
    }

    .cova-brand-logo {
        width: 210px;
    }

    .cova-brand-title {
        font-size: 25px;
    }

    body.lockscreen form[name="frmLogin"] {
        border-radius: 18px;

        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .cova-user-badge {
        width: 64px;
        height: 64px;

        font-size: 25px;
    }

    body.lockscreen .login100-form-title {
        font-size: 27px !important;
    }

    body.lockscreen .input100 {
        height: 61px !important;
    }

    body.lockscreen .login100-form-btn {
        height: 61px !important;
    }

    .cova-2fa-note {
        align-items: flex-start;
    }
}


/* ============================================================
   REDUCIR MOVIMIENTO
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    *,
    *:before,
    *:after {
        transition: none !important;
        animation: none !important;
    }
}


/* ============================================================
   COVA LOGIN - MOBILE TOP V2
   Login arriba en celular.
   Escritorio NO cambia.
   ============================================================ */

@media (max-width: 850px) {

    html.lockscreen,
    body.lockscreen {
        min-height: 100%;
        background: #111419 !important;
    }

    body.lockscreen .container-login100 {
        min-height: 100vh !important;
        align-items: flex-start !important;
    }

    body.lockscreen .wrap-login100 {
        min-height: 100vh !important;

        display: flex !important;
        flex-direction: column !important;

        padding: 0 !important;
    }


    /*
     * Marca muy compacta.
     * Solo dejamos visible el logo.
     */

    body.lockscreen .login100-pic {
        order: 1 !important;

        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        height: auto !important;

        padding: 12px 20px 6px !important;

        background:
            linear-gradient(
                180deg,
                rgba(4,6,8,.96),
                rgba(8,10,13,.92)
            ) !important;

        border-right: 0 !important;
        border-bottom: 0 !important;
    }

    body.lockscreen .login100-pic:before,
    body.lockscreen .login100-pic:after {
        display: none !important;
    }

    .cova-brand {
        min-height: 0 !important;
        height: auto !important;
    }

    .cova-brand-logo {
        width: 175px !important;
        max-width: 62% !important;

        margin: 0 auto !important;

        display: block !important;
    }


    /*
     * En movil quitamos textos grandes
     * para subir inmediatamente el formulario.
     */

    .cova-brand-title,
    .cova-brand-sic,
    .cova-brand-security,
    .cova-brand-features,
    .cova-brand-spacer {
        display: none !important;
    }


    /*
     * Login inmediatamente debajo del logo.
     */

    body.lockscreen form[name="frmLogin"] {
        order: 2 !important;

        width: calc(100% - 24px) !important;
        max-width: 520px !important;

        margin: 4px auto 18px !important;
        padding: 24px 22px 25px !important;

        border-radius: 18px !important;
    }

    .cova-user-badge {
        width: 54px !important;
        height: 54px !important;

        margin-bottom: 10px !important;

        font-size: 22px !important;
    }

    body.lockscreen .login100-form-title {
        font-size: 25px !important;
    }

    .cova-login-subtitle {
        margin-top: 5px !important;
        margin-bottom: 19px !important;

        font-size: 13px !important;
    }

    body.lockscreen .wrap-input100 {
        margin-bottom: 12px !important;
    }

    body.lockscreen .input100 {
        height: 57px !important;

        font-size: 15px !important;
    }

    body.lockscreen .login100-form-btn {
        height: 57px !important;
    }

    body.lockscreen .container-login100-form-btn {
        margin-top: 8px !important;
    }

    .cova-authorized {
        margin-top: 23px !important;
        padding-top: 23px !important;
    }

    .cova-2fa-note {
        margin-top: 18px !important;
    }

    .cova-login-footer {
        margin-top: 18px !important;
    }
}


@media (max-width: 480px) {

    body.lockscreen .login100-pic {
        padding-top: 8px !important;
        padding-bottom: 3px !important;
    }

    .cova-brand-logo {
        width: 145px !important;
    }

    body.lockscreen form[name="frmLogin"] {
        width: calc(100% - 18px) !important;

        margin-top: 3px !important;

        padding:
            20px
            17px
            22px !important;
    }

    .cova-user-badge {
        width: 48px !important;
        height: 48px !important;

        font-size: 20px !important;
    }

    body.lockscreen .login100-form-title {
        font-size: 23px !important;
    }

    .cova-login-subtitle {
        margin-bottom: 15px !important;
    }

    body.lockscreen .input100 {
        height: 54px !important;
    }

    body.lockscreen .login100-form-btn {
        height: 54px !important;
    }

    .cova-2fa-note {
        padding: 13px !important;
    }
}


/* ============================================================
   COVA LOGIN - BRILLO PREMIUM V3
   SOLO VISUAL
   ============================================================ */


/* Fondo derecho ligeramente mas definido */

body.lockscreen {
    background:
        radial-gradient(
            circle at 77% 18%,
            rgba(67,120,196,.10),
            transparent 30%
        ),
        radial-gradient(
            circle at 87% 74%,
            rgba(72,111,166,.08),
            transparent 32%
        ),
        #14181d !important;
}


/* ============================================================
   PANEL IZQUIERDO
   Reducimos un poco la capa negra para revelar mejor imagen.
   ============================================================ */

body.lockscreen .login100-pic {

    background:
        linear-gradient(
            180deg,
            rgba(3,6,10,.49) 0%,
            rgba(3,6,10,.59) 45%,
            rgba(2,4,7,.73) 100%
        ),
        url('/img/blur-background09.jpg')
        center bottom / cover no-repeat !important;

}


/* Luz ambiental suave */

body.lockscreen .login100-pic:before {

    display: block !important;

    background:
        radial-gradient(
            circle at 50% 17%,
            rgba(44,112,226,.14),
            transparent 34%
        ),
        radial-gradient(
            circle at 48% 84%,
            rgba(128,174,234,.11),
            transparent 31%
        ),
        linear-gradient(
            110deg,
            rgba(0,0,0,.06),
            transparent 54%,
            rgba(0,0,0,.17)
        ) !important;

}


/* ============================================================
   LOGO
   ============================================================ */

.cova-brand-logo {

    filter:
        brightness(1.08)
        contrast(1.06)
        saturate(1.10)
        drop-shadow(
            0 0 7px rgba(80,145,255,.28)
        )
        drop-shadow(
            0 13px 27px rgba(0,0,0,.42)
        ) !important;

}


/* Titulo ligeramente mas limpio */

.cova-brand-title {

    color: #ffffff !important;

    text-shadow:
        0 2px 8px rgba(255,255,255,.04),
        0 5px 20px rgba(0,0,0,.42) !important;

}


.cova-brand-sic {

    color: rgba(240,245,255,.88) !important;

}


/* ============================================================
   ESCUDO DE SEGURIDAD
   ============================================================ */

.cova-brand-security-icon {

    color: #dceaff !important;

    border-color:
        rgba(113,167,244,.56) !important;

    box-shadow:
        0 0 17px rgba(42,115,228,.17),
        inset 0 0 12px rgba(80,145,255,.06);

}


/* ============================================================
   TARJETA LOGIN
   ============================================================ */

body.lockscreen form[name="frmLogin"] {

    border-color:
        rgba(182,208,240,.20) !important;

    background:
        linear-gradient(
            145deg,
            rgba(26,32,40,.96),
            rgba(12,16,21,.96)
        ) !important;

    box-shadow:
        0 32px 85px rgba(0,0,0,.40),
        0 0 55px rgba(44,95,167,.045),
        inset 0 1px 0 rgba(255,255,255,.035)
        !important;

}


/* Icono superior */

.cova-user-badge {

    border-color:
        rgba(157,190,231,.20) !important;

    color:
        rgba(239,246,255,.93) !important;

    box-shadow:
        0 12px 32px rgba(0,0,0,.20),
        0 0 24px rgba(57,123,217,.065),
        inset 0 0 25px rgba(255,255,255,.02)
        !important;

}


/* ============================================================
   INPUTS
   ============================================================ */

body.lockscreen .input100 {

    border-color:
        rgba(190,211,239,.20) !important;

    background:
        rgba(4,8,13,.30) !important;

}


body.lockscreen .input100:hover {

    border-color:
        rgba(190,211,239,.28) !important;

}


body.lockscreen .input100:focus {

    border-color:
        rgba(111,166,243,.72) !important;

    box-shadow:
        0 0 0 3px rgba(66,126,213,.10),
        0 0 17px rgba(50,111,199,.07)
        !important;

}


/* ============================================================
   BOTON
   ============================================================ */

body.lockscreen .login100-form-btn {

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f4f6f9 100%
        ) !important;

    box-shadow:
        0 13px 30px rgba(0,0,0,.27),
        0 0 21px rgba(188,217,255,.055),
        inset 0 1px 0 #ffffff
        !important;

}


body.lockscreen .login100-form-btn:hover {

    box-shadow:
        0 17px 35px rgba(0,0,0,.31),
        0 0 27px rgba(156,199,255,.10)
        !important;

}


/* ============================================================
   TARJETA 2FA
   ============================================================ */

.cova-2fa-note {

    border-color:
        rgba(160,194,236,.18) !important;

    background:
        rgba(112,157,216,.025) !important;

}


.cova-2fa-shield {

    color: #dceaff !important;

    text-shadow:
        0 0 12px rgba(65,132,231,.22);

}


/* ============================================================
   MOVIL
   Conservamos exactamente el login arriba.
   Solo dejamos un brillo discreto en el logo.
   ============================================================ */

@media (max-width: 850px) {

    body.lockscreen .login100-pic {

        background:
            linear-gradient(
                180deg,
                rgba(5,9,14,.96),
                rgba(8,12,17,.94)
            ) !important;

    }


    body.lockscreen .login100-pic:before,
    body.lockscreen .login100-pic:after {

        display: none !important;

    }


    .cova-brand-logo {

        filter:
            brightness(1.08)
            contrast(1.05)
            saturate(1.08)
            drop-shadow(
                0 0 8px rgba(70,140,255,.22)
            )
            !important;

    }

}


/* ============================================================
   FIN BRILLO PREMIUM V3
   ============================================================ */


/* ============================================================
   COVA LOGIN - DETALLES PREMIUM V4
   ============================================================ */


/* Entrada elegante de tarjeta */

@keyframes covaLoginEntrada {

    0% {
        opacity: 0;
        transform: translateY(13px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }

}


body.lockscreen form[name="frmLogin"] {

    animation:
        covaLoginEntrada
        .32s
        ease-out
        both;

}


/* Entrada del logo */

@keyframes covaLogoEntrada {

    0% {
        opacity: 0;
        transform: translateY(-7px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }

}


.cova-brand-logo {

    animation:
        covaLogoEntrada
        .38s
        ease-out
        both;

}


/* ============================================================
   ESTADO DE CONEXION
   ============================================================ */

.cova-system-status {

    margin: 18px 0 3px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    color: rgba(255,255,255,.50);

    font-size: 11px;
    font-weight: 300;

}


.cova-system-dot {

    width: 7px;
    height: 7px;

    display: inline-block;

    border-radius: 50%;

    background: #6f7780;

}


.cova-system-status.is-secure
.cova-system-dot {

    background: #41c978;

    box-shadow:
        0 0 7px rgba(65,201,120,.55);

}


.cova-system-status.is-secure {

    color: rgba(202,235,216,.70);

}


/* ============================================================
   VERSION
   ============================================================ */

.cova-system-version {

    margin-top: 5px;

    color: rgba(255,255,255,.27);

    font-size: 10px;

    letter-spacing: .5px;

}


/* ============================================================
   MOVIL
   Mantener todo compacto y arriba
   ============================================================ */

@media (max-width: 850px) {

    .cova-system-status {

        margin-top: 13px;

    }

    .cova-login-footer {

        margin-top: 14px !important;

    }

}


/* Respeta usuarios que prefieren menos movimiento */

@media (prefers-reduced-motion: reduce) {

    body.lockscreen form[name="frmLogin"],
    .cova-brand-logo {

        animation: none !important;

    }

}


/* ============================================================
   FIN DETALLES PREMIUM V4
   ============================================================ */


/* ============================================================
   COVA LOGIN PREMIUM V5
   Saludo + reloj + spinner + focus glow + logo shine
   ============================================================ */


/* ------------------------------------------------------------
   SALUDO DINAMICO
   ------------------------------------------------------------ */

.cova-dynamic-greeting {

    margin: 0 0 5px;

    color: rgba(145,190,248,.82);

    font-size: 12px;
    font-weight: 500;

    letter-spacing: .6px;
    text-transform: uppercase;

    text-align: center;

}


/* ------------------------------------------------------------
   FECHA Y HORA
   ------------------------------------------------------------ */

.cova-date-time {

    margin: 8px 0 0;

    color: rgba(255,255,255,.35);

    font-size: 10px;
    font-weight: 300;

    letter-spacing: .25px;

    text-align: center;

}

.cova-date-time-clock {

    color: rgba(201,220,245,.54);

    font-weight: 400;

}


/* ------------------------------------------------------------
   SPINNER BOTON
   ------------------------------------------------------------ */

.cova-btn-spinner {

    width: 15px;
    height: 15px;

    display: none;

    margin-right: 10px;

    border: 2px solid rgba(15,20,25,.22);
    border-top-color: #101214;
    border-radius: 50%;

    animation:
        covaSpinner .68s
        linear
        infinite;

}


.login100-form-btn.cova-is-processing
.cova-btn-spinner {

    display: inline-block;

}


.login100-form-btn.cova-is-processing
.cova-btn-arrow {

    opacity: .35;

}


@keyframes covaSpinner {

    to {
        transform: rotate(360deg);
    }

}


/* ------------------------------------------------------------
   GLOW AL ENFOCAR INPUTS
   ------------------------------------------------------------ */

body.lockscreen form[name="frmLogin"] {

    transition:
        border-color .20s ease,
        box-shadow .20s ease !important;

}


body.lockscreen form[name="frmLogin"].cova-form-focus {

    border-color:
        rgba(92,154,240,.36) !important;

    box-shadow:
        0 32px 85px rgba(0,0,0,.40),
        0 0 0 1px rgba(78,144,234,.07),
        0 0 45px rgba(42,107,205,.09),
        inset 0 1px 0 rgba(255,255,255,.04)
        !important;

}


/* Input activo */

body.lockscreen .wrap-input100.cova-input-focus
.input100 {

    border-color:
        rgba(102,166,250,.78) !important;

    box-shadow:
        0 0 0 3px rgba(73,135,220,.11),
        0 0 19px rgba(51,119,215,.10)
        !important;

}


body.lockscreen .wrap-input100.cova-input-focus
.symbol-input100 {

    color: #bcd8ff !important;

}


/* ------------------------------------------------------------
   DESTELLO LENTO LOGO COVA
   ------------------------------------------------------------ */

.cova-brand-logo {

    position: relative;

    animation:
        covaLogoRespira
        7s
        ease-in-out
        infinite !important;

}


@keyframes covaLogoRespira {

    0%,
    100% {

        filter:
            brightness(1.08)
            contrast(1.06)
            saturate(1.10)
            drop-shadow(
                0 0 7px rgba(80,145,255,.25)
            )
            drop-shadow(
                0 13px 27px rgba(0,0,0,.42)
            );

    }

    48% {

        filter:
            brightness(1.14)
            contrast(1.08)
            saturate(1.14)
            drop-shadow(
                0 0 13px rgba(91,159,255,.40)
            )
            drop-shadow(
                0 15px 30px rgba(0,0,0,.40)
            );

    }

    55% {

        filter:
            brightness(1.11)
            contrast(1.07)
            saturate(1.12)
            drop-shadow(
                0 0 9px rgba(112,177,255,.31)
            )
            drop-shadow(
                0 14px 28px rgba(0,0,0,.41)
            );

    }

}


/* ------------------------------------------------------------
   MOVIL
   Mantener formulario arriba
   ------------------------------------------------------------ */

@media (max-width: 850px) {

    .cova-dynamic-greeting {

        margin-bottom: 3px;

        font-size: 10px;

    }


    .cova-date-time {

        margin-top: 6px;

        font-size: 9px;

    }


    .cova-brand-logo {

        animation:
            covaLogoRespiraMovil
            7s
            ease-in-out
            infinite !important;

    }

}


@keyframes covaLogoRespiraMovil {

    0%,
    100% {

        filter:
            brightness(1.08)
            contrast(1.05)
            saturate(1.08)
            drop-shadow(
                0 0 7px rgba(70,140,255,.20)
            );

    }

    50% {

        filter:
            brightness(1.13)
            contrast(1.07)
            saturate(1.12)
            drop-shadow(
                0 0 11px rgba(85,154,255,.32)
            );

    }

}


/* ------------------------------------------------------------
   REDUCIR MOVIMIENTO
   ------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {

    .cova-brand-logo,
    .cova-btn-spinner {

        animation: none !important;

    }

}


/* ============================================================
   FIN COVA LOGIN PREMIUM V5
   ============================================================ */


/* ============================================================
   COVA LOGIN PREMIUM V6
   Avatar dinamico COVA / inicial usuario
   ============================================================ */

.cova-user-badge {

    position: relative !important;

    overflow: visible !important;

    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease !important;

}


/* Letra C / inicial */

.cova-avatar-letter {

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #eaf3ff;

    font-size: 28px;
    font-weight: 600;
    line-height: 1;

    text-shadow:
        0 0 10px rgba(91,158,255,.35);

    transition:
        color .18s ease,
        text-shadow .18s ease,
        transform .18s ease;

}


/* Glow cuando Usuario tiene foco */

.cova-user-badge.cova-avatar-focus {

    border-color:
        rgba(103,168,255,.65) !important;

    box-shadow:
        0 0 0 3px rgba(72,135,224,.08),
        0 0 23px rgba(55,124,221,.18),
        inset 0 0 22px rgba(72,135,224,.04)
        !important;

    transform: translateY(-1px);

}


.cova-user-badge.cova-avatar-focus
.cova-avatar-letter {

    color: #ffffff;

    text-shadow:
        0 0 13px rgba(102,171,255,.58);

}


/* Punto verde HTTPS */

.cova-avatar-status {

    position: absolute;

    right: 2px;
    bottom: 4px;

    width: 12px;
    height: 12px;

    border: 3px solid #171b20;
    border-radius: 50%;

    background: #737a82;

}


.cova-user-badge.cova-avatar-secure
.cova-avatar-status {

    background: #42cb79;

    box-shadow:
        0 0 8px rgba(66,203,121,.68);

}


/* Pequeño pulso al cambiar inicial */

.cova-user-badge.cova-avatar-change
.cova-avatar-letter {

    animation:
        covaAvatarChange
        .23s
        ease-out;

}


@keyframes covaAvatarChange {

    0% {
        opacity: .45;
        transform: scale(.82);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }

}


/* Estado ingresando */

.cova-user-badge.cova-avatar-login
.cova-avatar-letter {

    font-size: 0;

}


.cova-user-badge.cova-avatar-login
.cova-avatar-letter:before {

    content: "\f023";

    font-family: FontAwesome;

    font-size: 24px;

    color: #eaf3ff;

    animation:
        covaLockPulse
        1s
        ease-in-out
        infinite;

}


@keyframes covaLockPulse {

    0%,
    100% {
        opacity: .70;
        transform: scale(.96);
    }

    50% {
        opacity: 1;
        transform: scale(1.04);
    }

}


/* Movil */

@media (max-width: 850px) {

    .cova-avatar-letter {
        font-size: 22px;
    }

    .cova-avatar-status {
        width: 11px;
        height: 11px;

        right: 0;
        bottom: 2px;
    }

}


@media (max-width: 480px) {

    .cova-avatar-letter {
        font-size: 20px;
    }

}


/* Respeta reducir movimiento */

@media (prefers-reduced-motion: reduce) {

    .cova-user-badge.cova-avatar-change
    .cova-avatar-letter,

    .cova-user-badge.cova-avatar-login
    .cova-avatar-letter:before {

        animation: none !important;

    }

}


/* ============================================================
   FIN COVA LOGIN PREMIUM V6
   ============================================================ */


/* ==========================================================
   COVA LOGIN - ALERTA PREMIUM V7
   ========================================================== */

.swal2-popup.cova-login-alert {
    width: min(430px, calc(100vw - 32px)) !important;
    padding: 32px 30px 28px !important;

    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 20px !important;

    background:
        linear-gradient(
            180deg,
            rgba(24,29,36,.99),
            rgba(13,17,22,.99)
        ) !important;

    box-shadow:
        0 28px 80px rgba(0,0,0,.58),
        0 0 45px rgba(42,117,255,.08) !important;

    color: #fff !important;
}

.swal2-icon.cova-login-alert-icon {
    margin: 2px auto 22px !important;
    transform: scale(.86);

    border-color:
        rgba(255,100,110,.82) !important;

    color: #ff737d !important;
}

.cova-login-alert-title {
    margin: 0 0 11px !important;
    padding: 0 !important;

    color: #f7f9fc !important;

    font-size: 23px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.cova-login-alert-text {
    margin: 0 auto !important;
    padding: 0 !important;

    color: #aeb8c5 !important;

    font-size: 14px !important;
    line-height: 1.6 !important;
}

.cova-login-alert-button {
    min-width: 180px;

    margin-top: 24px;
    padding: 13px 22px;

    border:
        1px solid
        rgba(255,255,255,.14);

    border-radius: 10px;

    background:
        linear-gradient(
            180deg,
            #f8fafc,
            #dfe6ee
        );

    color: #11161c;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 10px 25px
        rgba(0,0,0,.28);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.cova-login-alert-button:hover {
    transform: translateY(-1px);

    box-shadow:
        0 13px 30px
        rgba(0,0,0,.36);
}

.cova-login-alert-button:focus {
    outline: none;

    box-shadow:
        0 0 0 4px
        rgba(65,145,255,.18),
        0 13px 30px
        rgba(0,0,0,.36);
}

@media (max-width: 600px) {

    .swal2-popup.cova-login-alert {
        padding:
            27px 22px
            24px !important;
    }

    .cova-login-alert-title {
        font-size: 20px !important;
    }

    .cova-login-alert-button {
        width: 100%;
    }
}
