
@media print {
  @page {
    margin: 0.75in;
    size: letter;
  }

  /* Reset everything */
  * {
    box-sizing: border-box;
  }

  body {
    background-color: white !important;
    color: black !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
  }

  /* Remove all height constraints that might prevent pagination */
  body *,
  div,
  section,
  article {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
  }

  /* Hide no-print elements */
  .no-print {
    display: none !important;
  }

  /* Show printable content by default */
  body * {
    visibility: visible !important;
  }

  /* Show only receipt and its ancestors for receipt printing */
  .printable-receipt,
  .printable-receipt *,
  .printable-receipt {
    display: block !important;
    visibility: visible !important;
  }

  /* Make sure parent containers of receipt are visible */
  body:has(.printable-receipt) *:not(.printable-receipt):not(.printable-receipt *) {
    display: none !important;
  }

  /* Position receipt */
  .printable-receipt {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0.25in !important;
    background: white !important;
    color: black !important;
    font-family: monospace !important;
  }

  /* Make all text visible and black */
  .printable-receipt,
  .printable-receipt * {
    color: black !important;
    background: transparent !important;
  }

  /* Ensure table elements display correctly */
  .printable-receipt table {
    display: table !important;
  }

  .printable-receipt thead {
    display: table-header-group !important;
  }

  .printable-receipt tbody {
    display: table-row-group !important;
  }

  .printable-receipt tr {
    display: table-row !important;
  }

  .printable-receipt td,
  .printable-receipt th {
    display: table-cell !important;
  }

  main {
    padding: 0 !important;
    margin: 0 !important;
  }

  .printable-area {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  /* Ensure flex containers don't constrain content */
  .flex,
  .flex-col,
  .flex-row {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .overflow-hidden,
  .overflow-y-auto,
  .overflow-x-auto {
    overflow: visible !important;
  }
  
  h1, h2, h3, h4, h5, h6 {
    color: #000 !important;
    page-break-after: avoid;
  }

  a {
    text-decoration: none;
    color: #000;
  }

  table {
    width: 100% !important;
    border-collapse: collapse;
    font-size: 10pt;
    page-break-inside: auto;
  }

  th, td {
    border: 1px solid #ccc;
    padding: 6px 8px;
    text-align: left;
    page-break-inside: avoid;
  }

  thead {
    background-color: #f2f2f2;
    font-weight: bold;
  }

  tr {
    page-break-inside: avoid;
  }

  .print-header {
    display: block;
    text-align: center;
    margin-bottom: 2rem;
    border-bottom: 2px solid #000;
    padding-bottom: 1rem;
  }
  
  .print-title {
    font-size: 24pt;
    font-weight: bold;
  }

  .print-date {
    font-size: 10pt;
    color: #555;
  }

  /* Receipt-specific formatting */
  .printable-receipt {
      background: white !important;
      color: black !important;
      font-size: 9pt !important;
  }

  .printable-receipt table {
      width: 100% !important;
      border-collapse: collapse !important;
  }

  .printable-receipt table th,
  .printable-receipt table td {
      border: none !important;
      padding: 4px 0 !important;
      visibility: visible !important;
      color: black !important;
      text-align: left !important;
  }

  .printable-receipt table th {
      font-weight: bold !important;
      border-bottom: 1px solid black !important;
  }

  .printable-receipt thead {
      background-color: transparent !important;
  }

  /* Make sure text elements are visible */
  .printable-receipt h1,
  .printable-receipt h2,
  .printable-receipt h3,
  .printable-receipt p,
  .printable-receipt span,
  .printable-receipt div {
      visibility: visible !important;
      color: black !important;
  }
}

.print-header {
  display: none;
}
