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

body{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(to right,#e2e2e2,#c9d6ff);
}

.container{
    background:#fff;
    width:450px;
    padding:1.5rem;
    border-radius:10px;
    box-shadow:0 20px 35px rgba(0,0,0,0.2);
}

form{
    margin:0 2rem;
}

.form-title{
    font-size:1.5rem;
    font-weight:600;
    text-align:center;
    padding:1rem 0;
    margin-bottom:1rem;
}

/* ===== Input Group ===== */
.input-group{
    position:relative;
    margin-bottom:1.5rem;
}

.input-group i{
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    color:#757575;
}

input{
    width:100%;
    padding:10px 10px 10px 2rem;
    background:transparent;
    border:none;
    border-bottom:1px solid #757575;
    font-size:15px;
    outline:none;
}

input:focus{
    border-bottom:2px solid hsl(327,90%,28%);
}

/* Floating labels */
label{
    position:absolute;
    left:2rem;
    top:50%;
    transform:translateY(-50%);
    color:#757575;
    font-size:14px;
    pointer-events:none;
    transition:0.3s ease;
}

input:focus ~ label,
input:valid ~ label{
    top:-8px;
    font-size:12px;
    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{
    text-decoration:underline;
    color:blue;
}

/* ===== Buttons ===== */
.btn{
    width:100%;
    padding:10px;
    font-size:1.1rem;
    border:none;
    border-radius:5px;
    background:rgb(125,125,235);
    color:#fff;
    cursor:pointer;
    transition:0.3s;
}

.btn:hover{
    background:#07001f;
}

/* ===== OR divider ===== */
.or{
    text-align:center;
    margin:1rem 0;
    font-size:1rem;
}

/* ===== Social icons ===== */
.icons{
    text-align:center;
}

.icons i{
    color:rgb(125,125,235);
    padding:0.8rem 1.5rem;
    margin:0 10px;
    font-size:1.5rem;
    border:2px solid #dfe9f5;
    border-radius:10px;
    cursor:pointer;
    transition:0.3s;
}

.icons i:hover{
    background:#07001f;
    color:#fff;
    border-color:rgb(125,125,235);
}

/* ===== Links ===== */
.links{
    display:flex;
    justify-content:space-around;
    margin-top:1rem;
    font-weight:600;
}

.links button{
    background:none;
    border:none;
    color:rgb(125,125,235);
    font-size:1rem;
    cursor:pointer;
}

.links button:hover{
    text-decoration:underline;
    color:blue;
}


.forgot-password-title{
    font-size:1.5rem;
    font-weight:600;
    text-align:center;
    padding:1rem 0;
    margin-bottom:1rem;
}
	 