/* =========================================
   1. IMPORT FONT DARI GOOGLE FONTS
   ========================================= */
/* Fira Sans untuk Heading (Judul) */
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500;600;700;800&display=swap');

/* Plus Jakarta Sans (Alternatif Terbaik & Gratis untuk Google Sans) untuk Body/Text */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* 
   CATATAN: Jika Anda benar-benar memiliki file font Google Sans asli (.woff2) 
   di folder proyek Anda, hapus tanda komentar di bawah ini dan sesuaikan path-nya:
   
   @font-face {
       font-family: 'Google Sans';
       src: url('../fonts/GoogleSans-Regular.woff2') format('woff2');
       font-weight: 400;
       font-style: normal;
       font-display: swap;
   }
*/

/* =========================================
   2. PENGATURAN FONT GLOBAL
   ========================================= */
:root {
    /* Urutan font: Plus Jakarta Sans -> Google Sans (jika ada file lokal) -> Fallback sistem */
    --font-body: 'Plus Jakarta Sans', 'Google Sans', system-ui, -apple-system, sans-serif;
    --font-heading: 'Fira Sans', system-ui, -apple-system, sans-serif;
}

/* Terapkan font body ke seluruh elemen dasar */
body, p, span, div, a, button, input, select, textarea, td {
    font-family: var(--font-body) !important;
}

/* Terapkan font heading ke semua judul dan elemen tebal */
h1, h2, h3, h4, h5, h6, 
.font-bold, 
.font-semibold,
.font-extrabold,
th,
.uppercase {
    font-family: var(--font-heading) !important;
    letter-spacing: -0.01em; /* Sedikit diperketat agar heading lebih rapi */
}

/* =========================================
   3. ANIMASI & TRANSISI GLOBAL
   ========================================= */
#sidebar {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#sidebar-overlay {
    transition: opacity 0.3s ease-in-out;
}

/* =========================================
   4. PENGATURAN CETAK (PRINT)
   ========================================= */
@media print {
    /* Sembunyikan elemen UI yang tidak perlu saat dicetak */
    #sidebar, 
    #sidebar-overlay, 
    header, 
    .no-print { 
        display: none !important; 
    }
    
    /* Reset layout agar full width kertas A4 */
    #main-wrapper { 
        margin-left: 0 !important; 
        width: 100% !important;
        padding: 0 !important;
    }
    
    body { 
        background: white !important; 
        color: black !important; 
        margin: 0 !important;
        padding: 0 !important;
        /* Paksa font tetap terbaca saat print */
        font-family: var(--font-body) !important; 
    }
    
    /* Pastikan tabel tercetak rapi dengan border */
    table { 
        width: 100% !important; 
        border-collapse: collapse !important; 
    }
    
    th, td { 
        border: 1px solid #000 !important; 
        padding: 8px !important; 
        text-align: left !important;
        font-family: var(--font-body) !important;
    }
    
    th {
        background-color: #ecfeff !important; /* Warna Cyan-50 */
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        font-family: var(--font-heading) !important;
    }
    
    /* Hilangkan shadow dan rounded corners agar seperti dokumen resmi */
    .shadow-md, .shadow-sm, .shadow-xl, 
    .rounded-xl, .rounded-lg, .rounded {
        box-shadow: none !important;
        border-radius: 0 !important;
        border: 1px solid #e5e7eb !important;
    }
}

/* Default: sembunyikan elemen khusus cetak di layar normal */
.print-only {
    display: none;
}

/* Tampilkan elemen khusus cetak HANYA saat mode print */
@media print {
    .print-only {
        display: block !important;
    }
}