body.auth-bg {
    background: linear-gradient(135deg, #252538 0%, #686767 100%);
}

.auth-card {
    max-width: 480px;
    width: 100%;
    margin: 40px auto;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 32px rgba(30, 41, 59, 0.15);
}

.auth-icon {
    font-size: 3.5rem;
    color: #852da8;
    margin-bottom: 10px;
}

.input-group-text {
    background: #494949;
    border: none;
    color: #fff;
}

.form-label {
    font-weight: 600;
}

.captcha-box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    background: #f2f2f2;
    border: 1px solid #852da8;
}

.btn-primary {
    background: linear-gradient(90deg, #852da8 60%, #686767 100%);
    border: none;
    font-weight: bold;
    letter-spacing: 0.5px;
    color: #fff;
}

.btn-primary:hover {
    background: linear-gradient(90deg, #686767 60%, #852da8 100%);
    color: #fff;
}

.link-primary { color: #852da8 !important; }
.link-primary:hover, .link-primary:focus { color: #6f1b8a !important; }

.alert { color: #fff; background: #2d85a8; border-color: #852da8; }

.btn-animate {position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;}
.btn-animate:active {transform:translateY(2px);} 
.btn-animate::before {content:"";position:absolute;left:-40%;top:0;width:30%;height:100%;background:rgba(255,255,255,.25);transform:skewX(-20deg) translateX(-100%);transition:transform .6s ease;}
.btn-animate:hover::before {transform:skewX(-20deg) translateX(300%);} 
.password-toggle-btn {border:none;background:transparent;color:#666;padding:.375rem .5rem;}
.password-toggle-btn:hover {color:#000;}

@media (max-width: 500px) {
    .auth-card { padding: 1.5rem; max-width: 95vw; }
    .auth-icon { font-size: 2.5rem; }
}
