/* ==========================================================================
   PRINT STYLESHEET - SURAT JAMINAN PRIMAYA HOSPITAL PGI CIKINI
   Dirancang presisi untuk standar kertas A4 (210mm x 297mm)
   Menghilangkan header/footer browser (timestamp, URL/location, nomor halaman)
   dan memastikan output cetak persis 100% sama dengan pratinjau sistem.
   ========================================================================== */

@page {
  size: A4 portrait;
  margin: 0; /* Hapus margin halaman default agar browser tidak mencetak URL & timestamp */
}

@media print {
  /* Pengaturan dasar kanvas cetak */
  html,
  body {
    width: 210mm !important;
    height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #FFFFFF !important;
    color: #000000 !important;
    font-family: 'Times New Roman', Times, serif !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Sembunyikan seluruh elemen antarmuka sistem di luar print-container */
  body > *:not(#print-container) {
    display: none !important;
  }

  .navbar,
  .hero-strip,
  .tab-navigation,
  .stats-grid,
  .request-grid,
  .table-card,
  .modal-overlay,
  .toast-container,
  .app-footer,
  .no-print,
  .modal-header,
  .modal-footer {
    display: none !important;
  }

  /* Kontainer utama cetak */
  #print-container {
    display: block !important;
    width: 210mm !important;
    height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #FFFFFF !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Lembar Dokumen Surat Resmi A4 - Persis dengan Tampilan Sistem */
  #print-container .official-letter-wrapper {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    height: 100% !important;
  }

  #print-container .official-letter-page,
  .official-letter-page {
    box-sizing: border-box !important;
    width: 210mm !important;
    height: 297mm !important;
    max-height: 297mm !important;
    padding: 16mm 22mm 14mm 22mm !important; /* Margin surat resmi yang pas di A4 */
    margin: 0 auto !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    font-family: 'Times New Roman', Times, serif !important;
    font-size: 13.5px !important;
    line-height: 1.46 !important;
    color: #000000 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    position: relative !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    overflow: hidden !important;
  }

  /* Kop Surat Resmi (Logo Primaya Hospital PGI Cikini / Kustom) */
  #print-container .letter-header,
  .letter-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding-bottom: 2pt !important;
    margin-bottom: 4pt !important;
    width: 100% !important;
  }

  #print-container .letter-logo,
  .letter-logo {
    height: 56pt !important;
    max-height: 56pt !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  #print-container .kop-mode1-wrapper,
  .kop-mode1-wrapper {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
  }
  #print-container .kop-mode1-wrapper.align-left,
  .kop-mode1-wrapper.align-left { justify-content: flex-start !important; }
  #print-container .kop-mode1-wrapper.align-center,
  .kop-mode1-wrapper.align-center { justify-content: center !important; }
  #print-container .kop-mode1-wrapper.align-right,
  .kop-mode1-wrapper.align-right { justify-content: flex-end !important; }


  #print-container .kop-classic-container,
  .kop-classic-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8pt !important;
    padding-bottom: 3pt !important;
    width: 100% !important;
  }

  #print-container .kop-classic-logo,
  .kop-classic-logo {
    height: 48pt !important;
    max-height: 48pt !important;
    width: auto !important;
    max-width: 65pt !important;
    object-fit: contain !important;
    display: block !important;
    flex-shrink: 0 !important;
  }

  #print-container .kop-classic-spacer,
  .kop-classic-spacer {
    width: 65pt !important;
    flex-shrink: 0 !important;
    visibility: hidden !important;
  }

  #print-container .kop-classic-text,
  .kop-classic-text {
    flex: 1 !important;
    text-align: center !important;
  }

  #print-container .kop-classic-title,
  .kop-classic-title {
    font-size: 13pt !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    margin-bottom: 1pt !important;
    font-family: "Times New Roman", Times, serif !important;
  }

  #print-container .kop-classic-subtitle,
  .kop-classic-subtitle {
    font-size: 9.5pt !important;
    font-weight: bold !important;
    margin-bottom: 1pt !important;
  }

  #print-container .kop-classic-address,
  .kop-classic-address {
    font-size: 8pt !important;
    line-height: 1.2 !important;
    margin-bottom: 1pt !important;
  }

  #print-container .kop-classic-contact,
  .kop-classic-contact {
    font-size: 7.5pt !important;
  }

  #print-container .kop-double-line,
  .kop-double-line {
    border: none !important;
    border-top: 2.5pt solid #000000 !important;
    border-bottom: 1pt solid #000000 !important;
    height: 3.5pt !important;
    margin: 3pt 0 8pt !important;
    width: 100% !important;
    display: block !important;
    clear: both !important;
  }

  /* Nomor Surat & Tanggal */
  #print-container .letter-top-grid,
  .letter-top-grid {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 12pt !important;
  }

  #print-container .letter-top-left,
  .letter-top-left {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
  }

  #print-container .letter-top-right,
  .letter-top-right {
    font-size: 13.5px !important;
    text-align: right !important;
    font-weight: bold !important;
  }

  /* Penerima Surat */
  #print-container .letter-recipient,
  .letter-recipient {
    margin-bottom: 11pt !important;
    line-height: 1.35 !important;
    font-size: 13.5px !important;
  }

  #print-container .letter-recipient p,
  .letter-recipient p {
    margin: 0 !important;
  }

  /* Salam Pembuka */
  #print-container .letter-salutation,
  .letter-salutation {
    margin-bottom: 7pt !important;
    font-size: 13.5px !important;
  }

  #print-container .letter-salutation p,
  .letter-salutation p {
    margin: 0 !important;
  }

  /* Tabel Identitas Pasien */
  #print-container .letter-patient-info-table,
  .letter-patient-info-table {
    margin: 4pt 0 10pt 0 !important;
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13.5px !important;
  }

  #print-container .letter-patient-info-table td,
  .letter-patient-info-table td {
    padding: 1.5pt 0 !important;
    vertical-align: top !important;
  }

  #print-container .letter-patient-info-table td:first-child,
  .letter-patient-info-table td:first-child {
    width: 100pt !important;
  }

  #print-container .letter-patient-info-table td:nth-child(2),
  .letter-patient-info-table td:nth-child(2) {
    width: 14pt !important;
  }

  /* Isi Surat */
  #print-container .letter-body-text,
  .letter-body-text {
    text-align: justify !important;
    font-size: 13.5px !important;
    line-height: 1.46 !important;
    margin-bottom: 6pt !important;
  }

  #print-container .letter-body-text p,
  .letter-body-text p {
    margin-bottom: 7pt !important;
  }

  /* Blok Tanda Tangan */
  #print-container .letter-signature-block,
  .letter-signature-block {
    margin-top: 10pt !important;
    width: 100% !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  #print-container .letter-signature-dept,
  .letter-signature-dept {
    font-weight: bold !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 5pt !important;
    font-size: 13.5px !important;
  }

  #print-container .signature-name-block,
  .signature-name-block {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 160pt !important;
    margin-top: 2pt !important;
  }

  #print-container .signature-space,
  .signature-space {
    height: 48pt !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  #print-container .letter-signature-img,
  .letter-signature-img {
    max-height: 46pt !important;
    max-width: 150pt !important;
    object-fit: contain !important;
  }

  #print-container .signature-name-line,
  .signature-name-line {
    font-weight: bold !important;
    text-decoration: underline !important;
    font-size: 13px !important;
    padding-top: 3pt !important;
    text-align: left !important;
    border-top: none !important;
  }

  #print-container .signature-title-line,
  .signature-title-line {
    font-size: 12px !important;
    color: #475569 !important;
    text-align: left !important;
    margin-top: 2pt !important;
  }

  /* Baris Bawah: Tembusan di kiri, QR Code di pojok kanan bawah (Tanpa Border) */
  #print-container .letter-bottom-row,
  .letter-bottom-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    width: 100% !important;
    margin-top: 8pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  #print-container .letter-tembusan,
  .letter-tembusan {
    font-size: 11px !important;
    margin-top: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  #print-container .letter-tembusan table td,
  .letter-tembusan table td {
    padding: 1pt 0 !important;
  }

  #print-container .letter-bottom-qr,
  .letter-bottom-qr {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #print-container .letter-bottom-qr a,
  .letter-bottom-qr a {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  #print-container .letter-bottom-qr-img,
  .letter-bottom-qr-img {
    width: 66px !important;
    height: 66px !important;
    display: block !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  #print-container .qr-verify-badge,
  .qr-verify-badge {
    font-family: Arial, sans-serif !important;
    font-size: 6.5pt !important;
    font-weight: bold !important;
    color: #047857 !important;
  }

  #print-container .qr-verify-text,
  .qr-verify-text {
    font-family: Arial, sans-serif !important;
    font-size: 5.5pt !important;
    color: #475569 !important;
  }

  /* Footer Surat Resmi Primaya Hospital */
  #print-container .letter-footer,
  .letter-footer {
    margin-top: auto !important;
    padding-top: 6pt !important;
    border-top: 6pt solid #062752 !important;
    display: flex !important;
    gap: 12pt !important;
    font-size: 8px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: #475569 !important;
    align-items: flex-start !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  #print-container .letter-footer-left,
  .letter-footer-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 2pt !important;
    min-width: 110pt !important;
    flex-shrink: 0 !important;
  }

  #print-container .footer-social-item,
  .footer-social-item {
    display: flex !important;
    align-items: center !important;
    gap: 3pt !important;
    font-size: 7.5px !important;
    color: #475569 !important;
  }

  #print-container .footer-social-item svg,
  .footer-social-item svg {
    width: 9pt !important;
    height: 9pt !important;
    flex-shrink: 0 !important;
  }

  #print-container .letter-footer-right,
  .letter-footer-right {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5pt !important;
  }

  #print-container .footer-branches,
  .footer-branches {
    font-size: 7px !important;
    line-height: 1.35 !important;
    color: #475569 !important;
  }

  #print-container .footer-accreditation,
  .footer-accreditation {
    font-size: 7px !important;
    line-height: 1.35 !important;
    color: #475569 !important;
  }

  #print-container .dot-orange,
  .dot-orange {
    color: #F97316 !important;
  }

  #print-container .dot-green,
  .dot-green {
    color: #22C55E !important;
  }
}