/* Расчёт поставок: дерево товаров, кластеров и складов с днями заказов. */
.sc-grid { font-variant-numeric: tabular-nums; }
.sc-grid th, .sc-grid td { white-space: nowrap; }
.sc-grid th.sticky, .sc-grid td.sticky { position: sticky; left: 0; background: var(--surface); z-index: 1; min-width: 280px; }
.sc-grid thead th { vertical-align: bottom; }
/* Узкие колонки: название в шапке переносится на строки, числа — плотнее. */
.sc-grid th.wrap { white-space: normal; width: 1%; min-width: 56px; line-height: 1.25; }
.sc-grid td.num, .sc-grid th.num { padding-left: 6px; padding-right: 6px; }
.sc-grid th.days-head { text-align: center; }
.sc-grid .day { min-width: 30px; padding-left: 4px; padding-right: 4px; color: var(--muted); }
.sc-grid td.day.up { color: var(--good); font-weight: 600; }
.sc-grid td.day.down { color: var(--bad); font-weight: 600; }
.sc-grid td.strong { font-weight: 600; }
.sc-grid td.low { color: var(--bad); font-weight: 600; }
.sc-name { display: flex; align-items: center; gap: 6px; }
.sc-grid td.lvl1 .sc-name { padding-left: 22px; }
.sc-grid td.lvl2 .sc-name { padding-left: 44px; }
.sc-grid tr.sc-warehouse td { color: var(--muted); font-size: 13px; }
.sc-grid tr.sc-cluster .sc-cluster { font-weight: 600; }
.sc-grid tr.total td { border-top: 2px solid var(--line); font-weight: 600; }
.sc-toggle { border: 0; background: none; color: var(--muted); cursor: pointer; width: 18px; padding: 0; flex: none; }
.sc-toggle:disabled { cursor: default; }
.sc-link { border: 0; background: none; padding: 0; font: inherit; color: var(--accent); cursor: pointer; }
.sc-link:hover { text-decoration: underline; }
.trend { margin-left: 4px; font-size: 11px; }
.trend.up { color: var(--good); }
.trend.down { color: var(--bad); }
.sc-grid .product { min-width: 0; }
