.ramadhan-print { display: none; }
@media print {
    @page { size: A4 landscape; margin: 12mm; }
    html, body { margin: 0 !important; padding: 0 !important; background: white !important; height: auto !important; overflow: visible !important; }
    body > :not(.ramadhan-print) { display: none !important; }
    body > .ramadhan-print { display: block !important; color: #111; font: 9pt/1.35 Arial, sans-serif; }
    .ramadhan-print .ramadhan-print-page { break-after: page; }
    .ramadhan-print .ramadhan-print-page:last-child { break-after: auto; }
    .ramadhan-print .ramadhan-print-header, .ramadhan-print .ramadhan-print-footer { display: block !important; position: static !important; background: white !important; color: #111 !important; }
    .ramadhan-print-header { text-align: center; margin-bottom: 5mm; }
    .ramadhan-print-header h1 { font: bold 17pt/1.3 Arial, sans-serif; margin: 2mm 0; color: #111; }
    .ramadhan-print-header p { margin: 1mm 0; font-size: 10pt; }
    .ramadhan-print table { width: 100%; table-layout: fixed; border-collapse: collapse; }
    .ramadhan-print thead { display: table-header-group; }
    .ramadhan-print tr { break-inside: avoid; page-break-inside: avoid; }
    .ramadhan-print th, .ramadhan-print td { border: .2mm solid #999; padding: 2mm 1mm; text-align: center; vertical-align: middle; color: #111; }
    .ramadhan-print th { font-weight: bold; border-bottom: .4mm solid #333; }
    .ramadhan-print .print-speaker { text-align: left; padding-inline: 3mm; overflow-wrap: anywhere; }
    .ramadhan-print small { display: block; font-size: 8pt; line-height: 1.3; margin-top: 1mm; }
    .ramadhan-print-footer { margin-top: 4mm; break-inside: avoid; }
    .ramadhan-print-footer p { margin: 1mm 0; font: 8pt/1.4 Arial, sans-serif; }
}
