@media print {
  @page {
    size: auto;
    margin: 8mm 12mm 8mm 12mm;
  }

  @page page-a5 {
    size: A5 portrait;
    margin: 6mm 8mm 6mm 8mm;
  }

  @page page-k80 {
    size: 80mm auto;
    margin: 2mm 3mm 2mm 3mm;
  }

  body.print-a5,
  .print-a5 .a4-page-wrapper {
    page: page-a5;
  }

  body.print-k80,
  .print-k80 .a4-page-wrapper {
    page: page-k80;
  }

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

  /* Hide all UI shell elements */
  .top-navbar,
  .form-panel,
  .preview-toolbar,
  .btn,
  .quick-tags {
    display: none !important;
  }

  .app-container,
  .main-content,
  .preview-panel {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    border: none !important;
  }

  .a4-page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 2mm 5mm !important;
    border: none !important;
  }

  /* Table borders must stay crisp in print */
  .bill-items-table th, 
  .bill-items-table td {
    border: 1px solid #374151 !important;
  }
}
