/* =========================
   LOGIN SCREEN
========================= */

.login-screen{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:20px;

}

/* CARD */

.login-card{

    width:100%;

    max-width:430px;

    padding:38px 30px;

    border-radius:34px;

    background:
    linear-gradient(
    135deg,
    rgba(255,255,255,0.18),
    rgba(255,255,255,0.06)
    );

    backdrop-filter:blur(24px);

    border:
    1px solid rgba(255,255,255,0.12);

    box-shadow:
    0 25px 60px rgba(255,105,180,0.15);

    overflow:hidden;

    position:relative;

}

/* LOGO */

.login-logo{

    text-align:center;

    margin-bottom:32px;

}

.logo-circle{

    width:90px;

    height:90px;

    border-radius:50%;

    margin:auto;

    margin-bottom:18px;

    background:
    linear-gradient(
    to right,
    #ff4db8,
    #c44dff
    );

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:34px;

    box-shadow:
    0 18px 45px rgba(255,105,180,0.25);

    animation:logoPulse 3s infinite ease-in-out;

}

.login-logo h2{

    font-size:34px;

    font-weight:700;

    background:
    linear-gradient(
    to right,
    #ff4db8,
    #c44dff
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    margin-bottom:8px;

}

.login-logo p{

    color:#7b4b8f;

    font-size:15px;

}

/* FORM */

.login-form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

/* INPUT */

.input-box{

    position:relative;

}

.input-box i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#ff4db8;

    font-size:18px;

}

.input-box input{

    width:100%;

    height:60px;

    border:none;

    outline:none;

    border-radius:18px;

    padding:0 18px 0 54px;

    background:
    rgba(255,255,255,0.14);

    color:#444;

    font-size:15px;

    backdrop-filter:blur(12px);

    transition:.4s;

}

.input-box input:focus{

    border:
    1px solid rgba(255,77,184,0.4);

    box-shadow:
    0 0 25px rgba(255,77,184,0.12);

}

.input-box input::placeholder{
    color:#999;
}

/* OPTIONS */

.login-options{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:-4px;

}

.remember-box{

    display:flex;

    align-items:center;

    gap:8px;

    color:#7b4b8f;

    font-size:13px;

}

.remember-box input{

    accent-color:#ff4db8;

}

.forgot-link{

    color:#ff4db8;

    font-size:13px;

    text-decoration:none;

}

/* BUTTON */

.login-btn{

    width:100%;

    height:60px;

    border:none;

    border-radius:18px;

    background:
    linear-gradient(
    to right,
    #ff4db8,
    #c44dff
    );

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.4s;

    box-shadow:
    0 14px 40px rgba(255,105,180,0.25);

}

.login-btn:hover{

    transform:
    translateY(-4px)
    scale(1.02);

    box-shadow:
    0 22px 50px rgba(255,105,180,0.35);

}

/* BOTTOM */

.login-bottom{

    margin-top:26px;

    text-align:center;

}

.login-bottom p{

    color:#7b4b8f;

    margin-bottom:8px;

}

.login-bottom a{

    color:#ff4db8;

    font-weight:700;

    text-decoration:none;

}

/* ANIMATION */

@keyframes logoPulse{

    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.08);
    }

    100%{
        transform:scale(1);
    }

}

/* MOBILE */

@media(max-width:576px){

    .login-card{

        padding:30px 22px;

        border-radius:26px;

    }

    .logo-circle{

        width:74px;

        height:74px;

        font-size:28px;

    }

    .login-logo h2{

        font-size:28px;

    }

    .login-logo p{

        font-size:13px;

    }

    .input-box input{

        height:54px;

        font-size:14px;

        border-radius:16px;

    }

    .login-btn{

        height:54px;

        font-size:14px;

        border-radius:16px;

    }

}