:root{
  /* La tavola della pagina Position deriva dai token condivisi (tokens.css):
     così segue il tema chiaro/scuro senza una seconda palette da mantenere. */
  --jd-bg:var(--lbg);
  --jd-panel:var(--lpanel);
  --jd-panel-soft:var(--lpanel-soft);
  --jd-ink:var(--link);
  --jd-soft:var(--lsoft);
  --jd-dim:var(--ldim);
  --jd-line:var(--lline);
  --jd-line-soft:var(--lline-soft);
  --jd-green:var(--laccp);
  --jd-green-2:var(--laccp);
  --jd-green-soft:var(--lpanel2);
  --jd-shadow:var(--lsh-md);
  --jd-sans:var(--lsans);
  --jd-mono:var(--lmono);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--jd-bg);color:var(--jd-ink);font-family:var(--jd-sans);-webkit-font-smoothing:antialiased}
body{padding:0}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.jobdesk{
  width:100%;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  overflow:hidden;
  border:0;
  border-radius:0;
  background:var(--jd-bg);
  box-shadow:none;
}

.positions-stage .lnav .llinks a[aria-current="page"]{
  padding:7px 12px;
  border:1px solid var(--lline2);
  border-radius:999px;
  background:var(--lpanel);
  color:var(--link);
  font-weight:600;
}
.jobdesk-nav svg,.jobdesk-top-actions svg,.jobdesk-menu svg,.jobdesk-alert svg,.jobdesk-filter-more svg{
  width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}

.jobdesk-workspace{min-width:0;background:var(--jd-bg)}

.jobdesk-content{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:112px 5.2vw 80px;
  background:var(--jd-bg);
}

.jobdesk-matches{margin-bottom:56px}
.jobdesk-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.jobdesk-section-head>div{display:flex;align-items:flex-start;flex-direction:column}
/* La prima intestazione della pagina è un h1 (gerarchia per i motori), le altre
   restano h2: stesso identico aspetto. */
.jobdesk-section-head h1,
.jobdesk-section-head h2{margin:0;color:var(--link);font-size:clamp(28px,3vw,40px);font-weight:450;line-height:1.05;letter-spacing:-.045em}
.jobdesk-section-head>a{color:var(--ldim);font-size:12px}
.jobdesk-section-head>a:hover{color:var(--jd-green)}

.jobdesk-coverage-live{display:flex;align-items:center;gap:7px;color:var(--ldim);font-size:10px}
.jobdesk-coverage-live i{width:7px;height:7px;border-radius:50%;background:#4eb47d;box-shadow:0 0 0 4px rgba(78,180,125,.11)}
.jobdesk-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.jobdesk-stat{
  position:relative;
  min-height:116px;
  overflow:hidden;
  display:block;
  padding:0;
  border:1px solid var(--lline);
  border-radius:20px;
  background:var(--lpanel);
  color:var(--link);
  box-shadow:none;
  transition:border-color .18s ease,transform .18s ease;
}
.jobdesk-stat:hover{transform:translateY(-2px);border-color:var(--lline2)}
.jobdesk-stat-label{min-height:43px;display:flex;align-items:center;gap:8px;padding:0 15px;border-bottom:1px solid var(--lline);background:var(--lpanel2);color:var(--lsoft);font-size:12.5px;font-weight:500;letter-spacing:-.01em;text-transform:none}
.jobdesk-stat-label svg{width:16px;height:16px;padding:0;border-radius:0;background:transparent;color:var(--lblue);fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.jobdesk-stat>strong{display:block;padding:18px 18px 20px;color:var(--link);font-size:36px;font-weight:450;line-height:1;letter-spacing:-.055em}

.jobdesk-list{padding-top:44px;border-top:1px solid var(--jd-line)}
.jobdesk-list-head{margin-bottom:26px}
/* unica CTA della pagina rimasta blu: ora è la pill del sistema */
#stageLanding .jobdesk-alert{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 15px;border:0;border-radius:999px;background:var(--lacc);color:var(--lon-acc);font-size:11px;font-weight:600;box-shadow:var(--lsh-sm);transition:background .18s ease,transform .18s ease}
#stageLanding .jobdesk-alert:hover{background:var(--lacc-h);color:var(--lon-acc);transform:translateY(-1px)}
.jobdesk-alert svg{width:16px;height:16px}

.jobdesk-dropdownbar{
  display:grid;
  grid-template-columns:minmax(220px,1.25fr) repeat(4,minmax(170px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.jobdesk-filter-search,.jobdesk-select-trigger{
  position:relative;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border:1px solid var(--jd-line);
  border-radius:12px;
  background:var(--lpanel);
  color:var(--ldim);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.jobdesk-filter-search:focus-within,.jobdesk-select.open .jobdesk-select-trigger,.jobdesk-select-trigger:focus-visible{border-color:#8e9cff;box-shadow:0 0 0 3px rgba(49,95,130,.1);outline:0}
.jobdesk-filter-search svg,.jobdesk-select-trigger svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jobdesk-filter-search input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--lsoft);
  font-size:12px;
}
.jobdesk-filter-search input::placeholder{color:var(--lfaint)}
.jobdesk-select{position:relative;min-width:0}
.jobdesk-select-trigger{
  width:100%;
  padding-right:14px;
  cursor:pointer;
  text-align:left;
}
.jobdesk-select-trigger span{min-width:0;overflow:hidden;color:var(--lsoft);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.jobdesk-select-trigger i{
  width:8px;
  height:8px;
  margin:-4px 2px 0 auto;
  flex:0 0 auto;
  border-right:1.5px solid #8f99a6;
  border-bottom:1.5px solid #8f99a6;
  transform:rotate(45deg);
  transition:transform .16s ease,margin .16s ease;
}
.jobdesk-select.open .jobdesk-select-trigger i{margin:4px 2px 0 auto;transform:rotate(225deg)}
.jobdesk-select-menu{
  position:absolute;
  z-index:80;
  top:calc(100% + 8px);
  left:0;
  min-width:100%;
  width:max-content;
  max-width:min(320px,calc(100vw - 32px));
  max-height:310px;
  overflow:auto;
  display:none;
  padding:7px;
  border:1px solid var(--lline);
  border-radius:14px;
  background:rgba(255,255,253,.98);
  box-shadow:0 18px 45px rgba(22,28,25,.14),0 2px 8px rgba(22,28,25,.06);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.jobdesk-select.open .jobdesk-select-menu{display:grid;animation:jobdeskMenuIn .14s ease-out}
.jobdesk-select:last-child .jobdesk-select-menu{right:0;left:auto}
.jobdesk-select-menu button{
  position:relative;
  min-width:210px;
  min-height:36px;
  display:flex;
  align-items:center;
  padding:0 12px 0 31px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--lsoft);
  font-size:12px;
  font-weight:450;
  text-align:left;
  white-space:nowrap;
}
.jobdesk-select-menu button:hover,.jobdesk-select-menu button:focus-visible{background:var(--lpanel2);color:var(--link);outline:0}
.jobdesk-select-menu button[aria-selected="true"]{background:var(--lblue-pale);color:var(--lblue);font-weight:600}
.jobdesk-select-menu button[aria-selected="true"]::before{
  content:"✓";
  position:absolute;
  left:12px;
  color:var(--lblue);
  font-weight:700;
}
@keyframes jobdeskMenuIn{
  from{opacity:0;transform:translateY(-4px) scale(.985)}
  to{opacity:1;transform:none}
}
.jobdesk-select-menu::-webkit-scrollbar{width:8px}
.jobdesk-select-menu::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--lline2);background-clip:padding-box}

.jobdesk-table{overflow:hidden;min-height:350px;border:1px solid var(--jd-line);border-radius:18px;background:var(--lpanel)}
.jobdesk-table-head{display:grid;grid-template-columns:1.5fr 1.05fr 1fr .8fr .9fr .7fr 42px;gap:16px;align-items:center;min-height:48px;padding:0 18px;border-bottom:1px solid var(--jd-line);background:var(--lpanel-soft);color:var(--ldim);font:500 9px/1 var(--jd-sans);letter-spacing:.07em;text-transform:uppercase}
.jobdesk-table-empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center}
.jobdesk-empty-mark{width:54px;height:54px;display:grid;place-items:center;margin-bottom:15px;border-radius:16px;background:var(--jd-green-soft);color:var(--jd-green)}
.jobdesk-empty-mark svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.jobdesk-table-empty h3{margin:0;color:var(--link);font-size:16px;font-weight:650;letter-spacing:-.02em}
.jobdesk-table-empty p{max-width:450px;margin:7px auto 0;color:var(--ldim);font-size:11px;line-height:1.55}

@media(max-width:1180px){
  .jobdesk{grid-template-columns:minmax(0,1fr)}

  .jobdesk-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jobdesk-dropdownbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jobdesk-filter-search{grid-column:1/-1}

}

@media(max-width:820px){
  body{padding:0}
  .jobdesk{min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0}

  .jobdesk-content{padding:96px 20px 48px}
  .jobdesk-table{overflow-x:auto}
  .jobdesk-table-head{min-width:860px}
  .jobdesk-table-empty{min-width:600px;align-items:flex-start;text-align:left}
}

@media(max-width:560px){
  .jobdesk-stat-grid{grid-template-columns:1fr}
  .jobdesk-section-head{align-items:flex-start}
  .jobdesk-section-head>a{display:none}
  .jobdesk-dropdownbar{grid-template-columns:1fr}
  .jobdesk-filter-search{grid-column:auto}
}
