/* Employer job management: reference composition with the existing Angular actions. */
.j5-employer-jobs .work-page-head__copy { min-width:0; }
.j5-employer-jobs .work-page-head h1 { max-width:24ch; overflow-wrap:anywhere; }
.j5-employer-jobs .j5-employer-loading { margin:2rem 0; color:var(--jp-muted); }
.j5-employer-jobs .j5-job-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }
.j5-employer-jobs .j5-job-metrics .work-metric { min-width:0; }
.j5-employer-jobs .j5-job-metrics .work-metric small { line-height:1.4; }
.j5-employer-jobs .j5-job-toolbar { margin-top:3rem; gap:1rem 2rem; }
.j5-employer-jobs .j5-job-toolbar h2 { font-size:1.4rem; letter-spacing:-.03em; }
.j5-employer-jobs .work-search { flex:0 1 360px; position:relative; max-width:100%; }
.j5-employer-jobs .work-search input { width:100%; min-height:48px; padding:.75rem 2.75rem .75rem 1rem; border:1px solid var(--jp-line-strong); border-radius:4px; background:#fff; color:var(--jp-ink); }
.j5-employer-jobs .work-search>[aria-hidden] { position:absolute; right:1rem; top:50%; transform:translateY(-50%); font-size:1.5rem; }
.j5-employer-jobs .j5-managed-jobs { border-top:1px solid var(--jp-ink); }
.j5-employer-jobs .j5-job-list-head,.j5-employer-jobs .j5-managed-job { display:grid; grid-template-columns:minmax(200px,1.5fr) minmax(110px,.65fr) minmax(100px,.6fr) minmax(220px,1fr); gap:1.5rem; }
.j5-employer-jobs .j5-job-list-head { padding:1rem 0; color:var(--jp-muted); font-size:.75rem; border-bottom:1px solid var(--jp-line); }
.j5-employer-jobs .j5-managed-job { padding:1.5rem 0; align-items:start; border-bottom:1px solid var(--jp-line); }
.j5-employer-jobs .j5-managed-job__title { min-width:0; }
.j5-employer-jobs .j5-managed-job__title .app-status { margin-bottom:.75rem; }
.j5-employer-jobs .j5-managed-job__title h3 { font-size:1.12rem; line-height:1.35; letter-spacing:-.02em; }
.j5-employer-jobs .j5-managed-job__title .work-table-link { display:block; width:100%; padding:0; border:0; background:none; color:inherit; font:inherit; font-weight:600; text-align:left; overflow-wrap:anywhere; }
.j5-employer-jobs .j5-managed-job__title .work-table-link:hover { color:var(--jp-forest); text-decoration:underline; text-underline-offset:4px; }
.j5-employer-jobs .j5-managed-job__title p { margin:.55rem 0 0; color:var(--jp-muted); font-size:.85rem; }
.j5-employer-jobs .j5-managed-job__numbers { display:grid; gap:1rem; margin:0; }
.j5-employer-jobs .j5-managed-job__numbers dt { color:var(--jp-muted); font-size:.75rem; }
.j5-employer-jobs .j5-managed-job__numbers dd { margin:.15rem 0 0; font-size:1.3rem; font-weight:550; font-variant-numeric:tabular-nums; }
.j5-employer-jobs .j5-managed-job__actions { display:flex; flex-direction:column; align-items:stretch; gap:.35rem; min-width:0; }
.j5-employer-jobs .j5-managed-job__actions>.work-text-action { align-self:flex-start; min-height:44px; }
.j5-employer-jobs .j5-managed-job__actions>.work-button { min-width:0; min-height:46px; padding:.7rem .9rem; justify-content:space-between; white-space:normal; text-align:left; }
.j5-employer-jobs .j5-job-options { width:100%; }
.j5-employer-jobs .j5-job-options summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:44px; list-style:none; cursor:pointer; font-size:.8rem; color:var(--jp-muted); }
.j5-employer-jobs .j5-job-options summary::-webkit-details-marker { display:none; }
.j5-employer-jobs .j5-job-options[open] summary>[aria-hidden] { transform:rotate(45deg); }
.j5-employer-jobs .j5-job-options>div { display:grid; gap:2px; border:1px solid var(--jp-line); padding:.35rem; background:white; }
.j5-employer-jobs .j5-job-options button { width:100%; min-height:44px; border:0; padding:.6rem .75rem; background:none; text-align:left; font-size:.85rem; }
.j5-employer-jobs .j5-job-options button:hover { background:var(--jp-soft); }
.j5-employer-jobs .j5-job-options .j5-job-danger { color:var(--jp-danger); }
.j5-employer-jobs .j5-job-empty { padding:2.5rem 1.5rem; }
.j5-employer-jobs .j5-job-empty h2 { font-size:1.6rem; }
.j5-employer-jobs .j5-job-empty .work-text-action { min-height:44px; }
.j5-employer-jobs .jb-status-draft { background:#f0eee7; color:#725923; }
.j5-employer-jobs .jb-status-published { background:var(--jp-soft); color:var(--jp-forest); }

/* Applicants: a readable ledger, native filters and a keyboard-operable detail drawer. */
.j5-employer-applicants .j5-applicants-header { align-items:flex-start; }
.j5-employer-applicants .j5-applicants-header .work-text-action { margin-bottom:1.4rem; min-height:44px; }
.j5-employer-applicants .j5-applicants-company { display:grid; justify-items:end; gap:1rem; max-width:180px; }
.j5-employer-applicants .company_logo { width:72px; height:72px; object-fit:contain; padding:5px; border:1px solid var(--jp-line); border-radius:4px; background:#fff; }
.j5-employer-applicants .j5-job-dates { display:flex; flex-wrap:wrap; gap:1.25rem 3rem; padding:1.5rem 0; margin:0 0 2rem; border-block:1px solid var(--jp-line); }
.j5-employer-applicants .j5-job-dates dt { color:var(--jp-muted); font-size:.75rem; }
.j5-employer-applicants .j5-job-dates dd { margin:.25rem 0 0; font-weight:550; font-size:.9rem; }
.j5-employer-applicants .j5-applicant-search { margin-bottom:2rem; }
.j5-employer-applicants .j5-applicant-search h2 { font-size:1.4rem; margin-bottom:1rem; }
.j5-employer-applicants .j5-applicant-search .work-toolbar { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:stretch; gap:.75rem; margin:0; }
.j5-employer-applicants .j5-applicant-search .work-search { flex:1 1 240px; }
.j5-employer-applicants .j5-applicant-search .work-button { min-height:48px; }
.j5-employer-applicants .j5-applicant-search .work-button[aria-expanded=true] { border-color:var(--jp-forest); background:var(--jp-soft); }
.j5-employer-applicants .j5-applicant-filters { gap:1.5rem; margin-top:1.5rem; padding:1.5rem; border:1px solid var(--jp-line); background:#fff; }
.j5-employer-applicants .j5-applicant-filters[aria-hidden=false] { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); }
.j5-employer-applicants .j5-applicant-filter-group { margin:0; padding:0; border:0; min-width:0; }
.j5-employer-applicants .j5-applicant-filter-group legend,.j5-employer-applicants .j5-applicant-filter-group h5,.j5-employer-applicants .j5-applicant-filter-group .widget label { margin:0 0 .8rem; padding:0; font-size:.86rem; font-weight:600; }
.j5-employer-applicants .j5-applicant-filter-group h5 { margin-top:1.5rem; }
.j5-employer-applicants .j5-applicant-filter-group .checkboxes p { display:flex; align-items:flex-start; gap:.5rem; min-height:44px; margin:0; }
.j5-employer-applicants .j5-applicant-filter-group .checkboxes label { flex:1; margin:0; padding:.6rem 0; font-size:.8rem; line-height:1.4; cursor:pointer; }
.j5-employer-applicants .j5-native-checkbox { position:static; appearance:auto; flex:0 0 18px; width:18px; height:18px; min-height:0; opacity:1; margin:.65rem 0 0; accent-color:var(--jp-forest); }
.j5-employer-applicants .j5-applicant-filter-group input[type=text] { width:100%; min-width:0; min-height:44px; margin:0; padding:.65rem .75rem; border:1px solid var(--jp-line-strong); border-radius:3px; background:#fff; font-size:.85rem; }
.j5-employer-applicants .j5-applicant-filter-group .widget { margin-top:1.5rem; border:0; }
.j5-employer-applicants .j5-applicant-filter-group .widget label { display:block; }
.j5-employer-applicants .j5-applicant-filter-group .row { margin:0; width:100%; }
.j5-employer-applicants .j5-applicant-filter-group .col-lg-12 { padding:0; min-width:0; }
.j5-employer-applicants .candidate-status-tabs { display:flex; flex-wrap:wrap; align-items:stretch; gap:.3rem; margin:0 0 1.5rem; }
.j5-employer-applicants .candidate-status-tabs button { min-height:44px; padding:.7rem .9rem; border:1px solid var(--jp-line); border-radius:3px; background:#fff; color:var(--jp-muted); font-size:.8rem; line-height:1.3; text-align:center; }
.j5-employer-applicants .candidate-status-tabs button.active { color:var(--jp-forest); background:var(--jp-soft); border-color:var(--jp-forest); }
.j5-employer-applicants .candidate-list-container,.j5-employer-applicants .candidate-list-main { min-width:0; }
.j5-employer-applicants .j5-candidate-table-region { max-width:100%; overflow:auto; overscroll-behavior:contain; }
.j5-employer-applicants .candidate-table { width:100%; min-width:1080px; table-layout:auto; border-collapse:collapse; }
.j5-employer-applicants .candidate-table :is(th,td) { padding:1rem .75rem; vertical-align:middle; text-align:left; white-space:normal; }
.j5-employer-applicants .candidate-table th:first-child,.j5-employer-applicants .candidate-table td:first-child { padding-left:0; }
.j5-employer-applicants .candidate-table th { font-size:.7rem; color:var(--jp-muted); font-weight:500; border-top:1px solid var(--jp-ink); border-bottom:1px solid var(--jp-line); }
.j5-employer-applicants .candidate-table td { border-bottom:1px solid var(--jp-line); }
.j5-employer-applicants .candidate-row.selected { background:var(--jp-soft); }
.j5-employer-applicants .col-candidate { min-width:210px; max-width:290px; }
.j5-employer-applicants .col-status { min-width:130px; }
.j5-employer-applicants .col-ai-match { min-width:95px; }
.j5-employer-applicants .col-rating { min-width:240px; }
.j5-employer-applicants .col-metrics { min-width:160px; }
.j5-employer-applicants .col-action { min-width:140px; }
.j5-employer-applicants .candidate-info { display:flex; align-items:center; gap:.85rem; }
.j5-employer-applicants .candidate-avatar { flex:0 0 44px; width:44px; height:44px; overflow:hidden; border-radius:50%; background:var(--jp-soft); }
.j5-employer-applicants .candidate-avatar img { width:100%; height:100%; object-fit:cover; }
.j5-employer-applicants .candidate-details { min-width:0; }
.j5-employer-applicants .candidate-name { font-size:.95rem; font-weight:600; overflow-wrap:anywhere; }
.j5-employer-applicants .candidate-date { margin-top:.25rem; color:var(--jp-muted); font-size:.72rem; }
.j5-employer-applicants .status-badge { display:inline-flex; align-items:center; min-height:28px; padding:.25rem .55rem; border-radius:3px; font-size:.72rem; line-height:1.3; background:var(--jp-soft); color:var(--jp-forest); }
.j5-employer-applicants .status-rejected { background:#f7e9e8; color:var(--jp-danger); }
.j5-employer-applicants .status-pending { background:#f4efe2; color:#725923; }
.j5-employer-applicants .status-interview { background:#eaf0f8; color:#315d86; }
.j5-employer-applicants .interactive-rating { display:flex; align-items:center; gap:0; }
.j5-employer-applicants .clickable-star { flex:0 0 44px; width:44px; height:44px; min-width:44px; padding:0; border:0; background:none; color:var(--jp-forest); font:26px/1 Arial,sans-serif; text-align:center; }
.j5-employer-applicants .clickable-star.empty { color:#aebbb3; }
.j5-employer-applicants .clickable-star.hover { color:var(--jp-forest); background:var(--jp-soft); border-radius:3px; }
.j5-employer-applicants .clickable-star:disabled { cursor:wait; }
.j5-employer-applicants .ai-match-display { display:grid; gap:.35rem; }
.j5-employer-applicants .ai-match-bar,.j5-employer-applicants .metric-bar-small { height:5px; overflow:hidden; border-radius:5px; background:#e6ebe6; }
.j5-employer-applicants .ai-match-fill,.j5-employer-applicants .metric-fill { height:100%; max-width:100%; border-radius:inherit; background:var(--jp-forest); }
.j5-employer-applicants .ai-match-percent { font-size:.8rem; font-variant-numeric:tabular-nums; }
.j5-employer-applicants .metrics-compact { display:grid; gap:.75rem; }
.j5-employer-applicants .metric-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.3rem .5rem; }
.j5-employer-applicants .metric-label { font-size:.65rem; color:var(--jp-muted); }
.j5-employer-applicants .metric-bar-small { grid-column:1/-1; grid-row:2; }
.j5-employer-applicants .metric-value { font-size:.7rem; font-variant-numeric:tabular-nums; }
.j5-employer-applicants .j5-metric-unavailable { color:var(--jp-muted); font-size:.78rem; line-height:1.4; }
.j5-employer-applicants .btn-view-candidate { min-height:44px; text-align:left; white-space:normal; }
.j5-employer-applicants .candidate-empty-state { padding:2.5rem 1rem; border-top:1px solid var(--jp-line); }
.j5-employer-applicants .candidate-drawer { display:none; position:fixed; inset:0 0 0 auto; z-index:600; width:min(640px,100%); height:100dvh; max-height:100dvh; overflow:auto; overscroll-behavior:contain; border-left:1px solid var(--jp-line); background:var(--jp-paper); box-shadow:-20px 0 60px #0734271f; }
.j5-employer-applicants .candidate-drawer.open { display:block; }
.j5-employer-applicants .drawer-content { padding:0 2rem max(2rem,env(safe-area-inset-bottom)); }
.j5-employer-applicants .drawer-section { position:relative; padding:1.5rem 0; border-bottom:1px solid var(--jp-line); }
.j5-employer-applicants .drawer-section h4 { margin:0 0 1rem; font-size:1rem; font-weight:600; }
.j5-employer-applicants .drawer-section:first-child { padding-top:4.5rem; }
.j5-employer-applicants .drawer-close { display:grid; place-items:center; position:absolute; right:0; top:1rem; width:44px; height:44px; margin:0; border:1px solid var(--jp-line); border-radius:3px; background:#fff; font-size:1.8rem; }
.j5-employer-applicants .candidate-header-detail { display:grid; grid-template-columns:72px minmax(0,1fr); gap:1.25rem; }
.j5-employer-applicants .candidate-avatar-large { width:72px; height:72px; overflow:hidden; border-radius:50%; background:var(--jp-soft); }
.j5-employer-applicants .candidate-avatar-large img { width:100%; height:100%; object-fit:cover; }
.j5-employer-applicants .candidate-name-large { font-size:1.7rem; line-height:1.15; letter-spacing:-.035em; overflow-wrap:anywhere; }
.j5-employer-applicants .candidate-name-large a:hover { color:var(--jp-forest); text-decoration:underline; text-underline-offset:4px; }
.j5-employer-applicants .candidate-date-detail { margin-top:.6rem; font-size:.75rem; color:var(--jp-muted); }
.j5-employer-applicants .candidate-message { margin-top:1rem; font-size:.9rem; line-height:1.6; overflow-wrap:anywhere; white-space:pre-line; }
.j5-employer-applicants .read-more-link { display:inline-block; min-height:44px; padding:.5rem 0; color:var(--jp-forest); text-decoration:underline; text-underline-offset:3px; }
.j5-employer-applicants .status-timeline { display:flex; flex-wrap:wrap; gap:.5rem; }
.j5-employer-applicants .timeline-step { display:inline-flex; align-items:center; gap:.6rem; padding:.45rem .7rem; background:var(--jp-soft); color:var(--jp-forest); border-radius:4px; font-size:.8rem; }
.j5-employer-applicants .timeline-dot { width:7px; height:7px; border-radius:50%; background:currentColor; }
.j5-employer-applicants .drawer-rating { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; }
.j5-employer-applicants .drawer-rating h4 { margin:0; }
.j5-employer-applicants .ai-match-title { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.j5-employer-applicants .ai-match-percent-green { color:var(--jp-forest); font-variant-numeric:tabular-nums; }
.j5-employer-applicants .ai-match-bar-large { display:flex; height:6px; overflow:hidden; border-radius:6px; background:#e6ebe6; }
.j5-employer-applicants .ai-match-bar-segment { height:100%; max-width:100%; }
.j5-employer-applicants .ai-match-bar-segment.dark-green { background:var(--jp-forest); }
.j5-employer-applicants .ai-match-bar-segment.light-grey { background:#e6ebe6; }
.j5-employer-applicants .ai-match-bar-container { margin-bottom:1.5rem; }
.j5-employer-applicants .ai-match-metrics { display:grid; gap:1rem; }
.j5-employer-applicants .ai-match-metric-bar { display:grid; grid-template-columns:110px minmax(0,1fr) 40px; align-items:center; gap:.75rem; font-size:.8rem; }
.j5-employer-applicants .ai-match-metric-label { text-align:right; font-variant-numeric:tabular-nums; }
.j5-employer-applicants .ai-explanation-btn { display:inline-flex; align-items:center; min-height:44px; gap:.5rem; margin-top:1rem; color:var(--jp-forest); text-decoration:underline; text-underline-offset:4px; font-size:.85rem; }
.j5-employer-applicants .status-actions,.j5-employer-applicants .interaction-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-bottom:1rem; }
.j5-employer-applicants .action-btn { display:flex; align-items:center; gap:.5rem; min-height:48px; padding:.75rem; border:1px solid var(--jp-line-strong); border-radius:4px; background:#fff; text-align:left; color:var(--jp-forest); font-size:.8rem; line-height:1.4; overflow-wrap:anywhere; }
.j5-employer-applicants .action-btn:hover { background:var(--jp-soft); }
.j5-employer-applicants .action-btn-reject { color:var(--jp-danger); }
.j5-employer-applicants .action-btn.disabled { opacity:.5; cursor:default; }
.j5-employer-applicants .note-input-area { display:grid; gap:.75rem; margin-top:1.5rem; }
.j5-employer-applicants .note-input-area label { font-size:.85rem; font-weight:550; }
.j5-employer-applicants .note-textarea { display:block; width:100%; min-height:110px; padding:.75rem; border:1px solid var(--jp-line-strong); border-radius:4px; background:#fff; resize:vertical; }
.j5-employer-applicants .note-save-btn { justify-self:start; min-height:44px; }
html.j5-reference-route:has(.j5-employer-applicants .candidate-drawer.open),
html.j5-reference-route body:has(.j5-employer-applicants .candidate-drawer.open) { overflow:hidden; }
.j5-employer-applicants .drawer-overlay { position:fixed; inset:0; z-index:590; background:#10151366; cursor:pointer; }

/* The popup component keeps this class when Magnific moves it outside the page. */
.j5-employer-modal { position:relative; width:min(100%,900px); margin:1.5rem auto; padding:2rem; border-radius:4px; background:#fff; color:#101513; box-shadow:0 18px 48px #0734271f; }
.j5-employer-modal .small-dialog-headline { margin-bottom:1.5rem; padding-right:2.5rem; }
.j5-employer-modal .small-dialog-headline h2 { font-size:clamp(1.35rem,3vw,2rem); line-height:1.2; letter-spacing:-.035em; }
.j5-employer-modal .small-dialog-content { overflow-wrap:anywhere; }
.j5-employer-modal fieldset { min-width:0; margin:0; padding:0; border:0; }
.j5-employer-modal :is(input[type=text],input[type=date],select,textarea) { width:100%; min-width:0; min-height:44px; margin:.35rem 0; padding:.7rem .8rem; border:1px solid var(--jp-line-strong); border-radius:3px; background:white; color:var(--jp-ink); }
.j5-employer-modal textarea { min-height:110px; resize:vertical; }
.j5-employer-modal :is(input[type=checkbox],input[type=radio]) { appearance:auto; position:static; opacity:1; width:18px; height:18px; margin:.5rem; accent-color:var(--jp-forest); }
.j5-employer-modal :is(.button,button[type=submit]) { min-height:44px; }
.j5-employer-modal .row { display:flex; flex-wrap:wrap; gap:.5rem 0; width:100%; margin:0 0 .75rem; }
.j5-employer-modal [class*=col-] { min-width:0; flex:1 1 100%; }
.j5-employer-modal .col-lg-3 { flex:0 0 25%; }
.j5-employer-modal .col-lg-9 { flex:0 0 75%; }
.j5-employer-modal .cv-ask-create-row,.j5-employer-modal .cv-ask-choose-row,.j5-employer-modal .cv-ask-footer-actions,.j5-employer-modal .cv-ask-answer-type-box { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-bottom:1rem; }
.j5-employer-modal .cv-ask-input { flex:1 1 230px; }
.j5-employer-modal .cv-ask-previous-list { max-height:240px; overflow:auto; border:1px solid var(--jp-line); margin-bottom:1rem; }
.j5-employer-modal .cv-ask-previous-item { min-height:44px; padding:.7rem 1rem; border-bottom:1px solid var(--jp-line); cursor:pointer; }
.j5-employer-modal .cv-ask-previous-item:hover { background:var(--jp-soft); }
.j5-employer-modal .cv-ask-divider-label { margin:1rem 0; font-size:.85rem; color:var(--jp-muted); }
.j5-employer-modal .text-danger { color:var(--jp-danger); }

@media (max-width:1450px) {
 .j5-employer-jobs .j5-job-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .j5-employer-jobs .j5-job-list-head,.j5-employer-jobs .j5-managed-job { grid-template-columns:minmax(190px,1.5fr) minmax(105px,.65fr) minmax(90px,.55fr) minmax(200px,1fr); gap:1rem; }
 .j5-employer-applicants .j5-applicant-filters[aria-hidden=false] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1100px) {
 .j5-employer-jobs .j5-job-list-head { display:none; }
 .j5-employer-jobs .j5-managed-job { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.25rem; }
 .j5-employer-jobs .j5-managed-job__title { grid-column:1/-1; }
 .j5-employer-jobs .j5-managed-job__actions { grid-column:1/-1; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; }
 .j5-employer-jobs .j5-managed-job__actions>.work-button { flex:0 1 240px; }
 .j5-employer-jobs .j5-job-options { flex:1 1 220px; max-width:330px; }
 .j5-employer-applicants .j5-candidate-table-region { overflow:visible; }
 .j5-employer-applicants .candidate-table { display:block; min-width:0; border-top:1px solid var(--jp-ink); }
 .j5-employer-applicants .candidate-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
 .j5-employer-applicants .candidate-table tbody { display:block; }
 .j5-employer-applicants .candidate-table .candidate-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.9rem 1rem; padding:1.5rem 0; border-bottom:1px solid var(--jp-line); }
 .j5-employer-applicants .candidate-table td { display:block; min-width:0; max-width:none; padding:0; border:0; }
 .j5-employer-applicants .candidate-table td[data-label]::before { display:block; content:attr(data-label); margin-bottom:.35rem; font-size:.7rem; color:var(--jp-muted); }
 .j5-employer-applicants .candidate-table td.col-candidate::before,.j5-employer-applicants .candidate-table td.col-action::before { display:none; }
 .j5-employer-applicants .candidate-table td.col-candidate,.j5-employer-applicants .candidate-table td.col-rating,.j5-employer-applicants .candidate-table td.col-metrics,.j5-employer-applicants .candidate-table td.col-action { grid-column:1/-1; }
 .j5-employer-applicants .metrics-compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
}
@media (max-width:720px) {
 .j5-employer-jobs .j5-job-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .j5-employer-jobs .j5-job-toolbar { align-items:stretch; }
 .j5-employer-jobs .j5-job-toolbar .work-search { flex:1 1 100%; }
 .j5-employer-applicants .j5-applicants-company { display:flex; align-items:center; justify-items:start; max-width:none; }
 .j5-employer-applicants .j5-job-dates { gap:1rem 2rem; }
 .j5-employer-applicants .j5-applicant-filters { padding:1rem; }
 .j5-employer-applicants .j5-applicant-filters[aria-hidden=false] { grid-template-columns:minmax(0,1fr); }
 .j5-employer-applicants .j5-applicant-search .work-search { flex-basis:100%; }
 .j5-employer-applicants .drawer-content { padding-inline:1.25rem; }
 .j5-employer-modal { padding:1.25rem; }
 .j5-employer-modal .col-lg-3,.j5-employer-modal .col-lg-9 { flex-basis:100%; }
}
@media (max-width:420px) {
 .j5-employer-jobs .j5-job-metrics { grid-template-columns:minmax(0,1fr); }
 .j5-employer-jobs .j5-managed-job__actions>.work-button,.j5-employer-jobs .j5-job-options { flex-basis:100%; max-width:none; }
 .j5-employer-applicants .candidate-header-detail { grid-template-columns:52px minmax(0,1fr); gap:.8rem; }
 .j5-employer-applicants .candidate-avatar-large { width:52px; height:52px; }
 .j5-employer-applicants .candidate-name-large { font-size:1.4rem; }
 .j5-employer-applicants .ai-match-metric-bar { grid-template-columns:90px minmax(0,1fr) 35px; gap:.4rem; font-size:.72rem; }
 .j5-employer-applicants .status-actions,.j5-employer-applicants .interaction-actions { grid-template-columns:minmax(0,1fr); }
}
@media (hover:hover) and (pointer:fine) {
 .j5-employer-jobs .j5-managed-job:hover,.j5-employer-applicants .candidate-row:hover { background:#00533b05; }
}
@media (prefers-reduced-motion:no-preference) {
 .j5-employer-jobs :is(.work-button,.j5-job-options button,.status-tab,.action-btn,.clickable-star) { transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease; }
 .j5-employer-applicants .candidate-drawer.open { animation:j5-employer-drawer-in 220ms ease-out; }
}
@keyframes j5-employer-drawer-in { from { opacity:.8; transform:translateX(20px); } to { opacity:1; transform:translateX(0); } }

/* Aftale og integrationer — adapted from the approved platform prototype v5. */
.je-agreement { max-width: 1240px; color: #183b34; }
.je-agreement .je-agreement-heading { border-bottom: 1px solid #183b34; padding: 0 0 30px; margin-bottom: 32px; }
.je-agreement .je-agreement-heading h1 { margin: 12px 0 16px; max-width: 19ch; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.08; letter-spacing: -.04em; }
.je-agreement p { line-height: 1.6; }
.je-agreement .jc-eyebrow { margin: 0 0 10px; font-size: 11px; line-height: 1.5; letter-spacing: .13em; }
.je-agreement .je-agreement-heading > p:last-child,
.je-agreement-summary p:not(.jc-eyebrow),
.je-agreement-section header > p:last-child { margin: 0; color: #516960; max-width: 68ch; }
.je-agreement .je-agreement-summary { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) auto; gap: 28px; align-items: center; border-block: 1px solid #b8cbbc; padding: 30px 24px; background: #eaf0e1; }
.je-agreement h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
.je-agreement .je-agreement-facts { margin: 0; }
.je-agreement-facts > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #c7d5c4; }
.je-agreement-facts > div:last-child { border-bottom: 0; }
.je-agreement-facts dt { color: #516960; font-weight: 400; }
.je-agreement-facts dd { margin: 0; text-align: right; font-weight: 700; }
.je-agreement .je-agreement-actions { display: flex; flex-direction: column; gap: 12px; }
.je-agreement .jc-button { min-height: 46px; border-radius: 3px; white-space: normal; text-align: center; }
.je-agreement .je-agreement-section { margin: 48px 0 0; }
.je-agreement-section > header { margin-bottom: 22px; }
.je-agreement .je-connection-list { border-top: 1px solid #c7d5cb; }
.je-agreement .je-connection { display: grid; grid-template-columns: 36px minmax(0,1fr) minmax(0,180px) minmax(0,140px); gap: 20px; align-items: center; border-bottom: 1px solid #c7d5cb; padding: 24px 0; }
.je-connection-index { align-self: start; color: #677d72; font-size: 13px; padding-top: 3px; font-variant-numeric: tabular-nums; }
.je-agreement .je-connection h3 { margin: 0 0 7px; font-size: 18px; line-height: 1.3; }
.je-agreement .je-connection p { margin: 0; color: #516960; font-size: 14px; }
.je-connection-status { font-size: 12px; color: #596b61; }
.je-connection-status.is-available { color: #005d45; font-weight: 700; }
.je-agreement .je-agreement-link,
.je-agreement .je-connection-info summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #005d45; font-weight: 650; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.je-connection-info summary { cursor: pointer; list-style: none; }
.je-connection-info summary::-webkit-details-marker { display: none; }
.je-connection-info summary::after { content: '+'; font-size: 18px; text-decoration: none; }
.je-connection-info[open] summary::after { content: '−'; }
.je-agreement .je-connection-info p { padding-top: 10px; font-size: 13px; }
.je-agreement .je-agreement-usage { margin: 0; border-top: 1px solid #c7d5cb; }
.je-agreement-usage > div { display: grid; grid-template-columns: minmax(0,1fr) 80px minmax(0,200px); align-items: center; gap: 24px; min-height: 72px; border-bottom: 1px solid #c7d5cb; padding: 12px 0; }
.je-agreement-usage dt { font-weight: 500; }
.je-agreement-usage dd { margin: 0; font-size: 24px; font-weight: 650; font-variant-numeric: tabular-nums; }
.je-agreement-usage > div > span { color: #516960; font-size: 13px; }
.je-agreement .je-agreement-empty { margin-top: 20px; padding: 16px 0; }
.je-agreement .je-agreement-options { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; border-top: 1px solid #183b34; padding-top: 30px; }
.je-agreement-options > div > p:last-child { color: #516960; max-width: 48ch; }
.je-agreement-offers > a { display: grid; grid-template-columns: minmax(0,1fr) auto 16px; gap: 16px; align-items: center; min-height: 66px; border-bottom: 1px solid #c7d5cb; color: #005d45; text-decoration: none; }
.je-agreement-offers > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.je-agreement-offers > p { font-size: 12px; color: #516960; }
.je-agreement .je-agreement-error { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 20px 0; padding: 16px; border-left: 3px solid #9c3b22; background: #fff2e9; color: #742d1a; }
.je-agreement a:focus-visible, .je-agreement button:focus-visible, .je-agreement summary:focus-visible { outline: 3px solid #005d45; outline-offset: 4px; }
.je-agreement *, .je-agreement *::before, .je-agreement *::after { box-sizing: border-box; }
.je-agreement > *, .je-agreement .je-connection > *, .je-agreement .je-agreement-summary > * { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1200px) {
 .je-agreement .je-agreement-summary { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .je-agreement .je-agreement-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
 .je-agreement .je-connection { grid-template-columns: 30px minmax(0,1fr) minmax(0,180px); gap: 16px; }
 .je-agreement .je-connection > :last-child { grid-column: 2 / -1; justify-self: start; }
 .je-connection-info { max-width: 60ch; }
}
@media (max-width: 640px) {
 .je-agreement .je-agreement-heading { padding-bottom: 24px; margin-bottom: 24px; }
 .je-agreement .je-agreement-summary { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 24px 16px; }
 .je-agreement .je-agreement-actions { grid-column: 1; flex-direction: column; }
 .je-agreement .je-agreement-section { margin-top: 36px; }
 .je-agreement .je-connection { grid-template-columns: 24px minmax(0,1fr); gap: 10px 12px; padding: 22px 0; }
 .je-agreement .je-connection-status { grid-column: 2; }
 .je-agreement .je-connection > :last-child { grid-column: 2; }
 .je-agreement-usage > div { grid-template-columns: minmax(0,1fr) auto; gap: 4px 16px; padding: 14px 0; }
 .je-agreement-usage > div > :last-child { grid-column: 1 / -1; }
 .je-agreement .je-agreement-options { grid-template-columns: minmax(0,1fr); gap: 12px; padding-top: 24px; }
 .je-agreement-offers > a { gap: 12px; }
}
