/* Print / PDF stylesheet — the client deliverable.
   Zero manual cleanup: everything expands, colours are preserved, and nothing
   splits awkwardly across a page. Headless Chromium prints this exact sheet, so
   the PDF and the shared web report cannot drift apart. */

@page { size: letter; margin: 0.55in 0.6in; }

* { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

/* app chrome and anything interactive never prints */
.no-print, .doc-bar, .sidebar, .topbar, .tabrow, .switch, .popover, .scrim,
.pageblock, .reporthead, .selbar, .filterbar, .queue, .actions, .btn,
.gate { display: none !important; }

body { background: #fff; font-size: 10.5px; }
.doc-wrap { max-width: none; margin: 0; padding: 0; }
.report-doc { border: 0; border-radius: 0; padding: 0; }

/* keep each unit intact on the page */
.doc-sec, .doc-finding, .doc-section, .kpi-card, .cpgrid, .align-notice,
.floatchart, tr, .cprow { break-inside: avoid; }
thead { display: table-header-group; }     /* repeat headers across pages */
.doc-cat { break-after: avoid; }
.doc-h2-row { break-after: avoid; }

/* flatten interactive affordances into plain paper elements */
.acode { background: #EEF3F9 !important; border: 1px solid #C9DCEF !important; }
.narr[contenteditable] { background: none !important; }
.doc-section table.nested { font-size: 9.5px; }
.nested td, .nested th { padding: 4px 6px; }

/* the alignment guard must survive into the deliverable: a report built from a
   pair we could not vouch for has to say so on paper too */
.align-notice { border: 1px solid #DDE2E7 !important; border-left: 3px solid #A61B1B !important; }
.unverified { border: 1px solid #F0DADA !important; }

/* the float chart prints as bars, not as an empty box */
.floatchart { height: 150px; }
