.pdf-report {
  display: none;
}

@media print {
  @page {
    size: A4;
    margin: 14mm 14mm 16mm;
  }

  * {
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }

  body {
    margin: 0;
    background: #fff;
    color: #112b2a;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
    line-height: 1.45;
  }

  body > :not(.pdf-report) {
    display: none !important;
  }

  .pdf-report {
    display: block !important;
    width: 100%;
    background: #fff;
  }

  .pdf-cover {
    min-height: 238mm;
    padding: 14mm;
    background: #f5f1e8;
    border-top: 7mm solid #0f5a4e;
    display: flex;
    flex-direction: column;
    page-break-after: always;
  }

  .pdf-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12mm;
  }

  .pdf-brand img {
    display: block;
    width: 44mm;
    height: auto;
  }

  .pdf-brand span,
  .pdf-kicker {
    color: #2e806f;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: .14em;
  }

  .pdf-cover h1 {
    max-width: 145mm;
    margin: 40mm 0 8mm;
    font-size: 31pt;
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  .pdf-identification {
    margin: 0;
    color: #0f5a4e;
    font-size: 15pt;
    font-weight: 700;
  }

  .pdf-date {
    margin: 3mm 0 0;
    color: #61706d;
  }

  .pdf-summary {
    display: grid;
    grid-template-columns: 45mm 1fr;
    gap: 8mm;
    margin-top: auto;
    padding-top: 10mm;
    border-top: .4mm solid #c9d1ce;
  }

  .pdf-score {
    display: flex;
    align-items: baseline;
    gap: 2mm;
  }

  .pdf-score strong {
    color: #0f5a4e;
    font-size: 43pt;
    line-height: 1;
  }

  .pdf-score span,
  .pdf-level span {
    color: #61706d;
    font-size: 8pt;
  }

  .pdf-level {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .pdf-level strong {
    margin-top: 2mm;
    font-size: 21pt;
  }

  .pdf-section {
    padding: 5mm 0;
  }

  .pdf-section h2,
  .pdf-closing h2 {
    margin: 2mm 0 7mm;
    font-size: 19pt;
    line-height: 1.15;
  }

  .pdf-dimensions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5mm 9mm;
  }

  .pdf-dimension {
    break-inside: avoid;
  }

  .pdf-dimension__label {
    display: flex;
    justify-content: space-between;
    gap: 5mm;
    margin-bottom: 2mm;
    font-size: 8.5pt;
  }

  .pdf-dimension__label strong {
    color: #0f5a4e;
    white-space: nowrap;
  }

  .pdf-bar {
    height: 2.2mm;
    overflow: hidden;
    border-radius: 2mm;
    background: #e1e7e3;
  }

  .pdf-bar span {
    display: block;
    height: 100%;
    border-radius: 2mm;
    background: #2e806f;
  }

  .pdf-insights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5mm;
    margin: 8mm 0 5mm;
    page-break-before: auto;
  }

  .pdf-insight {
    min-height: 47mm;
    padding: 6mm;
    break-inside: avoid;
  }

  .pdf-insight--positive {
    background: #e3f0eb;
  }

  .pdf-insight--attention {
    background: #f1e7dd;
  }

  .pdf-insight ul {
    margin: 4mm 0 0;
    padding-left: 5mm;
  }

  .pdf-insight li {
    margin: 0 0 3mm;
  }

  .pdf-recommendations-section {
    page-break-before: always;
  }

  .pdf-recommendations {
    display: grid;
    gap: 3mm;
  }

  .pdf-recommendation {
    display: grid;
    grid-template-columns: 9mm 1fr 17mm;
    gap: 4mm;
    align-items: start;
    padding: 4mm;
    border: .3mm solid #d7ddd7;
    break-inside: avoid;
  }

  .pdf-recommendation__number {
    color: #2e806f;
    font-size: 14pt;
    font-weight: 700;
  }

  .pdf-recommendation h3 {
    margin: 0 0 1.5mm;
    font-size: 10pt;
  }

  .pdf-recommendation p {
    margin: 0;
    color: #61706d;
    font-size: 8pt;
  }

  .pdf-priority {
    padding: 1.5mm 2mm;
    border-radius: 1mm;
    background: #f6ddd2;
    color: #8b3824;
    font-size: 7pt;
    font-weight: 700;
    text-align: center;
  }

  .pdf-disclaimer {
    margin: 7mm 0 0;
    padding: 5mm;
    border: .3mm solid #c9d1ce;
    break-inside: avoid;
  }

  .pdf-disclaimer strong {
    color: #0f5a4e;
    font-size: 8pt;
    letter-spacing: .1em;
  }

  .pdf-disclaimer p {
    margin: 2mm 0 0;
    color: #61706d;
    font-size: 8.5pt;
  }

  .pdf-closing {
    min-height: 78mm;
    margin-top: 9mm;
    padding: 9mm;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 10mm;
    align-items: center;
    background: #112b2a;
    color: #fff;
    break-inside: avoid;
  }

  .pdf-professional p {
    margin: 1mm 0;
    color: #d9e5e1;
    font-size: 8.5pt;
  }

  .pdf-professional .pdf-kicker {
    margin-bottom: 3mm;
    color: #91c8ba;
  }

  .pdf-closing h2 {
    margin-bottom: 3mm;
    color: #fff;
  }

  .pdf-closing blockquote {
    margin: 0;
    padding-left: 7mm;
    border-left: .8mm solid #e5b973;
  }

  .pdf-closing blockquote p {
    margin: 0 0 4mm;
    font-size: 14pt;
    font-weight: 700;
    line-height: 1.35;
  }

  .pdf-closing cite {
    color: #b9c6c4;
    font-size: 8.5pt;
    font-style: normal;
  }
}
