/* Account forms live inside the public shell and inherit each site's theme. */
body.auth-interface .page-content { flex: 1 0 auto; }
body.auth-interface .auth-page {
  background: var(--site-auth-page-background, var(--site-background));
  min-height: 0;
  padding: clamp(48px, 8vw, 112px) 24px 48px;
}
body.auth-interface .auth-shell {
  background: transparent;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: none;
  padding: 0;
}
body.auth-interface .auth-card {
  background: var(--site-public-panel-surface, var(--site-surface));
  border: 1px solid var(--site-public-panel-border, var(--site-border));
  border-radius: var(--site-public-panel-radius, var(--site-panel-radius, 16px));
  box-shadow: var(--site-public-panel-shadow, 0 16px 48px rgb(0 0 0 / 8%));
  color: var(--site-public-panel-color, var(--site-text));
  max-width: 480px;
  min-width: 0;
  padding: clamp(32px, 4vw, 48px) clamp(24px, 4vw, 40px) clamp(24px, 4vw, 40px);
  width: 100%;
}
body.auth-interface .auth-card--wide { max-width: 640px; }
body.auth-interface .auth-card__header { margin-bottom: 28px; }
body.auth-interface .auth-card__symbol {
  align-items: center;
  background: var(--site-accent-soft);
  border-radius: var(--site-form-radius, 10px);
  color: var(--site-primary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  margin-bottom: 20px;
  width: 44px;
}
body.auth-interface .auth-card__title {
  color: var(--site-public-panel-color, var(--site-text));
  font-family: var(--site-heading-font, var(--cc-font-primary));
  font-size: var(--site-auth-title-size);
  font-weight: var(--site-heading-weight, var(--cc-weight-bold));
  line-height: var(--cc-line-heading);
  margin: 0 0 12px;
  text-transform: var(--site-heading-transform, none);
}
body.auth-interface .auth-card__lede {
  color: var(--site-public-panel-muted, var(--site-muted-text));
  font-weight: var(--cc-weight-regular);
  line-height: var(--cc-line-body);
  margin: 0;
}
body.auth-interface .auth-card > :is(.feedback-alert, .feedback-validation) { margin: 0 0 24px; }
body.auth-interface .auth-card > :is(.feedback-alert, .feedback-validation) h2 { font-size: 18px; }
body.auth-interface .auth-form { display: grid; gap: 24px; margin: 0; }
body.auth-interface .auth-form > * { min-width: 0; }
body.auth-interface .auth-form .form-label { color: var(--site-public-panel-color, var(--site-text)); margin-bottom: 8px; }
body.auth-interface .auth-field-label { align-items: baseline; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; margin-bottom: 8px; }
body.auth-interface .auth-field-label .form-label { margin: 0; }
body.auth-interface .auth-field-label a { color: var(--site-primary); font-size: 14px; }
body.auth-interface .auth-password { position: relative; }
body.auth-interface .auth-password .form-control { padding-right: 72px; }
body.auth-interface .auth-password__toggle {
  background: transparent;
  border: 0;
  border-radius: var(--site-form-radius, 10px);
  color: var(--site-primary);
  font-family: inherit;
  font-size: var(--admin-type-body);
  font-weight: var(--cc-weight-semibold);
  height: 100%;
  min-width: 64px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: 0;
  transition: background-color 160ms ease;
}
body.auth-interface .auth-password__toggle:hover { background: color-mix(in srgb, var(--site-primary) 6%, transparent); }
body.auth-interface .auth-password__toggle:focus-visible { outline: 2px solid var(--site-accent); outline-offset: 2px; }
body.auth-interface .auth-hint { color: var(--site-public-panel-muted, var(--site-muted-text)); font-size: 14px; line-height: var(--cc-line-body); margin: 8px 0 0; }
body.auth-interface .auth-remember { align-items: center; display: flex; gap: 8px; min-height: 32px; padding: 0; }
body.auth-interface .auth-remember .form-check-input { flex-shrink: 0; height: 18px; margin: 0; width: 18px; }
body.auth-interface .auth-remember .form-check-label { align-items: center; display: inline-flex; min-height: 32px; }
body.auth-interface .auth-actions { display: flex; flex-wrap: wrap; gap: 8px; }
body.auth-interface .auth-links:not(:has(a)) { display: none; }
body.auth-interface .auth-code { font-variant-numeric: tabular-nums; }
body.auth-interface .auth-danger-zone h2 { font-size: 20px; margin: 0 0 8px; }
body.auth-interface .auth-danger-zone p { color: var(--site-muted-text); margin-bottom: 16px; }
@media (prefers-reduced-motion: no-preference) {
  body.auth-interface .auth-card { animation: auth-card-arrive 420ms cubic-bezier(.2,.7,.3,1) both; }
}
@media (prefers-reduced-motion: reduce) {
  body.auth-interface .auth-password__toggle { transition: none; }
}
@keyframes auth-card-arrive {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 575.98px) {
  body.auth-interface .auth-page { padding: 48px 16px 32px; }
  body.auth-interface .auth-card { padding: 32px 24px 24px; }
  body.auth-interface .auth-form .form-control { font-size: 16px; min-height: 44px; }
  body.auth-interface .auth-remember, body.auth-interface .auth-remember .form-check-label { min-height: 44px; }
  body.auth-interface .auth-links a { align-items: center; display: inline-flex; min-height: 44px; }
}

/* Account pages keep the public brand and legal information without footer menus. */
body.auth-interface .site-footer--account {
  flex-shrink: 0;
  background: var(--site-footer-background, var(--site-primary)) !important;
  border-top: var(--site-footer-border, 1px solid var(--site-border));
  color: var(--site-footer-color, #fff) !important;
  padding: 32px 0;
}
body.auth-interface .site-footer--account::after { content: none; display: none; }
body.auth-interface .account-footer__content { align-items: center; display: flex; flex-wrap: wrap; gap: 16px 32px; }
body.auth-interface .account-footer__brand { color: inherit; display: inline-flex; font-weight: 600; text-decoration: none; }
body.auth-interface .account-footer__logo { height: auto; max-height: 40px; max-width: 100%; object-fit: contain; object-position: left; width: 176px; }
body.auth-interface .account-footer__copyright { font-size: 13px; margin: 0; }
body.auth-interface .account-footer__legal { display: flex; flex-basis: 100%; flex-wrap: wrap; gap: 8px 20px; }
body.auth-interface .account-footer__legal a { color: inherit; font-size: 13px; text-underline-offset: 3px; }
@media (max-width: 575.98px) {
  body.auth-interface .account-footer__content { gap: 16px; }
  body.auth-interface .account-footer__copyright { flex-basis: 100%; }
  body.auth-interface .account-footer__legal { gap: 0 20px; }
  body.auth-interface .account-footer__legal a { align-items: center; display: inline-flex; min-height: 44px; }
}
