/* ============================================================
   Utilities -- kelas kecil lintas halaman
   ============================================================ */

/* Atribut [hidden] HARUS selalu menang, walau elemennya juga pakai kelas
   display Bootstrap (.d-flex, .d-grid, dst) yang memakai !important --
   tanpa ini, toggle `el.hidden = true` lewat JS tidak benar-benar
   menyembunyikan elemen (kejadian nyata: badge status Notifikasi Push di
   Pengaturan Akun tetap tampil walau div pembungkusnya `hidden`). */
[hidden] {
    display: none !important;
}

.cursor-pointer {
    cursor: pointer;
}

.min-w-0 {
    min-width: 0;
}

.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.icon-circle {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.fw-semibold {
    font-weight: 600;
}

/* ============================================================
   Layout cetak laporan -- sembunyikan navbar/sidebar/tombol,
   biarkan hanya konten laporan yang tercetak
   ============================================================ */
@media print {
    .navbar, .sidebar, .no-print, .btn-sidebar-toggle {
        display: none !important;
    }
    .main-content {
        padding: 0 !important;
        background: #fff !important;
    }
    body {
        background: #fff !important;
    }
    /* Sel nominal (Rp) & angka di tabel laporan JANGAN pecah baris saat dicetak --
       supaya "Rp" selalu menempel di depan angkanya & kolomnya rapi. */
    table td.text-end, table th.text-end {
        white-space: nowrap;
    }
}

/* ============================================================
   Notes kecil "Tanggal & Jam / Dicetak oleh" (Revisi 7 #14) --
   HANYA muncul saat print/preview cetak, tidak ikut tampil di layar
   biasa (beda dari .no-print yang kebalikannya).
   ============================================================ */
.print-note-onscreen {
    display: none;
}
@media print {
    .print-note-onscreen {
        display: block;
        position: fixed;
        bottom: 8px;
        left: 0;
        right: 0;
        text-align: right;
        padding-right: 14mm;
        font-size: 9px;
        color: #999;
    }
}

/* ============================================================
   Notes kecil "[tgl jam WIB], [user cetak]" di POJOK KANAN BAWAH
   (footer) SETIAP dokumen cetak resmi (PO / Penerimaan Barang /
   Invoice / Surat Jalan / Tanda Terima).
   - Di layar: statis di bawah halaman preview (rata kanan).
   - Saat dicetak: position:fixed di dasar SETIAP halaman (Chrome/
     Firefox mengulang elemen fixed di tiap halaman cetak), jadi
     selalu nongol di pojok kanan bawah tiap lembar.
   ============================================================ */
.doc-print-meta {
    margin: 12px auto 0;
    max-width: 210mm;
    padding: 0 14mm;
    text-align: right;
    font-size: 9px;
    color: #9aa0a6;
    line-height: 1.4;
}
@media print {
    .doc-print-meta {
        position: fixed;
        bottom: 8px;
        left: 0;
        right: 0;
        margin: 0;
        max-width: none;
        padding: 0 12mm 0 0;
    }
}
