*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==========================
   BODY
========================== */

body{
    height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    font-family:"Inter",sans-serif;
    background:linear-gradient(135deg,#FFD23F,#FF8C00);
}

/* ==========================
   LOGIN CARD
========================== */

.login-container{

    width:360px;
    max-width:90%;

    padding:40px;

    text-align:center;

    border-radius:18px;

    background:rgba(255,255,255,.55);

    backdrop-filter:blur(14px) saturate(180%);
    -webkit-backdrop-filter:blur(14px) saturate(180%);

    border:1px solid rgba(255,255,255,.3);

    box-shadow:
        0 8px 32px rgba(0,0,0,.15),
        inset 0 1px 1px rgba(255,255,255,.25);

    animation:fadeIn .4s ease;
}

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(8px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

.logo{
    width:250px;
    display:block;
    margin:0 auto 20px;
}

h2{

    margin-bottom:25px;

    color:#4a3b00;

    font-size:28px;

    font-weight:600;
}

/* ==========================
   INPUTS
========================== */

.input-wrapper{
    position:relative;
}

.input-field{

    width:90%;

    padding:13px 14px;

    margin:8px 0 14px;

    border-radius:10px;

    border:1px solid rgba(255,255,255,.4);

    background:rgba(255,255,255,.65);

    outline:none;

    font-size:15px;

    transition:.2s;
}

.input-field:focus{

    background:#fff;

    border-color:#ff9a00;

    box-shadow:0 0 0 3px rgba(255,154,0,.15);
}

.input-field::placeholder{
    color:#666;
}

/* ==========================
   PASSWORD
========================== */

.toggle-password{

    position:absolute;

    right:24px;
    top:20px;

    transform:translateY(-50%);

    color:#666;

    font-size:13px;

    cursor:pointer;

    user-select:none;
}

/* ==========================
   BUTTON
========================== */

.btn-login{

    width:100%;

    padding:12px;

    border:none;

    border-radius:10px;

    cursor:pointer;

    font-size:16px;

    font-weight:600;

    color:#fff;

    background:#ff7a00;

    transition:.2s;
}

.btn-login:hover{

    background:#ff9500;

    transform:translateY(-1px);
}

.btn-login:active{
    transform:scale(.99);
}

.btn-login.loading{

    opacity:.85;

    pointer-events:none;
}

/* ==========================
   ERROR
========================== */

.error-box{

    display:none;

    margin-bottom:15px;

    padding:10px;

    border-radius:10px;

    color:#a30000;

    background:rgba(255,0,0,.15);

    font-size:14px;
}

/* ==========================
   FOOTER
========================== */

.form-footer{

    width:90%;

    margin:4px auto 14px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:#4a3b00;

    font-size:14px;
}

.remember-label{

    display:flex;

    align-items:center;

    gap:6px;
}

.form-footer a{

    color:#4a3b00;

    text-decoration:none;
}

.form-footer a:hover{
    opacity:.8;
}

/* ==========================
   SIGNUP
========================== */

.signup{

    margin-top:15px;

    color:#4a3b00;

    font-size:14px;
}

.signup a{

    color:#ff9a00;

    text-decoration:none;

    font-weight:600;
}

.signup a:hover{
    text-decoration:underline;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:480px){

    .login-container{
        padding:30px;
    }

    .logo{
        width:210px;
    }

    h2{
        font-size:24px;
    }

    .form-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;
    }

}