@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;800&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Vazirmatn', sans-serif;
}

body {
    min-height: 100vh;
    background: #0f172a;
}

.background {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background:
        radial-gradient(circle at top right, #2563eb, transparent 35%),
        radial-gradient(circle at bottom left, #7c3aed, transparent 35%),
        linear-gradient(135deg, #020617, #111827);
}


.login-box {

    width: 380px;
    padding: 40px 35px;

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

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

    backdrop-filter: blur(15px);

    border-radius: 25px;

    box-shadow:
        0 25px 50px rgba(0,0,0,0.35);

    text-align: center;

    animation: showBox .8s ease;

}



@keyframes showBox {

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

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

}



.logo h1 {

    color: #ffffff;

    font-size: 38px;

    font-weight: 800;

    letter-spacing: 3px;

    margin-bottom: 8px;

}



.logo span {

    color: #cbd5e1;

    font-size: 15px;

    direction: ltr;

    display: block;

}



.form-title {

    margin: 35px 0 25px;

    color: #ffffff;

    font-size: 18px;

    font-weight: 500;

}



.input-group {

    margin-bottom: 18px;

}



.input-group input {

    width: 100%;

    height: 52px;

    padding: 0 20px;

    border-radius: 15px;

    border: none;

    outline: none;

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

    color: #111827;

    font-size: 15px;

    transition: .3s;

}



.input-group input:focus {

    transform: scale(1.03);

    box-shadow: 0 0 15px rgba(255,255,255,.3);

}



button {

    width: 100%;

    height: 52px;

    border: none;

    border-radius: 15px;

    margin-top: 10px;

    cursor: pointer;

    background: linear-gradient(135deg,#22c55e,#16a34a);

    color: white;

    font-size: 17px;

    font-weight: 700;

    transition: .3s;

}



button:hover {

    transform: translateY(-3px);

    box-shadow: 0 10px 25px rgba(34,197,94,.35);

}



.error-message {

    display: none;

    margin-top: 25px;

    padding: 15px;

    border-radius: 12px;

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

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

    color: #fecaca;

    font-size: 14px;

    line-height: 1.8;

}



.footer {

    margin-top: 30px;

    color: #94a3b8;

    font-size: 13px;

}



@media(max-width:450px){

    .login-box {

        width: 90%;

        padding: 35px 25px;

    }


    .logo h1 {

        font-size: 30px;

    }

}
