@page {
  size: A4 portrait;
  margin: 0;
}

@media print {
  :root {
    color-scheme: light;
  }

  html,
  body {
    width: 210mm !important;
    min-width: 210mm !important;
    min-height: 297mm !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  body {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body * {
    visibility: hidden !important;
  }

  #invoice-preview,
  #invoice-preview * {
    visibility: visible !important;
  }

  .app-shell,
  .workspace,
  .content,
  #app-content,
  .editor-layout,
  .preview-pane,
  #invoice-preview {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .sidebar,
  .topbar,
  .view-header,
  .editor-pane,
  .preview-toolbar,
  .toast-container,
  .toast-region,
  .toast,
  .modal-backdrop,
  .modal,
  .skip-link,
  .noscript-message,
  .no-print {
    display: none !important;
  }

  #invoice-preview {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
  }

  #invoice-preview .invoice-paper {
    position: relative !important;
    display: flex !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    min-height: 297mm !important;
    padding: 17mm 17mm 14mm !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #181921 !important;
    transform: none !important;
    transform-origin: top left !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  #invoice-preview .invoice-paper::before {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  #invoice-preview .invoice-header,
  #invoice-preview .invoice-meta-grid,
  #invoice-preview .party-grid,
  #invoice-preview .invoice-summary,
  #invoice-preview .invoice-reference-row,
  #invoice-preview .totals-panel,
  #invoice-preview .payment-panel,
  #invoice-preview .invoice-footer,
  #invoice-preview .invoice-notes {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #invoice-preview .service-table {
    break-inside: auto;
    page-break-inside: auto;
  }

  #invoice-preview .service-table thead {
    display: table-header-group;
  }

  #invoice-preview .service-table tfoot {
    display: table-footer-group;
  }

  #invoice-preview .service-table tr,
  #invoice-preview .service-table td,
  #invoice-preview .service-table th {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #invoice-preview a,
  #invoice-preview a:visited {
    color: inherit !important;
    text-decoration: none !important;
  }
}
