/* ==========================================================================
   Comprehensive Print and Reporting Stylesheet for EWS
   Ensures complete, unclipped, responsive multi-page printing across all roles & browsers
   ========================================================================== */

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

    /* Reset root, html, and body layout constraints */
    html,
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
        font-size: 10pt !important;
        line-height: 1.4 !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Eliminate all fixed height & scroll container constraints */
    .dashboard-layout,
    .dashboard-shell,
    .dashboard-main,
    main,
    section,
    article,
    div,
    .overflow-x-auto,
    .overflow-y-auto,
    .min-h-screen,
    .h-screen {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    /* Completely hide navigation, headers, sidebars, buttons, overlays, and modals */
    aside,
    header,
    nav,
    button,
    form,
    #main-sidebar,
    #sidebar-overlay,
    #toast-container,
    #notif-modal,
    #notif-dropdown,
    #profile-dropdown,
    #modal-profil-sekolah,
    .print\:hidden,
    [class*="print:hidden"] {
        display: none !important;
        visibility: hidden !important;
    }

    /* Print Kop Surat & Header */
    .print-kop-surat {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding-bottom: 10px !important;
        margin-bottom: 14px !important;
        border-bottom: 3px double #000000 !important;
    }

    /* Print Document Container */
    .print-document-container,
    .print-ready-report,
    #print-area,
    .report-sheet {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        border: none !important;
        display: block !important;
    }

    /* Table Formatting for Clean Multi-Page Print - Fully Responsive & All Columns Shown */
    table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: auto !important;
        border-collapse: collapse !important;
        page-break-inside: auto !important;
        margin-top: 8px !important;
        margin-bottom: 12px !important;
        white-space: normal !important;
    }

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

    tfoot {
        display: table-footer-group !important;
    }

    tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        page-break-after: auto !important;
    }

    th {
        background-color: #f1f5f9 !important;
        color: #0f172a !important;
        font-weight: 700 !important;
        border: 1px solid #334155 !important;
        padding: 5px 6px !important;
        font-size: 8.5pt !important;
        text-align: left !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    td {
        border: 1px solid #64748b !important;
        padding: 4px 6px !important;
        font-size: 8.5pt !important;
        color: #000000 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Disable all text truncation line-clamp in print mode */
    [class*="line-clamp"],
    .line-clamp-1,
    .line-clamp-2,
    .line-clamp-3,
    .line-clamp-4 {
        -webkit-line-clamp: none !important;
        line-clamp: none !important;
        display: block !important;
        max-height: none !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    /* Badges in Print */
    .badge-print {
        display: inline-block !important;
        padding: 2px 6px !important;
        border-radius: 4px !important;
        font-size: 8pt !important;
        font-weight: 700 !important;
        border: 1px solid #64748b !important;
        white-space: nowrap !important;
    }

    .badge-tuntas {
        background-color: #dcfce7 !important;
        color: #15803d !important;
        border-color: #86efac !important;
    }

    .badge-berisiko {
        background-color: #fef9c3 !important;
        color: #a16207 !important;
        border-color: #fde047 !important;
    }

    .badge-tidak-tuntas {
        background-color: #fee2e2 !important;
        color: #b91c1c !important;
        border-color: #fca5a5 !important;
    }

    /* Signatures Section */
    .print-signatures,
    .report-signatures {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-top: 20px !important;
        padding-top: 10px !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        text-align: center !important;
    }

    /* Force show elements specifically flagged for print */
    .print\:block {
        display: block !important;
    }
    .print\:flex {
        display: flex !important;
    }
    .print\:grid {
        display: grid !important;
    }
}
