/* =================================================================
   REPORT.CSS — Solidez Bancária · Design Mont Asset
   Tipografia: Montserrat (títulos) + Fira Sans (corpo)
   Cores: paleta do site + Mont Asset semantic
   ================================================================= */

/* Container legado (defesa em profundidade) */
#report-container { display: none !important; }

/* Garantir que <img> dentro de containers de logo se encaixe */
.rpt-cover-if-logo img,
.rpt-health-logo img,
.rpt-bar-logo img,
.rpt-peer-logo img,
.rpt-kpi-th-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* =================================================================
   PREVIEW MODAL
   ================================================================= */
.report-preview-bg {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(29, 29, 38, 0.85);
  display: flex; flex-direction: column;
  overflow: hidden;
}
body.report-preview-open { overflow: hidden; }

.report-preview-toolbar {
  flex: 0 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  background: #FFFFFF; padding: 10px 24px;
  box-shadow: 0 2px 8px rgba(15, 20, 25, 0.15);
  z-index: 10;
}
.report-preview-title {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 13px; font-weight: 600; color: #1D1D26; letter-spacing: -0.01em;
}
.report-preview-btn-back,
.report-preview-btn-print {
  font-family: 'Montserrat', system-ui, sans-serif;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 8px; cursor: pointer;
  font-size: 13px; font-weight: 600;
  border: 1px solid #E5E7EB; transition: all 0.15s;
}
.report-preview-btn-back { background: #FFFFFF; color: #1E3A5F; }
.report-preview-btn-back:hover { background: #F5F7FA; }
.report-preview-btn-print { background: #1E3A5F; color: #FFFFFF; border-color: #1E3A5F; }
.report-preview-btn-print:hover { background: #15293F; }

.report-preview-content {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 24px 16px 64px;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  font-family: 'Fira Sans', system-ui, sans-serif;
  color: #1D1D26;
  line-height: 1.5;
}
.report-preview-content > * {
  width: 210mm; max-width: 100%;
  background: #FFFFFF;
  box-shadow: 0 2px 8px rgba(15, 20, 25, 0.10);
  border-radius: 4px;
}

/* =================================================================
   TIPOGRAFIA BASE — Montserrat (títulos) / Fira Sans (corpo)
   ================================================================= */
.rpt-section,
.rpt-cover {
  font-family: 'Fira Sans', system-ui, sans-serif;
  color: #1D1D26;
}
.rpt-section h1, .rpt-section h2, .rpt-section h3,
.rpt-cover h1, .rpt-cover h2, .rpt-cover h3,
.rpt-section-title, .rpt-cover-title, .rpt-cover-subtitle {
  font-family: 'Montserrat', system-ui, sans-serif;
  letter-spacing: -0.01em;
}

/* =================================================================
   CAPA
   ================================================================= */
.rpt-cover {
  min-height: 270mm; padding: 16mm 14mm;
  display: flex; flex-direction: column; gap: 6mm;
  page-break-after: always;
  background: linear-gradient(180deg, #FFFFFF 0%, #FAFBFC 100%);
  box-sizing: border-box;
}
.rpt-cover-logos {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 6mm; border-bottom: 1px solid #E5E7EB;
}
.rpt-cover-logos img { max-height: 36px; max-width: 160px; object-fit: contain; }
.rpt-cover-eyebrow {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 9pt; font-weight: 600; color: #2C7A7B;
  letter-spacing: 1.2px; text-transform: uppercase;
  margin-top: 24mm;
}
.rpt-cover-title {
  font-size: 26pt; font-weight: 700; line-height: 1.15;
  color: #1D1D26; margin-top: 4mm;
}
.rpt-cover-subtitle {
  font-size: 12pt; font-weight: 400; color: #4D5766;
  margin-top: 3mm; line-height: 1.4;
}

/* IFs analisadas — cards com logo na capa */
.rpt-cover-ifs-list {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 4mm;
  margin-top: 14mm;
}
.rpt-cover-if-card {
  display: flex; align-items: center; gap: 4mm;
  padding: 4mm 5mm; border: 1px solid #E5E7EB; border-radius: 6px;
  background: #FFFFFF;
}
.rpt-cover-if-logo {
  width: 14mm; height: 14mm; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: #FAFBFC; border-radius: 4px; padding: 1mm;
}
.rpt-cover-if-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rpt-cover-if-logo-fb {
  width: 100%; height: 100%; border-radius: 3px;
  background: #1E3A5F; color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 9pt;
}
.rpt-cover-if-info { flex: 1; min-width: 0; }
.rpt-cover-if-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 10pt; font-weight: 600; color: #1D1D26;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rpt-cover-if-meta { font-size: 8pt; color: #828C99; margin-top: 0.5mm; }
.rpt-cover-if-score {
  display: inline-block; padding: 0.5mm 2mm; border-radius: 2mm;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 8pt;
  color: #FFFFFF; margin-top: 1mm;
}

.rpt-cover-meta {
  margin-top: auto; padding-top: 8mm;
  border-top: 1px solid #E5E7EB;
  display: flex; justify-content: space-between; align-items: flex-end;
  font-size: 8pt; color: #828C99; line-height: 1.5;
}
.rpt-cover-prepared {
  font-family: 'Montserrat', sans-serif;
  font-size: 9pt; color: #4D5766; font-weight: 600;
}
.rpt-cover-powered { font-size: 8pt; color: #2C7A7B; font-weight: 600; margin-top: 1mm; }

/* =================================================================
   SEÇÕES (cada uma começa em página nova no print)
   ================================================================= */
.rpt-section {
  padding: 10mm 14mm;
  page-break-before: always;
  break-before: page;
  box-sizing: border-box;
}
.rpt-section-title {
  font-size: 13pt; font-weight: 600; color: #1E3A5F;
  margin: 0 0 6mm;
  padding-bottom: 2mm; border-bottom: 2px solid #2C7A7B;
}
.rpt-section-subtitle {
  font-family: 'Fira Sans', sans-serif;
  font-size: 9pt; color: #4D5766; margin-top: -4mm; margin-bottom: 6mm;
  font-weight: 400;
}

/* =================================================================
   HEALTH SCORE — cards horizontais compactos, com logo
   ================================================================= */
.rpt-health-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
.rpt-health-card {
  border: 1px solid #E5E7EB; border-radius: 6px;
  padding: 4mm; display: flex; align-items: center; gap: 4mm;
  background: #FFFFFF;
}
.rpt-health-logo {
  width: 12mm; height: 12mm; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: #FAFBFC; border-radius: 3px; padding: 1mm;
}
.rpt-health-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rpt-health-info { flex: 1; min-width: 0; }
.rpt-health-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 10pt; font-weight: 600; color: #1D1D26;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rpt-health-cat {
  font-size: 7.5pt; color: #828C99; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.4px;
  margin-top: 0.5mm;
}
.rpt-health-grade {
  display: inline-block; font-size: 7.5pt; font-weight: 700;
  padding: 0.5mm 2mm; border-radius: 2mm; margin-top: 1.5mm;
  font-family: 'Montserrat', sans-serif;
}
.rpt-health-score {
  width: 13mm; height: 13mm; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 12pt; font-weight: 700; color: #FFFFFF; flex-shrink: 0;
}

/* =================================================================
   BARRAS COMPARATIVAS
   ================================================================= */
.rpt-bar-group { margin-bottom: 5mm; }
.rpt-bar-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 9.5pt; font-weight: 600; color: #1D1D26;
  margin-bottom: 2mm;
}
.rpt-bar-item {
  display: grid; grid-template-columns: 7mm 50mm 1fr 22mm; gap: 2mm;
  align-items: center; margin-bottom: 1.5mm; font-size: 8.5pt;
}
.rpt-bar-logo {
  width: 8mm; height: 6mm;
  display: flex; align-items: center; justify-content: center;
  background: #FAFBFC; border-radius: 2px; padding: 0.5mm;
}
.rpt-bar-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rpt-bar-name {
  font-weight: 500; color: #4D5766;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-size: 8pt;
}
.rpt-bar-track { height: 3mm; background: #F5F7FA; border-radius: 1.5mm; overflow: hidden; }
.rpt-bar-fill { height: 100%; border-radius: 1.5mm; }
.rpt-bar-val {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600; text-align: right; font-variant-numeric: tabular-nums;
  font-size: 8.5pt; color: #1D1D26;
}

/* =================================================================
   TABELA KPI
   ================================================================= */
.rpt-kpi-table { width: 100%; border-collapse: collapse; font-size: 8pt; }
.rpt-kpi-table th {
  background: #F5F7FA; padding: 2mm 3mm; text-align: left;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600; font-size: 7.5pt; letter-spacing: 0.3px;
  text-transform: uppercase; color: #4D5766;
  border-bottom: 1px solid #E5E7EB;
}
.rpt-kpi-table th.rpt-kpi-th-inst {
  text-align: right;
}
.rpt-kpi-table th .rpt-kpi-th-content {
  display: inline-flex; align-items: center; gap: 2mm; justify-content: flex-end;
}
.rpt-kpi-table th .rpt-kpi-th-logo {
  width: 8mm; height: 6mm;
  display: inline-flex; align-items: center; justify-content: center;
  vertical-align: middle;
  background: #FAFBFC; border-radius: 2px; padding: 0.5mm;
}
.rpt-kpi-table th .rpt-kpi-th-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rpt-kpi-table td {
  padding: 2mm 3mm; border-bottom: 1px solid #F5F7FA;
  font-variant-numeric: tabular-nums; text-align: right;
  font-family: 'Fira Sans', sans-serif;
}
.rpt-kpi-table td.rpt-kpi-label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500; color: #1D1D26; text-align: left;
  font-size: 8pt;
}
.rpt-kpi-table tr:last-child td { border-bottom: none; }
.rpt-kpi-table tr:nth-child(even) td { background: #FAFBFC; }

/* =================================================================
   GRÁFICOS · histórico em blocos empilhados, 3 cabem em A4
   ================================================================= */
.rpt-section-history { padding-top: 8mm; padding-bottom: 8mm; }
.rpt-history-block {
  margin-bottom: 5mm;
  page-break-inside: avoid;
  break-inside: avoid;
}
.rpt-history-block:last-of-type { margin-bottom: 0; }
.rpt-history-block .rpt-section-title { margin-bottom: 1mm; }
.rpt-history-block .rpt-section-subtitle { margin-bottom: 2mm; }
.rpt-chart-img {
  width: 100%;
  max-height: 70mm;
  object-fit: contain;
  margin: 0;
  border: 1px solid #F5F7FA;
  border-radius: 4px;
  display: block;
}
.rpt-empty {
  text-align: center; padding: 12mm 0;
  color: #828C99; font-size: 9pt; font-style: italic;
}

/* =================================================================
   INSIGHTS · Tendências + Peer Benchmarking (cards verticais por IF)
   ================================================================= */
.rpt-insight-grid { display: grid; gap: 4mm; }
.rpt-insight-card {
  background: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 5px;
  padding: 4mm; page-break-inside: avoid;
  display: flex; flex-direction: column; gap: 0;
}
.rpt-insight-head {
  display: flex; align-items: center; gap: 2.5mm;
  padding-bottom: 2mm;
  border-bottom: 1px solid #EEF2F6;
}
.rpt-insight-dot {
  width: 2.5mm; height: 2.5mm; border-radius: 50%; flex-shrink: 0;
}
.rpt-insight-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 9pt; font-weight: 700; color: #1D1D26;
  letter-spacing: 0.4px; text-transform: uppercase;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rpt-insight-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.5mm 0; border-bottom: 1px solid #F5F7FA;
  font-size: 7.5pt;
}
.rpt-insight-row:last-of-type { border-bottom: none; }
.rpt-insight-label {
  font-family: 'Fira Sans', sans-serif;
  color: #4D5766; font-weight: 400;
  flex: 1; min-width: 0;
}
.rpt-insight-value {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; color: #1D1D26;
  font-variant-numeric: tabular-nums;
}
.rpt-insight-value.up { color: #29A152; }
.rpt-insight-value.down { color: #E51739; }

/* Peer benchmarking dentro do insight card */
.rpt-peer-subheader {
  margin-top: 3mm; padding-top: 2mm;
  border-top: 1px solid #EEF2F6;
  font-family: 'Montserrat', sans-serif;
  font-size: 7pt; font-weight: 600; color: #828C99;
  letter-spacing: 0.5px;
}
.rpt-peer-row { margin-top: 2.5mm; }
.rpt-peer-row-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 0.5mm;
}
.rpt-peer-row-head > span:first-child {
  font-family: 'Fira Sans', sans-serif;
  font-size: 7.5pt; color: #4D5766; font-weight: 500;
}
.rpt-peer-pct {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; font-size: 6.5pt;
  padding: 0.3mm 1.8mm; border-radius: 2mm;
}
.rpt-peer-pct.high { background: #DCFCE7; color: #1D7246; }
.rpt-peer-pct.mid { background: #FEF3C7; color: #B45309; }
.rpt-peer-pct.low { background: #FECACA; color: #991B1B; }
.rpt-peer-pct.flat { background: #E5E7EB; color: #4D5766; }
.rpt-peer-rank {
  font-family: 'Fira Sans', sans-serif;
  font-size: 6.5pt; color: #828C99; margin-bottom: 0.5mm;
}
.rpt-peer-bar { height: 1.5mm; background: #EEF2F6; border-radius: 1mm; overflow: hidden; }
.rpt-peer-bar-fill { height: 100%; border-radius: 1mm; }
.rpt-peer-bar-fill.high { background: #29A152; }
.rpt-peer-bar-fill.mid { background: #F27A00; }
.rpt-peer-bar-fill.low { background: #E51739; }
.rpt-peer-bar-fill.flat { background: #A1A8B2; }

/* Compatibilidade com layout anterior */
.rpt-peer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
.rpt-peer-card {
  background: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 5px;
  padding: 4mm; page-break-inside: avoid;
}

/* =================================================================
   ALERTAS · cards 1-por-IF lado a lado
   ================================================================= */
.rpt-alerts-grid { display: grid; gap: 4mm; }
.rpt-alert-card {
  background: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 5px;
  padding: 4mm; page-break-inside: avoid;
  display: flex; flex-direction: column; gap: 0;
}
.rpt-alert-card .rpt-insight-head { margin-bottom: 2.5mm; }
.rpt-alert-item {
  display: flex; align-items: flex-start; gap: 2mm;
  padding: 1.5mm 0;
  font-family: 'Fira Sans', sans-serif;
  font-size: 8pt; color: #4D5766; line-height: 1.4;
}
.rpt-alert-item:last-child { padding-bottom: 0; }
.rpt-alert-dot {
  width: 2mm; height: 2mm; border-radius: 50%;
  flex-shrink: 0; margin-top: 1.5mm;
}
.rpt-alert-dot.critical { background: #E51739; }
.rpt-alert-dot.warn { background: #F27A00; }
.rpt-alert-dot.info { background: #2983CC; }
.rpt-alert-empty {
  text-align: center; padding: 2mm 0;
}
.rpt-alert-empty-badge {
  display: inline-block;
  background: #DCFCE7; color: #1D7246;
  font-family: 'Montserrat', sans-serif;
  font-size: 8pt; font-weight: 600;
  padding: 1mm 3mm; border-radius: 3mm;
}
.rpt-alert-empty-note {
  margin-top: 2mm;
  font-family: 'Fira Sans', sans-serif;
  font-size: 7pt; color: #828C99; line-height: 1.4;
}

/* =================================================================
   RODAPÉ DE SEÇÃO
   ================================================================= */
.rpt-footer {
  font-family: 'Fira Sans', sans-serif;
  font-size: 7pt; color: #828C99;
  text-align: center; padding-top: 4mm;
  border-top: 1px solid #EEF2F6; margin-top: 6mm;
}

/* =================================================================
   MODAL OVERLAY (configuração)
   ================================================================= */
.modal-bg {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(29, 29, 38, 0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.modal-box {
  background: #FFFFFF; border-radius: 14px; padding: 24px;
  width: 100%;
  max-height: calc(100vh - 48px); overflow-y: auto;
  box-shadow: 0 20px 50px rgba(15, 20, 25, 0.25);
  font-family: 'Fira Sans', system-ui, sans-serif; color: #1D1D26;
}
.modal-box h2 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}

/* Botões */
.btn-add {
  font-family: 'Montserrat', system-ui, sans-serif;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 12px 18px; border-radius: 10px; cursor: pointer;
  font-size: 14px; font-weight: 600;
  background: #1E3A5F; color: #FFFFFF; border: 1px solid #1E3A5F;
  transition: all 0.15s;
}
.btn-add:hover:not(:disabled) { background: #15293F; }
.btn-add:disabled { opacity: 0.6; cursor: wait; }
.btn-sm {
  font-family: 'Montserrat', system-ui, sans-serif;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px 16px; border-radius: 10px; cursor: pointer;
  font-size: 13px; font-weight: 600;
  background: #FFFFFF; color: #1E3A5F; border: 1px solid #E5E7EB;
  transition: all 0.15s;
}
.btn-sm:hover { background: #F5F7FA; }

/* Modal de customização — checkboxes e tipo de gráfico */
.report-modal-sections { display: flex; flex-direction: column; gap: 8px; margin: 16px 0; }
.report-modal-section { display: flex; flex-direction: column; }
.report-modal-toggle {
  font-family: 'Montserrat', sans-serif;
  border: none; background: transparent; cursor: pointer;
  font-size: 11px; font-weight: 600; color: #2C7A7B;
  padding: 4px 8px; border-radius: 4px; flex-shrink: 0;
  transition: background 0.15s;
}
.report-modal-toggle:hover { background: #EEF7FA; }
.report-modal-subitems {
  margin: 4px 0 0 28px;
  padding: 8px 12px;
  background: #FAFBFC;
  border-left: 2px solid #E5E7EB;
  border-radius: 0 6px 6px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 12px;
  max-height: 280px;
  overflow-y: auto;
}
.report-modal-subitem {
  display: flex; align-items: center; gap: 6px;
  font-family: 'Fira Sans', sans-serif;
  font-size: 12px; color: #4D5766; cursor: pointer;
  padding: 2px 0;
}
.report-modal-subitem input[type="checkbox"] {
  width: 14px; height: 14px; accent-color: #2C7A7B;
  flex-shrink: 0;
}
.report-modal-subitem span {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.report-modal-check {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 14px; border-radius: 10px; border: 1px solid #E5E7EB;
  background: #FAFBFC; cursor: pointer; transition: all .15s;
}
.report-modal-check:hover { border-color: #2C7A7B; }
.report-modal-check input[type="checkbox"] {
  width: 18px; height: 18px; accent-color: #2C7A7B;
  margin-top: 1px; flex-shrink: 0;
}
.report-modal-check label {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px; font-weight: 600; cursor: pointer; color: #1D1D26;
  display: block;
}
.report-modal-check .check-desc {
  font-family: 'Fira Sans', sans-serif;
  font-size: 11px; color: #4D5766; margin-top: 2px; font-weight: 400;
}
.report-charttype-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px; margin: 8px 0 0;
  background: #FAFBFC; border-radius: 10px; border: 1px solid #E5E7EB;
}
.report-charttype-row label {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px; font-weight: 600; color: #1D1D26;
}
.report-charttype-toggle {
  display: inline-flex; padding: 2px; background: #FFFFFF;
  border-radius: 6px; border: 1px solid #E5E7EB;
}
.report-charttype-toggle button {
  font-family: 'Montserrat', sans-serif;
  padding: 5px 12px; border: none; background: transparent;
  color: #4D5766; cursor: pointer; border-radius: 4px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.3px;
  transition: all .15s;
}
.report-charttype-toggle button.active {
  background: #1E3A5F; color: #FFFFFF;
}

/* =================================================================
   @media print — cada seção em uma página A4 limpa
   ================================================================= */
@media print {
  @page { size: A4; margin: 0; }

  html, body { background: #FFFFFF !important; }
  body > *:not(#reportPreviewBg) { display: none !important; }
  .report-preview-toolbar { display: none !important; }

  body.report-preview-open { overflow: visible !important; }
  .report-preview-bg {
    position: static !important; background: #FFFFFF !important;
    display: block !important; overflow: visible !important; inset: auto !important;
  }
  .report-preview-content {
    overflow: visible !important; padding: 0 !important;
    gap: 0 !important; align-items: stretch !important;
    background: #FFFFFF !important;
  }
  .report-preview-content > * {
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: #FFFFFF !important;
  }

  /* Capa começa na primeira página */
  .rpt-cover {
    min-height: 297mm !important;
    page-break-after: always;
    break-after: page;
  }

  /* Cada seção começa em nova página */
  .rpt-section {
    page-break-before: always;
    break-before: page;
    page-break-inside: avoid;
  }

  /* Charts, cards e blocos de histórico não podem quebrar no meio */
  .rpt-chart-img,
  .rpt-health-card,
  .rpt-insight-card,
  .rpt-alert-card,
  .rpt-peer-card,
  .rpt-cover-if-card,
  .rpt-history-block { page-break-inside: avoid; break-inside: avoid; }

  /* Cores fiéis */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
}
