*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial,Helvetica,sans-serif;
}


/* Background */

body{

    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:20px;

    background:
    linear-gradient(
        135deg,
        #556B2F 0%,
        #6B8E23 45%,
        #8FBC8F 100%
    );

    position:relative;

    overflow:hidden;

}


/* Decorative circles */

body::before{

    content:'';

    position:absolute;

    width:300px;
    height:300px;

    border-radius:50%;

    background:
    rgba(255,255,255,.08);

    top:-100px;
    left:-100px;

}


body::after{

    content:'';

    position:absolute;

    width:250px;
    height:250px;

    border-radius:50%;

    background:
    rgba(255,255,255,.05);

    bottom:-80px;
    right:-80px;

}



/* Card */

.container{

    width:420px;
    max-width:100%;

    padding:40px;

    background:
    rgba(255,255,255,.95);

    backdrop-filter:blur(18px);

    border-radius:25px;

    border:1px solid rgba(255,255,255,.4);

    box-shadow:
        0 15px 40px rgba(0,0,0,.12),
        0 5px 15px rgba(0,0,0,.05);

    position:relative;

    z-index:2;

}



/* Title */

.container h2{

    text-align:center;

    color:#556B2F;

    margin-bottom:35px;

    font-size:30px;

    font-weight:700;

    letter-spacing:.5px;

}



/* Inputs */

input{

    width:100%;

    padding:16px 18px;

    margin-bottom:18px;

    border:none;

    border-radius:14px;

    background:#f6f8f4;

    font-size:15px;

    transition:.3s;

    box-shadow:
        inset 0 0 0 1px rgba(85,107,47,.15);

}


input::placeholder{

    color:#888;

}


input:focus{

    outline:none;

    background:white;

    box-shadow:
        0 0 0 4px rgba(107,142,35,.15),
        inset 0 0 0 1px #6B8E23;

}



/* Button */

button{

    width:100%;

    padding:16px;

    border:none;

    border-radius:14px;

    cursor:pointer;

    font-size:16px;

    font-weight:700;

    color:white;

    background:
    linear-gradient(
        135deg,
        #556B2F,
        #6B8E23
    );

    transition:.35s;

    box-shadow:
        0 10px 25px rgba(85,107,47,.30);

}


button:hover{

    transform:translateY(-3px);

    background:
    linear-gradient(
        135deg,
        #6B8E23,
        #8FBC8F
    );

    box-shadow:
        0 15px 30px rgba(85,107,47,.40);

}


button:active{

    transform:translateY(0);

}



/* Message */

.message{

    text-align:center;

    margin-top:18px;

    color:#d63031;

    font-size:14px;

    min-height:20px;

}



/* Links */

.forgot-link,
.login-link{

    text-align:center;

    margin-top:20px;

}


.forgot-link a,
.login-link a{

    text-decoration:none;

    color:#556B2F;

    font-weight:600;

    transition:.3s;

}


.forgot-link a:hover,
.login-link a:hover{

    color:#6B8E23;

    text-decoration:underline;

}



/* Mobile */

@media(max-width:500px){

.container{

    padding:30px 25px;

}


.container h2{

    font-size:26px;

}


button{

    padding:15px;

}

}