/* hiring.css — Hiring pipeline board / cards / modal bits.
   Reuses the app theme tokens (:root in style.css) so light + dark mode both
   work for free: --white flips to a dark card surface, the --gray-* scale
   inverts, and the brand --gold/--navy stay put. No hardcoded #fff/#000 on text
   (that's the dark-mode blackout trap). */

/* ── QUICK ADD (the .card base handles bg + dark mode) ── */
.hire-quickadd {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}
.hire-quickadd #ha-name { flex: 2 1 160px; }
.hire-quickadd #ha-phone { flex: 1 1 120px; }
.hire-quickadd #ha-role,
.hire-quickadd #ha-source { flex: 1 1 120px; }
.hire-quickadd .btn-primary { flex: 0 0 auto; white-space: nowrap; }

/* ── TOOLBAR ── */
.hire-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.hire-closed-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--gray-600);
  cursor: pointer;
  user-select: none;
}
.hire-closed-toggle input { width: 16px; height: 16px; accent-color: var(--gold); cursor: pointer; }

/* ── BOARD (horizontal scroll of stage columns) ── */
.hire-board {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}
.hire-col {
  flex: 0 0 210px;
  background: var(--gray-100);
  border: 1px solid var(--gray-200);
  border-radius: var(--rl);
  padding: 8px;
  scroll-snap-align: start;
  min-height: 80px;
}
.hire-col-closed { opacity: 0.85; }
.hire-col-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--gray-600);
  padding: 2px 4px 8px;
}
.hire-col-count {
  background: var(--gray-200);
  color: var(--gray-600);
  border-radius: 10px;
  padding: 0 7px;
  font-size: 11px;
  line-height: 18px;
  min-width: 18px;
  text-align: center;
}
.hire-col-body { display: flex; flex-direction: column; gap: 8px; }
.hire-empty-col { color: var(--gray-400); font-size: 12px; text-align: center; padding: 10px 0; }

/* ── CARD ── */
.hire-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--r);
  padding: 9px 10px;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: transform 0.05s ease, border-color 0.1s ease;
}
.hire-card:active { transform: scale(0.985); }
.hire-card:hover { border-color: var(--gold); }
.hire-card-name { font-size: 14px; font-weight: 700; color: var(--gray-800); }
.hire-card-sub { font-size: 11px; color: var(--gray-600); margin-top: 1px; }
.hire-card-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }

/* Knockout flag on the card. */
.hire-ko {
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--red-txt);
  background: var(--red-bg);
  border-radius: 6px;
  padding: 3px 6px;
}

/* ── CHIPS (score / pay / countdown) ── */
.hire-chip {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  border: 1px solid var(--gray-200);
  color: var(--gray-600);
  border-radius: 999px;
  padding: 1px 8px;
  white-space: nowrap;
}
.hire-chip-amber { background: var(--amber-bg); color: var(--amber-txt); border-color: transparent; }
.hire-chip-red { background: var(--red-bg); color: var(--red-txt); border-color: transparent; }

/* ── MODAL: knockout banner + rows ── */
.hire-ko-banner {
  background: var(--red-bg);
  color: var(--red-txt);
  border-radius: var(--r);
  padding: 9px 11px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}
.hire-ko-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 0;
  font-size: 13px;
  color: var(--gray-800);
  border-bottom: 1px solid var(--gray-100);
}
.hire-ko-row:last-child { border-bottom: none; }
.hire-ko-row select { max-width: 110px; }
.hire-ko-fail { color: var(--red-txt); font-weight: 600; }

/* ── MODAL: score summary lines + pay ladder ── */
.hire-score-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 0;
  font-size: 13px;
  color: var(--gray-800);
  border-bottom: 1px solid var(--gray-100);
}
.hire-score-line:last-child { border-bottom: none; }
.hire-prob { margin-bottom: 10px; font-size: 13px; color: var(--gray-700); }

/* ── MODAL: training incentives ── */
.hire-incentive-list { display: flex; flex-direction: column; }
.hire-incentive-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  font-size: 13px;
  color: var(--gray-800);
  border-bottom: 1px solid var(--gray-100);
  cursor: pointer;
}
.hire-incentive-row:last-child { border-bottom: none; }
.hire-incentive-row input { margin-top: 2px; flex: none; }
.hire-incentive-body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 1px; }
.hire-incentive-body small { color: var(--gray-500); font-size: 11px; line-height: 1.3; }
.hire-incentive-amt { flex: none; font-weight: 700; color: var(--green, var(--navy)); white-space: nowrap; }
.hire-incentive-on { color: var(--gray-900); }
.hire-incentive-totals { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; }

/* ── MODAL: scorecard buttons + history ── */
.hire-sc-btns { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.hire-sc-btns .btn-secondary { flex: 1 1 auto; font-size: 12px; padding: 7px 6px; }
.hire-sc-history { margin-top: 10px; }
.hire-sc-hist-row {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr 0.5fr 1fr;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  color: var(--gray-700);
  padding: 3px 0;
  border-top: 1px dashed var(--gray-200);
}

/* ── MODAL: scorecard form ── */
.hire-sc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  font-size: 13px;
  color: var(--gray-800);
  border-bottom: 1px solid var(--gray-100);
}
.hire-sc-select { max-width: 80px; }
.hire-sc-live {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding: 10px 12px;
  background: var(--gray-100);
  border-radius: var(--r);
  font-size: 14px;
  color: var(--gray-800);
}

/* Slightly tint the column track in dark mode so cards read above it. */
html.dark .hire-col { background: #1a1916; border-color: #2c2b27; }
html.dark .hire-col-count { background: #2c2b27; }
html.dark .hire-sc-live { background: #1a1916; }
