.recruitment-view { display: grid; gap: 16px; transform: none !important; }
.recruitment-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.recruitment-toolbar .section-label { margin: 0 0 3px; }
.recruitment-toolbar h2 { margin: 0; font-size: 18px; }
.recruitment-toolbar label { min-width: 260px; display: grid; gap: 5px; color: var(--text-muted); font-size: var(--font-xs); }
.recruitment-toolbar select { min-height: 38px; padding: 0 34px 0 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text); }
.recruitment-meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: var(--text-muted); font-size: 13px; margin-bottom: 14px; }
.recruitment-kpis { grid-template-columns: repeat(5,minmax(0,1fr)); }
.recruitment-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.7fr); gap: 16px; }
.recruitment-status-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 16px 0 0; }
.recruitment-status-list div { padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }
.recruitment-status-list dt { font-size: 12px; color: var(--text-muted); }
.recruitment-status-list dd { margin: 6px 0 0; font-size: 24px; font-weight: 700; }
.recruitment-blocked { min-height: 144px; display: grid; align-content: center; justify-items: start; gap: 10px; padding: 18px; border: 1px solid color-mix(in srgb,var(--color-danger) 28%,var(--border)); border-radius: 10px; background: var(--color-danger-soft); }
.recruitment-blocked p { margin: 0; color: var(--color-danger); font-size: var(--font-sm); line-height: 1.55; }
.recruitment-code-warning { margin: 10px 0 0; color: var(--color-warning); font-size: var(--font-xs); }
.recruitment-details { display: grid; gap: 16px; }
.recruitment-detail-card .reference-table-scroll { max-height: 430px; overflow: auto; }
.recruitment-detail-card .reference-table { min-width: 820px; }
.recruitment-detail-card td,.recruitment-detail-card th { vertical-align: middle; }
.recruitment-detail-card .reference-hint { margin: 10px 0 0; }
.recruitment-boundary ul { margin: 10px 0; padding-left: 20px; }
.recruitment-analysis-card { border-color: color-mix(in srgb,var(--color-warning) 28%,var(--border)); }
.recruitment-analysis-card > .reference-hint { margin: 6px 0 14px; }
.recruitment-attention-list { display: grid; gap: 8px; }
.recruitment-attention-item { width: 100%; display: grid; grid-template-columns: auto minmax(220px,1fr) auto auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); color: var(--text); text-align: left; cursor: pointer; }
.recruitment-attention-item:hover,.recruitment-attention-item:focus-visible { border-color: var(--brand); background: color-mix(in srgb,var(--brand) 5%,var(--surface)); outline: none; }
.recruitment-attention-item span:nth-child(2) { display: grid; gap: 3px; }
.recruitment-attention-item small,.recruitment-attention-metrics { color: var(--text-muted); font-size: var(--font-xs); line-height: 1.4; }
.recruitment-attention-item > b { color: var(--brand); font-size: var(--font-xs); white-space: nowrap; }
.recruitment-job-link { padding: 0; border: 0; background: none; color: var(--brand); font: inherit; font-weight: 650; text-align: left; cursor: pointer; }
.recruitment-job-link:hover,.recruitment-job-link:focus-visible { text-decoration: underline; outline: none; }
.recruitment-detail-card tr.is-selected { background: color-mix(in srgb,var(--brand) 7%,var(--surface)); }
.recruitment-table-summary { display: block; max-width: 340px; margin-top: 5px; color: var(--text-muted); line-height: 1.35; }
.recruitment-job-panel { display: grid; gap: 16px; scroll-margin-top: 16px; outline: none; }
.recruitment-job-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-color: color-mix(in srgb,var(--brand) 24%,var(--border)); }
.recruitment-job-hero h2 { margin: 2px 0 6px; font-size: 24px; }
.recruitment-job-hero p:last-child { margin: 0; color: var(--text-muted); }
.recruitment-job-hero-actions { display: flex; align-items: center; gap: 8px; }
.recruitment-conclusion { background: linear-gradient(135deg,color-mix(in srgb,var(--brand) 6%,var(--surface)),var(--surface)); }
.recruitment-conclusion-text { margin: 12px 0 16px; font-size: 18px; font-weight: 650; line-height: 1.6; }
.recruitment-diagnosis-metrics { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.recruitment-diagnosis-metrics span { display: grid; gap: 4px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
.recruitment-diagnosis-metrics small { color: var(--text-muted); }
.recruitment-diagnosis-metrics strong { font-size: 22px; }
.recruitment-signal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.recruitment-signal { padding: 12px; border-left: 3px solid var(--border); border-radius: 8px; background: var(--surface-soft); }
.recruitment-signal.critical,.recruitment-signal.high { border-left-color: var(--color-danger); }
.recruitment-signal.medium { border-left-color: var(--color-warning); }
.recruitment-signal p { margin: 5px 0 0; color: var(--text-muted); font-size: var(--font-xs); line-height: 1.5; }
.recruitment-action-grid { grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); }
.recruitment-actions { margin: 12px 0 0; padding-left: 22px; }
.recruitment-actions li { margin: 8px 0; line-height: 1.55; }
.recruitment-requirement-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0 0; }
.recruitment-requirement-summary div { padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-soft); }
.recruitment-requirement-summary dt { color: var(--text-muted); font-size: var(--font-xs); }
.recruitment-requirement-summary dd { margin: 5px 0 0; font-weight: 650; }
.recruitment-loss-card { border-color: color-mix(in srgb,var(--color-danger) 24%,var(--border)); }
.recruitment-jd-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.recruitment-copy { max-height: 480px; overflow: auto; margin-top: 12px; color: var(--text); font-size: var(--font-sm); line-height: 1.7; }
@media(max-width:900px) {
  .recruitment-toolbar { align-items: stretch; flex-direction: column; }
  .recruitment-toolbar label { min-width: 0; }
  .recruitment-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recruitment-grid { grid-template-columns: 1fr; }
  .recruitment-attention-item { grid-template-columns: auto 1fr; }
  .recruitment-attention-metrics,.recruitment-attention-item > b { grid-column: 2; }
  .recruitment-job-hero { flex-direction: column; }
  .recruitment-diagnosis-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .recruitment-signal-grid { grid-template-columns: 1fr; }
}
@media(max-width:560px) {
  .recruitment-diagnosis-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recruitment-job-hero-actions { width: 100%; justify-content: space-between; }
}
.recruitment-toolbar-filters { display: flex; align-items: end; gap: 10px; }
.recruitment-toolbar-filters label { display: grid; gap: 5px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.recruitment-toolbar-filters input { min-height: 38px; padding: 0 10px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text); }
.recruitment-key-filter { min-height: 38px; padding: 0 13px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text-secondary); font: 700 var(--font-xs)/1 Inter,system-ui,sans-serif; cursor: pointer; white-space: nowrap; }
.recruitment-key-filter:hover,.recruitment-key-filter.active { border-color: color-mix(in srgb,var(--color-primary) 45%,var(--color-border)); background: var(--color-primary-soft); color: var(--color-primary); }
.recruitment-drilldown-notice { margin-bottom: 12px; padding: 13px 14px; display: grid; gap: 11px; border: 1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-border)); border-radius: var(--radius-md); background: var(--color-primary-soft); color: var(--color-text-secondary); font-size: var(--font-xs); scroll-margin-top: 18px; }
.recruitment-drilldown-notice > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.recruitment-drilldown-notice strong { color: var(--color-primary); font-size: var(--font-sm); }
.recruitment-drilldown-jobs { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 8px; }
.recruitment-drilldown-jobs button { padding: 10px 12px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text); text-align: left; cursor: pointer; }
.recruitment-drilldown-jobs button:hover,.recruitment-drilldown-jobs button:focus-visible { border-color: var(--color-primary); outline: none; }
.recruitment-drilldown-jobs button b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recruitment-drilldown-jobs button small { color: var(--color-text-secondary); }
.recruitment-drilldown-jobs button span { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--color-primary); font-size: var(--font-xs); font-weight: 700; white-space: nowrap; }
.recruitment-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); }
.recruitment-role-toolbar { align-items: center; padding: 2px 0; }
.recruitment-role-toolbar > div:first-child { min-width: 280px; }
.recruitment-role-toolbar > div:first-child > p:last-child { max-width: 700px; margin: 5px 0 0; color: var(--color-text-secondary); font-size: var(--font-xs); }
.recruitment-role-heading { display: flex; align-items: center; gap: 10px; }
.recruitment-role-heading h2 { font-size: 22px; }
.recruitment-conclusion-band { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 16px 18px; border: 1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border)); border-left: 4px solid var(--color-primary); border-radius: var(--radius-md); background: linear-gradient(110deg,var(--color-primary-soft),var(--color-surface)); }
.recruitment-conclusion-band.has-risk { border-color: color-mix(in srgb,var(--color-danger) 28%,var(--color-border)); border-left-color: var(--color-danger); background: linear-gradient(110deg,var(--color-danger-soft),var(--color-surface)); }
.recruitment-conclusion-band > div { display: grid; gap: 5px; }
.recruitment-conclusion-band > div:first-child > span { color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 700; }
.recruitment-conclusion-band strong { font-size: 17px; line-height: 1.55; }
.recruitment-conclusion-band > div:last-child { justify-items: end; }
.recruitment-conclusion-band small { color: var(--color-text-secondary); font-size: 11px; }
.recruitment-role-metric { min-height: 112px; padding: 15px 16px; position: relative; display: grid; justify-items: start; align-content: center; gap: 4px; border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); text-align: left; cursor: pointer; }
.recruitment-role-metric strong { font-size: 28px; }
.recruitment-role-metric small { padding-right: 66px; color: var(--color-text-secondary); }
.recruitment-role-metric i { position: absolute; right: 15px; bottom: 15px; color: var(--color-primary); font-size: 11px; font-style: normal; font-weight: 700; }
.recruitment-role-metric:hover,.recruitment-role-metric:focus-visible { border-color: var(--color-primary); box-shadow: 0 8px 22px color-mix(in srgb,var(--color-primary) 12%,transparent); outline: none; transform: translateY(-1px); }
.recruitment-role-metric.metric-blocked strong { max-width: none; font-size: 21px; }
.recruitment-command-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(350px,.65fr); gap: 16px; align-items: stretch; }
.recruitment-command-grid.executive-simple { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.recruitment-command-grid.executive-simple .recruitment-analysis-card > .reference-hint { display: none; }
.recruitment-analysis-card,.recruitment-process-card { min-height: 300px; }
.recruitment-analysis-card .reference-title,.recruitment-process-card .reference-title,.recruitment-action-card .reference-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.recruitment-attention-list { max-height: 285px; overflow: auto; padding-right: 3px; }
.recruitment-attention-item { grid-template-columns: auto minmax(200px,1fr) auto; padding: 10px 11px; }
.recruitment-attention-item > b { display: none; }
.recruitment-funnel-compact { max-height: 178px; overflow: auto; margin-top: 11px; }
.recruitment-funnel-compact .reference-table th,.recruitment-funnel-compact .reference-table td { padding-top: 7px; padding-bottom: 7px; }
.recruitment-funnel-compact .recruitment-blocked { min-height: 120px; }
.recruitment-process-divider { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--color-border); font-size: var(--font-xs); font-weight: 700; }
.recruitment-process-divider small { color: var(--color-text-secondary); font-weight: 500; }
.recruitment-offer-pulse { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 6px; margin-top: 9px; }
.recruitment-offer-pulse span { display: grid; justify-items: center; gap: 3px; padding: 7px 3px; border-radius: var(--radius-sm); background: var(--color-surface-soft); }
.recruitment-offer-pulse small { color: var(--color-text-secondary); font-size: 11px; }
.recruitment-offer-pulse strong { font-size: 17px; }
.recruitment-executive-pipeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 16px; }
.recruitment-executive-pipeline button { min-height: 78px; display: grid; place-content: center; justify-items: center; gap: 3px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-text); cursor: pointer; }
.recruitment-executive-pipeline button:hover,.recruitment-executive-pipeline button:focus-visible { border-color: var(--color-primary); background: var(--color-primary-soft); outline: none; }
.recruitment-executive-pipeline small { color: var(--color-text-secondary); font-size: 11px; }
.recruitment-executive-pipeline strong { font-size: 22px; }
.recruitment-executive-pipeline i { color: var(--color-primary); font-size: 10px; font-style: normal; font-weight: 700; }
.recruitment-evidence-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 16px; align-items: stretch; }
.recruitment-stage-card,.recruitment-hard-signal-card { min-width: 0; }
.recruitment-stage-card .reference-hint,.recruitment-hard-signal-card .reference-hint { margin: 7px 0 14px; line-height: 1.55; }
.recruitment-stage-list { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 2px 0 4px; }
.recruitment-stage-row { width: 40%; max-width: 100%; min-width: 190px; flex: 0 0 auto; display: block; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
.recruitment-stage-width-40 { width: 40%; }
.recruitment-stage-width-45 { width: 45%; }
.recruitment-stage-width-50 { width: 50%; }
.recruitment-stage-width-55 { width: 55%; }
.recruitment-stage-width-60 { width: 60%; }
.recruitment-stage-width-65 { width: 65%; }
.recruitment-stage-width-70 { width: 70%; }
.recruitment-stage-width-75 { width: 75%; }
.recruitment-stage-width-80 { width: 80%; }
.recruitment-stage-width-85 { width: 85%; }
.recruitment-stage-width-90 { width: 90%; }
.recruitment-stage-width-95 { width: 95%; }
.recruitment-stage-width-100 { width: 100%; }
.recruitment-stage-row:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.recruitment-stage-segment { width: 100%; min-width: 0; min-height: 44px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; box-sizing: border-box; padding: 9px 24px; background: linear-gradient(135deg,#315bd6,#4a78ec); clip-path: polygon(0 0,100% 0,96% 100%,4% 100%); transition: filter .18s ease-out,transform .18s ease-out; }
.recruitment-stage-row:nth-child(2) .recruitment-stage-segment { background: linear-gradient(135deg,#3d68dc,#5a84ed); }
.recruitment-stage-row:nth-child(3) .recruitment-stage-segment { background: linear-gradient(135deg,#4c76df,#6a91ef); }
.recruitment-stage-row:nth-child(4) .recruitment-stage-segment { background: linear-gradient(135deg,#5c83e3,#7b9df0); }
.recruitment-stage-row:nth-child(5) .recruitment-stage-segment { background: linear-gradient(135deg,#6c90e6,#8aa8f2); }
.recruitment-stage-row:hover .recruitment-stage-segment,.recruitment-stage-row:focus-visible .recruitment-stage-segment { filter: brightness(.96) saturate(1.1); transform: translateY(-1px); }
.recruitment-stage-segment > b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--font-xs); }
.recruitment-stage-segment > span { display: inline-flex; align-items: baseline; gap: 2px; white-space: nowrap; }
.recruitment-stage-segment strong { font-size: var(--font-md); }
.recruitment-stage-segment small { font-size: 10px; opacity: .84; }
.recruitment-stage-segment > em { font-size: 10px; font-style: normal; font-weight: 700; white-space: nowrap; opacity: .88; }
.recruitment-hard-signal-card .reference-table { min-width: 720px; }
.recruitment-hard-signal-card td:nth-child(2) { min-width: 210px; }
.recruitment-hard-signal-card td:nth-child(3) { min-width: 245px; color: var(--color-text-secondary); }
.recruitment-blocked.compact { min-height: 70px; margin-top: 10px; padding: 10px; }
.recruitment-action-card { padding-bottom: 12px; }
.recruitment-action-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.recruitment-action-list button { min-width: 0; display: grid; grid-template-columns: auto minmax(180px,1fr) minmax(145px,.55fr) auto; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-text); text-align: left; cursor: pointer; }
.recruitment-action-list button:hover,.recruitment-action-list button:focus-visible { border-color: var(--color-primary); background: color-mix(in srgb,var(--color-primary) 5%,var(--color-surface)); outline: none; }
.recruitment-action-list button > span:not(.recruitment-action-dot) { min-width: 0; display: grid; gap: 3px; }
.recruitment-action-list button > span:nth-child(3) { justify-items: end; text-align: right; }
.recruitment-action-list strong,.recruitment-action-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recruitment-action-list small { color: var(--color-text-secondary); font-size: 11px; line-height: 1.4; }
.recruitment-action-list i { color: var(--color-primary); font-size: var(--font-xs); font-style: normal; font-weight: 700; white-space: nowrap; }
.recruitment-action-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--color-border); }
.recruitment-action-dot.red { background: var(--color-danger); box-shadow: 0 0 0 4px var(--color-danger-soft); }
.recruitment-action-dot.amber { background: var(--color-warning); box-shadow: 0 0 0 4px var(--color-warning-soft); }
.recruitment-action-dot.blue { background: var(--color-primary); box-shadow: 0 0 0 4px var(--color-primary-soft); }
.recruitment-disclosure { padding: 0; overflow: hidden; }
.recruitment-disclosure > summary { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 16px; cursor: pointer; list-style: none; }
.recruitment-disclosure > summary::-webkit-details-marker { display: none; }
.recruitment-disclosure > summary > span { display: grid; gap: 4px; }
.recruitment-disclosure > summary small { color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 400; }
.recruitment-disclosure > summary b { color: var(--color-primary); font-size: var(--font-xs); }
.recruitment-disclosure[open] > summary { border-bottom: 1px solid var(--color-border); background: var(--color-surface-soft); }
.recruitment-disclosure[open] > summary b { font-size: 0; }
.recruitment-disclosure[open] > summary b::after { content: '收起'; font-size: var(--font-xs); }
.recruitment-disclosure .recruitment-details { padding: 16px; }
.recruitment-disclosure-grid { padding: 16px; }
.recruitment-disclosure-grid > article { min-width: 0; }
.recruitment-key-job-table .reference-hint { margin: 7px 0 14px; }
.recruitment-key-job-table .reference-table { min-width: 1120px; }
.recruitment-key-job-table td { vertical-align: middle; }
.recruitment-key-job-table td:nth-child(5) { min-width: 210px; }
.recruitment-key-job-table td:nth-child(5) small { display: block; margin-top: 5px; color: var(--color-text-secondary); line-height: 1.4; }
.recruitment-row-action { padding: 0; border: 0; background: transparent; color: var(--color-primary); font: 700 var(--font-xs)/1.4 Inter,system-ui,sans-serif; cursor: pointer; white-space: nowrap; }
.recruitment-row-action:hover,.recruitment-row-action:focus-visible { text-decoration: underline; outline: none; }
.recruitment-data-actions { padding-bottom: 12px; }
.recruitment-data-action-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.recruitment-data-action-list button { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px 10px; align-items: center; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-text); text-align: left; cursor: pointer; }
.recruitment-data-action-list button:hover,.recruitment-data-action-list button:focus-visible { border-color: var(--color-danger); outline: none; }
.recruitment-data-action-list button > span:nth-child(2),.recruitment-data-action-list button > span:nth-child(3) { display: grid; gap: 3px; }
.recruitment-data-action-list button > span:nth-child(3) { grid-column: 2; }
.recruitment-data-action-list strong,.recruitment-data-action-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recruitment-data-action-list small { color: var(--color-text-secondary); font-size: 11px; line-height: 1.4; }
.recruitment-data-action-list i { grid-column: 2; color: var(--color-primary); font-size: 11px; font-style: normal; font-weight: 700; }
.recruitment-drawer-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(15,23,42,.34); backdrop-filter: blur(2px); }
.recruitment-drilldown-drawer { position: fixed; z-index: 81; top: 0; right: 0; width: min(1120px,96vw); height: 100vh; display: grid; grid-template-rows: auto minmax(0,1fr); background: var(--color-surface); color: var(--color-text); box-shadow: -18px 0 52px rgba(15,23,42,.2); outline: none; animation: recruitment-drawer-in .18s ease-out; }
.recruitment-drilldown-drawer > header { display: flex; justify-content: space-between; gap: 18px; padding: 22px 24px 18px; border-bottom: 1px solid var(--color-border); }
.recruitment-drilldown-drawer h2 { margin: 2px 0 5px; font-size: 22px; }
.recruitment-drilldown-drawer header p:last-child { margin: 0; color: var(--color-text-secondary); font-size: var(--font-xs); }
.recruitment-drilldown-drawer header > button { width: 36px; height: 36px; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface-soft); color: var(--color-text-secondary); font-size: 24px; line-height: 1; cursor: pointer; }
.recruitment-drilldown-drawer header > button:hover,.recruitment-drilldown-drawer header > button:focus-visible { border-color: var(--color-primary); color: var(--color-primary); outline: none; }
.recruitment-drawer-body { min-height: 0; overflow: auto; padding: 20px 24px 30px; }
.recruitment-drawer-body .reference-table { min-width: 680px; }
.recruitment-drawer-list { display: grid; gap: 9px; }
.recruitment-drawer-list > button { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.7fr) auto; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-text); text-align: left; cursor: pointer; }
.recruitment-drawer-list > button:hover,.recruitment-drawer-list > button:focus-visible { border-color: var(--color-primary); outline: none; }
.recruitment-drawer-list span { min-width: 0; display: grid; gap: 4px; }
.recruitment-drawer-list strong,.recruitment-drawer-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recruitment-drawer-list small { color: var(--color-text-secondary); font-size: 11px; line-height: 1.4; }
.recruitment-drawer-list i { color: var(--color-primary); font-size: 11px; font-style: normal; font-weight: 700; white-space: nowrap; }
.recruitment-drawer-callout { width: 100%; margin-top: 14px; padding: 12px 14px; border: 1px solid color-mix(in srgb,var(--color-warning) 42%,var(--color-border)); border-radius: var(--radius-sm); background: var(--color-warning-soft); color: var(--color-warning); font-weight: 700; text-align: left; cursor: pointer; }
.recruitment-drawer-warning { margin-bottom: 14px; padding: 14px; border: 1px solid color-mix(in srgb,var(--color-warning) 42%,var(--color-border)); border-radius: var(--radius-sm); background: var(--color-warning-soft); }
.recruitment-drawer-warning p { margin: 5px 0 0; color: var(--color-text-secondary); font-size: var(--font-xs); line-height: 1.55; }
.recruitment-candidate-drilldown-table td { vertical-align: middle; }
.recruitment-candidate-drilldown-table td small { display: block; margin-top: 4px; color: var(--color-text-secondary); font-size: 10px; }
@keyframes recruitment-drawer-in { from { transform: translateX(24px); opacity: .7; } to { transform: translateX(0); opacity: 1; } }
@media(max-width:1200px) {
  .recruitment-role-toolbar { align-items: stretch; flex-direction: column; }
  .recruitment-toolbar-filters { flex-wrap: wrap; }
  .recruitment-command-grid { grid-template-columns: 1fr; }
  .recruitment-evidence-grid { grid-template-columns: 1fr; }
  .recruitment-data-action-list { grid-template-columns: 1fr; }
  .recruitment-analysis-card,.recruitment-process-card { min-height: 0; }
}
@media(max-width:900px) {
  .recruitment-conclusion-band { grid-template-columns: 1fr; gap: 10px; }
  .recruitment-conclusion-band > div:last-child { justify-items: start; }
  .recruitment-action-list { grid-template-columns: 1fr; }
  .recruitment-disclosure-grid { grid-template-columns: 1fr; }
}
@media(max-width:640px) {
  .recruitment-role-heading { align-items: flex-start; flex-direction: column; }
  .recruitment-toolbar-filters { display: grid; grid-template-columns: 1fr; }
  .recruitment-toolbar-filters label { width: 100%; }
  .recruitment-action-list button { grid-template-columns: auto minmax(0,1fr) auto; }
  .recruitment-action-list button > span:nth-child(3) { grid-column: 2; justify-items: start; text-align: left; }
  .recruitment-offer-pulse { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .recruitment-stage-row { min-width: 145px; }
  .recruitment-stage-segment { grid-template-columns: minmax(0,1fr) auto; gap: 7px; padding: 9px 16px; }
  .recruitment-stage-segment > em { display: none; }
  .recruitment-drilldown-drawer { width: 100vw; }
  .recruitment-drilldown-drawer > header,.recruitment-drawer-body { padding-left: 16px; padding-right: 16px; }
  .recruitment-drawer-list > button { grid-template-columns: 1fr auto; }
  .recruitment-drawer-list > button span:nth-child(2) { grid-column: 1; }
  .recruitment-drawer-list > button i { grid-column: 2; grid-row: 1 / span 2; }
}

/* 2026-09 recruitment polish: presentation only; metrics and drill-down behavior stay unchanged. */
.recruitment-role-metric.metric-priority { border-top: 3px solid var(--color-primary); background: linear-gradient(180deg,var(--color-primary-soft),var(--color-surface) 48%); }
.recruitment-role-metric.metric-risk { border-color: color-mix(in srgb,var(--color-danger) 34%,var(--color-border)); border-top: 3px solid var(--color-danger); background: linear-gradient(180deg,var(--color-danger-soft),var(--color-surface) 48%); }
.recruitment-role-metric.metric-risk strong { color: var(--color-danger); }
.recruitment-role-metric.metric-blocked { border-style: dashed; background: var(--color-surface-soft); color: var(--color-text-secondary); box-shadow: none; }
.recruitment-role-metric.metric-blocked strong { max-width: none; color: var(--color-text-secondary); font-size: 18px; font-weight: 650; }
.recruitment-role-metric.metric-blocked i { color: var(--color-text-secondary); }

.recruitment-stage-list { align-items: flex-start; gap: 8px; padding-block: 4px 6px; }
.recruitment-stage-row { border-radius: 8px; background: color-mix(in srgb,var(--color-primary) 7%,var(--color-surface-soft)); }
.recruitment-stage-segment { min-height: 42px; padding: 8px 14px; border-radius: 8px; background: linear-gradient(90deg,#315bd6,#4a78ec); clip-path: none; box-shadow: 0 4px 12px -9px #315bd6; }
.recruitment-stage-row:nth-child(2) .recruitment-stage-segment { background: linear-gradient(90deg,#3d68dc,#5a84ed); }
.recruitment-stage-row:nth-child(3) .recruitment-stage-segment { background: linear-gradient(90deg,#4c76df,#6a91ef); }
.recruitment-stage-row:nth-child(4) .recruitment-stage-segment { background: linear-gradient(90deg,#5c83e3,#7b9df0); }
.recruitment-stage-row:nth-child(5) .recruitment-stage-segment { background: linear-gradient(90deg,#6c90e6,#8aa8f2); }
.recruitment-stage-segment > em { padding: 3px 7px; border-radius: 999px; background: rgba(255,255,255,.14); opacity: .95; }

.recruitment-key-job-table .reference-table { width: 100%; min-width: 980px; table-layout: fixed; }
.recruitment-key-job-table th:nth-child(1) { width: 15%; }
.recruitment-key-job-table th:nth-child(2) { width: 19%; }
.recruitment-key-job-table th:nth-child(3),.recruitment-key-job-table th:nth-child(4) { width: 11%; text-align: center; }
.recruitment-key-job-table th:nth-child(5) { width: 19%; }
.recruitment-key-job-table th:nth-child(6) { width: 14%; }
.recruitment-key-job-table th:nth-child(7) { width: 11%; }
.recruitment-key-job-table td:nth-child(3),.recruitment-key-job-table td:nth-child(4) { text-align: center; font-variant-numeric: tabular-nums; }
.recruitment-key-job-table td { overflow-wrap: anywhere; }
.recruitment-key-job-table .recruitment-row-action { max-width: 100%; white-space: normal; }
.recruitment-key-job-table tbody tr.needs-attention td:first-child { box-shadow: inset 3px 0 var(--color-warning); }
.recruitment-row-action { min-height: 28px; padding: 5px 9px; border: 1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border)); border-radius: 7px; background: var(--color-primary-soft); text-decoration: none; }
.recruitment-row-action:hover,.recruitment-row-action:focus-visible { border-color: var(--color-primary); text-decoration: none; }
.recruitment-data-actions { border-left: 3px solid color-mix(in srgb,var(--color-danger) 72%,var(--color-border)); }
.recruitment-data-action-list button { padding: 13px; border-color: color-mix(in srgb,var(--color-danger) 24%,var(--color-border)); background: linear-gradient(135deg,color-mix(in srgb,var(--color-danger-soft) 58%,var(--color-surface)),var(--color-surface)); }

@media(max-width:640px) {
  .recruitment-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .recruitment-role-metric { min-height: 104px; padding: 12px; }
  .recruitment-role-metric strong { font-size: 24px; }
  .recruitment-role-metric small { padding-right: 0; }
  .recruitment-role-metric i { position: static; margin-top: 4px; }
  .recruitment-key-job-table .reference-hint { margin-bottom: 10px; }
  .recruitment-key-job-table .reference-table-scroll { overflow: visible; }
  .recruitment-key-job-table .reference-table { min-width: 0; table-layout: auto; }
  .recruitment-key-job-table thead { display: none; }
  .recruitment-key-job-table tbody { display: grid; gap: 10px; }
  .recruitment-key-job-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 12px; padding: 13px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface-soft); }
  .recruitment-key-job-table tbody tr.needs-attention { border-left: 3px solid var(--color-warning); }
  .recruitment-key-job-table tbody tr.needs-attention td:first-child { box-shadow: none; }
  .recruitment-key-job-table tbody td { min-width: 0 !important; padding: 0; display: grid; gap: 3px; border: 0; text-align: left !important; }
  .recruitment-key-job-table tbody td::before { content: attr(data-label); color: var(--color-text-secondary); font-size: 10px; font-weight: 650; }
  .recruitment-key-job-table tbody td:first-child,.recruitment-key-job-table tbody td:nth-child(2),.recruitment-key-job-table tbody td:nth-child(5),.recruitment-key-job-table tbody td:last-child { grid-column: 1 / -1; }
  .recruitment-key-job-table tbody td:last-child { padding-top: 9px; border-top: 1px solid var(--color-border); }
  .recruitment-row-action { width: 100%; }
}
