/* Login page and "page not found" (inc/core/gate.php). Styled after the Counselor Magazine login and 404. */
html,body.sjb-solo{margin:0;background:#0B1826}
body.sjb-solo{font-family:var(--sjb-sans);-webkit-font-smoothing:antialiased}
.sjb-solo *{box-sizing:border-box}

/* ---------- login ---------- */
.sjb-lg{position:relative;overflow:hidden;min-height:calc(100vh - 230px);display:flex;align-items:center;padding:72px 0 88px;
  background:radial-gradient(900px 520px at 78% 40%,rgba(51,144,214,.28),transparent 60%),radial-gradient(700px 480px at 10% 90%,rgba(35,113,177,.22),transparent 62%),linear-gradient(160deg,#1A3450 0%,#132A42 45%,#0E1F31 100%)}
.sjb-bare .sjb-lg{min-height:100vh}
.sjb-lg-bg{position:absolute;inset:0;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;padding-top:6vh}
.sjb-lg-bg img{width:118%;max-width:none;opacity:.05;filter:blur(.4px);transform:translateX(4%)}
.sjb-lg-grid{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,432px) 1fr;gap:64px;align-items:center}
.sjb-lg-card{position:relative;overflow:hidden;background:#fff;border-radius:18px;padding:38px 38px 30px;box-shadow:0 30px 80px rgba(3,10,20,.45),0 2px 0 rgba(255,255,255,.6) inset;color:var(--sjb-text);animation:sjbLgIn .5s var(--sjb-ease) both}

.sjb-lg-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--sjb-spectrum)}
@keyframes sjbLgIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sjb-lg-logo{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:0 0 22px;text-decoration:none}
.sjb-lg-logo img{height:46px;width:auto;display:block}
.sjb-lg-logo span{font:800 13px/1 var(--sjb-sans);letter-spacing:.2em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#3390D6,#2371B1);padding:6px 8px 5px;border-radius:6px;margin-bottom:6px}
.sjb-lg-card h1{font:700 26px/1.2 var(--sjb-serif);color:var(--sjb-navy);margin:4px 0 8px;padding:0}
.sjb-lg-sub{margin:0 0 20px;color:var(--sjb-muted);font-size:14.5px;line-height:1.6}
.sjb-lg-form{display:grid;gap:16px;margin:0}
.sjb-lg-f{display:grid;gap:8px;margin:0}
.sjb-lg-f>span:first-child{font:800 12.5px/1 var(--sjb-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sjb-navy)}
.sjb-lg-f input{width:100%;height:48px;border:1px solid #D5DCE5;border-radius:10px;background:#F7F9FC;padding:0 14px;font:500 15.5px var(--sjb-sans);color:var(--sjb-navy);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.sjb-lg-f input:focus{border-color:#3390D6;background:#fff;box-shadow:0 0 0 4px rgba(51,144,214,.16)}
.sjb-lg-pw{position:relative;display:block}
.sjb-lg-pw input{padding-right:48px}
.sjb-lg-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;color:#7A8797;cursor:pointer;border-radius:8px;display:grid;place-items:center}
.sjb-lg-eye:hover{color:var(--sjb-blue);background:#EEF4FA}
.sjb-lg-eye svg{width:18px;height:18px}
.sjb-lg-meter{display:block;height:5px;border-radius:5px;background:#E8EDF3;overflow:hidden}
.sjb-lg-meter i{display:block;height:100%;width:0;border-radius:5px;background:#E0663A;transition:width .25s,background .25s}
.sjb-lg-check{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--sjb-text);cursor:pointer;margin:-2px 0 2px}
.sjb-lg-check input{width:17px;height:17px;accent-color:#2371B1}
.sjb-lg .sjb-btn{height:50px;font-size:15px}
.sjb-lg-reg{margin-top:14px}
.sjb-lg-alt{margin:18px 0 0;font-size:14.5px}
.sjb-lg-alt.end{text-align:right;margin-top:10px}
.sjb-lg-alt a{color:var(--sjb-blue);font-weight:700}
.sjb-lg-alt a:hover{text-decoration:underline!important}
.sjb-lg-note{border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;margin:0 0 16px}
.sjb-lg-note.err{background:#FDF0EE;color:#9A2C17;border:1px solid #F4CFC7}
.sjb-lg-note.ok{background:#EAF7EE;color:#1E6B3A;border:1px solid #C7E9D2}
.sjb-lg-note.dev{background:#FFF7E6;color:#7A4B00;border:1px dashed #F0C36B}
.sjb-lg-note.dev a{color:#7A4B00;text-decoration:underline!important}

/* live job cards on the right */
.sjb-lg-art{position:relative;min-height:420px}
.sjb-lg-cards{position:relative;height:100%;min-height:420px}
.sjb-lg-job{position:absolute;display:flex;align-items:center;gap:14px;width:min(430px,100%);background:rgba(255,255,255,.97);border-radius:14px;padding:16px 18px;box-shadow:0 24px 60px rgba(2,8,18,.45);animation:sjbFloat 7s ease-in-out infinite}
.sjb-lg-job .lg{flex:0 0 52px;height:52px;border-radius:12px;border:1px solid #E4E8ED;background:#fff;display:grid;place-items:center;overflow:hidden}
.sjb-lg-job .lg img{max-width:42px;max-height:42px;object-fit:contain}
.sjb-lg-job b{display:block;font:800 15px/1.3 var(--sjb-sans);color:var(--sjb-navy)}
.sjb-lg-job span{display:block;font-size:13.5px;color:var(--sjb-text);margin-top:3px}
.sjb-lg-job em{display:block;font-style:normal;font-size:12.5px;color:var(--sjb-muted);margin-top:2px}
.sjb-lg-job i{position:absolute;top:12px;right:12px;font:800 10px/1 var(--sjb-sans);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:#1E6B3A;background:#EAF7EE;padding:5px 7px;border-radius:5px}
.sjb-lg-job.n1{top:10px;left:8%;transform:rotate(-3deg)}
.sjb-lg-job.n2{top:140px;left:22%;animation-delay:-2.3s;transform:rotate(2deg)}
.sjb-lg-job.n3{top:270px;left:4%;animation-delay:-4.6s;transform:rotate(-1deg)}
@keyframes sjbFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
.sjb-lg-stat{position:absolute;right:0;bottom:-8px;text-align:right;color:#DCE7F2;max-width:260px}
.sjb-lg-stat strong{display:block;font:700 54px/1 var(--sjb-serif);color:#fff;letter-spacing:-.01em}
.sjb-lg-stat span{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:#B9CCDF}
@media (prefers-reduced-motion:reduce){.sjb-lg-job,.sjb-lg-card{animation:none}}
@media (max-width:980px){
  .sjb-lg{padding:40px 0 56px;min-height:0}
  .sjb-lg-grid{grid-template-columns:1fr;gap:0}
  .sjb-lg-card{max-width:480px;width:100%;margin:0 auto;padding:30px 24px 24px}
  .sjb-lg-art{display:none}
}

/* ---------- page not found ---------- */
.sjb-nf{position:relative;overflow:hidden;padding:110px 0 120px;text-align:center;
  background:radial-gradient(800px 420px at 50% 30%,rgba(51,144,214,.22),transparent 65%),linear-gradient(180deg,#132A42 0%,#0F2236 100%);color:#DCE7F2}
.sjb-nf-in{position:relative;max-width:760px;margin:0 auto;padding:0 24px}
.sjb-nf-num{font:700 clamp(96px,16vw,170px)/1 var(--sjb-serif);color:rgba(255,255,255,.08);letter-spacing:-.02em;margin-bottom:-.42em;user-select:none}
.sjb-nf h1{position:relative;font:700 clamp(32px,5vw,50px)/1.12 var(--sjb-serif);color:#fff;margin:0 0 18px;padding:0}
.sjb-nf p{font-size:17px;line-height:1.65;color:#C3D4E4;margin:0 auto 30px;max-width:560px}
.sjb-nf-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.sjb-nf-ghost{background:transparent;color:#fff!important;border:1.5px solid rgba(255,255,255,.35)}
.sjb-nf-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
.sjb-solo .sjb-ftr{margin-top:0}
.sjb-nf-search{display:flex;gap:10px;justify-content:center;margin:34px auto 0;max-width:470px}
.sjb-nf-search input{flex:1;height:48px;border-radius:11px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.96);padding:0 16px;font:500 15px var(--sjb-sans);color:var(--sjb-navy);outline:none;min-width:0}
.sjb-nf-search input:focus{box-shadow:0 0 0 4px rgba(51,144,214,.35)}
@media (max-width:600px){.sjb-nf{padding:70px 0 80px}.sjb-nf-search{flex-direction:column}}
