.rb-onboarding { margin: 0; background: var(--rb-bg); color: var(--rb-text); font-family: var(--rb-font-sans); }
.rb-onboarding-shell { width: min(1080px, 100%); margin: 0 auto; padding: 48px 24px; box-sizing: border-box; }
.rb-onboarding-shell > .rb-card { max-width: 660px; margin: 8vh auto 0; padding: 32px; }
.rb-onboarding h1 { font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.15; margin: 0; }
.rb-onboarding h2 { font-size: 1.6rem; line-height: 1.25; margin: 0; }
.rb-onboarding p { line-height: 1.65; }
.rb-onboarding .rb-eyebrow { margin: 0; color: var(--rb-muted); text-transform: uppercase; font-size: .75rem; letter-spacing: .08em; font-weight: 650; }
.rb-onboarding-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; }
.rb-onboarding-nav { align-self: start; position: sticky; top: 24px; }
.rb-onboarding-nav ol { padding: 0; margin: 20px 0 0; list-style: none; display: grid; gap: 8px; }
.rb-onboarding-nav button { display: grid; width: 100%; gap: 4px; text-align: left; white-space: normal; justify-content: start; }
.rb-onboarding-nav button[aria-current="step"] { border-color: var(--rb-accent); background: var(--rb-accent-soft); }
.rb-onboarding-nav small { color: var(--rb-muted); font-weight: 400; }
.rb-onboarding-content { min-width: 0; padding: 32px; }
.rb-onboarding-form { display: grid; gap: 18px; margin-top: 24px; }
.rb-onboarding .rb-field input, .rb-onboarding .rb-field select, .rb-onboarding .rb-field textarea { box-sizing: border-box; width: 100%; font: inherit; padding: 12px; border: 1px solid var(--rb-border); border-radius: var(--rb-radius-md); background: var(--rb-surface); color: var(--rb-text); }
.rb-onboarding .rb-field input[type="checkbox"] { width: 18px; height: 18px; padding: 0; }
.rb-onboarding .rb-field small, .rb-onboarding-note { color: var(--rb-muted); line-height: 1.5; }
.rb-onboarding-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.rb-onboarding-status { padding: 12px 16px; background: var(--rb-surface-soft); border-radius: var(--rb-radius-md); line-height: 1.6; }
.rb-onboarding-status[hidden] { display: none; }
.rb-field[hidden] { display: none; }
.rb-onboarding-status.is-error { background: #fff1f0; color: var(--rb-danger); }
.rb-onboarding-summary { display: grid; gap: 12px; padding: 0; list-style: none; }
.rb-onboarding-summary li { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--rb-border-soft); padding: 12px 0; }
.rb-onboarding-summary span { color: var(--rb-muted); }
.rb-recovery-code { display: block; font: 650 1.8rem var(--rb-font-mono); letter-spacing: .16em; padding: 24px; background: var(--rb-surface-soft); border-radius: var(--rb-radius-md); text-align: center; user-select: all; }
.rb-onboarding :focus-visible { outline: 3px solid var(--rb-accent); outline-offset: 3px; }
.rb-weekly-hours { border: 1px solid var(--rb-border); border-radius: var(--rb-radius-md); padding: 16px; min-width: 0; }
.rb-weekly-hours legend { padding: 0 6px; font-weight: 600; }
.rb-weekly-hours > small { display: block; color: var(--rb-muted); line-height: 1.5; }
.rb-weekly-hours-row { display: grid; gap: 12px; margin: 16px 0; padding: 16px 0; border-bottom: 1px solid var(--rb-border-soft); }
.rb-weekly-hours-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rb-weekly-hours-fields .rb-field { min-width: 0; }
.rb-weekly-hours-fields label { font-size: .85rem; }
.rb-weekly-hours-row > button { justify-self: start; }
.rb-weekly-hours:disabled { opacity: .6; }
@media (max-width: 760px) {
  .rb-onboarding-shell { padding: 20px 12px; }
  .rb-onboarding-layout { grid-template-columns: 1fr; gap: 12px; }
  .rb-onboarding-nav { position: static; }
  .rb-onboarding-nav ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rb-onboarding-content, .rb-onboarding-shell > .rb-card { padding: 22px; }
  .rb-onboarding-summary li { flex-direction: column; gap: 4px; }
  .rb-weekly-hours { padding: 12px; }
  .rb-weekly-hours-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
