/* ============================================================================
   IMKON EDU — SHRIFT — BUTUN TIZIM UCHUN YAGONA MANBA
   ============================================================================

   NEGA SHU FAYL BOR
   -----------------
   Shrift ilgari HAR BIR qobiqda alohida e'lon qilinardi:
     * `core/base_edu.html` (o'quvchi)  -> `body { font-family: 'Sora' }`
     * `core/base.html`     (boshqaruv) -> `:root { --bs-font-sans-serif: 'Sora' }`

   Ikkinchisi ISHLAMAGAN. Sababi: Metronic'ning `style.bundle.css` fayli
   shriftni o'zgaruvchi orqali emas, QATTIQ YOZIB qo'ygan:

       body,html { font-family: Inter, Helvetica, "sans-serif" }

   Ya'ni `--bs-font-sans-serif` ni almashtirish hech narsa bermagan — o'sha
   o'zgaruvchi bu qoidada umuman ishlatilmaydi. Natijada boshqaruv paneli
   Inter'da, o'quvchi qismi esa Sora'da chiqib, ikki muhit begona ko'rinardi.

   YECHIM: shrift bitta joyda e'lon qilinadi va IKKALA qobiq ham shu faylni
   `core/_typography.html` orqali ulaydi. Yangi qobiq qo'shilsa — o'sha
   partial'ni include qilish kifoya, shriftni qayta yozish shart emas.

   ULASH TARTIBI MUHIM
   -------------------
   Bu fayl Metronic bundle'laridan KEYIN ulanishi shart: `html, body`
   selektorining og'irligi bir xil (0,0,1), shuning uchun g'olibni faqat
   manbadagi tartib hal qiladi. `!important` faqat plagin qoidalari o'zi
   `!important` ishlatgan joyda qo'yilgan (ApexCharts).

   IKONKA SHRIFTLARIGA TEGILMAYDI
   ------------------------------
   Keenicons (`ki-outline`, `ki-solid`), FontAwesome va boshqa ikonka
   to'plamlari ham `font-family` orqali ishlaydi. Shu sabab bu yerda
   `*` yoki `font-family: inherit` kabi keng qamrovli qoida YO'Q —
   faqat matnli komponentlar sanab o'tilgan. Wildcard qo'shilsa barcha
   ikonka kvadratchaga aylanadi.
   ========================================================================= */

:root {
    /* Loyihaning yagona matn shrifti. Boshqa joyda 'Sora' deb yozilmaydi —
       hamma shu o'zgaruvchiga murojaat qiladi. */
    --app-font-sans: 'Sora', 'Helvetica Neue', Helvetica, Arial, sans-serif;

    /* Bootstrap/Metronic o'zgaruvchilari ham shu manbaga bog'lanadi — ular
       orqali ishlaydigan komponentlar o'z-o'zidan to'g'rilanadi. */
    --bs-font-sans-serif: var(--app-font-sans);
    --bs-body-font-family: var(--app-font-sans);
}

/* Asosiy qoida: `style.bundle.css` dagi `body,html{font-family:Inter...}`
   ni bosib o'tadi. Qolgan hamma element bundan MEROS oladi. */
html,
body {
    font-family: var(--app-font-sans);
}

/* Sarlavhalar va matn elementlari — ba'zi tayyor mavzular ularga alohida
   shrift beradi, shuning uchun ochiq-oydin merosga qaytariladi. */
h1, h2, h3, h4, h5, h6,
p, span, a, li, td, th, label, small, strong, em, blockquote {
    font-family: inherit;
}

/* Forma elementlari brauzerning tizim shriftini oladi — merosga qaytaramiz. */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
}

/* --- Plaginlar: Inter'ni qattiq yozib qo'ygan MATNLI komponentlar ---------
   Ro'yxat `plugins.bundle.css` dan olingan. Ikonka to'plamlari bu yerda YO'Q. */
.daterangepicker,
.ql-toolbar,
.ql-container,
.ql-editor,
.leaflet-container .leaflet-popup-content-wrapper .leaflet-popup-content,
.swal2-popup,
.dataTables_wrapper,
.fc {
    font-family: var(--app-font-sans);
}

/* ApexCharts o'z qoidasida `!important` ishlatadi — teng kuch bilan javob
   beramiz (fayl keyin ulangani uchun ustun chiqadi). */
.apexcharts-legend-text,
.apexcharts-text,
.apexcharts-title-text,
.apexcharts-tooltip,
.apexcharts-xaxistooltip,
.apexcharts-yaxistooltip {
    font-family: var(--app-font-sans) !important;
}
