/**
 * Juragankosan — Dedicated Print Stylesheet for Official Corporate Receipts
 * Guaranteed Strict 1-Page Layout Isolation (No 2nd Page Spill)
 */

@media print {
  @page {
    size: A4 portrait;
    margin: 8mm 10mm;
  }

  /* 1. Sembunyikan seluruh elemen di dalam <body> secara ketat */
  body > * {
    display: none !important;
  }

  /* 2. Tampilkan HANYA container modal kwitansi */
  body > #receipt-modal-container,
  body > #receipt-view-modal {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: none !important;
    border: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
  }

  /* 3. Sembunyikan kontrol modal non-print (tombol aksi, header modal, tombol close) */
  #receipt-modal-container .modal-header,
  #receipt-view-modal .modal-header,
  #receipt-modal-container .modal-footer,
  #receipt-view-modal .modal-footer,
  #receipt-modal-container .modal-close,
  #receipt-view-modal .modal-close,
  .no-print {
    display: none !important;
  }

  #receipt-modal-container .modal-dialog,
  #receipt-view-modal .modal-dialog,
  #receipt-modal-container .modal-body,
  #receipt-view-modal .modal-body {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* 4. Format dan isolasi dokumen agar pas tepat 1 halaman penuh tanpa meluber */
  html,
  body {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #0f172a !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .printable-receipt-card,
  .receipt-print-area,
  #printable-receipt-area {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 8mm 10mm !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1.5px solid #0f172a !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  /* Warna dan border cetak tajam beresolusi tinggi */
  .receipt-corp-title {
    color: #0f172a !important;
  }

  .receipt-badge-title {
    background-color: #047857 !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .corp-logo-svg {
    color: #047857 !important;
    background-color: rgba(16, 185, 129, 0.1) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .receipt-header-divider {
    border-bottom: 2px solid #0f172a !important;
    margin: 8px 0 10px 0 !important;
  }

  .receipt-tenant-box {
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .receipt-items-table thead th {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    border-top: 1.5px solid #0f172a !important;
    border-bottom: 1.5px solid #0f172a !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .receipt-items-table tbody td {
    border-bottom: 1px solid #e2e8f0 !important;
  }

  .receipt-items-table tfoot .row-total-bar td {
    background-color: #f8fafc !important;
    border-top: 2px solid #0f172a !important;
    border-bottom: 2px solid #0f172a !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .receipt-terbilang-box {
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .paid-stamp {
    border: 2.5px double #047857 !important;
    color: #047857 !important;
    background-color: rgba(16, 185, 129, 0.05) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .stamp-org-title {
    color: #047857 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .stamp-address-sub {
    font-size: 0.48rem !important;
    color: #047857 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .stamp-advance .stamp-address-sub {
    color: #0284c7 !important;
  }

  .stamp-partial .stamp-address-sub {
    color: #d97706 !important;
  }

  .total-value {
    color: #047857 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .receipt-watermark-free {
    border-top: 1px dashed #94a3b8 !important;
    color: #64748b !important;
  }
}
