*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Segoe UI', sans-serif;
    background:#f4f7fb;
    overflow:hidden;
}

.login-container{
    width:100%;
    height:100vh;
    display:flex;
}

.login-right{
    width:38%;
    height:100vh;

    display:flex;

    align-items:center;

    justify-content:flex-end;

    padding-right:40px;

    background:white;

    position:relative;
    z-index:2;
}

.login-left{
    width:65%;
    height:100vh;
    background-image:url("/static/img/login-bg.webp");
    background-size:cover;
    background-position:-300px center;
    background-repeat:no-repeat;
}

.login-box{
    width:100%;
    max-width:370px;
    padding:36px 38px 40px;
    border-radius:32px;

    background:rgba(255,255,255,.88);
    border:1px solid rgba(214,226,240,.95);

    box-shadow:
        0 28px 65px rgba(15,23,42,.16),
        0 10px 28px rgba(11,95,174,.08);

    backdrop-filter:blur(8px);
}

.login-box h2{
    font-size:2rem;
    font-weight:800;
    color:#0b5fae;
    text-align:center;
    margin-bottom:8px;
}

.subtitle{
    color:#64748b;
    text-align:center;
    font-size:1rem;
    line-height:1.45;
    margin-bottom:32px;
}

.input-group-custom{
    width:100%;
    height:58px;
    border:1px solid #dbe2ea;
    border-radius:17px;
    margin-bottom:18px;
    display:flex;
    align-items:center;
    padding:0 18px;
    background:white;
    transition:.2s;
}

.input-group-custom:focus-within{
    background:white;
    border-color:#0ea5e9;
    box-shadow:0 0 0 4px rgba(14,165,233,.11);
}

.input-group-custom i{
    color:#0b5fae;
    margin-right:14px;
    font-size:1rem;
}

.input-group-custom input{
    border:none;
    outline:none;
    width:100%;
    font-size:1rem;
    background:transparent;
    color:#0f172a;
}

.input-group-custom input::placeholder{
    color:#94a3b8;
}

.btn-login{
    width:100%;
    height:58px;

    border:none;
    border-radius:17px;

    background:#0d5cab;

    color:white;

    font-size:1rem;
    font-weight:700;

    letter-spacing:.2px;

    transition:.25s;

    margin-top:8px;

    box-shadow:0 10px 24px rgba(13,92,171,.18);

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.btn-login:hover{
    background:#0b4f94;

    transform:translateY(-1px);

    box-shadow:0 14px 28px rgba(13,92,171,.22);
}

.alert{
    border-radius:16px;
    font-size:.95rem;
    margin-bottom:22px;
}

@media(max-width:1200px){
    .login-right{
        width:48%;
        padding-top:160px;
    }

    .login-left{
        width:52%;
    }

    .login-box{
        transform:translateX(35px);
    }
}

@media(max-width:992px){
    body{
        overflow:auto;
    }

    .login-left{
        display:none;
    }

    .login-right{
        width:100%;
        min-height:100vh;
        padding-top:120px;
        align-items:flex-start;
    }

    .login-box{
        transform:none;
        margin:0 20px;
    }
}

/* =====================================================
   LAPTOPS MEDIANOS
===================================================== */

@media(max-width:1600px){

    .login-right{
        width:42%;
        padding-right:20px;
    }

    .login-left{
        width:58%;
    }

    .login-box{
        max-width:360px;
    }

}

/* =====================================================
   PORTATILES 15"
===================================================== */

@media(max-width:1366px){

    .login-right{
        width:45%;
        justify-content:center;
        padding-right:0;
    }

    .login-left{
        width:55%;
    }

    .login-box{
        max-width:340px;
        padding:30px;
    }

    .login-box h2{
        font-size:1.8rem;
    }

    .subtitle{
        font-size:.95rem;
        margin-bottom:24px;
    }

    .input-group-custom{
        height:52px;
    }

    .btn-login{
        height:52px;
    }

}

/* =====================================================
   TABLETS / PORTATILES PEQUEÑOS
===================================================== */

@media(max-width:1100px){

    .login-container{
        flex-direction:column;
    }

    .login-left{
        width:100%;
        height:40vh;

        background-position:center center;
    }

    .login-right{
        width:100%;
        height:60vh;

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

        padding-top:40px;

        background:white;
    }

    .login-box{
        max-width:380px;
        margin:auto;
    }

}

/* =====================================================
   CELULARES
===================================================== */

@media(max-width:768px){

    body{
        overflow:auto;
    }

    .login-left{
        display:none;
    }

    .login-right{
        width:100%;
        height:100vh;

        padding:20px;

        align-items:center;
    }

    .login-box{
        width:100%;
        max-width:100%;

        padding:30px 24px;
    }

    .login-box h2{
        font-size:1.7rem;
    }

}



/* =====================================================
   AJUSTE PORTÁTILES 15" - NO DAÑA PANTALLA GRANDE
===================================================== */

@media(max-width:1366px){

    .login-right{
        width:42%;
        justify-content:center;
        padding-left:0;
        padding-right:0;
    }

    .login-left{
        width:58%;
        background-size:cover;
        background-position:center center;
        background-repeat:no-repeat;
    }

    .login-box{
        max-width:340px;
        transform:none;
    }

}

.input-group-custom input:-webkit-autofill,
.input-group-custom input:-webkit-autofill:hover,
.input-group-custom input:-webkit-autofill:focus,
.input-group-custom input:-webkit-autofill:active{
    -webkit-box-shadow:0 0 0 1000px white inset !important;
    box-shadow:0 0 0 1000px white inset !important;
    -webkit-text-fill-color:#0f172a !important;
    caret-color:#0f172a !important;
    transition:background-color 9999s ease-in-out 0s;
}

.input-group-custom{
    background:white !important;
}