/* Scoped to member onboarding; shared headers and listing pages stay unchanged. */
.ca-onboarding { --flow-green:#1f4e5f; --flow-ink:#25343b; --flow-muted:#5d6b72; --flow-line:#dce4e7; color:var(--flow-ink); max-width:1180px; letter-spacing:0; }
.ca-onboarding *, .ca-onboarding *::before, .ca-onboarding *::after { box-sizing:border-box; letter-spacing:0; }
.ca-onboarding [hidden] { display:none !important; }
.ca-onboarding .flow-heading { padding:8px 0 24px; border-bottom:1px solid var(--flow-line); margin-bottom:28px; }
.ca-onboarding h1, .ca-onboarding .ca-hero-title, .ca-onboarding .ca-title { font-size:1.8rem; font-weight:700; line-height:1.25; margin:0 0 10px; }
.ca-onboarding h2, .ca-onboarding .ca-card-title { font-size:1.15rem; line-height:1.4; color:var(--flow-ink); }
.ca-onboarding p { color:var(--flow-muted); }
.ca-onboarding .flow-eyebrow { color:var(--flow-green); font-size:.85rem; font-weight:700; margin-bottom:8px; }
.ca-onboarding .flow-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:48px; align-items:start; }
.ca-onboarding .flow-main { min-width:0; }
.ca-onboarding .flow-aside { border-left:1px solid var(--flow-line); padding-left:28px; position:sticky; top:100px; }
.ca-onboarding .flow-aside img { width:100%; height:165px; object-fit:contain; background:#f4f7f5; border-radius:6px; margin-bottom:16px; }
.ca-onboarding .flow-aside h2 { margin-bottom:12px; }
.ca-onboarding .flow-preview-title { font-size:1.08rem; font-weight:700; overflow-wrap:anywhere; margin:12px 0 8px; }
.ca-onboarding .flow-preview-copy { white-space:pre-line; font-size:.9rem; overflow-wrap:anywhere; }
.ca-onboarding .flow-preview-tag { color:var(--flow-green); font-size:.82rem; font-weight:600; }
.ca-onboarding .flow-note { border-left:3px solid #dfa934; background:#fffbef; padding:12px 16px; color:#655226; font-size:.9rem; margin:20px 0; }
.ca-onboarding .flow-steps { display:flex; list-style:none; padding:0; margin:0 0 24px; gap:8px; }
.ca-onboarding .flow-steps li { flex:1; min-width:0; }
.ca-onboarding .flow-step { width:100%; border:0; border-bottom:3px solid var(--flow-line); background:transparent; text-align:left; padding:8px 0 12px; color:var(--flow-muted); font:inherit; font-size:.86rem; line-height:1.35; display:flex; gap:8px; align-items:center; min-height:56px; }
.ca-onboarding .flow-step-number { width:26px; height:26px; flex:0 0 26px; background:#edf1ee; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; }
.ca-onboarding .flow-step[aria-current="step"] { border-color:var(--flow-green); color:var(--flow-green); font-weight:700; }
.ca-onboarding .flow-step[aria-current="step"] .flow-step-number, .ca-onboarding .flow-step.is-done .flow-step-number { background:var(--flow-green); color:white; }
.ca-onboarding .flow-status { color:var(--flow-muted); font-size:.82rem; margin-bottom:16px; }
.ca-onboarding .flow-panel { animation:flow-arrive .16s ease-out; }
.ca-onboarding .flow-actions { display:flex; gap:12px; align-items:center; justify-content:space-between; border-top:1px solid var(--flow-line); padding-top:20px; margin-top:24px; }
.ca-onboarding .flow-actions .btn-primary { margin-left:auto; }
.ca-onboarding .btn, .ca-onboarding .ca-form-actions .btn { min-height:46px; border-radius:6px; padding:11px 18px; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-size:.9rem; line-height:1.35; text-transform:none; letter-spacing:0; box-shadow:none; font-weight:600; text-align:center; white-space:normal; }
.ca-onboarding .btn-primary { background:var(--flow-green); border-color:var(--flow-green); color:#fff; }
.ca-onboarding .btn-primary:hover { background:#163946; }
.ca-onboarding .btn-light, .ca-onboarding .btn-outline-secondary { background:white; border:1px solid #acbcb2; color:var(--flow-ink); }
.ca-onboarding .btn-link { color:var(--flow-green); }
.ca-onboarding :is(.form-control,.form-select,.ca-input,.ca-select) { border:1px solid #afbbb4; border-radius:6px; min-height:46px; padding:10px 12px; font-size:1rem; line-height:1.5; background-color:white; color:var(--flow-ink); width:100%; }
.ca-onboarding textarea.form-control { min-height:120px; resize:vertical; }
.ca-onboarding :is(input,select,textarea,button,a):focus-visible { outline:3px solid #e2b23e; outline-offset:3px; }
.ca-onboarding :is(.form-control,.ca-input,.form-select,.ca-select):focus { border-color:var(--flow-green); box-shadow:0 0 0 3px #1f4e5f18; }
.ca-onboarding label { font-size:.92rem; font-weight:600; color:var(--flow-ink); }
.ca-onboarding :is(.ca-form-card,.ca-surface-card,.ca-fragment-card) { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; }
.ca-onboarding .ca-fragment-card + .ca-fragment-card { padding-top:22px; border-top:1px solid var(--flow-line); }
.ca-onboarding .ca-form-card { padding-bottom:20px; }
.ca-onboarding :is(.ca-hero,.ca-head) { background:transparent; border:0; border-bottom:1px solid var(--flow-line); border-radius:0; box-shadow:none; padding:8px 0 24px; }
.ca-onboarding :is(.ca-hero,.ca-head)::after { display:none; }
.ca-onboarding :is(.ca-hero-kpis,.ca-helper,.ca-kicker,.ca-progress-box) { display:none; }
.ca-onboarding .ca-hero .col-lg-8 { width:100%; }
.ca-onboarding .ca-hero .col-lg-4 { display:none; }
.ca-onboarding :is(.ca-hero-subtitle,.ca-subtitle) { max-width:720px; font-size:1rem; }
.ca-onboarding .ca-card-subtitle { margin-bottom:20px; color:var(--flow-muted); font-size:.9rem; }
.ca-onboarding :is(.ca-small-note,.ca-field-note,.ca-fragment-note,.form-text,.ca-field-help) { font-size:.82rem; line-height:1.5; color:var(--flow-muted); }
.ca-onboarding :is(.ca-error,.ca-err,.text-danger):empty { display:none; }
.ca-onboarding .flow-error { color:#a32929; display:block; font-size:.83rem; margin:6px 0 0; line-height:1.4; }
.ca-onboarding [aria-invalid="true"] { border-color:#b43b36; }
.ca-onboarding .flow-counter { text-align:right; font-size:.75rem; color:var(--flow-muted); display:block; margin-top:4px; }
.ca-onboarding .flow-review { border-bottom:1px solid var(--flow-line); padding:18px 0; }
.ca-onboarding .flow-review-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ca-onboarding .flow-review-head h3 { font-size:1rem; margin:0; }
.ca-onboarding .flow-review dl { display:grid; grid-template-columns:150px minmax(0,1fr); gap:8px 16px; margin:14px 0 0; font-size:.9rem; }
.ca-onboarding .flow-review dt { color:var(--flow-muted); font-weight:400; }
.ca-onboarding .flow-review dd { margin:0; overflow-wrap:anywhere; white-space:pre-line; }
.ca-onboarding .flow-icon-button { border:1px solid var(--flow-line); border-radius:6px; background:white; min-width:40px; min-height:40px; color:var(--flow-green); display:inline-flex; align-items:center; justify-content:center; }
.ca-onboarding .flow-password { position:relative; }
.ca-onboarding .flow-password input { padding-right:52px; }
.ca-onboarding .flow-password .flow-icon-button { position:absolute; right:4px; top:3px; border:0; }
.ca-onboarding .flow-password-rules { display:flex; flex-wrap:wrap; gap:6px 16px; list-style:none; padding:0; margin:10px 0 0; font-size:.8rem; color:var(--flow-muted); }
.ca-onboarding .flow-password-rules li.is-met { color:var(--flow-green); }
.ca-onboarding .flow-password-rules i { width:16px; }
.ca-onboarding .flow-signup { max-width:1040px; margin:auto; }
.ca-onboarding .flow-signup .flow-layout { grid-template-columns:minmax(0,560px) 1fr; }
.ca-onboarding .flow-signup .flow-aside { position:static; margin-top:10px; }
.ca-onboarding .flow-signup .flow-aside img { height:90px; object-fit:contain; background:white; }
.ca-onboarding .flow-signup #registrationForm > .row > div { margin-top:10px; }
.ca-onboarding .flow-checkbox { display:flex; align-items:flex-start; gap:10px; margin:20px 0; }
.ca-onboarding .flow-checkbox input { margin-top:4px; flex:0 0 auto; }
.ca-onboarding .flow-checkbox label { font-weight:400; }
.ca-onboarding .flow-otp { font-size:1.6rem !important; text-align:center; font-variant-numeric:tabular-nums; max-width:260px; margin:auto; }
.ca-onboarding .flow-otp-form { margin:24px auto; max-width:420px; }
.ca-onboarding .flow-otp-form .btn { margin-top:14px; width:100%; }
.ca-onboarding .flow-signup-status { padding:14px 0 28px; display:flex; gap:22px; color:var(--flow-muted); list-style:none; font-size:.85rem; }
.ca-onboarding .flow-signup-status [aria-current] { color:var(--flow-green); font-weight:700; }
.ca-onboarding .ca-check-card { border-radius:6px; background:white; padding:10px 12px; cursor:pointer; }
.ca-onboarding .ca-check-card.is-selected { background:#ecf6ef; border-color:var(--flow-green); }
.ca-onboarding .ca-inline-inputs.ca-inline-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ca-onboarding .ca-logo-preview { border-radius:6px; width:92px; height:92px; }
.ca-onboarding .ca-logo-preview img { object-fit:contain; }
.ca-onboarding .ca-logo-wrap { gap:12px; }
.ca-onboarding .ca-logo-wrap input[type="file"] { max-width:100%; }
.ca-onboarding :is(.ca-image-card,.ca-image-preview,.ca-image-tip,.ca-image-badge) { border-radius:6px; }
.ca-onboarding .ca-image-card { padding:10px; background:white; }
.ca-onboarding .ca-image-actions .btn { padding:8px; font-size:.82rem; }
.ca-onboarding .ca-image-preview img { object-fit:contain; }
.ca-onboarding .ca-image-placeholder { background:#f5f8f5; color:#65756b; }
.ca-onboarding :is(.ca-images-grid,.ca-image-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ca-onboarding .ca-image-meta { min-height:0; font-size:.78rem; }
.ca-onboarding .ca-images-head,.ca-onboarding .ca-image-tip { display:none; }
.ca-onboarding .ca-code-input { letter-spacing:0 !important; }
.ca-onboarding .flow-submit-error { margin-top:12px; }
.ca-onboarding .registration-hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.ca-onboarding .flow-step { overflow-wrap:anywhere; scroll-margin-top:100px; }
.ca-onboarding .flow-cancel { display:inline-block; margin-top:20px; color:var(--flow-muted); font-size:.85rem; }
.ca-onboarding .flow-checkbox { flex-wrap:wrap; }
.ca-onboarding .flow-checkbox label { flex:1; }
.ca-onboarding .flow-checkbox .flow-error { order:3; width:100%; }
.ca-onboarding .ca-type-box { border-radius:6px; }
.ca-onboarding .ca-check-card input { accent-color:var(--flow-green); }
@keyframes flow-arrive { from { opacity:.4; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(max-width:991px) {
 .ca-onboarding .flow-layout,.ca-onboarding .flow-signup .flow-layout { grid-template-columns:1fr; gap:24px; }
 .ca-onboarding .flow-aside { position:static; border-left:0; border-top:1px solid var(--flow-line); padding:24px 0 0; }
 .ca-onboarding .flow-signup .flow-aside { display:none; }
}
@media(max-width:575px) {
 .ca-onboarding h1,.ca-onboarding .ca-hero-title,.ca-onboarding .ca-title { font-size:1.5rem; }
 .ca-onboarding .flow-steps { gap:6px; }
 .ca-onboarding .flow-step { flex-direction:column; align-items:flex-start; font-size:.73rem; min-height:80px; }
 .ca-onboarding .flow-signup-status { gap:12px; font-size:.78rem; }
 .ca-onboarding .ca-inline-inputs.ca-inline-3,.ca-onboarding .ca-inline-inputs.ca-inline-2 { grid-template-columns:1fr; }
 .ca-onboarding .flow-review dl { grid-template-columns:1fr; gap:3px; }
 .ca-onboarding .flow-review dd { margin-bottom:10px; }
 .ca-onboarding .flow-actions { gap:8px; }
 .ca-onboarding .flow-actions .btn { padding:10px 12px; }
 .ca-onboarding .ca-check-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .ca-onboarding * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
