.account-navigation { padding:20px 0; }
.account-desktop-links { display:flex; align-items:center; }
.account-mobile-menu { display:none; }
.account-page main { min-height:90vh; }
.account-page input { font-size:16px; }
.account-page button, .account-page summary, .account-page nav a { min-height:44px; }
.account-page a:focus-visible, .account-page button:focus-visible, .account-page summary:focus-visible,
.account-page input:focus-visible { outline:3px solid #2447d7 !important; outline-offset:3px; }
.account-page input { scroll-margin-top:120px; }
.account-page [role="status"] { min-height:30px; }
.account-page .account-signout { margin-top:120px; }
@media (max-width:991px) {
    .account-navigation { padding:12px 16px; }
    .account-navigation .navbar-brand img { width:160px; }
    .account-desktop-links { display:none; }
    .account-mobile-menu { display:block; }
    .account-mobile-menu summary { display:flex; align-items:center; cursor:pointer; }
    .account-mobile-menu[open] { width:100%; }
    .account-mobile-menu a { display:block; padding:12px 0; }
    .account-page section { height:auto !important; min-height:90vh; padding:30px 0; }
    .account-page footer .container { flex-wrap:wrap; gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
    .account-page *, .account-page *::before, .account-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Account forms retain separate icon and text boxes with one input focus style. */
.account-page .account-form-page { padding: 128px 0 40px; }
.account-page .account-form-page > form > .container { margin-top: 0 !important; padding-top: 0 !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
.account-page .account-form-page > form > .container > .row { margin-top: 0 !important; margin-bottom: 0 !important; }
.account-page .account-form-page .content-title { margin-top: 0 !important; margin-bottom: 28px; }
.account-page .account-form-page h1 { font-size: clamp(28px, 3vw, 36px); line-height: 1.25; margin-top: 0 !important; padding-top: 0 !important; margin-bottom: 14px; }
.account-page .account-form-page .content-title p { margin-bottom: 0; line-height: 1.6; }
.account-page .account-form-page .input_with_fa_group {
    flex-wrap: nowrap; border: 0; background: transparent;
}
.account-page .account-form-page .input-group-prepend { display: flex; flex: 0 0 46px; }
.account-page .account-form-page .input-group-text {
    width: 46px; justify-content: center; padding: 0; border: 1px solid #ced4da;
    border-radius: 5px 0 0 5px; background: transparent; line-height: 1;
}
.account-page .account-form-page .input-group-text i { color: #8590a2 !important; }
.account-page .account-form-page .input_with_fa_group .form-control {
    min-width: 0; min-height: 50px; padding: 12px 14px !important; margin: 0 !important;
    font-size: 16px; line-height: 1.5; border: 1px solid #ced4da; border-radius: 0 5px 5px 0;
}
.account-page .account-form-page .input_with_fa_group .form-control:focus,
.account-page .account-form-page .input_with_fa_group .form-control:focus-visible {
    outline: none !important; border-color: #4864db; box-shadow: 0 0 0 3px rgba(36,71,215,.14);
}
.account-page .account-form-page .input_with_fa_group .form-control::placeholder { color: #79818e; opacity: 1; }
.account-page .account-form-page .input_with_fa_group + label + .input_with_fa_group { margin-top: 20px !important; }
.account-page .account-form-page [role="status"] { color: #a63845; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.account-page .account-form-page button[type="submit"] { min-height: 48px; padding: 12px 36px; font-size: 16px; line-height: 1.5; }
.account-page .account-form-page p { overflow-wrap: anywhere; }
@media (max-width: 991.98px) {
    .account-page .account-form-page { padding: 104px 0 32px; }
    .account-page .account-form-page > form > .container { max-width: 520px; padding-left: 24px; padding-right: 24px; }
    .account-page .account-form-page .content-title { margin-bottom: 24px; }
}
.account-page .account-form-page .d-flex.justify-content-center > p { text-align: center; line-height: 1.6; }
@media (forced-colors: active) {
    .account-page .account-form-page .input_with_fa_group .form-control:focus-visible { outline: 2px solid Highlight !important; outline-offset: 2px; }
}

/* Wrap account feedback inside the same grid width as the form controls. */
.account-page .account-feedback { padding: 12px 14px; border: 1px solid #e9bec5; border-radius: 8px;
    background: #fff3f5; color: #842638; font-size: 14px; line-height: 1.5;
    text-align: left; overflow-wrap: anywhere; }
