/* Login only: keep registration, captcha pages and shared cards unchanged. */
.auth-shell.auth-shell--login {
  margin: 8px auto 24px;
  padding-top: 0;
}
.auth-shell--login .auth-mark {
  width: 40px;
  height: 40px;
  margin-inline: auto;
  margin-bottom: 8px !important;
}
.auth-shell--login .auth-mark img { width: 38px; height: 38px; }
.auth-shell--login .auth-intro { margin-bottom: 12px !important; }
.auth-shell--login .auth-intro h1 { margin: 4px 0 !important; }
.auth-shell--login form.card.form {
  margin-top: 12px;
  padding: 18px !important;
  gap: 12px;
}
.auth-shell--login form.card.form > label {
  margin-bottom: 0 !important;
}
.auth-shell--login form.card.form label { gap: 5px; }
.auth-shell--login form.card.form input { margin-top: 0 !important; }
.auth-shell--login form.card.form > button[type="submit"] { margin-top: 0 !important; }
.auth-shell--login .auth-password-field { display: grid; gap: 5px; }
.auth-shell--login .auth-password-control {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 8px;
}
.auth-shell--login .auth-password-control input { flex: 1 1 150px; min-width: 0; }
.auth-shell--login .auth-password-control .auth-password-toggle {
  flex: 0 0 auto;
  width: auto;
  min-height: 44px;
  padding: 8px 10px;
  font-size: 12px;
  white-space: normal;
}
.auth-shell--login [hidden] { display: none !important; }
.auth-shell--login .auth-email-code { display: grid; gap: 5px; }
.auth-shell--login .auth-email-code p,
.auth-shell--login .auth-code-request p { margin: 0; line-height: 1.45; }
.auth-shell--login .auth-login-methods,
.auth-shell--login .auth-code-request { margin-top: 14px; text-align: left; }
.auth-shell--login .auth-methods-title,
.auth-shell--login #auth-code-request-title { margin: 0; font-size: 14px; }
.auth-shell--login .auth-login-methods { display: grid; gap: 8px; }
.auth-shell--login .auth-login-methods .auth-alt { margin: 0; }
.auth-shell--login .auth-login-methods .btn { width: 100%; min-height: 44px; }
.auth-shell--login .auth-code-request {
  padding-top: 12px;
  border-top: 1px solid var(--border);
}
.auth-shell--login .auth-code-request form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.auth-shell--login .auth-code-request form label,
.auth-shell--login .auth-code-request form > :not(input):not(button) { grid-column: 1 / -1; }
.auth-shell--login .auth-code-request form button { width: auto; min-height: 44px; }
.auth-shell--login .auth-code-request input[type="hidden"] { display: none; }
.auth-shell--login .auth-account-links { margin-top: 12px !important; line-height: 1.5; }
/* T83/T88 append blocks after the shell: visible, usable fallback without JS. */
.auth-shell--login ~ .auth-alt {
  max-width: 460px;
  margin: 12px auto 0;
}
.auth-shell--login ~ .auth-alt .btn { min-height: 44px; }
.auth-shell--login #tg-login { margin: 10px 0; }
@media (max-width: 380px) {
  .auth-shell--login .auth-code-request form { grid-template-columns: minmax(0, 1fr); }
  .auth-shell--login .auth-code-request form button { width: 100%; }
}
