/* Vista de impresión de reportes (Carta / A4 horizontal). */
* { box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #111; margin: 0; padding: 16px; font-size: 10.5pt; background: #fff; }
.toolbar { display: flex; gap: 12px; align-items: center; padding: 10px 12px; background: #fff5cc; border: 1px solid #f5c400; border-radius: 6px; margin-bottom: 14px; font-size: 13px; }
.toolbar button { background: #111; color: #fff; border: 0; border-radius: 6px; padding: 8px 14px; font: inherit; font-weight: 600; cursor: pointer; }
.toolbar button:focus-visible { outline: 3px solid #f5c400; outline-offset: 2px; }
.rhead { display: flex; gap: 18px; align-items: center; }
.rhead img { height: 30px; width: auto; }
.rtitle h1 { font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; font-size: 17pt; margin: 0; }
.rtitle p { margin: 2px 0 0; color: #333; }
.rule { height: 3px; background: #f5c400; margin: 8px 0 10px; }
.filters, .note { margin: 4px 0; font-size: 9.5pt; color: #333; }
.note { font-style: italic; }
h2 { font-size: 12pt; margin: 14px 0 6px; border-bottom: 1px solid #ccc; padding-bottom: 3px; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #bdbdb6; padding: 4px 5px; vertical-align: top; text-align: left; }
thead { display: table-header-group; }
th { background: #111; color: #fff; font-size: 8.5pt; text-transform: uppercase; letter-spacing: .3px; }
.kpi td { font-size: 13pt; font-weight: 700; text-align: center; }
.kpi th { text-align: center; }
.detail td { font-size: 9pt; overflow-wrap: anywhere; word-break: normal; }
.detail .c-code { width: 9%; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 8.5pt; white-space: nowrap; }
.detail .c-text { width: 32%; white-space: pre-wrap; }
.detail tr { break-inside: avoid; page-break-inside: avoid; }
.flags { margin-top: 3px; font-size: 8pt; font-weight: 700; color: #7d5200; }
.small { font-size: 8pt; color: #444; }
.rfoot { margin-top: 12px; font-size: 8pt; color: #555; border-top: 1px solid #ccc; padding-top: 4px; }
@media print {
  body { padding: 0; }
  .no-print { display: none !important; }
  th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rule { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
