/* styles-prod-order-norm.css — лист «Норма материала» заказа (pages-prod-order-norm.js, 31.10.2026).
   Лист того же вида, что «Состав ПЗ»: таблица .plan-table внутри .production-table-wrap (шрифт,
   шапка, линии, прокрутка — оттуда). Здесь только поля ввода в ячейках — рамкой как у даты
   «План производства» (.plan-planned-date) — и подсветка ошибок. Шрифт не задаётся: наследуется
   от ячейки листа, поэтому везде один. */

.pn-title { align-self: center; margin-left: 6px; color: #dbe7f7; font-weight: 700; font-size: 13px; white-space: nowrap; }

#prodOrderNormTable { table-layout: fixed; }
#prodOrderNormTable > tbody > tr > td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
#prodOrderNormTable > tbody > tr > td:focus-within { overflow: visible; }
#prodOrderNormTable td.pn-c { text-align: center; }
#prodOrderNormTable th { position: relative; }
#prodOrderNormTable td.pn-gear-td { background: transparent; border-right: 0; }
#prodOrderNormTable td.pn-num { text-align: right; }
#prodOrderNormTable td.pn-item { white-space: normal; line-height: 1.25; }
#prodOrderNormTable tr.pn-first > td { border-top: 1px solid #b9cadf; }
#prodOrderNormTable .pn-sep { border-left: 2px solid #9fb3d1; }
#prodOrderNormTable th.pn-sz-th { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Поле: рамка, число справа, единица — маленькая выпадашка внутри той же рамки. */
#prodOrderNormTable .pn-cell { display: flex; align-items: center; gap: 2px; box-sizing: border-box; width: 100%; border: 1px solid #cdd5e0; border-radius: 4px; background: #fff; padding: 0 3px; min-height: 24px; }
#prodOrderNormTable .pn-in { flex: 1 1 auto; min-width: 0; width: 100%; border: 0; background: transparent; font: inherit; color: inherit; padding: 3px 1px; text-align: right; outline: 0; }
#prodOrderNormTable .pn-in.pn-txt { text-align: left; }
#prodOrderNormTable .pn-u { flex: 0 0 auto; color: #5d6b80; }
#prodOrderNormTable .pn-need { flex: 1 1 auto; text-align: right; font-weight: 700; padding-right: 2px; }

/* Размеры: заказано (серым) над полем «со слоя». */
#prodOrderNormTable td.pn-sz { text-align: center; padding: 2px 3px; }
#prodOrderNormTable .pn-sz-q { color: #5d6b80; line-height: 1.2; min-height: 12px; }
#prodOrderNormTable .pn-sz-in { box-sizing: border-box; width: 100%; border: 1px solid #cdd5e0; border-radius: 4px; background: #fff; text-align: center; font-weight: 700; padding: 2px 1px; }
#prodOrderNormTable td.pn-sz-none { background: #eef2f7; }

/* Кто заполнил: серое — считает система, жёлтое — вписал мастер, пунктир — поле не нужно. */
#prodOrderNormTable td.pn-sys { color: #40506d; }
#prodOrderNormTable .pn-cell.pn-calc { background: #eef2f7; }
#prodOrderNormTable .pn-cell.pn-calc .pn-in, #prodOrderNormTable .pn-cell.pn-man .pn-in { font-weight: 700; }
#prodOrderNormTable .pn-cell.pn-man { background: #fff7d6; border-color: #e6c95c; }
#prodOrderNormTable .pn-cell.pn-off { background: #f4f6f9; border-style: dashed; }
#prodOrderNormTable .pn-cell.pn-off .pn-in { color: #9aa6b6; }
#prodOrderNormTable [data-pn-f="need"] { background: #eef2f7; }

/* Ошибка — подсветка самого поля, текст при наведении; на «Сохранить» — тост. */
#prodOrderNormTable .pn-cell.pn-err, #prodOrderNormTable .pn-sz-in.pn-err { border-color: #d93a3a; box-shadow: 0 0 0 1px #d93a3a; background: #fdecec; }
#prodOrderNormTable .pn-cell.pn-warn, #prodOrderNormTable .pn-sz-in.pn-warn { border-color: #e08a00; box-shadow: 0 0 0 1px #e08a00; background: #fff5e6; }

#prodOrderNormTable tr.pn-tot > td { font-weight: 700; background: #eef3fa; border-top: 2px solid #9fb3d1; white-space: normal; }
#prodOrderNormTable .pn-miss { color: #b26b00; }

/* Единица в поле — выпадашка ячейки листа (.emp-list-cell-wrap): подпись + ▾ внутри рамки. */
#prodOrderNormTable .pn-unit-wrap { flex: 0 0 auto; }
#prodOrderNormTable .pn-unit-btn { display: flex; align-items: center; gap: 2px; color: #5d6b80; font: inherit; white-space: nowrap; padding: 0 1px; }
#prodOrderNormTable .pn-unit-btn .cell-caret { font-size: 8px; }
#prodOrderNormTable .pn-unit-menu { min-width: 64px; right: 0; left: auto; }
#prodOrderNormTable .pn-unit-menu .emp-list-cell-option { font: inherit; white-space: nowrap; }
#prodOrderNormTable > tbody > tr > td:has(.pn-unit-wrap.open) { overflow: visible; }

/* «шт со слоя» → размеры (02.11.2026): разложила система — серое, вписал мастер — жёлтое (цвет = источник, свод §2). */
#prodOrderNormTable .pn-sz-in.pn-sz-auto { background: #eef2f7; }
#prodOrderNormTable .pn-sz-in.pn-sz-man { background: #fff7d6; border-color: #e6c95c; }

/* Строка нормы, чей крой уже в заданиях, — заперта: серая, как крой в работе в «Плане кроя»
   (styles-prod-order-cut.css .pk-sent); 🔒 у № — pages-prod-order-row-lock.js. */
#prodOrderNormTable tr.pn-locked > td { background: #f1f4f8; color: #5d6b80; }
#prodOrderNormTable tr.pn-locked .pn-cell, #prodOrderNormTable tr.pn-locked .pn-sz-in { background: #f1f4f8; border-color: #e1e7ef; color: #5d6b80; }
.pz-row-lock { margin-left: 4px; font-size: 11px; cursor: help; }
