/* ==========================================
   GOOGLE FONT
========================================== */

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

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

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

:root{

    --primary:#22C55E;
    --primary-dark:#16A34A;
    --primary-light:#DCFCE7;

    --secondary:#0F172A;

    --text:#475569;

    --border:#E2E8F0;

    --background:#F8FAFC;

    --white:#FFFFFF;

    --shadow:
        0 20px 45px rgba(15,23,42,.08);

    --radius:24px;

    --transition:.35s ease;

}

body{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--background);

    padding:30px;

    overflow-x:hidden;

    position:relative;

}

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

body::before{

    content:"";

    position:fixed;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(34,197,94,.08);

    top:-180px;

    left:-150px;

    z-index:-1;

}

body::after{

    content:"";

    position:fixed;

    width:350px;

    height:350px;

    border-radius:50%;

    background:rgba(34,197,94,.06);

    bottom:-150px;

    right:-120px;

    z-index:-1;

}

/* ==========================================
   CONTAINER
========================================== */

.auth-container{

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

}

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

.auth-card{

    width:100%;

    max-width:470px;

    background:var(--white);

    border-radius:30px;

    padding:50px 40px;

    box-shadow:var(--shadow);

    border:1px solid var(--border);

    animation:fadeUp .5s ease;

}

/* ==========================================
   TITLE
========================================== */

.auth-card h2{

    font-size:34px;

    color:var(--secondary);

    text-align:center;

    margin-bottom:12px;

}

.auth-card > p{

    text-align:center;

    color:var(--text);

    margin-bottom:35px;

    line-height:1.8;

}

/* ==========================================
   FORM
========================================== */

form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

/* ==========================================
   INPUT GROUP
========================================== */

.input-group{

    display:flex;

    flex-direction:column;

}

.input-group label{

    font-size:15px;

    font-weight:600;

    color:var(--secondary);

    margin-bottom:10px;

}

.input-group input{

    width:100%;

    padding:16px 18px;

    border-radius:16px;

    border:1px solid var(--border);

    outline:none;

    font-size:15px;

    transition:var(--transition);

    background:#FCFCFC;

}

.input-group input:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(34,197,94,.15);

}

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

button{

    border:none;

    cursor:pointer;

    padding:18px;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    color:#FFFFFF;

    font-size:16px;

    font-weight:600;

    transition:var(--transition);

    margin-top:10px;

}

button:hover{

    transform:translateY(-4px);

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

}

/* ==========================================
   LOGIN LINK
========================================== */

.login-link{

    margin-top:30px;

    text-align:center;

    color:var(--text);

}

.login-link a{

    color:var(--primary-dark);

    font-weight:600;

    text-decoration:none;

    transition:var(--transition);

}

.login-link a:hover{

    color:var(--primary);

}

/* ==========================================
   ANIMATION
========================================== */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:576px){

    body{

        padding:20px;

    }

    .auth-card{

        padding:35px 25px;

        border-radius:24px;

    }

    .auth-card h2{

        font-size:28px;

    }

    button{

        padding:16px;

    }

}