/* ═══════════════════════════════════════════════════════════════════════
   hb-tokens.css — Bittada HRM yagona dizayn tokenlari
   Manba: TZ_UNIFIED_DESIGN_SYSTEM.md §3 + "Bittada HRM.dc.html" prototipi
   (client_erp/redesign.css'dan meros, hb- nomlash bilan). 2026-07-29.
   Bu fayl FAQAT o'zgaruvchilar/global reset — komponent klasslari
   hb-components.css'da.
   ═══════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{
  /* ── QORONG'I (default) ──
     2026-08-09, ikkinchi iteratsiya: buyurtmachi laym-sariq rangning
     yumshatilgan varianti ("zaytun-laym") ni ham yoqtirmadi — butunlay
     boshqa rang oilasiga o'tildi. Ko'k/binafsha ("AI-standart" gradient —
     dizayn-did qoidalariga ko'ra generik hisoblanadi) va laym ikkalasi ham
     chetlab o'tildi; o'rniga zamonaviy, tanish-lekin-klishe bo'lmagan
     zumrad-firuza (teal/emerald) tanlandi — Linear/Stripe/Supabase kabi
     zamonaviy SaaS mahsulotlarida keng tanilgan, professional va "arzon"
     emas. Fon o'tgan safargidek iliq to'q kulrang bo'lib qoladi. */
  --hb-bg:#17161C; --hb-bg2:#1D1C23; --hb-sfc:#24232B; --hb-sfc2:#2E2D36;
  --hb-txt:#F0EFF2; --hb-mut:#A3A1AC;
  --hb-brd:rgba(255,255,255,.09); --hb-brd2:rgba(255,255,255,.16);

  --hb-acc:#24C29A; --hb-acc-d:#1FA884; --hb-acc-ink:#0B1F19; --hb-acc-text:#3BDCB3;
  --hb-acc-rgb:36,194,154;

  --hb-danger:#F58B8B; --hb-ok:#3BDCB3; --hb-warning:#F5C56B; --hb-info:#8FB8E8; --hb-violet:#C9B6F5;

  --hb-radius:22px; --hb-radius-md:18px; --hb-radius-sm:14px; --hb-pill:999px;
  --hb-shadow:0 14px 30px rgba(0,0,0,.40);
  --hb-shadow-sm:0 6px 14px rgba(0,0,0,.28);
  --hb-glow:0 10px 24px rgba(0,0,0,.30);

  --hb-font:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
}
:root[data-theme="light"]{
  --hb-bg:#FFFFFF; --hb-bg2:#EFEFEC; --hb-sfc:#FFFFFF; --hb-sfc2:#F1EFE8;
  --hb-txt:#1B1A20; --hb-mut:#6E6C76;
  --hb-brd:rgba(0,0,0,.14); --hb-brd2:rgba(0,0,0,.2);
  /* 2026-08-09: teal ko'chirilganda bu qator o'tkazib yuborilgan edi — hali ham
     eski zaytun-laym (#5C8A0C) qiymatida qolgan bo'lib, hattoki O'SHA ranglar
     ostida ham AA'ni qondirmasdi (3.65:1, --hb-bg fonida, 4.5 kerak). Teal
     oilasidan #16745C tanlandi: --hb-bg (#F3F1EA) ustida 5.04:1, --hb-sfc
     (#FFFFFF) ustida 5.70:1 — ikkalasi ham margin bilan AA'dan o'tadi. */
  --hb-acc-text:#16745C;
  --hb-danger:#DC5B5B; --hb-ok:#16745C; --hb-warning:#B8792A; --hb-info:#2E7D8F; --hb-violet:#6F4FC9;
  --hb-shadow:0 14px 30px rgba(90,80,60,.14);
  --hb-shadow-sm:0 6px 14px rgba(90,80,60,.10);
  --hb-glow:0 10px 24px rgba(120,140,40,.22);
}
/* Foydalanuvchi hali tanlamagan bo'lsa — tizim mavzusiga ergashadi (birinchi kirish) */
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]):not([data-theme="light"]){
    --hb-bg:#FFFFFF; --hb-bg2:#EFEFEC; --hb-sfc:#FFFFFF; --hb-sfc2:#F1EFE8;
    --hb-txt:#1B1A20; --hb-mut:#6E6C76;
    --hb-brd:rgba(0,0,0,.14); --hb-brd2:rgba(0,0,0,.2);
    --hb-acc-text:#16745C;
    --hb-danger:#DC5B5B; --hb-ok:#16745C; --hb-warning:#B8792A; --hb-info:#2E7D8F; --hb-violet:#6F4FC9;
    --hb-shadow:0 14px 30px rgba(90,80,60,.14);
    --hb-shadow-sm:0 6px 14px rgba(90,80,60,.10);
    --hb-glow:0 10px 24px rgba(120,140,40,.22);
  }
}

/* ── Modul identifikatsiya ranglari (faqat ikonka/nishon darajasida, §3.1) ── */
:root{
  --hb-mod-staff:var(--hb-info); --hb-mod-attendance:var(--hb-info);
  --hb-mod-fines:var(--hb-warning); --hb-mod-recruiting:var(--hb-violet);
  --hb-mod-academy:var(--hb-violet); --hb-mod-surveys:var(--hb-info);
  --hb-mod-hr:var(--hb-acc); --hb-mod-cms:var(--hb-acc);
  --hb-mod-calendar:var(--hb-violet);
  --hb-mod-discuss:var(--hb-acc);
  --hb-mod-project:var(--hb-info);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.hb{
  background:var(--hb-bg); color:var(--hb-txt); font-family:var(--hb-font);
  font-size:13px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
/* 2026-08-09 (buyurtmachi so'rovi): hover'da pastdan chiziq chiqmasligi kerak —
   deyarli barcha .hb a instansiyasi bu ilovada "havola" emas, balki
   navigatsiya elementi/tugma (.hb-navitem, .hb-btn va h.k.) sifatida
   ishlatiladi, ular allaqachon o'z fon-hover holatiga ega; qo'shimcha
   chiziq faqat shovqin qo'shardi. O'rniga: yumshoq rang o'tishi. */
.hb a{color:var(--hb-acc-text); text-decoration:none; transition:opacity .15s ease}
.hb a:hover{opacity:.8}
/* Sof matn ichidagi havolalar (masalan chat/post tanasi) — bular haqiqatan
   ham "havola" bo'lib, atrofdagi oddiy matndan farqlanishi kerak (a11y
   qoidasi), shuning uchun bu yerda ATAYLAB underline saqlanadi. */
.hb-prose a{text-decoration:underline; text-underline-offset:3px}
.hb-prose a:hover{opacity:.8}
.hb button{font-family:inherit}
/* 2026-08-09 (buyurtmachi so'rovi): oldin ingichka uslublangan scrollbar
   ko'rsatilardi — "hunik" topildi, shuning uchun butun platformada
   HECH QANDAY scrollbar ko'rinmaydi (scroll o'zi ishlayveradi, faqat
   vizual chiziq/tayoqcha yashirilgan) — Chrome/Safari/Edge (webkit) va
   Firefox (scrollbar-width) ikkalasi ham qamrab olinadi. */
.hb, .hb *{scrollbar-width:none; -ms-overflow-style:none}
.hb ::-webkit-scrollbar, .hb::-webkit-scrollbar{display:none; width:0; height:0}
/* [2026-08-10, buyurtmachi so'rovi] Asosiy kontent uchun standart brauzer
   scrollbar'i qaytarildi — yuqoridagi umumiy yashirish qoidasi kichik
   ichki elementlar (sidebar-nav, dropdown) uchun saqlanadi, faqat
   #hbMainContent'ning O'ZI uchun bekor qilinadi. */
#hbMainContent{scrollbar-width:thin; -ms-overflow-style:auto}
#hbMainContent::-webkit-scrollbar{display:block; width:10px; height:10px}
#hbMainContent::-webkit-scrollbar-thumb{background:var(--hb-brd); border-radius:99px}
#hbMainContent::-webkit-scrollbar-thumb:hover{background:var(--hb-mut)}
#hbMainContent::-webkit-scrollbar-track{background:transparent}

@keyframes hb-screenin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes hb-popin{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes hb-bargrowx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hb-sheetup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes hb-toastin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hb-pulse{0%,100%{opacity:.45}50%{opacity:.9}}
@keyframes hb-fabbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
