/* Модальное окно поиска карточек (выбор родителя): панель поиска в стиле поиска по странице
   (Cc / слово целиком / регулярное выражение), фильтры, таблица результатов с сортировкой. */
.modal.is-search { width: 920px; max-width: calc(100vw - 32px); }

.cs-toolbar { display: flex; flex-direction: column; gap: var(--sp-2); }

.cs-search-box {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    padding: 0 var(--sp-2);
    border-radius: var(--r-sm);
    background: var(--fill);
}
.cs-search-box svg { width: 16px; height: 16px; color: var(--text-2); flex: none; }
.cs-search-box input {
    flex: 1;
    min-width: 0;
    min-height: 40px;
    padding: 8px 4px;
    border: 0;
    background: none;
    color: var(--text);
    font-size: 16px;
    outline: none;
}
@media (pointer: fine) { .cs-search-box input { font-size: var(--fs-base); } }

.cs-opts { display: flex; gap: 2px; flex: none; }
.cs-opt {
    display: grid;
    place-items: center;
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    border: 0;
    border-radius: var(--r-xs);
    background: none;
    color: var(--text-2);
    font-size: var(--fs-sm);
    font-weight: 600;
}
.cs-opt[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); }
@media (pointer: coarse) { .cs-opt { min-width: 32px; height: 32px; } }

.cs-filters { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); }
.cs-filters select {
    min-height: 32px;
    padding: 4px 28px 4px 10px;
    border: 0;
    border-radius: var(--r-sm);
    background: var(--fill);
    color: var(--text);
    font-size: var(--fs-md);
}
.cs-filters label { display: flex; align-items: center; gap: 6px; font-size: var(--fs-md); color: var(--text-2); }

.cs-table-wrap {
    max-height: 50vh;
    overflow: auto;
    border-radius: var(--r-md);
    box-shadow: inset 0 0 0 0.5px var(--separator);
}
.cs-table { width: 100%; border-collapse: collapse; font-size: var(--fs-md); }
.cs-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 8px 10px;
    background: var(--bg);
    text-align: left;
    font-weight: 600;
    color: var(--text-2);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}
.cs-table thead th:hover { color: var(--text); }
.cs-table th.is-sorted { color: var(--text); }
.cs-sort-arrow { margin-left: 4px; font-size: 9px; }
.cs-table tbody tr { cursor: pointer; border-top: 0.5px solid var(--separator); }
.cs-table tbody tr:hover, .cs-table tbody tr:focus-visible { background: var(--fill); outline: none; }
.cs-table td {
    padding: 7px 10px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text);
}
.cs-table td.cs-col-id { color: var(--text-2); font-variant-numeric: tabular-nums; }
.cs-empty { padding: var(--sp-4); text-align: center; color: var(--text-2); cursor: default; }

.cs-hint { margin: 0; font-size: var(--fs-sm); color: var(--text-2); }

/* Иконка «Выбрать карточку» внутри чипа родителя (вместо аватарки исполнителя) */
.chip-icon { display: grid; place-items: center; flex: none; width: 16px; height: 16px; color: var(--text-2); }
.chip-icon svg { width: 16px; height: 16px; }

@media (max-width: 600px) {
    .cs-table-wrap { max-height: 45vh; }
    .cs-filters select { flex: 1; }
}
