/* styles-fact-outcol.css — стили UX-колонок «выхода» листа Факт
   (плановый выход / факт выхода / отклонения) и Справочника операций.

   Отдельный файл (новый код → новый файл): styles-plan.css — монолит ≥900 строк,
   правки туда без распила запрещены (FILE_SPLIT_PROTOCOL.md). Грузится ПОСЛЕ
   styles-plan.css, поэтому переопределения того же селектора выигрывают по порядку. */

/* Нейтральный серо-синий фон шапок трёх новых колонок листа Факт — выделить группу
   «выхода», не перекрикивая синие (#2f5f8a) заголовки. Пока только визуальный маркер,
   без логики (данные добавим позже). ID в селекторе → специфичность выше .plan-table th. */
.production-table-wrap #prodFactTable thead th.fact-outcol {
  background: linear-gradient(180deg, #6b7686, #535d6b);
}

/* «ед.выхода» в Справочнике операций — тот же нейтральный серо-синий, что у колонок
   «выхода» листа Факт (Мансур: «серым, как в листе факт»). */
.production-table-wrap #prodArchiveTable thead th.arc-outcol {
  background: linear-gradient(180deg, #6b7686, #535d6b);
}

/* Цветовой индикатор «отклонения» листа Факт (факт выхода / плановый выход):
   ≥97% зелёный, 90–96,9% жёлтый, <90% красный (образец Мансура). Осознанный
   «светофор» — именно как индикатор отклонения от нормы, полужирный текст. */
.fact-dev { font-weight: 700; }
.fact-dev-ok   { color: #1a7f47; }  /* норма / перевыполнено */
.fact-dev-warn { color: #b45309; }  /* есть отклонение */
.fact-dev-bad  { color: #c0362c; }  /* сильное отклонение */

/* Отменяющее правило для #prodFactTable nth-child(17)/(18) удалено 2026-08-03:
   оно гасило клип по номеру колонки из styles-plan-cells.css, а тот теперь
   переведён на класс (`plan-clip` для Плана, `fact-clip` ниже для Факта).
   Гасить больше нечего — правило было бы мёртвым кодом. */

/* Клип по КЛАССУ, а не по номеру колонки. Номера здесь уже дважды разъезжались:
   +3 колонки «выхода» увели «комментарии/файлы» с 17/18 на 23/24, а колонка
   «Приёмка СЗ» (2026-07-21) — с 23/24 на 24/25, и клип уехал на «ответственного»,
   пока «файлы СЗ» остались без него. Класс ставится в самой ячейке
   (`buildFactRow`), поэтому следующая колонка ничего не сдвинет. */
#prodFactTable tbody td.fact-clip {
  max-width: 0;
  overflow: hidden;
}

/* ── ОДНА колонка «выход» (2026-08-05) ──────────────────────────────────────
   Три прежние колонки («плановый выход» / «факт выхода» / «отклонения») свёрнуты
   в одну: в ячейке остаётся вводимое число и цветная точка, цифры — в карточке по
   наведению (fact-output-hover.js). Точка и её цвета повторяют «время к оплате»,
   чтобы в листе был один визуальный язык. */
.production-table-wrap #prodFactTable td.fact-out-cell {
  position: relative;
  white-space: nowrap;
  cursor: help;
  padding-right: 16px;      /* место под точку, чтобы она не наезжала на число */
}
/* Точка — абсолютно у правого края по центру строки, ровно как у «времени к
   оплате» (styles-time-norm.css). Инлайновая точка после кнопки ввода
   переносилась под неё: кнопка занимает всю ширину ячейки. */
.fact-out-dot {
  position: absolute;
  top: 50%;
  right: 6px;
  width: 7px;
  height: 7px;
  margin-top: -3px;
  border-radius: 50%;
}
.fact-out-ok   { background: #1a7f47; }
.fact-out-warn { background: #b45309; }
.fact-out-bad  { background: #c0362c; }

/* Мелкая подпись под количеством брака в «Отчёте потери»: «5 шт» и ниже
   «= 0,05 лист». Брак по выходу считается от планового выхода задания, и без
   второй строки «5 шт» рядом с заданием «2 листа» читается как ошибка. */
.report-loss-sub {
  font-size: 10px;
  color: #8b95a5;
  line-height: 1.2;
  margin-top: 1px;
}

/* Мелкая подпись под числом в ячейке листа Факт: «= 20 шт» под остатком.
   Основное число остаётся в единицах задания (как соседние «кол-во план» и
   «кол-во факт»), а подпись переводит его в изделия. */
.fact-sub-unit {
  font-size: 10px;
  color: #8b95a5;
  line-height: 1.2;
  margin-top: 1px;
}

/* Единица рядом с числом в ячейке количества («2 лист») — вместо отдельного
   столбца «ед.учета». Приглушена, чтобы главным оставалось число. */
.qty-unit {
  color: #6b7686;
  font-size: 11px;
  white-space: nowrap;
}
/* Ячейка количества: число (кнопка правки) и единица в одной строке по центру.
   Без этого блочная кнопка занимает всю ширину и единица переносится вниз. */
.production-table-wrap #prodPlanTable tbody td.qty-cell,
.production-table-wrap #prodFactTable tbody td.qty-cell {
  white-space: nowrap;
}
.production-table-wrap #prodPlanTable tbody td.qty-cell > .plan-inline-editable,
.production-table-wrap #prodFactTable tbody td.qty-cell > .plan-inline-editable {
  display: inline-block;
  width: auto;
  min-width: 2.5em;
}

/* «Доступно», когда комплект собран не целиком: пришло 0,88 балки — цифра есть,
   а работать нечем. Красный говорит мастеру, что участок ждёт остаток; старт
   такого задания сервер и так не пускает (владелец, 2026-08-10). */
.fact-avail-partial {
  color: #d8453f;
  font-weight: 700;
}

/* Закрытая строка (замок финализации) — выход только показывается. Пустое
   значение выглядит плейсхолдером, чтобы колонка не «прыгала» (2026-08-12). */
.fact-out-empty {
  color: #90a3b8;
  font-size: 11px;
}

/* Ячейка выхода правится по тем же правилам, что «кол-во факт» (2026-08-13):
   кнопка ввода ведёт себя как в колонках количества — по содержимому и по
   центру, иначе блочная кнопка занимает всю ячейку и единица («кг») переносится
   на вторую строку, а точка отклонения наезжает на число. */
.production-table-wrap #prodFactTable tbody td.fact-out-cell > .plan-inline-editable {
  display: inline-block;
  width: auto;
  min-width: 2.5em;
  cursor: pointer;
}
