/* Sign-in-only refinements; the authentication fields and actions stay native. */
.portal-login .form-signin.portal-signin-card { width:100%; max-width:440px; padding:32px; border-radius:10px; box-shadow:0 8px 24px rgba(24,60,65,.045); }
.portal-login .portal-signin-card .portal-eyebrow { margin:0 0 10px; font-size:11px; line-height:16px; letter-spacing:.12em; }
.portal-login .portal-signin-card h1 { font-size:30px; line-height:1.2; letter-spacing:-.025em; margin:0 0 10px; }
.portal-login .portal-signin-card .portal-login-intro { margin:0 0 24px; font-size:14px; line-height:1.6; }
.portal-login .portal-signin-card label { font-size:14px; line-height:20px; }
.portal-login .portal-signin-card>label { margin:0 0 8px; font-weight:600; }
.portal-login .portal-signin-card input[type=email],.portal-login .portal-signin-card input[type=password] { box-sizing:border-box; width:100%; height:48px; padding:11px 12px; margin:0 0 20px; border:1px solid #9fb4b7; border-radius:6px; background:#fff; font-size:16px; line-height:24px; color:var(--portal-ink); box-shadow:none; }
.portal-login .portal-signin-card input:focus,.portal-login .portal-signin-card input:focus:invalid:not(:user-invalid) { border-color:var(--portal-brand); outline:2px solid var(--portal-brand); outline-offset:2px; box-shadow:none; }
.portal-login .portal-signin-card input:user-invalid { border-color:#a43c35; }
.portal-login .portal-signin-card .portal-signin-identity { padding:4px 12px 10px; margin-bottom:22px; border:1px solid var(--portal-border); border-radius:6px; background:#f6f9f9; }
.portal-login .portal-signin-identity-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.portal-login .portal-signin-identity-heading label { margin:0; color:var(--portal-muted); font-size:12px; }
.portal-login .portal-signin-identity-heading a { display:flex; align-items:center; min-height:40px; font-size:12px; text-decoration:underline; }
.portal-login .portal-signin-card .portal-signin-identity input { height:24px; padding:0; margin:0; border:0; background:transparent; border-radius:0; font-size:14px; text-overflow:ellipsis; }
.portal-login .portal-signin-card .portal-login-options { margin:0 0 22px; gap:12px; font-size:13px; }
.portal-login .portal-signin-card .portal-login-options label { font-size:13px; }
.portal-login .portal-signin-card>.btn { display:block; width:100%; height:48px; border-radius:6px; font-size:16px; font-weight:600; margin:0; }
.portal-login .portal-signin-card .portal-signin-note { margin:12px 0 0; font-size:12px; line-height:1.6; }
.portal-login .portal-signin-card .portal-signin-help { border-top:1px solid #e2e9e9; padding-top:18px; margin-top:24px; font-size:13px; line-height:1.6; }
.portal-login .portal-signin-help p { margin:0; }
.portal-login .portal-signin-help p+p { margin-top:10px; }
.portal-login .portal-signin-card .alert { margin:0 0 20px; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.portal-login .portal-signin-card a:focus-visible,.portal-login .portal-signin-card button:focus-visible { outline:2px solid var(--portal-focus); outline-offset:3px; }
@media(max-width:767px) {
  body.portal-login { padding-top:16px; }
  .portal-login .portal-login-brand { margin:20px 0 28px; }
  .portal-login .portal-login-brand img { width:300px; max-width:90%; }
  .portal-login .form-signin.portal-signin-card { padding:24px; margin-bottom:24px; }
  .portal-login .portal-signin-card h1 { font-size:28px; }
  .portal-login .portal-signin-identity-heading a { min-height:44px; }
  .portal-login .portal-signin-card .portal-login-options a { min-height:32px; display:inline-flex; align-items:center; }
}
@media(max-width:359px) { .portal-login .form-signin.portal-signin-card { padding:20px; } .portal-login .portal-signin-card h1 { font-size:26px; } }
.portal-login .portal-signin-card input:focus-visible { outline:2px solid var(--portal-brand)!important; outline-offset:2px; }
