@media print {
  @page {
    size: A4;
    margin: 9mm;
  }

  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  html,
  body {
    width: 100%;
    margin: 0;
    padding: 0;
    color: #000000;
    background: #ffffff !important;
  }

  .app-shell {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }

  #printRoot {
    width: 100%;
  }

  .print-sheet {
    display: grid;
    grid-template-columns: repeat(var(--print-columns, 2), minmax(0, 1fr));
    gap: 6mm;
    align-items: start;
  }

  .ppds-label,
  .print-label {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
    border: 1.2pt solid #000000 !important;
    border-radius: 0 !important;
    padding: 4mm !important;
    color: #000000 !important;
    background: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.5pt !important;
    line-height: 1.32 !important;
  }

  .ppds-label.size-compact,
  .print-label.size-compact {
    font-size: 8.5pt !important;
    padding: 3.2mm !important;
  }

  .ppds-label.size-large,
  .print-label.size-large {
    font-size: 10.5pt !important;
    padding: 5mm !important;
  }

  .label-product {
    margin: 0 0 3mm !important;
    padding-bottom: 2.2mm !important;
    border-bottom: 1pt solid #000000 !important;
    font-size: 1.35em !important;
    line-height: 1.1 !important;
  }

  .label-line {
    margin-top: 2.2mm !important;
    line-height: 1.32 !important;
  }

  .contains-line {
    padding-top: 2.2mm !important;
    border-top: 0.8pt solid #000000 !important;
  }

  .allergen-highlight {
    font-weight: 900 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 0.06em !important;
    text-underline-offset: 0.1em !important;
  }

  .label-matrix {
    margin-top: 3mm !important;
    padding-top: 2.2mm !important;
    border-top: 0.8pt solid #000000 !important;
  }

  .label-matrix h3 {
    margin: 0 0 1.7mm !important;
    font-size: 0.95em !important;
  }

  .label-matrix-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.1mm !important;
  }

  .label-matrix-cell {
    min-height: 7mm !important;
    border: 0.7pt solid #000000 !important;
    padding: 1mm !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 1mm !important;
    font-size: 0.7em !important;
  }

  .label-matrix-cell.is-definite {
    background: #e9e9e9 !important;
    font-weight: 900 !important;
  }

  .label-matrix-cell.is-advisory {
    background: #f7f7f7 !important;
  }
}
