/* ===========================================================================
   ERONOR PANEL - TASARIM BELIRTECLERI (design tokens)
   ===========================================================================

   NEDEN VAR: 28.10.2026'da panel tarandi ve "soluk metin" icin YEDI farkli
   renk bulundu - #94a3b8 (27 kez), #6c757d (13), #91a6cb (7), #7f97c0 (6),
   #5b6475 (4), #64748b (3), #adb5bd (2). Bu Bootstrap'in eksigi degil;
   ustunde ortak bir belirtec katmani olmamasinin sonucu. Her yeni ekran
   kendi grisini uyduruyordu.

   KURAL: yeni bir renk/bosluk/yaricap degeri yazmadan ONCE burada karsiligi
   var mi diye bakin. Yoksa buraya ekleyin, bilesene gomuleyin.

   PALET NEREDEN GELDI: uydurulmadi. Panelde zaten iki aile vardi - mavi
   tonlu (Restoranlar tablosu: #dbe7ff, #eef4ff, #91a6cb, #7f97c0) ve notr
   slate (yeni ekranlar: #94a3b8, #5b6475). Mavi tonlu olan temel alindi,
   cunku panelin lacivert zeminiyle uyumlu olan o; notr slate'e duzlemek
   paneli karaktersizlestirirdi.

   BU DOSYA HICBIR SECICIYI DEGISTIRMEZ, yalnizca degisken tanimlar -
   yuklenmesi tek basina hicbir seyi bozmaz.

   ---------------------------------------------------------------------------
   06.11.2026 - NOTR YUZEY + LOGO ALTINI VURGU
   ---------------------------------------------------------------------------
   Logo kepli bir garson figuru: %74,7 altin #FFD030 (ton 46), %22,1 pudra
   #F0E0D0 (ton 30). Panel ise bastan asagi maviydi - yuzeyler, metinler,
   girdiler, golgeler: 66 belirtec 207-265 bandinda.

   ONCE YANLIS YAPILDI: ayni gun NOTRLERI logonun tonuna cekmeyi denedim
   (ton 32, doygunluk %26). Olcum temizdi - AA alti 0, regresyon 0 - ama
   SONUC KAHVERENGIYDI ve kullanici hakli olarak begenmedi. Ders: ton
   mesafesi olculebilir, "iyi duruyor mu" olculemez. Koyu LACIVERT yerlesik
   bir arayuz konvansiyonu, koyu KAHVE degil; ayni doygunlukta bile biri
   modern biri bayat okunuyor. Renk matematigi karari VERMEZ, yalnizca
   secenekleri daraltir.

   SIMDIKI KURAL - IKI PARCA:
     1) YUZEYLER NOTR. Mavi bant (180-265) doygunluk 0'a cekildi,
        PARLAKLIK aynen korundu. Sonuc Windows 11 koyu temasinin tonu
        (#1c1c1c / #262626 / #303030 civari). Notr zemin hicbir markayla
        kavga etmez.
     2) VURGU ALTIN. Asil istenen buydu: mavi baglantilar/dugmeler/
        cercevelere logonun altini. Koyu temada #f2c14e (zeminde 10,15 -
        eski mavi baglanti 7,37 idi).

   ACIK TEMA VURGUSU AYRI OLMAK ZORUNDA: #f2c14e beyaz uzerinde 1,68
   kontrast verir, metin olarak KULLANILAMAZ. Acik temaya koyu okra
   #8f6400 konuyor (beyaz uzerinde 4,71). Ayni belirtece iki tema iki
   farkli deger verir - "altin" tek bir hex degildir.

   DIKKAT - UYARI RENGIYLE YAKINLIK: --e-warn #ffc107 (ton 45) ile vurgu
   #f2c14e (ton 44) BIR DERECE mesafede. Ikisi de ayni ekranda cikarsa
   "bu tiklanir" ile "bu uyari" ayirt edilemez. Su an ayrim BICIMDEN
   geliyor: vurgu metin/cerceve, uyari dolu rozet/ikon. Yeni bir uyari
   ogesi eklerken bunu koruyun; korunamiyorsa --e-warn turuncuya
   (#ff8400) kaydirilmali.

   BU PALETIN DISINDA KALAN MAVI: olculdu (06.11.2026) - depoda SABIT
   yazilmis 466 mavi deger var, ~31 dosyada: 163'u gercek vurgu
   (dugme/baglanti/cip), 98'i lacivert koyu zemin, 205'i mavimsi gri.
   tokens.css ve vuecomponent.css temizlendi; bilesenlerdeki kalanlar
   (Stores.vue 25, Orders.vue 15, Customers.vue 11 ...) HENUZ DURUYOR.
   Yeni bir renk yazmadan once buradaki belirteci kullanin, yoksa bu
   liste buyumeye devam eder.
   =========================================================================== */

:root,
[data-bs-theme="dark"] {
    /* --- Metin: dortlu merdiven --------------------------------------- */
    --e-text:         #ededed;   /* govde metni, tablo hucresi            */
    --e-text-strong:  #f7f7f7;   /* kimlik, baslik, sayi vurgusu          */
    --e-text-muted:   #aeaeae;   /* ikincil - ad altindaki aciklama       */
    --e-text-faint:   #a0a0a0;   /* ucuncul - etiket, tarih, dipnot       */

    /* --- Yuzeyler ------------------------------------------------------ */
    --e-surface:      rgba(255, 255, 255, .035);  /* kart, sayi kutusu    */
    --e-surface-2:    rgba(255, 255, 255, .06);   /* rozet, chip          */
    --e-line:         rgba(255, 255, 255, .07);   /* cerceve, ayirac      */
    /* GORUNUR kenarlik. Mevcut --e-line / --e-line-soft / --e-kutu-line
       zemine karsi 1,19-1,24 kontrast veriyor - buyuk bir kutuyu
       cevrelerken yetiyor ama kucuk bir cipi KUTU gibi gostermiyor.
       Olculdu 06.11.2026: kota sayaclari 1,09'da fiilen gorunmuyordu.
       Bu deger iki temada da ~1,7. */
    --e-line-strong:  rgba(255, 255, 255, .18);
    --e-line-soft:    rgba(255, 255, 255, .04);   /* tablo satir cizgisi  */

    /* Tablo basligi - Restoranlar listesinden olculdu */
    --e-head-bg:      linear-gradient(180deg, rgba(21, 21, 21, .96) 0%, rgba(26, 26, 26, .94) 100%);
    --e-head-text:    #fafafa;

    /* Sayfa baslik seridi. Degerler vuecomponent.css:1484-ten BIREBIR
       alindi - Restoranlar seridinin gorunumu o kuraldan geliyor ve
       Irfan onu ornek gosterdi. */
    --e-serit-bg:     linear-gradient(135deg, rgba(32, 32, 32, .94) 0%, rgba(39, 39, 39, .9) 100%);
    --e-serit-line:   rgba(144, 144, 144, .2);
    --e-serit-shadow: 0 18px 40px rgba(0, 0, 0, .22);

    --e-ustmenu-bg:     linear-gradient(135deg, rgba(27, 27, 27, .96) 0%, rgba(35, 35, 35, .92) 100%);
    --e-ustmenu-shadow: 0 14px 30px rgba(0, 0, 0, .18);

    --e-sayfa-bg:       #121212;
    --e-perde-duz:      #0a0a0a;   /* perde: alfa ayri veriliyor */
    /* Ust-sag parilti 06.11.2026'ya kadar mavi-mordu (rgb 75/92/255) ve
       notrlestirme betigi onu ATLADI: deger UC SATIRA yayiliyor, betik
       ise satir satir calisiyordu (regex her satirda ';' ariyordu).
       Yuzeyler griye donunce panonun arkasinda tek basina mavi bir
       parilti kaldi - KULLANICI gordu, tarama gormedi: DOM taramasi
       elemanin arkasindaki gradyani 'zemin' saymiyor. Artik notr beyaz
       kaldirma; alt-sol parilti zaten logo altiniydi, duruyor. */
    --e-kabuk-bg:
        radial-gradient(circle at top right, rgba(255, 255, 255, .035), transparent 24%),
        radial-gradient(circle at bottom left, rgba(255, 214, 92, .05), transparent 22%),
        linear-gradient(180deg, #121212 0%, #1c1c1c 100%);

    /* Serit icindeki girdiler. Yine vuecomponent.css:1509-1532'den
       birebir: Restoranlar'in arama kutusu boyle ve oteki ekranlarin
       Bootstrap `-sm` varyantindan (30px, 12,6px, gri) belirgin
       sekilde daha iyi duruyor. */
    --e-girdi-bg:     rgba(21, 21, 21, .72);
    --e-girdi-line:   rgba(242, 193, 78, .42);
    --e-girdi-text:   #eeeeee;
    --e-girdi-ph:     #a9a9a9;
    /* Serit icindeki her denetimin yuksekligi - TEK deger. 44 iken
       btn-sm'ler 44, normal dugmeler 46 oluyordu ve yan yana
       duruyorlardi. */
    --e-girdi-h:      46px;
    /* Dugmelerle AYNI yaricap: serit icinde dugmeler 14px, arama grubu
       6px idi ve yan yana durduklari icin goze batiyordu. */
    /* --- YARICAP OLCEGI -------------------------------------------
       28.10.2026'da panel tarandi: ONUC farkli yaricap vardi. Dugmeler
       12/4/8/20/14/10px, girdiler 3,6/4/14/43,2px, kutular
       10/6/14/3/12px. Yan yana duran iki eleman neredeyse hic ayni
       degildi.

       Uc basamak yeter ve Irfan'in tercihi "abartilmamis, cok hafif":
         sm 4px  kucuk etiket, rozet, odak cercevesi
         md 6px  DENETIM katmani - dugme, girdi, secim
         lg 8px  KAP katmani - kart, tablo, modal, fieldset, pano
       Hap (999px) ve daire (%50) bu olcegin disinda, kasitli.          */
    /* --- KATMAN (lift) ---------------------------------------------
       Koyu temada yuzeyi bir tik yukseltmek icin DUSUK ALFALI BEYAZ
       kullaniliyordu (rgba(255,255,255,.03) gibi) - panelde 31 zemin,
       32 kenarlik. Acik temada beyaz uzerine beyaz = GORUNMEZ; acik
       temanin onundeki asil engel buydu, sabit koyu renkler degil.
       Uc basamak, mevcut alfa bantlarina gore:                        */
    --e-lift-0:       rgba(255, 255, 255, .015);  /* satir seridi      */
    --e-lift-1:       rgba(255, 255, 255, .04);   /* yuzey kabartmasi  */
    --e-lift-2:       rgba(255, 255, 255, .08);   /* hover, vurgu      */

    --e-r-sm:         4px;
    --e-r-md:         6px;
    --e-r-lg:         8px;

    /* Geriye donuk ad: serit kurallari bunu okuyor. */
    --e-girdi-radius: var(--e-r-md);

    /* Ust uste acilan panolar. Deger DeviceClockPanel-den alindi
       (.dcp-box #0f172a, perde rgba(3,8,18,.72)) - Irfan onu ornek
       gosterdi. Musteri panosu var(--bs-body-bg) kullaniyordu ve
       Bootstrap-in govde rengine dusup farkli goruntu veriyordu. */
    --e-pano-bg:      #1c1c1c;
    --e-perde:        rgba(10, 10, 10, .72);
    --e-perde-blur:   rgba(10, 10, 10, .50);

    /* Kutu = tablo sarmali ve ic paneller. Degerler Restoranlar'in
       tablo sarmalindan alindi - Partners ayni, Musteriler'de HIC yoktu. */
    /* Yuzey merdiveni: Bootstrap'in NOTR GRI rampasinin lacivert
       karsiligi. Bootstrap koyu temada #212529 / #2b3035 / #343a40
       kullaniyor; panelin yuzeyi #0f172a lacivert oldugu icin ic kart
       basliklari, tablo seritleri ve liste gruplari GRI boyanıyordu. */
    --e-yuzey-1:      #1c1c1c;   /* govde - panonun kendisi          */
    --e-yuzey-2:      #282828;   /* tablo seridi, hafif kabartma     */
    --e-yuzey-3:      #313131;   /* kart basligi, liste basligi      */

    --e-kutu-bg:      rgba(24, 24, 24, .9);
    --e-kutu-line:    rgba(144, 144, 144, .16);
    --e-kutu-shadow:  0 18px 40px rgba(0, 0, 0, .2);

    /* Modal/pano icindeki ic adacik (bilgi kutusu, secim grubu).
       Bu paneller ACIK zeminli modal varsayilarak yazilmisti. */
    --e-ic-bg:        rgba(255, 255, 255, .04);
    --e-ic-line:      rgba(255, 255, 255, .10);
    --e-ic-vurgu-bg:  rgba(242, 193, 78, .12);
    --e-ic-vurgu-line:rgba(242, 193, 78, .38);
    --e-ic-uyari-bg:  rgba(245, 158, 11, .12);
    --e-ic-uyari-line:rgba(245, 158, 11, .32);
    --e-ic-tehlike-bg:  rgba(239, 68, 68, .10);
    --e-ic-tehlike-line:rgba(239, 68, 68, .30);
    --e-ic-basari-bg:   rgba(34, 197, 94, .10);
    --e-ic-basari-line: rgba(34, 197, 94, .30);

    /* Satir durumlari */
    --e-row-stripe:   rgba(255, 255, 255, .018);
    --e-row-hover:    rgba(124, 124, 124, .08);

    /* --- Anlam renkleri ------------------------------------------------ */
    /* Tonlar Bootstrap'in kendi renklerinden turetildi ki rozetler ve
       dugmeler ayni dili konussun. */
    --e-ok:           #198754;
    --e-ok-soft:      rgba(25, 135, 84, .22);
    --e-warn:         #ffc107;
    --e-warn-soft:    rgba(255, 193, 7, .28);
    --e-danger:       #dc3545;
    --e-danger-soft:  rgba(220, 53, 69, .28);
    --e-accent:       #f2c14e;
    /* Alfa turevleri icin: bilesenler rgba(var(--e-accent-rgb), .08)
       yazabilsin diye. Olmadan her bilesen altini SABIT yaziyor ve
       acik temada yanlis tona dusuyor. */
    --e-accent-rgb:   242, 193, 78;
    --e-accent-soft:  rgba(242, 193, 78, .26);
    /* BAGLANTI METNI. 06.11.2026'ya kadar `--e-accent`ten AYRI bir
       degerdi: eski mavi vurgu (#0d6efd) koyu panoda 3,97 veriyordu,
       dolgu olarak yetiyor ama METIN olarak yetmiyordu, bu yuzden
       baglantiya daha acik bir mavi konmustu. Altin vurguda bu ayrim
       GEREKSIZ: #f2c14e koyu zeminde 10,15, acik temadaki okra
       #8f6400 beyazda 5,26 - ikisi de metin olarak gecerli. Yine de
       belirtec AYRI tutuluyor; ileride vurgu metin esigini
       saglayamayan bir renge donerse tek yerden ayrilabilsin. */
    --e-bag:          #f2c14e;   
    --e-neutral-soft: rgba(166, 166, 166, .22);
}

[data-bs-theme="light"] {
    --e-accent:       #8f6400;
    --e-accent-rgb:   143, 100, 0;   /* beyaz uzerinde 5.26 */
    /* ACIK TEMA. Panelde anahtar zaten bagliydi ama sabit koyu renkler
       eziyordu: 28.10.2026'da olctum, acik temada Restoranlar tablosunun
       basligi koyu lacivert, magaza adi NEREDEYSE BEYAZ kaliyordu.
       Asagidaki degerler o kiriklige karsilik geliyor.

       Kontrast olculdu (acik zemin #f6f8fb uzerinde):
         --e-text-muted  #5b6475 -> 5.6:1
         --e-text-faint  #6b7280 -> 4.8:1
       Ikisi de govde metni icin AA esigini (4.5:1) geciyor. #94a3b8
       kullanilsaydi 2.2:1 olurdu - o yuzden koyu temadaki degerler
       oldugu gibi tasinmadi. */
    --e-text:         #2b2b2b;
    --e-text-strong:  #1c1c1c;
    --e-text-muted:   #686868;
    --e-text-faint:   #707070;   /* beyaz uzerinde 4.95 */

    --e-surface:      rgba(28, 28, 28, .035);
    --e-surface-2:    rgba(28, 28, 28, .06);
    --e-line:         rgba(28, 28, 28, .10);
    --e-line-strong:  rgba(28, 28, 28, .24);
    --e-line-soft:    rgba(28, 28, 28, .08);

    --e-head-bg:      linear-gradient(180deg, #f3f3f3 0%, #eeeeee 100%);
    --e-head-text:    #282828;

    --e-serit-bg:     linear-gradient(135deg, #f6f6f6 0%, #f0f0f0 100%);
    --e-serit-line:   rgba(144, 144, 144, .28);
    --e-serit-shadow: 0 10px 24px rgba(28, 28, 28, .08);

    --e-ustmenu-bg:     linear-gradient(135deg, #ffffff 0%, #f8f8f8 100%);
    --e-ustmenu-shadow: 0 8px 20px rgba(28, 28, 28, .07);

    --e-sayfa-bg:       #f2f2f2;
    --e-perde-duz:      #1c1c1c;
    --e-kabuk-bg:
        radial-gradient(circle at top right, rgba(15, 15, 15, .025), transparent 24%),
        radial-gradient(circle at bottom left, rgba(255, 214, 92, .07), transparent 22%),
        linear-gradient(180deg, #f8f8f8 0%, #f0f0f0 100%);

    --e-girdi-bg:     #ffffff;
    --e-girdi-line:   rgba(153, 107, 0, .50);
    --e-girdi-text:   #282828;
    --e-girdi-ph:     #767676;
    --e-pano-bg:      #ffffff;
    --e-perde:        rgba(28, 28, 28, .45);
    --e-perde-blur:   rgba(28, 28, 28, .38);

    --e-yuzey-1:      #ffffff;
    --e-yuzey-2:      #f9f9f9;
    --e-yuzey-3:      #f3f3f3;

    /* Acik temada katman KOYULASTIRIR - beyaz uzerine beyaz gorunmez. */
    --e-lift-0:       rgba(28, 28, 28, .022);
    --e-lift-1:       rgba(28, 28, 28, .045);
    --e-lift-2:       rgba(28, 28, 28, .075);

    --e-kutu-bg:      #ffffff;
    --e-kutu-line:    rgba(28, 28, 28, .12);
    --e-kutu-shadow:  0 10px 24px rgba(28, 28, 28, .08);

    --e-ic-bg:        #f9f9f9;
    --e-ic-line:      #ececec;
    --e-ic-vurgu-bg:  #fff7e3;
    --e-ic-vurgu-line:#f0d9a2;
    --e-ic-uyari-bg:  #fff8db;
    --e-ic-uyari-line:#ffe2c4;
    --e-ic-tehlike-bg:  #fff5f5;
    --e-ic-tehlike-line:#ffc9c9;
    --e-ic-basari-bg:   #ebfbee;
    --e-ic-basari-line: #b2f2bb;

    --e-row-stripe:   rgba(28, 28, 28, .025);
    --e-row-hover:    rgba(124, 124, 124, .10);

    --e-ok-soft:      rgba(25, 135, 84, .16);
    --e-warn-soft:    rgba(255, 193, 7, .35);
    --e-danger-soft:  rgba(220, 53, 69, .18);
    --e-accent-soft:  rgba(153, 107, 0, .16);
    --e-bag:          #8f6400;   
    --e-neutral-soft: rgba(88, 88, 88, .14);
}

/* ===========================================================================
   OLCU BELIRTECLERI - temadan bagimsiz
   =========================================================================== */
:root {
    /* Sayfa kabi. Onceden ekrandan ekrana 1700 / 1400 / 1100 / sinirsiz
       degisiyordu ve hicbirinin gerekcesi yoktu; sayfa degistirince
       icerik sicriyordu.
         --e-page-max       veri ekranlari (tablo, harita) - genislik ise yarar
         --e-page-max-text  metin ekranlari (notlar, APK) - uzun satir okunmaz */
    /* TAM GENISLIK. Onceden yeni ekranlar 1700/1400/1100px ile
       sinirlaniyordu, Restoranlar ve Partners ise sinirsizdi - genis
       ekranda sayfa degistirince icerik sicriyordu (Irfan bildirdi,
       28.10.2026). Artik hepsi ayni.
       Metin sutunu ayri: uzun satir okunmuyor, o yuzden PARAGRAF
       genisligi icerideki `.e-metin` ile sinirlanir, SAYFA degil. */
    --e-page-max:      100%;
    --e-text-col:      72ch;
    --e-page-pad-x:    1rem;
    --e-page-pad-y:    1rem;

    /* Yaricap: uc basamak yeter. Her seye ayni yaricagi vermek
       hiyerarsiyi siliyor. */
    --e-radius-sm:     8px;    /* rozet, kucuk dugme   */
    --e-radius:        12px;   /* kart, girdi          */
    --e-radius-lg:     16px;   /* sayi kutusu, panel   */
    --e-radius-pill:   999px;  /* chip                 */

    /* Metin olcegi */
    --e-fs-page:       1.25rem;   /* sayfa basligi      */
    --e-fs-section:    1rem;      /* bolum basligi      */
    --e-fs-body:       .92rem;
    --e-fs-small:      .82rem;
    --e-fs-micro:      .68rem;    /* rozet, sayi etiketi */
}

/* ===========================================================================
   ORTAK SAYFA KABI
   ===========================================================================
   Her admin ekrani bunu kullanir. Onceden her ekran kendi dolgusunu ve
   genisligini yaziyordu (bkz. yukarida). `e-sayfa` tek kaynak.
   =========================================================================== */
.e-sayfa {
    margin: 0 auto;
    max-width: var(--e-page-max);
    padding: var(--e-page-pad-y) var(--e-page-pad-x);
}
/* Paragraf sutunu - SAYFAYI degil metni sinirlar. */
.e-metin { max-width: var(--e-text-col); }

@media (min-width: 992px) {
    .e-sayfa { padding-left: 1.5rem; padding-right: 1.5rem; }
}

/* ---------------------------------------------------------------------
   SAYFA BASLIK SERIDI
   ---------------------------------------------------------------------
   Gorunum Restoranlar sayfasindan alindi (`.stores-toolbar`: 14px
   yaricap, koyu serit) cunku panelin en cok kullanilan ekrani o ve
   kullanici onu "dogru" olarak gorüyor. Oteki bes ekran duz bir satir
   kullaniyordu; uc ayri baslik kalibi vardi (h5+fw-bold, h4+ozel
   sinif, hic yok).

   Yapisi yeni ekranlardan alindi: solda BASLIK + ALT ACIKLAMA
   ("47569 kayit" gibi), sagda araclar. Restoranlar seridinde alt
   aciklama yoktu ve "neyin kac tane oldugu" bilgisi kayboluyordu.
   --------------------------------------------------------------------- */
    /* KUTU KALDIRILDI (07.11.2026, Irfan). Baslik serit bir KART
       icindeydi; mobilde altindaki restoran kartlarina benziyor ve
       "bir kart daha" gibi duruyordu. Hiyerarsi artik punto ve
       bosluktan geliyor, kaptan degil; alttaki ince cizgi kutunun
       verdigi ayrimi kartlarla yarismadan veriyor.
       Yatay dolgu 0: baslik sayfa kenariyla hizalaniyor.
       NOT: `--e-serit-bg/line/shadow` belirtecleri artik KULLANILMIYOR
       (tarandi: yalniz bu iki kural kullaniyordu). Tanimlari duruyor,
       geri almak isteyen bulabilsin. */
.e-baslik {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--e-line);
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 1rem 0;
}
/* ASGARI YUKSEKLIK: serit yuksekligi sayfadan sayfaya 79-101px
   arasinda degisiyordu (olculdu) ve menu arasinda gecerken ziplama
   yapiyordu. min-height sabit bir taban veriyor; icerik gercekten
   daha fazla yer istiyorsa (iki satir denetim) yine buyuyebiliyor -
   sabit height vermek o durumda icerigi kirpardi. */
.e-baslik { min-height: 88px; }

.e-baslik h1,
.e-baslik h2,
.e-baslik h3,
.e-baslik h4,
.e-baslik h5,
.e-baslik .navbar-brand {
    /* !important SART: vuecomponent.css:1495 .navbar-brand icin
       font-size: 1.35rem !important basiyor (21,6px) ve oteki
       sayfalarin 20px basligiyla ayrismasina sebep oluyordu. */
    font-size: var(--e-fs-page) !important;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0;
    padding: 0;
}

/* --- Serit icindeki girdiler: hepsi Restoranlar kalibinda --- */
.e-baslik .form-control,
.e-baslik .form-select,
.e-baslik .input-group-text {
    background: var(--e-girdi-bg) !important;
    border-color: var(--e-girdi-line) !important;
    color: var(--e-girdi-text) !important;
    font-size: var(--e-fs-body);
    min-height: var(--e-girdi-h);
}
.e-baslik .form-control::placeholder { color: var(--e-girdi-ph); }

/* Yaricap: tek basina duran girdi dugmelerle ayni; input-group icinde
   ise yalniz DIS koseler yuvarlaniyor, ic birlesim duz kaliyor. */
.e-baslik .form-control,
.e-baslik .form-select { border-radius: var(--e-girdi-radius); }
.e-baslik .input-group > :first-child {
    border-bottom-left-radius: var(--e-girdi-radius);
    border-top-left-radius: var(--e-girdi-radius);
}
.e-baslik .input-group > :last-child {
    border-bottom-right-radius: var(--e-girdi-radius);
    border-top-right-radius: var(--e-girdi-radius);
}
.e-baslik .input-group > :not(:first-child) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.e-baslik .input-group > :not(:last-child) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

/* Bolmeli denetim (yogunluk anahtari): IC bolme cizgileri duz kalir -
   silueti komsu dugmelerle ayni olsun diye yalniz DIS koseler yuvarlanir.
   Bootstrap burada 7px veriyordu. */
.e-baslik .btn-group > .btn:first-child {
    border-bottom-left-radius: var(--e-girdi-radius);
    border-top-left-radius: var(--e-girdi-radius);
}
.e-baslik .btn-group > .btn:last-child {
    border-bottom-right-radius: var(--e-girdi-radius);
    border-top-right-radius: var(--e-girdi-radius);
}

.e-baslik .btn,
.e-baslik .form-control,
.e-baslik .form-select { min-height: var(--e-girdi-h); }

/* Dugme yaricapi: kapsanmayan dugmeler Bootstrap varsayilanina dusuyordu
   (.btn 6px, .btn-sm 4px) ve 14px komsularinin yaninda duruyordu.
   Bolmeli denetimin ic bolmeleri .density-toggle icindeki
   'border-radius: 0 !important' ile korunuyor, ilk/son ise asagidaki
   daha ozgul kuralla. */
.e-baslik .btn { border-radius: var(--e-girdi-radius); }
.e-baslik .btn-outline-primary {
    background: var(--e-accent-soft);
    border-color: var(--e-girdi-line);
    color: var(--e-accent);
}
.e-baslik .btn-outline-primary:hover {
    background: rgba(242, 193, 78, .22);
    color: #fff;
}
[data-bs-theme="light"] .e-baslik .btn-outline-primary {
    background: var(--e-accent-soft);
    color: var(--e-accent);
}
.e-baslik-alt {
    color: var(--e-text-muted) !important;
    display: block;
    font-size: var(--e-fs-small);
    font-weight: 400;
    letter-spacing: 0;
}
.e-araclar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

/* Klavyeyle gezinenin nerede oldugu GORUNUR olmali. Bootstrap'in
   varsayilani bazi ozel dugmelerimizde kayboluyordu. */
.e-sayfa :focus-visible {
    outline: 2px solid var(--e-accent);
    outline-offset: 2px;
}

/* ===========================================================================
   DOKUNMATIK
   ===========================================================================
   `mobile-responsive.css` form denetimlerini (42px) ve `.btn`i (38px) zaten
   buyutuyor, ama `.filter-chip` ozel bir sinif oldugu icin hicbir kuralin
   kapsaminda degildi: 375px'te 31px olculdu - parmakla isabet ettirmesi zor.
   Burada duruyor cunku chip hem Restoranlar hem Musteriler ekraninda
   kullaniliyor; tek yerde tanimlanmasi ikisini birden duzeltiyor.

   `pointer: coarse` dokunmatik cihazi tarif ediyor; genislik esigi de var
   cunku bazi dizustu dokunmatik ekranlar coarse bildirmiyor. */
@media (pointer: coarse), (max-width: 767.98px) {
    .filter-chip {
        min-height: 40px;
        padding-left: 14px;
        padding-right: 14px;
    }
}

/* ===========================================================================
   SIPARIS BILDIRIMI TOAST'I
   ===========================================================================
   SweetAlert2 popup'i <body> altina basiyor, yani sayfadaki
   [data-bs-theme] kapsamina GIRMIYOR - koyu panelde beyaz bir kutu
   cikiyordu. Tema bu yuzden JS'ten sinif olarak geliyor
   (`siparis-toast--dark` / `--light`), burada da ona gore boyaniyor.

   Degerler token DEGIL sabit: toast kapsam disinda oldugu icin
   var(--e-*) cozulmez. Ama ayni degerlerin kopyasi - ayrismamasi icin
   degistirirken ikisine birden bakin.

   SECICILER `.swal2-popup.swal2-toast` ILE BASLIYOR. Sebebi canlida
   kural kural incelendi: SweetAlert CALISMA ANINDA
   `.swal2-popup.swal2-toast { background: #fff }` enjekte ediyor.
   Ozgullugu (0,2,0) ve tokens.css'ten SONRA geldigi icin esit
   ozgullukteki her kuralı yeniyor - once tek sinif, sonra iki sinif
   denendi, ikisi de beyaz kaldi. Uc sinif (0,3,0) kesin geciyor. */
.swal2-popup.swal2-toast.siparis-toast {
    border-radius: var(--e-radius-lg, 16px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .35);
    font-size: .9rem;
}
.swal2-popup.swal2-toast.siparis-toast .swal2-title { font-size: 1rem; font-weight: 700; margin: 0; }
.swal2-popup.swal2-toast.siparis-toast .swal2-html-container { font-size: .8rem; margin: .15rem 0 0; }

.swal2-popup.swal2-toast.siparis-toast--dark {
    background: #282828;
    border: 1px solid rgba(255, 255, 255, .07);
}
.swal2-popup.swal2-toast.siparis-toast--dark .swal2-title { color: #f6f6f6; }
.swal2-popup.swal2-toast.siparis-toast--dark .swal2-html-container { color: #aeaeae; }
.swal2-popup.swal2-toast.siparis-toast--dark .swal2-timer-progress-bar { background: rgba(242, 193, 78, .55); }

.swal2-popup.swal2-toast.siparis-toast--light {
    background: #ffffff;
    border: 1px solid rgba(28, 28, 28, .10);
}
.swal2-popup.swal2-toast.siparis-toast--light .swal2-title { color: #1c1c1c; }
.swal2-popup.swal2-toast.siparis-toast--light .swal2-html-container { color: #686868; }
.swal2-popup.swal2-toast.siparis-toast--light .swal2-timer-progress-bar { background: rgba(242, 193, 78, .55); }

/* Hareket azaltma tercihi olan kullanicida gecisleri kapat. */
@media (prefers-reduced-motion: reduce) {
    .e-sayfa *,
    .filter-chip {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* ===========================================================================
   ORTAK TABLO
   ===========================================================================
   Degerler Restoranlar listesinden (.stores-table) alindi. APK ekraninin
   tablolari duz Bootstrap goruntusundeydi ve ayni panelin parcasi gibi
   okunmuyordu (Irfan bildirdi, 28.10.2026).

   Bootstrap serit/hover-i background ile DEGIL box-shadow: inset ile
   ciziyor - bu yuzden burada box-shadow SIFIRLANMAZ. Musteriler
   ekraninda tam bu kural seridi gorunmez kilmisti.
   =========================================================================== */
.e-tablo {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: var(--e-row-stripe);
    --bs-table-hover-bg: var(--e-row-hover);
    --bs-table-color: var(--e-text);
    --bs-table-striped-color: var(--e-text);
    --bs-table-hover-color: var(--e-text-strong);
    color: var(--e-text);
}
.e-tablo > :not(caption) > * > * { border-bottom-color: var(--e-line-soft); }
.e-tablo thead th {
    background: var(--e-head-bg);
    color: var(--e-head-text) !important;
    font-size: var(--e-fs-body);
    font-weight: 700;
    letter-spacing: .01em;
    white-space: nowrap;
}
.e-tablo thead th a { color: inherit !important; text-decoration: none; }
.e-tablo-sarmal { border: 1px solid var(--e-line); border-radius: var(--e-r-lg); overflow: hidden; }

/* ---------------------------------------------------------------------
   BASLIK YAZI BOYUTU - OZGULLUK NOTU
   ---------------------------------------------------------------------
   vuecomponent.css:1494 su seciciyi kullaniyor:
     .admin-dashboard-shell .container-fluid.p-0 > .navbar.flex-wrap .navbar-brand
     { font-size: 1.35rem !important; }
   Ozgullugu (0,5,0) ve ikisi de !important oldugu icin benim
   .e-baslik .navbar-brand (0,2,0) kuralimi YENIYORDU - olctum,
   Restoranlar 21,6px kalirken oteki sayfalar 20px idi. tokens.css
   vuecomponent.css-ten ONCE yuklendigi icin esit ozgulluk de yetmez.
   Asagidaki secici (0,6,0) kesin geciyor.
   --------------------------------------------------------------------- */
.admin-dashboard-shell .container-fluid.p-0 > .navbar.flex-wrap.e-baslik .navbar-brand {
    font-size: var(--e-fs-page) !important;
}


/* ===========================================================================
   MODAL VE PANO ICINDEKI GIRDILER
   ===========================================================================
   Irfan: "modallardaki inputlarin arka plani da bence ara inputundaki
   olmali... darkta aranin renk tasarimi kenarligi inputa dark temada daha
   cok yakisiyor".

   Olculen sorun: restoran ayar modalinda girdi zemini rgb(33,37,41) idi -
   modalin KENDI zeminiyle BIREBIR AYNI. Yani alan, alan oldugu belli
   olmuyordu; yalnizca soluk bir kenarlik vardi.

   Yukseklige DOKUNULMUYOR: bu modallarda yogun formlar var ve serit
   icindeki 46px'i buraya tasimak satirlari sisirirdi. Yalniz zemin,
   kenarlik, metin ve yaricap.
   =========================================================================== */
.modal-content .form-control,
.modal-content .form-select,
.modal-content .input-group-text,
.dcp-box .form-control,
.dcp-box .form-select,
.dcp-box .input-group-text,
.musteri-pano .form-control,
.musteri-pano .form-select,
.musteri-pano .input-group-text {
    background-color: var(--e-girdi-bg);
    border-color: var(--e-girdi-line);
    color: var(--e-girdi-text);
    border-radius: var(--e-girdi-radius);
}

.modal-content .form-control::placeholder,
.dcp-box .form-control::placeholder,
.musteri-pano .form-control::placeholder { color: var(--e-girdi-ph); }

/* input-group icinde yalniz DIS koseler - serit ile ayni kural */
.modal-content .input-group > :not(:first-child),
.dcp-box .input-group > :not(:first-child),
.musteri-pano .input-group > :not(:first-child) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.modal-content .input-group > :not(:last-child),
.dcp-box .input-group > :not(:last-child),
.musteri-pano .input-group > :not(:last-child) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

/* Devre disi alan: ayni ailede ama belirgin sekilde pasif.

   `[readonly]` BILEREK YOK: bu panelde readonly, "duzenlenemez" demek
   DEGIL - tarayicinin otomatik doldurmasini engellemek icin kullanilan
   bir hile. Alanlar readonly baslayip gercek odakta aciliyor
   (`:readonly="isReadonly" @focus="unsetReadonly"`). Kurala dahil
   edilince Yeni Partner / Partner duzenle gibi formlarin TUM alanlari
   pasif renginde aciliyordu - olculdu, 28.10.2026. */
.modal-content .form-control:disabled,
.modal-content .form-select:disabled {
    background-color: var(--e-ic-bg);
    color: var(--e-text-muted);
}


/* ===========================================================================
   KOYU TEMADA `.text-dark`
   ===========================================================================
   Bootstrap'in `.text-dark` yardimci sinifi metni #212529 yapar. Panelin
   ACIK oldugu donemden kalma 120 kullanim var ve panel koyuya gecince
   bunlarin bir kismi metni ZEMINLE AYNI renge getirdi: restoran ayar
   modalinin `.modal-content`'i hem zemin hem metin olarak rgb(33,37,41)
   olculdu - bolum basliklari ve bazi etiketler gorunmuyordu.

   Hepsi hatali DEGIL: `bg-light text-dark`, `bg-info text-dark`,
   `bg-warning text-dark` gibi kullanimlar DOGRU - acik bir rozetin/kutunun
   uzerinde koyu metin isteniyor. Bu yuzden kural, uzerinde HERHANGI bir
   `bg-*` yardimci sinifi olan elemani DISARIDA birakir; geri kalan
   `text-dark` koyu bir yuzeyde duruyordur ve okunur renge cekilir.

   Tek tek 120 kullanimi ayiklamak yerine kosullu tek kural: yeni eklenen
   bir `text-dark` de kendiliginden dogru davranir.
   =========================================================================== */
[data-bs-theme="dark"] .text-dark:not([class*="bg-"]) {
    color: var(--e-text) !important;
}

/* ---------------------------------------------------------------------------
   ...AMA `:not([class*="bg-"])` YALNIZ AYNI ELEMANA BAKAR (08.11.2026).

   Ustteki suzgec "acik rozetin uzerindeki koyu metne dokunma" demek icin
   kondu ve `bg-light text-dark` AYNI elemandayken dogru calisiyor. Acik
   zemin ATADA ise goremiyor: kural uyar, metni acik renge ceker ve ACIK
   zeminin uzerinde ACIK metin birakir.

   Uretimde olculdu (magaza 21, masa modali):
     <span class="... bg-light">            <- beyaz hap, koyu temada FLIP ETMEZ
        <span class="text-black-50">Toplam</span>   kontrast 19,92  (dokunulmadi)
        <span class="text-dark fw-bold">31,40</span> kontrast  1,11  <- GORUNMUYOR
     </span>
   Ayni hapin icindeki `badge bg-light text-dark` rozeti 14,63 ile dogru
   cizilliyordu - cunku orada sinif AYNI elemanda. Tuzagin tarifi tam bu.

   Cozum ustteki kurali daraltmak DEGIL (o 120 kullanimi dogru kurtariyor),
   yanina acik kapsayicilar icin bir istisna koymak. Ozgulluk esit (0,3,0),
   bu kural SONRA geldigi icin kazaniyor.

   `>` (DOGRUDAN COCUK) SART - ilk yazimimda yoktu ve AYNI GUN bir
   regresyon urettim: torun derinligi sinirsiz olunca katalogdaki
   secenek panelinde 10 KAT yukaridaki bir atanin `bg-*` sinifi yuzunden
   `.text-dark` kartlar #212529'a zorlandi ve koyu zeminde kontrast
   1,10'a dustu (kullanici bildirdi). Ustelik o ata GORSEL OLARAK ACIK
   DA DEGILDI - hesaplanan zemini rgb(40,40,40). Yani "sinifta `bg-light`
   geciyorsa yuzey aciktir" varsayimi iki ayri sekilde yanlis. Dogrudan
   cocuk sinirlamasi hedeflenen vakayi (acik hapin ICINDEKI tutar)
   koruyor, uzak torunlari birakiyor.
   --------------------------------------------------------------------------- */
[data-bs-theme="dark"] :is(.bg-light, .bg-white) > .text-dark {
    color: #212529 !important;
}


/* ===========================================================================
   BOOTSTRAP MODALI DA PANOLARLA AYNI RENKTE
   ===========================================================================
   Irfan: "modalin arka plani benim dedigim oldu mu, saat kontrolundeki
   sanki olmamis gibi".

   Haliydi: DeviceClockPanel ve musteri panosu kendi overlay'leri oldugu
   icin --e-pano-bg'ye baglanmisti, ama ayar modali BOOTSTRAP modali ve
   kendi degiskenini kullaniyordu. Olculen fark:
     ayar modali      rgb(33, 37, 41)   (Bootstrap --bs-modal-bg: #212529)
     cihaz saati pano rgb(15, 23, 42)   (#0f172a)
   Yani biri notr gri, oteki lacivert - yan yana acilinca ayrisiyordu.

   Bootstrap'in KENDI degiskenleri ezilir, `background` dogrudan degil:
   boylece Bootstrap'in kendi kurallari (kenarlik, baslik ayraci) tutarli
   kalir.

   PERDE AYRI YAZILIR: `.modal-backdrop` Bootstrap tarafindan <body>'nin
   altina eklenir, yani koyu temali kabin DISINDA kalir. Oradan
   var(--e-perde) okumak ACIK tema degerini verir (<html data-bs-theme=
   "light" - olctum). Bu yuzden deger burada acikca yazili.
   =========================================================================== */
[data-bs-theme="dark"] .modal-content {
    /* MODAL BIR TIK ACIK (07.11.2026). Olculdu: perdeli arka plan
       rgb(14), modal rgb(28) - ayrim 1,13, yani yuzeyden degil
       cerceve ve golgeden geliyordu.
       KOYULASTIRMA DENENDI VE ELENDI: rgb(10)'da ayrim 1,03'e
       DUSUYOR - arka plan zaten rgb(14), koyulasmak ona yaklasmak
       demek. Ayrica koyu arayuzde yukseklik "ustune daha cok isik
       duser" diye okunur; koyu yuzey CUKURDA durur, oysa modal en
       ustte.
       --e-yuzey-2 (rgb 40): ayrim 1,31, metin kontrasti 12,59. */
    /* Bir adim daha acildi (07.11.2026): --e-yuzey-2 (rgb 40) ile
       arka plana ayrim 1,31 idi, hala zayif geldi. --e-yuzey-3
       (rgb 48): ayrim 1,46, metin 11,27, ic girdi kutularinin
       ayrimi da 1,18 -> 1,28 iyilesiyor. */
    --bs-modal-bg: var(--e-yuzey-3);
    --bs-modal-border-color: var(--e-line);
    --bs-modal-header-border-color: var(--e-line);
    --bs-modal-footer-border-color: var(--e-line);
    /* Fieldset cercevesi ve `.border` yardimci sinifi Bootstrap'in
       --bs-border-color'undan besleniyor: #495057, NOTR GRI. Lacivert
       yuzeyin (#0f172a) uzerinde yabanci duruyordu - 11 fieldset'in
       hepsi. Tablo cercevesiyle ayni mavimsi cizgiye baglandi, boylece
       tek degisken hepsini birden duzeltiyor. */
    --bs-border-color: var(--e-kutu-line);
}

/* Yaricap merdiveni: modal 24px -> fieldset 14px -> girdi 14px.
   Fieldset 6px idi ve icindeki 14px girdilerin yaninda kirik
   duruyordu.
   `!important` SART: markup'ta Bootstrap'in `.rounded` yardimci sinifi
   var ve o da `!important` ile geliyor - ozgullukle yenilmiyor. */
[data-bs-theme="dark"] .modal-content fieldset {
    border-radius: var(--e-girdi-radius) !important;
}

/* Perde <body> altina ekleniyor; `data-bs-theme` artik <html> uzerinde
   de senkron tutuldugu icin (admin-component watcher) belirtec dogru
   temayi veriyor. Eskiden sabit yazilmak zorundaydi. */
.modal-backdrop,
.modal-backdrop.show {
    /* ELEMAN OPAKLIGI 1 OLMALI - ilk deneme burada tokezledi.
       Bootstrap `--bs-backdrop-opacity`'yi elemanin KENDI
       `opacity`'si olarak uyguluyor. opacity < 1 olunca tarayici
       bulaniklastirilmis katmani KESKIN sayfayla harmanliyor:
       blur uygulaniyor ama arkasindan %45 keskin goruntu geciyor
       ve "hicbir sey degismemis" gibi duruyor (canlida olculdu
       07.11.2026 - opacity .55, blur(6px), sonuc neredeyse keskin).
       Koyuluk artik ZEMIN RENGININ ALFASINDAN geliyor, eleman tam
       opak kaliyor ve blur temiz uygulaniyor. */
    --bs-backdrop-opacity: 1;
    --bs-backdrop-bg: var(--e-perde-blur, rgba(10, 10, 10, .55));
    /* 4 px, 8 DEGIL. Yan yana bakildi (07.11.2026): 8 px'te arkadaki
       restoran logolari taninmaz lekeye donuyordu - o noktada blur,
       karartmanin zaten yaptigi isi tekrarliyor ve arka plan SILINMIS
       oluyor. Bulanik perdenin amaci yok etmek degil DERINLIK vermek:
       "sayfa hala orada, ama odak burada". 4 px detayi aliyor, sekli
       birakiyor. Ayrica tam ekran backdrop-filter ucuz degil, yaricap
       kucuk olani tercih edilir. */
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Saydamlik azaltma tercihi: bulanikligi birak, perdeyi KOYULAT.
   Blur'u kaldirip opakligi .55'te birakmak arka plani okunur
   yapardi - odak kaybi, yani tercihin amacinin tersi. */
@media (prefers-reduced-transparency: reduce) {
    .modal-backdrop,
    .modal-backdrop.show {
        --bs-backdrop-opacity: 1;
        --bs-backdrop-bg: rgba(10, 10, 10, .85);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}


/* ===========================================================================
   BOOTSTRAP'IN YUZEY RAMPASI
   ===========================================================================
   Irfan: ayar modalindaki ic tablolarin ("Secili diller", cihaz listesi,
   POS, APK) rengi uyumsuz.

   Olculen sebep: modalin kendi zemini --e-pano-bg ile lacivert (#0f172a)
   yapildi ama Bootstrap'in ICERIDE boyadigi her yuzey hala kendi NOTR
   GRI rampasindan geliyordu:
       --bs-body-bg       #212529
       --bs-tertiary-bg   #2b3035
       --bs-secondary-bg  #343a40
   Kart basligi, tablo seridi, liste grubu ve bos-durum bloklari bu
   degiskenleri okuyor - yani lacivert bir yuzeyin uzerinde gri bantlar
   cikiyordu.

   Tek tek bilesen avlamak yerine rampanin KENDISI lacivert karsiligina
   cekildi. Bu bir renk DEGISIKLIGI degil, ayni merdivenin dogru hueda
   yazilmis hali: Bootstrap'in kendi katmanlama mantigi aynen calisir.
   =========================================================================== */
/* Secici BILEREK iki kez yazildi: Bootstrap ayni ozellikleri ayni
   `[data-bs-theme="dark"]` secicisiyle tanimliyor ve app.css bu
   dosyadan SONRA yukleniyor - esit ozgullukte sonraki kazaniyor, yani
   tek yazimda kural SESSIZCE etkisiz kaliyordu (olculdu: --bs-body-bg
   #212529 olarak kaldi). Nitelik tekrari ozgullugu (0,2,0) yapar ve
   yukleme sirasindan bagimsiz kazanir. */
[data-bs-theme="dark"][data-bs-theme="dark"] {
    /* `-rgb` TUREVLERI 07.11.2026'DA DUZELTILDI.
       Degerler LACIVERT kalmisti (15,23,42 / 23,33,56 / 30,42,68) -
       06.11.2026'daki lacivert -> notr palet gecisinde yalniz token'li
       satirlar guncellenmis, rgb ucluleri atlanmisti. Fark gorunmuyordu
       cunku iki satir AYNI seyin iki yazimi DEGIL: Bootstrap yuzeyi
       `--bs-body-bg`den, `.bg-body-*` YARDIMCI SINIFLARI ise
       `rgba(var(--bs-*-bg-rgb), var(--bs-bg-opacity))`den okuyor. Yani
       ayni ekranda token'li yuzeyler notr, yardimci sinifli yuzeyler
       LACIVERT ciziliyordu - katalogdaki Secenekler paneli
       (`.bg-body-tertiary`) tam bu yuzden mavi kaldi.
       Degerler artik `--e-yuzey-*` ile BIREBIR ayni:
       #1c1c1c=28,28,28  #282828=40,40,40  #313131=49,49,49.
       Yeni bir yuzey tonu eklerken IKISINI BIRDEN guncelleyin. */
    --bs-body-bg:         var(--e-yuzey-1);
    --bs-body-bg-rgb:     28, 28, 28;
    --bs-tertiary-bg:     var(--e-yuzey-2);
    --bs-tertiary-bg-rgb: 40, 40, 40;
    --bs-secondary-bg:    var(--e-yuzey-3);
    --bs-secondary-bg-rgb:49, 49, 49;
    /* Kart ve liste grubu kendi degiskenlerini --bs-body-bg'den
       turetiyor ama bazi surumlerde sabit yaziliyor - acikca verildi. */
    --bs-card-bg:         var(--e-yuzey-1);
    --bs-list-group-bg:   var(--e-yuzey-1);
    /* `.alert-secondary` bu degiskeni okuyor; notr gri kaliyordu. */
    --bs-secondary-bg-subtle: var(--e-yuzey-2);
}


/* ===========================================================================
   KAYDIRMA CUBUGU
   ===========================================================================
   Ayar modalinin govdesi isletim sisteminin kalin varsayilan cubugunu
   kullaniyordu; lacivert yuzeyin yaninda kaba duruyordu.

   Kalip UYDURULMADI: restoran panelindeki `.catalog-scroll` zaten ince
   bir cubuk kullaniyor (8px, rgba(104,146,224,.42) tutamak, yuvarlak).
   Ayni degerler modal govdesine, kaydirilan panolara ve tablo
   sarmallarina verildi - panelde tek bir cubuk gorunumu olsun.

   Firefox `scrollbar-width`/`scrollbar-color`, Chrome/Safari
   `::-webkit-scrollbar` kullanir; ikisi de yazildi.
   =========================================================================== */
[data-bs-theme="dark"] .modal-body,
[data-bs-theme="dark"] .table-responsive,
.dcp-box .dcp-body,
.musteri-pano,
.pos-table-wrap {
    scrollbar-width: thin;
    /* NOTRLENDI (07.11.2026). Palet turunda tokens.css'te yalniz
       `--e-*` TANIMLARI cevrilmisti; bunlar duz CSS kurallari
       oldugu icin hic dokunulmadi ve cubuk mavi kaldi. */
    scrollbar-color: rgba(164, 164, 164, .42) transparent;
}

[data-bs-theme="dark"] .modal-body::-webkit-scrollbar,
[data-bs-theme="dark"] .table-responsive::-webkit-scrollbar,
.dcp-box .dcp-body::-webkit-scrollbar,
.musteri-pano::-webkit-scrollbar,
.pos-table-wrap::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-track,
[data-bs-theme="dark"] .table-responsive::-webkit-scrollbar-track,
.dcp-box .dcp-body::-webkit-scrollbar-track,
.musteri-pano::-webkit-scrollbar-track,
.pos-table-wrap::-webkit-scrollbar-track {
    background: transparent;
}

[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-thumb,
[data-bs-theme="dark"] .table-responsive::-webkit-scrollbar-thumb,
.dcp-box .dcp-body::-webkit-scrollbar-thumb,
.musteri-pano::-webkit-scrollbar-thumb,
.pos-table-wrap::-webkit-scrollbar-thumb {
    background: rgba(164, 164, 164, .32);
    border-radius: 999px;
}

[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-thumb:hover,
[data-bs-theme="dark"] .table-responsive::-webkit-scrollbar-thumb:hover,
.dcp-box .dcp-body::-webkit-scrollbar-thumb:hover,
.musteri-pano::-webkit-scrollbar-thumb:hover,
.pos-table-wrap::-webkit-scrollbar-thumb:hover {
    background: rgba(164, 164, 164, .55);
}

/* Kose karesi: iki cubuk kesistiginde cikan kutu, saydam kalsin. */
[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-corner,
[data-bs-theme="dark"] .table-responsive::-webkit-scrollbar-corner,
.pos-table-wrap::-webkit-scrollbar-corner {
    background: transparent;
}


/* ===========================================================================
   BOOTSTRAP YARICAP DEGISKENLERI
   ===========================================================================
   Dugme, girdi, kart, modal, alert, dropdown ve liste grubu yaricaplarini
   Bootstrap kendi degiskenlerinden turetiyor. Bilesenleri tek tek
   ezmek yerine kaynak degiskenler olcege baglandi.

   Secici BILEREK iki kez yazildi: Bootstrap ayni ozellikleri `:root`
   uzerinde tanimliyor ve app.css bu dosyadan SONRA yukleniyor - esit
   ozgullukte sonraki kazanir.
   =========================================================================== */
:root:root {
    --bs-border-radius:     var(--e-r-md);
    --bs-border-radius-sm:  var(--e-r-sm);
    --bs-border-radius-lg:  var(--e-r-lg);
    --bs-border-radius-xl:  var(--e-r-lg);
    --bs-border-radius-xxl: var(--e-r-lg);
}

/* Modal 24px ile aciliyordu - kap katmaninin iki katindan fazla. */
.modal-content {
    --bs-modal-border-radius:       var(--e-r-lg);
    --bs-modal-inner-border-radius: var(--e-r-lg);
    border-radius: var(--e-r-lg);
}


/* --- Boyut varyantlari da ayni yaricapta ----------------------------
   Bootstrap `.btn-sm`e sm, `.btn-lg`e lg yaricap veriyor; yan yana
   duran normal ve kucuk dugme 6px/4px ile farkli cikiyordu (olculdu:
   117 dugme 4px'te kalmisti). Yaricap boyutla DEGISMEZ - denetim
   katmani tek deger.

   Onay kutusu Bootstrap'te `0.25em`, yani YAZI BOYUTUNA bagli: 14,4px
   yazida 3,6px cikiyordu. Sabit olcege alindi.                       */
.btn-sm, .btn-group-sm > .btn,
.btn-lg, .btn-group-lg > .btn {
    --bs-btn-border-radius: var(--e-r-md);
}
.form-control-sm, .form-select-sm,
.form-control-lg, .form-select-lg {
    border-radius: var(--e-r-md);
}
/* `:root` oneki ozgulluk icin: Bootstrap ayni secicinin aynisini
   kullaniyor ve app.css sonra yukleniyor. */
:root .form-check-input[type="checkbox"] {
    border-radius: var(--e-r-sm);
}

/* ANAHTAR (form-switch) OLCEK DISINDA - hap bicimi korunuyor.
   Bir anahtar teknik olarak `input[type=checkbox]` oldugu icin
   yukaridaki kural onu da yakaliyordu ve 36px genisligindeki anahtar
   4px koseli cikiyordu (olculdu). Bootstrap'in kendi degeri `2em`;
   onun kurali (0,2,0), yukaridaki (0,3,0) oldugu icin eziliyordu.
   Burada ozgulluk (0,4,0) - anahtar her durumda hap kaliyor.
   Radyo dugmeleri zaten etkilenmiyor: kural yalniz [type=checkbox]. */
:root .form-switch .form-check-input[type="checkbox"] {
    border-radius: 2em;
}


/* NOT: burada bir donem `[data-bs-theme="light"] .text-white` kurali
   vardi, KALDIRILDI. Ust menu (.sticky-top.bd-gradient.text-white)
   koyu temali kabin DISINDA, <html data-bs-theme="light"> altinda
   duruyor - yani kural KOYU temada da eslesip menu yazilarini
   karartiyordu (uretimde goruldu). Acik temada beyaz metin sorunu,
   ust menunun KENDI kuralinda cozulmeli; genel bir yardimci-sinif
   ezmesiyle degil. */


/* ===========================================================================
   ACIK TEMA - DURUM (28.10.2026: CALISIR)
   ===========================================================================
   Tema anahtari artik iki yerde senkron:
     1. Panel koku (`admin-component.vue` sablonu) - ekranlar ve UST MENU
        bu kapsamda.
     2. `<html>` (admin-component watcher) - `body`, `.modal-backdrop`
        ve Bootstrap'in <body> altina ekledigi her sey icin.

   Blade'de `<html data-bs-theme="light">` SABIT yaziliydi; watcher onu
   gercek temayla degistiriyor.

   OGRENILENLER (ikisi de uretimde goruldu ve geri alindi):
   - Ust menuyu belirtece baglamak, tema kapsamini genisletmeden
     yapilamaz: menu BEYAZ olup yazilari kayboldu.
   - GENEL bir `.text-white` / `.text-dark` ezmesi YAZMAYIN. Denendi,
     koyu temadaki ust menuyu de yakalayip yazilari karartti. Eleman
     bazinda cozun (ornek: `body.text-white`).

   Dogrulandi: sekiz sayfa + ayar modali, her iki temada okunmaz metin 0.
   =========================================================================== */


/* ===========================================================================
   ACIK TEMA DUZELTME KATMANI
   ===========================================================================
   `data-bs-theme` admin kok elemanina tasindiktan sonra (bkz.
   admin-component.vue) yuzeyler belirtecleri dogru okuyor, ama METIN ve
   birkac tonlu zemin hala KOYU TEMA icin yazilmis sabit degerlerde
   kaliyordu. Olculen dort nokta:

     ust menu      zemin acik  / metin #fff  -> gorunmuyor
     menu linki    metin rgb(220,230,255)    -> gorunmuyor
     serit         zemin acik  / metin #fff  -> gorunmuyor
     serit dugmesi zemin rgba(20,44,79,.36)  -> acik zeminde koyu leke
     stat / cip    acik tonlu zemin + #fff   -> gorunmuyor

   Bu blok YALNIZCA acik temada uygulanir; koyu tema hic etkilenmez.
   Kaynak kurallari (vuecomponent.css, Stores.vue) degistirmek yerine
   burada kapsamli bir katman yazmak bilerek secildi: o kurallar koyu
   tema icin DOGRU ve calisiyor.
   =========================================================================== */

/* --- Ust menu --- */
[data-bs-theme="light"] .admin-dashboard-shell .sticky-top.bd-gradient.text-white,
[data-bs-theme="light"] .admin-dashboard-shell .sticky-top .nav-link,
[data-bs-theme="light"] .admin-dashboard-shell .sticky-top .navbar-brand {
    color: var(--e-text) !important;
}
[data-bs-theme="light"] .admin-dashboard-shell .sticky-top .nav-link:hover {
    color: var(--e-text-strong) !important;
}

/* --- Baslik seridi --- */
[data-bs-theme="light"] .admin-dashboard-shell .container-fluid.p-0 > .navbar.flex-wrap,
[data-bs-theme="light"] .e-baslik {
    color: var(--e-text);
}
[data-bs-theme="light"] .e-baslik h1,
[data-bs-theme="light"] .e-baslik h2,
[data-bs-theme="light"] .e-baslik h3,
[data-bs-theme="light"] .e-baslik h4,
[data-bs-theme="light"] .e-baslik h5,
[data-bs-theme="light"] .admin-dashboard-shell .container-fluid.p-0 > .navbar.flex-wrap .navbar-brand {
    color: var(--e-text-strong) !important;
}

/* Serit dugmeleri: koyu temada koyu lacivert dolgu + acik mavi yazi;
   acik temada tersi gerekiyor. */
[data-bs-theme="light"] .admin-dashboard-shell .container-fluid.p-0 > .navbar.flex-wrap .btn-outline-primary {
    background: transparent !important;
    background-color: transparent !important;
    border-color: var(--e-girdi-line) !important;
    color: var(--e-accent) !important;
}
[data-bs-theme="light"] .admin-dashboard-shell .container-fluid.p-0 > .navbar.flex-wrap .btn-outline-primary:hover {
    background-color: var(--e-accent-soft) !important;
    color: var(--e-accent) !important;
}

/* --- Filtre cipleri ---
   Tonlu zemin acik temada ZATEN acik; uzerindeki beyaz metin gorunmez.
   Dolgulu olan (`.active` cip) artik ALTIN zeminli ve kendi yazi rengini
   tema basina veriyor - o disarida birakiliyor.
   NOT: burada `.stat-card` kurallari da vardi; istatistik kartlari
   06.11.2026'da kaldirildi (ciplerle birebir tekrar ediyorlardi). */
[data-bs-theme="light"] .filter-chip:not(.active) {
    color: var(--e-text);
}


/* Govde metni: `body` uzerinde `text-white` sinifi var (blade'den) ve
   acik temada her sey beyaz basliyor. YALNIZ govde hedefleniyor -
   genel bir `.text-white` ezmesi daha once koyu temadaki ust menuyu de
   yakalayip yazilari karartmisti. */
[data-bs-theme="light"] body.text-white {
    color: var(--e-text) !important;
}


/* ===========================================================================
   KOYU TEMADA `.btn-outline-dark`
   ===========================================================================
   Bootstrap bu varyanta `--bs-btn-color: #212529` veriyor - koyu panelin
   uzerinde metin neredeyse zeminle ayni (olculdu: yazi rgb(33,37,41) /
   pano rgb(15,23,42)). Lisans sekmesindeki sure dugmeleri boyle
   okunmuyordu.

   Panelde 35 kullanim var, tek tek degistirmek yerine Bootstrap'in KENDI
   degiskenleri eziliyor.

   `:not(.btn-light)` SART: `btn-light btn-outline-dark` birlesimi ACIK
   dolgulu bir dugme demek, orada koyu metin DOGRU.
   =========================================================================== */
[data-bs-theme="dark"] .btn-outline-dark:not(.btn-light) {
    --bs-btn-color: var(--e-text);
    --bs-btn-border-color: var(--e-line);
    --bs-btn-hover-color: var(--e-text-strong);
    --bs-btn-hover-bg: var(--e-lift-2);
    --bs-btn-hover-border-color: var(--e-kutu-line);
    --bs-btn-active-color: var(--e-text-strong);
    --bs-btn-active-bg: var(--e-lift-2);
    --bs-btn-active-border-color: var(--e-kutu-line);
}


/* ===========================================================================
   KOYU TEMADA `.btn-outline-secondary`
   ===========================================================================
   AYNI AILEDEN BIR SORUN, `btn-outline-dark` kadar goze batmadigi icin
   ilk turda atlandi. Bootstrap bu varyanta `--bs-btn-color: #6c757d`
   (gray-600) veriyor ve bu deger koyu temada FLIP ETMIYOR. Panonun
   uzerinde olculdu: **kontrast 3,81** - AA esigi 4,5, yani dugme
   "okunmuyor" degil ama SONUK; kullanici DEVRE DISI saniyor. Fatura
   ekranindaki "Yenile" dugmesi tam bu yuzden pasif gorunuyordu
   (`disabled` DEGILDI - olculdu). Kiyas: ayni paneldeki "Tekrar gonder"
   dugmesi 7,06.

   Panelde **82 kullanim** var - tek tek degistirmek yerine Bootstrap'in
   KENDI degiskenleri eziliyor, `btn-outline-dark`'ta oldugu gibi.

   Yalniz KOYU temada: acik temada #6c757d beyaz uzerinde zaten 4,7
   veriyor, dokunmaya gerek yok ve dokunmak orayi bozardi.
   =========================================================================== */
[data-bs-theme="dark"] .btn-outline-secondary {
    --bs-btn-color: var(--e-text-muted);
    --bs-btn-border-color: var(--e-line);
    --bs-btn-hover-color: var(--e-text-strong);
    --bs-btn-hover-bg: var(--e-lift-2);
    --bs-btn-hover-border-color: var(--e-kutu-line);
    --bs-btn-active-color: var(--e-text-strong);
    --bs-btn-active-bg: var(--e-lift-2);
    --bs-btn-active-border-color: var(--e-kutu-line);
}


/* ===========================================================================
   KOYU TEMADA `.badge.border` (10.11.2026, kullanici "borderlar silik mi
   olmali" diye sordu - olculdu, cevap HAYIR ama BIR ISTISNA var)

   Olcum (katalog, koyu tema): ekranda 2377 kenarlik var ve dagilimi su:
     rgba(255,255,255,.07)  2169 adet  kontrast 1,22   <- ev cizgisi
     rgba(255,255,255,.15)   100 adet  kontrast 1,59
     #495057 (Bootstrap)      20 adet  kontrast 1,80   <- TEK AYKIRI
   Ev cizgisi ACIK TEMAYLA ZATEN DENGELI (acik `--e-line`
   rgba(28,28,28,.10) beyaz uzerinde 1,23), yani topluca siliklestirmek
   yanlis olurdu - 1px cizgi 1,2'nin altinda fiilen kayboluyor.

   Aykiri olanlar OZEL FIYAT rozetleri ("A Emporter 12,00 EUR",
   "Promotion 8,00 EUR"...): Bootstrap'in genel `.border` yardimcisini
   kullaniyorlar, o da `--bs-border-color` (#495057) veriyor - ayni
   ekrandaki her seyden belirgin daha guclu. Ekranda "bazi kenarliklar
   daha kalin" hissini veren bunlar.

   `--bs-border-color`i TOPLUCA EZMEK YANLIS OLURDU: AGENTS'ta kayitli
   olcume gore o renkteki kenarliklarin cogu `INPUT.form-control`
   kenarligi ve girdi kenarligi GORUNMELI. Bu yuzden secici
   `.badge.border` ile DAR tutuldu.

   ACIK TEMAYA DOKUNULMADI: orada `.border` zaten #dee2e6, beyaz
   uzerinde ~1,1 - yani sorun yok.
   =========================================================================== */
[data-bs-theme="dark"] .badge.border {
    /* `!important` SART: Bootstrap'in `.border` yardimcisi kisa yazimla
       ve `!important` ile geliyor (`border: ... var(--bs-border-color)
       !important`), yani onemsiz bir `border-color` SESSIZCE kaybediyor.
       Ilk yazimimda yoktu; dagitim "TAMAM" dedi, `tokens.css` yeni
       surumle yuklendi ve kenarlik yine #495057 kaldi - olcmeseydim
       "duzeldi" diye gececektim. */
    border-color: var(--e-ic-line) !important;
}


/* ===========================================================================
   ACIK TEMADA `btn-outline-*` METIN RENGI (10.11.2026, kullanici istegi)

   Bootstrap `btn-outline-X`in DURAGAN metnini `--bs-X` ile boyuyor, yani
   markanin KENDI rengiyle. Bu depodaki palet acik ve doygun
   (`--bs-primary:#00aeef`, `--bs-success:#00bf8b`), dolayisiyla ACIK
   zeminde yazi okunmuyor. Ayar modalinda olculdu (10.11.2026, acik tema):

     btn-outline-primary    #00aeef -> 2,40
     btn-outline-success    #00bf8b -> 2,27
     btn-outline-secondary  #6c757d -> 4,45   (esigin 0,05 altinda)

   KOYU TEMAYA DOKUNULMUYOR: orada ayni renkler 4,55-5,47 ile zaten
   geciyor (A/B ile olculdu). Alttaki `[data-bs-theme="dark"]` kurali da
   yerinde duruyor.

   DEGER UYDURULMADI: Bootstrap bu paletten kendi okunur varyantlarini
   zaten uretiyor (`--bs-primary-text-emphasis:#004660`,
   `--bs-success-text-emphasis:#004c38`,
   `--bs-secondary-text-emphasis:#2b2f32`). Sabit hex yazmak yerine onlari
   kullanmak iki sey kazandiriyor: (1) marka paleti degisirse bunlar
   KENDILIGINDEN takip eder - bu depoda "sabit hex flip etmiyor"
   tekrarlayan bir ariza sinifi; (2) ton ailesi korunur.
   Olculdu (en zor zemin `--e-ic-vurgu-bg` acik = #fff7e3):
   primary 9,61 / success 9,31 / secondary 12,6.

   YALNIZ `--bs-btn-color` eziliyor:
   - KENARLIK marka renginde KALIYOR (`--bs-btn-border-color`), yani
     dugme hala markayi tasiyor - kimlik yazida degil cercevede.
   - HOVER'a dokunulmuyor: Bootstrap hover'da dugmeyi marka rengiyle
     DOLDURUP yaziyi beyaz yapiyor, o zaten okunur.

   OZGULLUK: (0,2,0). Daha ozgul mevcut kurallar - `.e-baslik`,
   admin navbar - BILEREK kazanmaya devam ediyor, onlarin kasitli
   stili bozulmasin diye.
   =========================================================================== */
[data-bs-theme="light"] .btn-outline-primary {
    --bs-btn-color: var(--bs-primary-text-emphasis);
}

[data-bs-theme="light"] .btn-outline-success {
    --bs-btn-color: var(--bs-success-text-emphasis);
}

[data-bs-theme="light"] .btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary-text-emphasis);
}

/* ===========================================================================
   KOYU TEMA - VURGU DOYGUNLUGU VE YUZEY AYRIMI (10.11.2026)

   Kullanici: "katalogda koyu tema hala iyi degil gozu cok yoruyor."

   OLCULDU (magaza 21, katalog, koyu tema):
     - 843 oge TAM DOYGUNLUKTA (s = 1,00) boyaniyordu:
         #00bf8b yesil  -> 565 `.text-success` + 582 `.btn-outline-success`
         #ff4b4b kirmizi -> 228 `.text-danger`  + 519 `.btn-danger`
       Hicbiri kontrast HATASI degildi (hepsi AA ustu). Sorun kontrast
       degil DOYGUNLUK: koyu zeminde tam doygun renk gozu yorar, ve
       kirmizi ile yesil karsit renk oldugu icin yan yana dururken goz
       ikisini ayni anda odaklayamaz.
     - Yuzeyler tek duzlemdi: pano gradyani #121212 -> #1c1c1c, kartlar da
       #1c1c1c, yani sayfanin ALTINDA kart ile zemin BIREBIR AYNI.

   NE YAPILMADI, NEDEN:
     - `$green` / `$red` (resources/sass/_variables.scss) DEGISTIRILMEDI:
       tema geneli, acik temayi da besliyor. Koyu temaya ezme eklemek
       acik temanin regresyon yuzeyini SIFIR birakiyor (06.11 kalibi).
     - `--bs-success` / `--bs-danger` DEGISKENLERI de ezilmedi. Olculdu:
       dolu dugmeler ZATEN AA altinda (beyaz/#00bf8b = 2,38,
       beyaz/#ff4b4b = 3,30) ve yeni renklerle 2,21 / 3,09 olurdu, yani
       mevcut bir kusur BIRAZ daha kotulesirdi. Ezme bu yuzden ikon ve
       outline kullanimlariyla SINIRLI. Dolu dugme kusuru AYRI bir is -
       dogru cozumu rengi degil YAZI rengini duzeltmek (koyu yazi ayni
       zeminlerde 6,98 / 4,99 veriyor, yani AA'yi gecer).
     - Govde metnine DOKUNULMADI. Ilk denemede `--bs-body-color` topluca
       yumusatilmak istendi; olcum tersini gosterdi - govde zaten
       #adb5bd / 7,11 ile rahat ve o degisiklik 52 ogeyi 13'e CIKARIYORDU.
     - Kategori adlari ve ust menu kullanici karariyla DISARIDA birakildi.

   SONUC (A/B, ayni DOM):
     tam doygun oge   3073 -> 201      (ayni tarama, gizli ogeler dahil)
     yuzey ayrimi     1,10 -> 1,18
     AA alti metin       0 -> 0
     govde metni (52 oge, 7,11) DEGISMEDI
     dolu .btn-success kontrasti 2,38 -> 2,38 (dokunulmadi)

   Renkler ton KORUNARAK uretildi (yalniz doygunluk/parlaklik):
     yesil   #00bf8b (h164 s1,00 l0,37) -> #47c2a1 (h164 s0,50 l0,52)
             kart uzerinde 7,16 -> 7,71
     kirmizi #ff4b4b (h0   s1,00 l0,65) -> #dc7474 (h0   s0,60 l0,66)
             kart uzerinde 5,16 -> 5,51
   Yani kontrast DUSMUYOR, hafifce ARTIYOR - doygunluk inerken parlaklik
   biraz yukseldigi icin. Renk kodlamasi da duruyor: yesil yine yesil.

   `!important` SART: `.text-*` Bootstrap YARDIMCI SINIFI ve kendisi
   `!important` ile geliyor (10.11, `.badge.border` vakasinda ayni tuzaga
   dusuldu - dagitim "TAMAM" dedi, kural sessizce etkisiz kaldi).

   Degiskenler ELEMANIN KENDI kuralinda eziliyor, ATADA degil: Bootstrap
   `--bs-card-bg`i `.card` kuralinda tanimliyor ve oraya daha yakin, yani
   `[data-bs-theme="dark"]` uzerine yazmak SESSIZCE kaybeder (07.11'de
   `--bs-list-group-border-color` ile ayni tuzak yasandi; burada da once
   atada denendi ve kart rgb(28,28,28) kaldi).

   Nitelik TEKRARI (0,2,0): `app.css` ve `vuecomponent.css` bu dosyadan
   SONRA yukleniyor, esit ozgullukte kaybederdik.

   Cip kenarliklari ETKILENMIYOR: `vuecomponent.css`teki
   `div.btn-outline-success` kurali `border-color`u `!important` ile
   notre cekiyor ve kisa yazim degiskenden once gelir - cipler notr
   kaliyor, GERCEK eylem dugmeleri (BUTTON) yeni yesil cerceveyi aliyor.
   Bu 07.11'deki bilincli ayrim, korundu.

   Hover: Bootstrap outline dugmede hover zemini vurgu rengi, yazisi
   BEYAZ yapiyor - bu bugun de AA altinda (beyaz/#00bf8b = 2,38). Hover
   yazisi koyuya cekildi, yani hover ARTIK GECIYOR (6,98 / 4,99).
   =========================================================================== */

[data-bs-theme="dark"][data-bs-theme="dark"] .text-success { color: #47c2a1 !important; }
[data-bs-theme="dark"][data-bs-theme="dark"] .text-danger  { color: #dc7474 !important; }

/* AKTIF/SECILI DURUM DA SART. Ilk turda yalniz `hover` yazildi ve
   `--bs-btn-active-*` Bootstrap'in kendi degerinde kaldi: secili
   `btn-check` etiketleri ESKI tam doygun yesili zemin olarak
   kullanmaya devam etti (olculdu: 7 `LABEL.btn-outline-success`,
   rgb(0,191,139)). Yani normal #47c2a1, hover #47c2a1, aktif #00bf8b -
   tutarsizlik DEGISIKLIGIN KENDISI tarafindan yaratilmisti.
   AGENTS.md'de kayitli: "ayni rengi yazan IKINCI kural neredeyse HER
   ZAMAN var" - bir rengi degistirip "bitti" demeyin, kalan eslesmeyi
   SAYIN (burada 843 -> 21, kalan 14'u dolu dugme/rozet ve onlar AYRI
   bir is: bkz. ustteki dolu dugme notu). */
[data-bs-theme="dark"][data-bs-theme="dark"] .btn-outline-success {
    --bs-btn-color: #47c2a1;
    --bs-btn-border-color: #47c2a1;
    --bs-btn-hover-bg: #47c2a1;
    --bs-btn-hover-border-color: #47c2a1;
    --bs-btn-hover-color: #212529;
    --bs-btn-active-bg: #47c2a1;
    --bs-btn-active-border-color: #47c2a1;
}

[data-bs-theme="dark"][data-bs-theme="dark"] .btn-outline-danger {
    --bs-btn-color: #dc7474;
    --bs-btn-border-color: #dc7474;
    --bs-btn-hover-bg: #dc7474;
    --bs-btn-hover-border-color: #dc7474;
    --bs-btn-hover-color: #212529;
    --bs-btn-active-bg: #dc7474;
    --bs-btn-active-border-color: #dc7474;
}

/* Yuzey ayrimi: 28 -> 34. Degisken ogenin KENDI kuralinda. */
[data-bs-theme="dark"][data-bs-theme="dark"] .card          { --bs-card-bg: #222222; }
[data-bs-theme="dark"][data-bs-theme="dark"] .accordion     { --bs-accordion-bg: #222222; }
[data-bs-theme="dark"][data-bs-theme="dark"] .accordion-item{ --bs-accordion-bg: #222222; background-color: #222222; }
[data-bs-theme="dark"][data-bs-theme="dark"] .list-group    { --bs-list-group-bg: #222222; }

/* ===========================================================================
   KOYU TEMA - DOLU DUGMELER, ROZETLER, MODAL BASLIKLARI (10.11.2026)

   Onceki tur ikon/outline kullanimlarini sakinlestirmis, dolu dugmeleri
   BILEREK disarida birakmisti: oradaki sorun doygunluk DEGIL, YAZI
   RENGIYDI ve rengi tek basina degistirmek durumu kotulestirirdi.

   OLCULEN BASLANGIC (koyu tema, magaza 21):
     .btn-success   beyaz yazi / #00bf8b -> 2,38   (AA esigi 4,5)
     .btn-danger    beyaz yazi / #ff4b4b -> 3,30
     .bg-success    (modal basligi) ayni  -> 2,38
     .badge.bg-success                     -> 2,38
   Yani bu dugmeler BUGUN okunmuyordu; mevcut bir kusurdu, bu turda
   getirilmedi.

   KONTRAST TABLOSU (olculdu, karar bunun uzerine kuruldu):
     zemin      beyaz yazi    koyu yazi (#212529)
     #00bf8b       2,38          6,48
     #47c2a1       2,21          6,98
     #ff4b4b       3,30          4,67
     #dc7474       3,09          4,99
   Dort zeminde de cozum YAZI RENGI. Zemin de sakinlestirildi, cunku
   panelin geri kalani zaten #47c2a1/#dc7474'e gecmisti ve kirmizida
   koyu yazi #ff4b4b uzerinde 4,67 (esige 0,17 uzak), #dc7474 uzerinde
   4,99 - yani sakinlestirmek ayni zamanda PAYI buyutuyor.

   HOVER KOYULASTIRILMAZ, ACILIR. Bootstrap dolu dugmede hover zeminini
   KOYULASTIRIYOR; yazi koyu oldugu icin bu kontrasti DUSURUR. Olculdu:
   #c96565 (koyulastirilmis kirmizi) uzerinde koyu yazi 4,06 - yani
   varsayilan hover AA'dan DUSERDI. Hover acik tarafa alindi:
   #5ecbad (7,80) ve #e38a8a (6,07).

   `!important` ve `:is(...)` SART: bu ogelerde yazi rengi UC AYRI
   yerden gelebiliyor - `--bs-btn-color`, `.text-white` yardimci sinifi
   (kendisi `!important`), ve `.badge`in `--bs-badge-color`u. Ilk
   denemede yalniz ilk ikisi yazildi ve `.badge.bg-success` zemini
   degisip yazisi beyaz kaldigi icin 2,38'den **2,21'e DUSTU** - yani
   duzeltme o rozeti KOTULESTIRMISTI. Tarama bunu yakaladi: "zemini yeni
   renk olan HER oge" diye arayin, sinif adiyla degil.

   SONUC (A/B, ayni DOM): eski tam doygun renk tasiyan oge 14 -> 0,
   yeni zeminli 21 ogenin AA altinda olani 0, sayfa genelinde AA alti
   metin 0 -> 0 (regresyon yok).
   =========================================================================== */

[data-bs-theme="dark"][data-bs-theme="dark"] .btn-success {
    --bs-btn-bg: #47c2a1;
    --bs-btn-border-color: #47c2a1;
    --bs-btn-color: #212529;
    --bs-btn-hover-bg: #5ecbad;
    --bs-btn-hover-border-color: #5ecbad;
    --bs-btn-hover-color: #212529;
    --bs-btn-active-bg: #47c2a1;
    --bs-btn-active-border-color: #47c2a1;
    --bs-btn-active-color: #212529;
    --bs-btn-disabled-bg: #47c2a1;
    --bs-btn-disabled-border-color: #47c2a1;
    --bs-btn-disabled-color: #212529;
}

[data-bs-theme="dark"][data-bs-theme="dark"] .btn-danger {
    --bs-btn-bg: #dc7474;
    --bs-btn-border-color: #dc7474;
    --bs-btn-color: #212529;
    --bs-btn-hover-bg: #e38a8a;
    --bs-btn-hover-border-color: #e38a8a;
    --bs-btn-hover-color: #212529;
    --bs-btn-active-bg: #dc7474;
    --bs-btn-active-border-color: #dc7474;
    --bs-btn-active-color: #212529;
    --bs-btn-disabled-bg: #dc7474;
    --bs-btn-disabled-border-color: #dc7474;
    --bs-btn-disabled-color: #212529;
}

/* `.bg-*` yardimci sinifi `!important` ile geliyor, ezmek icin de gerekiyor. */
[data-bs-theme="dark"][data-bs-theme="dark"] .bg-success { background-color: #47c2a1 !important; }
[data-bs-theme="dark"][data-bs-theme="dark"] .bg-danger  { background-color: #dc7474 !important; }

/* REGRESYON DUZELTMESI (11.11.2026, kullanici bildirdi: "restoran kasada
   darkta kutu icindeki sayilar ve iconlar gozukmuyor").

   Bu kural 10.11.2026'da BUTUN rozetleri kapsiyordu (`.badge`), oysa dar
   olmaliydi: koyu yaziyi yalnizca zemini ACILAN iki rozet istiyor. Koyu
   zeminli rozetlerde (`.badge.bg-dark`) sonuc koyu-ustune-koyu oldu -
   olculdu: yazi rgb(33,37,41) / zemin rgb(33,37,41) = **kontrast 1,00**,
   yani kasa ekranindaki sayac, catal-bicak ikonu ve "N" rozeti EKRANDA
   HIC YOKTU. Bootstrap varsayilani `--bs-badge-color: #fff` ve `bg-dark`
   icin dogrusu oydu.

   Ders (AGENTS.md'de kardesi var): bir yardimci sinifin YAZI rengini
   degistirirken, o sinifin ZEMINI de bizim tarafimizdan mi boyaniyor diye
   sorun. `.bg-success`/`.bg-danger` zeminini biz acik vurguya cektik,
   `.bg-dark` zemini KOYU kaliyor - ucunu ayni kurala koymak ikisini
   duzeltip ucuncusunu korlestirdi.

   Olculdu (kasa ekrani, koyu tema): AA alti gorunur rozet 7 -> 0;
   `bg-dark` rozetleri 1,00 -> 15,43, `text-success` tasiyanlar 6,98'de
   degismeden kaldi. */
[data-bs-theme="dark"][data-bs-theme="dark"] .badge:is(.bg-success, .bg-danger) {
    --bs-badge-color: #212529;
}

[data-bs-theme="dark"][data-bs-theme="dark"] :is(.btn-success, .btn-danger, .bg-success, .bg-danger),
[data-bs-theme="dark"][data-bs-theme="dark"] :is(.bg-success, .bg-danger) :is(.text-white, .modal-title, .btn-close),
[data-bs-theme="dark"][data-bs-theme="dark"] :is(.btn-success, .btn-danger).text-white {
    color: #212529 !important;
}
