/* Bounded employer signup, loaded only on password/social completion pages. */
.ovd-signup { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .9fr); gap: 28px; max-width: 1160px; margin: 28px auto 48px; align-items: start; overflow-wrap: anywhere; }
.ovd-signup *, .ovd-signup *::before, .ovd-signup *::after { box-sizing: border-box; }
.ovd-signup-card { min-width: 0; padding: 34px; border: 1px solid var(--ovd-border); border-radius: 26px; background: var(--ovd-surface); box-shadow: 0 16px 55px -40px #4f46e566; }
.ovd-signup-mobile-art { display:none; }
.ovd-signup-heading { margin-block-end: 22px; }
.ovd-signup .ovd-signup-kicker { margin: 0 0 8px; color: var(--ovd-brand); font-size: 12px; font-weight: 700; }
.ovd-signup h1 { margin: 0; font-size: clamp(24px, 3vw, 30px); line-height: 1.35; }
.ovd-signup-heading > p:last-child { font-size: 14px; line-height: 1.7; margin: 8px 0 0; color: var(--ovd-text-2); }
.ovd-signup :is(form, .ovd-input, .ovd-label) { margin: 0; }
.ovd-signup .ovd-label { display: block; font-size: 13px; font-weight: 600; margin-block-end: 6px; }
.ovd-signup .ovd-input { width: 100%; max-width: 100%; min-height: 44px; padding: 10px 12px; font: inherit; font-size: 15px; border: 1px solid var(--ovd-border-strong); border-radius: var(--ovd-radius-sm, 8px); background: var(--ovd-surface); color: var(--ovd-text); }
.ovd-signup .ovd-input[aria-invalid="true"] { border-color: var(--ovd-danger); }
.ovd-signup :is(a, button, input, select, summary, [tabindex]):focus-visible { outline: 3px solid var(--ovd-brand); outline-offset: 3px; }
.ovd-signup .ovd-btn { min-height: 44px; padding: 11px 16px; margin: 0; font-size: 14px; white-space: normal; line-height: 1.5; justify-content: center; }
.ovd-signup-google .ovd-btn { width: 100%; display: flex; gap: 10px; align-items: center; border: 1px solid var(--ovd-border-strong); background: var(--ovd-surface); color: var(--ovd-text); }
.ovd-signup-google-mark { font-family: Arial, sans-serif; font-size: 19px; font-weight: 700; color: var(--ovd-brand); }
.ovd-signup-google > p { text-align: center; font-size: 12px; color: var(--ovd-text-2); margin: 7px 0 0; }
.ovd-signup-divider { display: flex; gap: 12px; align-items: center; margin: 16px 0; font-size: 12px; color: var(--ovd-text-2); }
.ovd-signup-divider::before, .ovd-signup-divider::after { content: ""; height: 1px; background: var(--ovd-border); flex: 1; }
.ovd-signup-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.ovd-signup-form > .ovd-signup-submit { display: flex; width: 100%; gap: 10px; margin-block-start: 20px; background: var(--ovd-brand); color: var(--ovd-surface); }
.ovd-signup .ovd-signup-help { font-size: 12px; color: var(--ovd-text-2); line-height: 1.6; margin: 6px 0 0; }
.ovd-signup-error { font-size: 12px; color: var(--ovd-danger); line-height: 1.6; margin: 6px 0 0; }
.ovd-signup .ovd-signup-errors { padding: 14px; margin: 0 0 18px; background: var(--ovd-danger-soft); box-shadow: none; border-color: var(--ovd-danger); }
.ovd-signup-errors p { margin: 0 0 8px; font-size: 13px; }
.ovd-signup-errors ul { padding-inline-start: 20px; margin: 0; font-size: 13px; }
.ovd-signup .ovd-signup-offer { padding: 14px 0; margin: 0; border: 0; box-shadow: none; border-radius: 0; background: transparent; font-size: 12px; line-height: 1.7; }
.ovd-signup .ovd-signup-offer p { margin: 0 0 6px; font-size: 12px; }
.ovd-signup .ovd-signup-offer summary { font-size: 12px; color: var(--ovd-text-2); cursor: pointer; padding-block: 4px; }
.ovd-signup-optional { border-block-start: 1px solid var(--ovd-border); padding-block-start: 8px; }
.ovd-signup-optional > summary { font-size: 13px; color: var(--ovd-brand); font-weight: 600; padding-block: 12px; cursor: pointer; min-height: 44px; }
.ovd-signup-optional > .ovd-signup-fields { margin-block: 14px; }
.ovd-signup-optional > .ovd-form-grid { margin-block-start: 16px; gap: 14px; }
.ovd-signup-optional > .ovd-muted { font-size: 12px; line-height: 1.7; }
.ovd-signup-check { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 13px; margin-block-start: 10px; }
.ovd-signup-check input { width: 18px; height: 18px; }
.ovd-signup-honeypot { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip-path: inset(50%); overflow: hidden; opacity: 0; }
.ovd-signup .ovd-signup-login { font-size: 12px; line-height: 1.7; margin: 18px 0 0; color: var(--ovd-text-2); }
.ovd-signup-preview { padding:34px; min-width:0; background:#141b38; border:1px solid #232d50; border-radius:26px; color:#fff; overflow:hidden; }
.ovd-signup-preview .ovd-signup-kicker { color:#bdc3ff; }
.ovd-signup-preview h2 { font-size:34px; line-height:1.25; letter-spacing:-.025em; margin:0 0 18px; color:#fff; }
.ovd-signup-preview > p:not(.ovd-signup-kicker) { font-size:14px; line-height:1.8; color:#d0d6ed; }
.ovd-signup-illustration { background:#e7ebff; border-radius:80px 24px 24px 24px; margin-block:24px; overflow:hidden; }
.ovd-signup-illustration img { width:100%; height:260px; display:block; object-fit:cover; object-position:50% 58%; }
.ovd-signup-preview ol { counter-reset: signup-step; padding: 0; margin: 24px 0 0; list-style: none; display: grid; gap: 20px; }
.ovd-signup-preview li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 2px 12px; font-size: 14px; }
.ovd-signup-preview li::before { counter-increment:signup-step; content:counter(signup-step); grid-row:span 2; display:grid; place-items:center; width:32px; height:32px; background:#293253; color:#dce0ff; border:1px solid #465175; border-radius:11px; font-size:13px; font-weight:700; }
.ovd-signup-preview li span { color:#c4cce6; font-size:13px; line-height:1.7; }
.ovd-signup-identity { font-size: 13px; margin: 0 0 18px; padding: 12px; background: var(--ovd-surface-2); border-radius: var(--ovd-radius-sm, 8px); color: var(--ovd-text-2); }
@media (max-width: 900px) { .ovd-signup { max-width:560px; grid-template-columns:minmax(0,1fr); margin-block-start:12px; } .ovd-signup-preview { display:none; } .ovd-signup-mobile-art { display:block; float:inline-end; width:62px; height:62px; object-fit:cover; border-radius:18px; margin-inline-start:12px; margin-block-end:8px; } .ovd-signup-heading::after { content:""; display:block; clear:both; } }
@media (max-width: 560px) { .ovd-signup { margin-block: 0 24px; gap: 16px; } .ovd-signup-card { padding: 22px 18px; } .ovd-signup h1 { font-size: 23px; } .ovd-signup-heading { margin-block-end: 16px; } .ovd-signup-fields { gap: 12px; } .ovd-signup-optional .ovd-form-grid { grid-template-columns: minmax(0, 1fr); } }
