/* A4 report. js/main.js preparePrint() first fixes the map to 703 × 420 px (186 mm at 96 dpi,
   the width inside 12 mm margins) and fills #print-head and #report; this sheet then hides the
   app chrome and lays those out. Tables use fixed layout with wrapping, so none are clipped. */

@page { size: A4 portrait; margin: 12mm; }

html, body { height: auto; }
body {
  display: block; overflow: visible; background: #fff; color: #000;
  font: 9pt/1.35 var(--font-sans);
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.topbar, .panel, .statusbar, .skip, .toast,
.leaflet-control-zoom, .map-switch, .map-north, .credits-toggle { display: none !important; }
.leaflet-control-attribution a { color: inherit; text-decoration: none; }
.print-only { display: block !important; }
.app { display: block; }

.map { width: 703px !important; height: 420px !important; border: 0.75pt solid #000; break-inside: avoid; }
.leaflet-control-attribution { display: block !important; font-size: 6.5pt; max-width: 100%; white-space: normal !important; overflow: visible !important; }

/* Header */
.rp-head { margin-bottom: 3mm; border-bottom: 1pt solid #000; padding-bottom: 2mm; }
.rp-title h1 { font-size: 15pt; margin: 0; }
.rp-title p { margin: 0 0 2mm; color: #444; font-size: 8.5pt; }
.rp-kv { display: grid; grid-template-columns: 22mm 1fr; gap: 0.6mm 3mm; margin: 0 0 2mm; }
.rp-kv dt { color: #555; }
.rp-kv dd { margin: 0; }
.rp-bal { display: flex; align-items: center; gap: 4mm; margin-top: 1mm; }
.rp-bal .bal-chip.xl { font-size: 20pt; padding: 1mm 4mm; }

/* Body */
.rp-body { margin-top: 3mm; }
.rp-sec { margin: 0 0 4mm; }
.rp-sec h2 { font-size: 11pt; margin: 3mm 0 1.5mm; border-bottom: 0.5pt solid #999; padding-bottom: 0.5mm; break-after: avoid; }
.rp-sec h3 { font-size: 9.5pt; margin: 2mm 0 1mm; break-after: avoid; }
.rp-sec p, .rp-sec li { margin: 0 0 1mm; }
.rp-sec ul { margin: 0 0 1mm; padding-left: 5mm; }
.rp-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 8pt; margin: 1mm 0 2mm; }
.rp-table th, .rp-table td { border-bottom: 0.4pt solid #bbb; padding: 0.8mm 1.5mm 0.8mm 0; text-align: left; vertical-align: top; overflow-wrap: anywhere; word-break: normal; }
.rp-table th { font-size: 7pt; text-transform: uppercase; letter-spacing: 0.04em; color: #444; border-bottom: 0.75pt solid #000; }
.rp-table .r { text-align: right; }
.rp-table tr { break-inside: avoid; }
.rp-table tr.gov td { font-weight: 600; background: #eee; }
.rp-cite { color: #555; font-size: 7.5pt; }
.rp-note { color: #333; font-style: italic; }
.rp-practitioner { border: 1pt solid #000; padding: 2mm 3mm; margin: 0 0 3mm; break-inside: avoid; }
.rp-sens p { margin: 0 0 1mm; }
.rp-profile { margin: 2mm 0; break-inside: avoid; }
.rp-profile svg { width: 150mm; height: auto; }
.rp-profile figcaption { font-size: 7.5pt; color: #444; }
.rp-profile figcaption.surface-note { color: #1D1C1A; border-left: 0.5mm solid #1D1C1A; padding-left: 1.5mm; margin-top: 1mm; }
.rp-cons-table td:first-child { font-weight: 600; }
.rp-disclaimer { margin-top: 4mm; border-top: 0.75pt solid #000; padding-top: 2mm; font-size: 8pt; }
.bal-chip { font-size: 8pt; }
