/* Пикер людей с чекбоксами - общий для трёх мест.
 *
 * Разметку печатает ibd_render_friend_picker() (includes/invite-ui.php), а
 * пользуются им «Позвать друзей» на встрече, «Пригласить друга» в клубе и
 * «Выпустить карты» в кабинете лидера.
 *
 * ПОЧЕМУ ОТДЕЛЬНЫЙ ФАЙЛ. Раньше эти правила лежали в module2-base.css и были
 * ПРОДУБЛИРОВАНЫ в module3-leader.css, потому что кабинет на /dashboard/ до
 * module2-base.css не доходит: тот регистрируется ниже раннего return в
 * assets.php. Две копии одних правил - гарантированный класс багов «правку внесли
 * в одну, забыли во второй». Этот файл регистрируется ВЫШЕ раннего return и
 * подключается зависимостью в обеих ветках, так что копия ровно одна.
 */

/* ── Тулбар над списком ─────────────────────────────────────────────────── */
/* Именно НАД списком, а не внутри: внутри он уезжал бы вместе со скроллом. */
.ev-invite-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.ev-invite-search {
    flex: 1 1 190px; min-width: 0; box-sizing: border-box;
    border: 1.5px solid #e5e7eb; border-radius: 11px; padding: 9px 13px;
    font-size: 14px; font-family: inherit; outline: none; background: #fff;
}
.ev-invite-search:focus { border-color: #d8b48c; }
.ev-invite-selectall {
    flex: none; border: 1.5px solid #e5e7eb; background: #fff; color: #4b5563;
    font-family: inherit; font-weight: 700; font-size: 13px;
    padding: 9px 14px; border-radius: 11px; cursor: pointer;
    transition: background .14s ease, border-color .14s ease;
}
.ev-invite-selectall:hover { background: #fff7ec; border-color: #fbd6a5; color: #b45309; }
.ev-invite-count { flex: none; font-size: 13px; font-weight: 800; color: #6b7280; }
.ev-invite-count.is-over { color: #b32d2e; }

/* ── Список ─────────────────────────────────────────────────────────────── */
.ev-invite-list { overflow-y: auto; display: flex; flex-direction: column; gap: 2px; margin: 0 -6px; padding: 0 6px; scrollbar-width: thin; }
.ev-invite-row { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 11px; cursor: pointer; transition: background .14s ease; }
.ev-invite-row:hover { background: #f5f6fb; }
.ev-invite-row.is-going { opacity: .6; cursor: default; }
/* Строку с картой НЕ блокируем: замена утерянного пластика - штатный сценарий,
   а disabled на чекбоксе сделал бы её невозможной через этот экран. */
.ev-invite-row.is-hascard { opacity: .72; }
.ev-invite-row.is-hascard:hover { opacity: 1; }
.ev-invite-row[hidden] { display: none; }
.ev-invite-row input {
    -webkit-appearance: none; appearance: none; margin: 0; flex: none; cursor: pointer;
    width: 18px; height: 18px; border: 1.5px solid #e5e7eb; border-radius: 5px;
    background: #fff; position: relative; transition: background .15s ease, border-color .15s ease;
}
.ev-invite-row input:hover { border-color: #d8b48c; }
.ev-invite-row input:checked { background: #f5820a; border-color: #f5820a; }
.ev-invite-row input:checked::after {
    content: ""; position: absolute; left: 30%; top: 10%; width: 25%; height: 50%;
    border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.ev-invite-row.is-going input { cursor: default; }
.ev-invite-av { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: none; }
.ev-invite-name { font-size: 14px; font-weight: 700; color: #1e2a32; display: inline-flex; align-items: center; gap: 5px; flex: 1; min-width: 0; }

/* ── Метки состояния ────────────────────────────────────────────────────── */
.ev-invite-going { font-size: 11px; font-weight: 800; color: #059669; background: #ecfdf3; padding: 3px 8px; border-radius: 999px; flex: none; }
/* Те, кто ждёт карту, идут первыми и помечены - это ровно те, ради кого тираж и печатается. */
.ev-invite-row.is-waiting { background: #fff8f0; }
.ev-invite-waiting { font-size: 11px; font-weight: 800; color: #b45309; background: #fde9cf; padding: 3px 8px; border-radius: 999px; flex: none; }
/* Цвета чипа приходят инлайном из ibd_card_state_chips() - один источник для PHP и JS. */
.ev-invite-chip {
    display: inline-flex; align-items: center; gap: 5px; flex: none;
    font-size: 11px; font-weight: 800; padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}
.ev-invite-dot { width: 6px; height: 6px; border-radius: 50%; flex: none; }
.ev-invite-noresult { padding: 16px 10px; text-align: center; color: #9ca3af; font-size: 13.5px; }
.ev-invite-noresult[hidden] { display: none; }

@media (max-width: 480px) {
    .ev-invite-tools { gap: 8px; }
    .ev-invite-selectall { flex: 1 1 auto; }
    .ev-invite-chip { font-size: 10.5px; padding: 2px 7px; }
}
