/* ================= RESET ================= */

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

body{

    font-family:'Poppins',sans-serif;

    min-height:100vh;

    overflow:hidden;

    background:#020617;

    color:white;
}

/* ================= BACKGROUND ================= */

.background{

    position:fixed;

    inset:0;

    background:
    linear-gradient(rgba(2,6,23,.75),rgba(2,6,23,.88)),
    url('/images/logo_banner/logo.png');

    background-position:center;

    background-size:cover;

    filter:blur(2px);

    transform:scale(1.05);
}

/* ================= WRAPPER ================= */

.login-wrapper{

    position:relative;

    z-index:10;

    width:100%;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:2rem;
}

/* ================= CARD ================= */

.login-card{

    width:100%;

    max-width:420px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:30px;

    padding:3rem;

    box-shadow:
    0 20px 50px rgba(0,0,0,.45);

    animation:fadeIn .7s ease;
}

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* ================= LOGO ================= */

.logo-area{

    text-align:center;

    margin-bottom:2rem;
}

.logo-area img{

    width:90px;

    margin-bottom:1rem;

    filter:drop-shadow(0 10px 20px rgba(0,0,0,.35));
}

.logo-area h1{

    font-size:1.8rem;

    margin-bottom:.5rem;
}

.logo-area p{

    color:#cbd5e1;

    font-size:.95rem;
}

/* ================= ALERT ================= */

.alert-box{

    background:rgba(239,68,68,.15);

    border:1px solid rgba(239,68,68,.3);

    color:#fecaca;

    padding:1rem;

    border-radius:14px;

    margin-bottom:1.5rem;

    text-align:center;
}

/* ================= INPUTS ================= */

.input-group{

    margin-bottom:1.5rem;
}

.input-group label{

    display:block;

    margin-bottom:.6rem;

    font-size:.95rem;

    color:#e2e8f0;
}

.input-group input{

    width:100%;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

    border-radius:16px;

    padding:1rem;

    color:white;

    font-size:1rem;

    outline:none;

    transition:.3s;
}

.input-group input:focus{

    border-color:#06b6d4;

    background:rgba(255,255,255,.08);
}

.input-group input::placeholder{

    color:#94a3b8;
}

/* ================= PASSWORD ================= */

.password-container{

    position:relative;
}

.toggle-eye{

    position:absolute;

    top:50%;

    right:15px;

    transform:translateY(-50%);

    background:none;

    border:none;

    color:#cbd5e1;

    cursor:pointer;

    font-size:1rem;
}

/* ================= BUTTON ================= */

.login-btn{

    width:100%;

    border:none;

    padding:1rem;

    border-radius:16px;

    background:linear-gradient(135deg,#06b6d4,#8b5cf6);

    color:white;

    font-size:1rem;

    font-weight:600;

    cursor:pointer;

    transition:.3s;
}

.login-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 12px 30px rgba(139,92,246,.35);
}

/* ================= FOOTER ================= */

.footer-login{

    text-align:center;

    margin-top:2rem;

    color:#94a3b8;

    font-size:.85rem;
}

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

@media(max-width:768px){

    .login-card{

        padding:2rem;
    }

    .logo-area h1{

        font-size:1.5rem;
    }

}