@media print {
  /* Commercial documents already own a full-width official letterhead. */
  body.legacy-commercial-print-active #greeneco-global-print-header,
  body.legacy-commercial-print-active .greeneco-global-print-header,
  body:has(.legacy-commercial-shell) #greeneco-global-print-header,
  body:has(.legacy-commercial-shell) .greeneco-global-print-header {
    display: none !important;
  }

  body.legacy-commercial-print-active .page-container,
  body.greeneco-generic-print-mode:has(.legacy-commercial-shell) .page-container,
  body.greeneco-print-branding-active:has(.legacy-commercial-shell) .page-container {
    padding-top: 0 !important;
  }

  @page {
    size: A4 portrait;
    margin: 6mm;
  }

  html,
  body {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }

  .legacy-commercial-shell,
  .legacy-document-screen,
  .legacy-invoice-paper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .legacy-document-screen,
  .legacy-invoice-paper {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .legacy-invoice-paper {
    min-height: 283mm !important;
    padding: 3.5mm !important;
    border: 1px solid #666 !important;
  }

  .legacy-print-company-logo:not([hidden]) {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 2.5mm !important;
    object-fit: contain !important;
  }

  .legacy-invoice-head-grid {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: minmax(42mm, 1fr) 42mm minmax(42mm, 1fr) !important;
    align-items: center !important;
    gap: 5mm !important;
    margin: 0 0 2.5mm !important;
  }

  .legacy-invoice-head-grid > * {
    direction: rtl !important;
  }

  .legacy-invoice-head-grid > label,
  .legacy-doc-number,
  .legacy-invoice-head-grid > strong {
    justify-self: stretch !important;
  }

  .legacy-invoice-head-grid > label,
  .legacy-doc-number label {
    display: grid !important;
    grid-template-columns: auto minmax(22mm, 1fr) !important;
    gap: 2mm !important;
    align-items: center !important;
    font-size: 8.5pt !important;
  }

  .legacy-invoice-head-grid > strong {
    display: grid !important;
    place-items: center !important;
    min-height: 8mm !important;
    padding: 1mm 3mm !important;
    border-radius: 2mm !important;
    background: #09678f !important;
    color: #fff !important;
    font-size: 13pt !important;
    line-height: 1 !important;
  }

  .legacy-invoice-head-grid input,
  .legacy-invoice-meta input,
  .legacy-invoice-meta select {
    height: 7mm !important;
    min-height: 0 !important;
    padding: 0 1.5mm !important;
    border: 1px solid #555 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    font-size: 8.5pt !important;
    font-weight: 700 !important;
  }

  .legacy-invoice-meta {
    direction: rtl !important;
    display: grid !important;
    grid-template-columns: minmax(75mm, 1fr) 46mm !important;
    gap: 7mm !important;
    padding: 0 0 2mm !important;
    margin: 0 !important;
    border: 0 !important;
    background: #fff !important;
  }

  .legacy-invoice-meta label {
    display: grid !important;
    grid-template-columns: auto minmax(25mm, 1fr) !important;
    gap: 2mm !important;
    align-items: center !important;
    font-size: 8.5pt !important;
  }

  .legacy-lines-wrap {
    display: block !important;
    flex: none !important;
    max-height: none !important;
    border: 1px solid #555 !important;
    overflow: visible !important;
  }

  .legacy-lines {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 7.7pt !important;
  }

  .legacy-lines th,
  .legacy-lines td {
    height: auto !important;
    min-height: 0 !important;
    padding: 1mm 1.2mm !important;
    border: 1px solid #777 !important;
    vertical-align: middle !important;
    line-height: 1.25 !important;
  }

  .legacy-lines th {
    background: #666 !important;
    color: #fff !important;
    font-weight: 800 !important;
  }

  .legacy-lines th:nth-child(1), .legacy-lines td:nth-child(1) { width: 5% !important; }
  .legacy-lines th:nth-child(2), .legacy-lines td:nth-child(2) { width: 57% !important; }
  .legacy-lines th:nth-child(3), .legacy-lines td:nth-child(3) { width: 8% !important; }
  .legacy-lines th:nth-child(4), .legacy-lines td:nth-child(4) { width: 8% !important; }
  .legacy-lines th:nth-child(5), .legacy-lines td:nth-child(5) { width: 10% !important; }
  .legacy-lines th:nth-child(6), .legacy-lines td:nth-child(6) { width: 12% !important; }

  .legacy-line-description {
    display: block !important;
  }

  .legacy-lines input,
  .legacy-lines textarea,
  .legacy-lines select,
  .legacy-lines output {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    font: inherit !important;
    line-height: 1.25 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .legacy-lines textarea {
    display: block !important;
    overflow: hidden !important;
    resize: none !important;
    white-space: pre-wrap !important;
    text-align: right !important;
  }

  .legacy-lines input,
  .legacy-lines select,
  .legacy-lines output {
    text-align: center !important;
    font-weight: 700 !important;
  }

  .legacy-document-bottom {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: 48mm minmax(0, 1fr) !important;
    gap: 8mm !important;
    align-items: start !important;
    margin-top: 2.5mm !important;
  }

  .legacy-document-bottom > * {
    direction: rtl !important;
  }

  .legacy-totals {
    border: 0 !important;
    font-size: 8pt !important;
  }

  .legacy-totals label {
    display: grid !important;
    grid-template-columns: 1fr 19mm !important;
    min-height: 5.8mm !important;
    margin-bottom: 1mm !important;
    border: 0 !important;
    background: transparent !important;
  }

  .legacy-totals label > span {
    padding: 1mm 1.5mm !important;
    font-weight: 800 !important;
  }

  .legacy-totals input,
  .legacy-totals output {
    height: 5.8mm !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1px solid #8c7777 !important;
    background: #f8e8e8 !important;
    box-shadow: none !important;
    text-align: center !important;
    font-size: 8pt !important;
    font-weight: 800 !important;
  }

  .legacy-totals .grand {
    color: #a20d14 !important;
    background: #f6dada !important;
    font-size: 8pt !important;
  }

  .legacy-totals > b {
    display: block !important;
    padding: 1.5mm 0 !important;
    color: #086292 !important;
    font-size: 9pt !important;
  }

  .legacy-notes {
    display: grid !important;
    grid-template-columns: 18mm minmax(0, 1fr) !important;
    gap: 2mm !important;
    align-items: end !important;
    padding-top: 18mm !important;
    font-size: 8pt !important;
  }

  .legacy-notes textarea {
    min-height: 25mm !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    resize: none !important;
    color: #000 !important;
    font-size: 7.5pt !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    white-space: pre-wrap !important;
  }
}
