/* Print (A4 landscape) — loaded with media="print" on every page (base.html).
   Pages add their own @media print rules for page-specific breaks.
   Rules from the design README: print-color-adjust exact, rows never split,
   table headers repeat, no viewport units, light theme on paper. */
@page { size: A4 landscape; margin: 12mm 12mm 14mm; }

html, body.hv-body {
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
  background: #fff !important; color: #16181D;
}

/* Paper is always the light theme, whatever the screen used. */
html[data-theme] {
  --hv-bg-page: #FFFFFF !important; --hv-bg-surface: #FFFFFF !important; --hv-bg-surface-2: #F1F2F8 !important; --hv-bg-sunken: #EEF0F6 !important;
  --hv-border: #E6E8EF !important; --hv-border-strong: #C9CBD6 !important;
  --hv-text: #16181D !important; --hv-text-2: #2A2D36 !important; --hv-text-muted: #6B7080 !important; --hv-text-faint: #8A8FA0 !important;
  --hv-ok: #15803D !important; --hv-ok-bg: #E8F7EE !important; --hv-warn: #B45309 !important; --hv-warn-bg: #FEF3E2 !important;
  --hv-bad: #B91C1C !important; --hv-bad-bg: #FDECEC !important; --hv-info: #1D4ED8 !important; --hv-info-bg: #E6EEFC !important;
  color-scheme: light;
}

/* Shell chrome and interactive-only controls never print. */
.hv-side, .hv-top, .hv-progress, .hv-banner, .hv-drawer, .hv-overlay, .hv-palette, .hv-toasts,
.hv-coach, .hv-foot, .hv-skip, .rz-launch, .rz, .rz-topbtn,
.hv-page-head__actions, .hv-menu-wrap, .hv-menu, .hv-popover, .hv-table-hint, .hv-views,
[data-hv-print="hide"] { display: none !important; }

.hv-app, .hv-col { display: block !important; }
.hv-main { padding: 0 !important; margin: 0 !important; max-width: none !important; width: auto !important; gap: 12px; }
.hv-page-head { margin-bottom: 8px; animation: none !important; }

/* No motion, no shadows on paper. */
*, *::before, *::after { animation: none !important; transition: none !important; }
.hv-card, .hv-kpi, .hv-statecard { box-shadow: none !important; break-inside: avoid; }
.hv-card { border: 1px solid #E6E8EF !important; }

/* Tables: rows never split, headers repeat on every page, nothing scrolls. */
.hv-table-wrap { overflow: visible !important; }
.hv-table { font-size: 10.5px; }
.hv-table th, .hv-table td { padding: 6px 8px; }   /* no !important: pages tune it */
.hv-table--sticky th:first-child, .hv-table--sticky td:first-child { position: static !important; }
thead { display: table-header-group; }
tfoot { display: table-footer-group; }
tr, .hv-table tr { break-inside: avoid; page-break-inside: avoid; }
h1, h2, h3 { break-after: avoid; page-break-after: avoid; }

/* Charts keep their box; canvases scale to the column. */
canvas { max-width: 100% !important; height: auto !important; }

a[href]::after { content: none !important; }
