/* =========================
   VARIABLES
========================= */

:root{
    --med-blue:#2b6cb0;
    --med-blue-dark:#1a4f86;
    --med-cyan:#5cc8ff;
    --med-bg:#f5f8fc;
    --med-card:#ffffff;
    --med-text:#2d3748;
    --med-muted:#718096;
}

/* =========================
   BASE
========================= */

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:'Inter', system-ui, -apple-system, sans-serif;
    background:linear-gradient(135deg,#eef4ff,#f8fbff);
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* =========================
   WRAPPER
========================= */

.login-wrapper{
    width:100%;
    max-width:1100px;
    height:640px;
    display:grid;
    grid-template-columns:1fr 1fr;
    background:white;
    border-radius:22px;
    overflow:hidden;
    box-shadow:
        0 40px 80px rgba(0,0,0,0.08),
        0 10px 25px rgba(0,0,0,0.05);
}

/* =========================
   PANEL IZQUIERDO
========================= */

.login-left{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:60px;
    background:white;
}

.login-card{
    width:100%;
    max-width:360px;
}

.login-card h2{
    font-size:26px;
    font-weight:700;
    color:var(--med-text);
    margin-bottom:8px;
}

.login-card p{
    color:var(--med-muted);
    margin-bottom:35px;
}

/* =========================
   FORM
========================= */

.form-label{
    font-weight:600;
    color:var(--med-text);
}

.form-control{
    border-radius:10px;
    padding:12px 14px;
    border:1px solid #e2e8f0;
    transition:.25s;
}

.form-control:focus{
    border-color:var(--med-blue);
    box-shadow:0 0 0 3px rgba(43,108,176,0.15);
}

/* input group */

.input-group .btn{
    border-radius:0 10px 10px 0;
}

/* =========================
   BOTÓN
========================= */

.btn-login{
    width:100%;
    border:none;
    padding:14px;
    border-radius:10px;
    font-weight:600;
    font-size:15px;
    margin-top:10px;

    background:linear-gradient(135deg,var(--med-blue),var(--med-cyan));
    color:white;

    transition:.25s;
}

.btn-login:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

/* =========================
   PANEL DERECHO
========================= */

.login-right{
    position:relative;
    background:linear-gradient(135deg,var(--med-blue-dark),var(--med-blue));
    color:white;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:60px;
}

.login-right::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    background:rgba(255,255,255,0.05);
    border-radius:50%;
    top:-120px;
    right:-120px;
}

.login-right::after{
    content:"";
    position:absolute;
    width:300px;
    height:300px;
    background:rgba(255,255,255,0.07);
    border-radius:50%;
    bottom:-120px;
    left:-120px;
}

.login-right h1{
    font-size:40px;
    font-weight:700;
    letter-spacing:1px;
}

.login-right p{
    margin-top:12px;
    opacity:.85;
    font-size:16px;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:900px){

.login-wrapper{
    grid-template-columns:1fr;
    height:auto;
}

.login-right{
    display:none;
}

.login-left{
    padding:40px;
}

}