/* Печатный отчёт: одна и та же вёрстка на экране и в PDF.

   PDF мы не рендерим сервером — его печатает браузер, поэтому вся «красота»
   живёт здесь, в обычном CSS, и правится без пересборки образов. Акцентный цвет
   приходит из карточки сайта переменной --rp-accent. */
:root { --rp-accent: #2f3e4e; }

body { background: #f5f6f8; }

.rp-toolbar {
  position: sticky; top: 0; z-index: 20;
  background: #fff; border-bottom: 1px solid #e4e7ea; padding: 10px 16px;
}

.rp-page {
  max-width: 900px; margin: 24px auto 60px; background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.08); padding: 40px 48px;
}

.rp-cover { border-bottom: 4px solid var(--rp-accent); padding-bottom: 20px; margin-bottom: 28px; }
.rp-cover h1 { font-size: 30px; font-weight: 600; margin: 0 0 6px; }
.rp-cover .rp-domain { color: var(--rp-accent); font-size: 20px; font-weight: 600; }
.rp-cover img { max-height: 48px; }

.rp-section { margin-top: 34px; page-break-inside: auto; }
.rp-section > h2 {
  font-size: 20px; font-weight: 600; margin: 0 0 12px;
  padding-left: 10px; border-left: 4px solid var(--rp-accent);
}
.rp-lead { color: #5c6670; margin-bottom: 14px; }

.rp-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rp-card { border: 1px solid #e4e7ea; border-radius: 6px; padding: 12px 14px; }
.rp-card .rp-num { font-size: 24px; font-weight: 600; }
.rp-card .rp-label { color: #6b747c; font-size: 12px; }
.rp-card .rp-delta { font-size: 12px; }
.rp-up { color: #17a673; } .rp-down { color: #c0392b; }

.rp-finding { border: 1px solid #e4e7ea; border-left-width: 4px; border-radius: 6px;
  padding: 12px 14px; margin-bottom: 10px; page-break-inside: avoid; }
.rp-finding h3 { font-size: 15px; font-weight: 600; margin: 0 0 4px; }
.rp-finding .rp-meta { font-size: 12px; color: #6b747c; margin-bottom: 6px; }
.rp-finding p { margin: 0; white-space: pre-wrap; font-size: 13px; }
.rp-critical { border-left-color: #c0392b; } .rp-warning { border-left-color: #e0a800; }
.rp-info { border-left-color: #3b7ddd; } .rp-ok { border-left-color: #17a673; }

.rp-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.rp-table th { text-align: left; background: var(--rp-accent); color: #fff; padding: 7px 9px; font-weight: 500; }
.rp-table td { padding: 6px 9px; border-bottom: 1px solid #edeff1; vertical-align: top; }
.rp-table tr { page-break-inside: avoid; }
.rp-muted { color: #6b747c; }

@media print {
  /* Печать — это тот же документ без интерфейса: поля страницы задаёт браузер,
     а мы только убираем лишнее и запрещаем разрывать блоки посередине. */
  @page { size: A4; margin: 16mm 14mm; }
  body { background: #fff; }
  .rp-page { box-shadow: none; margin: 0; padding: 0; max-width: none; }
  .rp-section { page-break-inside: auto; }
  .rp-section > h2 { page-break-after: avoid; }
  .rp-cards { grid-template-columns: repeat(4, 1fr); }
  a { color: inherit; text-decoration: none; }
}
