/* ==========================================================================
   Nexus Tasarım Token'ları
   --------------------------------------------------------------------------
   Kaynak: Nexus Servis Yönetim Merkezi üretim stylesheet'i (ölçülmüş değerler).
   Marka renkleri ve kabuk ölçüleri DEĞİŞTİRİLMEMİŞTİR.

   Bu dosyaya eklenenler:
     · -strong tonları  → metin için kontrast güvenli karşılıklar (hesaplanmış)
     · ölçek token'ları → aralık / yarıçap / tipografi / ikon / süre / katman
     · tokenlaştırma    → koyu temada bozulan 20+ sabit rengin token'a alınması
     · --ink            → mevcut kodda tanımsız kullanılan token, --text'e bağlandı

   Tipografi rem tabanlıdır (kök 16px varsayımıyla px karşılıkları yorumda).
   Kabuk ölçüleri bilinçli olarak px'tir — sidebar/topbar sabit kalmalıdır.
   ========================================================================== */

:root {
  color-scheme: light;

  /* --- Marka ve durum renkleri (DOKUNMA) ------------------------------- */
  --primary:        #556ee6;
  --primary-soft:   rgba(85, 110, 230, .18);
  --success:        #34c38f;
  --success-soft:   rgba(52, 195, 143, .18);
  --info:           #50a5f1;
  --info-soft:      rgba(80, 165, 241, .18);
  --warning:        #f1b44c;
  --warning-soft:   rgba(241, 180, 76, .18);
  --danger:         #f46a6a;
  --danger-soft:    rgba(244, 106, 106, .18);

  /* --- Metin tonları (-strong) -----------------------------------------
     Marka renkleri metin olarak yetersiz: --info beyazda 2.63:1,
     --success 2.25:1, --warning 1.85:1. Bu tonlar OKLCH'de yalnız açıklık
     oynatılarak üretildi — ton ve doygunluk korundu.

     Hedef zemin olarak ROZET ZEMİNİ alındı (renk %18 alfa ile beyaz
     üzerinde), çünkü en zorlu durum odur. Sonuç: bu tonlar hem rozet
     zemininde (4.5:1) hem düz beyaz kartta (5.0–5.6:1) geçer.

     KULLANIM: metin ve ikon rengi.                                        */
  --primary-strong: #465cd2;  /* rozet 4.52:1 · kart 5.64:1 */
  --success-strong: #207b59;  /* rozet 4.51:1 · kart 5.20:1 */
  --info-strong:    #0b6fb7;  /* rozet 4.52:1 · kart 5.29:1 */
  --warning-strong: #93670c;  /* rozet 4.53:1 · kart 5.02:1 */
  --danger-strong:  #bf383e;  /* rozet 4.52:1 · kart 5.45:1 */
  --muted-strong:   #71758a;  /* kart 4.52:1 · ≤11px metinde --muted yerine */

  /* --- Dolu yüzey tonları (-fill) --------------------------------------
     Beyaz metin TAŞIYAN dolu yüzeyler için (birincil buton, aktif segment).
     Buradaki gereksinim tersidir — zemin, üstündeki beyaz metne karşı
     4.5:1 vermeli. Bu yüzden -strong'dan farklı ve daha açık değerlerdir.

     --primary-fill orijinal #556ee6'dan GÖZLE AYIRT EDİLEMEZ (yalnız
     4.41 → 4.53 farkı). Buton görünümü birebir korunur.

     Tema bağımsızdır: beyaz-metin/dolu-zemin kontrastı sayfa temasına
     göre değişmez.                                                        */
  --primary-fill: #536ce4;  /* beyaz metin 4.53:1 */
  --success-fill: #138760;  /* beyaz metin 4.50:1 */
  --info-fill:    #1f7ac3;  /* beyaz metin 4.53:1 */
  --warning-fill: #9d6d08;  /* beyaz metin 4.54:1 */
  --danger-fill:  #ce484b;  /* beyaz metin 4.51:1 */

  /* --- Grafik işareti tonları (-chart) ---------------------------------
     İnce grafik işaretleri için: çizgi, nokta, dilim kenarı, sparkline.
     WCAG 1.4.11 grafiksel nesneler için 4.5 değil **3:1** ister — bu
     yüzden -strong'dan daha açık ve markaya çok daha yakındırlar.
     (-strong kullanılsaydı amber çizgi kahverengiye kaçardı.)

     Geniş dolgular — sütun, dilim, alan — için temel token yeterlidir;
     büyük yüzey zaten ayırt edilir.                                        */
  --primary-chart: #556ee6;  /* 4.41:1 — değişmedi, zaten yeterli */
  --success-chart: #0ca978;  /* 3.01:1 */
  --info-chart:    #449ae5;  /* 3.00:1 */
  --warning-chart: #c4890d;  /* 3.02:1 */
  --danger-chart:  #f26868;  /* 3.01:1 */

  /* --- Yüzeyler ve metin ------------------------------------------------ */
  --body-bg:        #f8f8fb;
  --card:           #ffffff;
  --text:           #495057;   /*  8.18:1 */
  --muted:          #74788d;   /*  4.36:1 — ≥12px metinde kullan          */
  --heading:        #343a40;   /* 11.51:1 */
  --ink:            var(--text);  /* geriye dönük: eski kodda tanımsızdı */
  --border:         #eff2f7;   /* ayırıcı çizgi (dekoratif, kontrast muaf) */
  --sidebar-link:   #545a6d;

  /* --- Form ------------------------------------------------------------- */
  --input-bg:       #ffffff;
  --input-border:   #ced4da;
  --pill-m-bg:      #eceef2;
  --pill-m-fg:      #878a99;
  --pill-m-fg-strong: #737684;  /* 4.52:1 · 10.5px rozet metni için      */

  /* --- Önceden sabit kodlanmış, artık token (koyu temada düzeliyor) ----- */
  --primary-hover:  #4a61cc;   /* .btn-primary:hover                      */
  --icon-ink:       #555b6d;   /* burger, ikon butonu konturu             */
  --section-fg:     var(--muted-strong);  /* eski #9096a1 = 2.97:1 idi    */
  --count-fg:       var(--muted-strong);  /* eski #aeb3bd = 2.10:1 idi    */
  --control-off:    #ccd1d9;   /* switch kapalı, checkbox kenarı          */
  --state-off:      #ced4da;   /* pasif durum noktası                     */
  --dot-ring:       var(--card);  /* bildirim noktası halkası             */
  --scrollbar:      #dfe2e8;
  --tooltip-bg:     #1f2740;
  --tooltip-fg:     #ffffff;
  --row-hover:      var(--body-bg);
  --row-hover-flat: rgba(127, 127, 127, .05);  /* tema-nötr, akordeon    */
  --code-bg:        #2a3042;
  --code-fg:        #c7cbd6;
  --code-comment:   #7f8596;
  --code-string:    #a3e4b8;
  --code-key:       #8ab4f8;
  --code-number:    #f1b44c;
  --code-keyword:   #c792ea;

  /* --- Uyarı şeridi ----------------------------------------------------- */
  --alert-bg:       #ffc107;
  --alert-border:   #e0a800;
  --alert-text:     #4a3800;   /* 8.4:1 */
  --alert-icon:     #6b5514;   /* eski #8a6d1a = 2.9:1 idi                */
  --alert-crit-bg:  #fde2e2;
  --alert-crit-bd:  #f5b5b5;
  --alert-crit-fg:  #a13a3a;
  --alert-info-bg:  #e3f0fd;
  --alert-info-bd:  #b8d7f6;
  --alert-info-fg:  #2f6cae;

  /* --- Tipografi --------------------------------------------------------
     Ölçek 20 adımdan 10'a indirildi; ara değerler (8.5/9.5/13.5/14.5px)
     en yakın adıma yuvarlandı. Ritmi olmayan bir ölçek sürdürülemez.      */
  --font:      Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, "DejaVu Sans Mono",
               Consolas, monospace;

  --fs-micro: .5625rem;   /*  9px — sidebar tip rozeti                    */
  --fs-2xs:   .625rem;    /* 10px — bölüm başlığı, tabbar, mikro etiket   */
  --fs-xs:    .6875rem;   /* 11px — rozet, tablo başlığı, ipucu, meta     */
  --fs-code:  .71875rem;  /* 11.5px — mono, kod, ikincil açıklama         */
  --fs-sm:    .75rem;     /* 12px — breadcrumb, KPI etiketi, liste alt    */
  --fs-md:    .78125rem;  /* 12.5px — menü, tablo hücresi, form etiketi   */
  --fs-base:  .8125rem;   /* 13px — GÖVDE, buton, input                   */
  --fs-lg:    .875rem;    /* 14px — kart başlığı (h3)                     */
  --fs-xl:    1rem;       /* 16px — sayfa başlığı (h1)                    */
  --fs-2xl:   1.1875rem;  /* 19px — hero başlık                           */
  --fs-3xl:   1.375rem;   /* 22px — KPI değeri                            */

  --lh-tight: 1.4;
  --lh-base:  1.6;        /* gövde — 13px üzerinde 20.8px                 */
  --lh-loose: 1.7;        /* kod blokları                                 */

  --fw-regular:  400;
  --fw-medium:   500;     /* buton, sekme, etiket, aktif menü             */
  --fw-semibold: 600;     /* tüm başlıklar, tablo th, KPI değeri          */
  --fw-bold:     700;     /* yalnız HTTP fiil rozeti gibi mikro vurgular  */

  --ls-caps: .04em;       /* ≤11px + uppercase olan her şeye               */

  /* --- Aralık -----------------------------------------------------------
     Ham CSS'te 1px hassasiyetli 15 farklı değer vardı; 9 adıma indirildi. */
  --space-1: .25rem;      /*  4px — ikon-metin mikro boşluk               */
  --space-2: .375rem;     /*  6px — chip aralığı                          */
  --space-3: .5rem;       /*  8px — EN YAYGIN gap, buton grubu            */
  --space-4: .625rem;     /* 10px — liste satırı gap                      */
  --space-5: .75rem;      /* 12px — ikon-metin gap                        */
  --space-6: .875rem;     /* 14px — sidebar/topbar gap                    */
  --space-7: 1rem;        /* 16px — form alanı alt boşluğu                */
  --space-8: 1.25rem;     /* 20px — IZGARA GAP + kart padding + ritim     */
  --space-9: 1.5rem;      /* 24px — sayfa gövdesi padding                 */

  /* --- Yarıçap ---------------------------------------------------------- */
  --radius-xs:     4px;   /* mikro rozet, checkbox                        */
  --radius:        6px;   /* GENEL YÜZEY: kart, buton, input             */
  --radius-sm:     var(--radius);
  --radius-md:     8px;   /* ipucu balonu, ikon kutusu                    */
  --radius-lg:     10px;  /* kayan panel, liste satırı                    */
  --radius-xl:     14px;  /* hero ikon kutusu                            */
  --radius-pill:   999px;
  --radius-circle: 50%;

  /* --- Gölge / yükselme merdiveni --------------------------------------- */
  --shadow:         0 .75rem 1.5rem rgba(18, 38, 63, .05);   /* kart      */
  --shadow-hover:   0 .9rem 1.8rem rgba(18, 38, 63, .09);    /* kalkan kart */
  --shadow-drop:    0 8px 30px rgba(18, 38, 63, .14);        /* dropdown  */
  --shadow-tooltip: 0 8px 22px rgba(0, 0, 0, .28);
  --shadow-modal:   0 18px 60px rgba(0, 0, 0, .28);
  --ring:           0 0 0 2px var(--primary-soft);           /* form odağı */

  /* --- Hareket ---------------------------------------------------------- */
  --dur-fast: .12s;
  --dur:      .15s;       /* VARSAYILAN — özel easing yok, ease yeterli   */
  --dur-med:  .22s;
  --dur-slow: .25s;

  /* --- İkon ölçeği ------------------------------------------------------ */
  --icon-xs:  12px;
  --icon-sm:  15px;       /* buton içi — en yaygın                        */
  --icon-nav: 17px;       /* sidebar, dropdown öğesi                      */
  --icon-md:  18px;       /* topbar ikon butonu                           */
  --icon-lg:  22px;       /* KPI, servis kartı                            */
  --icon-xl:  28px;       /* hero                                         */

  /* --- Kabuk ölçüleri (px, bilinçli) ------------------------------------ */
  --sb-w:        250px;
  --sb-w-mini:   70px;
  --sb-w-mobile: 280px;
  --topbar-h:    70px;
  --alertbar-h:  40px;
  --tabbar-h:    60px;

  /* --- Katman haritası --------------------------------------------------- */
  --z-brand:   2;
  --z-alert:   15;
  --z-topbar:  20;
  --z-tabbar:  22;
  --z-overlay: 25;
  --z-sidebar: 30;
  --z-modal:   60;
  --z-drop:    80;
  --z-tooltip: 120;
}

/* ==========================================================================
   Koyu tema
   Marka renkleri değişmez; yalnız yüzey/metin ve -strong tonları kayar.
   ========================================================================== */

[data-theme="dark"] {
  color-scheme: dark;

  --primary-soft: rgba(85, 110, 230, .25);
  --success-soft: rgba(52, 195, 143, .22);
  --info-soft:    rgba(80, 165, 241, .22);
  --warning-soft: rgba(241, 180, 76, .22);
  --danger-soft:  rgba(244, 106, 106, .22);

  /* Koyu zeminde yön TERSİNE döner: tonlar koyulaşmaz, açılır.
     Yine rozet zeminine göre türetildi (renk %22 alfa ile kart üzerinde),
     bu yüzden hem rozette (4.5:1) hem düz kartta (5.7–7.2:1) geçerler.    */
  --primary-strong: #8ea7fd;  /* rozet 4.51:1 · kart 5.69:1 */
  --success-strong: #45d09b;  /* rozet 4.51:1 · kart 6.72:1 */
  --info-strong:    #77bcfe;  /* rozet 4.51:1 · kart 6.51:1 */
  --warning-strong: #f2b54d;  /* rozet 4.51:1 · kart 7.18:1 */
  --danger-strong:  #f89692;  /* rozet 4.50:1 · kart 6.11:1 */
  --muted-strong:   #9aa2b6;

  /* Koyu zeminde marka renkleri zaten 3:1'i geçiyor (yalnız primary sınırda),
     bu yüzden grafik tonları neredeyse hiç değişmiyor. */
  --primary-chart: #566fe7;  /* 3.00:1 */
  --success-chart: var(--success);  /* 5.84:1 */
  --info-chart:    var(--info);     /* 5.00:1 */
  --warning-chart: var(--warning);  /* 7.11:1 */
  --danger-chart:  var(--danger);   /* 4.45:1 */

  /* -fill tonları tema bağımsızdır — :root'takiler geçerli kalır. */

  --body-bg:      #222736;
  --card:         #2a3042;
  --text:         #a6b0cf;
  --muted:        #8a92a6;
  --heading:      #e9ecf3;
  --border:       #32394e;
  --sidebar-link: #a6b0cf;

  --input-bg:     #2e3446;
  --input-border: #3d4459;
  --pill-m-bg:    #3a4157;
  --pill-m-fg:    #b8c0d4;
  --pill-m-fg-strong: var(--pill-m-fg);

  /* Eski panelde bunların hiçbiri düzeltilmiyordu — beyaz halkalar ve
     açık gri kontroller koyu zeminde parlıyordu. */
  --primary-hover:  #6a80ea;
  --icon-ink:       #a6b0cf;
  --control-off:    #4a5169;
  --state-off:      #4a5169;
  --dot-ring:       var(--card);
  --scrollbar:      #3d4459;
  --tooltip-bg:     #12172a;
  --row-hover:      rgba(255, 255, 255, .04);
  --row-hover-flat: rgba(255, 255, 255, .03);
  --code-bg:        #171c28;

  --alert-icon:     #4a3800;
  --alert-border:   #d99e00;
  --alert-text:     #3b2e00;
  --alert-crit-bg:  #3a2323;
  --alert-crit-bd:  #5c3535;
  --alert-crit-fg:  #f0a9a9;
  --alert-info-bg:  #1e2c3d;
  --alert-info-bd:  #2f4a66;
  --alert-info-fg:  #9fc9f0;

  --shadow:       0 .75rem 1.5rem rgba(0, 0, 0, .22);
  --shadow-hover: 0 .9rem 1.8rem rgba(0, 0, 0, .3);
}

/* ==========================================================================
   Yüksek kontrast modu — <html data-contrast="yuksek">
   --------------------------------------------------------------------------
   Form alanı ve kontrol kenarlıkları varsayılanda WCAG 1.4.11'in (3:1)
   altında: #ced4da beyaz üzerinde 1.49:1. Görsel kimliği korumak için
   varsayılan değiştirilmedi; bu mod tek attribute ile AA'ya çeker.
   Kurumsal/kamu müşterisi veya erişilebilirlik beyanı gerektiğinde aç.
   ========================================================================== */

[data-contrast="yuksek"] {
  --input-border: #90959b;   /* 3.02:1 */
  --control-off:  #90959c;   /* 3.02:1 */
  --state-off:    #90959b;
  --muted:        var(--muted-strong);
  --border:       #d7dbe3;
}

[data-theme="dark"][data-contrast="yuksek"] {
  --input-border: #717990;   /* 3.02:1 · #2a3042 üzerinde */
  --control-off:  #717990;
  --state-off:    #717990;
  --border:       #4a5169;
}

/* ==========================================================================
   Hareket azaltma — kullanıcı tercihine saygı
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
