/* Registration, account recovery, legal, marketing and application utility pages. */
html body { --primary: #078eaf; --primary-dark: #06748e; --accent: #078eaf; --border: #e1e8eb; --text: #18252f; --muted: #647580; --navy: #152d3a; --navy2: #078eaf; --blue: #078eaf; --blue-l: #299fa3; --teal: #078eaf; }
html body :is(.reg-header, .header, .topbar) { background: #fff; border-bottom: 1px solid var(--af-line); box-shadow: none; }
html body :is(.reg-header, .header-inner) { padding-top: 18px; padding-bottom: 18px; }
html body .reg-logo { display: flex; align-items: center; gap: 12px; color: #18252f; font-size: 24px; letter-spacing: -.04em; }
html body .reg-logo img { width: 42px; height: 42px; object-fit: contain; }
html body .reg-card { box-shadow: var(--af-shadow); overflow: hidden; }
html body .reg-card-header { background: #fff; padding: 28px 30px 22px; }
html body .reg-card-title { font-size: 28px; }
html body :is(.reg-card-step, .eyebrow, .progress-labels) { color: #078eaf; }
html body .reg-card-body { padding: 28px 30px; }
html body .reg-card-footer { background: #fafcfc; border-top: 1px solid var(--af-line); padding: 18px 30px; }
html body :is(.progress-fill, .step-dot.active, .step-dot.done) { background: #078eaf; }
html body .progress-track { background: #dce8e9; height: 5px; }
html body .login-page { background: #f5f7f8; }
html body .page { background: transparent; }
html body .legal-document { background: #fff; border: 1px solid var(--af-line); border-radius: 12px; padding: 28px; }
html body .hero { background: #152d3a; color: #fff; }
html body .hero h1 { color: #fff; }
html body .hero p { color: #c6d5dc; }
html body .hero h1 .accent { background: none; color: #68c9c2; -webkit-text-fill-color: #68c9c2; }
html body .hero::before { opacity: .25; }
html body .btn-primary { box-shadow: none; }
html body :is(.footer, .reg-footer) { background: #152d3a; color: #c6d5dc; }
html body .btn-outline { border: 1px solid #cdd9de; background: #fff; color: #263d47; }
@media (max-width: 600px) {
  html body .reg-card { margin-left: 12px; margin-right: 12px; width: auto; }
  html body :is(.reg-card-header, .reg-card-body, .reg-card-footer) { padding: 20px; }
  html body .reg-card-title { font-size: 24px; }
  html body .legal-document { padding: 20px; }
  html body .reg-card-footer { display: flex; flex-wrap: wrap; gap: 10px; }
  html body .reg-card-footer > * { max-width: 100%; }
}
