/* people.css — «Сотрудники» и «Слияние людей» (js/people.js, js/admin-people.js). Владелец — агент `people` (волна 1).
   Правила: только var(--…) токены (tests/ui/test_ui_regulation.py), см. docs/THEMES.md. Выбранное состояние несёт
   не только цвет: рамка + галочка чекбокса; «основной» — текст и иконка. */

/* ---------- справочник: фильтры и сетка карточек ---------- */
.people-filters select { min-width: 160px; }
.people-grid { display: grid; gap: var(--s3); grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); }
.people-grid > .empty-state { grid-column: 1 / -1; }
.person-card { position: relative; display: flex; flex-direction: column; gap: var(--s3); min-width: 0;
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.card + .person-card { margin-top: 0; }
.person-card:hover { border-color: var(--border-strong); box-shadow: var(--shadow-md); }
.person-card:focus-within { border-color: var(--accent); }
.person-card.is-selected { border-color: var(--accent); background: var(--accent-soft); }
.person-card-top { display: flex; gap: var(--s3); align-items: center; min-width: 0; }
.person-card.merging .person-card-top { padding-right: var(--control-h-sm); }
.person-card-name { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-semibold); line-height: var(--lh-tight);
  overflow-wrap: anywhere; }
/* вся карточка — ссылка на человека (растянутая ссылка), чекбокс объединения — поверх */
.person-card-link { color: inherit; text-decoration: none; }
.person-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.person-card-link:hover { text-decoration: underline; }
.person-card-link:focus-visible { outline: none; }
.person-card-link:focus-visible::after { outline: var(--focus-w) solid var(--ring); outline-offset: var(--focus-offset); }
.person-card-pos { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.person-card-meta { display: flex; flex-direction: column; gap: var(--s2); margin-top: auto; }
.person-pick { position: absolute; top: var(--s2); right: var(--s2); z-index: 1; display: inline-grid; place-items: center;
  width: var(--control-h-sm); height: var(--control-h-sm); cursor: pointer; }
.person-pick input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--accent); cursor: pointer; }

.merge-bar { position: sticky; top: calc(var(--topbar-h) + var(--s2)); z-index: var(--z-panel);
  display: flex; align-items: center; justify-content: space-between; gap: var(--s3); flex-wrap: wrap;
  margin-bottom: var(--s3); padding: var(--s2) var(--s3); border: var(--border-w) solid var(--accent);
  border-radius: var(--r); background: var(--surface-raised); box-shadow: var(--shadow-md); }
.merge-bar[hidden] { display: none; }
.merge-option { align-items: flex-start; gap: var(--s2); padding: var(--s2); border: var(--border-w) solid var(--border);
  border-radius: var(--r); color: var(--fg); }
.merge-option:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.merge-option > span:not(.avatar) { display: flex; flex-direction: column; }

/* ---------- карточка человека ---------- */
.person-head { display: flex; gap: var(--s3); align-items: flex-start; }
.person-head > .avatar { margin-top: var(--s1); }
.person-head > .page-head { flex: 1 1 auto; min-width: 0; }
.person-grid { margin-top: var(--s4); margin-bottom: var(--s4); }
.org-title { display: flex; align-items: center; gap: var(--s2); margin: 0 0 var(--s3); font-size: var(--fs-lg); }
.card-head .org-title { margin: 0; }
.org-title .icon { color: var(--fg-muted); }
.chip.acct .acct-ok { display: inline-flex; color: var(--success); }
.chip.acct .chip-x { margin-left: var(--s1); }
.ident-contacts { margin-top: var(--s3); }
.ident-contacts:empty { display: none; }
.person-notes { white-space: normal; overflow-wrap: anywhere; }
.task-mini li { align-items: flex-start; }
.task-mini .row-title { overflow-wrap: anywhere; }
.row-actions { flex: none; }
.sugg-mini { align-items: flex-start; }
@media (max-width: 640px) {
  .person-head { flex-direction: column; }
  .list li { flex-wrap: wrap; }
  .merge-bar { top: calc(var(--topbar-h) + var(--s1)); }
}

/* ---------- «Слияние людей»: подсказки ---------- */
.sugg-card .card-head { margin-bottom: var(--s2); }
.sugg-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--s2);
  margin: 0; padding: 0; border: 0; }
.sugg-side { position: relative; display: flex; align-items: center; gap: var(--s2); min-width: 0; padding: var(--s2) var(--s3);
  border: var(--border-w) solid var(--border); border-radius: var(--r); cursor: pointer; }
.sugg-side input { flex: none; width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--accent); }
.sugg-side:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.sugg-side:has(input:focus-visible) { outline: var(--focus-w) solid var(--ring); outline-offset: var(--focus-offset); }
.sugg-person { display: flex; align-items: center; gap: var(--s2); min-width: 0; flex: 1 1 auto; }
.sugg-person > span:not(.avatar) { display: flex; flex-direction: column; min-width: 0; }
.sugg-person .row-title { overflow-wrap: anywhere; position: relative; z-index: 1; }
.sugg-keep { flex: none; font-size: var(--fs-xs); color: var(--accent); font-weight: var(--fw-semibold); visibility: hidden; }
.sugg-side:has(input:checked) .sugg-keep { visibility: visible; }
.sugg-actions { margin-top: var(--s3); }
td .row-actions { flex-wrap: nowrap; }
@media (max-width: 640px) { td .row-actions { flex-wrap: wrap; } }
