/* ===========================================================================
   KOYU TEMA (2026-08-21) — PRD §15
   ===========================================================================
   ⚠️⚠️ BU DOSYA YALNIZCA KOYU TEMA OVERRIDE'LARI İÇERİR.
   Açık temanın CSS'ine HİÇ DOKUNULMADI: sayfaların kendi <style> blokları
   bayt bayt eskisi gibi duruyor. Sebep: dashboard.php 3.900 satır ve canlıda
   aktif kullanımda; renkleri tek tek değişkene çevirmek her kuralı riske
   atardı. Bu haliyle koyu tema TAMAMEN EK bir katman — burada bir şey
   bozulursa açık tema etkilenmez, kullanıcı düğmeyi geri çevirir.

   ⚠️ YÜKLEME SIRASI ÖNEMLİ: bu dosya sayfanın kendi </style> etiketinden
   SONRA <link> ile bağlanır. Aynı özgüllükte son yazılan kazandığı için
   sıra bozulursa koyu tema sessizce etkisiz kalır.

   ⚠️ Bootstrap 5.3'ün YERLEŞİK data-bs-theme="dark" desteği kullanılıyor:
   kart, tablo, açılır menü, form, alert gibi bileşenleri kendisi çeviriyor.
   Buradaki kurallar yalnızca projenin KENDİ sabit renklerini karşılıyor —
   onlar Bootstrap'in değişkenlerini ezdiği için tek tek geçilmesi gerekiyor.

   ⚠️ Marka gradyanı (navbar) BİLEREK DEĞİŞTİRİLMEDİ: #667eea → #764ba2
   zaten koyu ve iki temada da okunuyor. Turuncu rapor seçeneği butonlarının
   dolu hali de aynı sebeple korundu.
   =========================================================================== */

[data-bs-theme="dark"] {
    --yz-zemin:   #12161f;   /* sayfa zemini */
    --yz-kart:    #1b2130;   /* kart / açılır liste yüzeyi */
    --yz-kart2:   #232c3d;   /* yükseltilmiş yüzey: yapışkan başlık, tablo başlığı */
    --yz-kart3:   #2a3345;   /* hover */
    --yz-yazi:    #dfe4ee;
    --yz-soluk:   #97a1b5;
    --yz-cizgi:   #2c3547;
    --yz-cizgi2:  #3a465c;   /* belirgin ayırıcı (başlık/toplam altı) */
    --yz-turuncu:       #ffa14d;
    --yz-turuncu-zemin: #3a2a17;
    --yz-mavi:    #6ea8fe;

    /* Bootstrap'in kendi değişkenleri de aynı palete çekilir ki kendi
       çevirdiği bileşenler (kart, tablo, form) sayfayla aynı tonda olsun. */
    --bs-body-bg:      #12161f;
    --bs-body-color:   #dfe4ee;
    --bs-border-color: #2c3547;
}

/* --- Genel yüzeyler ------------------------------------------------------ */
[data-bs-theme="dark"] body { background-color: var(--yz-zemin); }
[data-bs-theme="dark"] .card { box-shadow: 0 2px 10px rgba(0,0,0,.45); }

/* KPI kartları */
[data-bs-theme="dark"] .widget-number { color: #8fa0f5; }
[data-bs-theme="dark"] .widget-label  { color: var(--yz-soluk); }
[data-bs-theme="dark"] .kpi-aralik {
    box-shadow: 0 0 0 2px #8b7cf0 inset, 0 2px 10px rgba(0,0,0,.45);
}

/* --- Excel benzeri tablolar (.xl) --------------------------------------- */
/* Sayfa bu beş değeri değişken olarak tanımlıyor; tek tek kural ezmek
   gerekmiyor, yalnızca değişkenleri değiştiriyoruz. */
[data-bs-theme="dark"] .xl {
    --xl-line:  #2c3547;
    --xl-zebra: #1f2736;
    --xl-alt:   #253046;
    --xl-head:  #232c3d;
    --xl-kenar: #3a465c;
}
[data-bs-theme="dark"] .xl thead th { color: var(--yz-yazi); }
[data-bs-theme="dark"] .xl tbody tr.alt-satir > td:first-child,
[data-bs-theme="dark"] .xl tbody tr.alt-satir { border-left-color: #3f5170; }
[data-bs-theme="dark"] .xl tbody tr.aylik-alt2 > td:first-child { border-left-color: #374357; }
[data-bs-theme="dark"] .aylik-alt .ay-ad { color: #a8b4c8; }

/* --- Kategori × Şube matrisi -------------------------------------------- */
[data-bs-theme="dark"] .table-scroll .sticky-head th,
[data-bs-theme="dark"] .table-scroll .sticky-foot td,
[data-bs-theme="dark"] .matrix-table thead th,
[data-bs-theme="dark"] .matrix-table tfoot td,
[data-bs-theme="dark"] .matrix-table .corner-cell { background: var(--yz-kart2); }
[data-bs-theme="dark"] .table-scroll .sticky-foot td,
[data-bs-theme="dark"] .matrix-table tfoot td { border-top-color: var(--yz-cizgi2); }
[data-bs-theme="dark"] .matrix-table .cat-cell { background: var(--yz-kart); }
[data-bs-theme="dark"] .matrix-table tbody tr:hover .cat-cell { background: var(--yz-kart3); }
[data-bs-theme="dark"] .matrix-table .total-col { background: #202839; }

/* --- Kart başlıkları, oklar, akordiyon ---------------------------------- */
/* ⚠️ Sayfadaki kural !important taşıyor, buranın da taşıması gerekiyor. */
[data-bs-theme="dark"] .card-header[data-bs-target]:hover { background: #242d3f !important; }
[data-bs-theme="dark"] .toggle-icon { color: var(--yz-yazi); }
[data-bs-theme="dark"] .caret { color: var(--yz-mavi) !important; }
[data-bs-theme="dark"] #branchAcc .accordion-button:not(.collapsed) { background: #26314a; }

/* --- Özel Rapor kartı: seviye girinti çizgileri -------------------------- */
/* Açık temada koyudan açığa giden bir skala var; koyuda tersine çevrildi ki
   derinleştikçe görünür kalsın. */
[data-bs-theme="dark"] #tabloOzel .lvl2 > td:first-child,
[data-bs-theme="dark"] #tabloAlis .lvl2 > td:first-child,
[data-bs-theme="dark"] #tabloManav .lvl2 > td:first-child,
[data-bs-theme="dark"] #tabloOzel tbody tr.lvl2,
[data-bs-theme="dark"] #tabloAlis tbody tr.lvl2,
[data-bs-theme="dark"] #tabloManav tbody tr.lvl2 { border-left-color: #3a4761; }
[data-bs-theme="dark"] #tabloOzel .lvl3 > td:first-child,
[data-bs-theme="dark"] #tabloAlis .lvl3 > td:first-child,
[data-bs-theme="dark"] #tabloManav .lvl3 > td:first-child,
[data-bs-theme="dark"] #tabloOzel tbody tr.lvl3,
[data-bs-theme="dark"] #tabloAlis tbody tr.lvl3,
[data-bs-theme="dark"] #tabloManav tbody tr.lvl3 { border-left-color: #46577a; }
[data-bs-theme="dark"] #tabloOzel .lvl4 > td:first-child,
[data-bs-theme="dark"] #tabloAlis .lvl4 > td:first-child,
[data-bs-theme="dark"] #tabloManav .lvl4 > td:first-child,
[data-bs-theme="dark"] #tabloOzel tbody tr.lvl4,
[data-bs-theme="dark"] #tabloAlis tbody tr.lvl4,
[data-bs-theme="dark"] #tabloManav tbody tr.lvl4 { border-left-color: #526894; }
[data-bs-theme="dark"] #tabloOzel .lvl5 > td:first-child,
[data-bs-theme="dark"] #tabloAlis .lvl5 > td:first-child,
[data-bs-theme="dark"] #tabloManav .lvl5 > td:first-child,
[data-bs-theme="dark"] #tabloOzel tbody tr.lvl5,
[data-bs-theme="dark"] #tabloAlis tbody tr.lvl5,
[data-bs-theme="dark"] #tabloManav tbody tr.lvl5 { border-left-color: #5f7aad; }
/* lvl6 YALNIZCA Alış kartında (şube seviyesi, 2026-08-28). Özel Rapor'da yok. */
[data-bs-theme="dark"] #tabloAlis .lvl6 > td:first-child,
[data-bs-theme="dark"] #tabloManav .lvl6 > td:first-child,
[data-bs-theme="dark"] #tabloAlis tbody tr.lvl6,
[data-bs-theme="dark"] #tabloManav tbody tr.lvl6 { border-left-color: #6b86c0; }
[data-bs-theme="dark"] #tabloOzel .lvl3 > td,
[data-bs-theme="dark"] #tabloAlis .lvl3 > td,
[data-bs-theme="dark"] #tabloManav .lvl3 > td,
[data-bs-theme="dark"] #tabloOzel .lvl4 > td,
[data-bs-theme="dark"] #tabloAlis .lvl4 > td,
[data-bs-theme="dark"] #tabloManav .lvl4 > td,
[data-bs-theme="dark"] #tabloOzel .lvl5 > td,
[data-bs-theme="dark"] #tabloAlis .lvl5 > td,
[data-bs-theme="dark"] #tabloManav .lvl5 > td,
[data-bs-theme="dark"] #tabloAlis .lvl6 > td,
[data-bs-theme="dark"] #tabloManav .lvl6 > td { background: #212a3c; }
[data-bs-theme="dark"] #tabloOzel .lvl4 .c-name,
[data-bs-theme="dark"] #tabloAlis .lvl4 .c-name,
[data-bs-theme="dark"] #tabloManav .lvl4 .c-name,
[data-bs-theme="dark"] #tabloOzel .lvl5 .c-name,
[data-bs-theme="dark"] #tabloAlis .lvl5 .c-name,
[data-bs-theme="dark"] #tabloManav .lvl5 .c-name,
[data-bs-theme="dark"] #tabloAlis .lvl6 .c-name,
[data-bs-theme="dark"] #tabloManav .lvl6 .c-name { color: var(--yz-soluk); }
[data-bs-theme="dark"] #tabloOzel .ay-ad,
[data-bs-theme="dark"] #tabloAlis .ay-ad,
[data-bs-theme="dark"] #tabloManav .ay-ad { color: #a8b4c8; }
[data-bs-theme="dark"] #tabloAlis .sube-ad,
[data-bs-theme="dark"] #tabloManav .sube-ad { color: #b7c3d6; }
[data-bs-theme="dark"] .perak-rozet { background: var(--yz-cizgi); color: #a8b4c8; }
[data-bs-theme="dark"] .detay-yukleniyor td { color: var(--yz-soluk); }

/* --- Turuncu rapor seçeneği / sıralama butonları ------------------------- */
/* Dolu (aktif) hali korunuyor; yalnızca boş hali beyaz zeminden kurtarılıyor. */
[data-bs-theme="dark"] .chip-opt,
[data-bs-theme="dark"] .sort-btn { background: transparent; }
[data-bs-theme="dark"] .chip-opt:hover,
[data-bs-theme="dark"] .sort-btn:hover {
    background: var(--yz-turuncu-zemin); color: var(--yz-turuncu); border-color: var(--yz-turuncu);
}
[data-bs-theme="dark"] .chip-opt.active,
[data-bs-theme="dark"] .sort-btn.active { color: #1b1206; }

/* --- Arama önerisi açılır listesi ---------------------------------------- */
[data-bs-theme="dark"] .oneri-liste {
    background: var(--yz-kart); border-color: var(--yz-cizgi);
    box-shadow: 0 6px 18px rgba(0,0,0,.5);
}
[data-bs-theme="dark"] .oneri-liste .liste-baslik {
    color: var(--yz-turuncu); background: var(--yz-turuncu-zemin);
    border-bottom-color: #4a3a24;
}
[data-bs-theme="dark"] .oneri-liste .liste-oge { border-bottom-color: var(--yz-cizgi); }
[data-bs-theme="dark"] .oneri-liste .liste-oge:hover,
[data-bs-theme="dark"] .oneri-liste .liste-oge.secili { background: #26314a; }
[data-bs-theme="dark"] .oneri-liste .liste-oge .oge-tutar { color: var(--yz-soluk); }

/* --- Otomatik yenileme menüsü ------------------------------------------- */
[data-bs-theme="dark"] .oto-menu .dropdown-item.secili {
    color: var(--yz-turuncu); background: var(--yz-turuncu-zemin);
}

/* --- Telefon satır-listesi (.rtable) ------------------------------------- */
[data-bs-theme="dark"] .rtable tbody tr { border-bottom-color: var(--yz-cizgi); }
[data-bs-theme="dark"] .rtable tfoot tr {
    background: var(--yz-kart2); border-top-color: var(--yz-cizgi2);
}

/* --- İade rozeti --------------------------------------------------------- */
[data-bs-theme="dark"] .iade-rozet { color: #ff7b8a; }

/* --- Yönetim paneli (_admin.php) ---------------------------------------- */
[data-bs-theme="dark"] .perm-group {
    background: var(--yz-kart2); border-color: var(--yz-cizgi);
}

/* Rol İzinleri ekranı (/admin/roles, 2026-08-25).
   ⚠️ Sayfa üç sabit renk kullanıyor: istisna kutusunun #fff9e6 zemini,
   izin grubu çerçevesinin #e9ecef'i ve kart başlığındaki bg-light (o
   aşağıda genel olarak zaten çevriliyor). Yazılmasaydı koyu temada
   açık sarı kutunun üstüne açık yazı gelir ve okunmazdı. */
[data-bs-theme="dark"] .rol-izin-grup {
    background: var(--yz-kart2); border-color: var(--yz-cizgi);
}
[data-bs-theme="dark"] .rol-istisna {
    background: #3a3117; border-left-color: #d3a01d; color: var(--yz-yazi);
}

/* Yönetim paneli toparlama turu (2026-08-21) — .yon-* bileşenleri.
   ⚠️ Bu blok, açık temaya eklenen her sabit rengin koyu karşılığıdır.
   Luminans taraması bunları "koyu temada beyaz kalır" diye işaretledi;
   yazılmasaydı panelin tablo başlıkları ve telefon kartları beyaz kalırdı. */
[data-bs-theme="dark"] .yon-iz,
[data-bs-theme="dark"] .yon-iz a { color: var(--yz-soluk); }

[data-bs-theme="dark"] .yon-tablo thead th {
    background: var(--yz-kart2); color: var(--yz-yazi);
}
[data-bs-theme="dark"] .yon-tablo td,
[data-bs-theme="dark"] .yon-tablo th { border-color: var(--yz-cizgi); }
[data-bs-theme="dark"] .yon-tablo tbody tr:hover { background: var(--yz-kart3); }

/* Telefon sunumunda her satır bir karta dönüşüyor; kartın zemini ve
   etiket rengi de çevrilmeli. */
@media (max-width: 767.98px) {
    [data-bs-theme="dark"] .yon-tablo tr {
        background: var(--yz-kart); border-color: var(--yz-cizgi);
    }
    [data-bs-theme="dark"] .yon-tablo tr.yon-bos { background: transparent; }
    [data-bs-theme="dark"] .yon-tablo td::before { color: var(--yz-soluk); }
}

/* Telefona özel bölüm şeridi (2026-08-24). Şerit #fff zemin ve #37415c yazı
   kullanıyor; Bootstrap bunları koyu temada uyarlamaz, yazılmasaydı navbar'ın
   altında beyaz bir blok kalırdı. Şerit zaten d-lg-none, ayrıca media query'ye
   sarmaya gerek yok. */
[data-bs-theme="dark"] .yon-sekme {
    background: var(--yz-kart); border-bottom-color: var(--yz-cizgi);
}
[data-bs-theme="dark"] .yon-sekme-oge {
    background: var(--yz-kart2); border-color: var(--yz-cizgi); color: var(--yz-yazi);
}
[data-bs-theme="dark"] .yon-sekme-oge.aktif {
    background: #2e2a52; border-color: #4f46a8; color: #c3bcff;
}

/* --- Giriş ekranı (login.php) -------------------------------------------- */
/* ⚠️ Zemin gradyanı korunuyor (zaten koyu); yalnızca beyaz kart çevriliyor.
   ⚠️ Sınıf adı .login-card DEĞİL .login-container — uydurma seçici sessizce
   etkisiz kalırdı, adlar kaynaktan doğrulandı. */
[data-bs-theme="dark"] .login-container { background: var(--yz-kart); }
[data-bs-theme="dark"] .login-container h1 { color: var(--yz-yazi); }
[data-bs-theme="dark"] .login-container .form-control { border-color: var(--yz-cizgi2); }
[data-bs-theme="dark"] .pk-ayrac { color: var(--yz-soluk); }
[data-bs-theme="dark"] .pk-ayrac::before,
[data-bs-theme="dark"] .pk-ayrac::after { background: var(--yz-cizgi); }
/* Şifremi unuttum akışı (2026-08-24) — giriş ekranıyla aynı kapta yaşıyor.
   ⚠️ Sınıf adları kaynaktan doğrulandı (web/login.php + web/sifremi_unuttum.php);
   uydurma bir seçici hata vermez, sessizce etkisiz kalır. */
[data-bs-theme="dark"] .sifremi-unuttum a,
[data-bs-theme="dark"] .sf-alt a,
[data-bs-theme="dark"] .sf-alt button { color: #9db0ff; }
[data-bs-theme="dark"] .sf-aciklama { color: var(--yz-soluk); }
[data-bs-theme="dark"] .sf-adim span { background: var(--yz-cizgi2); }
[data-bs-theme="dark"] .sf-adim span.aktif { background: #7f8ff0; }
[data-bs-theme="dark"] .btn-parmak { background: transparent; color: #9db0ff; border-color: #7f8ff0; }
[data-bs-theme="dark"] .btn-parmak:hover:not(:disabled) { background: #232a45; }
[data-bs-theme="dark"] .pk-not { color: var(--yz-soluk); }

/* ===========================================================================
   BOOTSTRAP'İN KOYU TEMADA UYARLANMAYAN RENK YARDIMCILARI
   ===========================================================================
   ⚠️⚠️ ÖLÇÜLDÜ (bootstrap@5.3.0 CSS'i indirilip incelendi, 2026-08-21):
   Bootstrap'in `[data-bs-theme=dark]` bloğu `--bs-body-bg`, `--bs-secondary-bg`,
   `--bs-border-color`, `--bs-secondary-color` gibi değişkenleri yeniden tanımlar
   AMA `--bs-light-rgb`, `--bs-dark-rgb`, `--bs-white-rgb` SABİT KALIR.
   `.table-light` ise değerleri (#f8f9fa / #000) doğrudan yazar.
   Sonuç: bu sınıflar koyu temada BEYAZ kalır. Projede 78 kullanımı var
   (`bg-light` 33 · `table-light` 26 · `text-dark` 15 · `bg-white` 4), ağırlıklı
   olarak yönetim panelinde — ezilmezse koyu kartların üstünde beyaz başlıklar
   ve okunmaz siyah yazılar çıkardı.

   ⚠️⚠️ DEĞİŞKENİ TERS ÇEVİRMEK ÇÖZÜM DEĞİL, HATA OLURDU: `.text-white`
   (14 kullanım, navbar'da — BEYAZ KALMALI) ile `.bg-white` (4 kullanım —
   koyuya dönmeli) AYNI `--bs-white-rgb` değişkenini kullanıyor. Bu yüzden
   sınıflar tek tek eziliyor.

   ⚠️ `!important` ZORUNLU: Bootstrap'in kendi yardımcı kuralları `!important`
   taşıyor, özgüllük tek başına yetmez.

   ⚠️ `.text-muted` (141 kullanım) BİLEREK LİSTEDE YOK — `--bs-secondary-color`
   üzerinden çalışıyor ve Bootstrap onu koyu temada zaten uyarlıyor (ölçüldü).
   =========================================================================== */
[data-bs-theme="dark"] .bg-light { background-color: var(--yz-kart2) !important; }
[data-bs-theme="dark"] .bg-white { background-color: var(--yz-kart)  !important; }
[data-bs-theme="dark"] .text-dark { color: var(--yz-yazi) !important; }

/* Koyu rozet koyu kartın üstünde kaybolmasın diye bir ton açılır. */
[data-bs-theme="dark"] .badge.bg-dark { background-color: #39435a !important; }

/* .table-light kendi değişkenlerini sabit değerlerle yazıyor; hepsi karşılanır. */
[data-bs-theme="dark"] .table-light {
    --bs-table-color:        #dfe4ee;
    --bs-table-bg:           #232c3d;
    --bs-table-border-color: #2c3547;
    --bs-table-striped-bg:   #273043;
    --bs-table-striped-color:#dfe4ee;
    --bs-table-active-bg:    #2c3547;
    --bs-table-active-color: #dfe4ee;
    --bs-table-hover-bg:     #2a3345;
    --bs-table-hover-color:  #dfe4ee;
}

/* --- Tema düğmesi -------------------------------------------------------- */
/* ⚠️ RENK BURADA SABİTLENMEZ, `inherit` bırakılır. Düğme iki farklı zeminde
   yaşıyor: dashboard/finans'ta navbar gradyanının üstünde (beyaz yazı gerekir),
   yönetim panelinde beyaz açılır menünün içinde (koyu yazı gerekir). Sabit
   beyaz verilseydi yönetim panelinde beyaz üstüne beyaz çıkardı. */
/* ⚠️ padding / display / line-height BİLEREK VERİLMEZ. Düğme iki farklı
   Bootstrap bileşeninin içinde yaşıyor: navbar'da `.nav-link`, yönetim
   panelinde `.dropdown-item`. Her ikisinin de kendi padding'i ve düzeni var;
   burada ezilirse biri diğerinden farklı hizalanır (dropdown-item ayrıca
   block + width:100% olduğu için inline-flex verilseydi hover vurgusu
   yalnızca yazının altını kaplardı). İkon aralığı margin ile veriliyor. */
.tema-btn {
    background: transparent; border: 0; color: inherit;
    cursor: pointer; text-align: left;
}
.tema-btn .bi { margin-right: .35rem; }
.navbar .tema-btn { color: #fff; }
.navbar .tema-btn:hover { color: #fff; opacity: .85; }
/* İkon seçimi CSS ile yapılır, JS ile DEĞİL — açılışta titreme olmasın diye
   (aynı gerekçe rapor seçeneği butonlarının kısa/uzun etiketlerinde de var).
   Gösterilen ikon "tıklarsan ne olacağını" anlatır:
     açık temada  -> AY  (tıkla, koyuya geç)
     koyu temada  -> GÜNEŞ (tıkla, açığa dön) */
.tema-btn .tema-ikon-gunes { display: none; }
.tema-btn .tema-ikon-ay    { display: inline-block; }
[data-bs-theme="dark"] .tema-btn .tema-ikon-gunes { display: inline-block; }
[data-bs-theme="dark"] .tema-btn .tema-ikon-ay    { display: none; }
