/* ==========================================================
                MODULE LOGIN MODAL
========================================================== */

.module-login-overlay{

    position:fixed;

    inset:0;

    background:rgba(15,23,42,0.65);

    backdrop-filter:blur(7px);

    display:flex;

    align-items:center;

    justify-content:center;

    padding:20px;

    opacity:0;

    visibility:hidden;

    transition:all .3s ease;

    z-index:9999;

}


.module-login-overlay.show{

    opacity:1;

    visibility:visible;

}


/* ==========================================================
                LOGIN BOX
========================================================== */

.module-login-box{

    position:relative;

    width:100%;

    max-width:430px;

    background:#ffffff;

    border-radius:24px;

    padding:38px;

    box-shadow:
        0 25px 70px rgba(0,0,0,.20);

    transform:translateY(20px) scale(.96);

    transition:all .3s ease;

}


.module-login-overlay.show
.module-login-box{

    transform:translateY(0) scale(1);

}


/* ==========================================================
                CLOSE
========================================================== */

.module-login-close{

    position:absolute;

    top:16px;

    right:18px;

    width:36px;

    height:36px;

    border:none;

    border-radius:50%;

    background:#f1f5f9;

    color:#475569;

    font-size:22px;

    cursor:pointer;

    transition:.2s;

}


.module-login-close:hover{

    background:#e2e8f0;

    transform:rotate(90deg);

}


/* ==========================================================
                ICON
========================================================== */

.module-login-icon{

    width:68px;

    height:68px;

    margin:0 auto 18px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        #06b6d4,
        #46d9e3
    );

    color:#ffffff;

    font-size:28px;

    box-shadow:
        0 10px 25px rgba(6,182,212,.25);

}


/* ==========================================================
                TITLE
========================================================== */

.module-login-box h2{

    text-align:center;

    margin:0;

    font-size:25px;

    font-weight:700;

    color:#1e293b;

}


.module-login-box > p{

    text-align:center;

    margin:8px 0 28px;

    font-size:14px;

    line-height:1.6;

    color:#64748b;

}


/* ==========================================================
                FIELD
========================================================== */

.login-field{

    margin-bottom:18px;

}


.login-field label{

    display:block;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

    color:#334155;

}


.login-input-wrapper{

    position:relative;

}


.login-input-wrapper > i{

    position:absolute;

    left:15px;

    top:50%;

    transform:translateY(-50%);

    color:#94a3b8;

    font-size:15px;

}


.login-input-wrapper input{

    width:100%;

    height:48px;

    box-sizing:border-box;

    border:1px solid #dbe2ea;

    border-radius:13px;

    background:#f8fafc;

    padding:
        0 45px
        0 44px;

    font-family:inherit;

    font-size:14px;

    color:#1e293b;

    transition:.25s;

}


.login-input-wrapper input:focus{

    outline:none;

    border-color:#06b6d4;

    background:#ffffff;

    box-shadow:
        0 0 0 3px rgba(6,182,212,.10);

}


/* ==========================================================
                PASSWORD TOGGLE
========================================================== */

.password-toggle{

    position:absolute;

    right:10px;

    top:50%;

    transform:translateY(-50%);

    border:none;

    background:transparent;

    color:#94a3b8;

    cursor:pointer;

    width:34px;

    height:34px;

}


.password-toggle:hover{

    color:#06b6d4;

}


/* ==========================================================
                ERROR
========================================================== */

.module-login-error{

    display:none;

    align-items:center;

    gap:8px;

    margin-bottom:16px;

    padding:11px 13px;

    border-radius:10px;

    background:#fef2f2;

    border:1px solid #fecaca;

    color:#dc2626;

    font-size:13px;

}


.module-login-error.show{

    display:flex;

}


/* ==========================================================
                LOGIN BUTTON
========================================================== */

.module-login-btn{

    width:100%;

    height:50px;

    border:none;

    border-radius:13px;

    background:
        linear-gradient(
            135deg,
            #06b6d4,
            #46d9e3
        );

    color:#ffffff;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    font-family:inherit;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    box-shadow:
        0 10px 25px rgba(6,182,212,.20);

    transition:.25s;

}


.module-login-btn:hover{

    transform:translateY(-2px);

    box-shadow:
        0 14px 30px rgba(6,182,212,.28);

}


.module-login-btn:disabled{

    opacity:.75;

    cursor:not-allowed;

    transform:none;

}


/* ==========================================================
                DEMO NOTE
========================================================== */

.login-demo-note{

    margin-top:18px;

    padding:10px 12px;

    border-radius:10px;

    background:#f8fafc;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    color:#64748b;

    font-size:12px;

}


.login-demo-note i{

    color:#06b6d4;

}


/* ==========================================================
                MOBILE
========================================================== */

@media(max-width:500px){

    .module-login-box{

        padding:30px 22px;

        border-radius:20px;

    }


    .module-login-box h2{

        font-size:22px;

    }

}