.onboarding-page { margin:0; color:#182c31; background:#fff; font:16px/1.5 Arial,Helvetica,sans-serif; }
.onboarding-page * { box-sizing:border-box; letter-spacing:0; }
.onboarding-page header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px; background:#fff; border-bottom:1px solid #d7e0e3; }
.onboarding-brand { display:flex; align-items:center; gap:12px; font-weight:bold; text-decoration:none; }
.onboarding-brand img { width:36px; height:36px; }
.onboarding-page a { color:#087c6e; }
.onboarding-page main { max-width:1120px; padding:48px 28px; margin:auto; }
.onboarding-page h1 { font-size:36px; line-height:1.2; font-weight:600; margin:0 0 32px; overflow-wrap:anywhere; }
#onboardingForm { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
#onboardingForm label:not(.onboarding-check) { display:grid; gap:6px; font-weight:600; }
#onboardingForm input:not([type=checkbox]), #onboardingForm select, #onboardingForm textarea { width:100%; min-width:0; min-height:46px; font:inherit; color:inherit; border:1px solid #bccbd0; background:white; border-radius:6px; padding:10px; }
#onboardingForm textarea { resize:vertical; }
#onboardingForm :focus-visible { outline:2px solid #078b78; outline-offset:2px; }
.onboarding-wide { grid-column:1/-1; }
#onboardingForm .onboarding-check { display:flex; align-items:flex-start; gap:12px; min-height:44px; }
.onboarding-check input { flex:0 0 22px; width:22px; height:22px; margin:2px 0 0; accent-color:#078b78; }
#onboardingForm label.onboarding-trap { display:none; }
.onboarding-submit { border:0; border-radius:6px; background:#078b78; color:#fff; min-height:48px; padding:12px; font:600 16px Arial,sans-serif; cursor:pointer; }
.onboarding-submit:disabled { opacity:.6; cursor:wait; }
.onboarding-page footer { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; font-size:14px; }
.onboarding-consent { white-space:pre-wrap; overflow-wrap:anywhere; }
#onboardingStatus:not(:empty) { padding:16px; border:1px solid #bccbd0; border-radius:6px; overflow-wrap:anywhere; }
#onboardingStatus[data-state=success] { background:#effaf6; color:#075c4f; border-color:#078b78; font-weight:600; }
#onboardingStatus[data-state=error] { background:#fff4f4; color:#922e38; border-color:#bd6870; }
.onboarding-test { padding:10px; border-left:3px solid #ad7619; background:#fff8e8; }
.onboarding-page [hidden] { display:none !important; }
#onboardingForm fieldset { border:0; padding:16px 0 0; margin:0; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
#onboardingForm legend { font-size:24px; font-weight:600; padding:0 0 16px; }
.onboarding-progress { color:#53656b; margin:0; font-size:14px; }
.onboarding-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:12px 0 0; gap:16px; }
.onboarding-stages li { border-bottom:2px solid #d7e0e3; padding:16px 0; color:#53656b; overflow-wrap:anywhere; }
.onboarding-stages li[aria-current=step] { color:#087c6e; border-color:#078b78; font-weight:700; }
#onboardingForm input:not([type=checkbox]), #onboardingForm select { min-height:52px; }
#onboardingForm .onboarding-submit { justify-self:end; min-width:240px; }
.onboarding-actions { display:flex; justify-content:space-between; gap:16px; }
.onboarding-actions button, .onboarding-dialog-header button { min-height:44px; min-width:44px; padding:10px 16px; border:1px solid #bccbd0; border-radius:6px; background:#fff; color:#182c31; font:inherit; cursor:pointer; }
.onboarding-actions #onboardingNext { background:#078b78; color:white; border-color:#078b78; margin-left:auto; }
#onboardingReview { margin:0; overflow-wrap:anywhere; }
#onboardingReview dt { color:#53656b; font-size:14px; }
#onboardingReview dd { margin:0 0 12px; white-space:pre-wrap; }
#onboardingConsentDialog { width:min(680px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:1px solid #bccbd0; border-radius:8px; color:#182c31; }
#onboardingConsentDialog::backdrop { background:rgb(0 0 0 / .45); }
.onboarding-dialog-header { display:flex; align-items:flex-start; gap:16px; justify-content:space-between; }
.onboarding-dialog-header h2 { margin-top:0; font-size:22px; }
.onboarding-dialog-header button { flex-shrink:0; font-size:24px; }
.onboarding-help { margin-top:40px; border-top:1px solid #d7e0e3; padding-top:16px; }
.onboarding-help summary { padding:12px 0; cursor:pointer; font-weight:600; }
.onboarding-help details { border-bottom:1px solid #d7e0e3; }
.onboarding-check input { appearance:none; border:1px solid #74878d; border-radius:3px; background:#fff; display:grid; place-content:center; }
.onboarding-check input:checked { background:#078b78; border-color:#078b78; }
.onboarding-check input:checked::after { content:''; width:10px; height:6px; border-left:3px solid white; border-bottom:3px solid white; transform:rotate(-45deg) translateY(-1px); }
@media(max-width:540px) { #onboardingForm fieldset { grid-template-columns:minmax(0,1fr); } }
@media(max-width:540px) { #onboardingForm { grid-template-columns:minmax(0,1fr); } .onboarding-page header { padding:16px; } }
@media(max-width:540px) { .onboarding-page main { padding:28px 16px; } .onboarding-page h1 { font-size:28px; margin-bottom:24px; } .onboarding-stages { gap:8px; font-size:14px; } #onboardingForm .onboarding-submit { width:100%; min-width:0; } .onboarding-actions button { flex:1; } }
