/* Grid people-edit - Incumbent + Emp Status inline editors (companion to
   grid_inline_edit.css). Editable people cells reuse the warm hover affordance
   of the scalar cells, but open an anchored popover instead of an in-cell input. */

.gpe-cell-editable {
  cursor: pointer;
  position: relative;
  transition: background .12s ease;
}
.gpe-cell-editable:hover {
  background: #FEF3C7;
  box-shadow: inset 0 0 0 1px #D97706;
}
.gpe-cell-editable:hover::after {
  content: '✎';
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  color: #D97706;
  opacity: .7;
}
.gpe-cell-flash-bad { animation: gpeFlashBad 1.2s ease; }
@keyframes gpeFlashBad {
  0%, 30% { background: #FEE2E2; }
  100%    { background: transparent; }
}

/* ── Popover ──────────────────────────────────────────────────────────────── */
.gpe-pop {
  position: fixed;
  z-index: 10000;
  min-width: 248px;
  max-width: 340px;
  background: #FFFFFF;
  border: 1px solid #E2E2DF;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .08);
  padding: 10px;
  font-family: inherit;
  font-size: 12px;
  color: #1A1A1A;
}
.gpe-pop-title {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #8A8F98;
  margin: 0 0 7px;
}
.gpe-busy { pointer-events: none; }
.gpe-busy-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .72);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #D97706;
}

/* ── Incumbent search ──────────────────────────────────────────────────────── */
.gpe-search {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #D7D7D2;
  border-radius: 7px;
  padding: 7px 9px;
  font-size: 12px;
  font-family: inherit;
  outline: none;
}
.gpe-search:focus { border-color: #2563EB; box-shadow: 0 0 0 2px rgba(37, 99, 235, .15); }

.gpe-results { max-height: 180px; overflow-y: auto; margin: 6px 0 0; }
.gpe-result {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 6px;
  padding: 6px 8px;
  cursor: pointer;
  font-family: inherit;
}
.gpe-result:hover { background: #FEF3C7; }
.gpe-result-name { font-size: 12.5px; font-weight: 700; color: #1A1A1A; }
.gpe-result-meta { font-size: 10.5px; color: #8A8F98; }
.gpe-result-empty { padding: 6px 8px; font-size: 11px; color: #8A8F98; }

/* ── Action buttons (create / clear / save) ────────────────────────────────── */
.gpe-actions { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #EFEFEC; }
.gpe-action, .gpe-save {
  width: 100%;
  text-align: left;
  background: #F6F6F3;
  border: 1px solid #E2E2DF;
  border-radius: 7px;
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 600;
  font-family: inherit;
  color: #1A1A1A;
  cursor: pointer;
}
.gpe-action:hover, .gpe-save:hover { background: #ECECE7; }
.gpe-action-create { color: #047857; border-color: #B7E4CF; background: #ECFDF5; }
.gpe-action-create:hover { background: #D1FAE5; }
.gpe-action-clear { color: #B91C1C; }
.gpe-action-clear:hover { background: #FEE2E2; }

/* ── Emp Status editor ─────────────────────────────────────────────────────── */
.gpe-status-select, .gpe-leave-select, .gpe-term-select, .gpe-term-date {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #D7D7D2;
  border-radius: 7px;
  padding: 6px 8px;
  font-size: 12px;
  font-family: inherit;
  outline: none;
  background: #fff;
}
.gpe-status-extra { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.gpe-status-extra:empty { display: none; }
.gpe-field-label { font-size: 10px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: #8A8F98; margin-bottom: -2px; }
.gpe-save { text-align: center; margin-top: 2px; }
.gpe-save-danger { color: #fff; background: #DC2626; border-color: #DC2626; }
.gpe-save-danger:hover { background: #B91C1C; }
.gpe-warn { font-size: 11px; color: #92400E; background: #FEF3C7; border-radius: 6px; padding: 6px 8px; }
.gpe-hint { font-size: 12px; color: #5B6470; line-height: 1.4; }
