body {
    background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
    min-height: 100vh;
    font-family: Segoe UI, Arial;
}

.auth-container {
    min-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 35px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.auth-title {
    font-weight: 600;
    text-align: center;
    margin-bottom: 25px;
}

.password-meter {
    height: 6px;
    border-radius: 6px;
    background: #eee;
    overflow: hidden;
    margin-top: 6px;
}

.password-meter div {
    height: 100%;
    width: 0%;
    transition: 0.3s;
}

.password-weak {
    background: #dc3545
}

.password-medium {
    background: #ffc107
}

.password-strong {
    background: #28a745
}

.otp-input {
    width: 45px;
    height: 50px;
    text-align: center;
    font-size: 22px;
    margin: 4px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

.auth-footer {
    text-align: center;
    margin-top: 15px;
    font-size: 14px;
}

.auth-footer a {
    text-decoration: none;
}

@media(max-width:576px) {

    .auth-card {
        padding: 25px;
    }

}

.progress-tracker{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:20px;
position:relative;
}

.progress-tracker:before{
content:'';
position:absolute;
top:20px;
left:0;
right:0;
height:4px;
background:#dee2e6;
z-index:0;
}

.step{
text-align:center;
position:relative;
z-index:1;
width:25%;
}

.circle{
width:40px;
height:40px;
border-radius:50%;
background:#dee2e6;
margin:auto;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
}

.step.done .circle{
background:#0d6efd;
color:white;
}

.step.success .circle{
background:#198754;
}

.step.danger .circle{
background:#dc3545;
}

.step p{
margin-top:8px;
font-size:14px;
}

/* ===============================
PASSWORD RULES (EU STYLE)
================================ */

.password-rules{
list-style:none;
padding-left:0;
margin-top:8px;
}

.password-rules li{
font-size:14px;
color:#dc3545;
margin-bottom:4px;
}

.password-rules li.valid{
color:#198754;
font-weight:500;
}