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

@media print {
  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font-family: Arial, sans-serif !important;
    font-size: 10.5pt !important;
    line-height: 1.35 !important;
  }

  body > * {
    display: none !important;
  }

  body > .im-print-page,
  body > .im-print-expose,
  .im-print-expose {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  .im-print-page *,
  .im-print-expose * {
    display: revert;
    visibility: visible !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    text-shadow: none !important;
    break-before: auto;
    page-break-before: auto;
  }

  .im-print-header {
    display: flex !important;
    justify-content: space-between;
    gap: 10mm;
    align-items: flex-start;
    margin: 0 0 7mm !important;
    padding: 0 0 4mm !important;
    border-bottom: 1px solid #222;
    break-after: avoid;
    page-break-after: avoid;
  }

  .im-print-header strong {
    display: block;
    color: #0b3f2a;
    font-size: 18pt;
    line-height: 1;
  }

  .im-print-header span {
    display: block;
    margin-top: 2mm;
    color: #333;
    font-size: 11pt;
    font-weight: 700;
  }

  .im-print-header p {
    max-width: 95mm;
    margin: 0 !important;
    color: #333;
    font-size: 8.5pt;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-align: right;
  }

  .im-print-title-section {
    margin: 0 0 5mm !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  .im-print-title-section h1 {
    margin: 0 0 2mm !important;
    color: #111 !important;
    font-size: 18pt !important;
    line-height: 1.16 !important;
    font-weight: 800 !important;
  }

  .im-print-meta {
    margin: 0 !important;
    color: #444 !important;
    font-size: 10pt !important;
    font-weight: 700;
  }

  .im-print-top {
    display: block !important;
    margin: 0 0 6mm !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .im-print-facts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5mm;
    margin: 0 0 4mm !important;
  }

  .im-print-facts div {
    min-height: 16mm;
    padding: 3mm;
    border: 1px solid #d6ddd9;
    border-radius: 2mm;
    background: #f6faf8 !important;
  }

  .im-print-facts span {
    display: block;
    margin-bottom: 1mm;
    color: #555;
    font-size: 8pt;
    font-weight: 700;
  }

  .im-print-facts strong {
    display: block;
    color: #0b3f2a;
    font-size: 12pt;
    line-height: 1.18;
    font-weight: 800;
  }

  .im-print-hero-image {
    display: block !important;
    width: 100% !important;
    max-width: 170mm !important;
    max-height: 75mm !important;
    margin: 0 0 5mm !important;
    object-fit: cover !important;
    border-radius: 2mm;
    border: 1px solid #d6ddd9;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .im-print-profile-logo {
    display: block !important;
    max-width: 45mm !important;
    max-height: 28mm !important;
    margin: 0 0 5mm !important;
    object-fit: contain !important;
  }

  .im-print-section {
    margin: 0 0 5mm !important;
    padding: 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .im-print-section h2 {
    margin: 0 0 2mm !important;
    padding: 0 0 1mm !important;
    border-bottom: 1px solid #d6ddd9;
    color: #0b3f2a !important;
    font-size: 12pt !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  .im-print-section p {
    margin: 0 !important;
    color: #222 !important;
    font-size: 10pt !important;
    line-height: 1.38 !important;
  }

  .im-print-description {
    break-inside: auto;
    page-break-inside: auto;
  }

  .im-print-detail-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 9.6pt !important;
  }

  .im-print-detail-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .im-print-detail-table th,
  .im-print-detail-table td {
    width: 50%;
    padding: 1.8mm 2.2mm !important;
    border-bottom: 1px solid #e0e6e3 !important;
    vertical-align: top !important;
    text-align: left !important;
  }

  .im-print-detail-table th {
    color: #46534f !important;
    font-weight: 800 !important;
  }

  .im-print-detail-table td {
    color: #111 !important;
    font-weight: 600 !important;
  }

  .im-print-pills {
    color: #222 !important;
    font-weight: 600 !important;
  }

  .im-print-compact {
    margin-bottom: 4mm !important;
  }

  .im-print-expose footer {
    margin-top: 6mm !important;
    padding-top: 3mm !important;
    border-top: 1px solid #d6ddd9;
    color: #555 !important;
    font-size: 8.5pt !important;
    line-height: 1.3 !important;
  }

  a[href]::after {
    content: "" !important;
  }
}
