/* Login presentation; the existing .image-side theme background is deliberately preserved. */
body.bjms-login {margin:0!important;border-radius:0!important;background:#f5f8fc!important;color:#183750;font:14px/1.6 "Segoe UI",Inter,Arial,sans-serif;min-height:100vh;}
.bjms-login .fixed-background {opacity:.035;pointer-events:none;}
body.bjms-login main.login-main {position:relative;display:flex;flex-direction:column;min-height:100dvh;margin:0!important;padding:0 6vw!important;width:100%;}
.bjms-login .login-topbar {min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.bjms-login .login-wordmark {font-size:23px;letter-spacing:-.8px;font-weight:750;color:#064b7b;text-decoration:none;}
.bjms-login .login-wordmark span {margin-left:5px;color:#748ba3;font-weight:400;}
.bjms-login .login-topbar-caption {font-size:10px;color:#8c9db0;letter-spacing:1.7px;}
.bjms-login .login-shell {width:100%;max-width:1120px;margin:auto;flex:1;display:flex;align-items:center;padding:20px 0 36px;}
.bjms-login .card.auth-card {display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:620px;background:#fff;border:1px solid #e0e8f2;border-radius:18px!important;overflow:hidden;box-shadow:0 18px 70px #173b5c09!important;}
.bjms-login .auth-card .image-side {position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;width:auto!important;min-height:100%;padding:36px 42px!important;border-radius:0!important;/* Keep background-image and position from the original login theme. */}
.bjms-login .image-side:before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b2e4670 0%,#082a4140 35%,#082a41d9 100%);}
.bjms-login .login-banner-top {display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.6px;color:#fff;}
.bjms-login .login-banner-line {height:1px;width:28px;background:#ffffffa0;}
.bjms-login .login-banner-copy {padding-top:100px;padding-bottom:66px;color:#fff;}
.bjms-login .login-banner-kicker {display:block;font-size:10px;letter-spacing:2.3px;margin-bottom:22px;color:#ffffffbf;}
.bjms-login .login-banner-copy h1 {font-family:inherit;font-size:42px;line-height:1.2;letter-spacing:-1.4px;font-weight:650;color:#fff;margin:0 0 22px;}
.bjms-login .login-banner-copy p {font-size:13px;line-height:1.8;color:#ffffffe0;margin:0;}
.bjms-login .login-banner-bottom {display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.2px;color:#ffffffc7;}
.bjms-login .login-banner-dot {width:6px;height:6px;background:#a9e6d6;border-radius:50%;}
.bjms-login .auth-card .form-side {width:auto!important;padding:68px 58px 46px!important;align-self:center;}
.bjms-login .login-eyebrow {font-size:9px;letter-spacing:1.7px;color:#8199b2;font-weight:600;}
.bjms-login .login-form-heading h2 {font-family:inherit;font-weight:650;font-size:27px;line-height:1.3;letter-spacing:-.8px;color:#143653;margin:13px 0 10px;}
.bjms-login .login-form-heading p {color:#8a9aad;font-size:12px;margin:0 0 30px;}
.bjms-login .login-field {display:flex;flex-direction:column;position:relative;margin-bottom:21px!important;}
.bjms-login .login-field-label {order:-1;font-size:12px;font-weight:600;color:#435e77;position:static!important;transform:none!important;padding:0!important;margin-bottom:8px;}
.bjms-login .login-field .form-control {height:46px;border:1px solid #dce6f0;border-radius:7px;background:#fff;color:#183750;padding:11px 13px;font:14px "Segoe UI",Arial,sans-serif;box-shadow:none;}
.bjms-login .login-field .form-control:focus {border-color:#7aa5ca;box-shadow:0 0 0 3px #0751850c;}
.bjms-login #login-password {padding-right:48px;}
.bjms-login .login-password-toggle {position:absolute;right:6px;top:31px;height:35px;width:35px;display:grid;place-items:center;padding:8px;background:transparent;border:0;border-radius:5px;color:#7e93a8;cursor:pointer;}
.bjms-login .login-password-toggle:hover {background:#f1f6fc;color:#064b7b;}
.bjms-login .login-password-toggle svg {height:19px;width:19px;}
.bjms-login .login-password-toggle[aria-pressed=true]:after {content:"";position:absolute;width:22px;height:1.5px;background:currentColor;transform:rotate(-45deg);}
.bjms-login .login-field .invalid-feedback {font-size:11px;margin-top:6px;}
.bjms-login .login-field .form-control.is-invalid {border-color:#d76678;}
.bjms-login .login-actions {display:flex;flex-direction:column;gap:17px;padding-top:7px;text-align:center;}
.bjms-login .login-actions .btn-primary {display:flex;align-items:center;justify-content:center;gap:14px;background:#064b7b;border:1px solid #064b7b;color:white;border-radius:7px!important;min-height:46px;box-shadow:none!important;font:600 13px "Segoe UI",Arial,sans-serif;letter-spacing:.2px;}
.bjms-login .login-actions .btn-primary:hover {background:#033d66;border-color:#033d66;}
.bjms-login .login-actions>a {font-size:12px;color:#527a9a;text-decoration:none;}
.bjms-login .login-actions>a:hover {color:#064b7b;text-decoration:underline;}
.bjms-login .login-help {display:flex;align-items:flex-start;gap:10px;border-top:1px solid #e9eef5;margin-top:29px;padding-top:21px;color:#8094aa;}
.bjms-login .login-help svg {height:17px;width:17px;flex:none;margin-top:3px;}
.bjms-login .login-help p {margin:0;font-size:11px;color:#59748c;line-height:1.8;}
.bjms-login .login-help p span {color:#93a1b2;}
.bjms-login .login-footer {display:flex;justify-content:space-between;gap:12px;padding:4px 0 24px;color:#99a7b8;font-size:10px;}
.bjms-login .alert {border:1px solid #f0d7df;border-radius:7px;padding:12px 30px 12px 12px;background:#fff3f5;font-size:12px;color:#b24a61;text-align:left!important;}
.bjms-login :focus-visible {outline:2px solid #397fad!important;outline-offset:3px;}
@media(max-width:1050px){.bjms-login .auth-card .form-side {padding:46px 34px!important;}.bjms-login .auth-card .image-side {padding:32px!important;}.bjms-login .login-banner-copy h1 {font-size:35px;}}
@media(max-width:767px){
 body.bjms-login main.login-main {padding:0 22px!important;}
 .bjms-login .login-topbar {min-height:76px;}.bjms-login .login-topbar-caption {font-size:8px;letter-spacing:1px;}
 .bjms-login .login-shell {display:block;flex:1;padding:6px 0 28px;max-width:520px;}
 .bjms-login .card.auth-card {grid-template-columns:1fr;min-height:0;border-radius:13px!important;}
 .bjms-login .auth-card .image-side {min-height:230px;padding:24px 28px!important;}
 .bjms-login .login-banner-copy {padding:28px 0 20px;}.bjms-login .login-banner-copy h1 {font-size:28px;letter-spacing:-.6px;margin-bottom:12px;}
 .bjms-login .login-banner-copy h1 br {display:none;}.bjms-login .login-banner-copy h1 br:after {content:" ";}
 .bjms-login .login-banner-kicker {display:none;}.bjms-login .login-banner-copy p {font-size:12px;}
 .bjms-login .login-banner-bottom {font-size:9px;}.bjms-login .auth-card .form-side {padding:30px 28px!important;}
 .bjms-login .login-form-heading h2 {font-size:25px;}.bjms-login .login-form-heading p {margin-bottom:25px;}
 .bjms-login .login-footer {font-size:9px;}
}
@media(max-width:380px){body.bjms-login main.login-main {padding:0 14px!important;}.bjms-login .login-topbar-caption {display:none;}.bjms-login .auth-card .image-side,.bjms-login .auth-card .form-side {padding:24px!important;}.bjms-login .login-form-heading h2 {font-size:23px;}}
@media(prefers-reduced-motion:reduce){.bjms-login *{transition:none!important;animation:none!important;}}
