/* Листы «План», «Факт» и «Бухгалтерия»: задания собраны по ПЗ (app-prod-pz-groups.js, 08.10.2026;
   Бухгалтерия — группы ПЗ и бригад, app-report-accounting-groups.js, 22.10.2026).
   Одинаковые вещи выглядят одинаково: шапка группы и стрелки одни на все три листа. */
/* !important — клик по стрелке не должен красить шапку «выделением строки»
   (.employee-row-selected тоже !important, но id-селектор сильнее). */
#prodPlanTable tbody tr.pz-group-head td,
#prodFactTable tbody tr.pz-group-head td,
#reportAccountingTable tbody tr.pz-group-head td {
  background: #dde7f3 !important;
  font-weight: 600;
  border-top: 2px solid #b9cadf;
  /* Шапка заказа — сплошная полоса, без вертикальных линий колонок (владелец, 12.10.2026). */
  border-right-color: transparent;
}
/* Весь заказ закрыт (все строки серые) — шапка спокойнее, но остаётся шапкой. */
#prodPlanTable tbody tr.pz-group-head.pz-group-closed td,
#prodFactTable tbody tr.pz-group-head.pz-group-closed td {
  color: #6f7d92;
}
/* «не закрыто N» — светло-красная плашка, текст обычный тёмный: недоделанное видно
   в свёрнутом заказе, но не кричит (владелец: красный фон + красный текст — перебор). */
.pz-group-open {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  background: #fde2e2;
  color: #1d2a3b;
  font-weight: 600;
}
#prodPlanTable tbody tr[data-pz-hidden="1"],
#prodFactTable tbody tr[data-pz-hidden="1"],
#reportAccountingTable tbody tr[data-pz-hidden="1"] {
  display: none;
}
.pz-group-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-right: 4px;
  padding: 0;
  border: none;
  background: transparent;
  color: #2a4768;
  font-size: 10px;
  line-height: 1;
  cursor: pointer;
  vertical-align: middle;
}
.pz-group-toggle:hover { color: #0d2946; }
/* Общая стрелка в шапке таблицы — цвет шапки. */
.pz-group-toggle.pz-group-master { color: inherit; }
.pz-group-toggle[hidden] { display: none; }
/* «Бухгалтерия»: «№ задания» скрыт шестерёнкой — заказ сворачивает стрелка в «№ ПЗ». */
#reportAccountingTable:has(th[data-col-index="1"].is-col-hidden) .pz-group-toggle.pz-group-toggle-alt { display: inline-block; }
/* Факт: кружки участков заказа рядом с «N заданий · не закрыто» (app-prod-pz-route.js,
   12.10.2026). Одной строкой, как в макете: кружки справа от текста и, если ячейке тесно,
   заходят на пустые соседние ячейки шапки, а не переносятся вторым этажом. */
#prodFactTable tbody tr.pz-group-head td:has(.pz-group-route) {
  overflow: visible;
  white-space: nowrap;
}
/* Нулевая ширина держателя: кружки не раздвигают колонку (ширины листа — пользовательские),
   а рисуются поверх пустых ячеек шапки справа. */
.pz-group-route {
  display: inline-flex;
  position: relative;
  z-index: 2;
  width: 0;
  margin-left: 12px;
  vertical-align: middle;
}
.pz-group-route:empty { display: none; }
.pz-group-route .route-chain {
  width: auto;
  overflow: visible;
}
/* Шаги одной ширины — линия между кружками идёт от центра к центру; длинное название
   участка обрезается многоточием (полное — в подсказке шага). Кружки мельче, чем в
   «Заказах» (владелец, 12.10.2026: «чуть уменьшить»): 22px вместо 30px. */
.pz-group-route .route-chain-step {
  flex: 0 0 66px;
  gap: 2px;
  padding: 0 3px;
  box-sizing: border-box;
}
.pz-group-route .route-chain-step::before { top: 10px; }
.pz-group-route .route-chain-dot {
  width: 22px;
  height: 22px;
  font-size: 8px;
}
.pz-group-route .route-chain-dot::before { inset: 2px; }
.pz-group-route .route-chain-pct { font-size: 6px; }
.pz-group-route .route-chain-name { font-size: 8.5px; }
.pz-group-route .route-chain-defect { right: -6px; width: 7px; height: 7px; }
