/* ============================================================================
   TEMA KOPRUSU — panelin kendi token adlarini temanin rol token'larina baglar.
   Yuklenme sirasi:  style.css  ->  tokens.css  ->  BU DOSYA

   NEDEN BOYLE:
     Panelin 733 CSS kuralinin TAMAMI zaten token okuyor (`var(--surface)`,
     `var(--primary)` ...). Token'lari yeniden degerlemek, tek bir kurala bile
     dokunmadan butun paneli yeni temaya gecirir. Alternatif — her kurali `.ax-*`
     siniflariyla yeniden yazmak — panelin 33 DAVRANIS TASIYAN kuralini
     (tiklama katmanlari, yigin baglamlari, `[hidden]` ezmeleri, `inert`
     eslesmeleri) sessizce kirardi; envanter turunun hukmu buydu.

   GERI ALMA: base.html'deki iki <link>'i kaldir. Panel eski temasina doner.

   ⚠️ OLCEK VE BOSLUK TOKEN'LARI (--sp-*, --t-*) BILINCLI OLARAK BAGLANMADI.
      O olcek panelde olculerek kuruldu (23 farkli font-size -> tek olcek; ham
      font-size sayisi 0) ve yerlesimlerin tamami ona gore dogrulandi. Gorsel
      kimlik RENK / YUZEY / YARICAP / GOLGE'den gelir; punto ve bosluk
      degistirmek olculmus dungenleri bozar, kazanci yoktur.
   ========================================================================== */

:root {
  /* ---- YUZEYLER --------------------------------------------------------
     ⚠️ `--surface` -> `--ax-surface-solid` (yari saydam `--ax-surface` DEGIL):
     panelin kartlari uzerinde metin kontrasti OLCULDU (32 cift x 2 tema) ve
     saydam bir yuzeyde o olcumler gecersizlesir. Saydamlik gerektigi yerde
     (baslik bandi) zaten `color-mix` ile YERINDE yapiliyor. */
  --bg:            var(--ax-canvas);
  --surface:       var(--ax-surface-solid);
  --surface-2:     var(--ax-surface-subtle);
  --surface-3:     var(--ax-fill-active);

  --border:        var(--ax-border);
  --border-strong: var(--ax-border-strong);

  /* ---- METIN -----------------------------------------------------------
     Panelde `--fg` EN GUCLU metindir (temada `--ax-text` bir ton acik olan
     gövde rengi) -> `--ax-text-strong` ile eslenir. */
  --fg:       var(--ax-text-strong);
  --fg-muted: var(--ax-text-muted);
  /* ⚠️ `--ax-text-subtle` (#6e7a92) beyaz yuzeyde 4.32:1 — AA normal metin esiginin
     ALTINDA. Panelde `--fg-faint` TABLO BASLIKLARINDA GERCEK METIN olarak kullanilir
     ve tam bu yuzden bir kez olculup 5.04:1'e cekilmisti ("buyuk metin" esigi yetmez).
     Temanin notr rampasi icinde kalan, esigi gecen bir ara durak kullanilir. */
  --fg-faint: #626e87;

  /* ---- VURGU (marka) ---------------------------------------------------
     Vurgu <html data-ax-accent="..."> ile degisir; panel `cobalt`i kullanir
     (kurumsal mavi kimlik korunur — bkz. base.html). */
  --primary:       var(--ax-accent);
  --primary-hover: var(--ax-accent-hover);
  --primary-soft:  var(--ax-accent-wash);
  --on-primary:    var(--ax-on-accent);
  /* ⚠️ `--ax-focus-ring` temanin DUZ RENK token'i (outline rengi icin) — shadow
     dolgusu DEGIL. Once ona baglanmisti ve `box-shadow:0 0 0 3px var(--ring)`
     TAM OPAK 3px halka uretti (kullanici: "cok kalin mavi"). Dogru kaynak
     temanin focus-shadow DOLGUSU: ayni formul, hafif yikama. */
  --ring:          rgba(var(--ax-accent-rgb), .18);

  /* ---- SEMANTIK TONLAR -------------------------------------------------
     ⚠️⚠️ BURADA TEMA BIREBIR ALINAMAZ. temanin ACIK tema duraklari beyaz
     yuzeyde OLCULDU: success 3.41:1 · warning 3.03:1 — normal metin AA esigi
     4.5:1'in ALTINDA. Panelde bu tam olarak duzeltilmis bir bulgudur (rozetler
     3.13/3.15'ten >=4.8'e cekilmisti); temayi oldugu gibi almak o erisilebilirlik
     duzeltmesini GERI ALIRDI.
     Cozum: temanin RENGI (ton/hue) alinir, KONTRAST TABANI korunur — ayni ailenin
     koyulastirilmis durakları kullanilir. Yeni renk ICAT EDILMEZ.
     KOYU temada temanin kendi duraklari zaten 5.3–8.0:1 -> oldugu gibi alinir.

     ⚠️⚠️ SONEK UNUTULMUSTU — ACIK TEMADA 4 TOKEN DE TANIMSIZDI (canli olculdu):
     `var(--ax-success)` / `--ax-warning` / `--ax-danger` / `--ax-info` diye
     SONEKSIZ bir token YOK; tokens.css yalnizca `-50 / -200 / -500` duraklarini
     tanimlar. Tanimsiz bir ozel ozelligi kullanan deklarasyon "guaranteed-invalid
     at computed-value time" olur -> `background:var(--warn-soft)` yazan her oge
     ACIK TEMADA ZEMINSIZ (transparent) kalir.
     Canli olcum (/panel/settings, acik tema): --ok-soft/--warn-soft/--danger-soft/
     --info-soft = BOS; `.set-bos-uyari` zemini rgba(0,0,0,0). KOYU temada sorun
     YOK: oradaki `:root[data-theme="dark"]` bloku `-soft`u yeniden BAGLAMAZ,
     style.css'in kendi koyu degerleri ayakta kalir (olculdu: #2c2210).
     ⚠️ `.err`/`.ok`/`.info-box`/`.warn-box` ETKILENMEMISTI: alias.css en son
     yuklenip zeminlerini `--ax-*-50` ile zaten eziyor — bu yuzden hata
     "bazi yerlerde var bazi yerlerde yok" gorunumuyle gizlenmisti.
     Duzeltme niyeti degistirmez, YAZIM HATASINI kapatir: -50 duraklari zaten
     temanin kendi "soft" duraklaridir. */
  --ok:     #1c7a45;  --ok-soft:     var(--ax-success-50);
  --warn:   #8a5c07;  --warn-soft:   var(--ax-warning-50);
  --danger: #b83226;  --danger-soft: var(--ax-danger-50);
  --info:   var(--ax-info-500);  --info-soft: var(--ax-info-50);

  /* ---- YARICAP ---------------------------------------------------------
     ⚠️ MIKRO YARICAPLAR (<=6px) KOR ESLENMEZ: dar bir seride buyuk yaricap
     tarayiciya orantili kucultturur ve gonye uretir (panelde sol durum rayinda
     bir kez yasandi; cozumu `inset` golgeydi). `--radius-xs` ve `-sm` temanin
     KUCUK duraklarina baglanir, buyugune degil. */
  --radius-xs:   var(--ax-radius-sm);
  --radius-sm:   var(--ax-radius-md);
  --radius:      var(--ax-radius-lg);
  --radius-lg:   var(--ax-radius-xl);
  --radius-pill: var(--ax-radius-pill);

  /* ---- GOLGE ----------------------------------------------------------- */
  --shadow-sm: var(--ax-shadow-sm);
  --shadow-md: var(--ax-shadow-card);
  --shadow-lg: var(--ax-shadow-lg);

  /* ---- AMBIYANS --------------------------------------------------------
     Panelin kanvasi duz renk DEGIL: iki cok yumusak renkli isik tasiyor ve
     CLAUDE.md'de "ruh"un buyuk kismi oradan geliyor diye kayitli. temanin
     kendi `--ax-glow-*` degerleri ayni ise yarar -> ambiyans korunur, rengi
     artik temadan gelir. */
  /* ⚠️ `--amb-*` ARTIK KULLANILMIYOR: panelin `body` ambiyansi kaldirildi ve
     derinlik tek kaynaktan (temanin `.ax-ambient` katmani) geliyor. Token'lar
     olu kalmasin diye burada da tanimlanmiyor. */
}

/* Koyu tema: panel `data-theme`, tema `data-ax-theme` kullanir. Ikisi
   base.html'de BIRLIKTE yazilir; burada yalnizca semantik taban geri alinir —
   koyu temada temanin kendi duraklari AA'yi zaten gecıyor (5.3–8.0:1). */
:root[data-theme="dark"] {
  --ok:     var(--ax-success-500);
  --warn:   var(--ax-warning-500);
  --danger: var(--ax-danger-500);
}

/* ============================================================================
   KABUK UYUMU — panelin markup'i temanin kabuk siniflarina gecti; kalan farklar.
   ========================================================================== */

/* Panelin `icon()` global'i `<svg class="ic">` uretir (500+ cagri yeri). Temanin
   menu ikonu `.ax-nav__icon` bekliyor; sinifi 500 yerde degistirmek yerine
   BAGLAM secicisi yaziliyor.
   ⚠️ Secici `svg.ic` ICERMEK ZORUNDA: global `svg.ic{width:16px}` ayni ozgullukte
   (0,1,1) ve dosyada SONRA gelirse kazanir — panelin bes kez isirdigi tuzak. */
.ax-nav__item > svg.ic { width:20px; height:20px; flex:none; color:var(--ax-accent); }
.ax-header > svg.ic, .ax-icon-btn > svg.ic { width:18px; height:18px; }

/* Marka isareti bir SVG degil tek karakterlik glif (◈) — temanin kutusuna oturur */
.ax-sidebar__mark { font-size:var(--ax-text-xl, 20px); line-height:1; }

/* Ustbant kullanici kumesi: temada bir "user" bileseni YOK (avatar + menu var),
   en yakini `.ax-avatar` + `.ax-badge`. Metin blogu panelin kendi ihtiyaci. */
.ax-header__user { display:flex; flex-direction:column; align-items:flex-end;
  gap:2px; line-height:1.2; min-width:0; }
.ax-header__name { font-size:var(--ax-text-sm, 13px); color:var(--ax-text);
  max-width:22ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:720px){ .ax-header__user { display:none; } }

/* Icerik genisligi panelin olculmus duzenlerine ait (kart izgaralari, cip
   satirlari ve nabiz seridi 1320px'e gore hesaplandi) -> temanin akiskan
   `.ax-main`i icinde KORUNUR. */
.ax-main > .content-inner { width:100%; max-width:1320px; margin-inline:auto;
  padding:var(--ax-space-6, 20px) var(--ax-space-6, 20px) var(--ax-space-10, 40px); }
.ax-main > .imp-bar { margin:0; border-radius:0; }

/* ⚠️⚠️ MENU ETIKETLERI GUVENCESI — SESSIZ BOZULMA KAPISI.
   Tema, kenar cubugunu varsayilanda IKON-ONLY ray sayar ve su kurali uygular:
     :where(html):not([data-ax-shell-style=detached]):not([data-ax-sidebar-style])
       :is(.ax-sidebar__wordmark,.ax-nav__label,.ax-nav__badge,.ax-sidebar__section)
       { display:none }
   Yani `shell-style` `detached` DISINDA bir degere cekilirse marka adi, TUM menu
   etiketleri, "Yönetim" ayraci ve bildirim rozetleri HATA VERMEDEN kaybolur.
   Panelin menusu METINLI olmak ZORUNDA (16 oge, ikonla ayirt edilemez).
   ⚠️ OZGULLUK HESABI: gizleyen secici 0,3,0 (`:where(html)` 0 + iki `:not([attr])`
      + bir `:is(.sinif)`). Bu yuzden guvence de EN AZ 0,3,0 olmali — `.ax-layout`
      ve `.ax-sidebar` bilerek zincirlendi; tek sinifla yazilsaydi (0,1,0) kural
      SESSIZCE etkisiz kalirdi. Esitlikte bridge.css sonra yuklendigi icin kazanir. */
.ax-layout .ax-sidebar :is(.ax-sidebar__wordmark, .ax-nav__label,
  .ax-nav__badge, .ax-sidebar__section) { display:revert; opacity:1; }

/* Icerik genisligi: `data-ax-width=full` secildiginde panelin 1320px'lik olculmus
   kapsayicisi KALKAR (kullanici "ekrana tam otursun" dedi). Ayar geri alinirsa
   kapsayici kendiliginden geri gelir — deger tek yerde. */
[data-ax-width="full"] .ax-main > .content-inner { max-width:none; }

/* ⚠️⚠️ OPAK USTBANT EZMESI GERI ALINDI (kullanici bulgusu: "temanin demosunda
   menu ve header hafif transparan, arkasindaki nesneler bulanik gorunuyor; bizde
   tam siyah, arkasi hic gorunmuyor").
   Onceki turda "transparent olmamali" istegini OPAK yaparak karsilamistim — yanlis
   okumaydi: istenen sey TAM SAYDAM olmamasiydi, CAM ETKISININ kalkmasi degil.
   Temanin kabuk yuzeyi `--ax-surface-raised` (acik #fffc / koyu #10131cb8) + 
   `backdrop-filter:blur(...)` ile CAM; `--ax-header-bg`i opak yuzeye baglamak
   bulaniklastiracak yari saydamligi yok ediyordu. Kural KALDIRILDI — ustbant ve
   kenar cubugu artik temanin kendi cam yuzeyini kullanir.
   ⚠️ CAMIN GORUNMESI ARKASINDA BIR SEY OLMASINA BAGLI: temanin `.ax-ambient`
      katmani (fixed, z-index:0) tam bu is icin var ve kabuk ogeleri ondan daha
      yuksek yigin duzeyinde — bu yuzden ambiyans KALDIRILMAMALI. */


/* Suzgec bari temanin kontrollerini tasiyor; kabi hizali tutar (yukseklikler artik
   temanin `--ax-control-h` token'indan gelir, panelin eski 40px sabitinden degil). */
.filter-bar { display:flex; align-items:center; gap:var(--ax-space-3);
  flex-wrap:wrap; }
.filter-bar .ax-input, .filter-bar .ax-select { width:auto; }

/* ============================================================================
   TABLOLAR — 21 sablon, 390 hucre.
   ⚠️ KARAR: temanin `.ax-table__th` / `__td` BEM sinifları hucre BASINA yazilmadi
      (390 duzenleme, cogu Jinja dongusu icinde ve her biri ayri bir kirilma
      firsati). Bunun yerine tablo temanin AILESINE sokuldu (`<table class="ax-table">`
      -> border-collapse, genislik, tipografi, satir modifierlari TEMADAN) ve YALNIZ
      HUCRE OLCULERI burada temanin TOKEN'larina baglandi. Gorunum ayni, degisiklik
      42 yer; token'lardan beslendigi icin tema guncellense de birlikte kayar.
   ⚠️ OZGULLUK: `.ax-table th` (0,1,1) panelin bare `th` (0,0,1) kuralini EZER; ayrica
      bridge.css style.css'ten SONRA yuklenir. Panelin global kurallari FALLBACK
      olarak kalir (henuz cevrilmemis bir tablo stilsiz kalmasin diye) — bilincli. */
.ax-table th { padding:var(--ax-space-3) var(--ax-space-4);
  background:var(--ax-surface-subtle); color:var(--ax-text-subtle);
  border-bottom:1px solid var(--ax-border); letter-spacing:.04em; }
.ax-table td { padding:var(--ax-space-3) var(--ax-space-4);
  border-bottom:1px solid var(--ax-border); }
.ax-table tbody tr:last-child td { border-bottom:none; }
.ax-table tbody tr:hover td { background:var(--ax-fill-hover); }
/* Kap: yuzey temanin `.ax-card`indan; `.table-card` yalnizca YATAY KAYDIRMAYI
   tasir (dar ekranda tablo tasmasin — panelin olculmus davranisi). */
.ax-card.table-card { overflow-x:auto; }
