.wbf-route-builder,
.wbf-candidate-route,
.wbf-route-followup,
.wbf-route-manager { box-sizing: border-box; }
.wbf-route-builder *,
.wbf-candidate-route *,
.wbf-route-followup *,
.wbf-route-manager * { box-sizing: border-box; }

.wbf-route-manager { margin-top: 28px; padding: 28px; }
.wbf-route-manager__head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.wbf-route-manager__head h2 { margin:5px 0 8px; }
.wbf-route-manager__head p { margin:0; max-width:720px; }
.wbf-route-status { border-radius:999px; background:#eef2ff; color:#1f2a44; font-weight:800; padding:8px 12px; white-space:nowrap; }
.wbf-route-manager__actions { display:flex; justify-content:flex-end; margin-top:20px; }

.wbf-route-builder { --route-border:#dfe4ec; --route-soft:#f7f8fb; color:#1f2a44; }
.wbf-route-builder label { display:grid; gap:6px; font-weight:700; color:#1f2a44; }
.wbf-route-builder input[type="text"],
.wbf-route-builder input[type="number"],
.wbf-route-builder textarea,
.wbf-route-builder select { width:100%; min-height:42px; border:1px solid #cfd6e1; border-radius:9px; background:#fff; color:#1f2a44; padding:9px 11px; }
.wbf-route-builder select[multiple] { min-height:82px; }
.wbf-route-builder small { color:#667085; font-weight:500; }
.wbf-route-builder__top { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:18px; background:var(--route-soft); border:1px solid var(--route-border); border-radius:14px; }
.wbf-route-toggle { display:flex!important; align-items:center; gap:9px!important; }
.wbf-route-toggle input { width:18px; height:18px; }
.wbf-route-builder__columns { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:22px; }
.wbf-route-builder__section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.wbf-route-builder__section-head h3 { margin:0; }
.wbf-route-node { padding:16px; border:1px solid var(--route-border); border-radius:14px; background:#fff; margin-bottom:12px; display:grid; gap:13px; box-shadow:0 5px 16px rgba(31,42,68,.05); }
.wbf-route-node.is-result { border-left:4px solid #f59e0b; }
.wbf-route-node__head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.wbf-route-node__head span { display:flex; gap:5px; }
.wbf-route-answers { display:grid; gap:8px; }
.wbf-route-answer { display:grid; grid-template-columns:minmax(120px,1fr) minmax(150px,1.2fr) 28px; gap:7px; align-items:center; }
.wbf-route-answer .button-link-delete,
.wbf-route-step .button-link-delete { font-size:20px; text-decoration:none; }
.wbf-route-builder__followup { margin-top:22px; padding:18px; background:var(--route-soft); border:1px solid var(--route-border); border-radius:14px; }
.wbf-route-builder__followup h3 { margin-top:0; }
.wbf-route-builder__followup-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; align-items:end; }
.wbf-route-step { display:grid; grid-template-columns:28px 1fr 28px; gap:8px; align-items:center; margin:8px 0; }
.wbf-route-step > span { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:#1f2a44; color:#fff; font-weight:800; }
.wbf-route-builder__validation { margin-top:14px; padding:13px 16px; background:#fff7ed; border:1px solid #fed7aa; border-radius:11px; color:#9a3412; }
.wbf-route-builder__validation ul { margin:7px 0 0 18px; }
.wbf-route-builder__validation .is-ok { color:#166534; }
.wbf-route-empty { padding:16px; border:1px dashed #cfd6e1; border-radius:12px; color:#667085; }

.wbf-route-immersive-open { overflow:hidden!important; }
.wbf-candidate-route { --wbf-route-color:#1f2a44; display:none; width:100%; max-width:920px; margin:0 auto; border:1px solid #e3e7ee; border-radius:24px; background:#fff!important; color:#1f2a44!important; overflow:hidden; box-shadow:0 22px 60px rgba(31,42,68,.12); font-family:Inter,Arial,sans-serif!important; }
.wbf-candidate-route.is-immersive { position:fixed!important; inset:0!important; right:0!important; bottom:0!important; z-index:999999!important; width:100%!important; max-width:100%!important; min-width:0!important; height:100vh!important; height:100svh!important; margin:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; display:flex!important; flex-direction:column!important; overflow:hidden!important; background:#fff!important; transform:none!important; }
.wbf-candidate-route.is-dismissed { display:none!important; }
.wbf-candidate-route__brand { flex:0 0 auto; min-height:72px; display:flex; align-items:center; justify-content:center; gap:12px; padding:12px 22px; border-bottom:1px solid #edf0f4; background:#fff!important; color:#1f2a44!important; font-size:13px!important; font-weight:800!important; }
.wbf-candidate-route__brand img { width:auto; max-width:125px; height:44px; object-fit:contain; }
.wbf-candidate-route__stage { position:relative; width:100%!important; max-width:100%!important; min-width:0!important; min-height:0; flex:1 1 auto; display:grid; overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior-x:none; touch-action:pan-y; background:radial-gradient(circle at 12% 18%,#f2f5f9 0,transparent 27%),radial-gradient(circle at 88% 82%,#f6f7fa 0,transparent 25%),#fff!important; }
.wbf-route-screen { position:relative; z-index:1; width:min(100%,820px); max-width:100%!important; min-width:0!important; min-height:100%; margin:0 auto; padding:40px clamp(24px,7vw,70px); display:flex; flex-direction:column; justify-content:center; overflow-wrap:anywhere; animation:wbfRouteIn .36s ease both; background:transparent!important; color:#1f2a44!important; font-family:Inter,Arial,sans-serif!important; }
.wbf-route-screen.is-result { justify-content:flex-start; min-height:auto; padding-top:30px; padding-bottom:30px; }
.wbf-route-screen.is-intro { text-align:center; align-items:center; background:linear-gradient(145deg,#fff 0%,#f5f7fb 100%); transition:opacity .34s ease,transform .34s ease; }
.wbf-route-screen.is-intro.is-leaving { opacity:0; transform:translateY(-8px); }
.wbf-route-screen.is-intro h1 { max-width:760px; }
.wbf-route-letter { display:inline-block; opacity:0; transform:translateY(9px); animation:wbfLetterWelcome .4s cubic-bezier(.22,.8,.35,1) forwards; animation-delay:calc(var(--wbf-letter-index) * 24ms); }
.wbf-route-screen.is-intro > p { opacity:0; transform:translateY(5px); animation:wbfIntroSubtitle .45s ease .48s forwards; margin-left:auto!important; margin-right:auto!important; }
.wbf-route-welcome-check { min-height:78px; margin-top:17px; display:flex; flex-direction:column; align-items:center; gap:8px; color:#7a8496; font:700 12px/1.2 Inter,Arial,sans-serif; opacity:0; transform:translateY(7px); transition:opacity .3s ease,transform .3s ease,color .3s ease; }
.wbf-route-welcome-check.is-active { opacity:1; transform:none; }
.wbf-route-welcome-check svg { width:48px; height:48px; overflow:visible; }
.wbf-route-welcome-check circle,
.wbf-route-welcome-check path { fill:none; stroke:var(--wbf-route-color); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.wbf-route-welcome-check circle { stroke:#dde4ec; stroke-dasharray:139; stroke-dashoffset:139; transform:rotate(-90deg); transform-origin:50% 50%; }
.wbf-route-welcome-check path { stroke-dasharray:34; stroke-dashoffset:34; }
.wbf-route-welcome-check.is-active circle { animation:wbfWelcomeCircle .72s cubic-bezier(.55,.05,.35,1) forwards; }
.wbf-route-welcome-check.is-complete path { animation:wbfWelcomeCheck .38s cubic-bezier(.25,.8,.35,1) forwards; }
.wbf-route-welcome-check.is-complete { color:#1f2a44; }
.wbf-route-screen.is-intro.is-reduced .wbf-route-letter,
.wbf-route-screen.is-intro.is-reduced > p,
.wbf-route-screen.is-intro.is-reduced .wbf-route-welcome-check { opacity:1; transform:none; animation:none; }
.wbf-route-screen.is-intro.is-reduced .wbf-route-welcome-check circle,
.wbf-route-screen.is-intro.is-reduced .wbf-route-welcome-check path { stroke-dashoffset:0; animation:none; }
.wbf-route-screen h1,
.wbf-route-screen h2 { font-family:"Archivo Black",Inter,sans-serif!important; color:#1f2a44!important; line-height:1.08!important; letter-spacing:-.025em!important; margin:0 0 12px!important; font-weight:900!important; }
.wbf-route-screen h1 { font-size:clamp(27px,4vw,42px)!important; }
.wbf-route-screen h2 { font-size:clamp(24px,3.2vw,34px)!important; }
.wbf-route-screen > p { font-size:15px!important; line-height:1.55!important; color:#667085!important; max-width:620px; margin:0 0 20px!important; }
.wbf-route-kicker { display:flex; align-items:center; gap:8px; margin-bottom:22px; color:#667085; font:800 12px/1.2 Inter,Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; }
.wbf-route-kicker > span { width:9px; height:9px; border-radius:50%; background:var(--wbf-route-color); box-shadow:0 0 0 5px color-mix(in srgb,var(--wbf-route-color) 12%,transparent); }
.wbf-route-progress-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; color:#7a8496; font:700 12px/1.2 Inter,Arial,sans-serif; }
.wbf-route-progress-head strong { color:#1f2a44; font-size:13px; }
.wbf-route-progress { height:5px; border-radius:99px; background:#e9edf3; overflow:hidden; margin-bottom:28px; }
.wbf-route-progress span { display:block; height:100%; border-radius:inherit; background:var(--wbf-route-color); transition:width .3s ease; }
.wbf-route-question-hint { margin-bottom:15px!important; }
.wbf-route-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:16px; }
.wbf-route-choices button { min-height:58px; border:1px solid #d6dde7!important; border-radius:13px!important; background:#fff!important; color:#1f2a44!important; padding:13px 16px!important; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; font:800 14px/1.3 Inter,sans-serif!important; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important; }
.wbf-route-choices button:hover,
.wbf-route-choices button:focus-visible { border-color:var(--wbf-route-color)!important; background:#fff!important; color:#1f2a44!important; transform:translateY(-2px)!important; box-shadow:0 10px 24px rgba(31,42,68,.1)!important; outline:none!important; }
.wbf-route-choices button span { font-size:22px; }
.wbf-route-choices button strong { color:inherit!important; font:800 14px/1.3 Inter,Arial,sans-serif!important; }
.wbf-route-back { align-self:flex-start; margin-top:20px; padding:8px 0!important; border:0!important; background:transparent!important; color:#7a8496!important; font:700 13px/1.3 Inter,sans-serif!important; cursor:pointer; transition:transform .18s ease!important; }
.wbf-route-match-label { align-self:flex-start; color:#166534; background:#dcfce7; border-radius:999px; padding:7px 11px; font-weight:800; margin-bottom:15px; }
.wbf-route-job-cards { display:grid; width:100%; max-width:100%; min-width:0; gap:14px; margin-top:8px; }
.wbf-route-job-card { display:grid; width:100%; max-width:100%; min-width:0; grid-template-columns:minmax(0,1fr) auto; gap:10px 18px; padding:20px; border:1px solid #dfe4ec; border-radius:16px; background:#fff; }
.wbf-route-job-card > div { min-width:0; }
.wbf-route-job-card h3 { font-family:"Archivo Black",Inter,sans-serif; margin:4px 0 9px; color:#1f2a44; font-size:24px; }
.wbf-route-job-card > div > span { color:#667085; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.wbf-route-primary { display:flex; flex-direction:column; align-items:center; justify-content:center; align-self:center; min-height:52px; padding:12px 20px!important; border:0!important; border-radius:11px!important; background:var(--wbf-route-color)!important; color:#fff!important; font-weight:900!important; text-align:center; text-decoration:none!important; transition:transform .18s ease,box-shadow .18s ease!important; }
.wbf-route-primary small { font-size:11px; opacity:.82; font-weight:600; }
.wbf-route-secondary { grid-column:1/-1; color:#667085!important; background:transparent!important; font-size:13px!important; font-weight:700!important; text-decoration:none!important; transition:transform .18s ease,color .18s ease!important; }
.wbf-candidate-route__profile-link { flex:0 0 auto; align-self:center; margin:0 0 20px!important; padding:8px 12px!important; border:0!important; background:transparent!important; color:#98a2b3!important; font:700 13px/1.3 Inter,sans-serif!important; cursor:pointer; transition:transform .18s ease,color .18s ease!important; }
.wbf-candidate-route__profile-link span { margin-left:4px; }
.wbf-candidate-route__profile-link:hover,
.wbf-candidate-route__profile-link:focus-visible { color:#667085!important; background:transparent!important; transform:translateY(-2px)!important; outline:none!important; }
.wbf-candidate-route a:hover,
.wbf-candidate-route button:hover,
.wbf-route-vacancy-page a:hover,
.wbf-route-vacancy-page button:hover { transform:translateY(-2px)!important; }
.wbf-route-primary:hover,
.wbf-route-primary:focus-visible { background:var(--wbf-route-color)!important; color:#fff!important; box-shadow:0 10px 22px rgba(31,42,68,.16)!important; transform:translateY(-2px)!important; outline:none!important; }
.wbf-route-secondary:hover,
.wbf-route-secondary:focus-visible,
.wbf-route-back:hover,
.wbf-route-back:focus-visible { background:transparent!important; color:#4b5565!important; transform:translateY(-2px)!important; outline:none!important; }
.wbf-route-job-facts { display:flex; flex-wrap:wrap; gap:7px; }
.wbf-route-job-facts span { border-radius:999px; background:#f1f4f8; color:#4a5568; padding:6px 10px; font-size:13px; font-weight:700; }

.wbf-route-job-detail { animation:wbfRouteIn .36s ease both; }
.wbf-route-vacancy-page { width:100%; max-width:920px; margin:24px auto; overflow:hidden; border:1px solid #e3e7ee; border-radius:20px; background:#fff; box-shadow:0 18px 48px rgba(31,42,68,.09); color:#1f2a44; font-family:Inter,Arial,sans-serif; }
.wbf-route-job-detail__head { padding:36px clamp(22px,6vw,64px); background:linear-gradient(145deg,#f5f7fb,#fff); }
.wbf-route-job-detail__head > span { color:#667085; font-weight:800; }
.wbf-route-job-detail__head h2 { font-family:"Archivo Black",Inter,sans-serif; font-size:clamp(28px,5vw,48px); line-height:1.08; margin:8px 0 15px; }
.wbf-route-job-detail__head .wbf-route-primary { margin-top:22px; max-width:330px; }
.wbf-route-job-detail__content { padding:38px clamp(22px,6vw,64px); font-size:17px; line-height:1.72; }
.wbf-route-job-detail__content h2,
.wbf-route-job-detail__content h3 { color:#1f2a44; }
.wbf-route-job-detail > .wbf-route-primary.is-bottom { margin:8px clamp(22px,6vw,64px) 42px; }
.wbf-route-followup { padding:26px; border-radius:18px; background:#f7f8fb; color:#1f2a44; }
.wbf-route-followup.is-inside-job { margin:0 clamp(22px,6vw,64px) 28px; }
.wbf-route-followup h2 { font-family:"Archivo Black",Inter,sans-serif; margin:0 0 18px; }
.wbf-route-followup ol { list-style:none; padding:0; margin:0; counter-reset:wbf-follow; display:grid; gap:12px; }
.wbf-route-followup li { counter-increment:wbf-follow; display:grid; grid-template-columns:34px 1fr; gap:11px; align-items:center; }
.wbf-route-followup li:before { content:counter(wbf-follow); width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#1f2a44; color:#fff; font-weight:900; }
.wbf-route-followup__trust { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.wbf-route-followup__trust span { padding:7px 10px; border-radius:999px; background:#fff; border:1px solid #e0e5ec; font-size:13px; font-weight:800; }
@keyframes wbfRouteIn { from{opacity:0;transform:translateY(9px)} to{opacity:1;transform:none} }
@keyframes wbfLetterWelcome { to{opacity:1;transform:none} }
@keyframes wbfIntroSubtitle { to{opacity:1;transform:none} }
@keyframes wbfWelcomeCircle { to{stroke-dashoffset:0} }
@keyframes wbfWelcomeCheck { to{stroke-dashoffset:0} }

@media (max-width:780px) {
    .wbf-route-manager { padding:18px; }
    .wbf-route-manager__head { display:grid; }
    .wbf-route-builder__top,
    .wbf-route-builder__columns,
    .wbf-route-builder__followup-grid { grid-template-columns:1fr; }
    .wbf-route-answer { grid-template-columns:1fr; padding:10px; border:1px solid #edf0f4; border-radius:10px; }
    .wbf-route-answer .button-link-delete { justify-self:end; }
    .wbf-candidate-route { border-radius:16px; }
    .wbf-candidate-route.is-immersive { border-radius:0; }
    .wbf-candidate-route__brand { min-height:70px; }
    .wbf-candidate-route__brand img { max-width:120px; height:42px; }
    .wbf-route-screen { min-height:100%; padding:28px 20px; }
    .wbf-route-screen.is-result { min-height:auto; justify-content:flex-start; padding-top:22px; padding-bottom:24px; }
    .wbf-route-screen.is-result .wbf-route-progress-head { margin-top:0; }
    .wbf-route-choices { grid-template-columns:1fr; }
    .wbf-route-job-card { grid-template-columns:1fr; }
    .wbf-route-job-card .wbf-route-primary { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
    .wbf-route-screen,
    .wbf-route-job-detail { animation:none; }
    .wbf-route-choices button { transition:none; }
    .wbf-route-letter,
    .wbf-route-screen.is-intro > p,
    .wbf-route-welcome-check,
    .wbf-route-welcome-check circle,
    .wbf-route-welcome-check path { animation:none!important; transition:none!important; opacity:1; transform:none; stroke-dashoffset:0; }
}
