/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
body{
    font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
    background:#f5f7fb;
    height:100vh;
    overflow:hidden;
    color:#1e293b;
}

/* ===========================
   CONTENEDOR PRINCIPAL
=========================== */
.login-page{
    display:flex;
    height:100vh;
    overflow:hidden;
}

/* ===========================
   PANEL IZQUIERDO
=========================== */
.login-left{

    width:50%;

    background:linear-gradient(135deg,#1e1b4b,#0A2A6B);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px 70px;

}
.left-content{

    width:100%;

    max-width:500px;

    margin-left:40px;

}


/* LOGO */

.company-logo{

    width:230px;

    max-width:100%;

    display:block;

    margin-left:80px;

    margin-bottom:30px;

}


/* TITULO */

.left-content h1{

    font-size:42px;

    font-weight:700;

    margin-bottom:18px;

    line-height:1.1;

}


/* TEXTO */

.left-content p{

    font-size:18px;

    line-height:1.7;

    margin-bottom:28px;

}


/* LISTA */

.left-content ul{

    list-style:none;

    padding:0;

}


.left-content li{

    margin:18px 0;

    font-size:18px;

}


.left-content i{

    color:#72e29b;

    margin-right:12px;

    font-size:20px;

}
/* ===========================
   PANEL DERECHO
=========================== */

.login-right{
    width:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:50px;
    background:#f5f7fb;
}

/* ===========================
   TARJETA
=========================== */

.login-card{

    width:100%;
    max-width:470px;

    background:#fff;

    border-radius:20px;

    padding:45px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.08);

}

.login-card h2{

    font-size:34px;

    font-weight:700;

    color:#0A2A6B;

}

.subtitle{

    color:#64748b;

    margin-top:8px;

    margin-bottom:35px;

}

/* ===========================
   LABELS
=========================== */

.login-card label{

    display:block;

    font-weight:600;

    margin-bottom:8px;

    color:#334155;

}

/* ===========================
   INPUTS
=========================== */

.input-icon{

    position:relative;

}

.input-icon i:first-child{

    position:absolute;

    left:16px;

    top:50%;

    transform:translateY(-50%);

    color:#94a3b8;

}

.input-icon input{

    width:100%;

    height:54px;

    border:1px solid #d6dee8;

    border-radius:12px;

    padding-left:48px;

    padding-right:50px;

    font-size:15px;

    transition:.25s;

    outline:none;

}

.input-icon input:focus{

    border-color:#0A2A6B;

    box-shadow:0 0 0 4px rgba(10,42,107,.12);

}

/* ===========================
   OJO PASSWORD
=========================== */

.toggle-password{

    position:absolute;

    right:16px;

    top:50%;

    transform:translateY(-50%);

    cursor:pointer;

    color:#64748b;

}

.toggle-password:hover{

    color:#0A2A6B;

}

/* ===========================
   REMEMBER
=========================== */

.remember{

    margin-top:18px;

    margin-bottom:30px;

}

.remember label{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:500;

    cursor:pointer;

}

.remember input{

    width:18px;

    height:18px;

}

/* ===========================
   BOTON
=========================== */

.btn-login{

    width:100%;

    height:56px;

    border:none;

    border-radius:12px;

    background:#0A2A6B;

    color:#fff;

    font-size:17px;

    font-weight:600;

    transition:.25s;

}

.btn-login:hover{

    background:#164194;

    transform:translateY(-2px);

    box-shadow:0 12px 25px rgba(10,42,107,.25);

}

/* ===========================
   FOOTER
=========================== */

.footer-login{

    margin-top:35px;

    text-align:center;

    color:#64748b;

    font-size:14px;

}

.footer-login i{

    color:#0A2A6B;

    margin-right:8px;

}

/* ===========================
   ALERTA
=========================== */

.alert{

    border-radius:10px;

    margin-bottom:25px;

}


/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:992px){

    .login-page{
        flex-direction:column;
    }


    /* OCULTAR PANEL IZQUIERDO */
    .login-left{
        display:none;
    }


    /* FORMULARIO OCUPA TODA LA PANTALLA */
    .login-right{
        width:100%;
        min-height:100vh;
        padding:30px 20px;
        background:#f5f7fb;
    }


    .login-card{
        max-width:450px;
    }

}


@media(max-width:576px){

    .login-right{
        padding:20px 15px;
    }


    .login-card{

        padding:30px 25px;
        border-radius:15px;

    }


    .login-card h2{

        font-size:28px;

    }


    .subtitle{

        font-size:14px;

    }


    .input-icon input{

        height:50px;

    }


    .btn-login{

        height:52px;

    }

}

@media(max-width:576px){

.login-card{

    padding:30px 25px;

}

.login-card h2{

    font-size:28px;

}

.subtitle{

    font-size:14px;

}

.input-icon input{

    height:50px;

}

.btn-login{

    height:52px;

}

}