.jb-page {
    --jb-cyan: var(--cyan, #11bfff);
    --jb-green: var(--green, #8eea35);
    --jb-ink: var(--ink, #0b2534);
    --jb-paper: var(--paper, #f4f7f8);
    --jb-muted: var(--ink-muted, #526976);
    min-height: 72vh;
    color: var(--text);
    background: var(--bg);
}

/* Public marketplace — editorial density, bounded lists and clear actions. */
.jb-market-page{--jbm-ink:#071a27;--jbm-navy:#03101b;--jbm-blue:#11bfff;--jbm-paper:#f3f6f4;--jbm-line:#c8d5d8;--jbm-muted:#5a6d76;background:var(--jbm-paper);color:var(--jbm-ink)}
.jb-market-page h1,.jb-market-page h2,.jb-market-page h3{letter-spacing:-.035em}
.jbm-catalog-hero{background:var(--jbm-navy);color:#fff;padding:clamp(4rem,8vw,7.5rem) 0 0;overflow:hidden}
.jbm-catalog-hero .container{position:relative}
.jbm-catalog-hero .container::after{content:"";position:absolute;right:-8%;top:-12rem;width:min(48vw,620px);aspect-ratio:1;border:1px solid #163142;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 38px,#102b3b 39px 40px);opacity:.8;pointer-events:none}
.jbm-hero-copy{position:relative;z-index:1;max-width:870px}
.jbm-hero-copy .jb-kicker{color:var(--jbm-blue)}
.jbm-hero-copy h1{max-width:820px;margin:.8rem 0 1rem;font-size:clamp(2.7rem,6vw,5.7rem);line-height:.93}
.jbm-hero-copy p{max-width:680px;margin:0;color:#b9c9d1;font-size:clamp(1.05rem,1.7vw,1.3rem)}
.jbm-search{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr) auto;align-items:end;margin-top:3.5rem;background:#fff;color:var(--jbm-ink);border-top:5px solid var(--jbm-blue);box-shadow:0 22px 60px rgba(0,0,0,.24)}
.jbm-search label{display:grid;gap:.55rem;padding:1.1rem 1.25rem;border-right:1px solid var(--jbm-line);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.jbm-search input{width:100%;border:0;background:transparent;color:var(--jbm-ink);font:inherit;font-size:1.05rem;font-weight:600;outline:0;text-transform:none;letter-spacing:0}
.jbm-search input:focus{box-shadow:0 3px 0 var(--jbm-blue)}
.jbm-search .button{height:100%;min-height:78px;border-radius:0;padding-inline:2rem}
.jbm-catalog-body{padding:4rem 0 7rem}
.jbm-catalog-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.jbm-results,.jbm-job-main{min-width:0}
.jbm-filters{position:sticky;top:6.5rem;border-top:5px solid var(--jbm-ink)}
.jbm-filter-head{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--jbm-line)}
.jbm-filter-head span{color:var(--jbm-muted);font-size:.65rem;font-weight:800;letter-spacing:.12em}
.jbm-filter-head h2{margin:.25rem 0 0;font-size:1.15rem}
.jbm-filter-head button{display:none;border:0;background:transparent;font-size:2rem}
.jbm-filters form{display:grid;gap:1.15rem;padding-top:1.3rem}
.jbm-filters label,.jbm-results-head label{display:grid;gap:.45rem;color:var(--jbm-muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.jbm-filters select,.jbm-filters input,.jbm-results-head select{width:100%;min-height:45px;border:1px solid var(--jbm-line);border-radius:0;background:#fff;color:var(--jbm-ink);padding:.65rem .75rem;font:inherit;font-size:.9rem;letter-spacing:0;text-transform:none}
.jbm-filters .button{width:100%;margin-top:.35rem;border-radius:0}
.jbm-reset{justify-self:start;color:var(--jbm-ink);font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.jbm-results-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;padding-bottom:1.1rem;border-bottom:1px solid var(--jbm-line)}
.jbm-results-head>div{display:flex;align-items:center;gap:1rem}
.jbm-results-head p{margin:0;color:var(--jbm-muted)}
.jbm-results-head p strong{color:var(--jbm-ink);font-size:1.7rem}
.jbm-results-head form{min-width:190px}
.jbm-filter-toggle{display:none;border:1px solid var(--jbm-line);background:#fff;padding:.65rem .8rem;font-weight:800}
.jbm-job-list{display:grid}
.jbm-job-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:1.35rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--jbm-line);transition:padding .2s ease,background .2s ease}
.jbm-job-card:hover{background:#fff;padding-left:1.25rem;padding-right:1.25rem}
.jbm-job-card.is-featured{border-left:5px solid var(--jbm-blue);padding-left:1.25rem}
.jbm-job-brand,.jbm-detail-logo{display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid var(--jbm-line)}
.jbm-job-brand{width:72px;height:72px}
.jbm-job-brand img,.jbm-detail-logo img{width:100%;height:100%;object-fit:contain}
.jbm-job-brand span,.jbm-detail-logo span{font-size:1.35rem;font-weight:900;letter-spacing:-.07em}
.jbm-job-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;color:var(--jbm-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.jbm-job-meta b{background:#e74545;color:#fff;padding:.2rem .45rem}
.jbm-job-meta time{margin-left:auto}
.jbm-job-main h2{margin:.55rem 0 .35rem;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.05}
.jbm-job-main h2 a{color:inherit;text-decoration:none}
.jbm-company{margin:0;color:#23728d;font-size:.92rem;font-weight:800}
.jbm-summary{max-width:760px;margin:.8rem 0 1rem;color:var(--jbm-muted);line-height:1.6}
.jbm-job-facts{display:flex;flex-wrap:wrap;gap:.5rem}
.jbm-job-facts span,.jbm-job-facts strong{padding:.4rem .6rem;background:#e7edef;font-size:.73rem;font-style:normal}
.jbm-job-facts strong{background:var(--jbm-ink);color:#fff}
.jbm-job-actions{display:flex;align-items:center;gap:.4rem}
.jbm-job-actions form{margin:0}
.jbm-job-actions button,.jbm-job-actions>a{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--jbm-line);background:#fff;color:var(--jbm-ink);font-size:1.25rem;text-decoration:none;transition:.2s ease}
.jbm-job-actions button:hover,.jbm-job-actions>a:hover{border-color:var(--jbm-blue);background:var(--jbm-blue)}
.jbm-empty{display:grid;justify-items:start;gap:.7rem;margin:2rem 0;padding:clamp(2rem,5vw,5rem);background:#fff;border-top:5px solid var(--jbm-ink)}
.jbm-empty>span{color:var(--jbm-blue);font-size:.75rem;font-weight:900;letter-spacing:.12em}
.jbm-empty h2,.jbm-empty p{margin:0}
.jbm-empty p{max-width:560px;color:var(--jbm-muted)}
.jbm-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem}
.jbm-pagination>div{display:flex;gap:.35rem}
.jbm-pagination a{display:grid;place-items:center;min-width:42px;height:42px;padding:0 .75rem;border:1px solid var(--jbm-line);background:#fff;color:var(--jbm-ink);font-size:.82rem;font-weight:800;text-decoration:none}
.jbm-pagination a[aria-current=page]{background:var(--jbm-ink);color:#fff}

.jbm-detail-hero{padding:3rem 0 0;background:var(--jbm-navy);color:#fff}
.jbm-detail-hero .jb-back{color:#a8bfca}
.jbm-detail-title{display:grid;grid-template-columns:104px minmax(0,1fr);gap:1.75rem;align-items:center;padding:3.5rem 0}
.jbm-detail-logo{width:104px;height:104px;color:var(--jbm-ink)}
.jbm-detail-title .jb-kicker{color:var(--jbm-blue)}
.jbm-detail-title h1{max-width:940px;margin:.55rem 0;font-size:clamp(2.7rem,5.5vw,5.5rem);line-height:.95}
.jbm-detail-title p{margin:0;color:#a8bfca;font-size:1.08rem}
.jbm-detail-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:var(--jbm-ink);border-top:5px solid var(--jbm-blue)}
.jbm-detail-strip>div{display:grid;gap:.45rem;padding:1.25rem 1.5rem;border-right:1px solid var(--jbm-line)}
.jbm-detail-strip span{color:var(--jbm-muted);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.jbm-detail-strip strong{font-size:.96rem}
.jbm-detail-body{padding:4.5rem 0 7rem}
.jbm-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(3rem,7vw,7rem);align-items:start}
.jbm-copy-block{display:grid;grid-template-columns:54px minmax(0,1fr);gap:1.5rem;padding:0 0 3.5rem;margin-bottom:3.5rem;border-bottom:1px solid var(--jbm-line)}
.jbm-copy-block>span{display:grid;place-items:center;width:42px;height:42px;background:var(--jbm-ink);color:#fff;font-size:.72rem;font-weight:900}
.jbm-copy-block h2{margin:0 0 1.2rem;font-size:clamp(1.8rem,3vw,3rem)}
.jbm-copy-block h3{margin:2rem 0 .75rem;font-size:1.15rem}
.jbm-copy-block p,.jbm-copy-block li{color:#344e5a;line-height:1.75}
.jbm-copy-block ul{padding-left:1.2rem}
.jbm-copy-block li+li{margin-top:.6rem}
.jbm-skill-cloud,.jbm-inline-list{display:flex;flex-wrap:wrap;gap:.55rem;padding:0!important;list-style:none}
.jbm-skill-cloud span,.jbm-inline-list li{margin:0!important;padding:.5rem .7rem;background:#e4ecee;color:var(--jbm-ink);font-size:.8rem;font-weight:700}
.jbm-skill-cloud b{color:#1584a7}
.jbm-condition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--jbm-line);border:1px solid var(--jbm-line)}
.jbm-condition-grid>div{padding:1rem;background:#fff}
.jbm-condition-grid dt{color:var(--jbm-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
.jbm-condition-grid dd{margin:.35rem 0 0;font-weight:800}
.jbm-company-block{display:flex;justify-content:space-between;gap:2rem;padding:clamp(2rem,4vw,3.5rem);background:#dce9ec;border-top:5px solid var(--jbm-blue)}
.jbm-company-block h2{margin:.5rem 0 1rem;font-size:2rem}
.jbm-company-block p{max-width:650px;margin:0;line-height:1.7}
.jbm-company-block>strong{align-self:start;white-space:nowrap;font-size:1.05rem}
.jbm-company-block>strong small{display:block;margin-top:.45rem;color:#2f6d68;font-size:.7rem}
.jbm-detail-layout>aside{position:sticky;top:6.5rem}
.jbm-apply-card{padding:2rem;background:#fff;border-top:6px solid var(--jbm-blue);box-shadow:0 18px 45px rgba(5,27,40,.12)}
.jbm-apply-card h2{margin:.65rem 0;font-size:1.8rem}
.jbm-apply-card>p{color:var(--jbm-muted);line-height:1.6}
.jbm-apply-card .button{width:100%;margin-top:.6rem;border-radius:0}
.jbm-save-button{width:100%;margin-top:.75rem;padding:.75rem;border:1px solid var(--jbm-line);background:#fff;color:var(--jbm-ink);font-weight:800}
.jbm-apply-trust{display:grid;gap:.65rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--jbm-line);color:#3e676a;font-size:.77rem;font-weight:700}

.jbm-application-head,.jbm-apps-hero{padding:3.5rem 0;background:var(--jbm-navy);color:#fff}
.jbm-application-head .jb-back,.jbm-apps-hero .jb-back{color:#9eb4bf}
.jbm-application-head .jb-kicker,.jbm-apps-hero .jb-kicker{display:block;margin-top:2.5rem;color:var(--jbm-blue)}
.jbm-application-head h1,.jbm-apps-hero h1{margin:.6rem 0;font-size:clamp(2.7rem,5vw,4.8rem)}
.jbm-application-head p,.jbm-apps-hero p{margin:0;color:#a8bfca;font-size:1.08rem}
.jbm-application-body{padding:4rem 0 7rem}
.jbm-application-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(3rem,6vw,6rem);align-items:start}
.jbm-application-form>section{margin-bottom:2rem;padding:clamp(1.5rem,3vw,2.5rem);background:#fff;border:1px solid var(--jbm-line)}
.jbm-application-form>section>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:1.1rem;margin-bottom:1.5rem}
.jbm-application-form>section>header>span{display:grid;place-items:center;width:42px;height:42px;background:var(--jbm-ink);color:#fff;font-size:.72rem;font-weight:900}
.jbm-application-form header h2{margin:0;font-size:1.65rem}
.jbm-application-form header p{margin:.35rem 0 0;color:var(--jbm-muted)}
.jbm-material-list{display:grid;gap:.65rem}
.jbm-material-list label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--jbm-line);cursor:pointer}
.jbm-material-list label:has(input:checked){border-color:#1584a7;box-shadow:inset 5px 0 #11bfff;background:#f3fbfd}
.jbm-material-list span{display:grid;gap:.2rem}
.jbm-material-list small{color:var(--jbm-muted)}
.jbm-material-list em{padding:.35rem .5rem;background:#e4ecee;font-size:.7rem;font-style:normal;font-weight:800}
.jbm-missing-material{padding:1.25rem;background:#fff4dd;border-left:5px solid #eaa62f}
.jbm-application-form .jb-field{display:grid;gap:.5rem;margin-top:1rem;font-weight:700}
.jbm-application-form select,.jbm-application-form textarea{width:100%;border:1px solid var(--jbm-line);border-radius:0;background:#fff;padding:.8rem;font:inherit}
.jbm-application-form .jb-field>small{justify-self:end;color:var(--jbm-muted);font-size:.72rem}
.jbm-question-list{display:grid;gap:1.25rem}
.jbm-transfer-notice{padding:1.25rem;background:#e6f0f2;border-left:5px solid #1783a5}
.jbm-transfer-notice p{margin-top:0;line-height:1.65}
.jbm-transfer-notice li{margin-top:.45rem}
.jbm-submit-bar{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 1.5rem;background:var(--jbm-ink);color:#fff}
.jbm-submit-bar p{max-width:560px;margin:0;color:#b7c8cf;font-size:.84rem}
.jbm-submit-bar .button{flex:0 0 auto;border-radius:0}
.jbm-application-layout>aside{position:sticky;top:6.5rem}
.jbm-match-card{padding:1.75rem;background:var(--jbm-navy);color:#fff;border-top:6px solid var(--jbm-blue)}
.jbm-match-card .jb-kicker{color:var(--jbm-blue)}
.jbm-match-total{display:flex;align-items:end;gap:.8rem;padding:1.4rem 0;border-bottom:1px solid #274150}
.jbm-match-total strong{font-size:3.6rem;line-height:.8;letter-spacing:-.08em}
.jbm-match-total span{color:#98adb8;font-size:.76rem}
.jbm-match-row{margin-top:1rem}
.jbm-match-row>div{display:flex;justify-content:space-between;gap:1rem;font-size:.78rem}
.jbm-match-row em{color:#a8c0c9;font-style:normal}
.jbm-match-row i{display:block;height:5px;margin-top:.4rem;background:#294250;overflow:hidden}
.jbm-match-row i b{display:block;width:0;height:100%;background:var(--jbm-blue);transition:width .65s cubic-bezier(.2,.8,.2,1)}
.jbm-match-card>p{margin:1.5rem 0;color:#9fb3bd;font-size:.75rem;line-height:1.55}
.jbm-match-card>a{color:var(--jbm-blue);font-size:.8rem;font-weight:800}
.jbm-application-done{padding:3rem;background:#fff;border-top:6px solid var(--jbm-blue)}
.jbm-application-done>span{display:grid;place-items:center;width:54px;height:54px;background:#2e6d6a;color:#fff;font-size:1.5rem}

.jbm-apps-hero .container{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.jbm-apps-hero .button{border-radius:0}
.jbm-apps-body{padding:4rem 0 7rem}
.jbm-application-list{display:grid;gap:1.25rem}
.jbm-application-list>article{background:#fff;border:1px solid var(--jbm-line);border-top:5px solid var(--jbm-ink)}
.jbm-application-list>article>header{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:1.25rem;align-items:center;padding:1.5rem}
.jbm-application-list header>div:nth-child(2)>span{color:var(--jbm-muted);font-size:.7rem;font-weight:800;letter-spacing:.08em}
.jbm-application-list h2{margin:.25rem 0;font-size:1.55rem}
.jbm-application-list h2 a{color:inherit;text-decoration:none}
.jbm-application-list header p{margin:0;color:var(--jbm-muted)}
.jbm-application-progress{display:flex;gap:0;padding:0 1.5rem 1.5rem;overflow-x:auto}
.jbm-application-progress>div{position:relative;min-width:145px;padding:2.2rem .8rem 0 0;border-top:2px solid var(--jbm-line)}
.jbm-application-progress>div>span{position:absolute;top:-14px;left:0;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#2e6d6a;color:#fff;font-size:.72rem}
.jbm-application-progress>div.is-withdrawn>span{background:#8b4b4b}
.jbm-application-progress p,.jbm-application-progress time{margin:0;font-size:.76rem}
.jbm-application-progress p{font-weight:800}
.jbm-application-progress time{color:var(--jbm-muted)}
.jbm-application-list details{border-top:1px solid var(--jbm-line)}
.jbm-application-list summary{padding:1rem 1.5rem;cursor:pointer;font-weight:800}
.jbm-app-details{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:0 1.5rem 1.5rem}
.jbm-app-details>div{padding:1.25rem;background:#eef3f3}
.jbm-app-details h3,.jbm-app-details p{margin-top:0}
.jbm-app-details strong{font-size:2.2rem}
.jbm-application-list>article>footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#eef3f3;font-size:.8rem;font-weight:800}
.jbm-application-list footer button{border:0;background:transparent;color:#8b3030;font:inherit;text-decoration:underline;text-underline-offset:3px}
.jbm-home-jobs{padding:4.5rem 0;background:#e8eff0;color:#071a27}
.jbm-home-jobs header{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}
.jbm-home-jobs header h2{margin:.45rem 0 0;font-size:clamp(2rem,4vw,3.6rem)}
.jbm-home-jobs header>a{color:#071a27;font-weight:800}
.jbm-home-search{display:grid;grid-template-columns:1.5fr 1fr auto;background:#fff;border-top:5px solid #11bfff}
.jbm-home-search label{display:grid;gap:.45rem;padding:1rem 1.2rem;border-right:1px solid #c8d5d8;color:#5a6d76;font-size:.7rem;font-weight:800;text-transform:uppercase}
.jbm-home-search input{border:0;outline:0;font:inherit;font-size:1rem}
.jbm-home-search .button{border-radius:0}
.jbm-home-job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1px;background:#c8d5d8}
.jbm-home-job-grid>a{display:grid;align-content:start;min-height:230px;padding:1.5rem;background:#fff;color:#071a27;text-decoration:none;transition:background .2s ease}
.jbm-home-job-grid>a:hover{background:#dff7ff}
.jbm-home-job-grid span{color:#177d9e;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.jbm-home-job-grid h3{margin:.75rem 0;font-size:1.45rem;line-height:1.08}
.jbm-home-job-grid p{margin:0 0 1rem;color:#5a6d76}
.jbm-home-job-grid strong{margin-top:auto;font-size:.8rem}
.jbm-home-pending{margin:1px 0 0;padding:2rem;background:#fff;color:#5a6d76}
.jbm-dashboard-links{display:grid;gap:.65rem}
.jbm-dashboard-links>a:not(.jb-next-state){color:var(--jb-ink);font-size:.82rem;font-weight:800;text-decoration:none}
.jbm-ats-dossier{display:grid;gap:.8rem;padding:1rem;background:#edf3f4;border-left:4px solid #11bfff}
.jbm-ats-dossier h4,.jbm-ats-dossier p{margin:0}
.jbm-ats-answers{display:grid;gap:.55rem}
.jbm-ats-answers>div{padding:.7rem;background:#fff;border:1px solid #c8d5d8}
.jbm-ats-answers>div.is-flagged{border-color:#d58b2a;background:#fff8e8}
.jbm-ats-answers span,.jbm-ats-answers small{display:block;color:#526976;font-size:.72rem}
@media (max-width:720px){.jbm-home-search{grid-template-columns:1fr}.jbm-home-search label{border-right:0;border-bottom:1px solid #c8d5d8}.jbm-home-job-grid{grid-template-columns:1fr}.jbm-home-jobs header{align-items:flex-start;flex-direction:column}}

@media (max-width:980px){
  .jbm-catalog-layout{grid-template-columns:1fr}.jbm-filter-toggle{display:inline-flex}.jbm-filters{position:fixed;z-index:100;top:0;bottom:0;left:0;width:min(360px,90vw);padding:1.25rem;background:var(--jbm-paper);overflow:auto;transform:translateX(-110%);transition:transform .25s ease;box-shadow:20px 0 50px rgba(0,0,0,.25)}.jbm-filters.is-open{transform:translateX(0)}.jbm-filter-head button{display:block}.jbm-filters-open{overflow:hidden}.jbm-detail-layout,.jbm-application-layout{grid-template-columns:1fr}.jbm-detail-layout>aside,.jbm-application-layout>aside{position:static}.jbm-detail-strip{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .jbm-search{grid-template-columns:1fr}.jbm-search label{border-right:0;border-bottom:1px solid var(--jbm-line)}.jbm-search .button{min-height:58px}.jbm-results-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.jbm-results-head>div{justify-content:space-between}.jbm-results-head form{width:100%;min-width:0}.jbm-job-card{grid-template-columns:54px minmax(0,1fr);gap:1rem}.jbm-job-brand{width:54px;height:54px}.jbm-job-main h2 a{overflow-wrap:anywhere}.jbm-job-actions{grid-column:2}.jbm-job-meta time{width:100%;margin:0}.jbm-detail-title{grid-template-columns:70px minmax(0,1fr);gap:1rem}.jbm-detail-logo{width:70px;height:70px}.jbm-detail-strip{grid-template-columns:1fr 1fr}.jbm-copy-block{grid-template-columns:1fr}.jbm-condition-grid{grid-template-columns:1fr}.jbm-company-block{display:grid}.jbm-submit-bar,.jbm-apps-hero .container{align-items:stretch;flex-direction:column}.jbm-submit-bar{display:grid}.jbm-application-list>article>header{grid-template-columns:54px minmax(0,1fr)}.jbm-application-list header .jbm-job-brand{width:54px;height:54px}.jbm-application-list header>.jb-stage-pill{grid-column:2;justify-self:start}.jbm-app-details{grid-template-columns:1fr}.jbm-application-list>article>footer{align-items:flex-start;flex-direction:column}.jbm-pagination>div{display:none}
}
@media (prefers-reduced-motion:reduce){.jbm-job-card,.jbm-filters,.jbm-match-row i b{transition:none}}

.jb-kicker,
.jb-path-index,
.jb-aside-label {
    display: inline-block;
    color: var(--jb-cyan);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.jb-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 82% 20%, rgba(17, 191, 255, .09), transparent 30%),
        var(--bg);
}

.jb-hero::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: .32;
    background-image:
        linear-gradient(rgba(128, 177, 201, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(128, 177, 201, .08) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, transparent, #000 65%, transparent);
}

.jb-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    gap: clamp(48px, 8vw, 124px);
    align-items: center;
    min-height: 620px;
    padding-block: clamp(80px, 10vw, 138px);
}

.jb-hero-copy { max-width: 760px; }

.jb-hero h1,
.jb-auth-main h1,
.jb-single-panel h1,
.jb-dashboard-head h1,
.jb-unavailable h1 {
    max-width: 15ch;
    margin: 18px 0 24px;
    color: var(--text);
    font-size: clamp(2.65rem, 6vw, 6.15rem);
    line-height: .94;
    letter-spacing: -.058em;
}

.jb-hero-copy > p,
.jb-lead,
.jb-unavailable > .container > p {
    max-width: 64ch;
    margin: 0 0 30px;
    color: #b6c5cd;
    font-size: clamp(1rem, 1.45vw, 1.22rem);
    line-height: 1.68;
}

.jb-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    color: var(--jb-cyan);
    font-weight: 720;
    text-decoration: underline;
    text-decoration-color: rgba(17, 191, 255, .38);
    text-underline-offset: 5px;
    transition: color .2s ease, text-decoration-color .2s ease;
}

.jb-text-link:hover { color: var(--jb-green); text-decoration-color: var(--jb-green); }
.jb-text-link:focus-visible { outline: 3px solid var(--jb-green); outline-offset: 4px; }

.jb-hero-signal {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    aspect-ratio: 1;
    border: 1px solid var(--line-strong);
    background: rgba(7, 24, 39, .82);
    box-shadow: 0 35px 80px rgba(0, 7, 13, .4);
}

.jb-hero-signal::before,
.jb-hero-signal::after {
    position: absolute;
    content: "";
    background: rgba(17, 191, 255, .3);
}
.jb-hero-signal::before { inset: 50% 0 auto; height: 1px; }
.jb-hero-signal::after { inset: 0 auto 0 50%; width: 1px; }

.jb-hero-signal span {
    display: flex;
    align-items: flex-start;
    padding: 18px;
    color: var(--muted);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .67rem;
    letter-spacing: .08em;
}

.jb-hero-signal b {
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 132px;
    height: 132px;
    color: var(--bg);
    background: var(--jb-cyan);
    font-size: 1.2rem;
    line-height: 1.08;
    text-align: center;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 14px rgba(17, 191, 255, .08);
}

.jb-paths { color: var(--jb-ink); background: var(--jb-paper); }
.jb-path-grid { display: grid; grid-template-columns: 1fr 1fr; }

.jb-path {
    display: flex;
    flex-direction: column;
    min-height: 480px;
    padding: clamp(48px, 7vw, 96px) clamp(28px, 5vw, 76px) clamp(58px, 8vw, 108px) 0;
}

.jb-path + .jb-path {
    padding-inline: clamp(28px, 5vw, 76px) 0;
    border-left: 1px solid var(--light-line);
}

.jb-path h2 {
    max-width: 13ch;
    margin: 26px 0 18px;
    color: var(--jb-ink);
    font-size: clamp(2rem, 4.2vw, 4.2rem);
    line-height: .98;
    letter-spacing: -.045em;
}
.jb-path p { max-width: 50ch; margin: 0 0 40px; color: var(--jb-muted); font-size: 1rem; line-height: 1.72; }
.jb-path .button { align-self: flex-start; margin-top: auto; }
.jb-path-employer { background: var(--paper-2); }

.jb-trust { padding-block: clamp(70px, 9vw, 126px); background: var(--surface); border-block: 1px solid var(--line); }
.jb-trust-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr); gap: clamp(50px, 9vw, 140px); }
.jb-trust h2 { max-width: 14ch; margin: 20px 0 0; font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1; letter-spacing: -.045em; }
.jb-trust ol { margin: 0; padding: 0; list-style: none; counter-reset: trust; }
.jb-trust li { display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: center; min-height: 72px; border-bottom: 1px solid var(--line); color: #d9e3e8; }
.jb-trust li span { color: var(--jb-green); font-weight: 800; }

.jb-auth-page {
    padding-block: clamp(56px, 7vw, 100px) clamp(90px, 10vw, 140px);
    background:
        linear-gradient(90deg, transparent 49.95%, rgba(128, 177, 201, .08) 50%, transparent 50.05%),
        var(--bg);
}

.jb-auth-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: clamp(48px, 7vw, 112px); align-items: start; }
.jb-auth-main { min-width: 0; }
.jb-auth-main h1, .jb-single-panel h1 { max-width: 16ch; font-size: clamp(2.45rem, 5.3vw, 5.1rem); }
.jb-back { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 38px; color: var(--muted); font-size: .8rem; font-weight: 700; }
.jb-back:hover { color: var(--jb-cyan); }
.jb-back:focus-visible { outline: 3px solid var(--jb-green); outline-offset: 4px; }

.jb-form { margin-top: 46px; }
.jb-form fieldset { min-width: 0; margin: 0 0 48px; padding: 0; border: 0; }
.jb-form legend { width: 100%; margin: 0 0 22px; padding: 0 0 12px; border-bottom: 1px solid var(--line); color: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .78rem; font-weight: 800; }
.jb-form legend span { margin-left: 12px; color: #d9e3e8; letter-spacing: .08em; text-transform: uppercase; }
.jb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.jb-field { margin-bottom: 22px; }
.jb-field label { display: block; margin-bottom: 8px; color: #d9e3e8; font-size: .82rem; font-weight: 680; }
.jb-field input,
.jb-field select,
.jb-field textarea {
    width: 100%;
    min-height: 54px;
    padding: 0 15px;
    border: 1px solid rgba(128, 177, 201, .34);
    border-radius: 0;
    outline: 0;
    color: var(--text);
    background: rgba(7, 24, 39, .82);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.jb-field input:hover { border-color: rgba(17, 191, 255, .55); }
.jb-field input:focus { border-color: var(--jb-cyan); background: var(--surface-2); box-shadow: 0 0 0 3px rgba(17, 191, 255, .16); }
.jb-field small { display: block; margin-top: 7px; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.jb-field.has-error input { border-color: #ff9f67; }
.jb-field .jb-field-error { color: #ffc08f; font-weight: 650; }

.jb-password-wrap { position: relative; }
.jb-password-wrap input { padding-right: 54px; }
.jb-password-toggle { position: absolute; inset: 5px 5px 5px auto; width: 44px; border: 0; color: var(--jb-cyan); background: transparent; cursor: pointer; }
.jb-password-toggle:hover { background: rgba(17, 191, 255, .1); }
.jb-password-toggle:focus-visible { outline: 3px solid var(--jb-green); outline-offset: -3px; }

.jb-consents { display: grid; gap: 14px; margin: 0 0 30px; }
.jb-consents label { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; color: #b6c5cd; font-size: .78rem; line-height: 1.55; }
.jb-consents input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--jb-cyan); }
.jb-consents a { color: var(--jb-cyan); text-decoration: underline; text-underline-offset: 3px; }
.jb-submit { min-width: min(100%, 330px); justify-content: space-between; }

.jb-auth-aside {
    position: sticky;
    top: calc(var(--header-h) + 28px);
    min-height: 470px;
    padding: 30px;
    border: 1px solid var(--line);
    background: var(--surface);
    box-shadow: 0 30px 60px rgba(0, 6, 11, .32);
}
.jb-aside-number { margin: 24px 0 54px; color: rgba(17, 191, 255, .17); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(5rem, 10vw, 9rem); font-weight: 800; line-height: .8; }
.jb-auth-aside p { color: #b6c5cd; font-size: .86rem; line-height: 1.65; }
.jb-auth-aside hr { margin: 28px 0; border: 0; border-top: 1px solid var(--line); }
.jb-auth-aside a { color: var(--jb-cyan); font-weight: 700; }
.jb-switch-role { display: inline-block; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }

.jb-alert { margin: 26px 0; padding: 16px 18px; border-left: 4px solid var(--jb-cyan); color: var(--jb-ink); background: #e6f8ff; font-size: .84rem; line-height: 1.55; }
.jb-alert ul { margin: 8px 0 0; padding-left: 20px; }
.jb-alert-error { border-left-color: #cc6f31; background: #fff0e6; }
.jb-alert-success { border-left-color: #5b8e24; background: #effbe4; }

.jb-complete-panel { margin-top: 40px; padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(142, 234, 53, .52); background: rgba(142, 234, 53, .07); }
.jb-complete-mark { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 24px; color: var(--bg); background: var(--jb-green); font-size: 1.4rem; font-weight: 800; }
.jb-complete-panel h2 { margin: 0 0 12px; font-size: clamp(1.6rem, 3vw, 2.4rem); }
.jb-complete-panel p { max-width: 62ch; color: #c2d0d6; line-height: 1.65; }
.jb-inline-actions { display: flex; flex-wrap: wrap; gap: 18px 24px; align-items: center; margin-top: 28px; }

.jb-single-panel { max-width: 880px; padding-block: 30px; }
.jb-action-form { margin: 30px 0; }
.jb-compact-form { max-width: 620px; }
.jb-login-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr); }
.jb-login-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 26px; }
.jb-login-links a { color: var(--jb-cyan); font-size: .8rem; font-weight: 700; }

.jb-login-assurance { margin: 36px 0; border: 1px solid var(--line); background: var(--surface-2); }
.jb-login-assurance > strong { display: block; padding: 20px 22px; border-bottom: 1px solid var(--line); color: var(--jb-cyan); font-size: 1.15rem; letter-spacing: -.02em; }
.jb-login-assurance ul { margin: 0; padding: 8px 22px 18px; list-style: none; }
.jb-login-assurance li { position: relative; padding: 13px 0 13px 20px; border-bottom: 1px solid rgba(255, 255, 255, .07); color: #b6c5cd; font-size: .73rem; line-height: 1.5; }
.jb-login-assurance li:last-child { border-bottom: 0; }
.jb-login-assurance li::before { position: absolute; top: 18px; left: 0; width: 7px; height: 7px; background: var(--jb-green); content: ""; }

.jb-unavailable { padding-block: clamp(90px, 12vw, 170px); }
.jb-narrow { max-width: 920px; }
.jb-unavailable h1 { max-width: 14ch; font-size: clamp(2.8rem, 6vw, 5.8rem); }
.jb-status-rail { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 38px 0 44px; padding-block: 18px; border-block: 1px solid var(--line); color: #b6c5cd; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; }
.jb-status-rail span { display: inline-flex; align-items: center; gap: 8px; }
.jb-status-rail i { width: 8px; height: 8px; background: var(--jb-green); }
.jb-status-rail .is-pending i { background: #ffb36a; }

.jb-dashboard-head { padding-block: clamp(48px, 6vw, 76px) 40px; border-bottom: 1px solid var(--line); background: var(--surface); }
.jb-dashboard-titlebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: end; }
.jb-dashboard-head h1 { max-width: 18ch; margin: 12px 0 14px; font-size: clamp(2.45rem, 5vw, 4.8rem); line-height: .96; }
.jb-dashboard-head p { max-width: 58ch; margin: 0; color: #b6c5cd; line-height: 1.65; }
.jb-dashboard-status { align-self: start; padding: 8px 12px; border: 1px solid rgba(255, 179, 106, .35); color: #ffc48f; background: rgba(255, 179, 106, .08); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jb-dashboard-status.is-active { border-color: rgba(142, 234, 53, .35); color: var(--jb-green); background: rgba(142, 234, 53, .08); }
.jb-dashboard-body { min-height: 560px; padding-block: 42px 90px; color: var(--jb-ink); background: var(--jb-paper); }
.jb-candidate-hub, .jb-employer-hub, .jb-dashboard-notice { overflow: hidden; border: 1px solid var(--light-line); background: #fff; box-shadow: 0 24px 60px rgba(5, 24, 37, .07); }
.jb-candidate-hub { box-shadow: inset 0 5px 0 var(--jb-green), 0 24px 60px rgba(5, 24, 37, .07); }
.jb-candidate-hub-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: clamp(34px, 6vw, 88px); align-items: center; padding: clamp(32px, 5vw, 58px); }
.jb-dashboard-index { display: block; color: var(--jb-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jb-candidate-hub h2, .jb-employer-hub h2, .jb-dashboard-notice h2 { max-width: 17ch; margin: 22px 0 14px; color: var(--jb-ink); font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; letter-spacing: -.045em; }
.jb-candidate-hub-head p, .jb-employer-hub p, .jb-dashboard-notice p { max-width: 56ch; margin: 0; color: var(--jb-muted); line-height: 1.68; }
.jb-dashboard-progress { display: grid; align-content: center; min-height: 210px; padding: 28px; border-left: 3px solid var(--jb-green); background: #effbe4; }
.jb-dashboard-progress strong { color: #315d0b; font-size: clamp(3.2rem, 6vw, 5.4rem); line-height: .88; letter-spacing: -.07em; }
.jb-dashboard-progress span { margin-top: 18px; color: #315d0b; font-size: .8rem; font-weight: 800; }
.jb-dashboard-progress small { margin-top: 7px; color: #57743b; font-size: .7rem; line-height: 1.5; }
.jb-candidate-actions { display: grid; grid-template-columns: 1.35fr 1fr 1fr; border-top: 1px solid var(--light-line); }
.jb-candidate-action { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; min-height: 122px; padding: 24px 26px; border-left: 1px solid var(--light-line); color: var(--jb-ink); background: #fff; transition: color .2s ease, background .2s ease; }
.jb-candidate-action:first-child { border-left: 0; }
.jb-candidate-action > span { color: var(--jb-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .64rem; }
.jb-candidate-action strong { font-size: .9rem; line-height: 1.45; }
.jb-candidate-action i { color: var(--cyan-deep); font-size: 1.15rem; font-style: normal; }
.jb-candidate-action.is-primary, .jb-candidate-action:hover { color: #052238; background: #e9f8fd; }
.jb-candidate-action.is-primary { box-shadow: inset 0 -4px 0 var(--jb-cyan); }
.jb-employer-hub, .jb-dashboard-notice { padding: clamp(34px, 6vw, 68px); }
.jb-employer-hub .button, .jb-dashboard-notice .button { margin-top: 30px; }
.jb-dashboard-accountbar { display: flex; justify-content: space-between; gap: 28px; align-items: center; margin-top: 16px; padding: 18px 22px; border: 1px solid var(--light-line); background: rgba(255, 255, 255, .56); }
.jb-dashboard-identity { display: grid; min-width: 0; }
.jb-dashboard-identity strong { color: var(--jb-ink); font-size: .82rem; }
.jb-dashboard-identity small { overflow: hidden; margin-top: 3px; color: var(--jb-muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.jb-dashboard-accountbar nav { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
.jb-dashboard-accountbar form { margin: 0; }
.jb-dashboard-accountbar a, .jb-dashboard-accountbar button { min-height: 40px; padding: 0; border: 0; color: var(--jb-muted); background: transparent; font-size: .74rem; font-weight: 750; cursor: pointer; }
.jb-dashboard-accountbar a:hover, .jb-dashboard-accountbar button:hover { color: var(--cyan-deep); }

@media (max-width: 980px) {
    .jb-hero-grid { grid-template-columns: 1fr; min-height: auto; }
    .jb-hero-signal { width: min(100%, 560px); }
    .jb-auth-layout, .jb-login-layout { grid-template-columns: 1fr; }
    .jb-auth-aside { position: static; min-height: 0; }
    .jb-aside-number { margin-bottom: 30px; }
    .jb-trust-grid { grid-template-columns: 1fr; }
    .jb-candidate-hub-head { grid-template-columns: 1fr; }
    .jb-dashboard-progress { min-height: 170px; }
    .jb-candidate-actions { grid-template-columns: 1fr; }
    .jb-candidate-action { min-height: 96px; border-top: 1px solid var(--light-line); border-left: 0; }
    .jb-candidate-action:first-child { border-top: 0; }
}

@media (max-width: 720px) {
    .jb-hero-grid { padding-block: 72px; }
    .jb-hero h1, .jb-auth-main h1, .jb-single-panel h1, .jb-dashboard-head h1, .jb-unavailable h1 { line-height: 1; }
    .jb-path-grid, .jb-workspace-grid { grid-template-columns: 1fr; }
    .jb-path { min-height: 390px; padding: 56px 22px 64px; }
    .jb-path + .jb-path { padding-inline: 22px; border-top: 1px solid var(--light-line); border-left: 0; }
    .jb-form-grid { grid-template-columns: 1fr; gap: 0; }
    .jb-auth-page { background: var(--bg); }
    .jb-auth-aside { padding: 24px; }
    .jb-dashboard-titlebar { grid-template-columns: 1fr; gap: 20px; }
    .jb-dashboard-status { justify-self: start; }
    .jb-candidate-hub-head { padding: 30px 22px; }
    .jb-dashboard-progress { min-height: 0; }
    .jb-dashboard-accountbar { align-items: flex-start; flex-direction: column; }
    .jb-dashboard-accountbar nav { align-items: flex-start; flex-direction: column; gap: 2px; }
}

/* Employer workspace — dense, operational, and bounded for large datasets */
.jb-employer-page { --jb-company-accent: #11bfff; background: #071827; }
.jb-employer-hero { padding: clamp(48px, 7vw, 92px) 0 0; border-bottom: 1px solid var(--line); background: #081d2d; }
.jb-employer-hero-compact { padding-top: clamp(38px, 5vw, 66px); }
.jb-employer-hero-line { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 300px); gap: 48px; align-items: end; padding-bottom: 42px; }
.jb-employer-hero h1 { max-width: 14ch; margin: 14px 0 18px; color: var(--text); font-size: clamp(2.5rem, 5.4vw, 5.4rem); line-height: .94; letter-spacing: -.055em; }
.jb-employer-hero-compact h1 { font-size: clamp(2.35rem, 4.5vw, 4.4rem); }
.jb-employer-hero p { max-width: 67ch; margin: 0; color: #a9bbc4; line-height: 1.7; }
.jb-employer-hero .jb-back { display: table; margin-bottom: 24px; color: #91a7b2; font-size: .72rem; font-weight: 760; }
.jb-verification-badge, .jb-job-status-card, .jb-ats-total { display: grid; min-height: 150px; padding: 24px; border: 1px solid var(--line); background: #061523; }
.jb-verification-badge > span { width: 13px; height: 13px; margin-bottom: auto; border: 2px solid #ffad63; border-radius: 50%; box-shadow: 0 0 0 7px rgba(255,173,99,.08); }
.jb-verification-badge.is-verified > span { border-color: var(--jb-green); background: var(--jb-green); box-shadow: 0 0 0 7px rgba(142,234,53,.09); }
.jb-verification-badge.is-pending > span { background: #ffad63; }
.jb-verification-badge strong, .jb-job-status-card strong, .jb-ats-total strong { align-self: end; color: #eaf2f5; font-size: 1.15rem; }
.jb-verification-badge small, .jb-job-status-card small, .jb-ats-total small { margin-top: 6px; color: #78919e; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .64rem; }
.jb-job-status-card > span, .jb-ats-total > span { color: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jb-ats-total strong { font-size: 3.6rem; line-height: 1; }

.jb-employer-nav { display: flex; gap: 2px; align-items: stretch; min-height: 58px; overflow-x: auto; border-top: 1px solid var(--line); }
.jb-employer-nav > a { display: grid; place-items: center; min-width: 140px; padding: 0 18px; border-right: 1px solid var(--line); color: #8fa5b0; font-size: .72rem; font-weight: 760; text-decoration: none; white-space: nowrap; }
.jb-employer-nav > a:hover { color: #fff; background: rgba(17,191,255,.06); }
.jb-employer-nav > a[aria-current="page"] { color: #061927; background: var(--jb-cyan); }
.jb-company-switch { display: flex; gap: 10px; align-items: center; min-width: 240px; margin-left: auto; padding-inline: 16px; color: #78919e; font-size: .64rem; }
.jb-company-switch select { width: 100%; min-height: 38px; padding: 7px 10px; border: 1px solid var(--line); color: #dce7eb; background: #061523; }

.jb-employer-body { padding: 52px 0 112px; color: var(--jb-ink); background: #edf2f3; }
.jb-employer-narrow { max-width: 900px; }
.jb-employer-body > .container > .jb-alert { margin-top: 0; }
.jb-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-bottom: 36px; border: 1px solid #cad6da; background: #cad6da; }
.jb-kpi-grid article { min-height: 178px; padding: 24px; background: #fff; }
.jb-kpi-grid article > span { color: #79909b; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .63rem; }
.jb-kpi-grid strong { display: block; margin-top: 30px; color: #0a2636; font-size: clamp(2.4rem, 4vw, 4.2rem); line-height: .9; letter-spacing: -.06em; }
.jb-kpi-grid p { margin: 12px 0 0; color: #607782; font-size: .72rem; }
.jb-employer-split { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
.jb-panel { min-width: 0; border: 1px solid #cad6da; background: #fff; }
.jb-panel-head { display: flex; gap: 24px; align-items: center; justify-content: space-between; padding: 28px; border-bottom: 1px solid #d4dee1; }
.jb-panel-head span, .jb-action-rail section > span, .jb-company-aside section > span { color: #307592; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jb-panel-head h2 { margin: 8px 0 0; color: #0b2635; font-size: 1.45rem; }
.jb-zero { display: grid; min-height: 380px; place-items: center; align-content: center; padding: 42px; text-align: center; }
.jb-zero > strong { color: #d3e1e6; font-size: 7rem; line-height: .8; }
.jb-zero h3 { margin: 24px 0 8px; color: #173444; }
.jb-zero p { max-width: 48ch; margin: 0; color: #6a7e87; line-height: 1.6; }
.jb-job-list { display: grid; }
.jb-job-list article { display: grid; grid-template-columns: 1fr 52px; gap: 20px; align-items: center; min-height: 108px; padding: 20px 26px; border-bottom: 1px solid #dce4e7; }
.jb-job-list article:last-child { border-bottom: 0; }
.jb-job-list article:hover { background: #f4fafb; }
.jb-job-list span { color: #3a7a48; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.jb-job-list h3 { margin: 7px 0 4px; color: #112d3d; font-size: 1rem; }
.jb-job-list p { margin: 0; color: #758992; font-size: .68rem; }
.jb-job-list article > a { display: grid; width: 42px; height: 42px; place-items: center; color: #0b2635; background: #dff5fb; font-weight: 850; }
.jb-action-rail { display: grid; gap: 16px; }
.jb-action-rail section, .jb-company-aside > section { padding: 28px; border: 1px solid #cad6da; background: #fff; }
.jb-action-rail h2, .jb-company-aside h2 { margin: 20px 0 12px; color: #102c3b; font-size: 1.55rem; }
.jb-action-rail p, .jb-company-aside p { color: #667c86; font-size: .76rem; line-height: 1.65; }
.jb-action-rail a { display: inline-block; margin-top: 16px; color: #087ba4; font-size: .72rem; font-weight: 800; }

.jb-company-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.jb-company-layout > main { min-width: 0; }
.jb-company-layout .jb-form-section { color: #dce7eb; }
.jb-company-layout .jb-form-section > h2, .jb-verification-panel > h2 { margin: 10px 0 8px; color: #f1f6f8; font-size: clamp(1.4rem, 2.6vw, 2.1rem); }
.jb-section-number { color: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jb-brand-preview { position: relative; display: grid; grid-template-columns: 100px 1fr; gap: 24px; align-items: end; min-height: 235px; margin: 28px 0; padding: 28px; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(115deg, var(--company-brand), #071827 70%); }
.jb-brand-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .34; mix-blend-mode: luminosity; }
.jb-brand-preview::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(4,15,24,.92), transparent 80%); }
.jb-brand-logo { z-index: 1; display: grid; width: 94px; height: 94px; place-items: center; overflow: hidden; border: 3px solid #fff; color: #061927; background: #fff; font-size: 1.6rem; font-weight: 900; }
.jb-brand-logo img { width: 100%; height: 100%; object-fit: cover; }
.jb-brand-preview > div:last-child { z-index: 1; display: grid; gap: 5px; }
.jb-brand-preview > div:last-child strong { color: #fff; font-size: 1.45rem; }
.jb-brand-preview > div:last-child span { color: #bcd0d9; font-size: .72rem; }
.jb-company-aside { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 18px; }
.jb-team-list { display: grid; gap: 1px; margin: 22px 0; background: #dbe3e6; }
.jb-team-list article { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; padding: 12px; background: #f8fbfc; }
.jb-member-avatar { display: grid; width: 40px; height: 40px; place-items: center; color: #071827; background: #b9ebfb; font-weight: 850; }
.jb-team-list strong { display: block; overflow: hidden; color: #163342; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.jb-team-list small { display: block; margin-top: 3px; color: #718791; font-size: .62rem; }
.jb-team-invite { padding-top: 20px; border-top: 1px solid #d7e0e3; }
.jb-team-invite .jb-field { margin-bottom: 14px; }
.jb-team-invite .jb-field label { color: #304e5d; }
.jb-team-invite input, .jb-team-invite select { color: #102c3b; background: #f7fbfc; border-color: #bdcdd3; }
.jb-pending-invites { display: grid; gap: 7px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #d7e0e3; }
.jb-pending-invites strong { color: #173544; font-size: .7rem; }
.jb-pending-invites span { color: #718791; font-size: .63rem; }
.jb-plan-card { border-top: 4px solid var(--jb-green) !important; }
.jb-plan-card small { color: #70858e; font-size: .65rem; line-height: 1.5; }

.jb-verification-panel { color: #dbe6ea; }
.jb-verification-flow { display: grid; grid-template-columns: repeat(4, 1fr); margin: 30px 0; border: 1px solid var(--line); }
.jb-verification-flow > div { min-height: 96px; padding: 16px; border-right: 1px solid var(--line); background: #071827; }
.jb-verification-flow > div:last-child { border-right: 0; }
.jb-verification-flow span { display: block; color: #637f8d; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .6rem; }
.jb-verification-flow strong { display: block; margin-top: 22px; color: #91a6b0; font-size: .68rem; }
.jb-verification-flow .is-done { box-shadow: inset 0 3px 0 var(--jb-green); }
.jb-verification-flow .is-done strong { color: #dce8ec; }
.jb-method-statuses { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 30px; }
.jb-method-statuses article { display: grid; grid-template-columns: 12px 1fr; gap: 14px; min-height: 150px; padding: 20px; border: 1px solid var(--line); background: #071827; }
.jb-method-statuses article > span { width: 10px; height: 10px; margin-top: 4px; border-radius: 50%; background: #4f6875; }
.jb-method-statuses article > span.is-pending { background: #ffad63; }
.jb-method-statuses article > span.is-verified { background: var(--jb-green); }
.jb-method-statuses strong { color: #e2ebee; font-size: .8rem; }
.jb-method-statuses p { margin: 6px 0; color: #8fa4af; font-size: .68rem; line-height: 1.5; }
.jb-method-statuses small { color: #6f8995; font-size: .6rem; }
.jb-method-statuses a { display: block; margin-top: 8px; color: var(--jb-cyan); font-size: .65rem; }
.jb-method-statuses code { display: block; margin-top: 12px; padding: 10px; overflow-wrap: anywhere; color: var(--jb-green); background: #03101b; font-size: .62rem; }
.jb-verification-form { padding-top: 28px; border-top: 1px solid var(--line); }

/* Five-step vacancy editor */
.jb-job-editor .jb-employer-body { color: #dce7eb; background: #071827; }
.jb-job-editor-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(36px, 6vw, 82px); align-items: start; }
.jb-job-steps { position: sticky; top: calc(var(--header-h) + 18px); }
.jb-job-steps ol { margin: 0; padding: 0; border: 1px solid var(--line); list-style: none; }
.jb-job-steps li { border-bottom: 1px solid var(--line); }
.jb-job-steps li:last-child { border-bottom: 0; }
.jb-job-steps a, .jb-job-steps li > span { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; min-height: 66px; padding: 11px 14px; color: #79909c; text-decoration: none; }
.jb-job-steps span span, .jb-job-steps i, .jb-job-steps a > span { color: #5d7886; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .6rem; font-style: normal; }
.jb-job-steps b { font-size: .72rem; line-height: 1.3; }
.jb-job-steps .is-current a, .jb-job-steps .is-current > span { color: #061927; background: var(--jb-cyan); }
.jb-job-steps .is-current a > span, .jb-job-steps .is-current i { color: #061927; }
.jb-job-steps .is-past a { color: #c4d0d6; }
.jb-job-steps .is-past a > span { color: var(--jb-green); }
.jb-job-progress { height: 4px; margin-top: 14px; background: #193343; }
.jb-job-progress span { display: block; height: 100%; background: var(--jb-green); }
.jb-draft-exit { display: block; margin-top: 24px; color: #839aa5; font-size: .68rem; font-weight: 760; }
.jb-job-main { min-width: 0; max-width: 1040px; }
.jb-job-main .jb-step-heading h2 { max-width: 16ch; }
.jb-job-main .jb-form-section > h3 { font-size: clamp(1.35rem, 2.7vw, 2.15rem); }
.jb-job-skill-grid { grid-template-columns: 1.5fr .65fr .55fr .75fr; }
.jb-job-language-grid { grid-template-columns: .65fr .5fr 1.5fr .7fr; }
.jb-remove-inline { min-height: 34px; padding: 5px 8px; border: 0; color: #ffad8b; background: transparent; cursor: pointer; font-size: .65rem; }
.jb-legal-note { margin: 20px 0; padding: 20px; border-left: 4px solid #ffad63; color: #dbe6ea; background: #071827; }
.jb-legal-note strong { color: #ffca9d; font-size: .78rem; }
.jb-legal-note p { margin: 8px 0 0; color: #91a7b2; font-size: .72rem; line-height: 1.6; }
.jb-legal-note a { color: var(--jb-cyan); }
.jb-translation-stack { display: grid; gap: 8px; }
.jb-translation-stack details { border: 1px solid var(--line); background: #071827; }
.jb-translation-stack summary { padding: 17px 20px; color: #c4d3da; cursor: pointer; font-size: .76rem; font-weight: 750; }
.jb-translation-stack summary span { display: inline-grid; width: 42px; height: 28px; margin-right: 12px; place-items: center; color: #061927; background: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .62rem; }
.jb-translation-stack details > .jb-form-grid { padding: 22px; border-top: 1px solid var(--line); }
.jb-stage-selector { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.jb-stage-selector label { position: relative; }
.jb-stage-selector input { position: absolute; opacity: 0; }
.jb-stage-selector span { display: grid; min-height: 52px; place-items: center; padding: 8px; border: 1px solid var(--line); color: #9eb0b9; background: #071827; font-size: .69rem; text-align: center; }
.jb-stage-selector input:checked + span { border-color: var(--jb-green); color: #dfffc3; background: rgba(142,234,53,.07); }
.jb-job-review > h3 { margin: 24px 0 12px; color: #fff; font-size: clamp(2rem, 4vw, 3.6rem); }
.jb-job-review > p { max-width: 70ch; color: #9db0ba; line-height: 1.7; }
.jb-review-status { display: flex; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); color: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .64rem; text-transform: uppercase; }
.jb-review-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 28px 0; background: var(--line); }
.jb-review-grid > div { min-height: 100px; padding: 17px; background: #071827; }
.jb-review-grid span { display: block; color: #708995; font-size: .62rem; }
.jb-review-grid strong { display: block; margin-top: 19px; color: #e2ebef; font-size: .78rem; }
.jb-review-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.jb-review-columns h4 { color: #fff; }
.jb-review-columns li { margin-bottom: 8px; color: #a5b7c0; font-size: .76rem; line-height: 1.5; }
.jb-job-editor button:disabled { opacity: .45; cursor: not-allowed; }

/* Recruitment pipeline */
.jb-ats-toolbar { display: flex; gap: 18px; justify-content: space-between; align-items: end; margin-bottom: 24px; }
.jb-ats-toolbar > form { display: grid; grid-template-columns: 1.2fr .8fr 1.3fr auto; gap: 8px; align-items: end; flex: 1; }
.jb-ats-toolbar label { display: grid; gap: 6px; }
.jb-ats-toolbar label > span { color: #5f7681; font-size: .62rem; font-weight: 750; }
.jb-ats-toolbar select, .jb-ats-toolbar input { min-height: 46px; padding: 9px 12px; border: 1px solid #bdcdd2; color: #102c3a; background: #fff; }
.jb-view-switch { display: flex; border: 1px solid #bdcdd2; background: #fff; }
.jb-view-switch button { min-height: 46px; padding: 0 16px; border: 0; color: #5e7580; background: transparent; cursor: pointer; font-size: .68rem; font-weight: 800; }
.jb-view-switch button.is-active { color: #fff; background: #123b51; }
.jb-kanban { display: grid; grid-auto-columns: minmax(270px, 1fr); grid-auto-flow: column; gap: 10px; max-width: 100%; padding-bottom: 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; }
.jb-kanban-column { min-width: 270px; height: min(69vh, 760px); border: 1px solid #c4d2d7; background: #e4ebed; scroll-snap-align: start; }
.jb-kanban-column > header { display: flex; justify-content: space-between; align-items: center; min-height: 66px; padding: 14px 16px; border-bottom: 1px solid #c4d2d7; background: #fff; }
.jb-kanban-column > header > div { display: flex; gap: 9px; align-items: center; }
.jb-kanban-column > header span { width: 8px; height: 8px; border-radius: 50%; background: #5d8394; }
.jb-kanban-column[data-stage="hired"] > header span { background: #6aa52e; }
.jb-kanban-column[data-stage="rejected"] > header span { background: #c66c56; }
.jb-kanban-column h2 { margin: 0; color: #173442; font-size: .74rem; }
.jb-kanban-column header b { display: grid; width: 26px; height: 26px; place-items: center; color: #566f7a; background: #edf3f5; font-size: .64rem; }
.jb-kanban-stack { display: grid; gap: 8px; align-content: start; height: calc(100% - 66px); padding: 9px; overflow-y: auto; transition: background .18s ease; }
.jb-kanban-stack.is-over { background: #d4f3fc; box-shadow: inset 0 0 0 2px #11bfff; }
.jb-candidate-card { padding: 17px; border: 1px solid #c4d2d7; background: #fff; box-shadow: 0 5px 14px rgba(18,46,60,.05); }
.jb-candidate-card[draggable="true"] { cursor: grab; }
.jb-candidate-card.is-dragging { opacity: .45; }
.jb-candidate-card.is-saving { pointer-events: none; opacity: .6; }
.jb-candidate-card-top { display: flex; gap: 8px; justify-content: space-between; align-items: center; }
.jb-match-score { display: grid; min-width: 44px; height: 29px; place-items: center; color: #124762; background: #dff5fb; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .65rem; font-weight: 850; }
.jb-card-rating { color: #bd870f; font-size: .68rem; letter-spacing: 1px; }
.jb-candidate-card > h3 { margin: 16px 0 4px; color: #102e3d; font-size: .9rem; }
.jb-candidate-card > p { margin: 0 0 15px; color: #718791; font-size: .65rem; line-height: 1.45; }
.jb-card-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0; }
.jb-card-tags span { padding: 4px 6px; border-left: 3px solid var(--tag); color: #526b76; background: #edf3f5; font-size: .57rem; }
.jb-match-bars { display: grid; gap: 7px; padding: 12px 0; border-block: 1px solid #e0e7e9; }
.jb-match-bars > div { display: grid; grid-template-columns: 55px 1fr 28px; gap: 7px; align-items: center; }
.jb-match-bars span, .jb-match-bars em { color: #718690; font-size: .54rem; font-style: normal; }
.jb-match-bars em { text-align: right; }
.jb-match-bars i { height: 4px; background: #dbe5e8; }
.jb-match-bars b { display: block; height: 100%; background: #2f839e; }
.jb-card-details { margin-top: 11px; }
.jb-card-details > summary { color: #087ba4; cursor: pointer; font-size: .65rem; font-weight: 800; list-style: none; }
.jb-card-details > summary::-webkit-details-marker { display: none; }
.jb-card-actions { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #dbe4e7; }
.jb-card-actions form { display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: end; padding: 10px; background: #f2f6f7; }
.jb-card-actions label { display: grid; gap: 4px; color: #526b76; font-size: .58rem; }
.jb-card-actions input, .jb-card-actions select, .jb-card-actions textarea { width: 100%; min-height: 36px; padding: 7px; border: 1px solid #bfcfd5; color: #173442; background: #fff; font-size: .65rem; }
.jb-card-actions textarea { grid-column: 1 / -1; }
.jb-card-actions form > button { min-height: 36px; padding: 7px 10px; border: 0; color: #fff; background: #123b51; cursor: pointer; font-size: .61rem; font-weight: 800; }
.jb-card-actions input[type="color"] { width: 38px; padding: 3px; }
.jb-private-notes { display: grid; gap: 7px; margin-top: 8px; }
.jb-private-notes > strong { color: #2b4b5b; font-size: .65rem; }
.jb-private-notes article { padding: 9px; border-left: 3px solid #7e9daa; background: #f2f6f7; }
.jb-private-notes p { margin: 0 0 5px; color: #415c69; font-size: .62rem; line-height: 1.45; }
.jb-private-notes small { color: #83969f; font-size: .54rem; }
.jb-ats-empty { display: grid; min-height: 540px; place-items: center; align-content: center; padding: 50px 20px; border: 1px solid #cad6da; background: #fff; text-align: center; }
.jb-ats-empty > span { color: #3e829f; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .63rem; font-weight: 800; text-transform: uppercase; }
.jb-ats-empty h2 { margin: 16px 0 10px; color: #12303f; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.jb-ats-empty p { max-width: 54ch; margin: 0 0 26px; color: #667d87; line-height: 1.65; }
.jb-empty-pipeline { display: flex; gap: 6px; width: min(100%, 500px); margin-bottom: 38px; }
.jb-empty-pipeline div { flex: 1; }
.jb-empty-pipeline span { color: #9fb0b7; font-size: .55rem; }
.jb-empty-pipeline i { display: block; height: 7px; margin-top: 7px; background: #dbe6e9; }
.jb-empty-pipeline div:first-child i { background: #67c8e4; }
.jb-ats-table { border: 1px solid #c5d2d7; background: #fff; }
.jb-bulk-bar { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; padding: 14px; border-bottom: 1px solid #d5dfe2; }
.jb-bulk-bar label { margin-right: auto; color: #526c77; font-size: .68rem; }
.jb-bulk-bar select { min-height: 42px; padding: 8px; border: 1px solid #bdcdd2; color: #173442; background: #fff; }
.jb-table-scroll { overflow-x: auto; }
.jb-ats-table table { width: 100%; min-width: 900px; border-collapse: collapse; }
.jb-ats-table th { padding: 13px 14px; color: #667d87; background: #edf3f5; font-size: .61rem; text-align: left; }
.jb-ats-table td { padding: 15px 14px; border-top: 1px solid #dce4e7; color: #3d5966; font-size: .68rem; }
.jb-ats-table td strong, .jb-ats-table td small { display: block; }
.jb-ats-table td strong { color: #183644; }
.jb-ats-table td small { margin-top: 4px; color: #85979f; }
.jb-stage-pill { padding: 5px 7px; color: #315362; background: #e2edf0; font-size: .58rem; font-weight: 800; }
.jb-pagination { display: flex; gap: 18px; justify-content: center; align-items: center; margin-top: 24px; color: #6a8089; font-size: .68rem; }
.jb-pagination a { color: #087ba4; font-weight: 800; }

@media (max-width: 1120px) {
    .jb-company-layout { grid-template-columns: 1fr; }
    .jb-company-aside { position: static; grid-template-columns: 1fr 1fr; }
    .jb-employer-split { grid-template-columns: 1fr; }
    .jb-action-rail { grid-template-columns: 1fr 1fr; }
    .jb-ats-toolbar { align-items: stretch; flex-direction: column; }
    .jb-view-switch { align-self: flex-end; }
}

@media (max-width: 900px) {
    .jb-employer-hero-line { grid-template-columns: 1fr; gap: 28px; }
    .jb-verification-badge, .jb-job-status-card, .jb-ats-total { width: min(100%, 360px); min-height: 125px; }
    .jb-kpi-grid { grid-template-columns: 1fr 1fr; }
    .jb-job-editor-layout { grid-template-columns: 1fr; }
    .jb-job-steps { position: static; overflow-x: auto; }
    .jb-job-steps ol { display: grid; grid-template-columns: repeat(5, minmax(135px, 1fr)); min-width: 675px; }
    .jb-job-steps li { border-right: 1px solid var(--line); border-bottom: 0; }
    .jb-job-skill-grid, .jb-job-language-grid { grid-template-columns: 1fr 1fr; }
    .jb-ats-toolbar > form { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
    .jb-employer-hero { padding-top: 32px; }
    .jb-employer-hero-line { padding-bottom: 28px; }
    .jb-employer-nav > a { min-width: 125px; }
    .jb-employer-body { padding-top: 28px; }
    .jb-kpi-grid, .jb-action-rail, .jb-company-aside, .jb-method-statuses, .jb-verification-flow, .jb-stage-selector, .jb-review-grid, .jb-review-columns { grid-template-columns: 1fr; }
    .jb-kpi-grid article { min-height: 140px; }
    .jb-verification-flow > div { min-height: 72px; border-right: 0; border-bottom: 1px solid var(--line); }
    .jb-verification-flow > div:last-child { border-bottom: 0; }
    .jb-verification-flow strong { margin-top: 10px; }
    .jb-brand-preview { grid-template-columns: 72px 1fr; min-height: 200px; padding: 20px; }
    .jb-brand-logo { width: 68px; height: 68px; }
    .jb-job-skill-grid, .jb-job-language-grid, .jb-ats-toolbar > form { grid-template-columns: 1fr; }
    .jb-kanban { grid-auto-columns: minmax(85vw, 1fr); }
    .jb-kanban-column { min-width: 85vw; }
    .jb-view-switch { align-self: stretch; }
    .jb-view-switch button { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .jb-page *, .jb-page *::before, .jb-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Candidate profile workspace */
.jb-candidate-page { background: #071827; }
.jb-candidate-head { padding: clamp(52px, 7vw, 94px) 0 42px; border-bottom: 1px solid var(--line); background: #0a2031; }
.jb-candidate-head-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 390px); gap: clamp(36px, 7vw, 100px); align-items: end; }
.jb-candidate-head .jb-back { margin: 0 0 28px; }
.jb-candidate-head .jb-kicker { display: block; }
.jb-candidate-head h1 { max-width: 12ch; margin: 14px 0 20px; color: var(--text); font-size: clamp(2.5rem, 5.5vw, 5.5rem); line-height: .95; letter-spacing: -.055em; }
.jb-candidate-head p { max-width: 63ch; margin: 0; color: #b6c5cd; line-height: 1.7; }
.jb-profile-score { display: grid; grid-template-columns: 112px 1fr; gap: 22px; align-items: center; padding: 22px; border: 1px solid var(--line); background: #071827; }
.jb-score-ring { display: grid; place-items: center; width: 104px; height: 104px; }
.jb-score-ring svg { grid-area: 1 / 1; width: 100%; height: 100%; transform: rotate(-90deg); }
.jb-score-ring circle { fill: none; stroke: rgba(128,177,201,.14); stroke-width: 3; }
.jb-score-ring .jb-score-value { stroke: var(--jb-green); stroke-linecap: square; }
.jb-score-ring strong { z-index: 1; grid-area: 1 / 1; color: var(--text); font-size: 1.25rem; }
.jb-profile-score > div:last-child > span { color: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jb-profile-score p { margin-top: 8px; color: #a9bac3; font-size: .75rem; line-height: 1.55; }

.jb-candidate-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(38px, 6vw, 92px); align-items: start; padding-block: 52px 112px; }
.jb-step-nav { position: sticky; top: calc(var(--header-h) + 22px); }
.jb-step-nav ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.jb-step-nav li { border-bottom: 1px solid var(--line); }
.jb-step-nav a { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; min-height: 60px; padding: 8px 10px; color: #8298a5; text-decoration: none; }
.jb-step-nav a span { color: #688391; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .65rem; }
.jb-step-nav a b { font-size: .76rem; line-height: 1.35; }
.jb-step-nav li.is-past a { color: #bdcbd2; }
.jb-step-nav li.is-past a span { color: var(--jb-green); }
.jb-step-nav li.is-current a { color: #061927; background: var(--jb-cyan); }
.jb-step-nav li.is-current a span { color: #061927; }
.jb-step-nav a:focus-visible { outline: 3px solid var(--jb-green); outline-offset: 2px; }
.jb-autosave-state { min-height: 42px; padding: 14px 10px; color: #7f96a3; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .65rem; line-height: 1.4; }
.jb-autosave-state::before { display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; content: ""; background: #688391; }
.jb-autosave-state[data-state="saving"]::before { background: #ffb36a; }
.jb-autosave-state[data-state="saved"]::before { background: var(--jb-green); }
.jb-autosave-state[data-state="error"]::before { background: #ff8f69; }

.jb-candidate-main { min-width: 0; max-width: 980px; }
.jb-step-heading { margin-bottom: 44px; }
.jb-step-heading > span { color: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.jb-step-heading h2 { margin: 12px 0 14px; color: var(--text); font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; letter-spacing: -.045em; }
.jb-step-heading p { max-width: 68ch; margin: 0; color: #aebfc8; line-height: 1.7; }
.jb-candidate-form { margin: 0; }
.jb-form-section { margin: 0 0 34px; padding: clamp(24px, 4vw, 42px); border: 1px solid var(--line); background: #0a2031; }
.jb-form-section > h3 { margin: 0 0 8px; color: var(--text); font-size: clamp(1.25rem, 2.3vw, 1.8rem); letter-spacing: -.025em; }
.jb-form-section > h3 + p { max-width: 67ch; margin: 0 0 28px; color: #94aab5; font-size: .84rem; line-height: 1.65; }
.jb-candidate-form .jb-field { min-width: 0; margin-bottom: 20px; }
.jb-candidate-form .jb-field label { color: #dce6eb; }
.jb-candidate-form .jb-field textarea { min-height: 124px; padding-block: 14px; line-height: 1.55; resize: vertical; }
.jb-candidate-form .jb-field select { appearance: auto; }
.jb-candidate-form .jb-field input[type="range"] { min-height: 34px; padding: 0; border: 0; accent-color: var(--jb-cyan); background: transparent; box-shadow: none; }
.jb-candidate-form .jb-field input[type="file"] { min-height: 48px; padding: 10px; }
.jb-candidate-form .jb-field textarea:focus,
.jb-candidate-form .jb-field select:focus { border-color: var(--jb-cyan); background: var(--surface-2); box-shadow: 0 0 0 3px rgba(17,191,255,.16); }
.jb-candidate-form .jb-field.has-error input,
.jb-candidate-form .jb-field.has-error select,
.jb-candidate-form .jb-field.has-error textarea { border-color: #ff9f67; }
.jb-span-2 { grid-column: 1 / -1; }
.jb-check { display: grid !important; grid-template-columns: 21px 1fr; gap: 11px; align-items: start; padding: 10px 0; cursor: pointer; }
.jb-check input { width: 20px !important; min-height: 20px !important; height: 20px; margin: 0; padding: 0 !important; accent-color: var(--jb-cyan); }
.jb-check span { color: #c6d3da; font-size: .8rem; line-height: 1.5; }

.jb-avatar-editor { display: grid; grid-template-columns: 118px 1fr; gap: 28px; align-items: center; margin: 24px 0 30px; }
.jb-avatar-preview { display: grid; place-items: center; width: 112px; height: 112px; overflow: hidden; border: 1px solid var(--line-strong); color: #061927; background: var(--jb-cyan); font-size: 2rem; font-weight: 850; }
.jb-avatar-preview img { width: 100%; height: 100%; object-fit: cover; }

.jb-repeat-list { display: grid; gap: 18px; }
.jb-repeat-card { padding: 24px; border: 1px solid rgba(128,177,201,.22); background: #071827; }
.jb-repeat-card-compact { padding-bottom: 10px; }
.jb-repeat-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin: -4px 0 22px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.jb-repeat-head b { color: var(--jb-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.jb-repeat-head button { min-height: 36px; padding: 0 8px; border: 0; color: #ffb18f; background: transparent; cursor: pointer; font-size: .7rem; font-weight: 760; }
.jb-repeat-head button:hover { color: #fff; background: rgba(255,143,105,.13); }
.jb-add-row { margin-top: 20px; }
.jb-skill-grid { grid-template-columns: 1.3fr .8fr .6fr .7fr; }

.jb-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 28px; }
.jb-choice { position: relative; cursor: pointer; }
.jb-choice input { position: absolute; opacity: 0; }
.jb-choice span { display: grid; place-items: center; min-height: 54px; padding: 8px 12px; border: 1px solid var(--line); color: #b8c8d0; background: #071827; font-size: .76rem; font-weight: 700; text-align: center; }
.jb-choice input:checked + span { border-color: var(--jb-cyan); color: #061927; background: var(--jb-cyan); }
.jb-choice input:focus-visible + span { outline: 3px solid var(--jb-green); outline-offset: 2px; }

.jb-upload-zone { margin: 22px 0; padding: 24px; border: 1px dashed rgba(17,191,255,.55); background: #071827; }
.jb-upload-zone > div:first-child strong { color: var(--text); font-size: 1rem; }
.jb-upload-zone > div:first-child p { margin: 7px 0 22px; color: #93aab5; font-size: .76rem; line-height: 1.55; }
.jb-document-list { display: grid; gap: 1px; margin-top: 20px; background: var(--line); }
.jb-document-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 17px 18px; background: #071827; }
.jb-document-list article > div:first-child { display: grid; gap: 4px; min-width: 0; }
.jb-document-list span { color: var(--jb-green); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
.jb-document-list strong { overflow: hidden; color: #dce6eb; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.jb-document-list small { color: #78909d; font-size: .65rem; }
.jb-document-actions { display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: flex-end; }
.jb-document-actions a,
.jb-document-actions button { min-height: 36px; padding: 8px; border: 0; color: var(--jb-cyan); background: transparent; cursor: pointer; font-size: .68rem; font-weight: 750; }
.jb-document-actions a:hover,
.jb-document-actions button:hover { color: #061927; background: var(--jb-cyan); }
.jb-empty-state { margin: 0; padding: 26px; color: #8ca3af; background: #071827; font-size: .8rem; }

.jb-visibility-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 24px 0 28px; }
.jb-visibility-grid label { position: relative; cursor: pointer; }
.jb-visibility-grid input { position: absolute; opacity: 0; }
.jb-visibility-grid span { display: block; min-height: 146px; padding: 20px; border: 1px solid var(--line); background: #071827; }
.jb-visibility-grid b { display: block; margin-bottom: 10px; color: #dce6eb; font-size: .85rem; }
.jb-visibility-grid small { color: #8fa5b0; font-size: .7rem; line-height: 1.55; }
.jb-visibility-grid input:checked + span { border-color: var(--jb-green); box-shadow: inset 0 0 0 2px var(--jb-green); }
.jb-visibility-grid input:checked + span b { color: var(--jb-green); }
.jb-visibility-grid input:focus-visible + span { outline: 3px solid var(--jb-cyan); outline-offset: 2px; }
.jb-candidate-consents { margin-top: 28px; padding: 22px; border: 1px solid var(--line); background: #071827; }
.jb-form-actions { position: sticky; bottom: 0; z-index: 4; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; padding: 18px 0; border-top: 1px solid var(--line); background: rgba(7,24,39,.96); backdrop-filter: blur(12px); }
.jb-form-actions .button:first-child { margin-right: auto; }
.jb-next-link { color: inherit; text-decoration: none; }
.jb-next-link:hover { border-color: var(--jb-cyan); }
[hidden] { display: none !important; }

@media (max-width: 980px) {
    .jb-candidate-head-grid { grid-template-columns: 1fr; }
    .jb-profile-score { max-width: 480px; }
    .jb-candidate-layout { grid-template-columns: 1fr; }
    .jb-step-nav { position: static; overflow-x: auto; }
    .jb-step-nav ol { display: grid; grid-template-columns: repeat(7, minmax(120px, 1fr)); min-width: 840px; border-left: 1px solid var(--line); }
    .jb-step-nav li { border-right: 1px solid var(--line); }
    .jb-step-nav a { grid-template-columns: 1fr; min-height: 78px; align-content: center; }
    .jb-skill-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
    .jb-candidate-head { padding-top: 36px; }
    .jb-profile-score { grid-template-columns: 86px 1fr; padding: 16px; }
    .jb-score-ring { width: 80px; height: 80px; }
    .jb-score-ring strong { font-size: 1rem; }
    .jb-candidate-layout { gap: 32px; padding-top: 30px; }
    .jb-form-section { padding: 22px 18px; }
    .jb-avatar-editor { grid-template-columns: 1fr; }
    .jb-repeat-card { padding: 20px 14px; }
    .jb-choice-grid, .jb-visibility-grid { grid-template-columns: 1fr; }
    .jb-visibility-grid span { min-height: 0; }
    .jb-document-list article { grid-template-columns: 1fr; }
    .jb-document-actions { justify-content: flex-start; }
    .jb-skill-grid { grid-template-columns: 1fr; }
    .jb-form-actions { margin-inline: -18px; padding-inline: 18px; }
    .jb-form-actions .button { width: 100%; }
    .jb-form-actions .button:first-child { order: 3; }
}

/* Public application form must not inherit the dark account-form controls. */
.jb-market-page .jbm-application-form .jb-field,
.jb-market-page .jbm-application-form .jb-field > label,
.jb-market-page .jbm-application-form .jb-check span {
    color: var(--jbm-ink);
}
.jb-market-page .jbm-application-form .jb-field select,
.jb-market-page .jbm-application-form .jb-field textarea {
    min-height: 54px;
    padding: .8rem;
    border-color: var(--jbm-line);
    color: var(--jbm-ink);
    background: #fff;
}
.jb-market-page .jbm-application-form .jb-field textarea {
    line-height: 1.6;
}
.jb-market-page .jbm-application-form .jb-field select:focus,
.jb-market-page .jbm-application-form .jb-field textarea:focus {
    border-color: var(--jbm-blue);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(17,191,255,.14);
}

/* Rich, timeless first screen for the employment hub. */
.jb-hero-v2 {
    isolation: isolate;
    min-height: 790px;
    border-bottom: 0;
    color: #fff;
    background: #020c14;
}
.jb-hero-v2::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        linear-gradient(90deg, rgba(2,12,20,.99) 0%, rgba(2,12,20,.9) 44%, rgba(2,12,20,.38) 74%, rgba(2,12,20,.76) 100%),
        linear-gradient(0deg, rgba(2,12,20,.96), transparent 36%);
}
.jb-hero-v2::after { z-index: -1; opacity: .18; }
.jb-hero-media {
    position: absolute;
    z-index: -2;
    inset: -3%;
    background: url("../img/job-board-hero.webp") 68% center / cover no-repeat;
    filter: saturate(.78) contrast(1.1);
    transform: translate3d(var(--jb-hero-x, 0), var(--jb-hero-y, 0), 0) scale(1.04);
    transition: transform .8s cubic-bezier(.2,.8,.2,1);
}
.jb-hero-v2 .jb-hero-grid {
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, .58fr);
    gap: clamp(46px, 7vw, 105px);
    align-items: end;
    min-height: 650px;
    padding-block: clamp(82px, 9vw, 132px) 110px;
}
.jb-hero-v2 .jb-hero-copy { max-width: 920px; }
.jb-hero-v2 .jb-kicker { display: flex; align-items: center; gap: 11px; color: #8fcce0; }
.jb-hero-v2 .jb-kicker i,
.jb-hero-live header i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--jb-green);
    box-shadow: 0 0 0 6px rgba(142,234,53,.1);
    animation: jb-live-pulse 2.4s ease-in-out infinite;
}
.jb-hero-v2 h1 { max-width: 13ch; margin: 20px 0 24px; color: #fff; font-size: clamp(3.3rem, 6.2vw, 7.1rem); }
.jb-hero-v2 .jb-hero-copy > p { max-width: 700px; color: #bdccd3; }
.jb-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.jb-hero-actions .button { min-height: 56px; border-radius: 0; }
.jb-hero-actions .button-secondary { border-color: rgba(184,211,221,.42); color: #fff; background: rgba(3,20,31,.7); backdrop-filter: blur(12px); }
.jb-hero-actions .button-secondary:hover { color: #03101b; background: #fff; }
.jb-hero-v2 .jb-text-link { font-size: .78rem; }
.jb-hero-live {
    display: flex;
    flex-direction: column;
    min-height: 470px;
    padding: 24px;
    border: 1px solid rgba(154,197,214,.3);
    background: rgba(2,14,23,.72);
    box-shadow: 0 30px 80px rgba(0,0,0,.4);
    backdrop-filter: blur(18px);
}
.jb-hero-live header { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding-bottom: 20px; border-bottom: 1px solid rgba(154,197,214,.22); }
.jb-hero-live header span { display: flex; align-items: center; gap: 9px; color: #c1d0d7; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.jb-hero-live header b { color: #668695; font: 700 .6rem/1 ui-monospace,monospace; letter-spacing: .08em; }
.jb-hero-live dl { margin: auto 0; }
.jb-hero-live dl > div { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 18px; padding: 22px 0; border-bottom: 1px solid rgba(154,197,214,.18); }
.jb-hero-live dt { max-width: 15ch; color: #96acb6; font-size: .7rem; line-height: 1.35; text-transform: uppercase; }
.jb-hero-live dd { margin: 0; color: #fff; font-size: clamp(2.25rem, 4vw, 4rem); font-weight: 850; line-height: .75; letter-spacing: -.08em; }
.jb-hero-live > p { margin: 20px 0 0; color: #849ca8; font-size: .72rem; line-height: 1.5; }
.jb-hero-search {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, .75fr) auto;
    margin-top: -55px;
    border-top: 5px solid var(--jb-cyan);
    color: #071a27;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0,0,0,.42);
}
.jb-hero-search label { display: grid; gap: 6px; padding: 14px 18px; border-right: 1px solid #cbd6da; color: #526976; font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.jb-hero-search input { width: 100%; border: 0; outline: 0; color: #071a27; background: transparent; font: 650 1rem/1.3 "Gilroy",sans-serif; }
.jb-hero-search input:focus { box-shadow: 0 3px 0 var(--jb-cyan); }
.jb-hero-search .button { min-height: 74px; border-radius: 0; }
.jb-hero-v2 + .jbm-home-jobs { padding-top: 8rem; }
.jb-geo-status { display: flex; align-items: center; gap: 9px; min-height: 32px; color: #86a0ad; line-height: 1.45; }
.jb-geo-status::before { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; content: ""; background: #69818d; }
.jb-geo-status.is-loading::before { background: #e6a943; animation: jb-live-pulse 1.2s ease-in-out infinite; }
.jb-geo-status.is-ready { color: #a8d88a; }
.jb-geo-status.is-ready::before { background: var(--jb-green); box-shadow: 0 0 0 5px rgba(142,234,53,.08); }
.jb-geo-status.is-error { color: #ffb18f; }
.jb-geo-status.is-error::before { background: #ff8f69; }

@keyframes jb-live-pulse { 0%,100% { opacity:.65; transform:scale(.85); } 50% { opacity:1; transform:scale(1.15); } }

@media (max-width: 980px) {
    .jb-hero-v2 .jb-hero-grid { grid-template-columns: 1fr; padding-bottom: 105px; }
    .jb-hero-live { min-height: 390px; }
    .jb-hero-v2::before { background: linear-gradient(90deg,rgba(2,12,20,.98),rgba(2,12,20,.66)); }
}
@media (max-width: 720px) {
    .jb-hero-v2 { min-height: 0; }
    .jb-hero-v2 .jb-hero-grid { padding-block: 72px 96px; }
    .jb-hero-v2 h1 { font-size: clamp(3rem,14vw,4.8rem); }
    .jb-hero-actions { display: grid; }
    .jb-hero-actions .button { width: 100%; }
    .jb-hero-search { grid-template-columns: 1fr; margin-top: -42px; }
    .jb-hero-search label { border-right: 0; border-bottom: 1px solid #cbd6da; }
    .jb-hero-v2 + .jbm-home-jobs { padding-top: 6.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .jb-hero-media { transform: none; transition: none; }
    .jb-hero-v2 .jb-kicker i,
    .jb-hero-live header i,
    .jb-geo-status.is-loading::before { animation: none; }
}

/* Human-scale Jobs interface: compact controls, calm type and practical spacing. */
.jb-page .button {
    min-height: 42px;
    padding-inline: 16px;
    gap: 9px;
    font-size: .8rem;
    letter-spacing: .01em;
}
.jb-page .button-small {
    min-height: 38px;
    padding-inline: 13px;
    gap: 8px;
    font-size: .72rem;
}
.jb-page .jb-lead,
.jb-page .jb-hero-copy > p,
.jb-page .jb-unavailable > .container > p {
    margin-bottom: 24px;
    font-size: clamp(.95rem, 1.15vw, 1.08rem);
    line-height: 1.62;
}
.jb-page .jb-back { margin-bottom: 24px; }
.jb-page .jb-text-link { min-height: 38px; font-size: .78rem; }

.jb-page .jb-field { margin-bottom: 16px; }
.jb-page .jb-field label { margin-bottom: 6px; font-size: .78rem; }
.jb-page .jb-field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.jb-page .jb-field select {
    min-height: 44px;
    padding-inline: 12px;
    font-size: .9rem;
}
.jb-page .jb-field textarea {
    min-height: 104px;
    padding: 11px 12px;
    font-size: .9rem;
    line-height: 1.5;
}
.jb-page .jb-field small { margin-top: 5px; font-size: .7rem; }
.jb-page .jb-password-wrap input { padding-right: 46px; }
.jb-page .jb-password-toggle { inset: 3px 3px 3px auto; width: 38px; }
.jb-page .jb-consents { gap: 10px; margin-bottom: 22px; }
.jb-page .jb-consents label { font-size: .76rem; }
.jb-page .jb-submit { min-width: 0; }

.jb-page .jb-hero-grid {
    min-height: 520px;
    padding-block: clamp(56px, 7vw, 88px);
}
.jb-page .jb-hero h1,
.jb-page .jb-unavailable h1 {
    margin: 14px 0 18px;
    font-size: clamp(2.15rem, 4vw, 3.6rem);
    line-height: 1;
    letter-spacing: -.04em;
}
.jb-page .jb-path {
    min-height: 360px;
    padding-block: clamp(38px, 5vw, 58px);
}
.jb-page .jb-path h2,
.jb-page .jb-trust h2 {
    margin-top: 18px;
    font-size: clamp(1.75rem, 3vw, 2.6rem);
    line-height: 1.04;
}
.jb-page .jb-path p { margin-bottom: 26px; font-size: .94rem; line-height: 1.62; }
.jb-page .jb-trust { padding-block: clamp(48px, 6vw, 72px); }

.jb-page.jb-auth-page { padding-block: clamp(40px, 5vw, 64px) clamp(56px, 7vw, 84px); }
.jb-page .jb-auth-layout { gap: clamp(34px, 5vw, 64px); }
.jb-page .jb-auth-main h1,
.jb-page .jb-single-panel h1 {
    margin: 12px 0 18px;
    font-size: clamp(2rem, 3.4vw, 3.2rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}
.jb-page .jb-form { margin-top: 28px; }
.jb-page .jb-form fieldset { margin-bottom: 30px; }
.jb-page .jb-form legend { margin-bottom: 16px; padding-bottom: 10px; }
.jb-page .jb-form-grid { gap: 14px; }
.jb-page .jb-auth-aside {
    min-height: 0;
    padding: 24px;
}
.jb-page .jb-aside-number {
    margin: 18px 0 30px;
    font-size: clamp(3.2rem, 6vw, 5rem);
}
.jb-page .jb-auth-aside hr { margin-block: 20px; }
.jb-page .jb-switch-role { margin-top: 18px; padding-top: 14px; }
.jb-page .jb-complete-panel { margin-top: 28px; padding: clamp(24px, 3vw, 34px); }
.jb-page .jb-complete-panel h2 { font-size: clamp(1.45rem, 2.2vw, 1.9rem); }
.jb-page .jb-single-panel { max-width: 760px; padding-block: 18px; }

.jb-page .jb-dashboard-head { padding-block: clamp(38px, 5vw, 58px) 30px; }
.jb-page .jb-dashboard-head h1 {
    margin: 10px 0 12px;
    font-size: clamp(2rem, 3.5vw, 3.15rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}
.jb-page .jb-dashboard-body { min-height: 0; padding-block: 34px 68px; }
.jb-page .jb-candidate-hub-head { gap: clamp(24px, 4vw, 48px); padding: clamp(26px, 4vw, 38px); }
.jb-page .jb-candidate-hub h2,
.jb-page .jb-employer-hub h2,
.jb-page .jb-dashboard-notice h2 {
    margin: 16px 0 10px;
    font-size: clamp(1.7rem, 2.8vw, 2.3rem);
    line-height: 1.04;
}
.jb-page .jb-dashboard-progress { min-height: 150px; padding: 22px; }
.jb-page .jb-dashboard-progress strong { font-size: clamp(2.5rem, 4vw, 3.5rem); }
.jb-page .jb-dashboard-progress span { margin-top: 12px; }
.jb-page .jb-candidate-action { min-height: 82px; padding: 17px 20px; }
.jb-page .jb-employer-hub,
.jb-page .jb-dashboard-notice { padding: clamp(28px, 4vw, 42px); }
.jb-page .jb-employer-hub .button,
.jb-page .jb-dashboard-notice .button { margin-top: 22px; }
.jb-page .jb-dashboard-accountbar { padding: 14px 18px; }

.jb-page .jb-candidate-head { padding: clamp(38px, 5vw, 58px) 0 30px; }
.jb-page .jb-candidate-head-grid { gap: clamp(28px, 5vw, 56px); }
.jb-page .jb-candidate-head h1 {
    margin: 10px 0 14px;
    font-size: clamp(2.05rem, 3.5vw, 3.2rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}
.jb-page .jb-profile-score { grid-template-columns: 88px 1fr; gap: 18px; padding: 18px; }
.jb-page .jb-score-ring { width: 82px; height: 82px; }
.jb-page .jb-score-ring strong { font-size: 1.05rem; }
.jb-page .jb-candidate-layout { gap: clamp(32px, 5vw, 58px); padding-block: 38px 76px; }
.jb-page .jb-step-nav a { min-height: 52px; }
.jb-page .jb-step-heading { margin-bottom: 28px; }
.jb-page .jb-step-heading h2 {
    margin: 9px 0 10px;
    font-size: clamp(1.7rem, 2.8vw, 2.3rem);
    line-height: 1.04;
}
.jb-page .jb-step-heading p { line-height: 1.62; }
.jb-page .jb-form-section { margin-bottom: 24px; padding: clamp(20px, 3vw, 28px); }
.jb-page .jb-form-section > h3 { font-size: clamp(1.2rem, 1.8vw, 1.5rem); }
.jb-page .jb-form-section > h3 + p { margin-bottom: 20px; }
.jb-page .jb-candidate-form .jb-field { margin-bottom: 16px; }
.jb-page .jb-candidate-form .jb-field textarea { min-height: 104px; padding-block: 11px; }
.jb-page .jb-candidate-form .jb-field input[type="file"] { min-height: 44px; padding: 7px 9px; }
.jb-page .jb-avatar-editor { grid-template-columns: 94px 1fr; gap: 20px; margin: 18px 0 22px; }
.jb-page .jb-avatar-preview { width: 88px; height: 88px; font-size: 1.5rem; }
.jb-page .jb-repeat-list { gap: 14px; }
.jb-page .jb-repeat-card { padding: 18px; }
.jb-page .jb-repeat-head { margin-bottom: 16px; }
.jb-page .jb-choice-grid { margin-bottom: 20px; }
.jb-page .jb-choice span { min-height: 44px; }
.jb-page .jb-upload-zone { margin-block: 16px; padding: 18px; }
.jb-page .jb-visibility-grid { margin: 18px 0 22px; }
.jb-page .jb-visibility-grid span { min-height: 108px; padding: 16px; }
.jb-page .jb-candidate-consents { margin-top: 20px; padding: 18px; }
.jb-page .jb-form-actions { padding-block: 12px; }

.jb-page .jb-employer-hero { padding-top: clamp(38px, 5vw, 58px); }
.jb-page .jb-employer-hero-compact { padding-top: clamp(32px, 4vw, 48px); }
.jb-page .jb-employer-hero-line { gap: 32px; padding-bottom: 30px; }
.jb-page .jb-employer-hero h1 {
    margin: 10px 0 14px;
    font-size: clamp(2.05rem, 3.5vw, 3.2rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}
.jb-page .jb-employer-hero-compact h1 { font-size: clamp(1.95rem, 3vw, 2.75rem); }
.jb-page .jb-verification-badge,
.jb-page .jb-job-status-card,
.jb-page .jb-ats-total { min-height: 110px; padding: 18px; }
.jb-page .jb-ats-total strong { font-size: 2.5rem; }
.jb-page .jb-employer-nav { min-height: 48px; }
.jb-page .jb-employer-nav > a { min-width: 120px; padding-inline: 14px; }
.jb-page .jb-employer-body { padding: 38px 0 76px; }
.jb-page .jb-kpi-grid { margin-bottom: 28px; }
.jb-page .jb-kpi-grid article { min-height: 128px; padding: 18px; }
.jb-page .jb-kpi-grid strong { margin-top: 20px; font-size: clamp(2rem, 3vw, 2.8rem); }
.jb-page .jb-panel-head { padding: 22px; }
.jb-page .jb-zero { min-height: 270px; padding: 30px; }
.jb-page .jb-zero > strong { font-size: 4.4rem; }
.jb-page .jb-action-rail section,
.jb-page .jb-company-aside > section { padding: 22px; }
.jb-page .jb-action-rail h2,
.jb-page .jb-company-aside h2 { margin-top: 14px; font-size: 1.3rem; }
.jb-page .jb-brand-preview { min-height: 190px; margin-block: 20px; padding: 22px; }
.jb-page .jb-method-statuses article { min-height: 112px; padding: 16px; }
.jb-page .jb-job-steps a,
.jb-page .jb-job-steps li > span { min-height: 54px; }
.jb-page .jb-job-main .jb-form-section > h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }

.jb-page .jbm-catalog-hero { padding-top: clamp(3rem, 5vw, 4.8rem); }
.jb-page .jbm-hero-copy h1 {
    font-size: clamp(2.05rem, 3.5vw, 3.1rem);
    line-height: 1;
}
.jb-page .jbm-hero-copy p { font-size: clamp(.95rem, 1.25vw, 1.08rem); }
.jb-page .jbm-search { margin-top: 2.5rem; }
.jb-page .jbm-search label { gap: 2px; padding: 7px 12px; }
.jb-page .jbm-search label > span { line-height: 1; }
.jb-page .jbm-search input { font-size: .92rem; line-height: 1.2; }
.jb-page .jbm-search .button { min-height: 50px; padding-inline: 18px; }
.jb-page .jbm-catalog-body { padding: 3rem 0 5rem; }
.jb-page .jbm-job-card { padding-block: 1.5rem; }
.jb-page .jbm-job-main h2 { font-size: clamp(1.25rem, 1.8vw, 1.65rem); }
.jb-page .jbm-empty { padding: clamp(1.75rem, 3vw, 3rem); }
.jb-page .jbm-detail-hero { padding-top: 2.25rem; }
.jb-page .jbm-detail-title { gap: 1.25rem; padding: 2.5rem 0; }
.jb-page .jbm-detail-title h1 {
    font-size: clamp(2.05rem, 3.7vw, 3.25rem);
    line-height: 1;
}
.jb-page .jbm-detail-title p { font-size: 1rem; }
.jb-page .jbm-detail-strip > div { padding: 1rem 1.2rem; }
.jb-page .jbm-detail-body { padding: 3rem 0 5rem; }
.jb-page .jbm-detail-layout { gap: clamp(2.5rem, 5vw, 4.5rem); }
.jb-page .jbm-copy-block { padding-bottom: 2.5rem; margin-bottom: 2.5rem; }
.jb-page .jbm-copy-block h2 { font-size: clamp(1.55rem, 2.3vw, 2.1rem); }
.jb-page .jbm-company-block { padding: clamp(1.6rem, 3vw, 2.5rem); }
.jb-page .jbm-company-block h2 { font-size: 1.65rem; }
.jb-page .jbm-apply-card { padding: 1.5rem; }
.jb-page .jbm-apply-card h2 { font-size: 1.5rem; }
.jb-page .jbm-application-head,
.jb-page .jbm-apps-hero { padding: 2.5rem 0; }
.jb-page .jbm-application-head .jb-kicker,
.jb-page .jbm-apps-hero .jb-kicker { margin-top: 1.5rem; }
.jb-page .jbm-application-head h1,
.jb-page .jbm-apps-hero h1 { font-size: clamp(2rem, 3.5vw, 3rem); }
.jb-page .jbm-application-head p,
.jb-page .jbm-apps-hero p { font-size: 1rem; }
.jb-page .jbm-application-body,
.jb-page .jbm-apps-body { padding: 3rem 0 5rem; }
.jb-page .jbm-application-layout { gap: clamp(2.5rem, 5vw, 4rem); }
.jb-page .jbm-application-form > section { margin-bottom: 1.5rem; padding: clamp(1.25rem, 2.5vw, 1.8rem); }
.jb-page .jbm-application-form > section > header { margin-bottom: 1.1rem; }
.jb-page .jbm-application-form header h2 { font-size: 1.4rem; }
.jb-page.jb-market-page .jbm-application-form .jb-field select { min-height: 44px; padding: .65rem .75rem; }
.jb-page.jb-market-page .jbm-application-form .jb-field textarea { min-height: 104px; padding: .7rem .75rem; }
.jb-page .jbm-match-card { padding: 1.4rem; }
.jb-page .jbm-match-total strong { font-size: 2.65rem; }
.jb-page .jbm-application-done { padding: 2rem; }
.jb-page .jbm-home-jobs { padding-block: 3rem; }
.jb-page .jbm-home-jobs header h2 {
    font-size: clamp(1.65rem, 2.6vw, 2.25rem);
    line-height: 1.08;
}
.jb-page .jbm-home-search label { padding: .8rem 1rem; }
.jb-page .jbm-home-job-grid > a { min-height: 190px; padding: 1.2rem; }
.jb-page .jbm-home-job-grid h3 { font-size: 1.25rem; }

.jb-page .jb-hero-v2 { min-height: 620px; }
.jb-page .jb-hero-v2 .jb-hero-grid {
    min-height: 520px;
    padding-block: clamp(58px, 7vw, 86px) 86px;
}
.jb-page .jb-hero-v2 h1 {
    margin: 15px 0 18px;
    font-size: clamp(2.2rem, 3.8vw, 3.3rem);
    line-height: 1;
    letter-spacing: -.045em;
}
.jb-page .jb-hero-actions .button { min-height: 42px; }
.jb-page .jb-hero-live { min-height: 340px; padding: 20px; }
.jb-page .jb-hero-live header { padding-bottom: 15px; }
.jb-page .jb-hero-live dl > div { padding-block: 16px; }
.jb-page .jb-hero-live dd { font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: .88; }
.jb-page .jb-hero-live > p { margin-top: 15px; }
.jb-page .jb-hero-search { margin-top: -42px; }
.jb-page .jb-hero-search label { gap: 2px; padding: 8px 12px; }
.jb-page .jb-hero-search label > span { line-height: 1; }
.jb-page .jb-hero-search input { font-size: .92rem; line-height: 1.2; }
.jb-page .jb-hero-search .button { min-height: 50px; }
.jb-page .jb-hero-v2 + .jbm-home-jobs { padding-top: 5.5rem; }

@media (max-width: 720px) {
    .jb-page .button { min-height: 42px; padding-inline: 14px; }
    .jb-page .jb-field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    .jb-page .jb-field select,
    .jb-page .jb-field textarea { font-size: 1rem; }
    .jb-page.jb-auth-page { padding-block: 32px 50px; }
    .jb-page .jb-auth-main h1,
    .jb-page .jb-single-panel h1,
    .jb-page .jb-dashboard-head h1,
    .jb-page .jb-candidate-head h1,
    .jb-page .jb-employer-hero h1,
    .jb-page .jbm-hero-copy h1,
    .jb-page .jbm-detail-title h1,
    .jb-page .jbm-application-head h1,
    .jb-page .jbm-apps-hero h1 {
        font-size: clamp(1.85rem, 8vw, 2.35rem);
        line-height: 1.04;
    }
    .jb-page .jb-form { margin-top: 24px; }
    .jb-page .jb-form fieldset { margin-bottom: 26px; }
    .jb-page .jb-auth-aside { padding: 20px; }
    .jb-page .jb-aside-number { margin: 12px 0 22px; font-size: 3.4rem; }
    .jb-page .jb-dashboard-body { padding-block: 28px 50px; }
    .jb-page .jb-candidate-hub-head { padding: 24px 18px; }
    .jb-page .jb-candidate-hub h2,
    .jb-page .jb-employer-hub h2,
    .jb-page .jb-dashboard-notice h2,
    .jb-page .jb-step-heading h2 { font-size: 1.75rem; }
    .jb-page .jb-dashboard-progress { min-height: 118px; }
    .jb-page .jb-candidate-action { min-height: 72px; padding: 14px 16px; }
    .jb-page .jb-candidate-head { padding: 32px 0 26px; }
    .jb-page .jb-candidate-layout { gap: 26px; padding-block: 28px 52px; }
    .jb-page .jb-step-nav a { min-height: 64px; }
    .jb-page .jb-form-section { padding: 18px 16px; }
    .jb-page .jb-repeat-card { padding: 16px 12px; }
    .jb-page .jb-form-actions .button { width: auto; flex: 0 1 auto; }
    .jb-page .jb-form-actions .button:first-child { order: initial; margin-right: auto; }
    .jb-page .jb-employer-hero { padding-top: 32px; }
    .jb-page .jb-employer-hero-line { padding-bottom: 24px; }
    .jb-page .jb-employer-body { padding: 30px 0 56px; }
    .jb-page .jbm-catalog-hero { padding-top: 2.5rem; }
    .jb-page .jbm-search { margin-top: 2rem; }
    .jb-page .jbm-search .button,
    .jb-page .jb-hero-search .button { min-height: 48px; }
    .jb-page .jbm-catalog-body,
    .jb-page .jbm-detail-body,
    .jb-page .jbm-application-body,
    .jb-page .jbm-apps-body { padding: 2.5rem 0 4rem; }
    .jb-page .jbm-detail-title { padding: 2rem 0; }
    .jb-page .jbm-copy-block { padding-bottom: 2rem; margin-bottom: 2rem; }
    .jb-page .jbm-copy-block h2 { font-size: 1.6rem; }
    .jb-page .jbm-application-head,
    .jb-page .jbm-apps-hero { padding: 2rem 0; }
    .jb-page .jbm-apps-hero .button { align-self: flex-start; width: auto; }
    .jb-page .jbm-home-jobs { padding-block: 2.5rem; }
    .jb-page .jb-hero-v2 { min-height: 0; }
    .jb-page .jb-hero-v2 .jb-hero-grid { padding-block: 54px 76px; }
    .jb-page .jb-hero-v2 h1 { font-size: clamp(2rem, 9vw, 2.25rem); }
    .jb-page .jb-hero-actions { display: flex; flex-wrap: wrap; }
    .jb-page .jb-hero-actions .button { width: auto; }
    .jb-page .jb-hero-live { min-height: 280px; }
    .jb-page .jb-hero-live dd { font-size: 2.1rem; }
    .jb-page .jb-hero-v2 + .jbm-home-jobs { padding-top: 4.5rem; }
}
