/* Print stylesheet — linked with media="print" from index.html.
   Two printable things exist: a typing-board note / a painting
   (.note-print, modules/typing/export.js + modules/painting/export.js) and
   the client file's period report / a received snapshot (.print-root,
   modules/reports/). Everything else on the page is hidden; `visibility`
   keeps layout ancestors so the sheet positions correctly. */
body * {
  visibility: hidden;
}
.note-print,
.note-print *,
.print-root,
.print-root * {
  visibility: visible;
}
.note-print,
.print-root {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  padding: 0;
  background: #fff;
  color: #000;
  box-shadow: none;
  max-inline-size: none;
}
@page {
  size: A4;
  margin: 15mm;
}
.print-root .no-print,
.print-root button,
.print-root nav,
.print-root .chat-form,
.print-root .file-quick-action {
  display: none !important;
}
.print-root .card,
.print-root .print-block,
.print-root .chart-section,
.print-root .stat {
  break-inside: avoid;
  box-shadow: none;
  border: 1px solid #ccc;
}
.print-root .chart svg {
  max-block-size: 70mm;
}
.print-root .op-table {
  font-size: 10pt;
}
.print-root .op-table th,
.print-root .op-table td {
  white-space: normal;
}
.print-root h2 {
  font-size: 18pt;
  margin-block: 0 4mm;
}
.print-root h3 {
  font-size: 13pt;
  margin-block: 6mm 2mm;
}
.print-only {
  display: block;
}
/* Screen-only aids of the sideways-scrolling tables (ui.js scrollHint). */
.print-root .scroll-hint::after {
  display: none;
}
.print-root .op-table th:first-child,
.print-root .op-table td:first-child {
  position: static;
  box-shadow: none;
}
