/* CV upload card on /apply (cv-upload.js). */
.cv-card{position:relative;margin-bottom:22px;padding:clamp(22px,3vw,34px);border-radius:24px;border:1px solid #b8f57340;background:radial-gradient(ellipse 70% 70% at 100% 0%,#b8f5731a,transparent 70%),linear-gradient(160deg,#18262b,#0f181d 70%);box-shadow:0 40px 90px -50px #000;color:#f1f5ef;overflow:hidden}
.cv-badge{display:inline-flex;padding:5px 11px;border-radius:99px;background:#b8f57322;color:#b8f573;font-size:12px;font-weight:700;letter-spacing:.02em}
.cv-head h2{font-family:Manrope,sans-serif;font-size:clamp(26px,2.6vw,34px);font-weight:600;letter-spacing:-.04em;margin:12px 0 8px}
.cv-head p{font-size:15px;line-height:1.6;color:#b7c4c6;max-width:620px}
.cv-upload{margin-top:20px}
.cv-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:170px;padding:24px;border-radius:20px;border:1.5px dashed #b8f57366;background:#0b1418;text-align:center;cursor:pointer;transition:border-color .3s,background .3s,transform .4s cubic-bezier(.19,1,.22,1)}
.cv-drop:hover,.cv-drop.is-over{border-color:#b8f573;background:#b8f5730d}
.cv-drop.is-over{transform:scale(1.01)}
.cv-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.cv-drop:has(input:focus-visible){outline:2px solid #b8f573;outline-offset:3px}
.cv-drop-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#b8f573;color:#142015}
.cv-drop-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cv-drop strong{font-size:16px;font-weight:600}
.cv-drop u{color:#b8f573;text-underline-offset:3px}
.cv-drop small{font-size:12.5px;color:#8fa0a4;max-width:420px}
.cv-consent{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:13.5px;line-height:1.55;color:#cfd8d5;cursor:pointer}
.cv-consent input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:#b8f573}
.cv-consent a{color:#b8f573}
.cv-error{margin-top:14px;padding:12px 14px;border-radius:12px;background:#ffad9e1a;color:#ffc6bb;font-size:14px}
.cv-progress{display:flex;gap:22px;align-items:center;margin-top:22px;padding:22px;border-radius:20px;background:#0b1418;border:1px solid #ffffff17}
.cv-spinner{flex:none;width:46px;height:46px;border-radius:50%;border:3px solid #ffffff1a;border-top-color:#b8f573;animation:cv-spin 1s linear infinite}
.cv-progress ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cv-progress li{position:relative;padding-left:26px;font-size:14px;color:#6f8287;transition:color .3s}
.cv-progress li::before{content:'';position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid #3b4a50}
.cv-progress li.now{color:#f1f5ef}
.cv-progress li.now::before{border-color:#b8f573;animation:cv-pulse 1.2s ease-in-out infinite}
.cv-progress li.done{color:#b7c4c6}
.cv-progress li.done::before{background:#b8f573;border-color:#b8f573}
@keyframes cv-spin{to{transform:rotate(360deg)}}
@keyframes cv-pulse{50%{box-shadow:0 0 0 5px #b8f57326}}
.cv-skip{display:inline-block;margin-top:16px;background:none;border:0;padding:6px 0;color:#b7c4c6;font-size:13.5px;font-weight:600;cursor:pointer;border-bottom:1px solid #ffffff33}
.cv-skip:hover{color:#b8f573;border-color:#b8f573}
.cv-result{margin-top:22px;outline:none}
.cv-result-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.cv-ok{display:inline-flex;padding:4px 10px;border-radius:99px;background:#b8f57322;color:#b8f573;font-size:12px;font-weight:700}
.cv-result-head h3{font-family:Manrope,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.03em;margin:8px 0 4px}
.cv-result-head p{font-size:14.5px;line-height:1.55;color:#cfd8d5;max-width:560px}
.cv-ring{--p:0;position:relative;flex:none;width:118px;height:118px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,#101a1f 78%,transparent 80% 100%),conic-gradient(#b8f573 calc(var(--p) * 100%),#ffffff14 0)}
.cv-ring b{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.03em}
.cv-ring small{font-size:10px;color:#93a4a8;line-height:1.15;max-width:70px;margin:2px auto 0}
.cv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cv-block,.cv-route{padding:18px 20px;border-radius:18px;background:#0b1418;border:1px solid #ffffff14}
.cv-route{grid-column:1/-1;border-color:#b8f57359;background:linear-gradient(160deg,#152520,#0b1418)}
.cv-block h4,.cv-route h4{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#93a4a8;margin-bottom:10px}
.cv-route h4{margin-top:10px}
.cv-route strong{display:block;font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.03em;margin-bottom:6px}
.cv-route p{font-size:14px;color:#cfd8d5}
.cv-status{display:inline-flex;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:700;background:#ffffff12;color:#cfd8d5}
.cv-status.s-strong{background:#b8f57324;color:#b8f573}.cv-status.s-possible{background:#9fd8ff22;color:#9fd8ff}.cv-status.s-later{background:#ffc98922;color:#ffc989}
.cv-link{display:inline-block;margin-top:10px;color:#b8f573;font-size:14px;font-weight:600}
.cv-muted{font-size:13px;color:#8fa0a4;margin-top:6px}
.cv-timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cv-timeline li{position:relative;padding-left:18px;display:grid;font-size:13.5px}
.cv-timeline li::before{content:'';position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:#b8f573}
.cv-timeline b{font-size:14.5px;color:#f1f5ef}
.cv-timeline span{color:#cfd8d5}
.cv-timeline small{color:#8fa0a4}
.cv-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.cv-list li{position:relative;padding-left:16px;font-size:14px;line-height:1.5;color:#dfe7e2}
.cv-list li::before{content:'•';position:absolute;left:2px;color:#b8f573}
.cv-tips li::before{content:'→';color:#ffc989}
.cv-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cv-chips li{padding:5px 10px;border-radius:99px;border:1px solid #ffffff26;font-size:12.5px;color:#dfe7e2}
.cv-missing li{border-color:#ffc98966;color:#ffd9ae}
.cv-result-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:18px}
.cv-result-foot .cv-muted{flex-basis:100%;margin:0}
.cv-again{background:none;border:0;padding:6px 0;color:#b7c4c6;font-size:13.5px;font-weight:600;cursor:pointer;border-bottom:1px solid #ffffff33}
.cv-again:hover{color:#b8f573}
/* fields filled from the CV */
.apply-form .field.from-cv>label::after,.apply-form .field.from-cv>.label::after{content:'from your CV';margin-left:8px;padding:2px 7px;border-radius:99px;background:#b8f57324;color:#b8f573;font-size:10.5px;font-weight:700;letter-spacing:.02em;vertical-align:1px}
@media (max-width:700px){
  .cv-grid{grid-template-columns:1fr}
  .cv-result-head{flex-direction:column;align-items:flex-start}
  .cv-progress{flex-direction:column;align-items:flex-start}
}
.motion-paused .cv-spinner,.motion-paused .cv-progress li.now::before{animation:none}
