.onboarding-shell{background:linear-gradient(180deg,#edf5fd 0,#f7fafc 28%,#f5f8fb 100%)}
.onboarding-container{max-width:1020px}.onboarding-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr);gap:28px;align-items:center;margin-bottom:26px}.onboarding-intro h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:.45rem 0}.onboarding-intro p{color:var(--union-muted);margin-bottom:0}.onboarding-intro ol{margin:0;padding:24px 24px 24px 46px;background:#fff;border:1px solid var(--union-line);border-radius:18px;box-shadow:0 12px 35px rgba(10,43,80,.07)}.onboarding-intro li+li{margin-top:8px}
.onboarding-form{padding:0;overflow:hidden;box-shadow:0 20px 65px rgba(10,43,80,.12)}.onboarding-honeypot{position:absolute!important;left:-9999px!important}.onboarding-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none;background:#071e38;color:#b7cde2}.onboarding-progress li{position:relative;display:flex;align-items:center;gap:9px;padding:16px 14px;font-size:.78rem;font-weight:800;border-right:1px solid rgba(255,255,255,.12)}.onboarding-progress li:last-child{border:0}.onboarding-progress span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff}.onboarding-progress li.is-active{background:#0c4f89;color:#fff}.onboarding-progress li.is-complete{color:#fff}.onboarding-progress li.is-complete span{background:#1ebc60}
.onboarding-step{padding:clamp(24px,5vw,48px)}.js-onboarding .onboarding-step{display:none}.js-onboarding .onboarding-step.is-active{display:block;animation:onboarding-in .28s ease-out}@keyframes onboarding-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.onboarding-heading{max-width:730px;margin-bottom:28px}.onboarding-heading>span{color:var(--union-blue);font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.onboarding-heading h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:.2em 0}.onboarding-heading p{margin:0;color:var(--union-muted)}
.onboarding-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.onboarding-choice{position:relative;display:grid;grid-template-columns:46px 1fr;column-gap:14px;align-items:center;min-height:122px;padding:22px;border:2px solid var(--union-line);border-radius:18px;background:#fff;cursor:pointer;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s}.onboarding-choice:hover{border-color:#7fb5e4;transform:translateY(-2px);box-shadow:0 14px 32px rgba(10,43,80,.1)}.onboarding-choice:has(input:checked){border-color:var(--union-blue);box-shadow:0 0 0 4px rgba(20,103,184,.11);background:#f4f9ff}.onboarding-choice input{position:absolute;opacity:0}.onboarding-choice__icon{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--union-sky);color:var(--union-blue);font-size:1.35rem;font-weight:900}.onboarding-choice strong{font-size:1rem;color:var(--union-navy)}.onboarding-choice small{color:var(--union-muted);line-height:1.45}.onboarding-choice--link{padding-right:58px;border-color:#87b9e5;background:linear-gradient(145deg,#f8fbff,#edf6ff)}.onboarding-choice--link:hover{border-color:var(--union-blue);background:#f1f8ff}.onboarding-choice__arrow{position:absolute;right:20px;top:50%;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--union-blue);color:#fff;font-size:1.15rem;font-weight:900;transform:translateY(-50%)}.onboarding-note{margin-top:20px;padding:14px 16px;border-radius:13px;background:#edf7ff;color:#27435e}.onboarding-note a{font-weight:800;color:var(--union-blue)}
.onboarding-grid{gap:20px}.onboarding-grid .union-field label{color:#183854}.onboarding-grid input,.onboarding-grid select{min-height:48px}.onboarding-grid input:focus,.onboarding-grid select:focus{outline:3px solid rgba(20,103,184,.15);border-color:var(--union-blue)}
.onboarding-documents{display:grid;grid-template-columns:1fr 1fr;gap:18px}.onboarding-upload{position:relative;display:grid;grid-template-columns:54px 1fr;gap:4px 14px;align-items:center;padding:22px;border:2px dashed #9bb9d3;border-radius:18px;background:#f8fbfe;cursor:pointer}.onboarding-upload:hover{border-color:var(--union-blue);background:#f1f8ff}.onboarding-upload__icon{grid-row:1/4;display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--union-navy);color:#fff;font-size:.76rem;font-weight:900}.onboarding-upload small{color:var(--union-muted)}.onboarding-upload input{position:absolute;width:1px;height:1px;opacity:0}.onboarding-upload em{font-style:normal;color:var(--union-blue);font-weight:850;font-size:.86rem}.onboarding-upload.has-file{border-style:solid;border-color:#1b9d57;background:#f0fbf4}.onboarding-consent{display:flex;gap:13px;align-items:flex-start;margin:24px 0;padding:18px;border:1px solid #b7cbe0;border-radius:15px;background:#fff}.onboarding-consent input{flex:0 0 20px;width:20px;height:20px;margin-top:2px}.onboarding-security{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:13px;background:#071e38;color:#d7eaff}.onboarding-security strong{color:#fff}.onboarding-security span{text-align:right;font-size:.86rem}
.onboarding-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px clamp(24px,5vw,48px);border-top:1px solid var(--union-line);background:#fbfdff}.onboarding-actions .union-button[hidden]{display:none}.onboarding-actions .union-button{min-width:150px}.onboarding-actions [data-prev]{margin-right:auto}
@media(max-width:760px){.onboarding-intro,.onboarding-choice-grid,.onboarding-documents{grid-template-columns:1fr}.onboarding-progress{grid-template-columns:repeat(4,1fr)}.onboarding-progress li{justify-content:center;padding:12px 6px;font-size:0}.onboarding-progress li span{font-size:.78rem}.onboarding-security{display:block}.onboarding-security span{display:block;text-align:left;margin-top:5px}.onboarding-actions{position:sticky;bottom:0;z-index:5}.onboarding-actions .union-button{min-width:0;flex:1}}
@media(prefers-reduced-motion:reduce){.onboarding-step{animation:none!important}.onboarding-choice{transition:none}}
/* Carga accesible por arrastre para respaldos y foto de perfil. */
.onboarding-upload{transition:border-color .18s,background .18s,transform .18s}.onboarding-upload.is-dragover{border-color:var(--union-blue);background:#eaf5ff;box-shadow:0 0 0 4px rgba(20,103,184,.14);transform:translateY(-1px)}.onboarding-upload small{line-height:1.45}.onboarding-upload__profile-note{grid-column:2;color:#35617d;font-size:.78rem;line-height:1.4}.onboarding-upload__preview{display:none;grid-column:1/-1;align-items:center;gap:10px;margin-top:8px;color:#17633b;font-size:.82rem;font-weight:750}.onboarding-upload__preview img{width:48px;height:48px;border:1px solid #b8d9c3;border-radius:50%;object-fit:cover;background:#fff}.onboarding-upload__preview.is-visible{display:flex}
.onboarding-account,.onboarding-signature{margin-top:24px;padding:22px;border:1px solid #b7cbe0;border-radius:18px;background:#fff}.onboarding-account h3,.onboarding-signature legend{margin:0 0 8px;color:var(--union-navy);font-size:1.15rem;font-weight:900}.onboarding-account>p{margin-top:0;color:var(--union-muted)}.onboarding-signature{display:flex;flex-wrap:wrap;gap:14px 24px}.onboarding-signature legend{padding:0 7px}.onboarding-signature>label{font-weight:750}.onboarding-signature__pad{flex:1 0 100%;padding-top:8px}.onboarding-signature__pad canvas{display:block;width:100%;height:190px;border:2px dashed #8baac5;border-radius:14px;background:#fff;touch-action:none;cursor:crosshair}.onboarding-signature__pad .union-button{margin-top:10px}.onboarding-signature__pad .onboarding-consent{margin-bottom:0}
.onboarding-signature__pad canvas{user-select:none;-webkit-user-select:none;overscroll-behavior:contain}

/* El formulario se carga después del tema general: estos pares evitan texto claro sobre blanco. */
html[data-kedpro-theme=dark] .onboarding-shell{background:linear-gradient(180deg,#071a29 0,#0b2233 35%,#081a29 100%)}
html[data-kedpro-theme=dark] .onboarding-intro :is(h2,strong){color:var(--ui-text)!important}
html[data-kedpro-theme=dark] .onboarding-intro p{color:var(--ui-muted)!important}
html[data-kedpro-theme=dark] .onboarding-intro ol,
html[data-kedpro-theme=dark] .onboarding-choice,
html[data-kedpro-theme=dark] .onboarding-upload,
html[data-kedpro-theme=dark] .onboarding-consent,
html[data-kedpro-theme=dark] .onboarding-account,
html[data-kedpro-theme=dark] .onboarding-signature,
html[data-kedpro-theme=dark] .onboarding-actions{background:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important}
html[data-kedpro-theme=dark] .onboarding-choice:has(input:checked){background:#173d56!important;border-color:#55b8ff!important;box-shadow:0 0 0 4px rgba(85,184,255,.16)}
html[data-kedpro-theme=dark] .onboarding-choice--link{background:linear-gradient(145deg,#102d43,#173d56)!important;border-color:#4f829b!important}
html[data-kedpro-theme=dark] .onboarding-choice--link:hover{border-color:#55b8ff!important;background:#173d56!important}
html[data-kedpro-theme=dark] .onboarding-choice :is(strong,small),
html[data-kedpro-theme=dark] .onboarding-account :is(h3,p),
html[data-kedpro-theme=dark] .onboarding-signature :is(legend,label),
html[data-kedpro-theme=dark] .onboarding-grid .union-field label{color:var(--ui-text)!important}
html[data-kedpro-theme=dark] .onboarding-choice small,
html[data-kedpro-theme=dark] .onboarding-account>p,
html[data-kedpro-theme=dark] .onboarding-upload small,
html[data-kedpro-theme=dark] .onboarding-upload__profile-note{color:var(--ui-muted)!important}
html[data-kedpro-theme=dark] .onboarding-choice__icon{background:#214b66;color:#8fd1ff}
html[data-kedpro-theme=dark] .onboarding-note{background:#173d56;color:#e6f5ff;border:1px solid #4f829b}
html[data-kedpro-theme=dark] .onboarding-note a{color:#8fd1ff}
html[data-kedpro-theme=dark] .onboarding-upload:hover,
html[data-kedpro-theme=dark] .onboarding-upload.is-dragover{background:#173d56!important;border-color:#55b8ff!important}
html[data-kedpro-theme=dark] .onboarding-upload.has-file{background:#153e35!important;border-color:#55c997!important}
html[data-kedpro-theme=dark] .onboarding-actions{box-shadow:0 -10px 28px rgba(0,0,0,.18)}
