.recovery-page,
.recovery-page h1,
.recovery-page h2,
.recovery-page h3,
.recovery-page button,
.recovery-page input,
.recovery-page .button,
.recovery-page .badge,
.recovery-page .eyebrow,
.recovery-page .field > span,
.recovery-page .field > label {
  font-weight: 400;
}


/* Padrão tipográfico final desta janela e de seus popups. */
html body *:not(#geducacional-font-size-14),
html body *:not(#geducacional-font-size-14)::before,
html body *:not(#geducacional-font-size-14)::after {
  
  font-weight: 400 !important;
}
html body table,
html body table *,
html body .data-table,
html body .data-table * {
  
  font-weight: 400 !important;
  letter-spacing: normal !important;
}
html body table th,
html body .data-table th {
  line-height: 1.3 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
html body table td,
html body .data-table td {
  line-height: 1.35 !important;
}

.recovery-page { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); background: linear-gradient(130deg, var(--color-primary-50), var(--color-background)); }
.recovery-card { width: min(520px, 100%); display: grid; gap: 24px; padding: clamp(22px, 5vw, 36px); }
.recovery-form { display: grid; gap: 18px; }
.recovery-form .input { min-height: 48px; }
.recovery-form .button { min-height: 48px; }
@media (max-width: 600px) {
  .recovery-page { align-items: start; }
  .recovery-card { margin-top: clamp(18px, 8vh, 64px); gap: 20px; border-radius: 18px; }
  .recovery-form .input { font-size: 16px; }
}
