body { 
    font-family: 'Inter', sans-serif; 
    background-color: #f8fafc; 
}

.fade-in { 
    animation: fadeIn 0.3s ease-in-out; 
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.hidden { 
    display: none !important; 
}

.modal-overlay { 
    background-color: rgba(15, 23, 42, 0.6); 
    backdrop-filter: blur(2px); 
}

.custom-scrollbar::-webkit-scrollbar { 
    width: 6px; 
}

.custom-scrollbar::-webkit-scrollbar-track { 
    background: #f1f5f9; 
    border-radius: 4px; 
}

.custom-scrollbar::-webkit-scrollbar-thumb { 
    background: #cbd5e1; 
    border-radius: 4px; 
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover { 
    background: #94a3b8; 
}

/* --- CSS KHUSUS UNTUK CETAK LAPORAN --- */
@media print {
    body { 
        background-color: white !important; 
        font-size: 12px; 
    }
    
    /* Sembunyikan elemen yang tidak perlu dicetak */
    #app-navbar, .no-print, footer, #btn-toggle-form { 
        display: none !important; 
    }
    
    /* Hilangkan margin/padding aplikasi agar full kertas */
    #app-main { 
        padding: 0 !important; 
        margin: 0 !important; 
        max-width: 100% !important; 
    }
    
    /* Munculkan Kop Surat hanya saat dicetak */
    .print-header-formal { 
        display: block !important; 
    }
    
    /* Paksa warna background (seperti badge/grafik) ikut tercetak */
    * { 
        -webkit-print-color-adjust: exact !important; 
        print-color-adjust: exact !important; 
    }
    
    /* Cegah tabel terpotong di tengah halaman */
    table { page-break-inside: auto; }
    tr { page-break-inside: avoid; page-break-after: auto; }
}

/* Sembunyikan Kop Surat saat dilihat di layar HP/Laptop */
.print-header-formal { 
    display: none; 
}