/* _content/Chernika.Web/Components/CoefficientTypeManagementModal.razor.rz.scp.css */
.coefficientTypeModal[b-ncpcoaeexo] {
    width: min(1440px, calc(100vw - 32px));
    max-width: none;
    height: min(860px, calc(100dvh - 32px));
    max-height: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.coefficientTypeBody[b-ncpcoaeexo] {
    min-height: 0;
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow: hidden;
    padding: 16px 20px 20px;
}

.coefficientTypeToolbar[b-ncpcoaeexo],
.coefficientTypeCreateRow[b-ncpcoaeexo] {
    flex: 0 0 auto;
}

.coefficientTypeToolbar[b-ncpcoaeexo] {
    grid-template-columns: minmax(200px, 1fr) 220px;
}

.coefficientTypeCreateRow[b-ncpcoaeexo] {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.coefficientTypeCreateRow .btn[b-ncpcoaeexo] {
    flex: 0 0 auto;
}

.coefficientTypeTableScroll[b-ncpcoaeexo] {
    min-width: 0;
    min-height: 0;
    flex: 1 1 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--line);
    border-radius: var(--radius2);
    background: var(--panel);
}

.coefficientTypeTable[b-ncpcoaeexo] {
    width: 100%;
    min-width: 720px;
    margin: 0;
    border: 0;
    border-radius: 0;
}

.coefficientTypeTable thead th[b-ncpcoaeexo] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--panel2);
    box-shadow: 0 1px 0 var(--line);
}

/* Раньше здесь стояло `vertical-align: top` на tbody tr. На строке таблицы это
   свойство не действует: vertical-align применяется к ячейкам и строчным
   элементам, а не к боксу <tr>. Правило было пустым и при этом читалось как
   «выравнивать по верху», то есть противоречило контракту таблиц. Удалено:
   выравнивание задаётся на ячейках, общее правило — vertical-align: middle. */

.coefficientTypeTable tbody td[b-ncpcoaeexo] {
    /* Своя плотность: здесь строки выше из-за полей ввода. Выравнивание и
       перенос наследуются общие, чтобы модальное окно не расходилось с
       остальными таблицами. */
    padding: 12px 10px;
    border-bottom: 1px solid var(--line);
}

.coefficientTypeTable tbody tr:hover[b-ncpcoaeexo] {
    background: color-mix(in srgb, var(--accent) 6%, transparent);
}

.coefficientTypeTableScroll:focus-visible[b-ncpcoaeexo] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}

@media (max-width: 1120px) {
    .coefficientTypeModal[b-ncpcoaeexo] {
        width: calc(100vw - 24px);
        height: calc(100dvh - 24px);
    }
}

@media (max-width: 560px) {
    .coefficientTypeModal[b-ncpcoaeexo] {
        width: 100vw;
        height: 100dvh;
        border-radius: 0;
    }

    .coefficientTypeBody[b-ncpcoaeexo] {
        padding: 12px 14px 14px;
        gap: 10px;
    }

    .coefficientTypeToolbar[b-ncpcoaeexo] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .coefficientTypeCreateRow[b-ncpcoaeexo] {
        flex-direction: column;
        align-items: stretch;
    }

    .coefficientTypeTable[b-ncpcoaeexo] {
        min-width: 620px;
    }
}
/* _content/Chernika.Web/Components/GsmRelationsRegistry.razor.rz.scp.css */
/* Второй справочник направленных связей марок ГСМ.
   Оформление — по UI kit v2 (редакция 3): панели и контролы соседнего первого
   справочника, общий .tableWrap, токены темы. Отдельный набор размеров для этого
   справочника не заводится: контролы наследуют .field input/select из site.css,
   здесь только раскладка и выравнивание. */

/* ── Шапка списка ───────────────────────────────────────────────────────── */

.relHeaderRight[b-kvc2fad2mo] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── Фильтры ──────────────────────────────────────────────────────────────
   Поля берут размеры из .field input/select (site.css), поэтому три фильтра
   одинаковы по высоте и радиусу автоматически. auto-fit вместо жёстких долей:
   минимальная ширина соответствует самому длинному пункту, поэтому значения
   не обрезаются, а при нехватке места фильтр переносится целиком. */

.relFilters[b-kvc2fad2mo] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.relFilters .field[b-kvc2fad2mo] {
  margin: 0;
  min-width: 0;
}

.relFilterButtons[b-kvc2fad2mo] {
  display: flex;
  gap: 8px;
  align-items: end;
}

.relFilterButtons .btn[b-kvc2fad2mo] { white-space: nowrap; }

@media (max-width: 560px) {
  .relFilterButtons[b-kvc2fad2mo] { flex-wrap: wrap; }
}

/* ── Таблица ──────────────────────────────────────────────────────────────
   Горизонтальная прокрутка живёт в .tableWrap, страница не скроллится вбок.
   Ширины колонок заданы и для th, и для td: table-layout:fixed распределяет
   колонки по первому ряду, поэтому любая из ячеек может переносить текст, не
   меняя ширину. */

.relTable[b-kvc2fad2mo] {
  width: 100%;
  min-width: 1120px;
  table-layout: fixed;
}

/* Минимальная высота строки — общая для всех таблиц (см. site.css).
   Фиксированной высоты нет: при переносе длинного текста строка растёт. */
.relTable tbody tr[b-kvc2fad2mo] {
  height: 44px;
}

.relTable th[b-kvc2fad2mo],
.relTable td[b-kvc2fad2mo] {
  vertical-align: middle;   /* все ячейки по середине высоты строки */
  font-size: 12.5px;
  padding: 9px 10px;
  border-bottom: 1px solid var(--line);
}

/* Заголовки и значения в каждом столбце выровнены одинаково и по центру:
   текст не выглядит прижатым влево в широкой ячейке. */
.relTable th[b-kvc2fad2mo],
.relTable td[b-kvc2fad2mo] {
  text-align: center;
}

.relTable thead th[b-kvc2fad2mo] {
  font-weight: 650;
  color: var(--muted);
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
}

.relTable tbody tr:last-child td[b-kvc2fad2mo] {
  border-bottom: none;
}

/* Вертикальные разделители между колонками — по образцу таблиц ИК: тонкие,
   на CSS-токене, и без двойной границы у последней колонки. */
.relTable thead th[b-kvc2fad2mo],
.relTable tbody td[b-kvc2fad2mo] { border-right: 1px solid var(--line); }
.relTable thead th:last-child[b-kvc2fad2mo],
.relTable tbody td:last-child[b-kvc2fad2mo] { border-right: 0; }

/* Сетка ширин по ожидаемому содержимому. «Действия» были уже кнопки, поэтому
   «Удалить» упиралась в правую границу ячейки. */
.relColPrimary[b-kvc2fad2mo]  { width: 20%; }  /* основная марка */
.relColRelated[b-kvc2fad2mo]  { width: 20%; }  /* связанная марка */
.relColType[b-kvc2fad2mo]     { width: 14%; }  /* тип связи */
.relColNote[b-kvc2fad2mo]     { width: 16%; }  /* примечание */
.relColStatus[b-kvc2fad2mo]   { width: 12%; }  /* статус */
.relColActions[b-kvc2fad2mo]  { width: 18%; }  /* действия — обеим кнопкам хватает места */

.relTable td.relColNote[b-kvc2fad2mo] {
  overflow-wrap: anywhere;
}

.relTable td.relColType .tag[b-kvc2fad2mo],
.relTable td.relColStatus .tag[b-kvc2fad2mo] {
  display: inline-block;
}

/* Стрелка направления остаётся между основной и связанной маркой и не
   слипается с названием связанной. */
.relArrow[b-kvc2fad2mo] {
  color: var(--muted);
  margin-right: 6px;
}

/* Удалённая связь или связь с удалённой маркой — приглушена, но читаема. */
.relRowMuted td[b-kvc2fad2mo] {
  color: var(--muted);
}

.relMuted[b-kvc2fad2mo] {
  color: var(--muted);
}

/* ── Действия ──────────────────────────────────────────────────────────────
   Один компактный контейнер на строку, обе кнопки гарантированно внутри своей
   ячейки: при длинных названиях марок и на узком экране они не выходят за
   границу и не наезжают друг на друга. */

.relActionRow[b-kvc2fad2mo] {
  display: inline-flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  max-width: 100%;
}

.relDanger[b-kvc2fad2mo] {
  color: var(--bad);
}

/* ── Пагинация ──────────────────────────────────────────────────────────── */

.relPager[b-kvc2fad2mo] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  font-size: 13px;
  color: var(--muted);
}

/* ── Форма ────────────────────────────────────────────────────────────────
   Одна строка на широком экране. Ширины заданы по содержимому: маркам нужно
   место для различения названий и НД, типу связи — меньше, примечанию —
   умеренное. Четыре одинаково растянутых поля были нечитаемы. */

.relForm[b-kvc2fad2mo] {
  display: grid;
  grid-template-columns: minmax(240px, 1.4fr) minmax(240px, 1.4fr) minmax(180px, .9fr) minmax(200px, 1fr);
  gap: 12px;
  align-items: start;
}

.relForm > .field[b-kvc2fad2mo] { min-width: 0; }

/* Две колонки, затем одна: контролы не накладываются и не обрезаются. */
@media (max-width: 1120px) {
  .relForm[b-kvc2fad2mo] { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .relForm[b-kvc2fad2mo] { grid-template-columns: 1fr; }
}

.relFNote[b-kvc2fad2mo] {
  display: flex;
  flex-direction: column;
}

/* Примечание по умолчанию — высота одного поля, но растягивается вручную. */
.relNoteInput[b-kvc2fad2mo] {
  min-height: 41px;
  height: 41px;
  resize: vertical;
  overflow: auto;
}

.relFormActions[b-kvc2fad2mo] {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 2px;
}

.relField[b-kvc2fad2mo] {
  /* поле-якорь выбора: позиционируется для списка вариантов */
  position: relative;
}

.relReq[b-kvc2fad2mo] {
  color: var(--bad);
}

.relFormError[b-kvc2fad2mo] {
  grid-column: 1 / -1;
  color: var(--bad);
  font-size: 13px;
}

.relFieldError[b-kvc2fad2mo] {
  margin-top: 6px;
  font-size: 12px;
  color: var(--bad);
  line-height: 1.35;
}

.relError[b-kvc2fad2mo] {
  color: var(--bad);
  font-size: 13px;
  margin-bottom: 10px;
}

/* ── Выбор марки ──────────────────────────────────────────────────────────
   Список вариантов позиционируется порталом dropdownPortal (js/dropdown-portal.js) —
   тем же самым механизмом, что у выбора сборочной единицы в HKEdit. До переноса
   он скрыт (см. .relPickerDrop), потому что перенос асинхронный и позирующее
   в потоке поле успело бы дёрнуть форму. */

.relPickerAnchor[b-kvc2fad2mo] {
  position: relative;
}

.relPickerTrigger[b-kvc2fad2mo] {
  width: 100%;
  justify-content: center;
  border-radius: var(--radius2, 10px);
}

.relPickerSearch[b-kvc2fad2mo] {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--panel2);
  color: var(--text);
  border-radius: var(--radius2, 10px);
  padding: 10px;
  font-size: 13px;
  font-family: var(--font);
  outline: none;
}

.relPickerSearch:focus[b-kvc2fad2mo] {
  border-color: rgba(79, 140, 255, .4);
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}

/* Оформление переносимого списка вариантов. Геометрию (position/top/left/width/
   max-height/z-index) портал задаёт инлайново с !important, поэтому здесь
   остаются только оформление, раскладка и внутренняя прокрутка. */
.relPickerDrop[b-kvc2fad2mo] {
  /* До переноса в портал список не показывается: перенос выполняется
     асинхронно, и в промежутке список иначе встал бы в поток внутри поля и
     дёрнул форму. Портал показывает его инлайновым display. */
  display: none;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius2, 10px);
  box-shadow: var(--shadow);
  max-height: min(240px, 38vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 4px 0;
}

/* Строка поиска лежит внутри списка: без боковых отступов она липла бы к
   рамке, а без sticky уходила бы вверх вместе с вариантами. */
.relPickerDrop .relPickerSearch[b-kvc2fad2mo] {
  position: sticky;
  top: 0;
  z-index: 1;
  display: block;
  width: calc(100% - 16px);
  margin: 4px 8px 6px;
}

.relPickerItem[b-kvc2fad2mo] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 7px 12px;
  font-size: 13px;
  color: var(--text);
  cursor: pointer;
  overflow-wrap: anywhere;
}

.relPickerItem:hover[b-kvc2fad2mo],
.relPickerItemActive[b-kvc2fad2mo] {
  background: color-mix(in srgb, var(--accent) 12%, var(--panel));
}

/* Активный вариант должен быть виден без наведения: список открывается по
   кнопке, а не по наведению, поэтому подсветку нельзя оставлять только на hover. */
.relPickerItemActive[b-kvc2fad2mo] {
  box-shadow: inset 3px 0 0 var(--accent);
}

.relPickerEmpty[b-kvc2fad2mo] {
  padding: 8px 12px;
  color: var(--muted);
  font-size: 12px;
  font-style: italic;
}

/* Выбранная марка: тег служит триггером селектора, рядом — очистка. */
.relChipRow[b-kvc2fad2mo] {
  display: flex;
  align-items: stretch;
  gap: 0;
}

.relChip[b-kvc2fad2mo] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius2, 10px);
  background: var(--panel2);
  font-size: 13px;
  font-family: var(--font);
  color: var(--text);
}

.relChipTrigger[b-kvc2fad2mo] {
  cursor: pointer;
  text-align: left;
}

.relChipTrigger:hover[b-kvc2fad2mo] { border-color: var(--accent); }

.relChipTrigger:focus-visible[b-kvc2fad2mo] {
  outline: none;
  border-color: rgba(79, 140, 255, .4);
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}

.relChipRow .relChip[b-kvc2fad2mo] {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.relChipRow .relChipX[b-kvc2fad2mo] {
  border: 1px solid var(--line);
  border-left: none;
  border-radius: 0 var(--radius2, 10px) var(--radius2, 10px) 0;
  background: var(--panel2);
  padding: 0 10px;
  font-size: 15px;
}

.relChip > span[b-kvc2fad2mo] {
  overflow-wrap: anywhere;
  min-width: 0;
}

.relChipX[b-kvc2fad2mo] {
  margin-left: auto;
  border: none;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  padding: 0 4px;
  border-radius: 6px;
}

.relChipX:hover[b-kvc2fad2mo] {
  color: var(--bad);
}

.relChipX:focus-visible[b-kvc2fad2mo] {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* ── Confirm-dialog удаления связи ───────────────────────────────────────
   Базовые .modal/.modalHeader/.modalBody/.modalFooter/.modalCloseButton берутся
   из site.css. Ограничение ширины и типографика из UI kit (ред. 3) в site.css
   отсутствуют, поэтому определены здесь: без них диалог подтверждения
   превратился бы в полноразмерную форму. */

.confirmDialog[b-kvc2fad2mo] {
  max-width: 420px;
}

.confirmDialog .modalBody[b-kvc2fad2mo] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.confirmMessage[b-kvc2fad2mo] {
  font-size: 13px;
  color: var(--text);
}

.confirmDetails[b-kvc2fad2mo] {
  font-size: 12px;
  color: var(--muted);
}

/* ── Фокус ────────────────────────────────────────────────────────────────
   Акцентная рамка и ring на клавиатурной навигации — как в site.css для полей. */

.tableWrap:focus-visible[b-kvc2fad2mo],
.relPickerTrigger:focus-visible[b-kvc2fad2mo],
.relChipX:focus-visible[b-kvc2fad2mo],
.relActionRow .linkBtn:focus-visible[b-kvc2fad2mo],
.relFilterButtons .btn:focus-visible[b-kvc2fad2mo],
.relPager .btn:focus-visible[b-kvc2fad2mo] {
  outline: none;
  border-color: rgba(79, 140, 255, .4);
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}
/* _content/Chernika.Web/Components/HKCompositionBlock.razor.rz.scp.css */
/* Read-only просмотр принятой редакции ХК (блок состава). */

.hkCompositionHead[b-5ja2da81er] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.hkCompositionIncomplete[b-5ja2da81er] {
    margin-bottom: 10px;
}

/* Дерево и панель деталей: ширина естественная, сетка не растягивается. */
.hkCompositionLayout[b-5ja2da81er] {
    display: flex;
    /* Правая панель идёт сразу после структурной формы и не ужимается:
       вся информация должна влезать в обычный экран. Flex держит панель
       рядом с формой при любой ширине окна. */
    gap: 12px;
    align-items: flex-start;
    justify-content: flex-start;
}

.hkCompositionTreeColumn[b-5ja2da81er] {
    /* Форма со структурой занимает всю оставшуюся ширину окна и расширяется
       вместе с ним; ширина по содержимому оставляла пустое поле. */
    flex: 1 1 0%;
    min-width: 0;
}

.hkCompositionLayout > .hkCompositionDetails[b-5ja2da81er] {
    flex: 0 0 500px;
    width: 500px;
}

.hkCompositionTreeColumn[b-5ja2da81er] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

/* Строка поиска и таблица занимают всю ширину формы. */
.hkCompositionTreeColumn > .hkCompositionToolbar[b-5ja2da81er],
.hkCompositionTreeColumn > .hkCompositionTree[b-5ja2da81er],
.hkCompositionTreeColumn > .hkCompositionSections[b-5ja2da81er] {
    width: 100%;
}

.hkCompositionTreeColumn > .hkCompositionToolbar[b-5ja2da81er],
.hkCompositionTreeColumn > .hkCompositionTree[b-5ja2da81er],
.hkCompositionTreeColumn > .hkCompositionSections[b-5ja2da81er] {
    width: 100%;
}

/* Поиск, кнопки и счётчик совпадений — одна строка шириной с таблицей.
   Подпись поиска стоит в строке, а не над полем: иначе верх правой панели
   не совпадал бы с началом поиска. */
.hkCompositionToolbar[b-5ja2da81er] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    margin-bottom: 8px;
}

.hkCompositionSearchLabel[b-5ja2da81er] {
    flex: 0 0 auto;
    font-size: 12px;
    color: var(--muted);
    white-space: nowrap;
}

.hkCompositionSearchInput[b-5ja2da81er] {
    /* Поиск с кнопками занимает всю ширину структурной формы. */
    flex: 1 1 auto;
    min-width: 0;
    height: 32px;
}

.hkCompositionSearchNote[b-5ja2da81er] {
    margin-bottom: 6px;
}

.hkCompositionToolbarButtons[b-5ja2da81er] {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.hkCompositionToolbarButtons .btn[b-5ja2da81er] {
    height: 32px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.hkCompositionTree[b-5ja2da81er] {
    overflow-x: auto;
}

.hkCompositionTable[b-5ja2da81er] {
    /* Форма со структурой расширяется вместе с окном и остаётся вплотную
       к правой панели. Фиксированная раскладка: иначе таблица держала
       ширину по содержимому и выпирала за пределы колонки. */
    table-layout: fixed;
    width: 100%;
}

.hkCompositionTable th[b-5ja2da81er],
.hkCompositionTable td[b-5ja2da81er] {
    padding: 6px 8px;
    font-size: 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
}

/* Вертикальное разделение колонок: границы между ними ровные. */
.hkCompositionTable th + th[b-5ja2da81er],
.hkCompositionTable td + td[b-5ja2da81er] {
    border-left: 1px solid var(--line);
}

.hkCompositionTable thead th[b-5ja2da81er] {
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: bottom;
}

/* Ширины колонок — в долях: при расширении окна масштабируются все
   колонки, а не одна «Наименование». */
.hkCompositionTable th:nth-child(1)[b-5ja2da81er],
.hkCompositionTable td:nth-child(1)[b-5ja2da81er] {
    width: 7%;
}

.hkCompositionTable th:nth-child(2)[b-5ja2da81er],
.hkCompositionTable td:nth-child(2)[b-5ja2da81er] {
    width: 34%;
    max-width: none;
}

.hkCompositionTable th:nth-child(3)[b-5ja2da81er],
.hkCompositionTable td:nth-child(3)[b-5ja2da81er] {
    width: 10%;
}

/* «Экз. в ХК» — шире остальных числовых колонок. */
.hkCompositionTable th:nth-child(4)[b-5ja2da81er],
.hkCompositionTable td:nth-child(4)[b-5ja2da81er] {
    width: 13%;
}

.hkCompositionTable th:nth-child(5)[b-5ja2da81er],
.hkCompositionTable td:nth-child(5)[b-5ja2da81er] {
    width: 18%;
}

.hkCompositionTable th:nth-child(6)[b-5ja2da81er],
.hkCompositionTable td:nth-child(6)[b-5ja2da81er] {
    width: 18%;
}

/* Числовые колонки — по центру своих колонок. «Наименование» остаётся
   слева: правило ниже перебивает общее выравнивание таблицы. */
.hkCompositionTable th:nth-child(1)[b-5ja2da81er],
.hkCompositionTable td:nth-child(1)[b-5ja2da81er],
.hkCompositionTable th:nth-child(3)[b-5ja2da81er],
.hkCompositionTable td:nth-child(3)[b-5ja2da81er],
.hkCompositionTable th:nth-child(4)[b-5ja2da81er],
.hkCompositionTable td:nth-child(4)[b-5ja2da81er],
.hkCompositionTable th:nth-child(5)[b-5ja2da81er],
.hkCompositionTable td:nth-child(5)[b-5ja2da81er],
.hkCompositionTable th:nth-child(6)[b-5ja2da81er],
.hkCompositionTable td:nth-child(6)[b-5ja2da81er] {
    text-align: center;
}

.hkCompositionNum[b-5ja2da81er] {
    font-family: var(--mono);
    white-space: nowrap;
}

.hkCompositionQty[b-5ja2da81er] {
    font-family: var(--mono);
}

.hkCompositionMass[b-5ja2da81er],
.hkCompositionVolume[b-5ja2da81er] {
    font-family: var(--mono);
    white-space: nowrap;
    /* Значение не выходит за границы своей колонки. */
    overflow: hidden;
    text-overflow: ellipsis;
}

.hkCompositionIndent[b-5ja2da81er] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-left: var(--indent, 0px);
    min-width: 0;
}

.hkCompositionName[b-5ja2da81er] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Кнопка раскрытия: компактная, не наезжает на текст. */
.hkCompositionToggle[b-5ja2da81er] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    line-height: 1;
}

.hkCompositionToggleSpacer[b-5ja2da81er] {
    display: inline-block;
    width: 18px;
    min-width: 18px;
}

.hkCompositionToggle:hover[b-5ja2da81er] {
    color: var(--text);
    background: var(--panel2);
}

.hkCompositionToggle:focus-visible[b-5ja2da81er] {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

/* Раздел — визуальная группа, позиция — техника. */
.hkCompositionSectionRow td[b-5ja2da81er] {
    background: var(--panel2);
    font-weight: 700;
}

.hkCompositionSectionTitle[b-5ja2da81er] {
    letter-spacing: .2px;
}

.hkCompositionItemRow td[b-5ja2da81er] {
    color: var(--muted);
}

/* Выделение выбранной строки: заметно, но без агрессивной заливки. */
.hkCompositionSelected td[b-5ja2da81er] {
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    box-shadow: inset 2px 0 0 var(--accent);
}

/* Панель деталей. */
/* Пустая панель (позиция не выбрана) — по высоте строки поиска. */
.hkCompositionDetailsEmpty[b-5ja2da81er] {
    height: 32px;
    padding: 0 12px;
    display: flex;
    align-items: center;
}

.hkCompositionDetails[b-5ja2da81er] {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius2);
    padding: 12px;
    background: var(--panel);
}

.hkCompositionDetailsTitle[b-5ja2da81er] {
    font-weight: 700;
    margin-bottom: 8px;
}

.hkCompositionDetailsMeta[b-5ja2da81er] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    margin-bottom: 12px;
}

.hkCompositionDetailsMeta > div[b-5ja2da81er] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.hkCompositionDetailsMeta .hint[b-5ja2da81er] {
    flex: 0 0 auto;
}

.hkCompositionDetailsMeta span:last-child[b-5ja2da81er] {
    text-align: right;
    word-break: break-word;
}

.hkCompositionDetailsBlock[b-5ja2da81er] {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
}

.hkCompositionDetailsHeading[b-5ja2da81er] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
    margin-bottom: 6px;
}

.hkCompositionContributions th[b-5ja2da81er],
.hkCompositionContributions td[b-5ja2da81er],
.hkCompositionMaterials th[b-5ja2da81er],
.hkCompositionMaterials td[b-5ja2da81er] {
    padding: 4px 6px;
    font-size: 11px;
    /* Значения — по центру своих колонок, как в таблице итогов. */
    text-align: center;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

/* Вертикальные разделители между колонками таблиц правой панели. */
.hkCompositionContributions th + th[b-5ja2da81er],
.hkCompositionContributions td + td[b-5ja2da81er],
.hkCompositionMaterials th + th[b-5ja2da81er],
.hkCompositionMaterials td + td[b-5ja2da81er] {
    border-left: 1px solid var(--line);
}

.hkCompositionSections[b-5ja2da81er] {
    margin-top: 0;
}

/* Итоги принятой редакции: компактная таблица по содержимому. */
.hkCompositionTotalsTable[b-5ja2da81er] {
    width: auto;
}

.hkCompositionTotalsTable th[b-5ja2da81er],
.hkCompositionTotalsTable td[b-5ja2da81er] {
    padding: 6px 10px;
    font-size: 12px;
    border-bottom: 1px solid var(--line);
    /* Значения — по центру своих колонок. */
    text-align: center;
    vertical-align: middle;
    /* Значения переносятся: иначе таблица держала минимальную ширину по
       содержимому и вытесняла «Вклад разделов» на следующую строку. */
    white-space: normal;
}

.hkCompositionTotalsTable thead th[b-5ja2da81er] {
    white-space: nowrap;
}

.hkCompositionTotalsTable th + th[b-5ja2da81er],
.hkCompositionTotalsTable td + td[b-5ja2da81er] {
    border-left: 1px solid var(--line);
}

.hkCompositionTotalsTable thead th[b-5ja2da81er] {
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
    vertical-align: bottom;
}

/* Заголовок «Итоги принятой редакции» — по центру таблицы итогов. */
.hkCompositionTotalsTitleRow th[b-5ja2da81er] {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: .04em;
    padding: 8px 10px;
}

/* Таблица итогов и полосы вкладов — в одной строке.
   Ширина таблицы задана явно: по содержимому она занимала всю строку и
   вытесняла полосы вкладов на следующую. */
.hkCompositionTotalsLayout[b-5ja2da81er] {
    display: flex;
    align-items: stretch;
    gap: 16px;
    flex-wrap: wrap;
}

/* Таблица итогов занимает свободное место строки и растёт вместе с окном;
   блок «Вклад разделов» сохраняет свою ширину. */
.hkCompositionTotalsLayout > .hkCompositionTotalsTable[b-5ja2da81er] {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    font-size: 13px;
}

.hkCompositionOverallRow td[b-5ja2da81er] {
    font-weight: 700;
    background: var(--panel2);
}

/* Вклад разделов: две отдельные полосы — масса и объём. */
/* Круговые диаграммы вклада разделов: занимают место равномерно, тогда как
   линейные полосы оставляли под собой пустоту. */
.hkCompositionCharts[b-5ja2da81er] {
    display: flex;
    gap: 16px;
    /* По верхнему краю: название блока должно совпадать по высоте с
       названием таблицы итогов. */
    align-items: flex-start;
    /* По центру между итогами и концом структурной формы. */
    justify-content: center;
    /* Своя ширина: свободное место строки забирает таблица итогов, она же
       подстраивается под окно. Минимум — чтобы легенды диаграмм читались. */
    flex: 0 0 auto;
    min-width: 300px;
    align-self: stretch;
}

.hkCompositionChart[b-5ja2da81er] {
    flex: 0 1 auto;
}

/* Название блока — на одной высоте с названием таблицы итогов. */
.hkCompositionChart > .hkCompositionDetailsHeading[b-5ja2da81er] {
    font-size: 12px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: .04em;
    text-transform: none;
    padding: 8px 10px 6px;
    margin-bottom: 4px;
}

.hkCompositionChartBody[b-5ja2da81er] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.hkCompositionDonut[b-5ja2da81er] {
    width: 112px;
    height: 112px;
    flex: 0 0 auto;
}

.hkCompositionDonutTrack[b-5ja2da81er] {
    fill: none;
    stroke: var(--panel2);
    stroke-width: 14;
}

.hkCompositionDonutSegment[b-5ja2da81er] {
    fill: none;
    stroke-width: 14;
}

.hkCompositionDonutTotal[b-5ja2da81er] {
    fill: var(--text);
    font-size: 11px;
    font-weight: 700;
    font-family: var(--font);
}

.hkCompositionChartLegend[b-5ja2da81er] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}

.hkCompositionChartLegend li[b-5ja2da81er] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}

.hkCompositionChartChip[b-5ja2da81er] {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    flex: 0 0 auto;
}

.hkCompositionChartName[b-5ja2da81er] {
    color: var(--muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 150px;
}

.hkCompositionChartValue[b-5ja2da81er] {
    margin-left: auto;
    white-space: nowrap;
    font-family: var(--mono);
    font-size: 11px;
}

@media (max-width: 1120px) {
    .hkCompositionLayout[b-5ja2da81er] {
        grid-template-columns: minmax(0, 1fr);
    }

}

@media (max-width: 900px) {
    .hkCompositionTotalsLayout > .hkCompositionTotalsTable[b-5ja2da81er] {
        flex: 1 1 100%;
    }
}

@media (max-width: 1240px) {
    .hkCompositionLayout[b-5ja2da81er] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .hkCompositionToolbar[b-5ja2da81er] {
        flex-wrap: wrap;
    }

    .hkCompositionSearchInput[b-5ja2da81er] {
        flex: 1 1 100%;
    }

    .hkCompositionBarRow[b-5ja2da81er] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .hkCompositionBarTrack[b-5ja2da81er] {
        grid-column: 1 / -1;
    }
}
/* _content/Chernika.Web/Pages/CoefficientsReference.razor.rz.scp.css */
.coefficientRestoreAction[b-e3qzxltt1w] {
    color: var(--ok);
}

.coefficientArchiveAction[b-e3qzxltt1w] {
    color: var(--bad);
}

.coefficientPagerLabel[b-e3qzxltt1w] {
    margin: 0 8px;
}
/* _content/Chernika.Web/Pages/GsmMaterialsReference.razor.rz.scp.css */
/* Сводный справочник марок ГСМ: 13 колонок не помещаются в одну таблицу без
   горизонтального скролла, поэтому ширина фиксируется, а переносы разрешены
   только в текстовых колонках. Горизонтальная прокрутка страницы при этом не
   появляется — прокручивается только обёртка таблицы. */

/* Фильтры: auto-fit вместо жёстких долей. Минимальная ширина трека уменьшена
   до 164px, чтобы в строку поместилось больше полей, а поисковая строка
   занимает ровно два трека вместо растягивания на всю свободную ширину. */
.gsmFilters[b-s8baqbl6uz] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(164px, 1fr));
  gap: 8px;
  align-items: end;
}

.gsmFilters .mbSearch[b-s8baqbl6uz] {
  grid-column: span 2;
  min-width: 0;
}

@media (max-width: 560px) {
  .gsmFilters .mbSearch[b-s8baqbl6uz] { grid-column: span 1; }
}

/* Быстрые фильтры-переключатели живут одной группой на две колонки: каждый
   filterToggle имеет white-space:nowrap, поэтому в собственном одноколночном
   треке длинная подпись («Номенклатура по ГОСТ») обрезалась бы. */
.gsmFilterToggles[b-s8baqbl6uz] {
  grid-column: span 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

@media (max-width: 560px) {
  .gsmFilterToggles[b-s8baqbl6uz] { grid-column: span 1; }
}

/* Высота/радиус/шрифт/focus полей фильтров — из site.css (.fieldInput,
   .field-select); здесь только выравнивание по нижнему краю строки. */
.gsmFilters .btn[b-s8baqbl6uz] { white-space: nowrap; }

.gsmTable[b-s8baqbl6uz] {
  width: 100%;
  min-width: 1680px;
  table-layout: fixed;
}

/* Минимальная высота строки — общая для всех таблиц (см. site.css). */
.gsmTable tbody tr[b-s8baqbl6uz] {
  height: 44px;
}

.gsmTable th[b-s8baqbl6uz],
.gsmTable td[b-s8baqbl6uz] {
  vertical-align: middle;
  font-size: 12px;
}

/* Заголовки и значения в каждом столбце имеют одинаковое выравнивание:
   по центру — текст не выглядит прижатым влево в широкой ячейке. */
.gsmTable th[b-s8baqbl6uz],
.gsmTable td[b-s8baqbl6uz] {
  text-align: center;
}

.gsmTable th[b-s8baqbl6uz] {
  font-weight: 650;
  color: var(--muted);
  /* Длинные заголовки переносятся, а не наезжают на соседнюю колонку. */
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
}

/* Вертикальные разделители между колонками — по образцу таблиц ИК
   (.hk-items-table): тонкие, на CSS-токене, без двойной границы у края. */
.gsmTable thead th[b-s8baqbl6uz],
.gsmTable tbody td[b-s8baqbl6uz] { border-right: 1px solid var(--line); }
.gsmTable thead th:last-child[b-s8baqbl6uz],
.gsmTable tbody td:last-child[b-s8baqbl6uz] { border-right: 0; }

/* 13 колонок: ID намеренно не показывается — первая видимая «Группа ГСМ».
   Ширины распределены по ожидаемому содержимому, а не поровну: коротким
   значениям (Да/Нет, индекс НАТО) достаётся меньше, длинным текстам больше. */
.gsmTable th:nth-child(1)[b-s8baqbl6uz]  { width: 150px; } /* Группа */
.gsmTable th:nth-child(2)[b-s8baqbl6uz]  { width: 170px; } /* Подгруппы */
.gsmTable th:nth-child(3)[b-s8baqbl6uz]  { width: 190px; } /* Марка */
.gsmTable th:nth-child(4)[b-s8baqbl6uz]  { width: 160px; } /* НД */
.gsmTable th:nth-child(5)[b-s8baqbl6uz]  { width: 130px; } /* Номенклатура по ГОСТ */
.gsmTable th:nth-child(6)[b-s8baqbl6uz]  { width: 250px; } /* Назначение и условия применения */
.gsmTable th:nth-child(7)[b-s8baqbl6uz]  { width: 150px; } /* Пригодность */
.gsmTable th:nth-child(8)[b-s8baqbl6uz]  { width: 110px; } /* Индекс НАТО */
.gsmTable th:nth-child(9)[b-s8baqbl6uz]  { width: 170px; } /* Дублирующие */
.gsmTable th:nth-child(10)[b-s8baqbl6uz] { width: 170px; } /* Резервные */
.gsmTable th:nth-child(11)[b-s8baqbl6uz] { width: 170px; } /* Зарубежные */
.gsmTable th:nth-child(12)[b-s8baqbl6uz] { width: 210px; } /* Общее примечание */
.gsmTable th:nth-child(13)[b-s8baqbl6uz] { width: 150px; } /* Действия */

.gsmWrap[b-s8baqbl6uz] {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Очень длинное примечание не должно превращать строку в огромный пустой блок:
   текст ограничен пятью строками, полный — доступен по раскрытию. */
.gsmClamp[b-s8baqbl6uz] {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.gsmClampOpen[b-s8baqbl6uz] {
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
}

.gsmNoteToggle[b-s8baqbl6uz] {
  margin-top: 4px;
  background: none;
  border: none;
  padding: 0;
  color: var(--accent);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.gsmNoteToggle:hover[b-s8baqbl6uz] { text-decoration: underline; }
.gsmNoteToggle:focus-visible[b-s8baqbl6uz] {
  outline: none;
  border-radius: 4px;
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}

.gsmSubgroups[b-s8baqbl6uz] {
  overflow-wrap: anywhere;
}

.gsmMuted[b-s8baqbl6uz] {
  color: var(--muted);
}

/* Списки связей: только чтение, без кнопок редактирования. */
.gsmRelations[b-s8baqbl6uz] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Шапка списка: счётчик и действия справочника в одной строке. */
.gsmHeaderRight[b-s8baqbl6uz] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── Форма ────────────────────────────────────────────────────────────────
   Сетка из двух колонок: пара «группа / подгруппа» поднимается наверх, чтобы
   классификация не терялась среди полей описания. Textarea занимают по колонке,
   а не отдельную строку на широком экране. */

.gsmAddRow[b-s8baqbl6uz] {
  display: flex;
  gap: 8px;
  align-items: center;
}

.gsmAddRow input[b-s8baqbl6uz] {
  flex: 1 1 auto;
  min-width: 0;
}

.gsmAddRow .btn[b-s8baqbl6uz] {
  flex: 0 0 auto;
  white-space: nowrap;
}

.gsmChecks[b-s8baqbl6uz] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 2px;
}

.gsmCheck[b-s8baqbl6uz] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text);
  margin: 0;
}

.gsmCheck input[b-s8baqbl6uz] {
  width: auto;
  margin: 0;
  flex: 0 0 auto;
}

/* Отступ между полем «Индекс НАТО» и флажком номенклатуры в той же ячейке. */
.gsmCheckGap[b-s8baqbl6uz] {
  margin-top: 10px;
}

/* ── Форма марки ──────────────────────────────────────────────────────────
   Сетка из 12 колонок: доли заданы по содержимому, поэтому строки не обязаны
   иметь одинаковые ширины полей, но во всех строках совпадают высота контрола,
   промежутки, линия подписей и линия нижних границ. */

.gsmForm[b-s8baqbl6uz] {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px 12px;
  align-items: start;
}

.gsmF3[b-s8baqbl6uz]  { grid-column: span 3; }
.gsmF4[b-s8baqbl6uz]  { grid-column: span 4; }
.gsmF5[b-s8baqbl6uz]  { grid-column: span 5; }
.gsmF12[b-s8baqbl6uz] { grid-column: span 12; }

@media (max-width: 1120px) {
  /* Три поля в строке переходят в две, потом в одну: подписи не обрезаются и
     переключатели не накладываются друг на друга. */
  .gsmF3[b-s8baqbl6uz],
  .gsmF4[b-s8baqbl6uz],
  .gsmF5[b-s8baqbl6uz] { grid-column: span 6; }
}

@media (max-width: 560px) {
  .gsmF3[b-s8baqbl6uz],
  .gsmF4[b-s8baqbl6uz],
  .gsmF5[b-s8baqbl6uz],
  .gsmF12[b-s8baqbl6uz] { grid-column: span 12; }
}

/* Поле с кнопкой внутри контура — как кнопка лупы в быстром поиске. */
.gsmInlineField[b-s8baqbl6uz] {
  display: flex;
  align-items: stretch;
  border: 1px solid rgba(32, 50, 86, .85);
  border-radius: 10px;
  background: rgba(11, 18, 32, .65);
  overflow: hidden;
}

[data-theme="light"] .gsmInlineField[b-s8baqbl6uz] {
  background: rgba(255, 255, 255, .94);
  border-color: rgba(111, 138, 178, .22);
}

.gsmInlineField:focus-within[b-s8baqbl6uz] {
  border-color: rgba(79, 140, 255, .4);
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}

/* Правый отступ под кнопку: введённый текст не заезжает под неё. */
.gsmInlineInput[b-s8baqbl6uz] {
  flex: 1 1 auto;
  min-width: 0;
  border: none;
  background: transparent;
  color: var(--text);
  padding: 10px 10px;
  font-size: 13px;
  font-family: var(--font);
  outline: none;
}

.gsmInlineBtn[b-s8baqbl6uz] {
  flex: none;
  border: none;
  border-left: 1px solid var(--line);
  background: rgba(79, 140, 255, .18);
  color: var(--text);
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font);
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s ease;
}

.gsmInlineBtn:hover[b-s8baqbl6uz] { background: rgba(79, 140, 255, .3); }
.gsmInlineBtn:focus-visible[b-s8baqbl6uz] {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(79, 140, 255, .55);
}

/* Textarea по умолчанию занимает высоту обычного поля и остаётся растягиваемым:
   пустая форма не раздувает строку, длинный текст читается целиком. */
.gsmAutoTextarea[b-s8baqbl6uz] {
  min-height: 41px;
  height: 41px;
  resize: vertical;
  overflow: auto;
}

/* Переключатели-признаки: общий паттерн filterToggle, отдельного стиля нет. */
.gsmToggles[b-s8baqbl6uz] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 41px;
  align-items: center;
}

.gsmFormActions[b-s8baqbl6uz] {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.gsmWide[b-s8baqbl6uz] {
  grid-column: 1 / -1;
}

.gsmReq[b-s8baqbl6uz] {
  color: var(--bad);
}

.gsmChips[b-s8baqbl6uz] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gsmChip[b-s8baqbl6uz] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(11, 18, 32, 0.55);
  font-size: 12px;
}

[data-theme="light"] .gsmChip[b-s8baqbl6uz] {
  background: rgba(255, 255, 255, 0.70);
}

.gsmChipX[b-s8baqbl6uz] {
  border: none;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0 2px;
  border-radius: 8px;
}

.gsmChipX:hover[b-s8baqbl6uz] {
  color: var(--bad);
}

/* Флажок удаления тега должен быть доступен с клавиатуры. */
.gsmChipX:focus-visible[b-s8baqbl6uz] {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.gsmFieldError[b-s8baqbl6uz] {
  margin-top: 6px;
  font-size: 12px;
  color: var(--bad);
  line-height: 1.35;
}

.gsmError[b-s8baqbl6uz] {
  grid-column: 1 / -1;
  color: var(--bad);
  font-size: 13px;
  margin-top: 2px;
}

/* До 1120px поля перестают сдавливаться: одна колонка, но отступы сохраняются. */
@media (max-width: 1120px) {
  .gsmAddRow[b-s8baqbl6uz] { flex-wrap: wrap; }
}
/* _content/Chernika.Web/Pages/HKCompositions.razor.rz.scp.css */
/* Реестр составов ХК: только принятые редакции. */

.hkCompositionsFilters[b-imoqjb331r] {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.hkCompositionsSearch[b-imoqjb331r] {
    flex: 1 1 280px;
    min-width: 0;
}

.hkCompositionsTable th[b-imoqjb331r],
.hkCompositionsTable td[b-imoqjb331r] {
    padding: 7px 9px;
    font-size: 12px;
    border-bottom: 1px solid var(--line);
    /* Содержимое колонки — по центру: колонки короткие, и выравнивание
       по левому краю разъезжалось. */
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

/* Вертикальные разделители между колонками. */
.hkCompositionsTable th + th[b-imoqjb331r],
.hkCompositionsTable td + td[b-imoqjb331r] {
    border-left: 1px solid var(--line);
}

/* Числовые колонки — моноширинным шрифтом, по центру. */
.hkCompositionsTable th:nth-child(6)[b-imoqjb331r],
.hkCompositionsTable td:nth-child(6)[b-imoqjb331r],
.hkCompositionsTable th:nth-child(7)[b-imoqjb331r],
.hkCompositionsTable td:nth-child(7)[b-imoqjb331r] {
    font-family: var(--mono);
}

.hkCompositionsTable thead th[b-imoqjb331r] {
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

/* Уровень карты: отдельная узкая колонка. */
.hkCompositionsTable th:first-child[b-imoqjb331r],
.hkCompositionsTable td:first-child[b-imoqjb331r] {
    width: 96px;
    min-width: 96px;
    color: var(--muted);
}

/* Строка реестра, у которой раскрыт состав. */
.hkCompositionsRowExpanded td[b-imoqjb331r] {
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    cursor: pointer;
}

.hkCompositionsRowExpanded td:last-child[b-imoqjb331r] {
    cursor: default;
}

/* Раскрытый состав — под строкой, во всю ширину таблицы. Отступ задаётся
   на самой ячейке: элементы дочернего компонента не несут признак области
   видимости родительской таблицы стилей, и отступ на них не действует. */
.hkCompositionsExpandedRow td[b-imoqjb331r] {
    padding: 14px 24px 18px 24px;
    background: var(--panel2);
    border-bottom: 1px solid var(--line);
}

.hkCompositionsTable td.mono[b-imoqjb331r] {
    font-family: var(--mono);
    white-space: nowrap;
}

.hkCompositionsTable .tag[b-imoqjb331r] {
    margin-left: 6px;
}

.hkCompositionsPager[b-imoqjb331r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.hkCompositionsPagerButtons[b-imoqjb331r] {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 560px) {
    .hkCompositionsFilters[b-imoqjb331r] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* _content/Chernika.Web/Pages/HKEdit.razor.rz.scp.css */
.hk-form-row[b-jklzzld1j5] {
    --hk-control-height: 38px;
    grid-column: 1 / -1;
    display: grid;
    gap: 14px;
    align-items: start;
    margin-bottom: 14px;
    min-width: 0;
}

.hk-form-row > .field[b-jklzzld1j5] {
    min-width: 0;
}

.hk-form-row--request[b-jklzzld1j5] {
    grid-template-columns: minmax(150px, 1.15fr) minmax(150px, 1.05fr) minmax(132px, .65fr) minmax(170px, .95fr) minmax(160px, .9fr) minmax(172px, .95fr);
}

.hk-form-row--object[b-jklzzld1j5] {
    grid-template-columns: minmax(210px, 1.35fr) minmax(270px, 1.55fr) minmax(220px, 1.25fr) minmax(150px, .7fr);
}

.hk-form-row--description[b-jklzzld1j5] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hk-form-row--dates[b-jklzzld1j5] {
    grid-template-columns: repeat(2, minmax(132px, 220px));
    justify-content: start;
}

/* нормализация контролов (Firefox/Chromium) */
/* Поля формы одной высоты.
   ::deep обязателен: поля отрисовывают дочерние компоненты (InputText,
   InputDate), и на их элементах нет признака области видимости этой
   таблицы стилей — обычный селектор к ним не применялся, и высота поля
   даты (41px) отличалась от высоты текстового поля (39px). */
.hk-form-row[b-jklzzld1j5]  .fieldInput,
.hk-form-row[b-jklzzld1j5]  .field-select,
.hk-form-row[b-jklzzld1j5]  .hk-level-segmented {
    box-sizing: border-box;
    height: var(--hk-control-height);
    min-height: var(--hk-control-height);
    max-height: var(--hk-control-height);
    padding-top: 0;
    padding-bottom: 0;
}

/* Группа входящего и исходящего номера: рамка группы съедала два пикселя,
   поэтому поля внутри были ниже соседних. */
.hk-form-row[b-jklzzld1j5]  .hk-letter-numbers {
    box-sizing: border-box;
    height: auto;
    min-height: 0;
    max-height: none;
}

.hk-form-row[b-jklzzld1j5]  .hk-letter-numbers input {
    box-sizing: border-box;
    height: var(--hk-control-height);
    min-height: var(--hk-control-height);
    max-height: var(--hk-control-height);
    padding-top: 0;
    padding-bottom: 0;
}

/* Однострочные текстовые поля остаются с обычным отступом, многострочные
   (с изменяемой высотой) — как были. */
.hk-form-row[b-jklzzld1j5]  textarea.fieldInput:not(.hk-resizable-textarea) {
    padding-top: 8px;
    padding-bottom: 8px;
    height: var(--hk-control-height);
    min-height: var(--hk-control-height);
    max-height: var(--hk-control-height);
}

.hk-form-row input[b-jklzzld1j5],
.hk-form-row select[b-jklzzld1j5],
.hk-form-row textarea[b-jklzzld1j5] {
    box-sizing: border-box;
    font: inherit;
}

/* Нативный select — не flex-контейнер.
   display:flex у select обрезает текст по вертикали (Firefox и Chromium):
   выравнивание содержимого задаёт flex, а у select такого механизма нет.
   Flex-выравнивание остаётся у div-триггеров всплывающих списков. */
.hk-form-row .field-select[b-jklzzld1j5] {
    display: block;
    line-height: 1.35;
    padding-top: 8px;
    padding-bottom: 8px;
    min-width: 0;
    text-overflow: ellipsis;
}

/* Панель добавления структуры: одна панель над таблицей, разделы и действия
   в ней же. На узком экране строки переносятся целиком. */
.hk-editor-panel[b-jklzzld1j5] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px 10px;
    margin-bottom: 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--panel2);
}

.hk-editor-panel-row[b-jklzzld1j5] {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
    min-width: 0;
}

/* Компактные кнопки панели: тот же вид, что у кнопок разделов составов
   техники, но меньшего размера. */
.hk-editor-chip[b-jklzzld1j5] {
    padding: 2px 10px;
    font-size: 12px;
    line-height: 1.6;
}

/* ::deep: textarea рендерится компонентом InputTextArea и не получает
   scope-атрибут; без него правило не применяется и глобальный
   .field textarea (min-height: 92px) делает поле выше соседей. */
.hk-request-details-field[b-jklzzld1j5]  .fieldInput {
    height: var(--hk-control-height);
    min-height: var(--hk-control-height);
    max-height: 220px;
    line-height: 1.2;
    resize: vertical;
    overflow-y: auto;
    padding-top: 8px;
    padding-bottom: 8px;
}

/* InputTextArea не получает scope-атрибут — требуется ::deep */
.hk-form-row--description[b-jklzzld1j5]  textarea.hk-resizable-textarea {
    height: auto;
    min-height: 92px;
    max-height: 320px;
    line-height: 1.4;
    resize: vertical;
    overflow-y: auto;
    padding-top: 8px;
    padding-bottom: 8px;
}

.hk-letter-numbers[b-jklzzld1j5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    background: var(--panel2);
}

/* В редактируемой (неутверждённой) ХК поле такое же бесцветное, как остальные. */
.hk-letter-numbers--editable[b-jklzzld1j5] {
    background: rgba(11, 18, 32, .65);
}

[data-theme="light"] .hk-letter-numbers--editable[b-jklzzld1j5] {
    background: rgba(255, 255, 255, .94);
}

/* В утверждённой ХК поле остаётся приглушённым (не редактируется),
   но без внутренних рамок — читается как один блок с разделителем. */
.hk-letter-numbers .readonlyValue[b-jklzzld1j5] {
    border: 0;
    border-radius: 0;
    background: transparent;
    min-height: var(--hk-control-height);
}

.hk-letter-number-part[b-jklzzld1j5] {
    min-width: 0;
}

.hk-letter-number-part + .hk-letter-number-part[b-jklzzld1j5] {
    border-left: 1px solid var(--line);
}

/* ::deep: InputText рендерит <input> вне scope-атрибута компонента,
   без этого правила не применяются и глобальный .field input рисует
   собственную рамку — на стыке «Входящий/Исходящий» рамки накладываются. */
.hk-letter-numbers[b-jklzzld1j5]  .fieldInput {
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.hk-letter-numbers[b-jklzzld1j5]  .fieldInput:focus {
    position: relative;
    z-index: 1;
    outline: none;
    box-shadow: inset 0 0 0 2px var(--accent);
}

.hk-letter-numbers[b-jklzzld1j5]  .hk-letter-number-part:first-child .fieldInput:focus {
    border-radius: var(--radius2, 10px) 0 0 var(--radius2, 10px);
}

.hk-letter-numbers[b-jklzzld1j5]  .hk-letter-number-part:last-child .fieldInput:focus {
    border-radius: 0 var(--radius2, 10px) var(--radius2, 10px) 0;
}

.sr-only[b-jklzzld1j5] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1120px) {
    .hk-form-row--request[b-jklzzld1j5] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .hk-form-row--object[b-jklzzld1j5] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .hk-form-row--request[b-jklzzld1j5],
    .hk-form-row--object[b-jklzzld1j5],
    .hk-form-row--description[b-jklzzld1j5],
    .hk-form-row--dates[b-jklzzld1j5] {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
}

.panelBody[b-jklzzld1j5],
.form[b-jklzzld1j5],
.hk-form-row[b-jklzzld1j5],
.hk-form-row > .field[b-jklzzld1j5] {
    min-width: 0;
}

.hk-items-table-wrapper[b-jklzzld1j5] {
    border-radius: var(--radius);
    border: 1px solid var(--line);
    overflow-x: auto;
    overflow-y: hidden;
}

/* Строки ХК: колонки подстраиваются под содержимое (никаких зафиксированных
   ширин), жёстко задана только узкая колонка «№». */
.hk-items-table.hk-rows-table[b-jklzzld1j5] {
    table-layout: auto;
}

.form > .full-width[b-jklzzld1j5] {
    min-width: 0;
}

.hk-items-table[b-jklzzld1j5] {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
    border: none;
    background: var(--panel);
}

.hk-items-table thead th[b-jklzzld1j5] {
    background: var(--panel2);
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 8px 10px;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
    font-weight: 600;
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
}

.hk-items-table thead th.col-wrap[b-jklzzld1j5] {
    white-space: normal;
    word-break: break-word;
}

/* Компактные заголовки: на узких окнах сокращаются до коротких названий. */
.th-narrow[b-jklzzld1j5] {
    display: none;
    white-space: nowrap;
}

@media (max-width: 1120px) {
    .th-wide[b-jklzzld1j5] {
        display: none;
    }

    .th-narrow[b-jklzzld1j5] {
        display: inline;
    }
}

.hk-items-table thead th.col-actions[b-jklzzld1j5] {
    border-right: none;
}

/* Минимальная высота строки — общая для всех таблиц (см. site.css).
   Фиксированной высоты нет: при переносе длинного текста строка растёт. */
.hk-items-table tbody tr[b-jklzzld1j5] {
    height: 44px;
}

.hk-items-table tbody tr[b-jklzzld1j5] {
    background: var(--panel);
}

.hk-items-table tbody tr:nth-child(even)[b-jklzzld1j5] {
    background: var(--panel2);
}

.hk-items-table tbody tr:hover[b-jklzzld1j5] {
    background: color-mix(in srgb, var(--accent) 6%, var(--panel));
}

.hk-items-table tbody tr.hki-focus[b-jklzzld1j5] {
    background: color-mix(in srgb, var(--accent) 8%, var(--panel));
}

.hk-items-table tbody td[b-jklzzld1j5] {
    padding: 8px 10px;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
    color: var(--text);
    font-size: 13px;
    vertical-align: middle;
    text-align: center;
    word-break: break-word;
}

.hk-items-table tbody tr:last-child td[b-jklzzld1j5] {
    border-bottom: none;
}

.hk-items-table tbody td.col-actions[b-jklzzld1j5] {
    border-right: none;
}

/* Mass/Volume column — shrink input to fit 65px column */
.hk-items-table tbody td:nth-child(8) .hki-td-input[b-jklzzld1j5] {
    padding: 5px 4px;
    min-width: 0;
}

/* Quantity column — fit 55px */
.hk-items-table tbody td:nth-child(3) .hki-td-input[b-jklzzld1j5] {
    padding: 5px 4px;
    min-width: 0;
}

/* Hide number input spin buttons for all table inputs */
.hk-items-table .hki-td-input[b-jklzzld1j5]::-webkit-inner-spin-button,
.hk-items-table .hki-td-input[b-jklzzld1j5]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.hk-items-table .hki-td-input[type=number][b-jklzzld1j5] {
    -moz-appearance: textfield;
}

/* Unit of Measure column — fit 36px */
.hk-items-table tbody td:nth-child(9) .hki-td-input[b-jklzzld1j5] {
    padding: 5px 2px;
    min-width: 0;
}

.hk-items-table td.col-num[b-jklzzld1j5],
.hk-items-table th.col-num[b-jklzzld1j5] {
    color: var(--muted);
}

.hki-actions[b-jklzzld1j5] {
    text-align: center;
    white-space: nowrap;
}

/* Колонка действий: три кнопки (вверх/вниз/удалить) целиком в 92px. */
.hk-items-table tbody td.hki-actions[b-jklzzld1j5] {
    padding: 6px 6px;
}

/* В редактируемой (неутверждённой) ХК заливка полей строк бесцветная, как у остальных. */
.hk-rows-editable .hki-td-input[b-jklzzld1j5] {
    background: rgba(11, 18, 32, .65) !important;
}

[data-theme="light"] .hk-rows-editable .hki-td-input[b-jklzzld1j5] {
    background: rgba(255, 255, 255, .94) !important;
}

/* ── Поле поиска сборочной единицы (контейнер) ── */
.hki-search-select[b-jklzzld1j5] {
    position: relative;
    display: inline-block;
    width: 100%;
    min-width: 140px;
}

.hki-search-dropdown[b-jklzzld1j5] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    min-width: 240px;
    max-height: 200px;
    overflow-y: auto;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 4px 0;
}

/* ---- GSM material dropdown ---- */

.gsm-selector-cell[b-jklzzld1j5] {
    position: relative;
}

.gsm-dropdown[b-jklzzld1j5] {
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 0;
    min-width: 240px;
    max-height: 280px;
    overflow-y: auto;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    box-shadow: var(--shadow);
    padding: 4px 0;
    margin-top: 2px;
}

.gsm-dropdown-search[b-jklzzld1j5] {
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-bottom: 1px solid var(--line);
    background: var(--panel2);
    color: var(--text);
    font-size: 13px;
    outline: none;
    font-family: var(--font);
    box-sizing: border-box;
}

.gsm-dropdown-search[b-jklzzld1j5]::placeholder {
    color: var(--muted);
}

/* ── Предложение связанных ГСМ по строке ХК ────────────────────────────────
   Блок идёт отдельной строкой таблицы с colspan: он привязан к строке, но не
   ломает сетку колонок. Ничего не пишет в модель карточки — это только
   предложение, добавление выполняется кнопкой «Добавить выбранные». */
.hki-suggestion-row td[b-jklzzld1j5] {
    padding: 0 12px 12px 44px;
}

.hki-suggestion[b-jklzzld1j5] {
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: var(--radius2, 10px);
    background: color-mix(in srgb, var(--accent) 6%, var(--panel));
    padding: 10px 12px;
    font-size: 12px;
}

.hki-suggestionLine[b-jklzzld1j5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--text);
}

.hki-suggestionSource[b-jklzzld1j5] {
    display: inline-block;
    margin-left: 6px;
    color: var(--muted);
}

.hki-suggestionError[b-jklzzld1j5] {
    color: var(--bad);
}

.hki-suggestionDone[b-jklzzld1j5] {
    color: var(--muted);
}

.hki-suggestionPanel[b-jklzzld1j5] {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--line);
}

.hki-suggestionGroup + .hki-suggestionGroup[b-jklzzld1j5] {
    margin-top: 12px;
}

.hki-suggestionGroupTitle[b-jklzzld1j5] {
    font-weight: 700;
    color: var(--text);
    margin-bottom: 6px;
}

.hki-suggestionCategory[b-jklzzld1j5] {
    margin-bottom: 8px;
}

.hki-suggestionCategoryTitle[b-jklzzld1j5] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--accent);
    margin-bottom: 4px;
}

.hki-suggestionOption[b-jklzzld1j5] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    padding: 5px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
}

.hki-suggestionOption:hover[b-jklzzld1j5] {
    border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
}

/* Уже добавленная в эту категорию строка и недоступная марка: показаны для
   объяснения, но недоступны для выбора. */
.hki-suggestionOptionAlready[b-jklzzld1j5],
.hki-suggestionOptionBlocked[b-jklzzld1j5] {
    cursor: default;
    opacity: .72;
}

.hki-suggestionName[b-jklzzld1j5] {
    font-weight: 600;
    color: var(--text);
}

.hki-suggestionNd[b-jklzzld1j5],
.hki-suggestionNote[b-jklzzld1j5] {
    color: var(--muted);
}

.hki-suggestionNote[b-jklzzld1j5] {
    font-style: italic;
}

.hki-suggestionActions[b-jklzzld1j5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.hki-suggestionHint[b-jklzzld1j5] {
    color: var(--muted);
    font-size: 11px;
    flex: 1 1 260px;
    min-width: 0;
}

.gsm-dropdown-item[b-jklzzld1j5] {
    padding: 7px 12px;
    font-size: 13px;
    color: var(--text);
    cursor: pointer;
    transition: background 0.15s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Подсказка справочной связи: она показывает, что марка связана с основной
   маркой той же строки, но ничего не добавляет и не меняет Category. */
.gsm-dropdown-hint[b-jklzzld1j5] {
    margin-left: auto;
    flex: none;
    font-size: 10px;
    white-space: nowrap;
    color: var(--accent);
    border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
    border-radius: 999px;
    padding: 1px 7px;
}

.gsm-dropdown-item:hover[b-jklzzld1j5] {
    background: color-mix(in srgb, var(--accent) 10%, var(--panel));
}

.gsm-dropdown-group-label[b-jklzzld1j5] {
    padding: 6px 12px 2px;
    font-size: 11px;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    pointer-events: none;
}

/* ---- shared dropdown helpers ---- */

.hki-search-empty[b-jklzzld1j5] {
    padding: 6px 10px;
    color: var(--muted);
    font-size: 11px;
    font-style: italic;
}

.hki-mat-tag[b-jklzzld1j5] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    margin: 2px 4px 2px 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 12%, var(--panel));
    border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
    color: var(--text);
    font-size: 11px;
    white-space: nowrap;
}

.hki-tag-remove[b-jklzzld1j5] {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    color: var(--muted);
}

.hki-tag-remove:hover[b-jklzzld1j5] {
    color: var(--bad);
}

.hki-add-mat[b-jklzzld1j5] {
    background: transparent;
    border: 1px dashed var(--line);
    color: var(--muted);
    font-size: 11px;
    padding: 3px 8px;
    margin-top: 2px;
    border-radius: var(--radius2);
    cursor: pointer;
    transition: .15s ease;
    white-space: nowrap;
}

.hki-add-mat:hover[b-jklzzld1j5] {
    border-color: var(--accent);
    color: var(--accent);
}

.hki-actions .linkBtn[b-jklzzld1j5] {
    border: none;
    background: none;
    cursor: pointer;
    padding: 2px 4px;
    font-size: 14px;
    color: var(--accent);
}

.hki-actions .linkBtn:hover[b-jklzzld1j5] {
    opacity: 0.7;
}

.hki-actions .linkBtn:disabled[b-jklzzld1j5] {
    opacity: 0.3;
    cursor: default;
}

/* ---- quick-create button inside dropdown ---- */

.gsm-dropdown-create[b-jklzzld1j5] {
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--accent) 8%, var(--panel));
    color: var(--accent);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
    flex: 0 0 auto;
}

.gsm-dropdown-create:hover[b-jklzzld1j5] {
    background: color-mix(in srgb, var(--accent) 15%, var(--panel));
}

.gsm-dropdown-create:focus-visible[b-jklzzld1j5] {
    outline: none;
    box-shadow: inset 0 0 0 3px rgba(79, 140, 255, .12);
}

.gsm-dropdown-divider[b-jklzzld1j5] {
    height: 1px;
    background: var(--line);
    flex: 0 0 auto;
}

/* ---- Род войск: plain field ---- */

.hki-tags-row[b-jklzzld1j5] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
    max-width: 100%;
    min-width: 0;
}

.hki-mb-tag[b-jklzzld1j5] {
    white-space: normal;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    width: 100%;
    justify-content: space-between;
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    background: var(--panel2);
    color: var(--text);
    font-size: 13px;
    padding: 8px 10px;
    margin: 0;
    align-items: center;
    gap: 8px;
}

.hki-mb-select[b-jklzzld1j5] {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hk-admin-branch-select[b-jklzzld1j5] {
    width: 240px;
    height: 34px;
    min-height: 34px;
    flex-shrink: 0;
    /* Общий класс поля задаёт вертикальный отступ 10px: при заданной высоте
       содержимое поля обрезалось снизу. */
    padding: 0 8px;
}

.hk-mb-field .hk-mb-select[b-jklzzld1j5] {
    min-height: var(--hk-control-height);
    height: var(--hk-control-height);
    box-sizing: border-box;
}

/* ---- Уровень объекта: segmented control ---- */

.hk-level-segmented[b-jklzzld1j5] {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    background: var(--panel2);
    overflow: hidden;
}

.hk-level-segmented-item[b-jklzzld1j5] {
    flex: 1 1 0;
    min-width: 0;
    border: none;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
    cursor: pointer;
    padding: 0 6px;
    white-space: nowrap;
    transition: background .15s ease, color .15s ease;
}

.hk-level-segmented-item + .hk-level-segmented-item[b-jklzzld1j5] {
    border-left: 1px solid var(--line);
}

.hk-level-segmented-item:hover:not(:disabled):not(.active)[b-jklzzld1j5] {
    color: var(--text);
}

.hk-level-segmented-item.active[b-jklzzld1j5] {
    background: rgba(79, 140, 255, .18);
    color: var(--text);
}

.hk-level-segmented-item:disabled[b-jklzzld1j5] {
    opacity: .5;
    cursor: default;
}

/* ---- PDF-скан: компактное поле в одну строку ---- */

/* Поле выглядит как остальные контролы (.fieldInput): та же высота,
   рамка и фон, поэтому при вложении ничего не растягивается. */
.hki-pdf-empty[b-jklzzld1j5],
.hki-pdf-chip[b-jklzzld1j5] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 8px 0 10px;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
    cursor: pointer;
}

.hki-pdf-empty:hover[b-jklzzld1j5] {
    color: var(--text);
}

.hki-pdf-chip--pending[b-jklzzld1j5] {
    color: var(--accent);
}

.hki-pdf-chip--error[b-jklzzld1j5] {
    border-color: rgba(214, 88, 88, .65) !important;
}

.hki-pdf-chip--empty[b-jklzzld1j5] {
    cursor: default;
}

.hki-pdf-name[b-jklzzld1j5] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: none;
    border: 0;
    padding: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.hki-pdf-name:hover[b-jklzzld1j5] {
    color: var(--accent);
}

.hki-pdf-size[b-jklzzld1j5] {
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 11px;
}

.hki-pdf-icon[b-jklzzld1j5] {
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--muted);
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.hki-pdf-icon:hover[b-jklzzld1j5] {
    color: var(--accent);
}

.hki-pdf-icon--danger:hover[b-jklzzld1j5] {
    color: var(--bad);
}

/* InputFile рендерится вне scope-атрибута компонента — нужен ::deep. */
.hk-pdf-field[b-jklzzld1j5]  .hki-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    opacity: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

/* ---- Статус + кнопки действий ---- */

.hk-form-actions-with-status[b-jklzzld1j5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    border-top: 1px solid var(--line);
    padding-top: 14px;
    margin-top: 6px;
}

.hk-status-inline[b-jklzzld1j5] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.hk-form-actions-buttons[b-jklzzld1j5] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

@media (max-width: 560px) {
    .hk-form-actions-with-status[b-jklzzld1j5] {
        flex-direction: column;
        align-items: stretch;
    }
    .hk-form-actions-buttons[b-jklzzld1j5] {
        margin-left: 0;
    }
}

/* ---- Read-only просмотр ХК ---- */

.readonlyValue[b-jklzzld1j5] {
    box-sizing: border-box;
    min-height: var(--hk-control-height, 38px);
    display: flex;
    align-items: center;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    background: var(--panel2);
    color: var(--text);
    font-size: 13px;
    line-height: 1.4;
    cursor: default;
    overflow-wrap: anywhere;
}

.readonlyValueMultiline[b-jklzzld1j5] {
    min-height: 74px;
    align-items: flex-start;
    white-space: pre-wrap;
}

/* «Реквизиты» в режиме просмотра: базовая высота как у остальных
   полей строки (и как в режиме редактирования), ручка сохранена. */
.hk-request-details-field .readonlyValue[b-jklzzld1j5] {
    min-height: var(--hk-control-height);
    max-height: 220px;
    resize: vertical;
    overflow-y: auto;
}

/* ── Таблица структуры ─────────────────────────────────────────────────── */

/* Номер позиции: ширина под «1.1.1», моноширинный шрифт, без переносов. */
.hk-rows-table th.col-num[b-jklzzld1j5],
.hk-rows-table td.col-num[b-jklzzld1j5] {
    width: 80px;
    min-width: 80px;
    white-space: nowrap;
    word-break: keep-all;
    font-variant-numeric: tabular-nums;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* Последняя колонка действий: компактная, кнопки одного вида. */
.hk-rows-table th.col-actions[b-jklzzld1j5],
.hk-rows-table td.col-actions[b-jklzzld1j5] {
    width: 64px;
    min-width: 64px;
}

/* Группа действий в строке позиции: переносится целиком, без наложений. */
.hki-actions-row[b-jklzzld1j5] {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.hki-actions-row .linkBtn[b-jklzzld1j5] {
    padding: 0 4px;
    min-width: 0;
    line-height: 1.4;
}

/* Кнопка сворачивания: компактная иконка в фиксированном месте, без
   наезда на соседние элементы. */
.hk-editor-collapse[b-jklzzld1j5] {
    flex: 0 0 20px;
    width: 20px;
    min-width: 20px;
    text-align: center;
}

.hki-collapse-btn[b-jklzzld1j5] {
    width: 20px;
    height: 20px;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    line-height: 1;
    border-radius: 4px;
}

.hki-collapse-btn:hover[b-jklzzld1j5] {
    color: var(--text);
    background: var(--panel2);
}

.hki-collapse-btn:focus-visible[b-jklzzld1j5] {
    outline: 2px solid var(--accent, #4f8cff);
    outline-offset: 1px;
}

/* Поля позиции и действия — двумя группами: при узкой ширине группы
   переносятся целиком, поля не накладываются на кнопки. */
.hk-editor-fields[b-jklzzld1j5] {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    min-width: 0;
}

/* Группа «Без раздела»: та же рамка, что и у раздела, но приглушённая. */
.hki-nosection-row td[b-jklzzld1j5] {
    color: var(--muted);
}

/* Заголовок части формы с названием этапа и его статусом. */
.hk-editor-part-head[b-jklzzld1j5] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.hk-stage-label[b-jklzzld1j5] {
    font-size: 12px;
    color: var(--muted);
    white-space: nowrap;
}

/* Колонка действий — компактная и одинаковая в шапке и в строках. */
.hk-items-table th.col-actions[b-jklzzld1j5],
.hk-items-table td.col-actions[b-jklzzld1j5] {
    width: 64px;
    min-width: 64px;
}

.hk-items-table tbody td.hki-actions[b-jklzzld1j5] {
    padding: 6px 4px;
}

/* Действия этапа согласования — у своей части карты. */
.hk-editor-part-head .hk-stage-actions[b-jklzzld1j5] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* ── Этап реквизитов под полями дат ─────────────────────────────────────── */

.hk-editor-part-head--requisites[b-jklzzld1j5] {
    margin-top: 12px;
}

/* ── Выбор согласующего рядом с кнопкой отправки ────────────────────────── */

.hk-approver-field[b-jklzzld1j5] {
    display: flex;
    align-items: center;
    gap: 6px;
    /* Без переноса: иначе поле уходило на вторую строку и строка этапа
       разъезжалась по высоте — подпись, поле и кнопка стояли на разных
       уровнях. */
    flex-wrap: nowrap;
    /* Поле не сжимается: иначе содержимое выходило за его границы и
       кнопка отправки накладывалась на него. */
    flex: 0 0 auto;
}

.hk-approver-label[b-jklzzld1j5] {
    font-size: 11px;
    color: var(--muted);
    white-space: nowrap;
}

/* Шрифт поля меньше: полные имена согласующих обрезались по ширине.
   Высота поля совпадает с высотой кнопки — строка этапа выравнивается.
   Ширина не задаётся жёстко: у селекта своя собственная ширина по
   содержимому, и при фиксированной ширине поле выходило за свои границы —
   кнопка отправки накладывалась на него. */
.hk-approver-select[b-jklzzld1j5] {
    font-size: 11px;
    height: 25px;
    flex: 0 0 auto;
    /* Общий класс поля задаёт width:100% — из-за этого селект выходил за
       границы своей группы и кнопка отправки накладывалась на него. */
    width: auto;
    min-width: 130px;
    max-width: 200px;
    padding: 0 6px;
}

/* Пробел между выбором согласующего и кнопкой отправки: элементы строки
   не должны примыкать друг к другу. */
.hk-approver-field + .btn[b-jklzzld1j5] {
    margin-left: 10px;
}

.hk-approver-error[b-jklzzld1j5] {
    font-size: 11px;
    color: var(--bad);
}
/* _content/Chernika.Web/Pages/IndividualCardCreate.razor.rz.scp.css */
/* ---- D6: единая страница «Создать ИК» (полная ширина, паттерн «Составы техники») ---- */

/* Цели ИК — как вкладки на «Составах техники» (btnRow + btn primary/ghost) */
.ikTargetSegmented[b-ap99fn088w] {
    margin-bottom: 16px;
    flex-wrap: wrap;
}

/* Поиск объекта */
.ikObjectSearch input[b-ap99fn088w] {
    max-width: 420px;
}

/* Строки таблицы объектов: выбор кликом по строке */
.ikObjectRow[b-ap99fn088w] {
    cursor: pointer;
    user-select: none;
}

.ikObjectRow:hover td[b-ap99fn088w] {
    background: rgba(79, 140, 255, .07);
}

.ikObjectRow:focus[b-ap99fn088w] {
    outline: none;
}

.ikObjectRow:focus td[b-ap99fn088w] {
    box-shadow: inset 0 0 0 2px rgba(79, 140, 255, .35);
}

.ikObjectRow.selected td[b-ap99fn088w] {
    background: rgba(79, 140, 255, .12);
}

.ikObjectRow.selected td:first-child[b-ap99fn088w] {
    border-left: 2px solid var(--accent);
}

/* Блок «Выбранный объект / Нормативная готовность» */
.ikReadyBlock[b-ap99fn088w] {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    background: var(--panel2);
}

.ikReadyHeader[b-ap99fn088w] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.ikReadyTitle[b-ap99fn088w] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

.ikReadyValue[b-ap99fn088w] {
    font-size: 13px;
    color: var(--text);
    margin-top: 4px;
}

.ikTagOk[b-ap99fn088w] {
    color: var(--ok);
    border-color: var(--ok);
}

.ikTagBad[b-ap99fn088w] {
    color: var(--bad);
    border-color: var(--bad);
}

/* Список проблем — компактные буллеты без «полей» */
.ikGapList[b-ap99fn088w] {
    margin: 4px 0 4px 14px;
}

.ikGapItem[b-ap99fn088w] {
    position: relative;
    font-size: 13px;
    color: var(--text);
    padding: 3px 0 3px 14px;
}

.ikGapItem[b-ap99fn088w]::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--bad);
}

/* Шаг выбора root ХК (локальное поле, вне глобального .field) */
.wiz-field[b-ap99fn088w] {
    margin-bottom: 14px;
}

.wiz-fieldLabel[b-ap99fn088w] {
    display: block;
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 6px;
}

.wiz-levelCard[b-ap99fn088w] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 5px 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    background: var(--panel);
    cursor: pointer;
    font-size: 13px;
    color: var(--text);
    user-select: none;
    overflow: hidden;
}

.wiz-levelCard:hover[b-ap99fn088w] {
    border-color: var(--accent);
}

.wiz-levelCard.selected[b-ap99fn088w] {
    border-color: var(--accent);
    background: rgba(79, 140, 255, .14);
}

.wiz-levelCard input[type="radio"][b-ap99fn088w] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
    accent-color: var(--accent);
    cursor: pointer;
}

/* Общие подписи */
.hkc-error[b-ap99fn088w] {
    margin-bottom: 10px;
    color: var(--bad);
    font-size: 13px;
}

.hkv-row[b-ap99fn088w] {
    font-size: 13px;
    color: var(--text);
    margin: 6px 0;
}

.hkv-label[b-ap99fn088w] {
    color: var(--muted);
    font-weight: 600;
}

.hkv-muted[b-ap99fn088w] {
    font-size: 12px;
    color: var(--muted);
    padding: 2px 0 2px 12px;
}

/* Адаптив */
@media (max-width: 560px) {
    .ikObjectSearch input[b-ap99fn088w] {
        max-width: 100%;
    }

    .wiz-levelCard[b-ap99fn088w] {
        min-height: 38px;
        padding: 4px 10px;
    }
}
/* _content/Chernika.Web/Pages/IndividualCardDraft.razor.rz.scp.css */
/* ---- D4: выбор коэффициентов и расчёт черновика ИК ---- */

.hkc-group[b-21029ofmmo] {
    border: 1px solid var(--line);
    border-radius: var(--radius2, 10px);
    background: var(--panel2);
    padding: 10px 12px;
    margin-bottom: 10px;
}

.hkc-group-title[b-21029ofmmo] {
    font-size: 12px;
    font-weight: 700;
    color: var(--muted);
    margin-bottom: 6px;
}

.hkc-item[b-21029ofmmo] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 6px 8px;
    border-radius: var(--radius2, 10px);
    cursor: pointer;
    flex-wrap: wrap;
}

.hkc-item:hover[b-21029ofmmo] {
    background: rgba(79, 140, 255, .08);
}

.hkc-item.selected[b-21029ofmmo] {
    background: rgba(79, 140, 255, .16);
}

.hkc-item input[type="radio"][b-21029ofmmo] {
    accent-color: var(--accent);
    flex-shrink: 0;
}

.hkc-item-name[b-21029ofmmo] {
    font-size: 13px;
    color: var(--text);
}

.hkc-item-value[b-21029ofmmo] {
    font-size: 12px;
    color: var(--muted);
    margin-left: auto;
}

.hkc-item-desc[b-21029ofmmo] {
    flex-basis: 100%;
    font-size: 11px;
    color: var(--muted);
    padding-left: 24px;
}

.hkc-summary[b-21029ofmmo] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 13px;
    color: var(--text);
    margin-top: 4px;
}

.hkc-summary .btn[b-21029ofmmo] {
    margin-left: auto;
}

.hkc-problems[b-21029ofmmo] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.hkc-error[b-21029ofmmo] {
    margin-bottom: 10px;
    color: var(--bad);
    font-size: 13px;
}

.hkc-subtitle[b-21029ofmmo] {
    font-size: 13px;
    font-weight: 600;
    margin: 14px 0 8px;
}

.hkc-material-row td[b-21029ofmmo] {
    color: var(--muted);
    font-size: 12px;
}

.hkc-gost[b-21029ofmmo] {
    color: var(--muted);
    font-size: 11px;
    margin-left: 8px;
}

/* ---- D5: сравнение версий и архивирование ---- */

.hkv-modal[b-21029ofmmo] {
    max-width: 720px;
}

.hkv-row[b-21029ofmmo] {
    font-size: 13px;
    color: var(--text);
    margin: 6px 0;
}

.hkv-label[b-21029ofmmo] {
    color: var(--muted);
    font-weight: 600;
}

.hkv-diff-row[b-21029ofmmo] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    padding: 3px 0;
    font-size: 13px;
    color: var(--text);
}

.hkv-wasstalo[b-21029ofmmo] {
    color: var(--muted);
    font-size: 12px;
}

.hkv-muted[b-21029ofmmo] {
    font-size: 12px;
    color: var(--muted);
    padding: 6px 0 6px 12px;
}

.hkr-context[b-21029ofmmo] {
    color: var(--muted);
    font-size: 11px;
    max-width: 420px;
    overflow-wrap: anywhere;
}
/* _content/Chernika.Web/Pages/IndividualCards.razor.rz.scp.css */
/* ---- D6: реестр индивидуальных карт ---- */

.hkr-filters[b-sec4dc456e] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.hkr-search[b-sec4dc456e] {
    flex: 1 1 220px;
    min-width: 180px;
}

.hkr-select[b-sec4dc456e],
.hkr-date[b-sec4dc456e] {
    max-width: 180px;
}

.hkr-check[b-sec4dc456e] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--muted);
    cursor: pointer;
    white-space: nowrap;
}

.hkr-version[b-sec4dc456e] {
    color: var(--muted);
    font-size: 11px;
}

.hkr-context[b-sec4dc456e] {
    color: var(--muted);
    font-size: 11px;
}

.hkr-actions[b-sec4dc456e] {
    white-space: nowrap;
}

.hkr-actions .linkBtn[b-sec4dc456e] {
    margin-right: 6px;
}

.hkr-pager[b-sec4dc456e] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    font-size: 12px;
    color: var(--muted);
}

@media (max-width: 1120px) {
    .hkr-filters[b-sec4dc456e] {
        gap: 8px;
    }
    .hkr-select[b-sec4dc456e],
    .hkr-date[b-sec4dc456e] {
        max-width: 150px;
    }
}

@media (max-width: 560px) {
    .hkr-check[b-sec4dc456e] {
        font-size: 11px;
    }
    .hkr-context[b-sec4dc456e],
    .hkr-version[b-sec4dc456e] {
        font-size: 10px;
    }
}
/* _content/Chernika.Web/Shared/BranchSelect.razor.rz.scp.css */
.bs-select[b-j4tuvculce] {
    font-family: var(--font);
}

.bs-select-anchor[b-j4tuvculce] {
    position: relative;
}

.bs-select-trigger[b-j4tuvculce] {
    width: 100%;
    border: 1px solid rgba(32, 50, 86, .85);
    background: rgba(11, 18, 32, .65);
    color: var(--text);
    border-radius: 10px;
    padding: 10px;
    outline: none;
    font-size: 13px;
    font-family: var(--font);
    text-align: left;
    cursor: pointer;
    color: var(--muted);
}

.bs-select-trigger:hover[b-j4tuvculce] {
    border-color: rgba(79, 140, 255, .4);
}

.bs-select-tag[b-j4tuvculce] {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(79, 140, 255, .4);
    background: rgba(79, 140, 255, .14);
    color: var(--text);
    border-radius: 10px;
    padding: 6px 6px 6px 10px;
    font-size: 13px;
}

.bs-select-tag-text[b-j4tuvculce] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bs-select-clear[b-j4tuvculce] {
    border: none;
    background: transparent;
    color: var(--muted);
    font-size: 15px;
    line-height: 1;
    padding: 2px 6px;
    cursor: pointer;
    border-radius: 6px;
}

.bs-select-clear:hover[b-j4tuvculce] {
    color: var(--bad);
    background: rgba(255, 80, 80, .1);
}

.bs-select-dropdown[b-j4tuvculce] {
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(32, 50, 86, .85);
    border-radius: 12px;
    background: rgba(11, 18, 32, .98);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
    padding: 6px;
    overflow: hidden;
    font-family: var(--font);
}

.bs-select-search[b-j4tuvculce] {
    width: 100%;
    border: 1px solid rgba(32, 50, 86, .85);
    background: rgba(11, 18, 32, .65);
    color: var(--text);
    border-radius: 8px;
    padding: 8px 10px;
    outline: none;
    font-size: 13px;
    margin-bottom: 6px;
    box-sizing: border-box;
}

.bs-select-search:focus[b-j4tuvculce] {
    border-color: rgba(79, 140, 255, .4);
    box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}

.bs-select-list[b-j4tuvculce] {
    overflow-y: auto;
}

.bs-select-item[b-j4tuvculce] {
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bs-select-item:hover[b-j4tuvculce] {
    background: rgba(79, 140, 255, .16);
}

.bs-select-create[b-j4tuvculce] {
    margin-top: 4px;
    border-top: 1px solid rgba(79, 140, 255, .25);
    border-radius: 0 0 8px 8px;
    padding-top: 10px;
    color: var(--accent);
    font-weight: 600;
}

.bs-select-empty[b-j4tuvculce] {
    padding: 10px;
    color: var(--muted);
    font-size: 13px;
}

.bs-select-trigger:focus-visible[b-j4tuvculce],
.bs-select-tag:focus-visible[b-j4tuvculce],
.bs-select-clear:focus-visible[b-j4tuvculce],
.bs-select-item:focus-visible[b-j4tuvculce] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(79, 140, 255, .12);
}

[data-theme="light"] .bs-select-trigger[b-j4tuvculce],
[data-theme="light"] .bs-select-search[b-j4tuvculce] {
    background: rgba(255, 255, 255, .94);
    border-color: rgba(111, 138, 178, .22);
}

[data-theme="light"] .bs-select-trigger:hover[b-j4tuvculce] {
    border-color: rgba(79, 140, 255, .38);
}

[data-theme="light"] .bs-select-dropdown[b-j4tuvculce] {
    background: var(--panel);
    border-color: rgba(111, 138, 178, .24);
    box-shadow: 0 14px 34px rgba(34, 61, 109, .14);
}
