/* Arabtec ATS approved UI — direct implementation overlay.
   Visual truth: Arabtec design system. Greenhouse is used only for compact ATS interaction patterns. */
:root{
  --brand:#d8232a;--brand-dark:#b7000f;--brand-tint:#ffedea;--brand-tint-bd:#efd0d5;
  --brand-primary:#238356;--brand-primary-dark:#0f5c34;--brand-primary-tint:#eaf5ef;
  --brand-secondary:#111315;--brand-accent:#d8232a;
  --action:#238356;--action-dark:#0f5c34;--action-tint:#eaf5ef;--action-tint-bd:#c2ded0;
  --action-primary:#238356;--action-primary-hover:#0f5c34;--action-primary-tint:#eaf5ef;
  --action-success:#238356;--action-success-hover:#0f5c34;--action-success-tint:#eaf5ef;
  --app-bg:#f4f5f7;--bg:#f4f5f7;--card-bg:#fff;--surface:#fff;--surface-2:#fafafb;
  --border:#e4e6ea;--border-soft:#edeef1;--line:#e4e6ea;--line-strong:#cbd2d6;
  --text:#4a4d53;--text-strong:#16181d;--ink:#16181d;--ink-soft:#465157;--muted:#6b7078;
  --danger:#d8232a;--danger-hover:#b7000f;--danger-tint:#fff0f2;--warning:#8a5a00;
  --info:#245566;--font:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--font-arabic:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,Arial,sans-serif;--ease:cubic-bezier(.2,0,0,1);--dur-fast:120ms;--dur:160ms;
  --radius:8px;--card-radius:14px;--sidebar-w:232px;--ring-action:0 0 0 3px rgba(35,131,86,.18);
  --shadow-card:0 1px 2px rgba(22,24,29,.04);--shadow-pop:0 4px 16px rgba(22,24,29,.08);
}
body{font-size:13px;line-height:1.42;background:var(--app-bg)}
.shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.sidebar{background:#111315;color:#fff;border-right:1px solid #26292b;position:relative}
.sidebar-head{min-height:72px;padding:14px 18px;border-bottom:1px solid #2b2f31;position:relative}
.sidebar-head:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;background:linear-gradient(90deg,#d8232a 0 44px,transparent 44px)}
/* Sidebar logo mark: sizing now lives solely in arabtec-design-system.css
   (.side-mark 38x34, .side-mark img max 38x32). This layer used to force the
   <img> to 44px wide with !important, which overrode the design system's
   container size and clipped the logo — removed rather than re-overridden. */
.side-txt strong{font-size:14px}.side-txt span{font-size:10px;color:#a9b0b4}
.nav{padding:14px 10px}.nav-section{font-size:9.5px;color:#788086;letter-spacing:.11em;padding:16px 12px 6px}
.nav-item{padding:9px 12px;border-radius:8px;color:#dce1e3;font-size:12.5px;border-left:0;position:relative}
.nav-item:hover{background:rgba(255,255,255,.06)}
.nav-item.active{background:rgba(35,131,86,.24);color:#fff;border-left:0}
.nav-item.active:before{content:"";position:absolute;left:-10px;width:3px;height:28px;border-radius:0 4px 4px 0;background:#238356}
.nav-item.active .nav-icon{color:#7fdfbf}
.topbar{height:72px;background:#fff;border-top:3px solid #d8232a;border-bottom:1px solid var(--border);padding:0 28px;gap:18px;backdrop-filter:none}
.gsearch{height:38px;max-width:440px;background:#fafbfb;border-color:var(--border);font-size:11.5px}
.avatar{width:36px;height:36px;background:#238356}.profile-name{font-size:12px}.profile-role{font-size:10px}
.content{position:relative;isolation:isolate;padding:22px 28px 38px;overflow:hidden;min-height:calc(100vh - 72px)}
.content>*{position:relative;z-index:1}
.page-head{margin-bottom:18px}.page-head .page-title,.dash-head .page-title{font-size:23px;line-height:30px;font-weight:700}.page-sub{font-size:12px}.breadcrumb,.page-head .breadcrumb{font-size:10.5px}
.card,.toolbar,.ticket-header-card{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-card)}
.card.red-top,.ticket-header-card{border-top:3px solid #d8232a}.ticket-header-card:before{display:none}
.card-head{min-height:54px;padding:13px 17px}.card-head h3{font-size:14px}.card-pad{padding:20px}
.btn{min-height:35px;padding:0 13px;font-size:12px;border-radius:8px;background:#238356;border-color:#238356}.btn:hover{background:#0f5c34;border-color:#0f5c34}
.btn-secondary{background:#fff;color:#2e373c;border-color:#b9c0c4}
/* Variant rules that this overlay must restate.
   `.btn` here and `.btn-ghost` in styles.css are both single-class selectors, so
   they carry IDENTICAL specificity (0,1,0) and the later stylesheet wins. This
   file loads second, so every ghost and navy button silently took the solid
   green `.btn` fill while keeping its own muted text colour — 46 buttons at
   roughly 1.9:1 contrast against the 4.5:1 AA floor, most visibly the "Screen"
   action on a candidate card. Restating them here is the fix that matches how
   .btn-secondary/.btn-success/.btn-danger are already handled below. */
.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-soft);box-shadow:none}
.btn-ghost:hover{background:var(--surface-2);border-color:var(--line);color:var(--text-strong)}
.btn-navy{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
.btn-navy:hover{background:var(--brand-primary-dark);border-color:var(--brand-primary-dark)}
.btn-outline-blue{background:#fff;color:var(--action);border-color:var(--action-tint-bd)}
.btn-outline-blue:hover{background:var(--action-tint)}
.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-secondary:hover{background:#f5f7f7;border-color:#8c969b}
.btn-success{background:#238356;border-color:#238356}.btn-danger{color:#d8232a;background:#fff;border-color:rgba(157,24,39,.42)}.btn-danger:hover{background:#fff0f2;border-color:#d8232a}.btn-danger-solid{background:#d8232a;border-color:#d8232a}
.toolbar{padding:10px;margin-bottom:14px}.toolbar input,.toolbar select{height:34px;padding:0 10px;font-size:11px}
.table thead th,table thead th{font-size:9px;letter-spacing:.06em;padding:10px 11px;background:#f7f8f8;color:#7b858a}.table tbody td,table tbody td{font-size:11px;padding:11px}.cell-strong{font-size:11.5px}.cell-sub,.cell-sub-only{font-size:10px}
.badge,.status-chip,.meta-chip,.chip,.src-chip{font-size:10px}.status-chip{height:23px}.status-chip.sourcing,.status-chip.progress,.status-chip.reopened{background:#eaf5ef;border-color:#c2ded0;color:#0f5c34}
.tabbar,.profile-tabs{background:#fff}.tabbar-btn,.profile-tab{font-size:11.5px;padding:12px}.tabbar-btn.active,.profile-tab.active{color:#0f5c34;border-bottom-color:#238356}
.dash-kpi-row{gap:14px}.dash-kpi{padding:15px 16px}.dash-kpi:before{background:#d8232a}.dash-kpi-label{font-size:10px}.dash-kpi-val{font-size:25px}.dash-kpi-hint{font-size:10px}
.rq-rail{background:#d8232a}.code-pill{background:#eaf5ef;color:#0f5c34}.rq-title{font-size:14px}.rq-meta dt{font-size:9.5px}.rq-meta dd{font-size:11.5px}
.profile-header{padding:17px 18px}.profile-header .ph-avatar{background:#238356}.profile-header .ph-name{font-size:18px}.profile-header .ph-headline{font-size:11.5px}
.kan-head{border-top:3px solid #d8232a}.pcard-name{font-size:12px}.pcard-role,.pcard-facts .fact{font-size:10px}
/* Candidate Intake Review */
.intake-page-head{align-items:flex-end}.intake-queue{overflow:hidden;border-top:3px solid #d8232a}.intake-list-state{padding:56px 24px;text-align:center;color:var(--muted);display:grid;gap:5px}.intake-list-state strong{font-size:14px;color:var(--text-strong)}
.intake-list-row{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px 17px;border:0;border-bottom:1px solid var(--border-soft);background:#fff;text-align:left;color:var(--text);font:inherit}.intake-list-row:hover,.intake-list-row.active{background:#f2faf7}.intake-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#238356;color:#fff;font-size:10px;font-weight:750}.intake-list-copy{display:grid;min-width:0}.intake-list-copy strong{font-size:12px;color:var(--text-strong)}.intake-list-copy small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intake-state{font-size:9px;font-weight:750;color:#775100;background:#fff7df;padding:4px 8px;border-radius:999px}
.intake-review-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.intake-review-head h1{font-size:23px;margin:6px 0 2px;color:var(--text-strong)}.intake-review-head p{font-size:11px;color:var(--muted);margin:0}.intake-head-actions{display:flex;gap:8px}.intake-back{border:0;background:none;padding:0;color:#0f5c34;font-size:11px;font-weight:700}
.intake-banner{border:1px solid var(--border);border-radius:9px;padding:11px 13px;margin:0 0 14px;font-size:11px;background:#fff;display:grid;gap:3px}.intake-banner strong{font-size:11.5px}.intake-banner.info{border-color:var(--border);background:#f0f8fc}.intake-banner.warning{border-color:#F3D48A;background:#fff8e6;color:#775100}.intake-banner.danger{border-color:#F3C3C8;background:#fff3f4;color:#b7000f}.duplicate-match{display:inline-flex;margin:5px 6px 0 0;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid currentColor;font-size:9px}
.review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.review-summary>div{background:#fff;border:1px solid var(--border);border-radius:9px;padding:12px 14px}.review-summary strong{display:block;font-size:19px;color:var(--text-strong)}.review-summary span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.review-panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.review-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--border)}.review-panel-head h2{font-size:14px;margin:0}.review-panel-head p{font-size:10px;color:var(--muted);margin:2px 0 0}
.review-table-wrap{overflow:auto}.review-table{width:100%;border-collapse:collapse;table-layout:fixed}.review-table th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#7b858a;background:#f7f8f8;padding:10px;text-align:left}.review-table th:nth-child(1){width:18%}.review-table th:nth-child(2){width:24%}.review-table th:nth-child(3){width:39%}.review-table th:nth-child(4){width:19%}.review-table td{padding:10px;border-bottom:1px solid var(--border-soft);vertical-align:top;font-size:10.5px}.review-table td>strong{display:block;font-size:10.5px;color:var(--text-strong)}.review-table td>small{display:block;font-size:8.5px;color:var(--muted);margin-top:3px}.parsed-value{font-weight:650;color:#252c30;overflow-wrap:anywhere}.evidence-quote{color:#536067;font-size:10px;line-height:1.42}.evidence-cell small{display:block;font-size:8.5px;color:#245566;margin-top:4px}.decision-select,.review-edit{width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 8px;font:inherit;font-size:10.5px}.decision-accept{background:#fbfefc}.decision-reject{background:#fffafb}.decision-edit{background:#fffdf7}
.override-check{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding:12px 14px;border:1px solid #e1b2b8;border-radius:9px;background:#fff6f7}.override-check span{display:grid}.override-check strong{font-size:11px;color:#b7000f}.override-check small{font-size:9.5px;color:var(--muted)}
.review-submit{position:sticky;bottom:0;margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 -6px 22px rgba(17,19,21,.06)}.review-submit span{font-size:10.5px;color:var(--muted)}
.intake-modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(17,19,21,.48);display:grid;place-items:center;padding:20px}.intake-modal{width:min(460px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:var(--shadow-pop)}.intake-modal h3{margin:0 0 5px}.intake-modal p{font-size:11px;color:var(--muted)}.intake-modal textarea{width:100%;min-height:90px;border:1px solid var(--border);border-radius:8px;padding:10px;font:inherit}.intake-modal>div{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:1000px){.content{padding:18px}.review-table{min-width:820px}.review-summary{grid-template-columns:1fr}.intake-review-head{align-items:flex-start;flex-direction:column}.topbar{padding:0 16px}}

/* Full extraction preview — every field a CV parse saw, accepted or not. */
.preview-panel{margin-top:14px}.parse-preview-panel{margin-top:12px}.parse-preview-head{font-size:10.5px;font-weight:650;color:var(--text-strong);margin-bottom:6px}
.preview-table th:nth-child(1){width:26%}.preview-table th:nth-child(2){width:44%}.preview-table th:nth-child(3){width:30%}
.preview-section-row td{background:#f7f8f8;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#7b858a;font-weight:700;padding:7px 10px}
.preview-status-badge{display:inline-block;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}
.preview-status-badge.preview-status-verified{background:var(--action-tint);color:var(--action-dark)}
.preview-status-badge.preview-status-likely{background:#fff8e6;color:#8a5a00}
.preview-status-badge.preview-status-rejected{background:var(--danger-tint);color:var(--danger-hover)}
.preview-status-badge.preview-status-not_stated{background:#f2f3f4;color:var(--muted)}
.preview-table td small{display:block;font-size:8.5px;color:var(--muted);margin-top:3px}

/* CV parse review — big-font results table beside the original CV, zoomable */
.parse-review-panel{background:#fff;border-radius:12px;width:min(1220px,95vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-pop);border-top:3px solid #D8232A}
.parse-review-head{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.parse-review-head h3{margin:0;font-size:16px}
.parse-review-body{flex:1;min-height:0;display:grid;grid-template-columns:2fr 1fr;overflow:hidden}
.parse-review-results{padding:20px 24px;overflow-y:auto;border-right:1px solid var(--border)}
.parse-review-table{width:100%;border-collapse:collapse;font-size:15px}
.parse-review-table td{padding:7px 10px 7px 0;vertical-align:top;border-bottom:1px solid var(--border-soft)}
.parse-review-table td:first-child{color:var(--muted);white-space:nowrap;width:1%}
.parse-review-table td:last-child{font-weight:600;color:var(--text-strong)}
.parse-review-section-row td{padding:14px 0 5px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#7b858a;font-weight:700;border-bottom:0}
.parse-review-footnote{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);line-height:1.7}
.parse-review-footnote strong{color:var(--text-strong)}
.parse-review-cv{display:flex;flex-direction:column;overflow:hidden;background:#f7f8f8}
.parse-review-cv-toolbar{padding:9px 12px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px}
.parse-review-cv-name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.parse-review-zoom{display:flex;align-items:center;gap:4px;flex-shrink:0}
.parse-review-zoom button{width:22px;height:22px;border:1px solid var(--border);border-radius:5px;background:#fff;font-size:13px;line-height:1;cursor:pointer}
.parse-review-zoom span{font-size:10.5px;color:var(--muted);min-width:34px;text-align:center}
.parse-review-cv-viewport{flex:1;overflow:auto;display:flex;justify-content:center;padding:12px}
.parse-review-cv-frame{width:100%;height:100%;min-height:500px;border:0;background:#fff;transform-origin:top center}
.parse-review-cv-image{max-width:100%;transform-origin:top center}
.parse-review-cv-empty{margin:auto;text-align:center;padding:24px;color:var(--muted);font-size:12px}
@media(max-width:900px){.parse-review-body{grid-template-columns:1fr}.parse-review-results{border-right:0;border-bottom:1px solid var(--border)}}

/* Sequential "what the reader is doing" status line while a parse is in flight */
.parsing-status-line{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-strong);margin-top:6px}
.parsing-status-dot{width:7px;height:7px;border-radius:50%;background:var(--action);animation:parsingPulse 1.1s ease-in-out infinite;flex-shrink:0}
@keyframes parsingPulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}

/* Talent Pool → Hiring Request linking. Reuses the approved palette: green is
   the action, blue is the navigable relationship, red only for the failure. */
.rq-links{display:flex;flex-wrap:wrap;gap:4px}
.rq-link-chip{display:grid;gap:1px;text-align:left;border:1px solid #cfe3ef;background:#E9F4FA;color:#245566;border-radius:7px;padding:4px 8px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.rq-link-chip:hover{border-color:#245566}
.rq-link-chip:focus-visible{outline:2px solid #245566;outline-offset:1px}
.rq-link-sub{font-weight:500;font-size:9px;color:var(--muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rq-linkwrap{position:relative;display:inline-block}
.rq-link-btn{border:1px dashed #b7c3c9;background:#fff;color:#0f5c34;border-radius:7px;padding:5px 9px;font:inherit;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.rq-link-btn:hover{border-color:#238356;background:#E7F5F0}
.rq-link-btn:focus-visible{outline:2px solid #238356;outline-offset:1px}
.rq-pop{position:fixed;z-index:400;width:320px;max-width:78vw;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow-pop);overflow:hidden;cursor:default}
.rq-pop-head{padding:10px 12px;border-bottom:1px solid var(--border);font-size:11.5px;font-weight:750;color:var(--text-strong);border-top:3px solid #d8232a}
.rq-pop-search{width:calc(100% - 20px);margin:10px;height:30px;border:1px solid var(--border);border-radius:7px;padding:0 9px;font:inherit;font-size:11px}
.rq-pop-search:focus-visible{outline:2px solid #238356;outline-offset:-1px}
.rq-pop-list{max-height:230px;overflow:auto;padding:0 6px 6px}
.rq-pop-label{font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;color:#7b858a;padding:7px 6px 3px;font-weight:750}
.rq-pop-item{display:grid;gap:1px;width:100%;text-align:left;border:1px solid transparent;background:none;border-radius:7px;padding:6px 7px;font:inherit;cursor:pointer}
.rq-pop-item strong{font-size:10.5px;color:var(--text-strong);font-weight:650}
.rq-pop-item small{font-size:9px;color:var(--muted)}
.rq-pop-item:hover{background:#f2faf7}
.rq-pop-item.picked{background:#E7F5F0;border-color:#238356}
.rq-pop-item:focus-visible{outline:2px solid #238356;outline-offset:-1px}
.rq-pop-empty{padding:18px 8px;text-align:center;font-size:10.5px;color:var(--muted)}
.rq-pop-error{margin:0 10px 8px;padding:7px 9px;border-radius:7px;background:#fff3f4;border:1px solid #e1b2b8;color:#b7000f;font-size:10px}
.rq-pop-foot{display:flex;justify-content:flex-end;gap:7px;padding:9px 10px;border-top:1px solid var(--border);background:#fcfdfd}


/* Arabic runs in the Arabic face — names and employers are shown as written. */
[lang="ar"],[dir="rtl"]{font-family:var(--font-arabic)}

/* Talent Pool, trimmed to what a recruiter scans: identity, role, reach, and
   the one action that moves work forward. Company folds under the position —
   an employer is context for a role, not a column to read down. Parse quality,
   owning recruiter and added-date live in the candidate drawer, where they are
   looked up rather than scanned. */
.th-request{min-width:190px}
.table tbody td .cell-sub{display:block;color:var(--muted);margin-top:1px}

/* Bulk CV upload call-to-action. The limit sits UNDER the button rather than in
   the modal alone: a recruiter picking fifty files should know the ceiling
   before the file dialog, not after a rejected upload. */

/* Bulk selection. The bar reuses the .bulk-bar styling that already existed in
   styles.css but had never been rendered by anything. */
.bulk-bar{margin-bottom:12px;font-size:12px}
.bulk-bar select{height:30px;border-radius:7px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;padding:0 8px;font:inherit;font-size:11.5px;max-width:280px}
.bulk-bar select option{color:var(--text)}
.bulk-bar .spacer{flex:1}
.th-sel{width:34px;padding-left:12px!important;padding-right:0!important}
.th-sel input{cursor:pointer}
tr.row-selected>td{background:var(--action-tint)}

/* Form controls inherit the app typeface.
   styles.css sets font-size on .field controls but never font-family, and the
   browser default for <textarea> is monospace (unlike <input>) — so every
   free-text box in the product, including every rejection reason, rendered in
   Courier while the label above it was IBM Plex. */
.field input,.field select,.field textarea,.toolbar input,.toolbar select,
input[type=text],input[type=email],input[type=password],input[type=number],
input[type=search],input[type=date],select,textarea{font-family:var(--font)}
.field textarea{line-height:1.5;resize:vertical}

/* Typeface, restated last so it cannot be lost to ordering.
   The base sheet applies font-family: var(--font) to body, so overriding the
   token is what actually retypes the product. */
:root{--font:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--font)}

/* What the CV did not say. A blank input is ambiguous — it could mean the
   document omitted the value or the reader missed it — so the parse names the
   difference explicitly instead of leaving the recruiter to guess. */
.parse-note{margin-top:8px;padding:9px 11px;border:1px solid #F3D48A;
  border-radius:7px;background:#fffdf7;font-size:11px;color:var(--text);display:grid;gap:3px}
.parse-note strong{font-size:11px;color:var(--text-strong)}
.parse-note small{font-size:10px;color:var(--muted)}
.parse-note-ok{border-color:var(--border);background:var(--action-tint);color:var(--action-dark)}

/* AI shortlist. Three score bands rather than a colour ramp: a recruiter reads
   "worth opening / maybe / probably not", and a gradient does not say that.
   Green is the product's action colour and is earned here — it means a
   candidate who could be shortlisted today. */
.score-badge{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 6px;
  border-radius:7px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.score-strong{background:var(--action-tint);color:var(--action-dark);border:1px solid var(--action-tint-bd)}
.score-fair{background:#fff6e6;color:#8a5a00;border:1px solid #f0dcb4}
.score-weak{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}
.miss-list{display:flex;flex-wrap:wrap;gap:4px;max-width:260px}
.chip-warn{background:#fff6e6;color:#8a5a00;border:1px solid #f0dcb4}

/* Plain-English search. Sits above the filter row and fills it, rather than
   replacing it — a recruiter should be able to see and correct whatever the
   model chose, in the boxes they already know. */
.ask-bar{gap:8px}
.ask-input{flex:1;min-width:260px}
.ask-note{display:flex;align-items:center;gap:10px;margin:-4px 0 12px;padding:8px 12px;
  border:1px solid var(--action-tint-bd);background:var(--action-tint);
  border-radius:var(--radius);font-size:12.5px;color:var(--text-strong)}
.ask-note-label{font-weight:700;color:var(--action-dark);text-transform:uppercase;
  font-size:9.5px;letter-spacing:.06em;white-space:nowrap}
.ask-note .btn{margin-left:auto}
