/* CPSMN Jobs — uses the site's design tokens when present, sensible fallbacks otherwise */
.cpsmn-jobs,.job-layout,.job-apply{--j-ink:var(--ink,#132A4F); --j-soft:var(--ink-soft,#465B78); --j-line:var(--line,#DCE6F2); --j-surface:var(--surface,#fff); --j-accent:var(--accent,#2457C5);}
.job-list{display:flex; flex-direction:column; gap:var(--space-3,12px);}
.job-card{background:var(--j-surface,#fff); border:1px solid rgba(16,38,79,.08); border-radius:var(--radius-md,14px); box-shadow:var(--shadow-sm,0 2px 8px rgba(16,38,79,.07));}
.job-card--link{display:flex; align-items:center; justify-content:space-between; gap:var(--space-4,16px); padding:20px 24px;}
.job-card--link.is-featured{border-color:var(--brand-teal,#54D5D0); box-shadow:0 0 0 2px rgba(84,213,208,.35);}
.job-card-main{min-width:0; display:flex; flex-direction:column; gap:8px;}
.job-title{font-family:var(--font-display,inherit); font-weight:600; font-size:19px; margin:0; color:var(--j-ink);}
.job-title a{color:inherit; text-decoration:none;}
.job-title a:hover{color:var(--j-accent);}
.job-meta{display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; font-size:14.5px; color:var(--j-soft); margin:0;}
.job-meta--hero{margin-top:var(--space-4,16px); color:#DCE8FA;}
.job-excerpt{color:var(--j-soft); font-size:15px; max-width:70ch;}
@media (max-width:639px){.job-card--link{flex-direction:column; align-items:flex-start;}}
.job-empty{display:flex; flex-direction:column; gap:6px; padding:24px; border:1px dashed var(--line-strong,#C5D4E6); border-radius:var(--radius-md,14px); background:var(--j-surface); color:var(--j-soft);}
.job-empty strong{color:var(--j-ink);}
.job-filters{display:grid; grid-template-columns:1fr; gap:var(--space-3,12px); align-items:end; margin-bottom:var(--space-5,24px);}
@media (min-width:760px){.job-filters{grid-template-columns:2fr 1fr 1fr auto;}}
.job-filters .field{display:flex; flex-direction:column; gap:6px;}
.job-filters label{font-family:var(--font-display,inherit); font-weight:600; font-size:14px; color:var(--j-ink);}
.job-filters input,.job-filters select{min-height:48px; padding:10px 14px; border:1px solid var(--line-strong,#C5D4E6); border-radius:var(--radius-sm,10px); background:#fff; color:var(--j-ink); font-size:16px;}
.job-layout{display:grid; grid-template-columns:1fr; gap:var(--space-6,32px); align-items:start;}
@media (min-width:960px){.job-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);} .job-aside{position:sticky; top:112px;}}
.job-aside .card{gap:var(--space-4,16px);}
.job-aside-title{font-size:18px;}
.job-facts{margin:0; display:flex; flex-direction:column; gap:12px;}
.job-facts div{display:flex; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--j-line); font-size:15px;}
.job-facts dt{color:var(--ink-faint,#687B94); font-weight:600;}
.job-facts dd{margin:0; text-align:right; color:var(--j-ink); font-weight:600;}
.job-apply{margin-top:var(--space-7,48px); padding:clamp(20px,3vw,36px);}
.job-apply h2{font-size:clamp(22px,2.6vw,28px); margin-bottom:var(--space-4,16px);}
.cpsmn-form input[type="file"]{width:100%; padding:10px; border:1px dashed var(--line-strong,#C5D4E6); border-radius:var(--radius-sm,10px); background:#fff; font-size:15px;}
.cpsmn-form .has-error input[type="file"]{border-color:#B3261E;}
