/* Shared components: used by the public site, the application and the admin area */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--lx-font);color:var(--lx-grey);background:var(--lx-white);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--lx-head);color:var(--lx-grey);letter-spacing:-.025em;line-height:1.15;margin:0 0 .5em;font-weight:800}
p{margin:0 0 1em}a{color:var(--lx-orange-700);text-underline-offset:3px}
img,svg{max-width:100%}
.ic{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
:focus-visible{outline:3px solid var(--lx-grey);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:999;border-radius:8px}.skip:focus{left:.75rem;top:.75rem}
.muted{color:var(--lx-n-500)}.small{font-size:.875rem}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.lx-btn,.btn-lx,.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;position:relative;overflow:hidden;font:700 .95rem/1.1 var(--lx-head);letter-spacing:-.005em;padding:.85rem 1.4rem;border-radius:12px;border:2px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .2s var(--lx-ease),box-shadow .2s var(--lx-ease),background-color .2s,border-color .2s,color .2s;-webkit-tap-highlight-color:transparent;user-select:none}
.lx-btn,.btn-lx{background:linear-gradient(180deg,#FF7A22 0%,#FF6200 100%);color:var(--lx-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 16px rgba(255,98,0,.28)}
.lx-btn:hover,.btn-lx:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),var(--lx-glow);color:var(--lx-ink)}
.lx-btn:active,.btn-lx:active{transform:translateY(0) scale(.98);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 8px rgba(255,98,0,.3)}
.btn-line,.lx-btn--ghost{background:#fff;color:var(--lx-grey);border-color:var(--lx-n-300)}
.btn-line:hover,.lx-btn--ghost:hover{border-color:var(--lx-grey);transform:translateY(-1px);box-shadow:var(--lx-shadow-sm);color:var(--lx-grey)}
.btn-line:active{transform:scale(.98)}
.lx-btn--dark{background:var(--lx-grey);color:#fff;box-shadow:var(--lx-shadow-sm)}.lx-btn--dark:hover{background:#262626;color:#fff;box-shadow:var(--lx-shadow-md)}
.lx-btn--onDark{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28);box-shadow:none}.lx-btn--onDark:hover{background:rgba(255,255,255,.16);border-color:#fff;color:#fff;box-shadow:none}
.lx-btn--lg{padding:1.05rem 1.75rem;font-size:1.05rem;border-radius:14px}
.sm{padding:.45rem .8rem;font-size:.84rem;border-radius:9px}
.lx-btn .ic:last-child:not(:first-child){transition:transform .2s var(--lx-ease)}.lx-btn:hover .ic:last-child:not(:first-child){transform:translateX(4px)}
.lx-btn:focus-visible,.btn-lx:focus-visible,.btn-line:focus-visible{outline:3px solid var(--lx-grey);outline-offset:3px;border-radius:14px}
.is-disabled,.lx-btn[disabled],.btn-lx[disabled],.btn-line[disabled]{background:var(--lx-n-200);color:var(--lx-n-500);box-shadow:none;cursor:not-allowed;transform:none!important}
.is-loading{pointer-events:none;color:transparent!important}.is-loading .ic{opacity:0}
.is-loading::after{content:"";position:absolute;width:1.15em;height:1.15em;border:2.5px solid rgba(31,31,31,.3);border-top-color:var(--lx-ink);border-radius:50%;animation:lxspin .7s linear infinite}
.btn-line.is-loading::after{border-color:rgba(51,51,51,.25);border-top-color:var(--lx-grey)}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:lxripple .65s linear;pointer-events:none}
@keyframes lxripple{to{transform:scale(1);opacity:0}}@keyframes lxspin{to{transform:rotate(360deg)}}

/* badges, chips */
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .7rem;border-radius:99px;font:600 .78rem/1.4 var(--lx-font);background:var(--lx-n-100);color:var(--lx-n-700);border:1px solid var(--lx-n-200);white-space:nowrap}
.badge::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor;opacity:.75}
.b-draft{background:var(--lx-n-100);color:var(--lx-n-700)}.b-submitted,.b-queued{background:var(--lx-info-50);color:#1E3A8A;border-color:#C7D6FB}
.b-under_review,.b-sending{background:var(--lx-warn-50);color:var(--lx-warn);border-color:#F8D9A6}.b-shortlisted{background:#F1EAFE;color:#5B21B6;border-color:#DDCDFA}
.b-interview_invited{background:#E6F7FB;color:#0E6B80;border-color:#B8E6F0}.b-selected,.b-sent,.b-ok{background:var(--lx-success-50);color:#0B6B49;border-color:#BCE5D4}
.b-not_selected,.b-failed{background:var(--lx-danger-50);color:#9B1C24;border-color:#F4C2C5}.b-withdrawn{background:var(--lx-n-100);color:var(--lx-n-500)}.b-warn{background:var(--lx-warn-50);color:var(--lx-warn);border-color:#F8D9A6}
.chip{border:1px solid var(--lx-n-300);background:#fff;color:var(--lx-n-700);border-radius:99px;padding:.25rem .7rem;font:600 .8rem var(--lx-font);cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--lx-orange);background:var(--lx-orange-50);color:var(--lx-orange-700)}

/* toasts, dialog */
.lx-toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.6rem;z-index:200;max-width:calc(100vw - 2rem)}
.lx-toast{display:flex;gap:.7rem;align-items:flex-start;background:#fff;border:1px solid var(--lx-n-200);border-left:4px solid var(--lx-orange);box-shadow:var(--lx-shadow-lg);border-radius:12px;padding:.85rem 1rem;width:min(380px,100%);animation:lxtoast .4s var(--lx-ease);font-size:.94rem}
.lx-toast.ok{border-left-color:var(--lx-success)}.lx-toast.ok .ic{color:var(--lx-success)}.lx-toast.bad{border-left-color:var(--lx-danger)}.lx-toast.bad .ic{color:var(--lx-danger)}.lx-toast .ic{margin-top:.15rem;color:var(--lx-orange-700)}
.lx-toast.out{opacity:0;transform:translateX(20px);transition:all .3s}
@keyframes lxtoast{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
dialog.lx-dialog{border:0;border-radius:20px;padding:0;width:min(440px,calc(100% - 2rem));box-shadow:var(--lx-shadow-lg);color:var(--lx-grey)}
dialog.lx-dialog::backdrop{background:rgba(31,31,31,.55);backdrop-filter:blur(4px)}
dialog.lx-dialog[open]{animation:lxpop .25s var(--lx-ease)}@keyframes lxpop{from{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:none}}
.lx-dialog .body{padding:1.5rem 1.5rem 1rem;display:flex;gap:1rem}.lx-dialog .ico{width:44px;height:44px;border-radius:12px;background:var(--lx-orange-100);color:var(--lx-orange-700);display:grid;place-items:center;flex:none;font-size:1.3rem}
.lx-dialog h3{font-size:1.15rem;margin:0 0 .3rem}.lx-dialog p{margin:0;color:var(--lx-n-500)}.lx-dialog .foot{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem 1.5rem}

/* reveal on scroll (only when scripts run) */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .75s var(--lx-ease),transform .75s var(--lx-ease)}.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
@media print{.lx-toasts,.lx-nav,.skip,.no-print{display:none!important}}

.wrap{max-width:var(--lx-max);margin:0 auto;padding:0 1.25rem}.brand{display:inline-flex;align-items:center;text-decoration:none}
.wordmark{font:800 1.45rem var(--lx-head);color:var(--lx-grey);letter-spacing:-.04em}.wordmark::after{content:".";color:var(--lx-orange)}

[hidden]{display:none!important}
