/* Preserve the shared layout's positioning, card width and responsive sizing. */
.account-login {
    --login-ink: #182b24;
    --login-green: #20573a;
    --login-line: #dce6df;
    color: var(--login-ink);
}
.account-login .center-wrap {
    background: radial-gradient(ellipse at 15% 15%, #e4efe7 0, transparent 50%),
        radial-gradient(ellipse at 90% 85%, #edf1e8 0, transparent 45%), #f6f8f6 !important;
}
.account-login .card-wizard {
    border: 1px solid #dde7df !important;
    background: #fff;
    border-radius: 24px !important;
    box-shadow: 0 24px 72px #163a2410, 0 3px 12px #163a2406 !important;
    animation: login-appear .35s ease-out;
}
.account-login .login-logo { display: block; width: 170px; max-width: 65%; height: 64px; object-fit: contain; margin: 0 auto 18px; }
.account-login .login-eyebrow { display: flex; justify-content: center; align-items: center; gap: 7px; font-size: .74rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #52705d; margin-bottom: 9px; }
.account-login .login-title { font-size: clamp(1.65rem, 4vw, 2rem); letter-spacing: -.035em; font-weight: 700; color: var(--login-ink); margin-bottom: 8px; }
.account-login .form-control { border-color: var(--login-line); border-radius: 12px; background-color: #fbfcfb; color: var(--login-ink); transition: border-color .18s, box-shadow .18s, background-color .18s; }
.account-login .form-control:focus { background: white; border-color: #548769; box-shadow: 0 0 0 4px #20573a13; }
.account-login .form-floating > label { color: #617367; }
.account-login .form-check-label { font-size: .85rem; color: #53665b; cursor: pointer; }
.account-login .form-check-input { border-color: #adbdaf; cursor: pointer; }
.account-login .form-check-input:checked { background-color: var(--login-green); border-color: var(--login-green); }
.account-login .btn { min-height: 48px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; transition: background-color .18s, border-color .18s, box-shadow .18s; }
.account-login .login-primary { background: var(--login-green); border-color: var(--login-green); box-shadow: 0 5px 14px #20573a1c; }
.account-login .login-primary:hover, .account-login .login-primary:active { background: #163e29; border-color: #163e29; box-shadow: 0 7px 18px #20573a26; }
.account-login .login-primary i { transition: transform .18s; }
.account-login .login-primary:hover i { transform: translateX(3px); }
.account-login .login-secondary { background: #fff; border-color: var(--login-line); color: #344e3d; font-size: .9rem; font-weight: 600; }
.account-login .login-secondary:hover { background: #f1f6f2; border-color: #a9c1af; }
.account-login .login-divider { display: flex; align-items: center; gap: 13px; margin-top: 22px; color: #738278; font-size: .75rem; }
.account-login .login-divider::before, .account-login .login-divider::after { content: ''; height: 1px; flex: 1; background: #e5ebe6; }
.account-login a:not(.btn) { color: var(--login-green); }
.account-login a:not(.btn):hover { text-decoration: underline !important; }
.account-login .login-register { gap: 6px; }
.account-login hr { border-color: #dce6df; opacity: 1; margin: 22px 0 18px; }
.account-login :focus-visible { outline: 3px solid #528368; outline-offset: 3px; }
.account-login .field-validation-error { display: block; font-size: .8rem; margin: 6px 2px 0; }
.account-login .input-validation-error { border-color: #b74b52; }
.account-login .validation-summary-errors { background: #fff3f3; border: 1px solid #edcbd0; border-radius: 12px; padding: 12px; margin-bottom: 16px; font-size: .88rem; }
.account-login .validation-summary-errors ul { margin: 0; padding-left: 18px; }
@keyframes login-appear { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 575px) {
    .account-login .card-wizard { border-radius: 18px !important; }
    .account-login .login-logo { height: 54px; margin-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .account-login *, .account-login *::before, .account-login *::after { animation: none !important; transition: none !important; }
}
