/* Ajustes finales compartidos: evitan recortes en pantallas cortas y ordenan el perfil/campos. */
.auth-gate {
  align-items: flex-start;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(12px, 4vh, 36px) 16px;
}
.auth-gate .auth-box {
  box-sizing: border-box;
  width: min(calc(100vw - 32px), 480px) !important;
  max-width: 480px;
  min-width: 0;
  flex: 0 1 auto;
  margin: auto;
  padding: clamp(22px, 4vh, 34px) clamp(18px, 6vw, 36px);
  gap: 12px;
  text-align: left;
}
.auth-gate .auth-box .logo__img,
.auth-gate .auth-box > a img { height: 64px; max-width: 240px; margin: 0; }
.auth-gate .auth-box form { width: 100%; display: grid; gap: 13px; }
.auth-gate .auth-box .login-account-picker { width: 100%; }
.auth-gate .auth-box .login-field { width: 100%; min-width: 0; }
.auth-gate .auth-box .login-field input { width: 100%; margin: 0; }
.auth-gate .auth-box .login-remember { align-self: flex-start; }
.auth-gate .auth-box .login-submit { min-height: 46px; }
.auth-gate .auth-box .login-security-note { margin: 0; }
.account-greeting__welcome { overflow-wrap: anywhere; }

@media (max-width: 480px) {
  .auth-gate { display: block; width: 100%; box-sizing: border-box; overflow-x: hidden; padding: 12px; }
  .auth-gate .auth-box { width: calc(100vw - 24px) !important; max-width: 480px; margin: 0 auto; padding: 22px 18px; }
  .auth-gate .auth-box .login-account { grid-template-columns: 30px minmax(0, 1fr) 14px; gap: 7px; padding: 9px 7px; }
  .auth-gate .auth-box .login-account__icon { width: 30px; height: 30px; }
  .auth-gate .auth-box .login-account__copy small { font-size: 9px; }
  .admin-topbar { padding-inline: 12px; }
  .admin-topbar .account-greeting { flex: 1 1 auto; }
  .admin-topbar .btn-logout { padding-inline: 9px; font-size: 11px; }
}

@media (max-height: 720px) {
  .auth-gate { padding-block: 10px; }
  .auth-gate .auth-box { padding-block: 18px; gap: 9px; }
  .auth-gate .auth-box .logo__img,
  .auth-gate .auth-box > a img { height: 48px; }
  .auth-gate .auth-box form { gap: 9px; }
}
