.wbf-candidate-portal {
    --wbf-cp-navy: #1f2a44;
    --wbf-cp-orange: #f59e0b;
    --wbf-cp-text: #526077;
    --wbf-cp-line: #dfe5ed;
    --wbf-cp-soft: #f6f8fb;
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: clamp(34px, 6vw, 76px) 0 clamp(50px, 7vw, 90px);
    color: var(--wbf-cp-navy);
    font-family: Inter, Arial, sans-serif !important;
    opacity: 1;
    transform: none;
    transition: opacity .45s ease, transform .45s cubic-bezier(.2,.75,.2,1);
}
.wbf-candidate-portal.is-enhanced { opacity: 0; transform: translateY(8px); }
.wbf-candidate-portal.is-enhanced.is-ready { opacity: 1; transform: none; }
.wbf-candidate-portal *, .wbf-candidate-portal *::before, .wbf-candidate-portal *::after { box-sizing: border-box; }
.wbf-candidate-portal h1,
.wbf-candidate-portal h2,
.wbf-candidate-portal h3 {
    color: var(--wbf-cp-navy) !important;
    font-family: "Archivo Black", Archivo, Inter, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
}
.wbf-cp-intro { max-width: 820px; margin-bottom: clamp(34px, 5vw, 58px); }
.wbf-cp-intro > span, .wbf-cp-label { display: block; margin: 0 0 9px; color: #69758a; font-size: 11px; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.wbf-cp-intro h1 { margin: 0 0 13px !important; font-size: clamp(39px, 6.3vw, 68px) !important; line-height: 1.01 !important; }
.wbf-cp-intro p { max-width: 700px; margin: 0; color: var(--wbf-cp-text); font-size: clamp(16px, 2vw, 19px); line-height: 1.62; }

.wbf-cp-progress { margin: 0 0 26px; }
.wbf-cp-progress > div { margin-bottom: 9px; display: flex; justify-content: space-between; gap: 18px; color: #687489; font-size: 12px; font-weight: 800; }
.wbf-cp-progress strong { color: var(--wbf-cp-navy); }
.wbf-cp-progress > i { height: 4px; display: block; overflow: hidden; border-radius: 99px; background: #e5eaf1; }
.wbf-cp-progress b { height: 100%; display: block; border-radius: inherit; background: var(--wbf-cp-navy); transform-origin: left; animation: wbfCpProgress .75s .2s both cubic-bezier(.2,.8,.2,1); }
@keyframes wbfCpProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.wbf-cp-notice { margin: -18px 0 30px; padding: 15px 17px; display: flex; align-items: center; gap: 8px; border: 1px solid #b9d9c1; border-radius: 10px; background: #f1f9f3; color: #285f34; line-height: 1.45; }
.wbf-cp-notice span { color: #426d4b; }
.wbf-cp-notice.is-error { border-color: #ecc2be; background: #fff4f2; color: #9b2f28; }
.wbf-cp-notice.is-error span { color: #a64c45; }

.wbf-cp-next { min-height: 205px; padding: clamp(25px, 4vw, 42px); display: flex; align-items: center; justify-content: space-between; gap: 38px; border: 1px solid var(--wbf-cp-line); border-radius: 16px; background: var(--wbf-cp-soft); }
.wbf-cp-next h2 { max-width: 680px; margin: 0 0 10px !important; font-size: clamp(27px, 4vw, 42px) !important; line-height: 1.08 !important; }
.wbf-cp-next p { max-width: 650px; margin: 0; color: var(--wbf-cp-text); line-height: 1.58; }

.wbf-cp-button,
.wbf-candidate-portal button.wbf-cp-button,
.wbf-candidate-portal a.wbf-cp-button {
    min-height: 50px !important;
    padding: 13px 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 30px !important;
    flex: 0 0 auto;
    border: 1px solid var(--wbf-cp-navy) !important;
    border-radius: 9px !important;
    background: var(--wbf-cp-navy) !important;
    background-color: var(--wbf-cp-navy) !important;
    background-image: none !important;
    color: #fff !important;
    font: 850 14px/1.2 Inter, Arial, sans-serif !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(31,42,68,.14) !important;
    appearance: none !important;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}
.wbf-cp-button:hover, .wbf-cp-button:focus { transform: translateY(-2px) !important; box-shadow: 0 15px 28px rgba(31,42,68,.2) !important; }
.wbf-cp-button.is-secondary { border-color: #cbd3df !important; background: #fff !important; color: var(--wbf-cp-navy) !important; box-shadow: none !important; }
.wbf-cp-button.is-loading { opacity: .65; pointer-events: none; }

.wbf-cp-overview-grid { margin-top: clamp(42px, 6vw, 72px); display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, .75fr); gap: clamp(36px, 6vw, 74px); align-items: start; }
.wbf-cp-overview-grid aside { padding: 3px 0 25px; border-top: 2px solid var(--wbf-cp-navy); border-bottom: 1px solid var(--wbf-cp-line); }
.wbf-cp-overview-grid aside .wbf-cp-label { margin-top: 20px; }
.wbf-cp-overview-grid aside h2 { margin: 0 0 10px !important; font-size: 24px !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
.wbf-cp-overview-grid aside p { color: var(--wbf-cp-text); font-size: 14px; line-height: 1.55; }
.wbf-cp-overview-grid aside a, .wbf-cp-builder-link a, .wbf-cp-privacy a { color: var(--wbf-cp-navy) !important; font-size: 13px; font-weight: 850; text-underline-offset: 4px; }
.wbf-cp-section-head { padding-bottom: 17px; display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 2px solid var(--wbf-cp-navy); }
.wbf-cp-section-head h2 { margin: 0 !important; font-size: clamp(25px, 3.4vw, 36px) !important; line-height: 1.08 !important; }
.wbf-cp-section-head > a { color: var(--wbf-cp-navy) !important; font-size: 12px; font-weight: 850; text-decoration: none !important; }
.wbf-cp-section-head > a:hover { transform: translateY(-1px); }

.wbf-cp-apps { display: grid; }
.wbf-cp-app { min-height: 106px; padding: 21px 0; display: grid; grid-template-columns: 56px minmax(0,1fr) auto; align-items: center; gap: 18px; border-bottom: 1px solid var(--wbf-cp-line); opacity: 0; transform: translateY(7px); animation: wbfCpRow .38s forwards ease; }
.wbf-cp-app:nth-child(2) { animation-delay: .06s; }.wbf-cp-app:nth-child(3) { animation-delay: .12s; }.wbf-cp-app:nth-child(4) { animation-delay: .18s; }
@keyframes wbfCpRow { to { opacity: 1; transform: none; } }
.wbf-cp-app time { color: #778297; font-size: 12px; font-weight: 850; text-transform: uppercase; }
.wbf-cp-app > div:nth-child(2) > span { color: #758095; font-size: 12px; font-weight: 750; }
.wbf-cp-app h3 { margin: 4px 0 0 !important; font-size: 18px !important; line-height: 1.28 !important; }
.wbf-cp-app > div:last-child { display: grid; justify-items: end; gap: 8px; text-align: right; }
.wbf-cp-app > div:last-child strong { color: var(--wbf-cp-navy); font-size: 12px; }
.wbf-cp-app > div:last-child a { color: #5f6b80 !important; font-size: 12px; font-weight: 800; text-decoration: none !important; }
.wbf-cp-app > div:last-child a:hover { color: var(--wbf-cp-navy) !important; transform: translateY(-1px); }
.wbf-cp-empty { padding: 28px 0; color: var(--wbf-cp-text); }
.wbf-cp-empty p { margin-top: 0; }.wbf-cp-empty a { color: var(--wbf-cp-navy) !important; font-weight: 850; }

.wbf-cp-list-section, .wbf-cp-form-section, .wbf-cp-cv-current, .wbf-cp-next, .wbf-cp-overview-grid > * { transition: opacity .45s ease, transform .45s ease; }
.wbf-candidate-portal.is-enhanced .wbf-cp-reveal { opacity: 0; transform: translateY(12px); }
.wbf-candidate-portal.is-enhanced .wbf-cp-reveal.is-visible { opacity: 1; transform: none; }

.wbf-cp-cv-current { min-height: 145px; padding: 25px 0; display: grid; grid-template-columns: minmax(100px,.35fr) minmax(0,1.4fr) auto; align-items: center; gap: 24px; border-top: 2px solid var(--wbf-cp-navy); border-bottom: 1px solid var(--wbf-cp-line); }
.wbf-cp-cv-current h2 { margin: 0 0 7px !important; font-size: clamp(23px,3vw,32px) !important; overflow-wrap: anywhere; }
.wbf-cp-cv-current p { margin: 0; color: var(--wbf-cp-text); }
.wbf-cp-cv-kind { max-width: 820px; margin: 22px 0 13px; padding: 17px 18px; border: 1px solid var(--wbf-cp-line); border-left: 4px solid var(--wbf-cp-navy); border-radius: 11px; background: #fff; }
.wbf-cp-cv-kind > span { display: inline-flex; color: var(--wbf-cp-navy); font-size: 11px; font-weight: 900; letter-spacing: .02em; text-transform: uppercase; }
.wbf-cp-cv-kind > p { margin: 6px 0 0; color: var(--wbf-cp-text); font-size: 13px; line-height: 1.55; }
.wbf-cp-cv-kind.is-external { border-left-color: var(--wbf-cp-orange); }
.wbf-cp-cv-kind + .wbf-cp-button { width: max-content; }
.wbf-cp-form-section { max-width: 820px; margin-top: clamp(42px,6vw,68px); }
.wbf-cp-form-section > h2 { margin: 0 0 24px !important; font-size: clamp(27px,4vw,40px) !important; }
.wbf-cp-form { display: grid; gap: 18px; }
.wbf-cp-form label { display: grid; gap: 7px; color: var(--wbf-cp-navy); font-size: 13px; font-weight: 850; }
.wbf-cp-form label > span { color: var(--wbf-cp-navy); }
.wbf-cp-form input:not([type="file"]) { width: 100%; min-height: 52px; padding: 13px 14px; border: 1px solid #cfd6e0; border-radius: 9px; outline: 0; background: #fff; color: var(--wbf-cp-navy); font: 500 16px/1.2 Inter,Arial,sans-serif; box-shadow: none; }
.wbf-cp-form input:not([type="file"]):focus { border-color: var(--wbf-cp-navy); box-shadow: 0 0 0 4px rgba(31,42,68,.09); }
.wbf-cp-form input:disabled { background: var(--wbf-cp-soft); color: #6e798d; }
.wbf-cp-form label small { color: #788397; font-size: 11px; font-weight: 650; }
.wbf-cp-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wbf-cp-fields label:last-child { grid-column: 1 / -1; }
.wbf-cp-form .wbf-cp-button { width: max-content; }
.wbf-cp-file { min-height: 105px; padding: 17px; display: flex !important; align-items: center; border: 1px dashed #aeb9ca; border-radius: 12px; background: var(--wbf-cp-soft); cursor: pointer; transition: border-color .18s ease, transform .18s ease; }
.wbf-cp-file:hover { border-color: var(--wbf-cp-navy); transform: translateY(-1px); }
.wbf-cp-file input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.wbf-cp-file b { display: block; margin-bottom: 5px; font-size: 16px; }
.wbf-cp-file small { display: block; }
.wbf-cp-builder-link { margin-top: 25px; padding-top: 20px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--wbf-cp-line); color: var(--wbf-cp-text); }
.wbf-cp-privacy { margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--wbf-cp-line); }
.wbf-cp-privacy h3 { margin: 0 0 8px !important; font-size: 19px !important; }.wbf-cp-privacy p { color: var(--wbf-cp-text); line-height: 1.55; }

.wbf-cp-auth { width: min(100%, 650px); margin-left: auto; margin-right: auto; }
.wbf-cp-auth .wbf-cp-intro { margin-bottom: 30px; }
.wbf-cp-auth .wbf-cp-button { width: 100%; justify-content: space-between !important; }
.wbf-cp-auth-note { margin: 18px 0 0; color: #768196; font-size: 12px; line-height: 1.55; text-align: center; }
.wbf-cp-quiet { display: block; margin-top: 17px; color: #6f7a8e !important; font-size: 13px; font-weight: 750; text-align: center; text-decoration: none !important; }
.wbf-cp-consent { margin: 25px 0; padding: 20px 0; border-top: 1px solid var(--wbf-cp-line); border-bottom: 1px solid var(--wbf-cp-line); }
.wbf-cp-consent h3 { margin: 0 0 8px !important; font-size: 19px !important; }.wbf-cp-consent p { color: var(--wbf-cp-text); font-size: 13px; line-height: 1.6; }.wbf-cp-consent a { color: var(--wbf-cp-navy) !important; font-weight: 850; }

.wbf-candidate-header .wbf-candidate-login-link { min-height: 38px; padding: 0 10px; display: inline-flex; align-items: center; color: #1f2a44 !important; font-size: 13px; font-weight: 850; text-decoration: none !important; }
.wbf-candidate-header .wbf-candidate-login-link:hover { transform: translateY(-1px); }
.wbf-candidate-header .wbf-rhm-cta, .wbf-candidate-header .wbf-rhm-toggle { background: #1f2a44 !important; background-color: #1f2a44 !important; color: #fff !important; }
.wbf-candidate-header .wbf-rhm-avatar { background: #1f2a44 !important; color: #fff !important; }
.wbf-candidate-header button { font-family: Inter,Arial,sans-serif !important; }

@media (max-width: 900px) {
    .wbf-cp-overview-grid { grid-template-columns: 1fr; }
    .wbf-cp-next { align-items: flex-start; flex-direction: column; }
    .wbf-cp-cv-current { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .wbf-candidate-portal { width: calc(100% - 32px); max-width: calc(100vw - 32px); margin-inline: auto; padding-top: 28px; }
    .wbf-cp-intro h1 { font-size: 40px !important; }
    .wbf-cp-next { min-height: 0; padding: 22px 19px; }
    .wbf-cp-next .wbf-cp-button { width: 100%; justify-content: space-between !important; }
    .wbf-cp-notice { align-items: flex-start; flex-direction: column; }
    .wbf-cp-section-head { align-items: flex-start; flex-direction: column; }
    .wbf-cp-app { grid-template-columns: 44px minmax(0,1fr); }
    .wbf-cp-app > div:last-child { grid-column: 2; justify-items: start; text-align: left; }
    .wbf-cp-fields { grid-template-columns: 1fr; }.wbf-cp-fields label:last-child { grid-column: auto; }
    .wbf-cp-form .wbf-cp-button { width: 100%; justify-content: space-between !important; }
    .wbf-cp-cv-kind + .wbf-cp-button { width: 100%; justify-content: space-between !important; }
    .wbf-cp-builder-link { align-items: flex-start; flex-direction: column; }
    .wbf-candidate-header .wbf-candidate-login-link { display: none; }
    .wbf-cp-code-input { font-size: 22px !important; font-weight: 850 !important; letter-spacing: .12em; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .wbf-candidate-portal, .wbf-candidate-portal *, .wbf-candidate-portal *::before, .wbf-candidate-portal *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
