/* Печать рабочих списков: окно выбора и сам лист. На листе — только таблица, без интерфейса программы. */
.printform { display: flex; flex-direction: column; gap: 18px; }
.printform fieldset { border: 0; margin: 0; padding: 0; }
.printform legend { margin-bottom: 8px; padding: 0; }
.checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 4px 12px; }
.check { display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: 15px; cursor: pointer; }
.check input { width: 20px; height: 20px; accent-color: var(--night); flex-shrink: 0; }
.seg button[disabled] { opacity: .45; cursor: default; }
.addblank { display: flex; gap: 8px; margin-top: 6px; }
.addblank input { flex: 1; height: 44px !important; font-size: 15px !important; }
.printpreview { border: 1px dashed #C9CEE0; border-radius: 16px; padding: 14px; background: #fff; overflow-x: auto; }
.pp-head { font-size: 13px; color: var(--muted); margin-bottom: 8px; }
.printpreview .pt { font-size: 11px; }

/* Таблица листа — общая для просмотра и печати */
.pt { width: 100%; table-layout: fixed; border-collapse: collapse; font: 12px/1.3 var(--text); color: #000; margin-bottom: 10px; }
.pt th, .pt td { border: 1px solid #555; padding: 4px 6px; text-align: left; vertical-align: middle; }
.pt td { overflow-wrap: anywhere; }
.pt th { background: #EEF0F5; font-weight: 600; font-size: 11px; }
.pt td.inv { font: 700 13px var(--mono); }
.pt .n { width: 30px; text-align: right; color: #444; }
.pt td.blank { height: 26px; }
.pt.big { font-size: 15px; }
.pt.big td.inv { font-size: 16px; }
.pt.big td.blank { height: 34px; }
.pt tr.grp th { background: #fff; border: 0; border-bottom: 2px solid #000; font: 700 13px var(--text); padding: 10px 0 4px; }
#print-root { display: none; }

@media print {
  @page { size: A4 portrait; margin: 12mm 10mm; }
  body.printing > *:not(#print-root) { display: none !important; }
  body.printing { background: #fff; }
  body.printing #print-root { display: block; }
  .pt thead { display: table-header-group; }
  .pt tr { break-inside: avoid; }
  .pt.newpage { break-before: page; }
  .ph { display: flex; justify-content: space-between; gap: 20px; border-bottom: 2px solid #000; padding-bottom: 6px; margin-bottom: 10px; font: 12px var(--text); }
  .ph b { display: block; font: 700 18px var(--display); }
  .ph-r { text-align: right; }
  .pf { display: flex; justify-content: space-between; gap: 16px; margin-top: 18px; font: 12px var(--text); }
}
