/* RESET */

*{
    box-sizing:border-box;
}

html, body{
    height:100%;
    margin:0;
    font-family:"Segoe UI", Arial, sans-serif;
    background:#f1f5f9;
    overflow:hidden; /* khóa scroll */
}

/* WRAPPER */

.login-wrapper{
    height:100vh;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}

/* MAIN CONTAINER */

.login-container{
    width:900px;
    max-width:95%;
    height:600px;
    max-height:90vh;

    background:white;

    border-radius:14px;

    box-shadow:0 20px 60px rgba(0,0,0,0.2);

    display:flex;

    overflow:hidden;
}

/* ===================== */
/* LEFT PANEL */
/* ===================== */

.login-left{

    width:40%;

    background:linear-gradient(145deg,#0f172a,#1e3a8a);

    color:white;

    padding:40px;

    display:flex;

    flex-direction:column;

    justify-content:space-between;
}

/* BRAND */

.brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo{

    width:42px;
    height:42px;

    background:white;

    color:#1e3a8a;

    font-weight:bold;

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

    border-radius:8px;

    font-size:18px;
}

.brand h1{
    margin:0;
    font-size:18px;
}

.brand p{
    margin:0;
    font-size:11px;
    opacity:.7;
}

/* DESCRIPTION */

.desc{
    margin-top:20px;
    font-size:14px;
    line-height:1.4;
}

/* SUPPORT */

.support{

    font-size:13px;

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

    padding-top:20px;

    display:flex;
    flex-direction:column;

    gap:10px;
}

/* ===================== */
/* RIGHT PANEL */
/* ===================== */

.login-right{

    width:60%;

    padding:50px;

    display:flex;

    flex-direction:column;

    justify-content:center;
}

/* TITLE */

.login-right h2{

    margin:0 0 30px 0;

    font-size:26px;
}

/* LABEL */

label{

    font-size:13px;

    font-weight:600;

    display:block;

    margin-top:15px;
}

/* INPUT */

.input{

    width:100%;

    padding:12px;

    margin-top:5px;

    border:1px solid #ddd;

    border-radius:6px;

    font-size:16px; /* tránh zoom iOS */

    transition:0.2s;
}

.input:focus{

    border-color:#2563eb;

    outline:none;

    box-shadow:0 0 0 2px rgba(37,99,235,0.15);
}

/* REMEMBER */

.remember{

    margin-top:15px;

    font-size:14px;

    display:flex;

    align-items:center;

    gap:6px;
}

/* BUTTONS */

.buttons{

    margin-top:25px;

    display:flex;

    gap:10px;
}

/* PRIMARY BUTTON */

.btn-primary{

    flex:2;

    background:#2563eb;

    color:white;

    border:none;

    padding:12px;

    border-radius:6px;

    cursor:pointer;

    font-weight:600;

    transition:0.2s;
}

.btn-primary:hover{

    background:#1d4ed8;
}

/* SECONDARY BUTTON */

.btn-secondary{

    flex:1;

    background:#e5e7eb;

    border:none;

    padding:12px;

    border-radius:6px;

    cursor:pointer;

    font-weight:600;
}

.btn-secondary:hover{

    background:#d1d5db;
}

/* ===================== */
/* TABLET */
/* ===================== */

@media (max-width:1024px){

    .login-container{
        width:95%;
    }

}

/* ===================== */
/* MOBILE */
/* ===================== */

@media (max-width:768px){

    html, body{
        overflow:hidden;
    }

    .login-wrapper{
        height:100dvh;
    }

    /* STACK LAYOUT */

    .login-container{

        flex-direction:column;

        height:auto;

        max-height:95dvh;
    }

    /* LEFT PANEL */

    .login-left{

        width:100%;

        padding:25px;

        text-align:center;
    }

    /* CENTER BRAND */

    .brand{

        justify-content:center;
    }

    /* HIDE DESCRIPTION */

    .desc{
        display:none;
    }

    /* HIDE SUPPORT */

    .support{
        display:none;
    }

    /* LOGO BIGGER */

    .logo{

        width:46px;
        height:46px;

        font-size:20px;
    }

    /* RIGHT PANEL */

    .login-right{

        width:100%;

        padding:25px;
    }

    /* TITLE CENTER */

    .login-right h2{

        text-align:center;

        margin-bottom:20px;
    }

    /* INPUT MOBILE */

    .input{

        padding:14px;
    }

    /* BUTTON STACK */

    .buttons{

        flex-direction:column;

        gap:12px;
    }

    .btn-primary,
    .btn-secondary{

        width:100%;

        padding:14px;

        font-size:15px;
    }

}