/**
 * Экран проверки: поиск по номерам и залив файлом.
 *
 * Восьмой экран получил разметку в Фазе 7.6, а стилей к ней не получил
 * вовсе — ни одного селектора `search__*` в проекте не было. Браузер
 * рисовал его голыми блоками: панель и таблица друг под другом, узкой
 * колонкой, системное поле выбора файла. Заказчик на осмотре назвал это
 * «вообще не похож на макет, кривой», и был прав буквально.
 *
 * Размеры, цвета и шрифты взяты из макета (`CRM Транзакции v2.dc.html`),
 * где этот экран — тот же табличный, что и база: колонка 272px слева,
 * работа справа. Раскладка поэтому живёт в `table.css` общим селектором
 * с `.tx`, а здесь только своё: таблица результатов, блоки ответа
 * сервера и выбор файла.
 */

/* --- Выбор файла -------------------------------------------------------- */

/* Системное поле браузер рисует сам и своим шрифтом («Выберите файл ·
   Файл не выбран»). Прячем его и открываем по своей кнопке. */
.filters__pick {
  width: 100%;
  height: 30px;
  border: 1px solid #dfe4e9;
  border-radius: 7px;
  background: #fff;
  color: #141a21;
  font: 500 11.5px 'IBM Plex Sans';
  cursor: pointer;
}

.filters__pick:hover {
  border-color: #b9c1cb;
}

.filters__file-name {
  margin-top: 6px;
  font: 400 10px 'IBM Plex Mono', monospace;
  color: #8b939d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Кнопка поиска — во всю ширину блока, как в макете. В базе она лежит во
   flex-колонке и растягивается сама; здесь родитель обычный. */
.filters__block > .filters__apply {
  width: 100%;
  margin-top: 9px;
}

/* --- Таблица результатов ------------------------------------------------ */

/* Таблица та же, что у базы: те же классы, та же сетка, тот же `cellText`
   и та же карта классов ячеек (`format/cells.js`). Своей сетки здесь
   больше нет — столбец «Источник» убран решением заказчика (осмотр
   2026-09-08), и вместе с ним ушло единственное расхождение. */

.grid__cell--status {
  font: 400 10.5px/33px 'IBM Plex Sans';
  color: #141a21;
}

.grid__cell--uid {
  font: 500 9.5px/33px 'IBM Plex Mono', monospace;
  color: #1f4fd8;
}

/* Отвергнутую провайдером видно строкой целиком. */
.grid__row--bad > .grid__cell {
  background: #fdf6f5;
}

/* Причина отказа — под строкой во всю ширину: у неё свой текст, и в
   столбец он не помещается, а обрезать причину значит её скрыть. */
.grid__problem {
  grid-column: 1 / -1;
  padding: 0 8px 5px 52px;
  border-bottom: 1px solid #f2f4f6;
  background: #fdf6f5;
  font: 400 10.5px 'IBM Plex Sans';
  color: #a4302a;
}

/* --- Блок ответа сервера ------------------------------------------------ */

.search__block {
  flex: none;
  margin: 10px 16px 0;
  padding: 10px 12px;
  background: #f7f9fb;
  border: 1px solid #e3e7ec;
  border-radius: 7px;
}

.search__block-head {
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.search__block-title {
  font: 600 11.5px 'IBM Plex Sans';
  color: #141a21;
}

.search__block-close {
  margin-left: auto;
  border: 0;
  background: none;
  cursor: pointer;
  font: 400 10.5px 'IBM Plex Sans';
  color: #1f4fd8;
  padding: 0;
}

.search__block-part {
  margin-top: 7px;
}

.search__block-part-title {
  font: 500 10.5px 'IBM Plex Sans';
  color: #5c6673;
  margin-bottom: 3px;
}

.search__block-part-items {
  font: 400 10px 'IBM Plex Mono', monospace;
  color: #141a21;
  word-break: break-all;
}

.search__retry {
  margin-top: 9px;
  height: 29px;
  padding: 0 12px;
  border: 1px solid #dfe4e9;
  border-radius: 7px;
  background: #fff;
  color: #141a21;
  font: 500 11.5px 'IBM Plex Sans';
  cursor: pointer;
}

.search__retry:disabled {
  color: #a2a9b3;
  cursor: default;
}

/* --- Негодные строки файла ---------------------------------------------- */

.search__problems {
  flex: none;
  margin: 10px 16px 0;
  padding: 10px 12px;
  background: #fdf6f5;
  border: 1px solid #f0dcda;
  border-radius: 7px;
}

.search__problems-title {
  font: 600 11.5px 'IBM Plex Sans';
  color: #a4302a;
  margin-bottom: 5px;
}

.search__problems-item {
  display: flex;
  gap: 8px;
  font: 400 10.5px 'IBM Plex Sans';
  color: #141a21;
  padding: 2px 0;
}

.search__problems-where {
  flex: none;
  font: 500 10px 'IBM Plex Mono', monospace;
  color: #8b939d;
}

.search__problems-what {
  min-width: 0;
}

.search__problems-cap {
  margin-top: 5px;
  font: 400 10px 'IBM Plex Sans';
  color: #8b939d;
}
