/* ========================================================
   SIPM - PRINT STYLESHEET (KUITANSI & LAPORAN RESMI)
   SMK MA'ARIF KOTA MUNGKID
   ======================================================== */

@media print {
  /* Reset dasar halaman cetak */
  html, body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Elemen antarmuka sistem yang WAJIB disembunyikan saat mencetak */
  .sidebar,
  .top-header,
  .page-actions,
  .btn,
  .modal-close-btn,
  .modal-footer,
  .modal-header,
  .toast-container,
  .role-switcher-card,
  .nav-tabs,
  .search-input-box,
  .card-header,
  .sidebar-backdrop,
  .no-print,
  #btn-mode-standard,
  #btn-mode-thermal {
    display: none !important;
  }

  /* KETIKA MODAL AKTIF (KUITANSI, SURAT TAGIHAN, KARTU SPP):
     SEMBUNYIKAN TOTAL SELURUH DASHBOARD ADMIN & KONTEN HALAMAN BELAKANGNYA */
  body.modal-open .app-wrapper,
  body.printing-receipt .app-wrapper,
  body.printing-doc .app-wrapper,
  body:has(#app-modal-backdrop.show) .app-wrapper,
  #app-modal-backdrop.show ~ .app-wrapper,
  .modal-backdrop.show ~ .app-wrapper {
    display: none !important;
  }

  /* Jika mencetak laporan umum di luar modal */
  body:not(.modal-open) .main-wrapper {
    margin-left: 0 !important;
    width: 100% !important;
    padding: 0 !important;
  }

  body:not(.modal-open) .content-body {
    padding: 0 !important;
    max-width: 100% !important;
  }

  /* Penyesuaian Modal Dialog Saat Cetak (Hanya Tampilkan Dokumen Cetak) */
  .modal-backdrop.show,
  #app-modal-backdrop.show {
    position: static !important;
    display: block !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .modal-dialog,
  #app-modal-dialog {
    max-width: 100% !important;
    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .modal-body,
  #app-modal-body {
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    max-height: none !important;
    background: transparent !important;
  }

  /* Target Kuitansi Resmi Sekolah (A4 / Lembar Resmi) */
  .receipt-paper,
  #printable-receipt {
    border: 1px solid #000000 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    padding: 20px 24px !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 800px !important;
    page-break-inside: avoid !important;
  }

  .receipt-letterhead {
    border-bottom: 2px solid #000000 !important;
    padding-bottom: 10px !important;
    margin-bottom: 15px !important;
  }

  /* Target Struk Kasir Thermal */
  #printable-thermal-struk {
    border: none !important;
    box-shadow: none !important;
    margin: 0 auto !important;
    width: 58mm !important;
    max-width: 58mm !important;
    page-break-inside: avoid !important;
  }

  /* Target Surat Tagihan Resmi Sekolah & Lembar Kolektif Rombel */
  .billing-statement-paper,
  .class-statement-sheet {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 850px !important;
    font-size: 10pt !important;
    line-height: 1.35 !important;
  }

  .class-statement-sheet {
    page-break-after: always !important;
    break-after: page !important;
  }

  .class-statement-sheet:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  .billing-statement-paper .official-letterhead,
  .class-statement-sheet .official-letterhead {
    border-bottom: 3px double #000000 !important;
  }

  .billing-statement-paper .official-letterhead img,
  .class-statement-sheet .official-letterhead img,
  .spp-card-paper .official-letterhead img,
  .receipt-letterhead img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  /* Target Kartu SPP 12 Bulan & Administrasi Keuangan Siswa */
  .spp-card-paper {
    border: 1px solid #000000 !important;
    box-shadow: none !important;
    padding: 16px !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 850px !important;
    font-size: 9pt !important;
    page-break-inside: auto !important;
  }

  .spp-card-paper table {
    page-break-inside: auto !important;
  }

  .spp-card-paper tr {
    page-break-inside: avoid !important;
  }

  /* Tabel Cetak */
  .table {
    border: 1px solid #000000 !important;
    border-collapse: collapse !important;
    width: 100% !important;
  }

  .table th, .table td {
    border: 1px solid #000000 !important;
    color: #000000 !important;
    padding: 5px 8px !important;
  }

  .signature-section {
    page-break-inside: avoid !important;
  }

  .headmaster-qr-signature,
  .headmaster-qr-signature * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .headmaster-qr-signature svg {
    max-width: 100% !important;
    height: auto !important;
  }

  @page {
    margin: 0.8cm 1cm;
    size: A4 portrait;
  }
}
