/* Intake review uses shared form, table, choice and status components. */
.onboarding-account-panel { margin-top: 32px; }
.onboarding-account-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 12px; }
.onboarding-account-actions > form { display: flex; min-width: 0; margin: 0; }
.onboarding-account-club { grid-column: 1 / -1; }
.onboarding-account-actions .button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; height: 100%; margin: 0; padding: 12px 16px; white-space: normal; overflow-wrap: anywhere; text-align: center; }
@media (max-width: 639px) { .onboarding-account-actions { grid-template-columns: minmax(0, 1fr); } }
.onboarding-signout { margin-top: 24px; }
.onboarding-signout button { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--color-text-muted); font: inherit; text-decoration: underline; cursor: pointer; }
.onboarding-filter { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.onboarding-filter .form-field { flex: 1 1 220px; }
.onboarding-review { display: grid; gap: 24px; }
.onboarding-section { min-width: 0; }
.onboarding-section .section-header { align-items: start; flex-wrap: wrap; gap: 12px; }
.onboarding-section h2 { overflow-wrap: anywhere; }
.onboarding-form { display: grid; gap: 16px; max-width: 720px; margin-top: 16px; }
.public-information-page .onboarding-form .form-field > label { display: block; }
.onboarding-name-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.onboarding-fields { display: flow-root; min-width: 0; min-inline-size: 0; margin: 0; padding: 16px; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
/* In-flow heading avoids WebKit's stale intrinsic legend width on viewport changes. */
.onboarding-fields legend { float: left; width: 100%; max-width: 100%; box-sizing: border-box; white-space: normal; overflow-wrap: anywhere; padding: 0; margin-bottom: 12px; font-weight: 700; }
.onboarding-fields > :not(legend) { clear: both; }
.onboarding-fields > :not(legend) + :not(legend) { margin-top: 12px; }
.onboarding-fields p { margin: 0; }
.onboarding-muted { color: var(--color-text-muted); }
.onboarding-notice { padding: 16px; margin: 16px 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.onboarding-disclosure { margin-top: 16px; border-top: 1px solid var(--color-border); padding-top: 8px; }
.onboarding-disclosure > summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-weight: 650; overflow-wrap: anywhere; }
.onboarding-history { padding-left: 22px; }
.onboarding-history li + li { margin-top: 16px; }
.onboarding-history p { margin: 6px 0; white-space: normal; overflow-wrap: anywhere; }
.onboarding-review dd, .onboarding-review p { overflow-wrap: anywhere; }
.onboarding-steps { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 24px; }
.onboarding-steps a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; }
.onboarding-steps [aria-current] { font-weight: 700; border-bottom: 2px solid var(--color-text); }
.onboarding-child-summary { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--color-border); }
.onboarding-link { overflow-wrap: anywhere; word-break: break-all; }
@media (max-width: 639px) { .onboarding-name-fields { grid-template-columns: minmax(0, 1fr); } .onboarding-fields { padding: 12px; } .onboarding-form > .button { width: 100%; } .onboarding-filter > .button { width: 100%; } }
@media print { .onboarding-form, .onboarding-disclosure { display: none !important; } }

/* Family review keeps names visible in native navigation and avoids nested forms. */
.onboarding-review--family .section-header { align-items: flex-start; flex-wrap: wrap; gap: 8px 16px; }
.onboarding-review--family .section-header h2 { overflow-wrap: anywhere; }
.onboarding-review--family .section-header .section-description { margin: 0; }
.onboarding-review--family > .onboarding-section { min-width: 0; }
.onboarding-review--family select { max-width: 100%; }
.onboarding-review--family #family-approval .button { width: 100%; }

/* Keep the table scrollable when JavaScript cannot build the mobile rows. */
.onboarding-table .table-responsive { position: relative; overflow-x: auto; }

.public-language { justify-content: flex-end; margin-bottom: 24px; }
