.euvimed-login.auth-page .auth-shell { width: min(1120px, calc(100% - 40px)); grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); margin: 36px auto; min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 3px; box-shadow: 0 12px 40px #0931480b; }
.euvimed-login .login-brand-panel { display: flex; flex-direction: column; justify-content: flex-start; gap: 34px; padding: 64px 38px 38px; background: var(--cadet-deep, #07314b); color: #fff; }
.euvimed-login .login-brand { display: grid; gap: 18px; justify-items: start; width: fit-content; color: #fff; text-decoration: none; }
.euvimed-login .login-brand img { display: block; width: 156px; height: 156px; padding: 18px; background: #fff; border-radius: 3px; }
.euvimed-login .login-brand strong { display: block; font-size: calc(34px * var(--euvimed-font-scale, 1)); line-height: 1.1; letter-spacing: -.02em; }
.euvimed-login .login-brand small { display: block; margin-top: 6px; font-size: calc(11px * var(--euvimed-font-scale, 1)); font-weight: 800; color: #c4e7ea; }
.euvimed-login .login-brand-copy h2 { margin: 0 0 12px; font-size: calc(24px * var(--euvimed-font-scale, 1)); color: #fff; line-height: 1.3; }
.euvimed-login .login-brand-copy p { margin: 0; color: #d4e6ec; font-size: calc(16px * var(--euvimed-font-scale, 1)); line-height: 1.6; }
.euvimed-login .login-trust { display: flex; align-items: flex-start; gap: 12px; padding-top: 24px; border-top: 1px solid #ffffff30; }
.euvimed-login .login-trust > i { font-size: 22px; color: #63d4d7; }
.euvimed-login .login-trust p { margin: 0; font-size: calc(14px * var(--euvimed-font-scale, 1)); line-height: 1.5; color: #d4e6ec; }
.euvimed-login.auth-page .auth-panel { padding: 32px 36px; }
.euvimed-login .auth-panel h1 { font-size: calc(28px * var(--euvimed-font-scale, 1)); }
.euvimed-login .auth-panel > .login-intro { margin: 10px 0 22px; font-size: calc(16px * var(--euvimed-font-scale, 1)); }
.euvimed-login .login-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 3px; background: #f4f8f9; }
.euvimed-login .login-methods a { display: flex; justify-content: center; align-items: center; gap: 8px; padding: 11px 8px; color: var(--muted); text-decoration: none; font-size: calc(15px * var(--euvimed-font-scale, 1)); font-weight: 750; text-align: center; line-height: 1.3; border: 1px solid transparent; border-radius: 2px; }
.euvimed-login .login-methods a[aria-current] { background: #fff; color: var(--cadet-deep); border-color: var(--line); box-shadow: 0 1px 3px #08314b0a; }
.euvimed-login .auth-panel > .login-method-hint { font-size: calc(14px * var(--euvimed-font-scale, 1)); line-height: 1.5; margin: 13px 0 16px; }
.euvimed-login .auth-panel .login-password-form { margin: 0; gap: 7px; }
.euvimed-login .auth-panel label { font-size: calc(15px * var(--euvimed-font-scale, 1)); }
.euvimed-login .auth-panel .auth-remember { padding: 9px; min-height: 0; }
.euvimed-login .auth-panel .auth-remember strong { font-size: calc(14px * var(--euvimed-font-scale, 1)); }
.euvimed-login .auth-panel .auth-remember small { font-size: calc(13px * var(--euvimed-font-scale, 1)); }
.euvimed-login .login-password-form > button { display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 46px; }
.euvimed-login .login-alternatives-title { font-size: calc(13px * var(--euvimed-font-scale, 1)); text-transform: uppercase; letter-spacing: .045em; color: var(--muted); margin: 27px 0 12px; }
.euvimed-login .login-alternatives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.euvimed-login .login-portal { grid-column: 1 / -1; }
.euvimed-login .login-access-card { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 3px; background: #fafcfc; }
.euvimed-login .login-access-card > i { font-size: 23px; color: var(--cadet-dark); }
.euvimed-login .login-access-card h3 { margin: 0 0 4px; font-size: calc(16px * var(--euvimed-font-scale, 1)); line-height: 1.3; }
.euvimed-login .login-access-card p { margin: 0 0 10px; color: var(--muted); font-size: calc(14px * var(--euvimed-font-scale, 1)); line-height: 1.5; }
.euvimed-login .auth-panel .login-access-card form { margin: 0; display: block; }
.euvimed-login .login-access-card .secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 36px; margin: 0; padding: 7px 10px; font-size: calc(14px * var(--euvimed-font-scale, 1)); line-height: 1.4; white-space: normal; text-decoration: none; }
.euvimed-login .login-pending { display: inline-block; border-radius: 3px; color: var(--muted); background: #eaf0f2; padding: 4px 7px; font-size: calc(13px * var(--euvimed-font-scale, 1)); }
.euvimed-login .auth-panel > .login-license-hint, .euvimed-login .login-security-hint { display: flex; align-items: flex-start; gap: 7px; margin: 14px 0 0; font-size: calc(13px * var(--euvimed-font-scale, 1)); line-height: 1.5; color: var(--muted); }
.euvimed-login .login-license-hint i { padding-top: 2px; }
.euvimed-login .login-footer-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; margin-top: 12px; }
.euvimed-login .login-footer-links .text-link { font-size: calc(14px * var(--euvimed-font-scale, 1)); }
.euvimed-login .login-error { display: block; margin: 0 0 18px; padding: 12px; font-size: calc(15px * var(--euvimed-font-scale, 1)); }
.euvimed-login .login-error p { margin: 5px 0 0; line-height: 1.5; }
@media (max-width: 760px) {
  .euvimed-login.auth-page .auth-shell { grid-template-columns: minmax(0, 1fr); width: calc(100% - 24px); margin: 20px auto; }
  .euvimed-login .login-brand-panel { padding: 22px; gap: 0; }
  .euvimed-login .login-brand { display: flex; align-items: center; gap: 17px; }
  .euvimed-login .login-brand img { width: 76px; height: 76px; padding: 8px; }
  .euvimed-login .login-brand strong { font-size: calc(27px * var(--euvimed-font-scale, 1)); }
  .euvimed-login .login-brand small { font-size: calc(10px * var(--euvimed-font-scale, 1)); }
  .euvimed-login .login-brand-copy, .euvimed-login .login-trust { display: none; }
  .euvimed-login.auth-page .auth-panel { padding: 23px 20px; }
  .euvimed-login .auth-panel h1 { font-size: calc(25px * var(--euvimed-font-scale, 1)); }
  .euvimed-login .login-methods a { gap: 5px; font-size: calc(14px * var(--euvimed-font-scale, 1)); }
}
@media (max-width: 480px) {
  .euvimed-login .login-alternatives { grid-template-columns: minmax(0, 1fr); }
}
