.auth-hero {
    background: linear-gradient(135deg, #117098 0%, #07426a 100%);
    padding: 0;
}
.auth-hero-inner { max-width: 1280px; margin: 0 auto; padding: 2rem 1.5rem; }
.auth-hero h1 { font-size: 2rem; font-weight: 800; color: #fff; margin: 0; }
.auth-hero p  { color: rgba(255,255,255,.8); margin: .35rem 0 0; font-size: .95rem; }

.auth-card { border: 1px solid #e5e5e5; border-radius: 12px; padding: 2rem; background: #fff; }
.auth-card .card-heading { font-size: 1.1rem; font-weight: 700; color: #111; margin-bottom: .3rem; }
.auth-card .card-subtext { font-size: .85rem; color: #666; margin-bottom: 1.5rem; }

.auth-card .form-label { font-size: .88rem; font-weight: 600; color: #333; margin-bottom: .35rem; }
.auth-card .form-control {
    border-radius: 8px !important;
    border: 1px solid #ddd;
    padding: .6rem .9rem;
    font-size: .93rem;
}
.auth-card .form-control:focus { border-color: #117098; box-shadow: 0 0 0 3px rgba(17,112,152,.12); }

.btn-auth-submit {
    background: #117098; color: #fff; border: none; border-radius: 8px;
    padding: .7rem 1.5rem; font-size: .95rem; font-weight: 700;
    width: 100%; transition: background .2s; cursor: pointer;
}
.btn-auth-submit:hover { background: #07426a; color: #fff; }

.password-toggle {
    position: absolute; left: .75rem; top: 50%; transform: translateY(-50%);
    background: none; border: none; color: #888; cursor: pointer; padding: 0; z-index: 5;
}
.password-wrapper { position: relative; }
.password-wrapper .form-control { padding-left: 2.5rem; }

.whatsapp-row {
    display: flex; align-items: center; gap: .75rem;
    background: #f8fffe; border: 1px solid #d4edda;
    border-radius: 8px; padding: .6rem .9rem; margin-top: .5rem; flex-wrap: wrap;
}
.whatsapp-row label { font-size: .83rem; color: #333; margin: 0; cursor: pointer; flex: 1; min-width: 120px; }
.whatsapp-row .form-check-input { width: 2.2em; height: 1.2em; flex-shrink: 0; }
.whatsapp-row .form-check-input:checked { background-color: #25d366; border-color: #25d366; }

.auth-body { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem 3rem; }

/* Login-specific */
.auth-card.h-100 { height: 100%; }
.btn-social {
    border: 1.5px solid #ddd; border-radius: 8px; background: #fff; color: #333;
    font-weight: 600; font-size: .93rem; padding: .65rem 1rem; width: 100%;
    display: flex; align-items: center; justify-content: center; gap: .6rem;
    transition: border-color .2s, background .2s; text-decoration: none;
}
.btn-social:hover { border-color: #117098; background: #f0f8ff; color: #117098; }

.social-note { font-size: .82rem; color: #555; display: flex; align-items: flex-start; gap: .4rem; margin-top: 1rem; }
.social-note i { color: #117098; margin-top: 2px; flex-shrink: 0; }

.forgot-link { font-size: .83rem; color: #117098; text-decoration: none; }
.forgot-link:hover { text-decoration: underline; }

@media (max-width: 767px) {
    .auth-hero-inner { padding: 1.5rem 1rem; }
    .auth-hero h1 { font-size: 1.5rem; }
    .auth-card { padding: 1.3rem; }
    .auth-body { padding: 0 1rem 2rem; }
}
