/* ==========================================================================
   AIFU — Aniq va Ijtimoiy Fanlar Universiteti
   Dars jadvali sayti — rang tokenlari (design tokens)

   Manba: Logo/Logo.png. Logoda atigi 3 ta toza rang bor, gradient yo'q:
     #002E60 navy (45.4%)  ·  #FFFFFF oq (11.8%)  ·  #FF0158 pushti (3.4%)

   Oraliq tonlar o'ylab topilmagan — ular logo faylining anti-aliasing
   piksellaridan olingan (navy + oq, 12.5% qadam bilan).

   QOIDA: komponentlarda 2-bo'limdagi SEMANTIK tokenlarni ishlating
   (--bg-app, --text-primary, --accent ...), 1-bo'limdagi xom shkalani emas.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. XOM SHKALA  (palette — to'g'ridan-to'g'ri ishlatilmaydi)
   -------------------------------------------------------------------------- */

:root {
  /* Brend — logodan, o'zgartirilmaydi */
  --aifu-navy:  #002E60;   /* rgb(0,46,96)    hsl(211,100%,19%)  cmyk(100,52,0,62) */
  --aifu-pink:  #FF0158;   /* rgb(255,1,88)   hsl(339,100%,50%)  cmyk(0,100,65,0)  */
  --aifu-white: #FFFFFF;

  /* Navy shkalasi — 900 = brend */
  --navy-50:  #F7F9FA;
  --navy-100: #EFF2F5;
  --navy-200: #DFE5EB;
  --navy-300: #BFCBD7;
  --navy-400: #A0B0C3;
  --navy-500: #8096AF;
  --navy-600: #607C9B;
  --navy-700: #406287;
  --navy-800: #204873;
  --navy-900: #002E60;   /* ★ BREND */
  --navy-950: #001E3E;

  /* Pushti shkalasi — 500 = brend */
  --pink-50:  #FFEFF4;
  --pink-100: #FFDFEA;
  --pink-200: #FFBFD5;
  --pink-300: #FF80AC;
  --pink-400: #FF4082;
  --pink-500: #FF0158;   /* ★ BREND */
  --pink-600: #E60150;
  --pink-700: #CC0146;
  --pink-800: #A60139;
  --pink-900: #80012C;

  /* Holat ranglari — logodan EMAS, funksional. TZ kelgach moslashtiriladi. */
  --green-500: #0E9F6E;  --green-50: #E3F6EF;
  --amber-500: #F59E0B;  --amber-50: #FEF3E2;
  --red-500:   #D92D20;  --red-50:   #FDECEA;
  --blue-500:  #1E6FD9;  --blue-50:  #E8F1FC;

  /* rgba() uchun kanal qiymatlari (soya, yarim-shaffof qatlamlar) */
  --navy-rgb: 0 46 96;
  --pink-rgb: 255 1 88;
}


/* --------------------------------------------------------------------------
   2. SEMANTIK TOKENLAR — yorug' mavzu (default)
   -------------------------------------------------------------------------- */

:root {
  /* Fonlar */
  --bg-app:          var(--navy-50);    /* sahifa foni                     */
  --bg-surface:      var(--aifu-white); /* kartochka, panel, jadval katagi */
  --bg-surface-alt:  var(--navy-100);   /* zebra qator, bo'sh slot         */
  --bg-header:       var(--navy-900);   /* yuqori panel, jadval sarlavhasi */
  --bg-sidebar:      var(--navy-950);   /* yon menyu                       */
  --bg-accent-soft:  var(--pink-50);    /* bugungi kun, tanlangan katak    */

  /* Chegaralar */
  --border:          var(--navy-200);
  --border-strong:   var(--navy-300);
  --border-on-dark:  rgb(255 255 255 / 0.16);

  /* Matn */
  --text-primary:     var(--navy-900);
  --text-secondary:   var(--navy-600);
  --text-muted:       var(--navy-500);
  --text-placeholder: var(--navy-400);
  --text-on-dark:     var(--aifu-white);
  --text-on-accent:   var(--aifu-white);  /* faqat yirik matn — 4-bo'limga qarang */
  --text-link:        var(--pink-600);

  /* Interaktiv */
  --accent:           var(--pink-500);
  --accent-hover:     var(--pink-600);
  --accent-pressed:   var(--pink-700);
  --accent-disabled:  var(--navy-300);
  --focus-ring:       var(--pink-500);
  --selection-bg:     var(--pink-50);

  /* Holat */
  --success: var(--green-500);  --success-bg: var(--green-50);
  --warning: var(--amber-500);  --warning-bg: var(--amber-50);
  --danger:  var(--red-500);    --danger-bg:  var(--red-50);
  --info:    var(--blue-500);   --info-bg:    var(--blue-50);

  /* Soyalar — navy asosida, neytral kulrang emas */
  --shadow-sm: 0 1px 2px rgb(var(--navy-rgb) / 0.06);
  --shadow-md: 0 4px 12px rgb(var(--navy-rgb) / 0.08);
  --shadow-lg: 0 12px 32px rgb(var(--navy-rgb) / 0.12);
}


/* --------------------------------------------------------------------------
   3. QORONG'I MAVZU
   Ikki holatda ham ishlaydi: qurilma sozlamasi va qo'lda tanlash.
   Kerak bo'lmasa — bu bo'limni o'chirish mumkin, qolgani buzilmaydi.
   -------------------------------------------------------------------------- */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg-app:         #00152D;
    --bg-surface:     var(--navy-950);
    --bg-surface-alt: #072749;
    --bg-header:      #00152D;
    --bg-sidebar:     #00101F;
    --bg-accent-soft: rgb(var(--pink-rgb) / 0.14);

    --border:         #16345B;
    --border-strong:  #24476F;

    --text-primary:     var(--navy-100);
    --text-secondary:   var(--navy-400);
    --text-muted:       var(--navy-500);
    --text-placeholder: var(--navy-600);
    --text-link:        var(--pink-300);   /* qorong'ida pink-500 emas — kontrast uchun */

    --accent:         var(--pink-500);
    --accent-hover:   var(--pink-400);
    --accent-pressed: var(--pink-600);
    --selection-bg:   rgb(var(--pink-rgb) / 0.18);

    --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.40);
    --shadow-md: 0 4px 12px rgb(0 0 0 / 0.45);
    --shadow-lg: 0 12px 32px rgb(0 0 0 / 0.55);
  }
}

:root[data-theme="dark"] {
  --bg-app:         #00152D;
  --bg-surface:     var(--navy-950);
  --bg-surface-alt: #072749;
  --bg-header:      #00152D;
  --bg-sidebar:     #00101F;
  --bg-accent-soft: rgb(var(--pink-rgb) / 0.14);

  --border:         #16345B;
  --border-strong:  #24476F;

  --text-primary:     var(--navy-100);
  --text-secondary:   var(--navy-400);
  --text-muted:       var(--navy-500);
  --text-placeholder: var(--navy-600);
  --text-link:        var(--pink-300);

  --accent:         var(--pink-500);
  --accent-hover:   var(--pink-400);
  --accent-pressed: var(--pink-600);
  --selection-bg:   rgb(var(--pink-rgb) / 0.18);

  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.40);
  --shadow-md: 0 4px 12px rgb(0 0 0 / 0.45);
  --shadow-lg: 0 12px 32px rgb(0 0 0 / 0.55);
}


/* --------------------------------------------------------------------------
   4. KONTRAST (WCAG 2.1) — matn joylashtirishda hisobga oling
   --------------------------------------------------------------------------

     oq / navy-900         13.5:1   AAA   har qanday o'lchamdagi matn
     navy-900 / oq         13.5:1   AAA   har qanday o'lchamdagi matn
     navy-600 / oq          4.9:1   AA    ikkilamchi matn uchun yetarli
     oq / pink-500          3.9:1   —     faqat >=24px yoki >=19px bold
     pink-500 / navy-900    3.5:1   —     faqat yirik matn / ikonka
     pink-500 / navy-950    4.3:1   —     hali ham AA dan past
     pink-300 / navy-950    7.1:1   AAA   qorong'i mavzuda havola/urg'u matni
     navy-500 / oq          3.1:1   —     faqat dekorativ

   QOIDA: pushti fonda kichik matn YOZILMAYDI. Pushti — tugma, badge,
   aktiv kun indikatori, ajratuvchi chiziq kabi YIRIK elementlar uchun.
   Fan nomi, o'qituvchi, xona kabi mayda matnlar har doim:
   navy (oq fonda) yoki oq (navy fonda).
   -------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------
   5. GLOBAL BOG'LASH — tokenlarni sahifaga ulash
   -------------------------------------------------------------------------- */

:root { color-scheme: light dark; }

body {
  background-color: var(--bg-app);
  color: var(--text-primary);
}

::selection {
  background-color: var(--selection-bg);
  color: var(--text-primary);
}

:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
