/* Connection-only adaptation for the downloaded authentication frontend. */
html[data-auth-mode="signin"] .signup-only,
html[data-auth-mode="signup"] .signin-only {
  display: none !important;
}

html[data-auth-mode="forgot"] .auth-main,
html[data-auth-mode="signin"] .forgot-main,
html[data-auth-mode="signup"] .forgot-main {
  display: none !important;
}

.auth-mode-panel {
  overflow: hidden;
  transition: height .28s cubic-bezier(.22, 1, .36, 1), opacity .22s cubic-bezier(.22, 1, .36, 1);
}

.auth-tab:focus-visible,
.auth-google:focus-visible,
.auth-submit:focus-visible {
  outline: 2px solid #ff7a00;
  outline-offset: 2px;
}

.auth-check-error,
.auth-field-error {
  color: #c81e1e;
  font-size: .75rem;
  font-weight: 500;
  margin-top: .25rem;
}

.auth-strength[hidden],
.auth-status[hidden] {
  display: none !important;
}

.auth-status {
  border: 1px solid rgba(15, 181, 166, .28);
  border-radius: 14px;
  background: rgba(255, 255, 255, .55);
  color: #3a4e55;
  font-size: .8rem;
  line-height: 1.45;
  margin-top: 1rem;
  padding: .75rem .875rem;
}

.auth-shake {
  animation: auth-shake .42s ease-in-out;
}

@keyframes auth-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-8px); }
  40% { transform: translateX(7px); }
  60% { transform: translateX(-5px); }
  80% { transform: translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
  .auth-mode-panel { transition: none; }
  .auth-shake { animation: none; }
}
