/* =============================================================================
   PRINT STYLESHEET - DOKUMEN RESMI AKKPD, PROGRAM BK, & RPL (A4 OPTIMIZED)
   SMA NEGERI 2 SAMARINDA
   ============================================================================= */

/* 1. Pengaturan Default Kertas Baku A4 */
@page {
    size: A4 portrait;
    margin: 8mm 10mm 10mm 10mm;
}

@page portrait-a4 {
    size: A4 portrait;
    margin: 8mm 10mm 10mm 10mm;
}

@page landscape-a4 {
    size: A4 landscape;
    margin: 6mm 7mm 7mm 7mm;
}

@media print {
    /* 2. Sembunyikan SEMUA elemen antarmuka web, navigasi, tombol, footer, overlay */
    header, nav, footer, .no-print, button, .action-buttons, .tab-nav, 
    #sidebar, .filter-bar, .toast, input, select, textarea, #pinLockOverlay,
    .no-print * {
        display: none !important;
        visibility: hidden !important;
    }

    /* 3. Format Body Bersih untuk Cetak Kertas */
    html, body {
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #000000 !important;
        font-family: "Times New Roman", Times, serif !important;
        font-size: 10pt !important;
        line-height: 1.35 !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* 4. Reset Container Web (Main, Section, Wrapper Tailwind) */
    main {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }

    .tab-panel.hidden {
        display: none !important;
    }

    /* 5. Tampilan Dokumen Cetak Pas Kertas */
    #programBkDocumentView,
    #rplDocumentView,
    #printBiodataContent,
    #tab-program-bk,
    #tab-rpl,
    #profilKelasPrintDocument,
    .printable-document {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        font-family: "Times New Roman", Times, serif !important;
        color: #000000 !important;
        background: transparent !important;
    }

    /* 6. Penanganan Khusus Saat Mencetak dari Modal (Profil Siswa & Biodata) */
    body.printing-modal #app,
    body.printing-modal header,
    body.printing-modal main,
    body.printing-modal footer {
        display: none !important;
    }

    #studentProfileModal:not(.hidden),
    #modalPrintBiodata:not(.hidden) {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
        background: #ffffff !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        border: none !important;
        backdrop-filter: none !important;
        z-index: 1 !important;
    }

    #studentProfileModal > div,
    #modalPrintBiodata > div {
        max-width: 100% !important;
        width: 100% !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 7. Kelas Penentu Orientasi Halaman */
    body.print-landscape {
        page: landscape-a4;
    }

    body.print-portrait {
        page: portrait-a4;
    }

    .landscape-mode {
        page: landscape-a4;
        width: 100% !important;
        max-width: 100% !important;
    }

    .portrait-mode {
        page: portrait-a4;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* 8. Pengaturan Tabel Standar Pas Kertas A4 */
    table {
        width: 100% !important;
        max-width: 100% !important;
        border-collapse: collapse !important;
        margin: 8px 0 !important;
        box-sizing: border-box !important;
        font-family: "Times New Roman", Times, serif !important;
        page-break-inside: auto !important;
    }

    table, th, td {
        border: 1px solid #000000 !important;
    }

    th, td {
        padding: 4px 5px !important;
        color: #000000 !important;
        vertical-align: middle !important;
        box-sizing: border-box !important;
        font-family: "Times New Roman", Times, serif !important;
    }

    th {
        background-color: #f2f2f2 !important;
        font-weight: bold !important;
        text-align: center !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    thead {
        display: table-header-group !important;
    }

    tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* 9. Penyesuaian Presisi untuk Tabel-Tabel Khusus Program BK */
    .table-action-plan {
        font-size: 8.5pt !important;
        line-height: 1.25 !important;
        table-layout: fixed !important;
        width: 100% !important;
    }
    .table-action-plan th, .table-action-plan td {
        padding: 3px 3px !important;
        word-wrap: break-word !important;
    }

    .table-jadwal-kegiatan {
        font-size: 8pt !important;
        line-height: 1.2 !important;
        table-layout: fixed !important;
        width: 100% !important;
    }
    .table-jadwal-kegiatan th, .table-jadwal-kegiatan td {
        padding: 2px 1.5px !important;
        word-wrap: break-word !important;
    }

    .table-promes {
        font-size: 8pt !important;
        line-height: 1.2 !important;
        table-layout: fixed !important;
        width: 100% !important;
    }
    .table-promes th, .table-promes td {
        padding: 2px 1.5px !important;
        word-wrap: break-word !important;
    }

    .table-jurnal {
        font-size: 8.5pt !important;
        line-height: 1.25 !important;
        width: 100% !important;
    }
    .table-jurnal th, .table-jurnal td {
        padding: 3px 2px !important;
        word-wrap: break-word !important;
    }

    /* Tabel Tanda Tangan & Elemen Tanpa Border */
    table[border="0"],
    table[border="0"] td,
    table[border="0"] th,
    .signature-table,
    table.signature-table,
    table.signature-table td {
        border: none !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .signature-section {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-top: 15px !important;
    }

    /* 10. Pemisah Halaman & Hindari Potongan Elemen */
    .page-break {
        page-break-before: always !important;
        break-before: page !important;
    }

    .avoid-break {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
}
