*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"poppins",sans-serif;
}

body{
    background:linear-gradient(to right,#e2e2e2,#c9d6ff);
}

/* MAIN CONTAINER */
.container{
    background:#fff;
    width:90%;                 /* was fixed 450px */
    max-width:450px;           /* keeps desktop look */
    padding:1.5rem;
    margin:80px auto 40px;     /* more top space for navbar */
    border-radius:10px;
    box-shadow:0 20px 35px rgba(0,0,1,0.15);
}

/* FORM */
form{
    margin:0 1rem;
}

.form-title{
    font-size:1.7rem;
    font-weight:bold;
    text-align:center;
    padding:1rem 0;
}

/* INPUT GROUP */
.input-group{
    position:relative;
    margin:1.5rem 0;
}

.input-group i{
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    font-size:1.1rem;
    color:#444;
}

/* INPUTS */
input{
    width:100%;
    background-color:transparent;
    border:none;
    border-bottom:1px solid #757575;
    padding:12px 10px 12px 40px; /* space for icon */
    font-size:16px;              /* prevents iPhone zoom */
}

input:focus{
    outline:none;
    border-bottom:2px solid hsl(327,90%,28%);
}

input::placeholder{
    color:transparent;
}

/* FLOATING LABEL */
label{
    color:#757575;
    position:absolute;
    left:40px;
    top:12px;
    transition:0.3s ease;
    pointer-events:none;
}

input:focus ~ label,
input:not(:placeholder-shown) ~ label{
    top:-12px;
    font-size:0.85rem;
    color:hsl(327,90%,28%);
}

/* RECOVER LINK */
.recover{
    text-align:right;
    margin-bottom:1rem;
}

.recover a{
    text-decoration:none;
    color:rgb(125,125,235);
}

.recover a:hover{
    color:blue;
    text-decoration:underline;
}

/* BUTTON */
.btn{
    font-size:1.1rem;
    padding:10px 0;
    border-radius:5px;
    border:none;
    width:100%;
    background:rgb(125,125,235);
    color:white;
    cursor:pointer;
    transition:0.3s;
}

.btn:hover{
    background:#07001f;
}

/* OR DIVIDER */
.or{
    text-align:center;
    margin:1rem 0;
}

/* ICONS */
.icons{
    text-align:center;
}

.icons i{
    color:rgb(125,125,235);
    padding:0.8rem 1.5rem;
    border-radius:10px;
    font-size:1.5rem;
    cursor:pointer;
    border:2px solid #dfe9f5;
    margin:0 15px;
    transition:0.3s;
}

.icons i:hover{
    background:#07001f;
    color:white;
}

/* LINKS */
.links{
    display:flex;
    justify-content:space-between;
    margin-top:1rem;
    font-weight:bold;
}

button{
    color:rgb(125,125,235);
    border:none;
    background:transparent;
    font-size:1rem;
    font-weight:bold;
}

button:hover{
    text-decoration:underline;
    color:blue;
}

/* NAVBAR */
.navbar {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #e5e5e5;
    padding: 15px 0;
    position: fixed;
    top: 0;
    z-index: 1000;
}

.nav-container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo {
    font-size: 1.6rem;
    font-weight: bold;
    color: #2a4d2e;
    text-decoration: none;
}

.nav-links {
    list-style: none;
    display: flex;
    gap: 25px;
}

.nav-links li a {
    text-decoration: none;
    color: #333;
    font-size: 1rem;
    transition: 0.2s ease;
}

.nav-links li a:hover {
    color: #2a4d2e;
    text-decoration: underline;
}

.logout-link {
    color: #b30000;
}

.logout-link:hover {
    color: #7a0000;
}

/* MOBILE RESPONSIVE FIXES */
@media (max-width: 480px) {
    .container{
        margin:100px auto 20px;
        padding:1rem;
    }

    .form-title{
        font-size:1.4rem;
    }

    .links{
        flex-direction:column;
        gap:10px;
        text-align:center;
    }

    .icons i{
        margin:10px;
    }
}
