/* SynnFrameFW — плотность интерфейса.
 *
 * Подключается ПОСЛЕ темы Syncfusion. Селекторы намеренно повторяют
 * специфичность темы (`.e-grid .e-rowcell` = 0,2,0): при равной специфичности
 * побеждает правило, объявленное позже, поэтому `!important` здесь не нужен.
 * Если этот файл окажется подключён раньше темы — правила молча перестанут
 * действовать (это единственная причина, по которой порядок важен).
 *
 * Зачем: Fluent 2 даёт строку грида ~48px (padding 12px + line-height 20px).
 * Для ERP, где смотрят сотни строк, это половина экрана впустую. Собственного
 * компактного режима (`.e-small`) у грида в теме нет — отсюда этот слой.
 */

/* ── Грид: высота строки из плотности (--row-h, css/tokens.css) ────────
 * Плотный 32 / Обычный 40 / Сенсорный 48. Высота задаётся отступами ячейки
 * (строка = line-height 20 + 2 × отступ + граница 1), а не height у <tr>:
 * виртуальная прокрутка грида считает строки сама. Шапка — на ступень ниже. */
.e-grid .e-rowcell {
  padding-top: calc((var(--row-h) - 21px) / 2);
  padding-bottom: calc((var(--row-h) - 21px) / 2);
}
.e-grid .e-headercell {
  padding-top: calc((var(--row-h) - 29px) / 2);
  padding-bottom: calc((var(--row-h) - 29px) / 2);
}

/* ── Числа: моноширинные цифры и выравнивание вправо ────────────────
 * Разряды в колонках сумм/количеств должны совпадать по вертикали —
 * иначе числа невозможно сравнивать взглядом. */
.e-grid .e-rowcell.synn-num,
.e-grid .e-rowcell.e-gridnumber {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
