/* ============================================================
   ShipFlow · print.css 3.2 (сайт 90.0, задача 2) — ПЕЧАТЬ ТРАНСПОРТНОЙ
   НАКЛАДНОЙ «РАЗГРУЗКИ ГРУЗА» БОЛЬШЕ НЕ ОБРЕЗАЕТСЯ СПРАВА. Причина (найдена
   прогоном листа в headless-Chromium): блок полей под запись (.pr-dw) был
   flex-строкой БЕЗ переноса — шесть полей накладной («Номер машины … Расхождения
   по местам») вытягивались в одну линию шириной ~1840 px при листе 794 px,
   лист становился шире страницы, и правый край (колонки «Принято» и «Отметка»,
   часть шапки) уходил за обрез. Исправлено:
     • .pr-dw — flex-wrap:wrap (поля переносятся строками), .pr-fld не растягивает лист;
     • таблица листа — max-width:100%, ячейки переносят длинные значения
       (overflow-wrap:anywhere), ширины колонок задаются в % (см. receiving.js);
     • реквизиты шапки справа (.pr-meta) ограничены половиной ширины и переносятся;
     • реквизиты документа (.pr-kv) — колонки значений minmax(0,1fr): длинная
       «Структура мест» не раздвигает сетку;
     • клетка под отметку маркером в строке таблицы (.pr-box) центрирована.
   Механика печати (@page margin:0, body.printing68) не менялась.
   ============================================================ */
/* ============================================================
   ShipFlow · print.css 3.1 (сайт 87.0, задачи 7 и 8) — + текстовые блоки
   листа (.pr-blocks / .pr-block: заголовок + текст или линии под запись
   от руки) для акта выполнения работ; значение на линии подписи
   (.pr-line.has-val .pr-line-val) — «Собрал», «Работу сдал» печатаются
   с ФИО и датой, когда они известны; строка исполнителя позиции в
   заявке на сборку (.pr-by).
   ============================================================ */
/* ============================================================
   ShipFlow · print.css 3.0 (сайт 86.0, задачи 10 и 11) — единый печатный
   лист core/printsheet.js: те же классы, что у «Заявки на сборку»
   (#print-root68), + таблицы с явными ширинами колонок (colgroup,
   .pr-tbl86 — правила nth-child заявки на них не действуют), заголовок
   документа по центру (.pr-title/.pr-sub), реквизиты двумя колонками
   (.pr-kv), строки итогов (.pr-total), примечания (.pr-note), подвал
   (.pr-foot86); альбомная ориентация — printsheet.js вставляет @page landscape на время печати.
   Механика печати 2.0 не менялась.
   ============================================================ */
/* ============================================================
   ShipFlow · print.css 2.0 (сайт 69.0, задача 4) — печатная форма
   «Заявка на сборку» переработана:
     • КОЛОНТИТУЛЫ БРАУЗЕРА ПОДАВЛЕНЫ: @page margin:0 — браузеру
       негде печатать дату, заголовок вкладки («Заявки · Сборка —
       ShipFlow»), ссылку на модуль и номер страницы; поля листа
       задаёт padding самого листа #print-root68;
     • новая шапка: SOR + ПУСТАЯ ГРАФА SDN (линия под запись),
       строка «Тип заявки» с клетками под галочку маркером;
     • блок «Габариты / Вес» с линиями под запись;
     • подписи «Собрал / Проверил — ФИО · дата · время»;
     • дубли убраны: «Собрано X из Y», нижний колонтитул, повторы
       времени формирования листа.
   Механика 1.0 сохранена: строго A4 КНИЖНОЙ ориентации, строки
   таблицы не разрываются (break-inside:avoid), шапка таблицы
   повторяется на каждой странице (display:table-header-group).
   На экране лист невидим; из диалога печати доступен PDF.
   ============================================================ */
#print-root68{display:none}

@media print{
  /* 69.0 (задача 4): нулевые поля страницы прячут колонтитулы браузера
     (дата и заголовок сверху, URL модуля и номер страницы снизу);
     реальные поля листа — padding контейнера ниже */
  @page{size:A4 portrait;margin:0}
  html,body{background:#fff!important;height:auto!important;overflow:visible!important;margin:0!important}
  /* на печать уходит ТОЛЬКО лист заявки */
  body.printing68 > *:not(#print-root68){display:none!important}
  #print-root68{
    display:block;color:#101014;
    padding:13mm 12mm 15mm;
    font-family:"ROCH Grotesk","Segoe UI",Roboto,Arial,sans-serif;
    font-size:12px;line-height:1.45;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
  }
  #print-root68 .pr-head{
    display:flex;justify-content:space-between;align-items:flex-start;gap:8mm;
    border-bottom:2.5px solid #e2001a;padding-bottom:4mm;margin-bottom:3.5mm;
  }
  #print-root68 .pr-brand{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#55555e}
  /* 69.0 (задача 4): SOR и пустая графа SDN в одну строку */
  #print-root68 .pr-sorrow{display:flex;align-items:baseline;gap:8mm;margin-top:2mm}
  #print-root68 .pr-sor{font-size:26px;font-weight:800;letter-spacing:.02em}
  #print-root68 .pr-sdn{display:flex;align-items:baseline;gap:2.5mm}
  #print-root68 .pr-cli{font-size:14px;font-weight:700;margin-top:1mm}
  #print-root68 .pr-meta{flex:0 1 auto;max-width:50%;text-align:right;font-size:11.5px}
  #print-root68 .pr-meta .mr{margin-top:1.2mm;white-space:nowrap}
  #print-root68 .pr-meta .mk{color:#55555e;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:9.5px;margin-right:5px}
  #print-root68 .pr-meta .mv{font-weight:750}
  /* подпись поля и линия под запись маркером */
  #print-root68 .pr-fcap{font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#55555e;white-space:nowrap}
  #print-root68 .pr-fline{
    display:inline-block;min-width:34mm;border-bottom:1.2px solid #101014;
    padding:0 2mm .5mm;font-size:13px;font-weight:750;letter-spacing:.03em;text-align:center;
  }
  /* 69.0 (задача 4): строка «Тип заявки» — клетки под галочку */
  #print-root68 .pr-types{
    display:flex;align-items:center;gap:7mm;margin:0 0 3.5mm;
    padding:2.4mm 3mm;border:1px solid #b9b9c1;border-radius:1.5mm;
  }
  #print-root68 .pr-type{display:inline-flex;align-items:center;gap:2.2mm;font-size:11.5px;font-weight:700}
  #print-root68 table.pr-tbl{width:100%;border-collapse:collapse;table-layout:fixed}
  #print-root68 thead{display:table-header-group}
  #print-root68 tr{page-break-inside:avoid;break-inside:avoid}
  #print-root68 th{
    text-align:left;font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
    color:#55555e;border-bottom:1.5px solid #101014;padding:2mm 2mm 1.5mm;
  }
  #print-root68 td{
    border-bottom:.6px solid #b9b9c1;padding:2.4mm 2mm;vertical-align:top;
    word-wrap:break-word;overflow-wrap:break-word;
  }
  /* колонки: № · артикул · наименование · кол-во · где взять · отметка */
  #print-root68 th:nth-child(1),#print-root68 td:nth-child(1){width:8mm}
  #print-root68 th:nth-child(2),#print-root68 td:nth-child(2){width:26mm}
  #print-root68 th:nth-child(4),#print-root68 td:nth-child(4){width:17mm}
  #print-root68 th:nth-child(5),#print-root68 td:nth-child(5){width:52mm}
  #print-root68 th:nth-child(6),#print-root68 td:nth-child(6){width:24mm}
  #print-root68 td.c{text-align:center}
  #print-root68 td.m{font-weight:750;letter-spacing:.02em}
  #print-root68 .pr-box{
    display:inline-block;width:5mm;height:5mm;border:1.2px solid #101014;border-radius:1mm;vertical-align:middle;
  }
  #print-root68 .pr-box.on{background:#101014}
  #print-root68 .pr-done{font-size:10px;font-weight:700;margin-left:2mm}
  /* 69.0 (задача 4): габариты и вес под запись */
  #print-root68 .pr-dw{display:flex;flex-wrap:wrap;gap:4mm 12mm;margin-top:7mm;page-break-inside:avoid;break-inside:avoid;align-items:baseline}   /* 90.0 (задача 2): поля переносятся — лист не шире страницы */
  #print-root68 .pr-dw .pr-fld{display:flex;align-items:baseline;gap:2.5mm}
  #print-root68 .pr-dw .pr-fld.wide .pr-fline{min-width:58mm}
  #print-root68 .pr-sign{display:flex;gap:16mm;margin-top:12mm;page-break-inside:avoid;break-inside:avoid}
  #print-root68 .pr-sign > div{flex:1 1 0}
  #print-root68 .pr-line{border-bottom:1px solid #101014;height:9mm}
  #print-root68 .pr-cap{font-size:9.5px;color:#55555e;margin-top:1.5mm;letter-spacing:.04em}
}

/* ==================== 86.0 (задачи 10 и 11): единый печатный лист core/printsheet.js ==================== */
@media print{
  #print-root68.pr-landscape{ padding:11mm 12mm 13mm }
  /* ширины колонок задаёт colgroup — правила nth-child заявки на сборку не применяются */
  #print-root68 table.pr-tbl86 th,#print-root68 table.pr-tbl86 td{width:auto}
  #print-root68 table.pr-tbl86 th.c,#print-root68 table.pr-tbl86 td.c{text-align:center}
  #print-root68 table.pr-tbl86 th.r,#print-root68 table.pr-tbl86 td.r{text-align:right;font-variant-numeric:tabular-nums}
  #print-root68 table.pr-tbl86 td.m{font-weight:750;letter-spacing:.02em}
  #print-root68 .pr-total td{border-bottom:0;border-top:1.5px solid #101014;font-weight:800;padding-top:2.6mm}
  #print-root68 .pr-title{font-size:15px;font-weight:800;text-align:center;margin:2mm 0 3mm;letter-spacing:.02em}
  #print-root68 .pr-sub{font-size:11px;text-align:center;color:#55555e;margin:-2mm 0 3mm}
  #print-root68 .pr-kv{display:grid;grid-template-columns:max-content 1fr max-content 1fr;gap:1.4mm 5mm;margin:0 0 3.5mm;font-size:11.5px;
    padding:2.4mm 3mm;border:1px solid #b9b9c1;border-radius:1.5mm;page-break-inside:avoid;break-inside:avoid}
  #print-root68 .pr-kv .k{color:#55555e;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:9.5px;padding-top:.6mm;white-space:nowrap}
  #print-root68 .pr-kv .v{font-weight:650;overflow-wrap:anywhere}
  #print-root68 .pr-note{margin-top:3mm;font-size:11px;line-height:1.45;color:#222;page-break-inside:avoid;break-inside:avoid}
  #print-root68 .pr-foot86{margin-top:6mm;font-size:9.5px;color:#55555e;letter-spacing:.03em}
  #print-root68 .pr-sign.pr-sign3 > div{flex:1 1 0}
  /* 87.0 (задача 7): текстовые блоки акта — заголовок в стиле шапки таблицы, текст или линии под запись */
  #print-root68 .pr-blocks{display:grid;gap:3.5mm;margin-top:4mm}
  #print-root68 .pr-block{page-break-inside:avoid;break-inside:avoid}
  #print-root68 .pr-block-cap{font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#55555e;border-bottom:1.5px solid #101014;padding-bottom:1.2mm;margin-bottom:1.6mm}
  #print-root68 .pr-block-txt{font-size:11.5px;line-height:1.5;white-space:pre-wrap;padding:0 1mm}
  #print-root68 .pr-rule{border-bottom:.6px solid #b9b9c1;height:7mm}
  /* 87.0 (задача 8): известное значение на линии подписи (ФИО · дата · время) */
  #print-root68 .pr-line.has-val{display:flex;align-items:flex-end;justify-content:center}
  #print-root68 .pr-line-val{font-size:11px;font-weight:700;padding-bottom:1mm;letter-spacing:.01em}
  #print-root68 .pr-by{display:block;font-size:9px;color:#55555e;margin-top:.6mm;white-space:nowrap}
}

/* ==================== 90.0 (задача 2): лист не шире страницы ==================== */
@media print{
  #print-root68{max-width:100%;overflow-wrap:anywhere}
  #print-root68 .pr-head{min-width:0}
  #print-root68 .pr-head > div{min-width:0}
  /* реквизиты справа: длинные значения (файл, «кто · когда») переносятся, а не растягивают шапку */
  #print-root68 .pr-meta.pr-meta-wrap .mr{white-space:normal;overflow-wrap:anywhere}
  #print-root68 table.pr-tbl{max-width:100%}
  #print-root68 table.pr-tbl86 td{overflow-wrap:anywhere}
  #print-root68 .pr-kv{grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr)}
  #print-root68 .pr-fld{max-width:100%}
  #print-root68 .pr-fld .pr-fline{max-width:100%}
  #print-root68 td .pr-box{display:block;margin:0 auto}
  #print-root68 .pr-sign{flex-wrap:wrap}
  #print-root68 .pr-sign > div{flex:1 1 44mm;min-width:44mm}
}
