/* =========================================================
   KiraKaun — Lapisan Ikon
   Font Nucleo dalam pakej Soft UI free adalah corrupt (ditolak OTS Chrome).
   Kami petakan kelas .ni-* sedia ada -> Bootstrap Icons (self-host, sah).
   Tiada perubahan pada markup view diperlukan.
   ========================================================= */
@font-face {
    font-family: 'bootstrap-icons';
    src: url('/assets/fonts/bootstrap-icons.woff2?v=3') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Elemen ikon ni-*: jadikan kotak flex yang TENGAHKAN glyph
   (elak ikon terkedudukan ke atas/kiri dalam bekasnya) */
.ni,
[class^="ni-"],
[class*=" ni-"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
    vertical-align: middle;
}

/* PENTING: Soft UI menolak ikon ke bawah (position:relative; top:11-14px) & opacity .8
   — itu "nudge" untuk font Nucleo asal yang render tinggi. Untuk Bootstrap Icons +
   flex centering, reset supaya ikon TEPAT di tengah & penuh warna. */
.icon i, .icon .ni,
.icon-shape i, .icon-shape .ni,
.icon-xxs i, .icon-xs i, .icon-sm i, .icon-lg i {
    top: 0 !important;
    opacity: 1 !important;
    position: static !important;
}

/* Glyph (render guna Bootstrap Icons) */
.ni::before,
[class^="ni-"]::before,
[class*=" ni-"]::before {
    font-family: 'bootstrap-icons' !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Pemetaan ni-* -> codepoint Bootstrap Icons */
.ni-app::before            { content: "\f3fb"; }  /* grid */
.ni-basket::before         { content: "\f180"; }
.ni-bell-55::before        { content: "\f18a"; }  /* bell */
.ni-bold-down::before      { content: "\f282"; }  /* chevron-down */
.ni-briefcase-24::before   { content: "\f1cc"; }
.ni-building::before       { content: "\f1dd"; }
.ni-bulb-61::before        { content: "\f46b"; }  /* lightbulb */
.ni-bullet-list-67::before { content: "\f478"; }  /* list-ul */
.ni-button-power::before   { content: "\f4ff"; }  /* power */
.ni-camera-compact::before { content: "\f221"; }  /* camera */
.ni-cart::before           { content: "\f23d"; }  /* cart-fill */
.ni-chart-bar-32::before   { content: "\f17a"; }  /* bar-chart-fill */
.ni-chart-pie-35::before   { content: "\f4e8"; }  /* pie-chart-fill */
.ni-check-bold::before     { content: "\f633"; }  /* check-lg */
.ni-cloud-download-95::before { content: "\f29a"; }
.ni-cloud-upload-96::before   { content: "\f2bf"; }
.ni-collection::before     { content: "\f2c9"; }  /* collection-fill */
.ni-credit-card::before    { content: "\f2d9"; }  /* credit-card-2-front-fill */
.ni-delivery-fast::before  { content: "\f5ea"; }  /* truck */
.ni-fat-remove::before     { content: "\f659"; }  /* x-lg */
.ni-money-coins::before    { content: "\f246"; }  /* cash-stack (lebih kemas) */
.ni-notification-70::before { content: "\f332"; } /* exclamation-circle-fill */
.ni-paper-diploma::before  { content: "\f38a"; }  /* file-earmark-text-fill */
.ni-settings::before       { content: "\f56b"; }  /* sliders */
.ni-settings-gear-65::before { content: "\f3e2"; } /* gear-fill */
.ni-shop::before           { content: "\f543"; }
.ni-single-02::before      { content: "\f4da"; }  /* person-fill */
.ni-single-copy-04::before { content: "\f3c2"; }  /* files */
.ni-zoom-split-in::before  { content: "\f62c"; }  /* zoom-in */

/* Pusat Pembelajaran (Belajar) — ikon rujukan & navigasi.
   Kelas ni-* ini sebelum ini TIADA pemetaan -> render kosong (tofu).
   ni-bold-left khususnya dipakai oleh butang "Senarai/Kembali" di banyak halaman. */
.ni-books::before          { content: "\f1a5"; }  /* bookshelf — katalog LHDN */
.ni-ruler-pencil::before   { content: "\f523"; }  /* rulers — standard MPERS/MFRS */
.ni-bold-left::before      { content: "\f12f"; }  /* arrow-left — butang kembali */
.ni-bold-right::before     { content: "\f138"; }  /* arrow-right — kad kategori */
.ni-world-2::before        { content: "\f3ee"; }  /* globe — sumber rasmi luar */
.ni-mortarboard::before    { content: "\f6fe"; }  /* mortarboard — pusat belajar */
.ni-signpost::before       { content: "\f54a"; }  /* signpost — roadmap */
.ni-book-half::before       { content: "\f193"; } /* book-half — glosari */
.ni-search::before         { content: "\f52a"; }  /* search — carian */
.ni-bank::before           { content: "\f62e"; }  /* bank — rujukan akta/cukai */
.ni-list-check::before     { content: "\f473"; }  /* list-check — cara KiraKaun guna */
.ni-archive-2::before      { content: "\f10c"; }  /* archive-fill — sejarah/simpan rekod */
.ni-badge::before          { content: "\f876"; }  /* building-fill — jenis entiti */
.ni-calendar-grid-58::before { content: "\f214"; }/* calendar3 — jadual ansuran CP204 */

/* Ikon semantik tambahan (untuk KPI & menu yang lebih tepat) */
.ni-trend-up::before       { content: "\f673"; }  /* graph-up-arrow — pendapatan */
.ni-wallet::before         { content: "\f613"; }  /* wallet-fill — baki tunai (tebal) */
.ni-box::before            { content: "\f7d3"; }  /* box-seam-fill — inventori/aset */
.ni-people::before         { content: "\f4cf"; }  /* people-fill — pekerja/gaji */
.ni-calendar::before       { content: "\f1e2"; }  /* calendar-check — kalendar */
.ni-shield-check::before   { content: "\f52f"; }  /* shield-check — audit/pematuhan */
.ni-journal::before        { content: "\f444"; }  /* journal-text — audit trail/lejar */
.ni-receipt2::before       { content: "\f50f"; }  /* receipt — resit/invois */
.ni-button-play::before    { content: "\f4f4"; }  /* play-fill — butang proses baris gilir */
.ni-refresh::before        { content: "\f116"; }  /* arrow-clockwise — cuba semula */

/* Pusingan pembetulan 2026-06-24 — kelas ni-* ini DIPAKAI dalam view tetapi
   TIADA pemetaan -> render kosong (tofu). Codepoint disahkan dari
   bootstrap-icons v1.11.3 rasmi (padan known-good sedia ada). */
.ni-spaceship::before        { content: "\f844"; } /* rocket-takeoff-fill — kad Total Tokens (OCR/AI) */
.ni-lock-circle-open::before { content: "\f5ff"; } /* unlock-fill — Locked/Expired, kunci/buku, Super Master */
.ni-fat-add::before          { content: "\f64d"; } /* plus-lg — semua butang Tambah/Daftar/Lanjut */
.ni-time-alarm::before       { content: "\f101"; } /* alarm-fill — Log Aktiviti, sedang proses, aging */
.ni-key-25::before           { content: "\f44e"; } /* key-fill — butang Buka Kunci */
.ni-curved-next::before      { content: "\f134"; } /* arrow-right-circle — Uji Sambungan / reverse */
.ni-align-left-2::before     { content: "\f5c7"; } /* text-left — Rekod Baki Pembuka */
/* Dibina secara dinamik dlm PHP/JS (InsightGenerator, $box/$navIcon) — terlepas audit view pertama */
.ni-trend-down::before       { content: "\f672"; } /* graph-down-arrow — insight tren menurun */
.ni-box-2::before            { content: "\f1c7"; } /* box-seam — Pembelian / Bil Pembelian */
.ni-send::before             { content: "\f6b9"; } /* send-fill — Bayar Pembekal / Tanda Dihantar */

/* =========================================================
   Pembetulan caret dropdown.
   Soft UI menukar .dropdown-toggle::after kepada glyph FontAwesome ("\f107")
   pada lebar desktop — tetapi FontAwesome TIDAK dimuatkan dalam projek ini,
   jadi caret jadi kotak (tofu). Pulihkan segi tiga CSS biasa (tiada font). */
.dropdown-toggle::after,
.dropdown .dropdown-toggle::after,
.dropup .dropdown-toggle::after {
    font: inherit !important;
    content: "" !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    margin-left: 0.35em !important;
    vertical-align: middle !important;
    border-top: 0.32em solid !important;
    border-right: 0.32em solid transparent !important;
    border-bottom: 0 !important;
    border-left: 0.32em solid transparent !important;
}
.dropdown-toggle::before {
    content: none !important;
}
