/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-1 — "Yıldız" şeması (AYRI TEMA, kurucu kararı 08.10)

   Kaynak : dokumanlar/09-uygulama-kayitlari/TEMA-YILDIZ-PAKET-NOTU-2026-10-08.md
            (§ 2 tasarım dili · § 3 belirteçler + okunurluk kararı · § 4 adım A-B-C)
   Tuval  : ham/yildiz-tuval/kaynak/*.dc.html (piksel referansı)

   ⚠ İZOLASYON İLKESİ (BAĞLAYICI): bu dosyadaki HER kural `data-sema="yildiz"`
     kapsamındadır (iki istisna aşağıda: @font-face ve prefers-reduced-motion
     bloğu da yine bu kapsamın içindedir). Seçici `:root`a genişletilirse 8 eski
     şemanın ekranı DEĞİŞİR — Yildiz1Testleri bunu kilitler.
   ⚠ Mevcut css dosyalarına DOKUNULMADI; belirteç tablosunu okuyan testler
     (BelirtecTablosu → belirtecler.css) Yıldız'ı görmez, Yıldız ölçümü
     Yildiz1Testleri'ndeki ayrı yükleyiciyle yapılır.
   ⚠ KÂĞIT MUAF: .belge*, .urun-etiket*, @media print bu dosyada YOK; kâğıt
     daima beyaz, mürekkep siyah (app.css kuralları aynen geçerli).
   ⚠ Okunurluk kararı (§ 3): büyük sayı ≥ 300 (tuvaldeki 200 KULLANILMAZ),
     gövde 400, 15 px altı 500.
   ⚠ Sabit renk yalnız ilk dört belirteç bloğundadır; kural gövdelerinde var().
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── A) INTER — vendor (CSP font-src 'self'; Google Fonts YASAK) ────────────
   Kaynak  : fonts.googleapis.com/css2?family=Inter:wght@200..600 → gstatic v20,
             `latin` ve `latin-ext` alt kümeleri (Türkçe ğ/ş/ı/İ latin-ext'te).
   Lisans  : SIL OFL 1.1 — wwwroot/font/OFL-Inter.txt
             (Copyright 2016 The Inter Project Authors).
   Biçim   : değişken woff2, 200-600 ağırlık. Tarayıcı dosyayı YALNIZ bir öğe
             "Inter" ailesini kullanınca indirir; başka şema seçiliyken inmez.
   YILDIZ-4A: dosyalar tuvalin istediği OPTİK BOYUTLU sürümle değiştirildi
             (css2?family=Inter:opsz,wght@14..32,200..600 → gstatic v20; aynı alt
             kümeler, aynı unicode aralıkları, aynı OFL). font-optical-sizing:auto
             ile 112 px rakam tuvaldeki "Display" kesimini alır. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 200 600;
  font-display: swap;
  src: url("/font/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                 U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                 U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 200 600;
  font-display: swap;
  src: url("/font/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── B) BELİRTEÇLER — AYDINLIK (kırık beyaz) ────────────────────────────────
   Not § 3 eşlemesi: --z→--yuzey/--yuzey-govde · --m→--metin · --s→--metin-soluk
   · --h→--ayrac · --p→--kenarlik · birincil düğme --vurgu=--m, --vurgu-metin=--z.
   Renk yalnız DURUM içindir: iyi yeşil, kötü kırmızı; uyarı sarısı YOK (uyarı
   metinle söylenir → --uyari nötr). Mavi/altın vurgu YOK. */
:root[data-sema="yildiz"] {
  --yuzey:                #F5F4F1;
  --yuzey-2:              #EDECE8;
  --yuzey-3:              #E6E4DF;
  --yuzey-govde:          #F5F4F1;
  --yuzey-hover:          #EAE9E4;
  --yuzey-secili:         #E4E2DD;
  --metin:                #141414;
  --metin-guclu:          #141414;
  --metin-soluk:          #66645F;
  --kenarlik:             #8A8780;
  --ayrac:                #DCDAD4;
  --vurgu:                #141414;
  --vurgu-guclu:          #141414;
  --vurgu-metin:          #F5F4F1;
  --vurgu-yuzey:          #E6E4DF;
  --vurgu-kenar:          #8A8780;
  --odak-halka:           #141414;
  --basari:               #1C6A3E;
  --basari-vurgu:         #1C6A3E;
  --basari-yuzey:         #E4EEE7;
  --basari-kenar:         #A6C6B3;
  --uyari:                #141414;
  --uyari-vurgu:          #66645F;
  --uyari-yuzey:          #EDECE8;
  --uyari-kenar:          #8A8780;
  --tehlike:              #AE2A22;
  --tehlike-vurgu:        #AE2A22;
  --tehlike-dolgu:        #AE2A22;
  --tehlike-dolgu-metin:  #F5F4F1;
  --tehlike-yuzey:        #F4E2DF;
  --tehlike-kenar:        #D8A39D;
  --bilgi:                #141414;
  --bilgi-vurgu:          #66645F;
  --bilgi-yuzey:          #E9E8E4;
  --bilgi-kenar:          #CFCDC6;
  --kenar-yuzey:          #F5F4F1;
  --kenar-yuzey-2:        #EDECE8;
  --kenar-metin:          #141414;
  --kenar-metin-guclu:    #141414;
  --kenar-ayrac:          #DCDAD4;
  --kenar-tehlike:        #AE2A22;
  --menu-baslik:          #66645F;
  --menu-aktif-yuzey:     #E4E2DD;
  --menu-aktif-metin:     #141414;
  --grafik-1:             #141414;
  --grafik-2:             #66645F;
  --grafik-3:             #1C6A3E;
  --grafik-4:             #AE2A22;
  --grafik-5:             #8A8780;
  --golge-sm:             none;
  --golge:                none;
  --golge-lg:             none;
  --golge-xl:             none;
  --yazi-ailesi:          "Inter", "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
  --yazi-marka:           "Inter", "Manrope", "Segoe UI", system-ui, sans-serif;
  color-scheme: light;
}

/* ── B) BELİRTEÇLER — KARANLIK, sistem tercihi (medya sorgusu) ─────────────
   ⚠ Karanlık iki blokta tanımlıdır ve DEĞERLERİ BİREBİR AYNI olmalıdır
   (belirtecler.css'teki aynı sözleşme; Yildiz1Testleri kilitler). */
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="aydinlik"])[data-sema="yildiz"] {
    --yuzey:                #000000;
    --yuzey-2:              #0B0B0B;
    --yuzey-3:              #161616;
    --yuzey-govde:          #000000;
    --yuzey-hover:          #121212;
    --yuzey-secili:         #1D1D1D;
    --metin:                #F3F2EF;
    --metin-guclu:          #F3F2EF;
    --metin-soluk:          #9A9893;
    --kenarlik:             #C9C6BE;
    --ayrac:                #2A2A2A;
    --vurgu:                #F3F2EF;
    --vurgu-guclu:          #F3F2EF;
    --vurgu-metin:          #000000;
    --vurgu-yuzey:          #161616;
    --vurgu-kenar:          #C9C6BE;
    --odak-halka:           #F3F2EF;
    --basari:               #9AD3AE;
    --basari-vurgu:         #9AD3AE;
    --basari-yuzey:         #0B1A11;
    --basari-kenar:         #2B5937;
    --uyari:                #F3F2EF;
    --uyari-vurgu:          #9A9893;
    --uyari-yuzey:          #121212;
    --uyari-kenar:          #C9C6BE;
    --tehlike:              #F0A49C;
    --tehlike-vurgu:        #F0A49C;
    --tehlike-dolgu:        #F0A49C;
    --tehlike-dolgu-metin:  #000000;
    --tehlike-yuzey:        #220D0B;
    --tehlike-kenar:        #6B2A25;
    --bilgi:                #F3F2EF;
    --bilgi-vurgu:          #9A9893;
    --bilgi-yuzey:          #121212;
    --bilgi-kenar:          #2A2A2A;
    --kenar-yuzey:          #000000;
    --kenar-yuzey-2:        #0B0B0B;
    --kenar-metin:          #F3F2EF;
    --kenar-metin-guclu:    #F3F2EF;
    --kenar-ayrac:          #2A2A2A;
    --kenar-tehlike:        #F0A49C;
    --menu-baslik:          #9A9893;
    --menu-aktif-yuzey:     #1D1D1D;
    --menu-aktif-metin:     #F3F2EF;
    --grafik-1:             #F3F2EF;
    --grafik-2:             #9A9893;
    --grafik-3:             #9AD3AE;
    --grafik-4:             #F0A49C;
    --grafik-5:             #C9C6BE;
    --golge-sm:             none;
    --golge:                none;
    --golge-lg:             none;
    --golge-xl:             none;
    color-scheme: dark;
  }
}

/* ── B) BELİRTEÇLER — KARANLIK, kullanıcı tercihi ───────────────────────── */
:root[data-tema="karanlik"][data-sema="yildiz"] {
  --yuzey:                #000000;
  --yuzey-2:              #0B0B0B;
  --yuzey-3:              #161616;
  --yuzey-govde:          #000000;
  --yuzey-hover:          #121212;
  --yuzey-secili:         #1D1D1D;
  --metin:                #F3F2EF;
  --metin-guclu:          #F3F2EF;
  --metin-soluk:          #9A9893;
  --kenarlik:             #C9C6BE;
  --ayrac:                #2A2A2A;
  --vurgu:                #F3F2EF;
  --vurgu-guclu:          #F3F2EF;
  --vurgu-metin:          #000000;
  --vurgu-yuzey:          #161616;
  --vurgu-kenar:          #C9C6BE;
  --odak-halka:           #F3F2EF;
  --basari:               #9AD3AE;
  --basari-vurgu:         #9AD3AE;
  --basari-yuzey:         #0B1A11;
  --basari-kenar:         #2B5937;
  --uyari:                #F3F2EF;
  --uyari-vurgu:          #9A9893;
  --uyari-yuzey:          #121212;
  --uyari-kenar:          #C9C6BE;
  --tehlike:              #F0A49C;
  --tehlike-vurgu:        #F0A49C;
  --tehlike-dolgu:        #F0A49C;
  --tehlike-dolgu-metin:  #000000;
  --tehlike-yuzey:        #220D0B;
  --tehlike-kenar:        #6B2A25;
  --bilgi:                #F3F2EF;
  --bilgi-vurgu:          #9A9893;
  --bilgi-yuzey:          #121212;
  --bilgi-kenar:          #2A2A2A;
  --kenar-yuzey:          #000000;
  --kenar-yuzey-2:        #0B0B0B;
  --kenar-metin:          #F3F2EF;
  --kenar-metin-guclu:    #F3F2EF;
  --kenar-ayrac:          #2A2A2A;
  --kenar-tehlike:        #F0A49C;
  --menu-baslik:          #9A9893;
  --menu-aktif-yuzey:     #1D1D1D;
  --menu-aktif-metin:     #F3F2EF;
  --grafik-1:             #F3F2EF;
  --grafik-2:             #9A9893;
  --grafik-3:             #9AD3AE;
  --grafik-4:             #F0A49C;
  --grafik-5:             #C9C6BE;
  --golge-sm:             none;
  --golge:                none;
  --golge-lg:             none;
  --golge-xl:             none;
  color-scheme: dark;
}

/* AMBLEM — belirteçler */
/* PAKET YILDIZ-AMBLEM-2 (EMİR-AMBLEM-YILDIZ-2026-10-10 § 5): tuval Amblem_sol / Amblem_sol_acik / Giris4 /
   Giris4a durak renkleri ve parlama rengi (--glow). Kural gövdeleri dosya sonundaki "AMBLEM" bloğundadır;
   sabit renk yalnız burada (Y1_10 / Y4A_32 / Y4B_31). Belirteçler taşın dış sarmalayıcısında (.amb-parla):
   duraklar ve süzgeç onun içinde/üstünde çözülür. --amb-sifir = tuvaldeki rgba(255,255,255,0) (söner). */
html:root[data-sema="yildiz"] .amb-parla {
  --amb-govde: #3A3A3A;
  --amb-orta: #5E5E5E;
  --amb-parilti: #C9C6BE;
  --glow: rgba(20,20,20,.25);
  --amb-sifir: rgba(255,255,255,0);
}
@media (prefers-color-scheme: dark) {
  html:root:not([data-tema="aydinlik"])[data-sema="yildiz"] .amb-parla {
    --amb-govde: #6A6A6A;
    --amb-orta: #9A9A9A;
    --amb-parilti: #FFFFFF;
    --glow: rgba(243,242,239,.45);
  }
}
html:root[data-tema="karanlik"][data-sema="yildiz"] .amb-parla {
  --amb-govde: #6A6A6A;
  --amb-orta: #9A9A9A;
  --amb-parilti: #FFFFFF;
  --glow: rgba(243,242,239,.45);
}
/* AMBLEM — belirteçler sonu */

/* ── C) ORTAK BİLEŞEN VARYANTLARI ───────────────────────────────────────────
   Özgüllük: `html:root[data-sema="yildiz"]` (0,2,1) + sınıf — dugme.css'in
   `html[data-mod] .ana-icerik :is(...)` (0,3,1) kurallarını yenmek için gerekli
   yerlerde `.ana-icerik` de yazılır. Renk YALNIZ var(). */

/* Yazı: gövde 400 · 15 px altı 500 (okunurluk kararı). */
html:root[data-sema="yildiz"] body {
  font-family: var(--yazi-ailesi);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: auto;
  /* Inter'in metin boyu için önerdiği sıkılaştırma (≈ −0,011em); Manrope'a göre geniş
     harfleri dar karolara sığdırır (ölçüm: Satış "Alış · eski altın" karosu 131 px). */
  letter-spacing: -0.011em;
}
/* ⚠ olcek.css (sonra yüklenir) aynı özgüllükte `html[data-mod] .tuval-tezgah … > .ekran-karo` yazar:
   bu yüzden `.tuval-tezgah` da yazılır (0,5,1). */
html:root[data-sema="yildiz"] .tuval-tezgah .tuval-karo-izgara > .ekran-karo { padding-left: 8px; padding-right: 8px; letter-spacing: -0.011em; }
html:root[data-sema="yildiz"] body :is(.metin-kucuk, .rozet, label, th, small, kbd, summary, button, .dugme, .btn, .ipucu, .gk-kaynak,
                                  .stat-etiket, .stat-alt, .katlanir-sayi, .alan-etiket, .form-etiket, .menu-baslik,
                                  .musteri-baglanti, .pozisyon-ayrinti, .pozisyon-kirilim-oge, .panel-soru-baslik,
                                  .panel-soru-alt-oge, .panel-soru-kar, .panel-liste-ad, .panel-liste-durum, .panel-is-kaynak, .kullanici-rol, .karsilama-tarih, .sayfa-basi-aciklama,
                                  .islem-diger-ozet, .fis-pro-toplam-etiket, .fis-pro-odeme-ozet, .grafik-eksen-etiket,
                                  .etiket, .deger) {
  font-weight: 500;
}
html:root[data-sema="yildiz"] :is(button, summary, .dugme, .btn) * { font-weight: inherit; }
/* Tuval dosyalarının KİMLİK kapsamlı (#panel-soru-borclu …) 400'lerini yalnız !important yener;
   !important yalnız ölçümde 400 çıkan bu küçük yazı sınıflarındadır (okunurluk kararı § 3). */
html:root[data-sema="yildiz"] body .ana-icerik :is(.panel-liste-satir .dugme, .panel-liste-ad, .alan-etiket, .kart-baslik h2,
                                  .bant, .musteri-sayac, .panel-soru-alt, .karsilama-hava, .karsilama-tarih,
                                  .islem-diger-ozet, .stat-alt):not(.bant-hata) {
  font-weight: 500 !important;
}
html:root[data-sema="yildiz"] body .ana-icerik :is(.bant, .musteri-sayac, .panel-soru-alt, .karsilama-hava) > span { font-weight: inherit; }

/* Büyük sayı baş roldür: ≥ 300, sıkı harf aralığı (tuvaldeki 200 → 300). */
html:root[data-sema="yildiz"] body :is(.stat-deger, .para-buyuk, .buyuk-sayi, .pano-tablo tbody td, .yazi-rakam,
                                       .panel-soru-sayi, .karsilama-selam) {
  font-weight: 300;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

/* Kimlik kapsamlı tuval kuralları (#…) 600/700 yazar; büyük sayı/selam için !important gerekir. */
html:root[data-sema="yildiz"] body .ana-icerik :is(.stat-deger, .karsilama-selam, .panel-soru-sayi) { font-weight: 300 !important; }

/* 1) KART → ÇİZGİLİ BÖLÜM: kutu, gölge, dolgu yok; ayrımı 1 px kıl çizgi yapar. */
html:root[data-sema="yildiz"] :is(.kart, .katlanir, .stat-kart, .grid-kart, .izgara-kart, .tablo-kart,
                                  .panel-soru, .karsilama-kutucuk, .fis-pro-yan-kart, .musteri-ara) {
  background: transparent;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--ayrac);
  border-radius: 0;
  box-shadow: none;
}
html:root[data-sema="yildiz"] .kart-baslik { border-bottom: 0; padding-left: 0; padding-right: 0; }
html:root[data-sema="yildiz"] .kart-govde { padding-left: 0; padding-right: 0; }
html:root[data-sema="yildiz"] .katlanir-baslik { padding-left: 0; padding-right: 0; border-radius: 0; }
html:root[data-sema="yildiz"] .katlanir-govde { padding-left: 0; padding-right: 0; }
html:root[data-sema="yildiz"] .katlanir-acik > .katlanir-h > .katlanir-baslik { border-bottom: 0; }

/* Arama kutusu kabı (.musteri-ara): olcek.css'in `html[data-mod] .musteri-sade …` kuralını yenmek için body + .ana-icerik. */
html:root[data-sema="yildiz"] body .ana-icerik .musteri-ara { box-shadow: none; }

/* BANT: kutu değil, durum renginde 2 px sol çizgi (renk bant-hata/basari/uyari'dan gelir). */
html:root[data-sema="yildiz"] .ana-icerik .bant {
  background: transparent;
  border-width: 0 0 0 2px;
  border-radius: 0;
}

/* 2) DÜĞMELER — b1 tek hap (birincil) · b2 altı çizili yazı (ikincil) ·
      b3 ince kenarlı küçük hap (satır eylemi). Mavi/altın vurgu yok. */
html:root[data-sema="yildiz"] :is(.dugme, .btn) {
  border-radius: 999px;
  font-weight: 500;
  letter-spacing: .02em;
  transition: border-color .15s, color .15s;
}
html:root[data-sema="yildiz"] :is(.dugme-birincil, .btn-birincil),
html:root[data-sema="yildiz"] .ana-icerik :is(.dugme-birincil, .btn-birincil) {
  background: var(--vurgu);
  border-color: var(--vurgu);
  color: var(--vurgu-metin);
}
html:root[data-sema="yildiz"] :is(.dugme-birincil, .btn-birincil):hover:not(:disabled) {
  background: var(--vurgu);
  opacity: .88;
}
html:root[data-sema="yildiz"] .ana-icerik :is(.dugme-ikincil, .btn-ikincil):not(.dugme-kucuk):not(.btn-kucuk) {
  background: transparent;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--kenarlik);
  border-radius: 0;
  color: var(--metin);
  padding-left: .25rem;
  padding-right: .25rem;
}
html:root[data-sema="yildiz"] .ana-icerik :is(.dugme-ikincil, .btn-ikincil):not(:disabled):hover {
  background: transparent;
  border-color: var(--metin);
}
html:root[data-sema="yildiz"] .ana-icerik :is(.dugme-kucuk, .btn-kucuk):not(.dugme-birincil):not(.btn-birincil):not(.dugme-tehlike):not(.btn-tehlike) {
  background: transparent;
  border: 1px solid var(--ayrac);
  border-radius: 999px;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .ana-icerik :is(.dugme-kucuk, .btn-kucuk):not(.dugme-birincil):not(.btn-birincil):not(:disabled):hover {
  background: transparent;
  border-color: var(--kenarlik);
}

/* b1/b3 hap: tuval/olcek dosyalarının `.btn-buyuk` ve karo köşe değerlerini (8 px) yenmek için body + .ana-icerik. */
html:root[data-sema="yildiz"] body .ana-icerik :is(.btn, .dugme):not(.btn-ikincil):not(.dugme-ikincil),
html:root[data-sema="yildiz"] body .ana-icerik .tuval-tezgah .tuval-karo-izgara > .ekran-karo {
  border-radius: 999px;
}

/* b1 HER ekranda hap: tuval/olcek dosyalarının KİMLİK kapsamlı köşe kuralları (#islem-kaydet …) yalnız !important yener. */
html:root[data-sema="yildiz"] .ana-icerik :is(.btn-birincil, .dugme-birincil) { border-radius: 999px !important; }

/* 3) SEKME → ALTI ÇİZİLİ YAZI (kapsül/dolgu yok; seçili olanın altında 1 px çizgi). */
html:root[data-sema="yildiz"] .ana-icerik :is(.sekmeler-serit, .musteri-segment, .sekme-grubu) {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--ayrac);
  border-radius: 0;
  padding: 0;
  gap: 1.5rem;
}
html:root[data-sema="yildiz"] .ana-icerik :is(.sekmeler-sekme, .sekme, .musteri-segment-oge) {
  background: transparent;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  color: var(--metin-soluk);
  font-weight: 500;
}
html:root[data-sema="yildiz"] .ana-icerik :is(.sekmeler-sekme, .sekme, .musteri-segment-oge):hover {
  background: transparent;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .ana-icerik :is(.sekmeler-sekme.secili, .sekme.secili, .musteri-segment-oge--secili, .musteri-segment-oge[aria-pressed="true"], .musteri-segment-oge[aria-selected="true"]) {
  background: transparent;
  border-bottom-color: var(--metin);
  color: var(--metin);
}

/* Tuval/olcek dosyalarının sekme ve katlanır kutu kenarlarını (olcek.css `html[data-mod] .tuval-pro …`) yenmek için body + .ana-icerik. */
html:root[data-sema="yildiz"] body .ana-icerik :is(.sekme, .sekmeler-sekme, .musteri-segment-oge) {
  border-width: 0 0 1px;
  border-style: solid;
  border-radius: 0;
}
html:root[data-sema="yildiz"] body .ana-icerik :is(.sekme, .sekmeler-sekme, .musteri-segment-oge):not(.secili):not(.musteri-segment-oge--secili):not([aria-selected="true"]):not([aria-pressed="true"]) {
  border-color: transparent;
}
html:root[data-sema="yildiz"] body .ana-icerik .katlanir {
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
}

/* 4) ÇİP → METİN: rozetin dolgusu/kenarı gider, durum yalnız yazı rengiyle söylenir. */
html:root[data-sema="yildiz"] .rozet {
  background: transparent;
  padding-left: 0;
  padding-right: 0;
  letter-spacing: .02em;
}
html:root[data-sema="yildiz"] :is(.rozet-gri, .rozet-mavi, .rozet-sari, .rozet-amber) { color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .rozet-yesil { color: var(--basari); }
html:root[data-sema="yildiz"] .rozet-kirmizi { color: var(--tehlike); }

/* 5) LİSTE SATIRI / TABLO: kıl çizgi, dolgusuz başlık, soluk küçük harf başlık. */
html:root[data-sema="yildiz"] .liste-satiri { border-bottom-color: var(--ayrac); }
html:root[data-sema="yildiz"] .veri-tablosu thead { background: transparent; border-bottom-color: var(--ayrac); }
html:root[data-sema="yildiz"] .veri-tablosu th {
  color: var(--metin-soluk);
  letter-spacing: .06em;
}
html:root[data-sema="yildiz"] .veri-tablosu td { border-top-color: var(--ayrac); }
html:root[data-sema="yildiz"] .veri-tablosu tbody tr:hover { background: transparent; }

/* 6) BOŞ DURUM: tek sakin cümle; ikon kutusu yok. */
html:root[data-sema="yildiz"] .bos-durum {
  color: var(--metin-soluk);
  font-weight: 300;
  letter-spacing: -0.01em;
}
html:root[data-sema="yildiz"] .bos-durum .ikon { opacity: .6; }

/* 7) ADIMLAR: kutu/dolgu yok; numara kılcal halka, aktif adım altı çizili. */
html:root[data-sema="yildiz"] .adim-serit .adim {
  background: transparent;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .adim-serit .adim-no {
  background: transparent;
  border: 1px solid var(--ayrac);
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .adim-serit .adim-aktif {
  background: transparent;
  border-bottom-color: var(--metin);
  color: var(--metin);
}
html:root[data-sema="yildiz"] .adim-serit .adim-aktif .adim-no {
  background: var(--vurgu);
  border-color: var(--vurgu);
  color: var(--vurgu-metin);
}
html:root[data-sema="yildiz"] .adim-serit .adim-bitti {
  background: transparent;
  border-color: transparent;
  color: var(--basari);
}

/* 8) TAKVİM (Tarih bileşeni takvim düğmesi): kenarsız, kıl çizgi, yazı rengi. */
html:root[data-sema="yildiz"] .tarih-takvim {
  background: transparent;
  border-color: var(--ayrac);
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .tarih-takvim:hover { border-color: var(--kenarlik); color: var(--metin); }

/* ALAN: kutu yok, yalnız altı kıl çizgi (tuval .alan). */
html:root[data-sema="yildiz"] .ana-icerik :is(.girdi, .secim):not(.girdi-cok-satir) {
  background: transparent;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--kenarlik);
  border-radius: 0;
}

/* ETKİLEŞİM: hareket tercihi kapalıysa geçişler de kapanır. */
@media (prefers-reduced-motion: reduce) {
  html:root[data-sema="yildiz"] * {
    transition: none;
    animation: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-2 — KABUK (not § 4 adım D · tuval Bugun4 <nav> + Tum4)

   Üst 5 kelime menü (YildizUstMenu) + sağda kur/saat/kullanıcı; sol menü yok;
   "Tüm ekranlar" kare sayfası (39 kare, 6 bölüm, arama, hover açıklaması).
   ⚠ HER kural `html:root[data-sema="yildiz"]` kapsamlıdır; AnaYerlesim bu
     kabuğu YALNIZ şema Yıldız iken çizer — öteki 8 şemada bu sınıflar DOM'da
     bile yoktur. Okunurluk kararı: 15 px altı yazı 500, büyük başlık ≥ 300.
   ═══════════════════════════════════════════════════════════════════════════ */

html:root[data-sema="yildiz"] .uygulama.yildiz-kabuk {
  display: block;
  min-height: 100vh;
  background: var(--yuzey-govde);
  color: var(--metin);
}

/* ── ÜST MENÜ ─────────────────────────────────────────────────────────────── */
html:root[data-sema="yildiz"] .yildiz-ust {
  /* Kurucu 26.10: "BYGATECH işareti ve menü isimleri sayfayı aşağı indirdiğimizde bile yerinde duracak, tüm ekranlar" —
     şerit pencerenin tepesine YAPIŞIR (sticky, top 0); altından akan içerik görünmesin diye zemin kabukla aynı renk
     (tuvaldeki saydam zemin, aynı renk olduğundan göze fark yok). Bugün sol sütunu (top 72) ve 375 menü listesi
     (top 100%) bu şeride göre konumlanır. Katman: pencere 50 / çekmece 40 ÜSTTE kalır. */
  position: sticky;
  top: 0;
  z-index: 30;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 40px;
  height: 72px;
  padding: 0 64px;
  background: var(--yuzey-govde);
  color: var(--metin);
  border-bottom: 1px solid var(--ayrac);
  /* YILDIZ-4A (tuval .y): gövde 18 px / 1,45 — menü ve kur satır yükseklikleri bundan türer;
     gövdenin -0,011em harf aralığı tuvalde YOK. */
  font-size: 18px;
  line-height: 1.45;
  letter-spacing: normal;
}
html:root[data-sema="yildiz"] .yildiz-marka {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--metin);
  text-decoration: none;
}
html:root[data-sema="yildiz"] .yildiz-marka:focus-visible,
html:root[data-sema="yildiz"] .yildiz-menu-oge:focus-visible,
html:root[data-sema="yildiz"] .yildiz-kullanici-dugme:focus-visible,
html:root[data-sema="yildiz"] .yildiz-menu-dugme:focus-visible {
  outline: 1px solid var(--odak-halka);
  outline-offset: 4px;
}
html:root[data-sema="yildiz"] .yildiz-menu {
  display: flex;
  gap: 36px;
  margin-left: 24px;   /* YILDIZ-4A: tuval işaret → ilk kelime = 40 (gap) + 24 */
}
html:root[data-sema="yildiz"] .yildiz-menu-oge {
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  color: var(--metin-soluk);
  font-size: 14px;
  font-weight: 400;   /* YILDIZ-4A: tuval (okunurluk uyarlaması 500 KALDIRILDI — kurucu 09.10) */
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s, border-color .2s;
}
html:root[data-sema="yildiz"] .yildiz-menu-oge:hover { color: var(--metin); }
html:root[data-sema="yildiz"] .yildiz-menu-oge.aktif {
  color: var(--metin);
  border-bottom-color: var(--metin);
}
html:root[data-sema="yildiz"] .yildiz-ust-bosluk { flex: 1 1 auto; }

/* 375 px düğmesi: geniş ekranda gizli. */
html:root[data-sema="yildiz"] .yildiz-menu-dugme {
  display: none;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
}

/* Sağ küme: HAS · 22 AYAR · saat. */
/* YILDIZ-4A (tuval BİREBİR): tek satır metin "HAS <b>6.656</b> · 22 AYAR <b>6.097</b> · 17:40";
   ayraç metnin içindedir (eski ::before + gap kalktı); gövde 400, değer 500. */
html:root[data-sema="yildiz"] .yildiz-kur {
  color: var(--metin-soluk);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .06em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
html:root[data-sema="yildiz"] .yildiz-kur-deger { color: var(--metin); font-weight: 500; }

/* Kullanıcı + hesap menüsü. */
html:root[data-sema="yildiz"] .yildiz-kullanici { position: relative; margin-left: 36px; }   /* YILDIZ-4A: tuval 40 + 36 */
html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici-dugme {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--metin-soluk);
  font: inherit;
  font-size: 14px;
  font-weight: 400;   /* YILDIZ-4A: tuval "HAKAN T." 400 */
  letter-spacing: .06em;
  text-transform: none;   /* YILDIZ-4A: tuvalde metnin kendisi büyük harf (tr-TR ile yazılır) */
  white-space: nowrap;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yildiz-kullanici-dugme:hover,
html:root[data-sema="yildiz"] .yildiz-kullanici-dugme[aria-expanded="true"] { color: var(--metin); }
html:root[data-sema="yildiz"] .yildiz-kullanici-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 280px;
  max-width: calc(100vw - 32px);
  padding: 18px;
  background: var(--yuzey-govde);
  border: 1px solid var(--ayrac);
  border-radius: 4px;
}
html:root[data-sema="yildiz"] .yildiz-kullanici-menu[hidden] { display: none; }
html:root[data-sema="yildiz"] .yildiz-menu-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
html:root[data-sema="yildiz"] .yildiz-menu-etiket {
  color: var(--metin-soluk);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}
html:root[data-sema="yildiz"] .yildiz-menu-baglantilar {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--ayrac);
}
html:root[data-sema="yildiz"] .yildiz-menu-baglantilar :is(a, button) {
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--ayrac);
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yildiz-menu-baglantilar :is(a, button):hover { color: var(--metin-soluk); }

/* ── ÜST BAR (sayfa başlığı · mod · arama) sessiz ikinci şerit ─────────────── */
html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar {
  background: transparent;
  border-bottom: 0;
  padding-left: 64px;
  padding-right: 64px;
}
html:root[data-sema="yildiz"] .yildiz-kabuk .kabuk-menu-dugme { display: none; }
/* Sol menü yok: içerik, üst menüyle AYNI 64 px kenar boşluğuna oturur (tuval). */
html:root[data-sema="yildiz"] .yildiz-kabuk .ana-icerik { padding-left: 64px; padding-right: 64px; }
/* Kur değerleri üst menüde; üst barda yalnız "kuru şimdi sor" düğmesi kalır. */
html:root[data-sema="yildiz"] .yildiz-kabuk .ust-kur-serit :is(.kur-bandi, span.son-sorgu, .kur-yok) { display: none; }
/* Bu sayfa kendi başlığını ve aramasını taşır (tuval Tum4): üst bar şeridi yok. */
html:root[data-sema="yildiz"] .yildiz-tum-ekranlar .ust-bar { display: none; }

/* ── TÜM EKRANLAR: tam ekran değil, üst menünün altında ───────────────────── */
html:root[data-sema="yildiz"] .ekranlar-sayfa {
  display: block;
  min-height: 0;
  background: transparent;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-ust {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 460px);
  grid-template-areas: "ozet arama" "baslik arama" "ipucu arama";
  align-items: end;
  column-gap: 48px;
  row-gap: 12px;
  min-height: 0;
  padding: 40px 0 0;
  background: transparent;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .ekranlar-sayfa :is(.ekranlar-marka, .ekranlar-bosluk) { display: none; }
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-yildiz-ozet {
  grid-area: ozet;
  color: var(--metin-soluk);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-baslik {
  grid-area: baslik;
  margin: 0;
  color: var(--metin);
  font-family: var(--yazi-ailesi);
  font-size: 64px;
  font-weight: 300;
  letter-spacing: -0.035em;
  line-height: 1;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-ipucu {
  grid-area: ipucu;
  color: var(--metin-soluk);
  font-size: 15px;
  font-weight: 500;
  white-space: normal;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-arama {
  grid-area: arama;
  align-self: end;
  box-sizing: border-box;
  width: auto;
  height: 56px;
  margin: 0;
  padding: 0;
  gap: 16px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  color: var(--metin-soluk);
  font-size: 19px;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-arama:focus-within {
  outline: 1px solid var(--odak-halka);
  outline-offset: 4px;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-arama .arama-kutu > input.girdi-arama,
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-arama .arama-kutu > input.girdi-arama:hover,
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-arama .arama-kutu > input.girdi-arama:focus,
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-arama .arama-kutu > input.girdi-arama:focus-visible {
  background: transparent;
  border: 0;
  outline: 0;
  box-shadow: none;
  color: var(--metin);
  font-size: 19px;
  font-weight: 400;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-arama .girdi-arama::placeholder { color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-govde {
  padding: 32px 0 0;
  gap: 44px;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-grup { gap: 16px; }
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-grup-baslik {
  color: var(--metin-soluk);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
}

/* Kareler: 8 sütun, 1 px kıl çizgili kare; üstüne gelince 3 px kalkar. */
html:root[data-sema="yildiz"] .ekranlar-sayfa :is(.ekranlar-izgara, .ekranlar-izgara-ikonlu) {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 52px 12px;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap { aspect-ratio: 1; }
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-karo {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  padding: 14px 12px;
  background: var(--yuzey-govde);
  border: 1px solid var(--ayrac);
  border-radius: 4px;
  color: var(--metin-soluk);
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  transition: border-color .2s, color .2s, transform .25s cubic-bezier(.2, .8, .2, 1);
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-karo:is(:hover, :focus-visible) {
  border-color: var(--kenarlik);
  color: var(--metin);
  transform: translateY(-3px);
  outline: 0;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo .ikon {
  width: 28px;
  height: 28px;
  color: currentColor;
  stroke-width: 1.1;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo:is(:hover, :focus-visible) .ikon {
  filter: drop-shadow(0 0 6px var(--kenarlik));
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-ad {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.005em;
  line-height: 1.2;
}
/* Açıklama: karenin hemen altında, yalnız üstüne gelince / odakta. visibility:hidden
   → gizliyken ne ölçüme ne ekran okuyucuya girer. */
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-aciklama {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  padding: 0 2px;
  color: var(--metin-soluk);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s, visibility .2s;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo:is(:hover, :focus-visible) .ekran-karo-aciklama {
  opacity: 1;
  visibility: visible;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-birincil {
  background: var(--yuzey-govde);
  color: var(--metin-soluk);
  border-color: var(--ayrac);
}
/* Favori yıldızı: kutusuz, sessiz; yalnız üstüne gelince/odakta (dolu olan hep) görünür. */
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-yildiz {
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-yildiz:hover,
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-yildiz.dolu,
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-karo-birincil + .ekran-yildiz {
  background: transparent;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-yildiz:focus-visible {
  outline: 1px solid var(--odak-halka);
  outline-offset: 2px;
}
html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-alt-bag {
  padding: 4px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  color: var(--metin);
  font-size: 15px;
  font-weight: 500;
}

/* ── DAR EKRANLAR ─────────────────────────────────────────────────────────── */
@media (max-width: 1199px) {
  html:root[data-sema="yildiz"] .ekranlar-sayfa :is(.ekranlar-izgara, .ekranlar-izgara-ikonlu) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  html:root[data-sema="yildiz"] .yildiz-kur-22 { display: none; }
}
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yildiz-ust { gap: 16px; height: 64px; padding: 0 24px; }
  html:root[data-sema="yildiz"] .yildiz-menu-dugme { display: inline-flex; }
  html:root[data-sema="yildiz"] .yildiz-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 4px 24px 12px;
    background: var(--yuzey-govde);
    border-bottom: 1px solid var(--ayrac);
  }
  html:root[data-sema="yildiz"] .yildiz-menu.acik { display: flex; }
  html:root[data-sema="yildiz"] .yildiz-menu-oge {
    padding: 14px 0;
    border-bottom-color: var(--ayrac);
    font-size: 15px;
  }
  html:root[data-sema="yildiz"] .yildiz-menu-oge.aktif { border-bottom-color: var(--metin); }
  html:root[data-sema="yildiz"] .yildiz-kur-saat { display: none; }
  html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar { padding-left: 24px; padding-right: 24px; }
  html:root[data-sema="yildiz"] .yildiz-kabuk .ana-icerik { padding-left: 24px; padding-right: 24px; }
  html:root[data-sema="yildiz"] .ekranlar-sayfa :is(.ekranlar-izgara, .ekranlar-izgara-ikonlu) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-ust {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "ozet" "baslik" "arama" "ipucu";
    row-gap: 16px;
  }
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-baslik { font-size: 44px; }
}
@media (max-width: 600px) {
  html:root[data-sema="yildiz"] .yildiz-ust { padding: 0 16px; }
  html:root[data-sema="yildiz"] .yildiz-menu { padding-left: 16px; padding-right: 16px; }
  html:root[data-sema="yildiz"] .yildiz-kur { display: none; }
  html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar { padding-left: 16px; padding-right: 16px; }
  html:root[data-sema="yildiz"] .yildiz-kabuk .ana-icerik { padding-left: 16px; padding-right: 16px; }
  html:root[data-sema="yildiz"] .ekranlar-sayfa :is(.ekranlar-izgara, .ekranlar-izgara-ikonlu) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-govde { gap: 32px; }
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekranlar-baslik { font-size: 36px; }
  /* Dar ekran: kısa kare (ikon üstte, ad altta); açıklama dokunmada yok. */
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap { aspect-ratio: auto; }
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-karo {
    min-height: 92px;
    gap: 10px;
    padding: 12px;
  }
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo .ikon { flex: 0 0 auto; width: 24px; height: 24px; }
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-aciklama { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html:root[data-sema="yildiz"] .ekranlar-sayfa .ekran-karo-kap > .ekran-karo:is(:hover, :focus-visible) { transform: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-3 — E) EKRAN İNCE AYARI (Not § 4 adım E · tuval Bugun4/Tezgah4/Musteri4/Y_*)
   Yalnız GÖRÜNÜM: para/veri/yasal davranışa dokunulmaz. Hepsi `html:root[data-sema="yildiz"]`
   kapsamlı; renk var(); 15 px altı 500; büyük sayı ≥ 300 (tuvaldeki 200 KULLANILMAZ).
   Risk 3: kalabalık PRO yüzünde yalnız renk/yazı (aşağıda yalnız BASİT'e bağlı kurallar
   `#panel-sade`, `.musteri-sade`, `.fis-tuval` gibi BASİT'e özgü kök taşır).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── E1) BUGÜN — PAKET YILDIZ-4A'da KALDIRILDI ─────────────────────────────────────────
   Yıldız'da Panel artık #panel-sade'yi ÇİZMEZ: Bugün tuvalin kendisidir (YildizBugun bileşeni,
   aşağıda "PAKET YILDIZ-4A" bölümü). #panel-sade'ye bağlı eski uyarlama kuralları ölü kalmasın diye
   silindi (kurucu 09.10: "uyarlama istemiyorum … birebir"). */

/* ── E2) TEZGÂH (Satış · BASİT tuval): ayar rakamı başta, Toplam büyük, Fark bloğu ───────
   Kapsam .tuval-tezgah (BASİT fiş tuvali); PRO kalem kartı (.fis-pro-*) bu bölümde DEĞİLDİR. */
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-izgara {
  grid-template-columns: minmax(0, 1fr) minmax(360px, min(max-content, 520px));
  column-gap: 56px;
}
/* Fiş kartı dar olunca (kap sorgusu; tuval-satis.css ile AYNI kap) tek sütun: VERDİM üstte, ALDIM altta. */
@container fis-tuval (max-width: 800px) {
  html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-izgara { grid-template-columns: minmax(0, 1fr); column-gap: 0; row-gap: 40px; }
}
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-sutun + .fis-tuval-sutun { border-left: 0; }
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-baslik {
  padding: 0 0 14px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  color: var(--metin-soluk);
  border-bottom: 1px solid var(--ayrac);
}
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-bos { padding: 18px 0; }
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-tablo :is(th, td):first-child { padding-left: 0; }
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-tablo :is(th, td):last-child { padding-right: 0; }
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-tablo :is(th, td) { border-bottom-color: var(--ayrac); }

/* VERDİM satırı: [AYAR 40 px] [ürün adı / gram] [tutar] [sil]. Başlık satırı yalnız ekran okuyucuda. */
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo,
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody { display: block; width: 100%; }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > thead {
  position: absolute; left: -9999px; width: 1px; height: 1px; padding: 0; overflow: hidden; white-space: nowrap; border: 0;
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto auto;
  grid-template-areas: "ayar ad tutar sil" "ayar gram tutar sil";
  column-gap: 16px;
  row-gap: 4px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--ayrac);
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td {
  display: block;
  height: auto;
  min-width: 0;
  padding: 0;
  border: 0;
  width: auto;
  max-width: none;
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td.fis-tuval-ad { grid-area: ad; font-size: 20px; font-weight: 400; color: var(--metin); }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td.fis-tuval-ad::after { content: none; }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td:nth-child(2) {
  grid-area: ayar;
  font-size: 40px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td:nth-child(3) {
  grid-area: gram;
  text-align: left;
  font-size: 15px;
  font-weight: 500;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td:nth-child(3)::after { content: " g"; }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td.fis-tuval-hucre-tutar {
  grid-area: tutar;
  font-size: 22px;
  font-weight: 300;
  white-space: nowrap;
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td.fis-tuval-eylem { grid-area: sil; }

/* ALDIM tablosu: kıl çizgili, dolgusuz (tuval: Nakit · Ana Kasa  ·  tutar 300). */
html:root[data-sema="yildiz"] .tuval-tezgah #islem-aldim-tablo td { font-size: 18px; padding-top: 18px; padding-bottom: 18px; }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-aldim-tablo td.sayi { font-weight: 300; font-size: 20px; }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-aldim-tablo th { font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }

/* TOPLAM (sol, altta): kutu yok; soluk gram yazısı solda, 72 px rakam sağda. */
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-sutun { container-type: inline-size; }
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-alt {
  flex-wrap: wrap;
  align-items: flex-end;
  padding: 24px 0 0;
  background: transparent;
  border-top: 0;
  row-gap: 4px;
}
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval-alt > :first-child { font-size: 16px; font-weight: 500; }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-verdim-toplam .fis-tuval-tutar {
  font-size: min(72px, 12.5cqi);
  font-weight: 300;
  line-height: .95;
  letter-spacing: -0.035em;
  margin-left: auto;
}
/* FARK (sağ, altta): üstte 1 px kenar çizgisi, etiket + 56 px rakam + ✓; yeşil/kırmızı yalnız yazı rengi. */
html:root[data-sema="yildiz"] #islem-fark {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding-top: 24px;
  border-top: 1px solid var(--kenarlik);
}
html:root[data-sema="yildiz"] #islem-fark > :first-child {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark .fis-tuval-tutar {
  font-size: min(56px, 14cqi);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.035em;
  gap: 16px;
}
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark .fis-fark-onay { width: 28px; height: 28px; color: var(--basari); }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark.fis-fark-tamam,
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark.fis-fark-acik { background: transparent; border-top-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark.fis-fark-tamam .fis-tuval-tutar { color: var(--metin); }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark.fis-fark-tamam > :first-child { color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark.fis-fark-acik > :first-child { color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark.fis-fark-acik .fis-tuval-tutar { color: var(--tehlike); }

/* Dar fiş kartında (kap sorgusu) Toplam/Fark rakamı kap genişliğine göre küçülür — 7 haneli eksi tutar sığar. */
@container fis-tuval (max-width: 520px) {
  html:root[data-sema="yildiz"] .tuval-tezgah #islem-verdim-toplam .fis-tuval-tutar { font-size: min(72px, 10cqi); }
  html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark .fis-tuval-tutar { font-size: min(56px, 10cqi); }
}

/* ── E2b) TEZGÂH: Kaydet · Toplam · Fark HER ZAMAN ekranda (YILDIZ-3 tasarım hakemi KRİTİK) ───────
   Ürün eklendikçe ana eylem aşağı kaçmasın: alt satır (Vazgeç · Kaydet) pencerenin altına yapışır;
   iki sütunlu fişte Toplam (sol) ve Fark (sağ) onun hemen üstüne yapışır. Yapışkanlık için taşma
   gizleyen kap (`.fis-tuval`, `.kart`) açılır — Yıldız'da kutu/kenar yok, kırpılacak bir şey kalmaz.
   Fiş yüksekliği tuvaldeki 100vh-420 zorlamasını bırakır (içerik kadar). */
html:root[data-sema="yildiz"] .tuval-tezgah .fis-tuval { min-height: 0; overflow: visible; }
/* `.ana-icerik{overflow:auto}` (app.css) yapışkanı kendi içine hapseder; Tezgâh sayfasında dikey taşma görünür, yatay kırpılır. */
html:root[data-sema="yildiz"] .ana-icerik:has(.islem-sayfa.tuval-tezgah) { overflow-x: clip; overflow-y: visible; }
html:root[data-sema="yildiz"] .tuval-tezgah .islem-fis-kart,
html:root[data-sema="yildiz"] .tuval-tezgah .islem-fis-kart > .kart-govde { overflow: visible; }
html:root[data-sema="yildiz"] .tuval-tezgah .islem-alt-satir {
  position: sticky;
  bottom: 0;
  z-index: 6;
  align-items: center;
  padding: 12px 0;
  background: var(--yuzey-govde);
  border-top: 1px solid var(--ayrac);
}
/* Vazgeç de hap (tuval-satis.css 9 px köşe + kimlik kapsamı → !important, b1 ile aynı gerekçe). */
html:root[data-sema="yildiz"] .islem-alt-satir > #islem-vazgec { border-radius: 999px !important; }
@container fis-tuval (min-width: 801px) {
  html:root[data-sema="yildiz"] #islem-verdim-toplam,
  html:root[data-sema="yildiz"] #islem-fark {
    position: sticky;
    bottom: 77px;   /* = alt satır yüksekliği (52 + 2×12 dolgu + 1 çizgi): aralık bırakmaz, altından içerik sızmaz */
    padding-top: 16px;
    padding-bottom: 10px;
    z-index: 5;
    background: var(--yuzey-govde) !important;   /* `#islem-fark.fis-fark-tamam { background: transparent }` (özgüllük 1,x) yenilir: altından akan içerik görünmesin */
  }
}
/* Alçak pencerede (dizüstü 768) yapışkan Toplam/Fark daha az yer tutar. */
@media (max-height: 820px) {
  html:root[data-sema="yildiz"] .tuval-tezgah #islem-verdim-toplam .fis-tuval-tutar { font-size: min(48px, 12.5cqi); }
  html:root[data-sema="yildiz"] .tuval-tezgah #islem-fark .fis-tuval-tutar { font-size: min(40px, 14cqi); }
}

/* ── E3) ÖZET EKRANLARIN BAŞLIĞI (Müşteriler · Kasalar · Kur · Sayım · BASİT): tuval h1 64 px / 300 ──
   Başlık üst barın kendi <h1>'idir (yeni öğe yok); yalnız o sayfalarda büyür (:has ile sayfa başı kimliği). */
html:root[data-sema="yildiz"] .yildiz-kabuk:has(#ust-mod-basit[aria-pressed="true"]):has(:is(#sayfa-basi-cariler, #sayfa-basi-kasalar, #sayfa-basi-kur, #sayfa-basi-sayim)) .ust-bar {
  padding-top: 32px;
  padding-bottom: 8px;
  align-items: flex-end;
}
html:root[data-sema="yildiz"] .yildiz-kabuk:has(#ust-mod-basit[aria-pressed="true"]):has(:is(#sayfa-basi-cariler, #sayfa-basi-kasalar, #sayfa-basi-kur, #sayfa-basi-sayim)) .ust-bar h1 {
  font-size: 64px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.035em;
}

/* ── E4) MÜŞTERİLER (BASİT): kıl çizgili liste, ad 20 px, bakiye 300, süzgeç = altı çizili yazı ── */
html:root[data-sema="yildiz"] .musteri-sade #cari-liste-tablo > tbody > tr > td {
  padding-top: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--ayrac);
  font-size: 20px;
  font-weight: 400;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .musteri-sade #cari-liste-tablo > tbody > tr > td[data-kolon="telefon"],
html:root[data-sema="yildiz"] .musteri-sade #cari-liste-tablo > tbody > tr > td[data-kolon="has"] {
  font-size: 15px;
  font-weight: 500;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .musteri-sade #cari-liste-tablo > tbody > tr > td[data-kolon="tl-bakiye"] { font-weight: 300; }
html:root[data-sema="yildiz"] .musteri-sade #cari-liste-tablo > thead > tr > th {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .musteri-sade .musteri-segment { gap: 24px; background: transparent; border: 0; padding: 0; }
html:root[data-sema="yildiz"] .musteri-sade .musteri-segment-oge {
  height: 32px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .musteri-sade .musteri-segment-oge--secili { color: var(--metin); border-bottom-color: var(--metin); background: transparent; }

/* ── E5) ÖZET EKRANLAR · KASALAR (BASİT): baş rakam 300, kasa satırı = ad · bakiye · eylemler ──── */
html:root[data-sema="yildiz"] #sayfa-basi-kasalar + .stat-izgara .stat-etiket {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] #sayfa-basi-kasalar + .stat-izgara .stat-deger {
  font-size: min(96px, 9cqi);
  font-weight: 300 !important;
  line-height: 1;
  letter-spacing: -0.035em;
  white-space: nowrap;
}
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas: "ad bakiye eylem" "ayrim bakiye eylem";
  column-gap: 32px;
  row-gap: 4px;
  align-items: center;
  padding: 22px 0;
}
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .satir-arasi { grid-area: ad; margin: 0; justify-content: flex-start; gap: 16px; font-size: 20px; }
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .stat-deger {
  grid-area: bakiye;
  margin: 0;
  font-size: min(32px, 5cqi);
  font-weight: 300 !important;
  letter-spacing: -0.03em;
  white-space: nowrap;
  text-align: right;
}
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > :is(p.metin-kucuk) { grid-area: ayrim; margin: 0; }
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .satir-eylemler { grid-area: eylem; margin: 0; justify-content: flex-end; }
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde .satir-eylemler .btn {
  border-radius: 999px;
  border: 1px solid var(--ayrac);
  background: transparent;
  color: var(--metin);
}

/* ── E6) KUR (BASİT): baş rakam = 1 gram has altın; kaynak/saat cümlesi soluk ─────────────────── */
html:root[data-sema="yildiz"] #kur-has-onde > .panel-soru-baslik {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] #kur-has-onde > #kur-has-deger {
  display: block;
  font-size: min(96px, calc(var(--deger-oran) * 1.1cqi));
  font-weight: 300 !important;
  line-height: 1;
  letter-spacing: -0.035em;
  white-space: nowrap;
  margin: 0 0 16px;
}
html:root[data-sema="yildiz"] #kur-has-onde > .panel-soru-alt { font-size: 18px; font-weight: 300 !important; color: var(--metin-soluk); }

/* ── E7) SAYIM (BASİT): tablo kıl çizgili, başlık küçük harf aralıklı (liste kalıbı) ──────────── */
html:root[data-sema="yildiz"] #sy-tablo > thead > tr > th {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] #sy-tablo > tbody > tr > td { padding-top: 18px; padding-bottom: 18px; font-size: 18px; border-bottom: 1px solid var(--ayrac); }

@media (max-width: 600px) {
  html:root[data-sema="yildiz"] .yildiz-kabuk:has(#ust-mod-basit[aria-pressed="true"]):has(:is(#sayfa-basi-cariler, #sayfa-basi-kasalar, #sayfa-basi-kur, #sayfa-basi-sayim)) .ust-bar h1 { font-size: 40px; }
  html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    grid-template-areas: "ayar ad sil" "ayar gram sil" ". tutar tutar";
    column-gap: 12px;
  }
  html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td:nth-child(2) { font-size: 30px; }
  html:root[data-sema="yildiz"] .tuval-tezgah #islem-kalem-tablo > tbody > tr > td.fis-tuval-hucre-tutar { font-size: 18px; }
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "ad bakiye" "ayrim ayrim" "eylem eylem";
    row-gap: 8px;
  }
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .satir-eylemler { justify-content: flex-start; }
}
html:root[data-sema="yildiz"] .ana-icerik #kur-has-onde { padding: 0; border: 0; background: transparent; box-shadow: none; }

/* ── E8) ALAN KALIBI: seçici tetiği ve katlanır başlığı çerçevesiz, yalnız altı kıl çizgi (tuval .alan) ── */
html:root[data-sema="yildiz"] .ana-icerik .secici-tetik {
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding-left: 0;
}
html:root[data-sema="yildiz"][data-mod] .ana-icerik .katlanir > .katlanir-h > .katlanir-baslik { border: 0; border-radius: 0; margin: 0; width: 100%; }   /* dugme.css (0,5,1) kutu çerçevesini yenmek için zincir */

/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-4A — BUGÜN (tuval Bugun4 koyu / Bugun4a açık · BİREBİR) + kabuk ayarı
   Kurucu (09.10): "birebir tasarım neyse aynısını istisnasız olarak istiyorum" ve
   "uyarlama varsayım vs istemiyorum". Değerler tuvalin KENDİSİDİR (ağırlık 200 dahil;
   not § 3'teki "okunurluk" uyarlaması bu bölümde UYGULANMAZ). Ölçüm: betikler/tur/
   tuval-kiyas.mjs (öğe × font-size/ağırlık/harf aralığı/satır/renk + x/y/w/h).
   Hepsi `html:root[data-sema="yildiz"]` kapsamlı; renk YALNIZ var().
   ═══════════════════════════════════════════════════════════════════════════ */

/* Kabuk: tuvalde üst bar şeridi YOK — Bugün'de gizlenir (bantları ayrı öğe, durur);
   Basit/Profesyonel anahtarı kullanıcı menüsüne taşındı (#yildiz-mod-*). */
html:root[data-sema="yildiz"] .yildiz-kabuk:has(#yildiz-bugun) .ust-bar { display: none; }
html:root[data-sema="yildiz"] .yildiz-kabuk #ust-mod-anahtar { display: none; }
html:root[data-sema="yildiz"] body .yildiz-kabuk .ana-icerik:has(#yildiz-bugun) { padding: 0; }
/* Kurucu 24.10 (ikinci görüntü): `.ana-icerik{overflow:auto}` sol sütunun yapışkanlığını kendi içine hapsediyordu (kap kaymıyor,
   pencere kayıyor → yapışkan hiç tutmuyor, düğmeler yukarı kaçıyordu). Tezgâh'taki istisnanın aynısı. */
html:root[data-sema="yildiz"] .ana-icerik:has(#yildiz-bugun) { overflow-x: clip; overflow-y: visible; }
/* Kurucu 24.10: Tezgâh yüklenirken dönen halka sol kenarda kalıyordu — `.islem-sayfa{align-items:start}` sarmalayıcıyı 42 px'e
   büzüyordu. Sarmalayıcı satırı doldurur, halka yatayda ve düşeyde ortada. */
html:root[data-sema="yildiz"] .yz-tezgah-yukleniyor { align-self: stretch; width: 100%; justify-content: center; }
/* Şube adı üst satırdadır (tuval "… · MERKEZ ŞUBE"); ikinci rozet satırı çizilmez. */
html:root[data-sema="yildiz"] .ana-icerik:has(#yildiz-bugun) .gorunum-rozeti { display: none; }

/* Kullanıcı menüsündeki mod anahtarı: tuvalin b2 dili (altı çizili = seçili). */
html:root[data-sema="yildiz"] .yildiz-mod-anahtar { display: inline-flex; gap: 16px; }
html:root[data-sema="yildiz"] .yildiz-ust .yildiz-mod-oge {
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: var(--metin-soluk);
  font: inherit;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yildiz-ust .yildiz-mod-oge[aria-pressed="true"] { color: var(--metin); border-bottom-color: var(--metin); }
html:root[data-sema="yildiz"] .yildiz-ust .yildiz-mod-oge:focus-visible { outline: 1px solid var(--odak-halka); outline-offset: 4px; }

/* ── Gövde (tuval .y + <main> + <footer>) ─────────────────────────────────── */
html:root[data-sema="yildiz"] .yildiz-bugun {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 72px);
  box-sizing: border-box;
  background: var(--yuzey-govde);
  color: var(--metin);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
}
html:root[data-sema="yildiz"] .yildiz-bugun *,
html:root[data-sema="yildiz"] .yildiz-bugun *::before,
html:root[data-sema="yildiz"] .yildiz-bugun *::after { box-sizing: border-box; }
html:root[data-sema="yildiz"] .yildiz-bugun-ana {
  flex-grow: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 80px;
  padding: 72px 64px 56px;
}
html:root[data-sema="yildiz"] .yildiz-bugun-sol {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
html:root[data-sema="yildiz"] .yildiz-bugun-ozet { display: flex; flex-direction: column; gap: 28px; }

/* Tuval ".ust": 12 px · 500 · .22em · büyük harf · soluk. */
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-ust {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: inherit;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-bekleyen-baslik { margin-bottom: 8px; }

/* Dev rakam (tuval ".ince.sayi" 112 px / 200 / −0,035em / satır .95); kuruş + ₺ soluk, yarı boy.
   ⚠ Kuruşa harf aralığı YAZILMAZ: tuvalde ebeveynin hesaplanmış px değerini miras alır. */
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-rakam {
  display: block;
  margin: 0;
  color: var(--metin);
  font-size: 112px;
  font-weight: 200;
  line-height: .95;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-kurus { color: var(--metin-soluk); font-size: .5em; font-weight: 200; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-cumle {
  margin: 0;
  max-width: 520px;
  color: var(--metin-soluk);
  font-size: 20px;
  font-weight: 300;
}

/* Düğmeler: tek hap birincil (b1) · altı çizili ikincil (b2) · ince kenarlı satır hapı (b3). */
html:root[data-sema="yildiz"] .yildiz-bugun-eylemler { display: flex; align-items: center; gap: 40px; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-b1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 56px;
  padding: 0 32px;
  border: 0;
  border-radius: 999px;
  background: var(--metin);
  color: var(--yuzey-govde);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-b2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  background: transparent;
  color: var(--metin);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-b3 {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 18px;
  border: 1px solid var(--ayrac);
  border-radius: 999px;
  background: transparent;
  color: var(--metin);
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-b3:hover { border-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .yildiz-bugun :is(.yildiz-b1, .yildiz-b2, .yildiz-b3, .yildiz-bugun-rakam, .yildiz-bugun-alt-oge):hover { text-decoration: none; }
html:root[data-sema="yildiz"] .yildiz-bugun :is(.yildiz-b1, .yildiz-b2, .yildiz-b3, .yildiz-bugun-rakam, .yildiz-bugun-alt-oge):focus-visible {
  outline: 1px solid var(--odak-halka);
  outline-offset: 4px;
}

/* "Seni bekleyen": alta yaslı liste; satır = metin · durum · tek eylem, aralarında 1 px çizgi. */
html:root[data-sema="yildiz"] .yildiz-bugun-sag { display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-liste { margin: 0; padding: 0; list-style: none; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 22px 0;
  border-bottom: 1px solid var(--ayrac);
  font-variant-numeric: tabular-nums;
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-liste > .yildiz-bugun-sat:last-child,
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sat--bos { border-bottom: 0; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sat-ek { color: var(--metin-soluk); white-space: nowrap; }   /* tutar / "biz borçluyuz" tek parça: sığmazsa BÜTÜN ek alt satıra geçer */
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sat-durum { color: var(--metin-soluk); font-size: 15px; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sat-durum--kotu { color: var(--tehlike); }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-not { margin: 12px 0 0; color: var(--metin-soluk); font-size: 15px; }

/* Yasal değişiklik bandı listenin başında SATIR kalıbıyla (tuvalde bant yok). */
html:root[data-sema="yildiz"] .yildiz-bugun-sag .yasal-bantlar { display: contents; }
html:root[data-sema="yildiz"] .yildiz-bugun-sag .yasal-bant--bilgi {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid var(--ayrac);
  border-radius: 0;
  background: transparent;
  color: var(--metin);
  font-size: 18px;
}
html:root[data-sema="yildiz"] .yildiz-bugun-sag .yasal-bant--bilgi .yasal-bant-bag {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 18px;
  border: 1px solid var(--ayrac);
  border-radius: 999px;
  color: var(--metin);
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
}

/* Alt şerit (tuval <footer>): 14 px · .06em · soluk; değer 500 ana renk. */
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-alt {
  display: flex;
  gap: 48px;
  padding: 0 64px 40px;
  color: var(--metin-soluk);
  font-size: 14px;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-alt-oge { color: inherit; text-decoration: none; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-alt-etiket { text-transform: uppercase; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-alt-oge b { color: var(--metin); font-weight: 500; }

/* Dar pencere: tuvalde telefon hâli çizilmedi → aynı dilde tek sütun (taşma 0). */
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yildiz-bugun { min-height: 0; }
  html:root[data-sema="yildiz"] .yildiz-bugun-sol { gap: 40px; }   /* tek sütunda cümle ile düğmeler arası (geniş ekranda space-between) */
  html:root[data-sema="yildiz"] .yildiz-bugun-ana { grid-template-columns: minmax(0, 1fr); gap: 56px; padding: 48px 24px 40px; }
  html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-rakam { font-size: min(112px, 15vw); }
  html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-alt { flex-wrap: wrap; gap: 12px 32px; padding: 0 24px 32px; }
  html:root[data-sema="yildiz"] .yildiz-bugun-eylemler { flex-wrap: wrap; gap: 24px; }
}
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yildiz-bugun-ana { gap: 48px; padding: 32px 16px 32px; }
  html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-alt { padding: 0 16px 32px; }
  html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sat { gap: 12px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-4B — TEZGÂH (Tezgah4/4a) · MÜŞTERİLER (Musteri4/4a) · TÜM EKRANLAR (Tum4/4a)
   Kurucu (09.10): "birebir tasarım neyse aynısını istisnasız" · "uyarlama varsayım istemiyorum".
   Değerler tuvalin KENDİSİDİR (ağırlık 200 dahil). Ortak tuval kalıpları .yz kökü altında
   (.ust · .ince · .s · .sayi · .b1/.b2/.b3 · .ik · .sat · .alan); ölçüm betikler/tur/tuval-kiyas.mjs.
   Hepsi `html:root[data-sema="yildiz"]` kapsamlı; renk YALNIZ var() (öteki 8 şemada etki 0).
   ═══════════════════════════════════════════════════════════════════════════ */

/* Kabuk: tuvalde üst bar şeridi YOK (Bugün ile aynı kural); gövde dolgusuz. */
html:root[data-sema="yildiz"] .yildiz-kabuk:has(.yz) .ust-bar { display: none; }
html:root[data-sema="yildiz"] body .yildiz-kabuk .ana-icerik:has(.yz) { padding: 0; }
html:root[data-sema="yildiz"] .ana-icerik:has(.yz) .gorunum-rozeti { display: none; }

/* ── Tuval kökü (.y): 18 px · satır 1,45 · zemin --z · metin --m ─────────── */
html:root[data-sema="yildiz"] .yz {
  --yz-isilti: color-mix(in srgb, var(--metin) 25%, transparent);   /* açık: rgba(20,20,20,.25) */
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 72px);
  box-sizing: border-box;
  background: var(--yuzey-govde);
  color: var(--metin);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
}
@media (prefers-color-scheme: dark) {
  html:root:not([data-tema="aydinlik"])[data-sema="yildiz"] .yz { --yz-isilti: color-mix(in srgb, var(--metin) 45%, transparent); }
}
html:root[data-tema="karanlik"][data-sema="yildiz"] .yz { --yz-isilti: color-mix(in srgb, var(--metin) 45%, transparent); }
html:root[data-sema="yildiz"] .yz *,
html:root[data-sema="yildiz"] .yz *::before,
html:root[data-sema="yildiz"] .yz *::after { box-sizing: border-box; }
html:root[data-sema="yildiz"] .yz :is(p, h1, h2) { margin: 0; }
html:root[data-sema="yildiz"] .yz .yz-ince { font-weight: 200; letter-spacing: -0.035em; }
html:root[data-sema="yildiz"] .yz .yz-ust {
  font-size: 12px;
  font-weight: 500;
  line-height: inherit;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .yz .yz-s { color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .yz .yz-kotu { color: var(--tehlike); }
html:root[data-sema="yildiz"] .yz .yz-sayi { font-variant-numeric: tabular-nums; }
html:root[data-sema="yildiz"] .yz .yz-h1 { margin: 0; font-family: inherit; font-size: 64px; line-height: 1; color: var(--metin); }
html:root[data-sema="yildiz"] .yz .yz-ik { fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
html:root[data-sema="yildiz"] .yz .yz-not { font-size: 14px; letter-spacing: .06em; }

/* Düğmeler: b1 tek hap · b2 altı çizili yazı · b3 ince kenarlı hap. */
html:root[data-sema="yildiz"] .yz .yz-b1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 56px;
  margin: 0;
  padding: 0 32px;
  border: 0;
  border-radius: 999px;
  background: var(--metin);
  color: var(--yuzey-govde);
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz .yz-b2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  margin: 0;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 16px;
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz .yz-b3 {
  display: inline-flex;
  align-items: center;
  height: 40px;
  margin: 0;
  padding: 0 18px;
  border: 1px solid var(--ayrac);
  border-radius: 999px;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz .yz-b3:hover:not(:disabled) { border-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .yz :is(.yz-b1, .yz-b2, .yz-b3):disabled { opacity: .45; cursor: not-allowed; }
html:root[data-sema="yildiz"] .yz :is(.yz-b1, .yz-b2, .yz-b3, a):hover { text-decoration: none; }
html:root[data-sema="yildiz"] .yz :is(.yz-b1, .yz-b2, .yz-b3, .yz-sekme, .yz-kare, .yz-sat, .yz-tur-dugme):focus-visible {
  outline: 1px solid var(--odak-halka);
  outline-offset: 4px;
}

/* Satır (.sat): ızgara · 24 px aralık · 22 px dolgu · 1 px kıl çizgi. */
html:root[data-sema="yildiz"] .yz .yz-sat {
  display: grid;
  align-items: center;
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid var(--ayrac);
}

/* Alan (.alan): ikon + yazı, altı 1 px --p çizgi; girdi 22 px / 300 (arama 19 px). */
html:root[data-sema="yildiz"] .yz .yz-alan {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 64px;
  border-bottom: 1px solid var(--kenarlik);
  color: var(--metin-soluk);
}
/* YILDIZ-4B tur 2 (hakem KRİTİK): tuvalde odak çerçevesi yok (.alan input{outline:0}); odak göstergesi tuval kalıbında — alt çizgi --p yerine --m. */
/* YILDIZ-4C (hakem 4B tur 2 DÜŞÜK "odak alt çizgisi tuvalden parlak"): tuvalde odak hâli yok — çizgi --p KALIR (birebir). */
html:root[data-sema="yildiz"] .yz .yz-alan:focus-within { outline: 0; border-bottom-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .yz .yz-alan .arama-kutu { flex-grow: 1; min-width: 0; display: flex; margin: 0; padding: 0; }
html:root[data-sema="yildiz"] .yz .yz-alan .arama-kutu > input.girdi-arama,
html:root[data-sema="yildiz"] .yz .yz-alan .arama-kutu > input.girdi-arama:hover,
html:root[data-sema="yildiz"] .yz .yz-alan .arama-kutu > input.girdi-arama:focus,
html:root[data-sema="yildiz"] .yz .yz-alan .arama-kutu > input.girdi-arama:focus-visible {
  flex-grow: 1;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 1px 2px;   /* tuvaldeki girdi tarayıcı varsayılanını taşır */
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: normal;
}
html:root[data-sema="yildiz"] .yz .yz-alan .arama-kutu > input.girdi-arama::placeholder { color: var(--metin-soluk); opacity: 1; }
html:root[data-sema="yildiz"] .yz .yz-alan-ara { width: 460px; height: 56px; flex-shrink: 0; }
html:root[data-sema="yildiz"] .yz .yz-alan-ara .arama-kutu > input.girdi-arama,
html:root[data-sema="yildiz"] .yz .yz-alan-ara .arama-kutu > input.girdi-arama:hover,
html:root[data-sema="yildiz"] .yz .yz-alan-ara .arama-kutu > input.girdi-arama:focus,
html:root[data-sema="yildiz"] .yz .yz-alan-ara .arama-kutu > input.girdi-arama:focus-visible { font-size: 19px; }

/* Başlık satırı (Müşteriler · Tüm ekranlar): solda üst satır + 64 px başlık, sağda arama (+ hap). */
html:root[data-sema="yildiz"] .yz .yz-bas { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
html:root[data-sema="yildiz"] .yz .yz-bas-sol { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
html:root[data-sema="yildiz"] .yz .yz-bos { padding: 22px 0; font-size: 18px; }

/* ── TÜM EKRANLAR (tuval Tum4) ────────────────────────────────────────────── */
html:root[data-sema="yildiz"] .yildiz-tum-ekranlar .ana-icerik:has(.yz-tum) { padding: 0; }
html:root[data-sema="yildiz"] .yz-tum .yz-tum-ana { flex-grow: 1; display: flex; flex-direction: column; gap: 44px; padding: 48px 64px 40px; }
html:root[data-sema="yildiz"] .yz-tum .yz-tum-bolumler { display: grid; grid-template-columns: 1fr; gap: 56px 64px; }
html:root[data-sema="yildiz"] .yz-tum .yz-tum-bolum { display: flex; flex-direction: column; gap: 16px; }
html:root[data-sema="yildiz"] .yz-tum .yz-tum-nokta { color: var(--ayrac); letter-spacing: 0; }
html:root[data-sema="yildiz"] .yz-tum .yz-tum-izgara { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
html:root[data-sema="yildiz"] .yz-tum .yz-kare {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px;
  border: 1px solid var(--ayrac);
  border-radius: 4px;
  color: var(--metin-soluk);
  text-decoration: none;
  background: var(--yuzey-govde);
  transition: border-color .2s, color .2s, transform .25s cubic-bezier(.2, .8, .2, 1);
}
html:root[data-sema="yildiz"] .yz-tum .yz-kare:hover,
html:root[data-sema="yildiz"] .yz-tum .yz-kare:focus-visible { border-color: var(--kenarlik); color: var(--metin); transform: translateY(-3px); outline: 0; }
html:root[data-sema="yildiz"] .yz-tum .yz-kare .yz-ik { stroke-width: 1.1; }
html:root[data-sema="yildiz"] .yz-tum .yz-kare:hover .yz-ik { filter: drop-shadow(0 0 6px var(--yz-isilti)); }
html:root[data-sema="yildiz"] .yz-tum .yz-kad { font-size: 15px; font-weight: 400; letter-spacing: -0.005em; line-height: 1.2; }
html:root[data-sema="yildiz"] .yz-tum .yz-kac {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  transform: translateY(100%);
  padding: 8px 2px 0;
  font-size: 12px;
  line-height: 1.3;
  color: var(--metin-soluk);
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
}
html:root[data-sema="yildiz"] .yz-tum .yz-kare:hover .yz-kac,
html:root[data-sema="yildiz"] .yz-tum .yz-kare:focus-visible .yz-kac { opacity: 1; }
html:root[data-sema="yildiz"] .yz-tum .yz-tum-bos { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
@media (prefers-reduced-motion: reduce) {
  html:root[data-sema="yildiz"] .yz-tum .yz-kare { transition: none; }
  html:root[data-sema="yildiz"] .yz-tum .yz-kare:hover,
  html:root[data-sema="yildiz"] .yz-tum .yz-kare:focus-visible { transform: none; }
}

/* ── MÜŞTERİLER (tuval Musteri4) ──────────────────────────────────────────── */
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-ana { flex-grow: 1; min-height: 0; display: flex; flex-direction: column; gap: 36px; padding: 48px 64px 40px; }
html:root[data-sema="yildiz"] .yz-musteri .yz-sekmeler { display: flex; gap: 32px; }
html:root[data-sema="yildiz"] .yz-musteri .yz-sekme {
  margin: 0;
  padding: 6px 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font: inherit;
  font-size: 14px;
  letter-spacing: .1em;
  text-decoration: none;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz-musteri .yz-sekme.yz-sekme--secili { height: 32px; padding: 0 4px; border-bottom: 1px solid var(--kenarlik); color: var(--metin); font-size: 14px; letter-spacing: .1em; }
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-suzgec { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 24px 32px; }
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-liste { display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-sat {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 180px 240px;
  text-decoration: none;
  color: inherit;
}
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-ad { font-size: 20px; font-weight: 400; }
html:root[data-sema="yildiz"] .yz-musteri :is(.yz-musteri-alt, .yz-musteri-durum) { font-size: 15px; }
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-tutar { text-align: right; font-size: 20px; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-durum { text-align: right; }

/* Müşteri kartının eylem satırı (kart Yıldız tokenlarıyla; tuval b2 kalıbı, küçük). */
html:root[data-sema="yildiz"] .yz-kart-eylemler { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 0 0 8px; }
html:root[data-sema="yildiz"] .yz-kart-eylemler .yz-kart-eylem {
  margin: 0;
  padding: 4px 2px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 15px;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz-kart-eylemler .yz-kart-eylem.yz-kotu { color: var(--tehlike); }
html:root[data-sema="yildiz"] .yz-kart-eylemler .yz-kart-eylem:disabled { opacity: .45; cursor: not-allowed; }
html:root[data-sema="yildiz"] .yz-kart-eylemler .yz-kart-eylem-kilit { color: var(--metin-soluk); font-size: 13px; }

/* ── TEZGÂH (tuval Tezgah4) ───────────────────────────────────────────────────
   Islemler.razor Yıldız dalı: sayfa kabı .yz-islem; özgün başlık, tür ızgarası, kart kabuğu,
   müşteri satırı ve son satışlar tuvalde YOK → gizli ("Satış" / "Değiştir" açar). */
html:root[data-sema="yildiz"] body .yz-islem { gap: 0; max-width: none; width: 100%; margin: 0; padding: 0; display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] body .yz-islem > .islem-fis-kart { width: 100%; }
html:root[data-sema="yildiz"] .yz-islem > .sayfa-basi,
html:root[data-sema="yildiz"] .yz-islem > #islem-son-satislar,
html:root[data-sema="yildiz"] .yz-islem .islem-fis-kart > .kart-baslik { display: none; }
html:root[data-sema="yildiz"] .yz-islem:not(.yz-turler-acik) > :is(.sekme-grubu, #islem-izgara, #islem-diger) { display: none; }
html:root[data-sema="yildiz"] .yz-islem.yz-turler-acik > :is(.sekme-grubu, #islem-izgara, #islem-diger) { padding: 24px 64px 0; }
html:root[data-sema="yildiz"] .yz-islem .islem-fis-kart {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
html:root[data-sema="yildiz"] .yz-islem .islem-fis-kart > .kart-govde { gap: 0; padding: 0; }
html:root[data-sema="yildiz"] .yz-islem .islem-fis-kart > .kart-govde > :is(.bant, .hata-bandi, .basari-bandi, [role="alert"], #islem-masak-hata-bilgi, .kart--masak) { margin: 16px 64px 0; }

html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ana {
  flex-grow: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 80px;
  padding: 48px 64px 40px;
}
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sol { display: flex; flex-direction: column; gap: 32px; min-height: 0; min-width: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir { display: flex; align-items: baseline; justify-content: space-between; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tur-dugme {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz-tezgah .yz-b2.yz-tezgah-degistir { height: 32px; font-size: 14px; letter-spacing: .08em; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .fis-arama { position: relative; flex-grow: 1; min-width: 0; margin: 0; padding: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .barkod-satiri { display: flex; margin: 0; padding: 0; gap: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .barkod-satiri > button { display: none; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .arama-kutu { flex-grow: 1; min-width: 0; display: flex; margin: 0; padding: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .arama-kutu > input.girdi-arama,
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .arama-kutu > input.girdi-arama:hover,
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .arama-kutu > input.girdi-arama:focus,
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .arama-kutu > input.girdi-arama:focus-visible {
  flex-grow: 1;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 1px 2px;
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: normal;
}
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .arama-kutu > input.girdi-arama::placeholder { color: var(--metin-soluk); opacity: 1; }
/* olcek.css (8c) telefon kuralı #islem-barkod'a 40 px sol dolgu verir (büyüteç düğmesi için) — Yıldız'da düğme yok, dolgu tuvaldeki gibi. */
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .barkod-satiri #islem-barkod.girdi-arama { padding: 1px 2px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .fis-arama-liste { position: absolute; left: 0; right: 0; top: calc(100% + 1px); z-index: 20; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .fis-elle[open] { position: absolute; left: 0; right: 0; top: calc(100% + 1px); z-index: 19; padding: 16px 0; background: var(--yuzey-govde); }

html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kalemler { display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz-tezgah :is(.yz-tezgah-kalem, .yz-tezgah-odeme) {
  width: 100%;
  margin: 0;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kalem { grid-template-columns: 72px minmax(0, 1fr) auto; padding: 26px 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ayar { font-size: 40px; line-height: 1; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ad-kap { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ad { font-size: 20px; font-weight: 400; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ayrinti { font-size: 15px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-tutar { font-size: 22px; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-bosluk { flex-grow: 1; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-toplam { display: flex; align-items: flex-end; justify-content: space-between; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-toplam-ayrinti { font-size: 16px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-toplam-rakam { font-size: 72px; line-height: .95; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kurus { font-size: 36px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-duzen { display: flex; flex-direction: column; gap: 16px; align-items: stretch; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-duzen > .yz-tezgah-kapat { align-self: flex-start; height: 40px; }

html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag { display: flex; flex-direction: column; gap: 28px; padding-top: 4px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odemeler { display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odeme { grid-template-columns: minmax(0, 1fr) auto; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kasa { font-size: 15px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odeme-tutar { font-size: 20px; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ekler { display: flex; flex-wrap: wrap; gap: 12px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-fark { display: flex; flex-direction: column; gap: 6px; padding-top: 24px; border-top: 1px solid var(--kenarlik); }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-fark-rakam { display: flex; align-items: center; gap: 16px; font-size: 56px; line-height: 1; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-onay { color: var(--basari); stroke-width: 1.6; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-not { font-size: 15px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-acik-hesap { align-self: flex-start; margin-top: 8px; }
/* Y-01 tarayıcı bulgusu (21.10): fişte kalem varken dört düğme (Beklet · Fiyat teklifi ver · Vazgeç · Kaydet) 1280/1440 px'de sağ
   sütunu aşıp "Kaydet ve yazdır" ekran dışına taşıyordu (sağ kenar 1348 > 1280). Satır sarar, birincil düğme sağda son sırada. */
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-eylemler { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px 24px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kaydet { flex-grow: 1; }
/* D1-03 (18.10) — bekleyen fişler: tuval satır dili (ad · soluk ayrıntı · Al / Sil), kutu yok, ince ayraç. */
html:root[data-sema="yildiz"] .yz-tezgah .yz-bekleyen-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-bekleyen-satir { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--kenarlik); }
html:root[data-sema="yildiz"] .yz-tezgah .yz-bekleyen-metin { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-bekleyen-ad { font-size: 17px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── TEZGÂH tur 2 (tasarım hakemi KRİTİK) ─────────────────────────────────────
   (1) Kaydet sonucu: özgün bantlar (hata, başarı, yazdır, yerleşim/taksit uyarısı, yasal kapı) fişin
       altında ekran dışında kalıyordu → Yıldız'da çizilmez; aynı metin Fark bloğunun not satırında
       (YildizTezgah: #yildiz-tezgah-hata / -son-fis / -yazdir / -uyari-n; yasal kapı cümlesi #yildiz-tezgah-not).
   (2) Müşteri seçimi "Değiştir"e bağlı KATMAN (sol sütunun üstünde, akışı itmez) — tuval .alan + .sat kalıbı.
   (3) Kimlik formu çekmecede (YildizTezgah) — fişin altına açılmaz. */
html:root[data-sema="yildiz"] .yz-islem :is(#hata-bandi, #hata-ayrinti, #basari-bandi, #islem-yazdir-sar, #islem-yazdir-hata,
  #islem-taksit-uyari, #islem-taksit-hata, #islem-yerlesim-uyari, #islem-yasal-kapi) { display: none; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sol { position: relative; }
html:root[data-sema="yildiz"] .yz-tezgah #yildiz-tezgah-hata:focus { outline: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-yazdir { align-self: flex-start; height: 40px; font-size: 15px; }
/* YILDIZ-4C tur 3 (tasarım hakemi KRİTİK): katman artık AKIŞTA — kalemleri ve toplamı örtmez, aşağı iter (geniş ekranda
   kalem listesi kendi içinde kayar, Toplam sabit); yalnız "Değiştir"le açılır. Zemin opak. */
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-musteri {
  position: static;
  flex: 0 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--ayrac);
  background: var(--yuzey-govde);
}
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri :is(.fis-ust-satir, .alan, .secici-alan, .fis-ust-ayrinti) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
/* Özgün sayfa kuralları (tuval-satis/olcek 1,3,1 · ortak.css 2,3,0) katmanda kimlik ağırlığıyla aşılır; !important yok. */
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .secici-tetik > .secici-metin--tam:not(#_):not(#__) { font: inherit; }
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri :is(.secici-kap, .fis-ust-ozet-sar) { width: 100%; }
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .alan-etiket {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .zorunlu-isaret,
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .secici-ok,
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .rozet-satir:has(#islem-cari-bakiye) { display: none; }
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri :is(.secici-tetik, .fis-salt-kutu, .fis-ust-ozet, .girdi):not(.secici-ara):not(#_) {
  width: 100%;
  height: 64px;
  min-height: 0;
  margin: 0;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--metin);
  font: inherit;
  font-size: 22px;
  font-weight: 300;
  text-align: left;
}
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri :is(.secici-tetik, .fis-ust-ozet, .girdi):focus-visible { outline: 0; border-bottom-color: var(--metin); }
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .secici-liste-kap {
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--ayrac);
  background: var(--yuzey-govde);
  box-shadow: none;
}
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .secici-ara {
  height: 56px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--metin);
  font-size: 19px;
  font-weight: 300;
}
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .secici-ara:focus-visible { outline: 0; border-bottom-color: var(--metin); }
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .secici-secenek {
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid var(--ayrac);
  border-radius: 0;
  background: transparent;
  color: var(--metin);
  font-size: 20px;
  font-weight: 400;
}
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .secici-secenek:is(.etkin, :hover) { background: transparent; color: var(--metin); }
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri :is(.secici-alt, .secici-rozet, .secici-isaret) { background: transparent; color: var(--metin-soluk); font-size: 15px; }
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri :is(.bant, [role="alert"], .metin-amber) {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--tehlike);
  font-size: 15px;
}
html:root[data-sema="yildiz"] #yildiz-tezgah-musteri.yz-tezgah-musteri .btn {
  height: 40px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  color: var(--metin);
  font-size: 15px;
}

/* ── Dar pencere (tuvalde telefon hâli yok → aynı dilde tek sütun; taşma 0) ── */
@media (max-width: 1360px) {
  html:root[data-sema="yildiz"] .yz-tum .yz-tum-izgara { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz { min-height: 0; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ana { grid-template-columns: minmax(0, 1fr); gap: 48px; padding: 32px 24px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-toplam { flex-wrap: wrap; gap: 8px 24px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-toplam-rakam { font-size: min(72px, 15vw); }
  html:root[data-sema="yildiz"] .yz-islem.yz-turler-acik > :is(.sekme-grubu, #islem-izgara, #islem-diger) { padding: 16px 24px 0; }
  html:root[data-sema="yildiz"] .yz-islem .islem-fis-kart > .kart-govde > :is(.bant, .hata-bandi, .basari-bandi, [role="alert"], #islem-masak-hata-bilgi, .kart--masak) { margin: 16px 24px 0; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-ana,
  html:root[data-sema="yildiz"] .yz-tum .yz-tum-ana { padding: 32px 24px; }
  html:root[data-sema="yildiz"] .yz .yz-bas { flex-wrap: wrap; gap: 24px; }
  html:root[data-sema="yildiz"] .yz .yz-h1 { font-size: min(64px, 12vw); }
  html:root[data-sema="yildiz"] .yz .yz-alan-ara { width: 100%; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-sat { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; }
  html:root[data-sema="yildiz"] .yz-tum .yz-tum-izgara { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  html:root[data-sema="yildiz"] .yz-tum .yz-tum-izgara { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html:root[data-sema="yildiz"] .yz-musteri .yz-sekmeler { flex-wrap: wrap; gap: 8px 24px; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-sekme { flex-shrink: 0; white-space: nowrap; }
}
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ana,
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-ana,
  html:root[data-sema="yildiz"] .yz-tum .yz-tum-ana { padding: 24px 16px; }
  html:root[data-sema="yildiz"] .yz-tum .yz-tum-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-eylemler { flex-wrap: wrap; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-4C — TEZGÂH ETKİLEŞİM HÂLLERİ · MÜŞTERİLER/TÜM EKRANLAR KALANLARI
   Kurucu (09.10): "birebir … uyarlama varsayım istemiyorum". Tuvalde çizilmemiş hâller tuvalin
   KENDİ kalıplarıyla kurulur — yeni kalıp YOK:
     .k    (Y_Isletme/Y_Emanet form satırı): etiket 12 px · .18em · büyük harf · --s; değer 22 px / 300 /
           −0,01em; dolgu 18 px 0; altı 1 px --h (yazılabilir değerde çizgi --p — tuval .alan çizgisi);
     .sat  (Bugun4 "Seni bekleyen"): ad · soluk ek · soluk durum (15 px) · .b3;
     .ekle (Y_Isletme "+ Logo ekle"): ikon + 15 px · .04em · --s; üstüne gelince --m;
     not   (Tezgah4 Fark bloğu): 15 px, kötü durum --kotu (uyarı sarısı YOK — metinle söylenir).
   .yz-duzen içindeki ortak girdi bileşenleri (AlanKabugu · Secici · Onay · FisOdemeBacaklari ·
   FisParaUstu · FisIskontoSatiri · FisSatici · MasakFormu) bu kalıplara giydirilir: kutu, dolgu,
   gölge, kart başlığı, ok YOK. Hepsi `html:root[data-sema="yildiz"]` kapsamlı; renk yalnız var().
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── .ekle (tuval Y_Isletme) ─────────────────────────────────────────────── */
html:root[data-sema="yildiz"] .yz .yz-ekle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  margin: 0;
  padding: 16px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--metin-soluk);
  font: inherit;
  font-size: 15px;
  letter-spacing: .04em;
  text-decoration: none;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz .yz-ekle:hover { color: var(--metin); }
html:root[data-sema="yildiz"] .yz .yz-ekle:focus-visible { outline: 1px solid var(--odak-halka); outline-offset: 4px; }

/* ── .k (tuval form satırı) — Yıldız'ın kendi satırları ──────────────────── */
html:root[data-sema="yildiz"] .yz .yz-k { display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--ayrac); }
html:root[data-sema="yildiz"] .yz .yz-k-etiket { margin: 0; font-size: 12px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .yz .yz-k-deger { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 22px; font-weight: 300; letter-spacing: -0.01em; color: var(--metin); }
html:root[data-sema="yildiz"] .yz .yz-k-girdi {
  flex-grow: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-variant-numeric: tabular-nums;
}
html:root[data-sema="yildiz"] .yz .yz-k-ek { font-size: 14px; letter-spacing: .04em; }
html:root[data-sema="yildiz"] .yz .yz-k-onay { width: 20px; height: 20px; margin: 0; accent-color: var(--metin); }

/* ── .yz-duzen: ortak girdi bileşenleri tuval .k kalıbında ──────────────── */
html:root[data-sema="yildiz"] .yz .yz-duzen { display: flex; flex-direction: column; gap: 0; align-items: stretch; }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.kart, .kart-govde, .form-grid-2, .form-grid-3, .form-grid-4, .form-dikey, .satir, .satir--alt-hizali, .fis-ust-ayrinti, .alan-kontrol, .fis-aldim-durum) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.alan, .secici-alan) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid var(--ayrac);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
/* Tuval Y_Isletme formunda yazılabilir değer de .k satırıdır (çizgi --h). İç içe sarmalayıcı ikinci çizgi çizmez. */
html:root[data-sema="yildiz"] .yz .yz-duzen .alan:has(> :is(.alan, .secici-alan)) { padding: 0; border-bottom: 0; gap: 0; }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.alan, .secici-alan) :is(.alan, .secici-alan) { padding-top: 18px; }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.alan-etiket, .alan > label, .secici-alan > label, .alan-etiket-metin):not(#_) {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.alan-istege, .zorunlu-isaret, .secici-ok, .alan-ipucu, .fis-not-gizli, #islem-reyon-ipucu, #islem-personel-ipucu, .fis-ust-ozet-ok) { display: none; }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(input.girdi, textarea.girdi, .secici-tetik, .hucre-vurgu, .fis-salt-kutu):not(.secici-ara):not(#_) {
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 22px;
  font-weight: 300;
  line-height: 1.45;
  letter-spacing: -0.01em;
  text-align: left;
}
html:root[data-sema="yildiz"] .yz .yz-duzen :is(input.girdi, .secici-tetik):focus-visible { outline: 0; }
/* Seçici tetiğinin yazısı tetiğin yazısını alır (ortak.css .secici-metin--tam kendi boyunu yazar). */
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-tetik > .secici-metin:not(#_):not(#__) { font: inherit; letter-spacing: inherit; color: inherit; }
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-kap { width: 100%; }
html:root[data-sema="yildiz"] .yz .yz-duzen .alan-girdi-satir { display: flex; align-items: baseline; gap: 12px; width: 100%; }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.alan-son-ek, .alan-kaynak, .rozet, .alan-onizleme) {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--metin-soluk);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: none;
}
html:root[data-sema="yildiz"] .yz .yz-duzen .hucre-vurgu .rozet { margin-left: 12px; }
/* İndirim önizlemesi = tuval .k .v .s (14 px · .04em). */
html:root[data-sema="yildiz"] .yz .yz-duzen #islem-iskonto-onizleme:not(#_) { font-size: 14px; font-weight: 300; letter-spacing: .04em; }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.metin-soluk, .metin-kucuk) { font-size: 15px; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.hata-metni, .alan-hata, .metin-kirmizi, .metin-amber, .alan-kilit-sebep) { font-size: 15px; font-weight: 400; color: var(--tehlike); }
html:root[data-sema="yildiz"] .yz .yz-duzen .hucre-vurgu.metin-kirmizi { font-size: 22px; font-weight: 300; }
html:root[data-sema="yildiz"] .yz .yz-duzen .metin-yesil { color: var(--basari); }
/* Bantlar: tuvalin not satırı (dolgu/kenar yok). */
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.bant, .bant-hata, .bant-basari, .bant-uyari, .bant-bilgi) {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 12px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--tehlike);
  font-size: 15px;
}
html:root[data-sema="yildiz"] .yz .yz-duzen .bant-basari { color: var(--basari); }
/* Düğmeler: tuval .b2 (altı çizili) küçük; çarpı ikonları kutusuz soluk. */
/* Küçük satır içi eylem = tuval Tezgah4 "Değiştir" .b2 çeşidi (32 px · 14 px · .08em). */
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.btn, .dugme):not(#_),
html:root[data-sema="yildiz"] .yz .yz-tezgah-pesin-soru .yz-b2:not(#_),
html:root[data-sema="yildiz"] .yz :is(.yz-tezgah-kalem-eylem, .yz-tezgah-musteri-kimlik-eylem) .yz-b2,
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-duzen > .yz-b2.yz-tezgah-kapat:not(#_),
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-fark > .yz-b2.yz-tezgah-yazdir:not(#_),
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-fark > .yz-b2.yz-tezgah-urun-belgesi:not(#_) {   /* D1-13: ürün belgesi yazdır bağlantısıyla aynı görünüm */
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  width: auto;
  height: 32px;
  min-height: 0;
  margin: 0;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--metin);
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .08em;
}
html:root[data-sema="yildiz"] .yz .yz-duzen :is(h2, h3, h4, .kart-baslik h3, legend) {
  margin: 0;
  padding: 18px 0 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .yz .yz-duzen .kart-baslik { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 0; border: 0; background: transparent; }
html:root[data-sema="yildiz"] .yz .yz-duzen .onay-etiket { display: flex; align-items: center; gap: 12px; }
html:root[data-sema="yildiz"] .yz .yz-duzen .onay-kutu { width: 20px; height: 20px; margin: 0; accent-color: var(--metin); }
/* Seçici açılır listesi: tuval .sat satırları (dolgu yok; zemin sayfa zemini). */
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-liste-kap { border: 0; border-bottom: 1px solid var(--ayrac); border-radius: 0; background: var(--yuzey-govde); box-shadow: none; }
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-ara {
  height: 56px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--metin);
  font-size: 19px;
  font-weight: 300;
}
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-ara:focus-visible { outline: 0; }
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-secenek {
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid var(--ayrac);
  border-radius: 0;
  background: transparent;
  color: var(--metin);
  font-size: 18px;
  font-weight: 400;
}
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-secenek:is(.etkin, .secili, :hover) { background: transparent; color: var(--metin); }
html:root[data-sema="yildiz"] .yz .yz-duzen :is(.secici-alt, .secici-rozet, .secici-isaret) { background: transparent; color: var(--metin-soluk); font-size: 15px; }
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-perde { background: transparent; }

/* Tek ödeme düzeni: satırın kendisi ödeme türünü söyler → "Ödeme türü · sistem belirledi" tekrarı çizilmez (UX-S22). */
html:root[data-sema="yildiz"] .yz .yz-duzen:has(#islem-aldim-odeme) .alan:has(> #islem-odeme-sade) { display: none; }

/* ── Karma ödeme: satırlar tuval .sat kalıbında ("Nakit · Ana Kasa …… 15.000,00 ₺") ─────────── */
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .kart-baslik,
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma #islem-para-ustu-ac,
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma #islem-karma-sar { display: none; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 150px;
  position: relative;
  align-items: center;
  column-gap: 24px;
  row-gap: 0;
  margin: 0;
  padding: 22px 0;
  border-bottom: 1px solid var(--ayrac);
}
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > * { grid-column: 1 / -1; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > :is(.alan, .secici-alan) { padding: 0; border-bottom: 0; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-ad { grid-column: 1; grid-row: 1; display: flex; align-items: baseline; gap: 6px; min-width: 0; padding: 0; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-ad > .secici-alan { flex: 0 1 auto; min-width: 0; padding: 0; border-bottom: 0; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .yz-bacak-kasa { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; color: var(--metin-soluk); }
/* 4C-2 (Chrome ölçümü 10.10): araç seçicisi içerik kadar — "Nakit · Ana Kasa" eki kesilmez (önce tetik %100 → "· An…"). */
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-ad > .secici-alan,
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-ad > .secici-alan :is(.secici-kap, .secici-tetik) { width: max-content; max-width: 100%; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-ad .secici-liste-kap { min-width: 320px; max-width: none; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] { grid-column: 3; grid-row: 1; }
/* tur 3: satırı çıkaran düğme tuvalin .b2 kalıbında ("Çıkar") satırın sağ ucunda — ✕ yok. */
/* 4C-2 (tuval-kiyas karma FARK 2): tutar tuvaldeki gibi satırın SAĞ UCUNDA biter ("15.000,00 ₺" sağ kenarı = satır sağ kenarı);
   "Çıkar" adla tutarın arasında, satır yüksekliğini büyütmeden (tuval .sat 74 px aralık). */
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-sil { grid-column: 2; grid-row: 1; align-self: center; height: 29px; min-height: 0; font-size: 14px; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri .secici-alan[id$="-arac-sar"] .secici-tetik:not(#_):not(#__):not(#___) { min-height: 0; height: 29px; padding: 0; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] input.girdi:not(#_):not(#__):not(#___) { min-height: 0; height: 29px; padding-top: 0; padding-bottom: 0; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri :is(.alan, .secici-alan) > :is(label, .alan-etiket),
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri :is(.alan, .secici-alan) .alan-alt:empty {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
/* 4C-2: gizli etiketin iç metni kendi kutusunda kırpılır (sikisma K3 "TUTAR" taşması). */
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri :is(.alan, .secici-alan) > :is(label, .alan-etiket) * { overflow: hidden; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri .secici-alan[id$="-arac-sar"] .secici-tetik:not(#_):not(#__) { font-size: 18px; font-weight: 400; letter-spacing: normal; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] input.girdi:not(#_):not(#__) { font-size: 20px; font-weight: 300; letter-spacing: normal; text-align: right; }
/* Tuval "15.000,00 ₺": ₺ tutarla aynı yazı (20 px / 300 / --m). */
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] .alan-son-ek { font-size: 20px; font-weight: 300; letter-spacing: normal; color: var(--metin); }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] .alan-girdi-satir { gap: 5px; flex-wrap: nowrap; }
/* 4C-2 (375 ölçümü): tutar ve ₺ tek satırda — girdi 8rem tabanı 130 px sütunda ₺'yi alt satıra itiyordu. */
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] .alan-girdi-satir > .girdi { flex: 1 1 0; min-width: 0; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > :is(.secici-alan[id$="-kasa-sar"], .secici-alan[id$="-pos-sar"], .secici-alan[id$="-taksit-sar"], .secici-alan[id$="-birim-sar"]) { grid-column: 1 / -1; padding-top: 6px; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > :is(.secici-alan[id$="-kasa-sar"], .secici-alan[id$="-pos-sar"], .secici-alan[id$="-taksit-sar"]) .secici-tetik:not(#_):not(#__) { font-size: 15px; font-weight: 400; color: var(--metin-soluk); letter-spacing: normal; }
/* PRO tek kasa: "Ana Kasa — Tek kasa var — otomatik seçildi" tuvalde yok (UX-S22 kasa otomatik) — ekran okuyucuda kalır (belirsiz eşleşme). */
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > [id$="-kasa-tek"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html:root[data-sema="yildiz"] .yz .yz-bacaklar-govde { display: flex; flex-direction: column; gap: 0; }
html:root[data-sema="yildiz"] .yz .yz-bacaklar-govde > .satir-arasi { display: none; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-ek-satiri { padding: 0; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma #islem-bacak-kalan-ata:not(#_) { margin-top: 12px; }

/* ── Müşteri katmanı (YildizMusteriSecici) ─────────────────────────────── */
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-sec { display: flex; flex-direction: column; gap: 8px; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-ara { width: 100%; cursor: text; }
html:root[data-sema="yildiz"] .yz .yz-girdi {
  flex-grow: 1;
  min-width: 0;
  margin: 0;
  padding: 1px 2px;
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  color: var(--metin);
  font: inherit;
  font-size: 22px;
  font-weight: 300;
}
html:root[data-sema="yildiz"] .yz .yz-girdi::placeholder { color: var(--metin-soluk); opacity: 1; }
html:root[data-sema="yildiz"] .yz .yz-girdi::-webkit-search-cancel-button { display: none; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-liste { display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-sat { grid-template-columns: minmax(0, 1fr) auto auto; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-ad { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-durum { font-size: 15px; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-kimlik { display: flex; flex-direction: column; gap: 12px; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-kimlik-eylem { display: flex; align-items: center; gap: 24px; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-musteri { max-height: 50vh; overflow-y: auto; overscroll-behavior: contain; }

/* ── Kalem düzenlemesi (YildizKalemDuzen) — satırın altında ─────────────── */
html:root[data-sema="yildiz"] .yz .yz-tezgah-kalem-duzen { padding: 0 0 8px 96px; border-bottom: 1px solid var(--ayrac); }
html:root[data-sema="yildiz"] .yz .yz-tezgah-kalem-eylem { display: flex; align-items: center; gap: 40px; padding-top: 8px; }


/* ── Ödeme sütunu: ad tek satır (hakem 4B tur 2 ORTA "Havale · Ana Kasa iki satır") ───────── */
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odeme-ad { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odeme-tutar { white-space: nowrap; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-duzen > .yz-tezgah-kapat { margin-top: 8px; }

/* ── Kimlik çekmecesi (Yıldız tezgâhı): kâğıt değil ekran — tuval dili (kart/gölge/dolgu yok) ─ */
html:root[data-sema="yildiz"] .yz .cekmece-arka { background: transparent; }
html:root[data-sema="yildiz"] .yz .cekmece {
  border: 0;
  border-left: 1px solid var(--ayrac);
  border-radius: 0;
  background: var(--yuzey-govde);
  box-shadow: none;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .yz .cekmece :is(.cekmece-bas, .cekmece-alt) { border-color: var(--ayrac); background: transparent; }
html:root[data-sema="yildiz"] .yz .cekmece-bas :is(h2, h3) { font-size: 22px; font-weight: 300; letter-spacing: -0.01em; color: var(--metin); }
html:root[data-sema="yildiz"] .yz .cekmece-kapat:not(#_) { border: 0; background: transparent; color: var(--metin-soluk); box-shadow: none; }
html:root[data-sema="yildiz"] .yz .cekmece-alt .dugme:not(#_) {
  height: 32px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--metin);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .08em;
}

/* ── Ekran içinde kalma (kabul: Kaydet ve bantlar 1440×900 ve 375'te ekranda) ─────────────────
   Tuval Tezgah4'te sütunlar ekran boyudur (main flex-grow, min-height 0). Düzenleme hâlleri sütunu uzatınca
   Toplam/Fark/Kaydet ekran dışına itiliyordu → geniş ekranda gövde ekran boyunda kalır, uzayan parça
   (kalem listesi, açılan düzenleme alanları) kendi içinde kayar; Fark + Kaydet sütunun dibinde sabit. */
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt { display: flex; flex-direction: column; gap: 28px; flex-shrink: 0; }
html:root[data-sema="yildiz"] .yz .yz-duzen #islem-para-ustu-ac:not(#_):not(#__) { display: none; }
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-liste-kap:not(#_) { position: relative; z-index: 41; top: auto; bottom: auto; left: auto; right: auto; translate: none; width: 100%; max-width: none; }   /* sunum 14.10 (kurucu: "ara kısmına tıklayınca liste kapanıyor"): akışta kalır ama .secici-perde (z 40) ÜSTÜNDE — static iken perde listeyi örtüyor, her tıklama perdeye gidip listeyi kapatıyordu */
@media (min-width: 1001px) {
  /* Kurucu 24.10: "sağda seçim kısımları kendi içinde scroll çıkıyor; küçücük pencerede aşağı yukarı olmuyor" — sütunlar
     ekran boyuna KİLİTLENMEZ, iç kaydırma (kalemler/düzen/ödeme) YOK; sayfa bütün olarak kayar. Fark + Kaydet sağ sütunun
     dibinde yapışkan kalır (aşağıdaki TEZGAH-ODEME-3 bloğu). Eski "sütun = ekran, parça kendi içinde kayar" kuralı kalktı. */
  html:root[data-sema="yildiz"] .yz-tezgah { min-height: calc(100vh - 72px); }
  html:root[data-sema="yildiz"] .yz-tezgah :is(.yz-tezgah-ust-satir, .yz-tezgah-giris, .yz-tezgah-toplam, .yz-tezgah-sag > .yz-ust, .yz-tezgah-odemeler, .yz-tezgah-ekler) { flex-shrink: 0; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-bosluk { flex: 1 1 auto; min-height: 0; }
}
@media (max-width: 1000px) {
  /* YILDIZ-4D (kurucu: "alt şerit içeriğin üstüne binmez, içerik alt şeridin yüksekliği kadar boşluk bırakır"):
     4C'deki position: fixed + sabit 300 px boşluk, şerit uzayınca (uyarı/hata/Peşin sorusu) son satırları ALTINDA
     bırakıyordu. Şerit artık AKIŞTA ve yapışkan (sticky): sağ sütun kutusunu kaldırır (display: contents) →
     şeridin kapsayıcısı tüm sayfa; şerit kendi yüksekliği kadar yer kaplar, sayfa sonunda hiçbir içerik altında
     kalmaz; kaydırırken ekranın dibinde durur (Kaydet ekranda). */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ana { display: flex; flex-direction: column; gap: 28px; padding-bottom: 0; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sol { margin-bottom: 20px; }   /* sütunlar arası 48 px (eski ızgara aralığı) */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag { display: contents; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-bosluk { display: none; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt {
    position: sticky;
    bottom: 0;
    z-index: 40;   /* müşteri katmanının (30) ÜSTÜNDE: katman uzasa da Fark + Kaydet görünür */
    margin-left: -24px;
    margin-right: -24px;
    padding-left: 24px;
    padding-right: 24px;
    gap: 16px;
    padding-top: 16px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--ayrac);
    background: var(--yuzey-govde);
  }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt .yz-tezgah-fark { padding-top: 0; border-top: 0; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt .yz-tezgah-fark-rakam { font-size: 40px; }
  /* Görsel denetim Y-2/O-13 (21.10): barkod sonuç listesi yapışkan alt panelin (z 40) ÜSTÜNDE — son satır ("Ürün seç,
     fiyatı kendin yaz") artık panelin altında kalmaz. */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .fis-arama-liste { z-index: 41; }
}
/* Görsel denetim Y-2 (21.10): dikey telefonda panel ekranın %37'sini kaplıyordu → aralıklar ve Fark rakamı küçülür. */
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt { gap: 10px; padding-top: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt .yz-tezgah-fark-rakam { font-size: 32px; }
  /* "FARK" ile tutar aynı satırda (dikey yer ~24 px kazanılır); yasal not küçük yazı. */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt .yz-tezgah-fark { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 2px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt .yz-tezgah-fark > .yz-ust:not(#_) { margin: 0; display: inline-block; flex: 0 0 auto; width: auto; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt .yz-tezgah-fark > :not(.yz-ust):not(.yz-tezgah-fark-rakam) { flex-basis: 100%; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt .yz-tezgah-not { font-size: 13px; }
}
/* Görsel denetim Y-1 (21.10): yatay telefonda (yükseklik ≤ 500 px) yapışkan panel ekranın %73'ünü kaplayıp barkod alanını ve
   satış türü sekmelerini örtüyordu → kısa ekranda panel akışta kalır (yapışmaz); Kaydet sayfa sonunda. */
@media (max-width: 1000px) and (max-height: 500px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt { position: static; }
}

/* ── Fişin altındaki özgün bildirimler Yıldız'da ekran dışında kalıyordu → Fark bloğunda (YildizTezgah); özgünleri çizilmez ── */
html:root[data-sema="yildiz"] .yz-islem :is(#islem-nakit-uyari-kutu, #islem-reyon-hata) { display: none; }
/* Peşin art arda sorusu: uyarı kutusu yerine tuvalin not satırı + küçük .b2 eylemleri. */
html:root[data-sema="yildiz"] .yz .yz-tezgah-pesin-soru :is(.uyari-kutu, .dugme-satir) { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--metin); }
html:root[data-sema="yildiz"] .yz .yz-tezgah-pesin-soru .dugme-satir { flex-direction: row; flex-wrap: wrap; gap: 8px 24px; }
/* Başlık = tuval .ust ("FARK" ile aynı); metin = Fark bloğunun not satırı (.s 15 px). */
html:root[data-sema="yildiz"] .yz .yz-tezgah-pesin-soru p { margin: 0; font-size: 15px; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .yz .yz-tezgah-pesin-soru #pesin-soru-baslik strong { font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .yz .yz-tezgah-pesin-soru summary { font-size: 14px; letter-spacing: .04em; color: var(--metin-soluk); cursor: pointer; }

/* ── Müşteriler: tuval alt satırı (YILDIZ-4D: "+ Süzgeç" tuvalde yok → kaldırıldı; şerit yalnız bağlantı süzgecinde) ── */
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-not { font-size: 14px; letter-spacing: .06em; }
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-suzgec { display: flex; flex-wrap: wrap; gap: 0 32px; }

/* ── Dar pencere ─────────────────────────────────────────────────────────── */
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz .yz-tezgah-kalem-duzen { padding-left: 0; }
  html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri { grid-template-columns: minmax(0, 1fr) auto 130px; column-gap: 12px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-musteri { max-height: none; }
}
@media (max-width: 480px) {
  /* Tuvalde telefon hâli yok: 22 px yer tutucu 375'te kesiliyordu (hakem 4B tur 2 YÜKSEK) — metin AYNEN, yalnız boy (belirsiz eşleşme). */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-giris .arama-kutu > input.girdi-arama::placeholder { font-size: 18px; }
  html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-kimlik-eylem { flex-wrap: wrap; gap: 8px 24px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-alt { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
}

/* YILDIZ-TIPO */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-TIPO — TAM TİPOGRAFİ/ÖĞE DENETİMİ (kurucu 09.10: "yazı tipleri özellikle
   dropdownlarda eski temalardan kalma … tam bir kontrol sağlansın" · "birebir tasarım").
   Ölçüt (tuval ham/yildiz-tuval/kaynak/*.dc.html'den çıkarılan izinli küme; araç
   betikler/tur/yildiz-tipo-tara.mjs): aile Inter · boy 11 12 13 14 15 16 17 18 19 20 22 28 36
   40 52 56 64 72 104 112 px · ağırlık 200/300/400/500 · harf aralığı tuval em kümesi ·
   renk yalnız Yıldız belirteçleri. Bu blok YALNIZ yazı/renk düzeltir; veri/para davranışı,
   yerleşim ızgaraları ve öteki 8 şema DEĞİŞMEZ (her seçici data-sema="yildiz" kapsamlı).
   ═══════════════════════════════════════════════════════════════════════════ */

/* T1) Harf aralığı: tuval kökü (.y) aralık yazmaz → normal. YILDIZ-1'in −0,011em gövde ve
   karo kuralı tuvalde YOK (aynı seçici, sonra gelir). */
html:root[data-sema="yildiz"] body { letter-spacing: normal; }
html:root[data-sema="yildiz"] .tuval-tezgah .tuval-karo-izgara > .ekran-karo { letter-spacing: normal; }
/* Büyük sayı: tuval .ince = −0,035em (−0,03em tuvalde yok). */
html:root[data-sema="yildiz"] body :is(.stat-deger, .para-buyuk, .buyuk-sayi, .pano-tablo tbody td, .yazi-rakam,
                                       .panel-soru-sayi, .karsilama-selam) { letter-spacing: -0.035em; }
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .stat-deger { letter-spacing: -0.035em; }

/* T2) Ağırlık: tuvalin en kalın ağırlığı 500; eski temanın 600/700 vurguları 500'e iner,
   sayfa başlığı (h1) tuvaldeki gibi 300. Yıldız'ın kendi bileşenleri (.yz, #yildiz-*) hariç. */
html:root[data-sema="yildiz"] body h1:not(.yz *, [id^="yildiz-"]) { font-weight: 300 !important; }
html:root[data-sema="yildiz"] body :is(h2, h3, h4, h5, h6, th, strong, b):not(.yz *, [id^="yildiz-"]:not(#yildiz-kabuk), [id^="yildiz-"]:not(#yildiz-kabuk) *) { font-weight: 500 !important; }
html:root[data-sema="yildiz"] body :is(.hucre-vurgu, .zorunlu-isaret, .yasal-alt-baslik, .degismez-baslik,
                                       .ekran-karo-ad, .rozet, .k-ad, .emanet-bilgi-i, .zo-rm-grup-ad, .panel-liste-tutar,
                                       td.sayi, td[data-izgara-rol="birincil"], td.zo-valor-tarih, td.zo-k-bas, td.zo-k-tutar,
                                       .zo-yeni-fatura td:nth-child(1)):not(.yz *) { font-weight: 500 !important; }
html:root[data-sema="yildiz"] body :is([id^="ys-ad-"], [id^="ys-deger-"], [id^="id-tur-"], [id^="kr-tarih-"], [id^="kr-bakiye-"],
                                       a[id^="vade-cari-"], [id$="-sutunlar-baslik"], p[id$="-baslik"], dd[id^="ikimlik-"],
                                       [id="d-sube-tek"], [id="e-giris-ac"], [id="e-cikis-ac"], [id="sk-toplam"]) { font-weight: 500 !important; }

/* Seçili sekme: eski temanın 600'ü (olcek.css/tuval-satis.css .tuval-pro-sekmeler) → Yıldız sekme ağırlığı 500. */
html:root[data-sema="yildiz"] body :is(.sekme, .sekmeler-sekme).secili { font-weight: 500 !important; }
/* Sınıfsız <button> (ör. Bildirimler › ayarlar "Ayarları kaydet"): yazı/zemin yalnız tarayıcıdan geliyordu (koyu
   color-scheme'de buttontext #FFF + gri buttonface) → tuval b3 kalıbı: ince kenarlı hap, metin belirteci. */
html:root[data-sema="yildiz"] body button:not([class]):not(.yz *, .yildiz-ust *) { color: var(--metin); background: transparent; border: 1px solid var(--ayrac); border-radius: 999px; font-weight: 500; letter-spacing: .02em; }
html:root[data-sema="yildiz"] body button:not([class]):not(.yz *, .yildiz-ust *):hover:not(:disabled) { border-color: var(--kenarlik); }

/* Tuval gövde aralığı (normal) satırı biraz uzatır: uyarı cümlesinin sonundaki kısa "Ayrıntı →" bağlantısı 375'te
   iki satıra bölünüp önceki metne biniyordu (sikisma K3/K9, /raporlar PRO 375) → bağlantı bölünmez, gerekirse alt satıra iner. */
html:root[data-sema="yildiz"] body .uyari-metni > a[id$="-git"] { white-space: nowrap; }

/* T3) Boy: tuval ölçeği dışındaki eski boylar en yakın tuval boyuna.
   h2 tarayıcı 1,5em (27 px) → 28 · h3 1,17em (21,06 px) → 20. Düşük özgüllük: sınıfla boy
   yazan kurallar korunur. Çubuk grafik ekseni 9 px → tuvalin en küçüğü 11 px. */
html:root[data-sema="yildiz"] h2 { font-size: 28px; }
html:root[data-sema="yildiz"] h3 { font-size: 20px; }
html:root[data-sema="yildiz"] body svg text[font-size="9"] { font-size: 11px; }
/* Akışkan boylar (kap genişliğine göre küçülen değerler) tuval ölçeğine BASAMAKLANIR:
   --tipo-akis özgün formülü taşır, font-size onu ölçekteki bir alt basamağa indirir (sign()).
   Sığma mantığı aynen korunur (değer yalnız en yakın küçük tuval boyuna iner). */
html:root[data-sema="yildiz"] body .stat-deger { --tipo-akis: min(1em, calc(var(--deger-oran) * 1cqi)); }
html:root[data-sema="yildiz"] .stat-kart > .kart-govde > .stat-deger { --tipo-akis: min(1.5rem, calc(var(--deger-oran) * 1cqi)); }
html:root[data-sema="yildiz"] .stat-kart > .kart-govde > .stat-deger:is([data-deger-boy="cok-uzun"], [data-deger-boy="en-uzun"]) { --tipo-akis: clamp(1rem, calc(var(--deger-oran) * 1cqi), 1.5rem); }
html:root[data-sema="yildiz"] #sayfa-basi-kasalar + .stat-izgara .stat-deger { --tipo-akis: min(104px, 9cqi); }
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .stat-deger { --tipo-akis: min(32px, 5cqi); }
html:root[data-sema="yildiz"] #kur-has-onde > #kur-has-deger { --tipo-akis: min(104px, calc(var(--deger-oran) * 1.1cqi)); }
html:root[data-sema="yildiz"] .yz .yz-h1 { --tipo-akis: min(64px, 12vw); }
html:root[data-sema="yildiz"] body .panel-soru > .panel-soru-sayi { --tipo-akis: min(var(--yazi-3xl), calc(var(--deger-oran) * 1cqi)); }
html:root[data-sema="yildiz"] body .panel-sade .panel-soru > .panel-soru-sayi { --tipo-akis: min(calc(var(--yazi-govde) * 2), calc(var(--deger-oran) * 1cqi)); }
html:root[data-sema="yildiz"] body :is(.stat-deger, #kur-has-deger, .yz .yz-h1, .panel-soru > .panel-soru-sayi) {
  font-size: calc(11px + 1px * (sign(var(--tipo-akis) - 11.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 12.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 13.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 14.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 15.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 16.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 17.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 18.99px) + 1) / 2 + 1px * (sign(var(--tipo-akis) - 19.99px) + 1) / 2 + 2px * (sign(var(--tipo-akis) - 21.99px) + 1) / 2 + 6px * (sign(var(--tipo-akis) - 27.99px) + 1) / 2 + 8px * (sign(var(--tipo-akis) - 35.99px) + 1) / 2 + 4px * (sign(var(--tipo-akis) - 39.99px) + 1) / 2 + 12px * (sign(var(--tipo-akis) - 51.99px) + 1) / 2 + 4px * (sign(var(--tipo-akis) - 55.99px) + 1) / 2 + 8px * (sign(var(--tipo-akis) - 63.99px) + 1) / 2 + 8px * (sign(var(--tipo-akis) - 71.99px) + 1) / 2 + 32px * (sign(var(--tipo-akis) - 103.99px) + 1) / 2 + 8px * (sign(var(--tipo-akis) - 111.99px) + 1) / 2) !important;
}

/* T4) Yer tutucu: tuval .alan input::placeholder = var(--s) (tarayıcı grisi yok). */
html:root[data-sema="yildiz"] body ::placeholder { color: var(--metin-soluk); opacity: 1; }

/* T5) AÇILIR LİSTE (Seçici paneli) — her ekranda tek kalıp: tuval .sat satırı
   (birincil 19 px / 400 · ikincil 14 px / .06em soluk), arama tuval .alan input (22 px / 300),
   satır arası 1 px kıl çizgi, dolgu/gölge yok; klavye ile etkin satır altı çizili (tuval b2 dili).
   Tezgâh'ın .yz-duzen kuralları (YILDIZ-4B) daha özgüldür ve aynen kalır. */
html:root[data-sema="yildiz"] body .secici-liste-kap { border: 1px solid var(--ayrac); border-radius: 0; background: var(--yuzey-govde); box-shadow: none; }
html:root[data-sema="yildiz"] body .secici-ara-sar { border-bottom: 1px solid var(--ayrac); }
html:root[data-sema="yildiz"] body .secici-ara { border: 0; border-bottom: 1px solid var(--kenarlik); border-radius: 0; background: transparent; box-shadow: none; color: var(--metin); font-size: 22px; font-weight: 300; letter-spacing: normal; }
html:root[data-sema="yildiz"] body .secici-secenek { border-radius: 0; background: transparent; color: var(--metin); font-size: 19px; font-weight: 400; letter-spacing: normal; }
html:root[data-sema="yildiz"] body .secici-secenek:is(:hover, .etkin, .secili) { background: transparent; color: var(--metin); }
html:root[data-sema="yildiz"] body .secici-secenek.etkin .secici-ad { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
html:root[data-sema="yildiz"] body .secici-ad { font-weight: 400 !important; }
/* Tezgâh barkod/ad öneri listesi de açılır listedir (Yıldız Tezgâh .yz içinde de): birincil satır 400. */
html:root[data-sema="yildiz"] body .fis-arama-ad { font-weight: 400 !important; }
html:root[data-sema="yildiz"] body :is(.secici-alt, .secici-rozet, .secici-isaret, .secici-bos, .secici-sinir, .secici-kilit-sebep) { font-size: 14px; font-weight: 400 !important; letter-spacing: .06em; color: var(--metin-soluk); background: transparent; }
html:root[data-sema="yildiz"] body .secici-hata { font-size: 14px; letter-spacing: .06em; color: var(--tehlike); }

/* T6) GİRİŞ KUTULARI ve açılır liste tetiği tuval form kalıbını taşır (kurucu 09.10 "birebir"): tuval .k .v =
   22 px / 300 / −0,01em (Tezgâh .yz-duzen ile AYNI), arama kutusu tuval .alan input = 22 px / 300 / normal.
   Native select ve seçenekleri: select ögesi form değeri gibi 22 px; seçenek satırı tuval .sat birincil 19 px / 400.
   Yalnız yazı/renk — kutu yüksekliği/kenarı/dolgusu (yerleşim) DEĞİŞMEZ. */
html:root[data-sema="yildiz"] body :is(.secici-tetik, .secici-tetik .secici-metin, input.girdi, textarea.girdi, select, .secim):not(.yz *) {
  font-family: inherit; font-size: 22px; font-weight: 300; letter-spacing: -0.01em; color: var(--metin);
}
html:root[data-sema="yildiz"] body :is(input.girdi-arama, input[type="search"], .arama-kutu > input, .secici-ara):not(.yz *):not(#_) { letter-spacing: normal; }
html:root[data-sema="yildiz"] body :is(select, .secim) option { font-family: inherit; font-size: 19px; font-weight: 400; color: var(--metin); background: var(--yuzey-govde); }
/* Form etiketi = tuval .k label: 12 px · 400 · .18em · BÜYÜK HARF · soluk (Tezgâh .yz-duzen ile AYNI). Eski "15 px altı 500"
   okunurluk uyarlaması kurucu kararıyla İPTAL (tuval ağırlığı aynen). #_ : YILDIZ-1'in .ana-icerik 500 !important kuralını yener. */
html:root[data-sema="yildiz"] body :is(.alan-etiket, .alan:not(.alan-onay) > label, .secici-alan > label):not(.yz *, .onay-etiket):not(#_) {
  font-size: 12px; font-weight: 400 !important; letter-spacing: .18em; text-transform: uppercase; color: var(--metin-soluk);
}
/* T7) SEÇİLİ SEKME / SEGMENT ZEMİNİ (tur 3, doğrulayıcı KRİTİK 10.10): koyu Yıldız'da seçili sekme eski temanın DOLU bloğu
   olarak çiziliyordu (zemin --metin, yazı --yuzey-govde; /siparisler /bildirimler /pos/tahsilatlar /evraklar /kur /gider
   /gider-pusulalari /uyum /raporlar · /islemler PRO sekmeleri). Kök neden özgüllük: dugme.css
   `html[data-mod] .ana-icerik .sekmeler-serit > .sekmeler-sekme.secili` (0,5,1) Yıldız'ın aynı özgüllükteki kuralından
   SONRA yüklenir; tuval-satis.css `:root[data-tema="karanlik"] .islem-sayfa.tuval-pro .tuval-pro-sekmeler > .sekme.secili`
   (0,7,0). Tuval: sekme = altı çizili yazı (Musteri4 'HEPSİ'), dolgu yok. #_ ile kimlik düzeyi → sınıf kuralları yenilir. */
html:root[data-sema="yildiz"] body .ana-icerik :is(.sekmeler-serit > .sekmeler-sekme, .tuval-pro-sekmeler > .sekme).secili:not(#_) {
  background: transparent; color: var(--metin); border-color: transparent; border-bottom-color: var(--metin);
}
/* Kullanıcı menüsü dil seçicisi (TR/EN): eski temanın gri kapsül + dolu seçili düğmesi (app.css .dil-secici) kalmıştı.
   Tuvalde dil seçici YOK → aynı menüdeki Görünüm anahtarının (.yildiz-mod-oge) tuval kalıbı: altı çizili yazı. */
html:root[data-sema="yildiz"] body .yildiz-ust .dil-secici:not(#_) { background: transparent; padding: 0; gap: 16px; border-radius: 0; }
html:root[data-sema="yildiz"] body .yildiz-ust .dil-secici button:not(#_) {
  padding: 4px 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent;
  color: var(--metin-soluk); font-size: 15px; font-weight: 400;
}
html:root[data-sema="yildiz"] body .yildiz-ust .dil-secici button.secili:not(#_) { color: var(--metin); border-bottom-color: var(--metin); }
/* T8) METİN ZEMİNİ (tur 3, tarama aracına eklenen zemin ölçüsünün bulduğu eski tema yüzeyleri): tuval düzdür — metnin
   zemini yalnız saydam/--yuzey-govde, --metin dolgu yalnız b1 hapı. Eski temanın gri bilgi/uyarı kutuları (--yuzey-2,
   --uyari-yuzey, --vurgu-yuzey), vurgulu satır, seçili seçenek hapı ve dolu tehlike düğmesi Yıldız'da kalmaz.
   Yapışkan/örten yüzeyler (çekmece altı, tablo başlığı, arama paleti satırı) saydam değil --yuzey-govde (içerik altından
   görünmesin). Kenarlar korunur; yerleşim (boşluk/boy) DEĞİŞMEZ. Tezgâh (.yz) hariç; kâğıda dokunulmaz (seçiciler ekran sınıfları). */
html:root[data-sema="yildiz"] body :is(.degismez-ipucu, .sayfa-basi-bilgi > .sayfa-basi-aciklama, .uyari-kutu, .yasal-not, .emanet-bilgi-metin, .dosya-secici, .gorsel-galerisi):not(.yz *):not(#_) {
  background: transparent;
}
html:root[data-sema="yildiz"] body :is(.cekmece-alt, .menu-arama-satir, tr[id$="-baslik-satiri"] > th, .veri-tablosu th):not(.yz *):not(#_) {
  background-color: var(--yuzey-govde);
}
/* Vurgulu satır (varsayılan fiyat listesi, kendi rolü): dolgu yerine ilk hücrede 2 px --metin işareti (tuval: işaret çizgiyle). */
html:root[data-sema="yildiz"] body tr.satir-vurgu:not(#_) { background: transparent; }
html:root[data-sema="yildiz"] body tr.satir-vurgu > td:not(#_) { background-color: var(--yuzey-govde); }
html:root[data-sema="yildiz"] body tr.satir-vurgu > td:first-child:not(#_) { box-shadow: inset 2px 0 0 var(--metin); }
/* Seçenek hapı (.secim-secenek): seçili = dolgusuz, kenar ve yazı --metin (tuval b3 hapı). */
html:root[data-sema="yildiz"] body .secim-secenek.secili:not(#_) { background: transparent; border-color: var(--metin); color: var(--metin); }
/* Tezgâh tür ızgarası (BASİT "SATIŞ ▾" katmanı): seçili tür karosu olcek.css'te b1 gibi DOLU çiziliyordu; seçili tür bir
   DURUMDUR, eylem değil → seçili seçenek hapıyla aynı (dolgusuz, kenar ve yazı --metin). Biçim/yerleşim YILDIZ-4C'nin; yalnız renk. */
html:root[data-sema="yildiz"] body .tuval-karo-izgara > .ekran-karo.ekran-karo-birincil:not(#_) { background: transparent; border-color: var(--metin); color: var(--metin); }
/* Tehlike düğmesi (satır eylemi "Pasife al", onay): dolu kırmızı yerine b3 hapı, kenar ve yazı --tehlike (tuval --kotu). */
html:root[data-sema="yildiz"] body :is(.btn-tehlike, .dugme-tehlike):not(.yz *):not(#_),
html:root[data-sema="yildiz"] body :is(.btn-tehlike, .dugme-tehlike):not(.yz *):not(#_):hover {
  background: transparent; border: 1px solid var(--tehlike); color: var(--tehlike);
}
/* YILDIZ-TIPO sonu */

/* AMBLEM */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-AMBLEM-2 — ByGatech amblemi v2 (EMİR-AMBLEM-YILDIZ-2026-10-10 · kurucu 10.10 "eksiksiz ve aynen")
   Tuval: ham/yildiz-tuval/kaynak/Amblem_sol(.acik).dc.html (kabuk 52 px · YILDIZ-AMBLEM-4: 40 px kurucu reddetti) · Giris4(a).dc.html (giriş 96 px).
   3B 8 yüzlü pırlanta taş (4 taç + 4 pavyon, üst-alt eşit) · 20° duruş · 28 sn düşey dönüş (linear, sonsuz) ·
   ışık 11 sn (SMIL, razor) · parlama %18'de zirve, süzgeç DIŞ sarmalayıcıda (.amb-parla) — 3B kutuya (.tas3d)
   konmaz, tarayıcı 3B'yi düzleştirir · "BYGATECH" BÜTÜN olarak karanlıktan çıkar (11 sn) · taş hiç kaybolmaz.
   Tuvalin <style> kuralları DEĞERLERİYLE aynen; tuvalin satır içi stilleri sınıfa taşındı (CSP: satır içi
   style yok) — değerler aynen. Tuvaldeki ".yz" sınıfı ".amb-yuz" (uygulamada .yz Yıldız ekran kabıdır),
   "form-gel" → "amb-form-gel" (Y1_02: yalnız amb-* keyframes kapsam istisnası).
   Hareket azaltma (emir § 4.6): bütün animasyon kapalı; taş 20°'de, yazı tam opak, sabit.
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] .yildiz-marka.amb {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  border: 0;
  padding: 0;
  opacity: 1;
  /* tuval: .amb, `.nav a` kalıbını da devralır (14 px · .14em · büyük harf · --s) — SVG yazı kendi özniteliğini taşır; hesaplanan stil birebir olsun. */
  color: var(--metin-soluk);
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
html:root[data-sema="yildiz"] .amb-parla .amb-s-govde { stop-color: var(--amb-govde); }
html:root[data-sema="yildiz"] .amb-parla .amb-s-orta { stop-color: var(--amb-orta); }
html:root[data-sema="yildiz"] .amb-parla .amb-s-parilti { stop-color: var(--amb-parilti); }
/* Tuval satır içi stilleri (aynı değerler). */
html:root[data-sema="yildiz"] .amb-parla { display: inline-block; line-height: 0; }
html:root[data-sema="yildiz"] .amb-parla .amb-ik { position: relative; display: inline-block; width: 52px; height: 52px; perspective: 2080px; perspective-origin: 50% 50%; }
html:root[data-sema="yildiz"] .amb-parla .amb-tanim { position: absolute; }
html:root[data-sema="yildiz"] .amb-parla .tas3d { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateY(0deg); }
/* KURUCU 14.10 PIRLANTA ÇİZİMİ (124×111 px ölçüldü): önden (0°) izdüşüm = kurucunun çizimi (düz tabla · zikzak taç · sivri
   gövde, eşit kalın çizgi). 26 kenar + 16 eğik kenara dik şerit; arka kenarlar gizli, siluet kenarları (.amb-cift) iki yandan görünür. */
html:root[data-sema="yildiz"] .amb-parla .amb-yuz { position: absolute; left: 50%; top: 50%; transform-origin: 0 0; backface-visibility: hidden; overflow: visible; }
html:root[data-sema="yildiz"] .amb-parla .amb-yuz.amb-cift { backface-visibility: visible; }
html:root[data-sema="yildiz"] .amb-parla .amb-f0 { transform: matrix3d(0.7071,0,0.7071,0,0,1,0,0,-0.7071,0,0.7071,0,-16.1869,-20,-0.3536,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f1 { transform: matrix3d(0.7071,0,-0.7071,0,0,1,0,0,0.7071,0,0.7071,0,-0.3536,-20,16.1869,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f2 { transform: matrix3d(0.1935,0.4321,0.8808,0,-0.9126,0.4088,0,0,-0.3601,-0.8039,0.4735,0,-15.4738,-19.9204,-0.4404,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f3 { transform: matrix3d(-0.7186,0.6329,0.2881,0,-0.6609,-0.7504,0,0,0.2162,-0.1904,0.9576,0,0.6898,-19.4412,15.6893,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f4 { transform: matrix3d(0.7186,0.6329,0.2881,0,-0.6609,0.7504,0,0,-0.2162,-0.1904,0.9576,0,-0.0288,-20.1917,15.6893,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f5 { transform: matrix3d(-0.1935,0.4321,0.8808,0,-0.9126,-0.4088,0,0,0.3601,-0.8039,0.4735,0,16.3864,-19.5117,-0.4404,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f6 { transform: matrix3d(0.5067,0,0.8622,0,0,1,0,0,-0.8622,0,0.5067,0,-23.5867,-10,-0.4311,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f7 { transform: matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-11.8542,-10,20.3845,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f8 { transform: matrix3d(0.5067,0,-0.8622,0,0,1,0,0,0.8622,0,0.5067,0,11.1008,-10,20.8156,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f9 { transform: matrix3d(0.3093,0.7719,-0.5554,0,-0.9282,0.372,0,0,0.2066,0.5155,0.8316,0,-11.0447,-10.072,20.6622,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f10 { transform: matrix3d(-0.3093,0.7719,-0.5554,0,-0.9282,-0.372,0,0,-0.2066,0.5155,0.8316,0,11.973,-9.7,20.6622,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f11 { transform: matrix3d(0.6,-0.8,0,0,0.8,0.6,0,0,0,0,1,0,-24.0333,-9.4,0,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f12 { transform: matrix3d(0.6,0.8,0,0,-0.8,0.6,0,0,0,0,1,0,15.9333,-20.2,0,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f13 { transform: matrix3d(0.6357,0.7719,0,0,-0.7719,0.6357,0,0,0,0,1,0,-23.2652,-10.2038,0,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f14 { transform: matrix3d(-0.6357,0.7719,0,0,-0.7719,-0.6357,0,0,0,0,1,0,24.0372,-9.5681,0,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f15 { transform: matrix3d(0.1935,0.4321,-0.8808,0,0.9126,-0.4088,0,0,-0.3601,-0.8039,-0.4735,0,-16.3864,-19.5117,0.4404,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f16 { transform: matrix3d(0.7071,0,-0.7071,0,0,-1,0,0,-0.7071,0,-0.7071,0,-16.1869,-19,0.3536,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f17 { transform: matrix3d(-0.7186,0.6329,-0.2881,0,0.6609,0.7504,0,0,0.2162,-0.1904,-0.9576,0,0.0288,-20.1917,-15.6893,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f18 { transform: matrix3d(0.7186,0.6329,-0.2881,0,0.6609,-0.7504,0,0,-0.2162,-0.1904,-0.9576,0,-0.6898,-19.4412,-15.6893,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f19 { transform: matrix3d(0.7071,0,0.7071,0,0,-1,0,0,0.7071,0,-0.7071,0,-0.3536,-19,-16.1869,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f20 { transform: matrix3d(-0.1935,0.4321,-0.8808,0,0.9126,0.4088,0,0,0.3601,-0.8039,-0.4735,0,15.4738,-19.9204,0.4404,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f21 { transform: matrix3d(0.5067,0,-0.8622,0,0,-1,0,0,-0.8622,0,-0.5067,0,-23.5867,-9,0.4311,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f22 { transform: matrix3d(1,0,0,0,0,-1,0,0,0,0,-1,0,-11.8542,-9,-20.3845,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f23 { transform: matrix3d(0.5067,0,0.8622,0,0,-1,0,0,0.8622,0,-0.5067,0,11.1008,-9,-20.8156,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f24 { transform: matrix3d(0.3093,0.7719,0.5554,0,0.9282,-0.372,0,0,0.2066,0.5155,-0.8316,0,-11.973,-9.7,-20.6622,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f25 { transform: matrix3d(-0.3093,0.7719,0.5554,0,0.9282,0.372,0,0,-0.2066,0.5155,-0.8316,0,11.0447,-10.072,-20.6622,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f26 { transform: matrix3d(0.1935,0.4321,0.8808,0,0.3601,0.8039,-0.4735,0,-0.9126,0.4088,0,0,-16.1101,-20.118,-0.2037,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f27 { transform: matrix3d(-0.7186,0.6329,0.2881,0,-0.2162,0.1904,-0.9576,0,-0.6609,-0.7504,0,0,0.4674,-19.9117,16.1681,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f28 { transform: matrix3d(0.7186,0.6329,0.2881,0,-0.2162,-0.1904,0.9576,0,0.6609,-0.7504,0,0,-0.2512,-19.7213,15.2105,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f29 { transform: matrix3d(-0.1935,0.4321,0.8808,0,0.3601,-0.8039,0.4735,0,0.9126,0.4088,0,0,15.7501,-19.3141,-0.6771,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f30 { transform: matrix3d(0.3093,0.7719,-0.5554,0,-0.2066,-0.5155,-0.8316,0,-0.9282,0.372,0,0,-11.4055,-9.6282,21.078,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f31 { transform: matrix3d(-0.3093,0.7719,-0.5554,0,-0.2066,0.5155,0.8316,0,0.9282,0.372,0,0,11.6121,-10.1437,20.2464,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f32 { transform: matrix3d(0.6,-0.8,0,0,0,0,1,0,-0.8,-0.6,0,0,-23.6333,-9.1,-0.5,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f33 { transform: matrix3d(0.6,0.8,0,0,0,0,1,0,0.8,-0.6,0,0,15.5333,-19.9,-0.5,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f34 { transform: matrix3d(0.6357,0.7719,0,0,0,0,-1,0,-0.7719,0.6357,0,0,-23.6512,-9.886,0.5,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f35 { transform: matrix3d(-0.6357,0.7719,0,0,0,0,1,0,0.7719,0.6357,0,0,23.6512,-9.886,-0.5,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f36 { transform: matrix3d(0.1935,0.4321,-0.8808,0,-0.3601,-0.8039,-0.4735,0,-0.9126,0.4088,0,0,-15.7501,-19.3141,0.6771,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f37 { transform: matrix3d(-0.7186,0.6329,-0.2881,0,0.2162,-0.1904,-0.9576,0,-0.6609,-0.7504,0,0,0.2512,-19.7213,-15.2105,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f38 { transform: matrix3d(0.7186,0.6329,-0.2881,0,0.2162,0.1904,0.9576,0,0.6609,-0.7504,0,0,-0.4674,-19.9117,-16.1681,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f39 { transform: matrix3d(-0.1935,0.4321,-0.8808,0,-0.3601,0.8039,0.4735,0,0.9126,0.4088,0,0,16.1101,-20.118,0.2037,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f40 { transform: matrix3d(0.3093,0.7719,0.5554,0,0.2066,0.5155,-0.8316,0,-0.9282,0.372,0,0,-11.6121,-10.1437,-20.2464,1); }
html:root[data-sema="yildiz"] .amb-parla .amb-f41 { transform: matrix3d(-0.3093,0.7719,0.5554,0,0.2066,-0.5155,0.8316,0,0.9282,0.372,0,0,11.4055,-9.6282,-21.078,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-ik { width: 96px; height: 96px; perspective: 3840px; }
html:root[data-sema="yildiz"] .giris-amb .amb-f0 { transform: matrix3d(0.7071,0,0.7071,0,0,1,0,0,-0.7071,0,0.7071,0,-30.8021,-37.4571,-0.8364,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f1 { transform: matrix3d(0.7071,0,-0.7071,0,0,1,0,0,0.7071,0,0.7071,0,-0.8364,-37.4571,30.8021,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f2 { transform: matrix3d(0.1935,0.4321,0.8808,0,-0.9126,0.4088,0,0,-0.3601,-0.8039,0.4735,0,-29.1151,-37.2689,-1.0419,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f3 { transform: matrix3d(-0.7186,0.6329,0.2881,0,-0.6609,-0.7504,0,0,0.2162,-0.1904,0.9576,0,1.6318,-36.1353,29.625,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f4 { transform: matrix3d(0.7186,0.6329,0.2881,0,-0.6609,0.7504,0,0,-0.2162,-0.1904,0.9576,0,-0.0682,-37.9106,29.625,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f5 { transform: matrix3d(-0.1935,0.4321,0.8808,0,-0.9126,-0.4088,0,0,0.3601,-0.8039,0.4735,0,31.2742,-36.3019,-1.0419,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f6 { transform: matrix3d(0.5067,0,0.8622,0,0,1,0,0,-0.8622,0,0.5067,0,-44.7593,-18.5314,-1.0198,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f7 { transform: matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-22.6714,-18.5314,38.5791,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f8 { transform: matrix3d(0.5067,0,-0.8622,0,0,1,0,0,0.8622,0,0.5067,0,20.8893,-18.5314,39.5989,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f9 { transform: matrix3d(0.3093,0.7719,-0.5554,0,-0.9282,0.372,0,0,0.2066,0.5155,0.8316,0,-20.7565,-18.7017,39.236,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f10 { transform: matrix3d(-0.3093,0.7719,-0.5554,0,-0.9282,-0.372,0,0,-0.2066,0.5155,0.8316,0,22.9525,-17.8217,39.236,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f11 { transform: matrix3d(0.6,-0.8,0,0,0.8,0.6,0,0,0,0,1,0,-45.816,-17.112,0,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f12 { transform: matrix3d(0.6,0.8,0,0,-0.8,0.6,0,0,0,0,1,0,30.2023,-37.9303,0,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f13 { transform: matrix3d(0.6357,0.7719,0,0,-0.7719,0.6357,0,0,0,0,1,0,-43.9989,-19.0136,0,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f14 { transform: matrix3d(-0.6357,0.7719,0,0,-0.7719,-0.6357,0,0,0,0,1,0,45.825,-17.5097,0,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f15 { transform: matrix3d(0.1935,0.4321,-0.8808,0,0.9126,-0.4088,0,0,-0.3601,-0.8039,-0.4735,0,-31.2742,-36.3019,1.0419,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f16 { transform: matrix3d(0.7071,0,-0.7071,0,0,-1,0,0,-0.7071,0,-0.7071,0,-30.8021,-35.0914,0.8364,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f17 { transform: matrix3d(-0.7186,0.6329,-0.2881,0,0.6609,0.7504,0,0,0.2162,-0.1904,-0.9576,0,0.0682,-37.9106,-29.625,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f18 { transform: matrix3d(0.7186,0.6329,-0.2881,0,0.6609,-0.7504,0,0,-0.2162,-0.1904,-0.9576,0,-1.6318,-36.1353,-29.625,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f19 { transform: matrix3d(0.7071,0,0.7071,0,0,-1,0,0,0.7071,0,-0.7071,0,-0.8364,-35.0914,-30.8021,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f20 { transform: matrix3d(-0.1935,0.4321,-0.8808,0,0.9126,0.4088,0,0,0.3601,-0.8039,-0.4735,0,29.1151,-37.2689,1.0419,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f21 { transform: matrix3d(0.5067,0,-0.8622,0,0,-1,0,0,-0.8622,0,-0.5067,0,-44.7593,-16.1657,1.0198,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f22 { transform: matrix3d(1,0,0,0,0,-1,0,0,0,0,-1,0,-22.6714,-16.1657,-38.5791,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f23 { transform: matrix3d(0.5067,0,0.8622,0,0,-1,0,0,0.8622,0,-0.5067,0,20.8893,-16.1657,-39.5989,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f24 { transform: matrix3d(0.3093,0.7719,0.5554,0,0.9282,-0.372,0,0,0.2066,0.5155,-0.8316,0,-22.9525,-17.8217,-39.236,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f25 { transform: matrix3d(-0.3093,0.7719,0.5554,0,0.9282,0.372,0,0,-0.2066,0.5155,-0.8316,0,20.7565,-18.7017,-39.236,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f26 { transform: matrix3d(0.1935,0.4321,0.8808,0,0.3601,0.8039,-0.4735,0,-0.9126,0.4088,0,0,-30.6206,-37.7362,-0.4818,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f27 { transform: matrix3d(-0.7186,0.6329,0.2881,0,-0.2162,0.1904,-0.9576,0,-0.6609,-0.7504,0,0,1.1057,-37.2481,30.7577,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f28 { transform: matrix3d(0.7186,0.6329,0.2881,0,-0.2162,-0.1904,0.9576,0,0.6609,-0.7504,0,0,-0.5943,-36.7977,28.4923,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f29 { transform: matrix3d(-0.1935,0.4321,0.8808,0,0.3601,-0.8039,0.4735,0,0.9126,0.4088,0,0,29.7687,-35.8345,-1.6019,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f30 { transform: matrix3d(0.3093,0.7719,-0.5554,0,-0.2066,-0.5155,-0.8316,0,-0.9282,0.372,0,0,-21.6101,-17.6519,40.2197,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f31 { transform: matrix3d(-0.3093,0.7719,-0.5554,0,-0.2066,0.5155,0.8316,0,0.9282,0.372,0,0,22.0988,-18.8714,38.2523,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f32 { transform: matrix3d(0.6,-0.8,0,0,0,0,1,0,-0.8,-0.6,0,0,-44.8697,-16.4023,-1.1829,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f33 { transform: matrix3d(0.6,0.8,0,0,0,0,1,0,0.8,-0.6,0,0,29.256,-37.2206,-1.1829,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f34 { transform: matrix3d(0.6357,0.7719,0,0,0,0,-1,0,-0.7719,0.6357,0,0,-44.912,-18.2617,1.1829,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f35 { transform: matrix3d(-0.6357,0.7719,0,0,0,0,1,0,0.7719,0.6357,0,0,44.912,-18.2617,-1.1829,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f36 { transform: matrix3d(0.1935,0.4321,-0.8808,0,-0.3601,-0.8039,-0.4735,0,-0.9126,0.4088,0,0,-29.7687,-35.8345,1.6019,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f37 { transform: matrix3d(-0.7186,0.6329,-0.2881,0,0.2162,-0.1904,-0.9576,0,-0.6609,-0.7504,0,0,0.5943,-36.7977,-28.4923,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f38 { transform: matrix3d(0.7186,0.6329,-0.2881,0,0.2162,0.1904,0.9576,0,0.6609,-0.7504,0,0,-1.1057,-37.2481,-30.7577,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f39 { transform: matrix3d(-0.1935,0.4321,-0.8808,0,-0.3601,0.8039,0.4735,0,0.9126,0.4088,0,0,30.6206,-37.7362,0.4818,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f40 { transform: matrix3d(0.3093,0.7719,0.5554,0,0.2066,0.5155,-0.8316,0,-0.9282,0.372,0,0,-22.0988,-18.8714,-38.2523,1); }
html:root[data-sema="yildiz"] .giris-amb .amb-f41 { transform: matrix3d(-0.3093,0.7719,0.5554,0,0.2066,-0.5155,0.8316,0,0.9282,0.372,0,0,21.6101,-17.6519,-40.2197,1); }

html:root[data-sema="yildiz"] .amb-parla .tas3d { animation: amb-don 28s linear infinite; }
html:root[data-sema="yildiz"] .amb-parla { animation: amb-parla 11s ease-in-out infinite; }
@keyframes amb-don { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }
@keyframes amb-parla { 0%, 100% { filter: drop-shadow(0 0 0 var(--amb-sifir)); } 18% { filter: drop-shadow(0 0 7px var(--glow)); } 60% { filter: drop-shadow(0 0 2px var(--amb-sifir)); } }
html:root[data-sema="yildiz"] .amb-yz { animation: amb-yazi 11s ease-out infinite; }
@keyframes amb-yazi { 0%, 12% { opacity: 0; filter: blur(4px); } 24% { opacity: 1; filter: blur(0); } 82% { opacity: 1; filter: blur(0); } 91% { opacity: 0; filter: blur(3px); } 100% { opacity: 0; } }
/* Giriş düzeni (tuval Giris4: sütun, ortalı, amblem ↔ form 56 px; amblem içi 22 px; form 380 px, 1,6 sn'de belirir).
   Sağ panel ve başlık razor'da çizilmez; kart kutusuz (Yıldız). */
html:root[data-sema="yildiz"] .giris-yildiz.giris-iki-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-sol { width: 100%; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-kart { width: 380px; gap: 56px; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-kart-ust { justify-content: center; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-amb { display: flex; flex-direction: column; align-items: center; gap: 22px; margin: 0; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form { animation: amb-form-gel .9s ease-out 1.6s both; }
@keyframes amb-form-gel { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* Giriş alanları tuval .alan kalıbı: kutu yok, yalnız altı kıl çizgi (kabuktaki ALAN kuralının aynısı; giriş kabuk dışında). */
html:root[data-sema="yildiz"] .giris-yildiz :is(.girdi, .secim, .sifre-kutu) { background: transparent; border-width: 0 0 1px; border-style: solid; border-color: var(--kenarlik); border-radius: 0; }
html:root[data-sema="yildiz"] .giris-yildiz .sifre-kutu > .girdi.sifre-kutu-girdi { border: 0; }
html:root[data-sema="yildiz"] .giris-yildiz :is(.girdi, .sifre-kutu).hatali { border-color: var(--tehlike); }
/* ≤768 px (tuvalde telefon hâli yok): dil seçici amblemin yanına değil sağ üst köşeye; amblem ortada kalır. */
@media (max-width: 768px) {
  html:root[data-sema="yildiz"] .giris-yildiz .giris-sol { position: relative; padding-top: 80px; }
  html:root[data-sema="yildiz"] .giris-yildiz .giris-dil { position: absolute; top: 16px; right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html:root[data-sema="yildiz"] :is(.amb-parla, .amb-parla .tas3d, .amb-yz, .giris-yildiz #giris-form) { animation: none; }
  html:root[data-sema="yildiz"] .amb-parla animateTransform { display: none; }
  /* Chrome SMIL'i display:none ile DURDURMAZ (ölçüldü, v1). Emir § 4.6 "bütün animasyon kapalı": duraklar
     gövde rengine eşitlenir → ışık geçişi görünmez; sabit kare tuvalin dinlenme karesiyle aynı. */
  html:root[data-sema="yildiz"] .amb-parla :is(.amb-s-orta, .amb-s-parilti) { stop-color: var(--amb-govde); }
}
/* AMBLEM — DAR MASAÜSTÜ (tur 2 · hakem KRİTİK 10.10: "HATİCE GÜLİZAR K." ile 1366/1280/1024/375'te şerit
   taşıyordu). Tuvalde yalnız 1440 var; 1440 DEĞİŞMEZ (tuval birebir). Amblem ölçü/yer DEĞİŞMEZ.
   Gerekli genişlik (ölçüldü, U = kullanıcı adı genişliği, "AD S." çoğunlukla ≤ 110 px):
     geniş (pad 64, ara 40)  : tam 1331+U · 22 AYAR'sız 1195+U
     sıkı  (pad 24, ara 20)  : 22 AYAR'sız 959+U · saatsiz 892+U
   → ≤1439 22 AYAR gizli · 1001–1316 sıkı · ≤1092 saat gizli. YILDIZ-AMBLEM-4 (amblem 164 → 176 px): eşikler +12 px
     kaydırıldı (ölçüldü, ad için en dar boş alan: 1317 → 87 px, 1093 → 99 px — 40 px amblemle 1305 / 1081 değerleri);
     1440 (tuval) ve 1001 (≤1000 kuralı 4A'nın) sınırlarında boş alan 74 px — daha uzun ad "…" ile kesilir, taşmaz.
   Daha uzun ad şeridi TAŞIRMAZ: ad kutusu küçülür, sığmayan kuyruk "…" ile kesilir (iç span'da, vertical-align: top —
   düğmeye ya da blok span'a overflow verilirse satır tabanı kayar: 1440'ta ad 1,1 / 4,6 px yukarı çıkıyordu, ölçüldü).
   ≤600 px: ad yerine baş harfler (data-bas); ad metni DOM'da kalır (erişilebilir ad). */
html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici { flex: 0 1 auto; min-width: 0; }
html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici-dugme { max-width: 100%; }
html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici-ad { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: top; }
@media (max-width: 1439px) {
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kur-22 { display: none; }
}
@media (min-width: 1001px) and (max-width: 1316px) {
  html:root[data-sema="yildiz"] .yildiz-ust { gap: 20px; padding: 0 24px; }
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-menu { gap: 20px; }
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici { margin-left: 24px; }
}
@media (max-width: 1092px) {
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kur-saat { display: none; }
}
@media (max-width: 600px) {
  /* 375 px: amblem 176 px (YILDIZ-AMBLEM-4) → ad yerine baş harfler; metin düğümü kalır (erişilebilir ad), yalnız çizilmez. */
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici { margin-left: 0; }
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici-ad { font-size: 0; letter-spacing: 0; }
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici-dugme::before { content: attr(data-bas); }
}

/* GIRIS */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-AMBLEM-3 — Yıldız giriş ekranı tuval Giris4 / Giris4a BİREBİR (1440×900: amblem y=236).
   Tuval: sütun ortalı, amblem ↔ form 56 px; form 380 px, gap 10: .alan (58 px, altı 1 px --p kıl çizgi,
   solda .ust etiket 86 px · 11 px · 500 · .22em · büyük harf · --s, 16 px ara, girdi 19 px / 300) ×2;
   30 px aşağıda tek satır: solda b2 "Parolamı unuttum" (40 px · 14 px · .04em), sağda b1 "Giriş yap"
   (56 px hap, 0 40 px dolgu). Altta (bottom 40 px) tek alt bilgi satırı: 12 px · .2em · büyük harf · --s.
   Eşleme (YILDIZ-1 notu § 3): --m→--metin · --s→--metin-soluk · --p→--kenarlik · --z→--yuzey-govde.
   Tuvalde OLMAYAN öğeler akıştan çıkar (özellik silinmez): dil seçici sağ üst köşe; sürüm · "Yeni dükkân
   kur" · P-30 kısıt beyanı tuvalin alt bilgi satırına (#giris-alt). Yalnız #giris-form (MFA ve kayıt
   formları DEĞİŞMEZ). Öteki 8 şemaya hiçbir kural sızmaz (seçici kapsamı).
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] .giris-yildiz.giris-iki-panel { position: relative; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-sol { position: static; padding-left: 16px; padding-right: 16px; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-kart-ust { position: static; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form { gap: 10px; }
/* Alan satırı = tuval label.alan: 58 px, altı 1 px --p kıl çizgi SATIRIN kendisinde, renk --s; etiket (86 px) + 16 px + girdi.
   Hata/ipucu varken (alt satır dolu) çizgi satırdan hücrelere iner — mesaj çizginin ALTINDA kalır (DoD EK md.3). */
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan { display: grid; grid-template-columns: 102px minmax(0, 1fr); grid-template-rows: auto auto; gap: 0; box-sizing: border-box; border-bottom: 1px solid var(--kenarlik); color: var(--metin-soluk); }
/* Etiket: YILDIZ-TIPO'nun genel form etiketi kuralı (12 px · 400 !important · .18em, `body … :not(#_)`) burada tuval .ust
   değerleriyle (11 px · 500 · .22em) ezilir — `:not(#_)` (dosyadaki kimlik düzeyi kalıbı) onu yener; 500 için !important (o kural 400 !important). */
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan > .alan-etiket:not(#_) { grid-column: 1; grid-row: 1; box-sizing: border-box; display: flex; align-items: center; height: 57px; margin: 0; padding: 0 16px 0 0; font-size: 11px; font-weight: 500 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan-etiket-metin { display: inline-block; width: 86px; font-weight: inherit; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan-kontrol { grid-column: 2; grid-row: 1; box-sizing: border-box; display: flex; flex-direction: row; align-items: center; min-width: 0; height: 57px; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan-alt { grid-column: 1 / -1; grid-row: 2; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan:not(:has(> .alan-alt > *)) > .alan-alt { display: none; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan:has(> .alan-alt > *) { border-bottom: 0; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan:has(> .alan-alt > *) > :is(.alan-etiket, .alan-kontrol) { height: 58px; border-bottom: 1px solid var(--kenarlik); }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan.alan-hatali > :is(.alan-etiket, .alan-kontrol) { border-bottom-color: var(--tehlike); }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan:focus-within { border-bottom-color: var(--metin); }
/* Girdi: tuval `.alan input` (font: inherit · kenar 0 · tarayıcı varsayılan dolgusu 1px 2px · doğal yükseklik · genişlik satırın kalanı). */
html:root[data-sema="yildiz"] .giris-yildiz #giris-form :is(.girdi, .sifre-kutu > .girdi.sifre-kutu-girdi) { flex-grow: 1; min-width: 0; box-sizing: border-box; height: auto; min-height: 0; margin: 0; padding: 1px 2px; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: transparent; font-family: inherit; font-size: 19px; font-weight: 300; letter-spacing: normal; color: var(--metin); }
/* Parola kutusu: girdi tuvaldeki gibi satırın TAMAMI (278 px); "Göster" (tuvalde yok) kutunun içinde sağa oturur, girdinin
   sağ dolgusu onun altına yazı kaydırmaz. Kutu düz blok (flex değil) — girdi ile 44 px dokunma hedefi aynı sırada hizalanmaz. */
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .alan-kontrol > .sifre-kutu { display: block; position: relative; flex-grow: 1; min-width: 0; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: transparent; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .sifre-kutu > .girdi.sifre-kutu-girdi { display: block; width: 100%; padding-right: 80px; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form :is(.girdi, .sifre-kutu):is(:focus, :focus-visible, :focus-within) { outline: 0; box-shadow: none; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .girdi::placeholder { color: var(--metin-soluk); opacity: 1; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .sifre-goster { position: absolute; top: 50%; right: 0; transform: translateY(-50%); display: inline-flex; align-items: center; min-height: 44px; padding: 0; font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .giris-yildiz-satir { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 30px; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .giris-yildiz-satir > #giris-parola-unuttum { display: inline-flex; align-items: center; box-sizing: border-box; height: 40px; min-height: 40px; margin: 0; padding: 0 4px; border: 0; border-bottom: 1px solid var(--kenarlik); background: transparent; font-family: inherit; font-size: 14px; font-weight: 400; letter-spacing: .04em; color: var(--metin); text-decoration: none; white-space: nowrap; }
html:root[data-sema="yildiz"] .giris-yildiz #giris-form .giris-yildiz-satir > #giris-gonder { display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box; width: auto; height: 56px; min-height: 56px; margin: 0; padding: 0 40px; border: 0; border-radius: 999px; background: var(--metin); color: var(--yuzey-govde); font-family: inherit; font-size: 16px; font-weight: 500; letter-spacing: .02em; white-space: nowrap; }
/* Alt bilgi (tuval: "TUNALILAR Kuyumculuk · Merkez Şube" satırının yeri ve kalıbı). */
html:root[data-sema="yildiz"] .giris-yildiz .giris-alt { position: absolute; left: 16px; right: 16px; bottom: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 24px; margin: 0; font-size: 12px; line-height: 1.45; letter-spacing: .2em; text-transform: uppercase; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .giris-yildiz .giris-alt :is(.giris-surum, .giris-bag, .giris-kisit-baslik) { margin: 0; padding: 0; border: 0; background: transparent; font-family: inherit; font-size: 12px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .giris-yildiz .giris-alt .giris-kisit { position: static; width: auto; max-width: none; margin: 0; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-alt .giris-kisit-baslik { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.45; list-style: none; cursor: pointer; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-alt .giris-kisit-baslik::-webkit-details-marker { display: none; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-alt .giris-kisit:not([open]) > :not(summary) { display: none; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-alt:has(.giris-kisit[open]) { position: static; margin-top: 8px; }
/* Dil seçici (tuvalde yok): eski temanın gri kapsülü + dolu seçili düğmesi Yıldız girişinde kalmaz — kabuktaki kullanıcı
   menüsü dil seçicisiyle AYNI tuval kalıbı (seçili = altı çizili yazı), alt bilgi ölçeğinde (12 px · .2em). Dokunma hedefi 44 px
   kalır (çizgi 44 px kutunun dibine değil yazının altına: text-decoration). */
html:root[data-sema="yildiz"] .giris-yildiz .giris-dil .dil-secici:not(#_) { background: transparent; padding: 0; gap: 16px; border-radius: 0; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-dil .dil-secici button:not(#_) { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--metin-soluk); font-size: 12px; font-weight: 400; letter-spacing: .2em; }
html:root[data-sema="yildiz"] .giris-yildiz .giris-dil .dil-secici button.secili:not(#_) { color: var(--metin); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
/* Dil seçici sağ üst köşe (≤768 px'teki AMBLEM kuralı 16 px ile daha özgül olduğundan orada o geçerli). */
html:root[data-sema="yildiz"] .giris-yildiz :where(.giris-dil) { position: absolute; top: 24px; right: 24px; }
/* ≤768 px: dil seçici zaten köşede (mutlak) — AMBLEM bloğundaki 80 px üst dolgu artık gerekmez; dolgu simetrik kalır,
   amblem + form tuvaldeki gibi dikeyde ortalanır (375×812: amblem y = (812 − 428) / 2 = 192). */
@media (max-width: 768px) {
  html:root[data-sema="yildiz"] .giris-yildiz main.giris-sol { padding-top: 24px; }
  /* Telefonda alt bilgi üç satıra sarar; alan altı hata mesajları formu uzatınca ona binmesin diye akışta (kartın son öğesi). */
  html:root[data-sema="yildiz"] .giris-yildiz .giris-alt { position: static; }
}
/* Alçak pencere (< 700 px): alt bilgi akışa döner (forma binmez). */
@media (max-height: 699px) {
  html:root[data-sema="yildiz"] .giris-yildiz .giris-alt { position: static; }
}

/* YILDIZ-4D */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-4D — Tezgâh 375 (tuvalde telefon hâli yok → tuval kalıplarıyla):
   ürün adı tek satır (uzun ad en çok iki satır, "…" yok), tutar tek satır; müşteri seçicide
   tutar kesilmez. Yalnız ≤480 px; 1440 tuval düzeni ve öteki 8 şema DEĞİŞMEZ.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1000px) {
  /* PRO'da sayfa sınıfı .tuval-pro: 1137. satırdaki .tuval-tezgah istisnası tutmuyor, .ana-icerik{overflow:auto}
     (app.css) yapışkan şeridi kendi (kaymayan) kutusuna hapsediyordu → Kaydet ekran dışında kalıyordu
     (ölçüm: P-k/P-a-375 16 hâlin 15'i). Yıldız Tezgâhı içeren ana alan BASİT ve PRO'da aynı kural. */
  html:root[data-sema="yildiz"] .ana-icerik:has(#yildiz-tezgah) { overflow-x: clip; overflow-y: visible; }
}
@media (max-width: 480px) {
  /* Kalem satırı: [ayar | ad + ayrıntı] üstte, tutar adın sütununda altta, sağa yaslı (tuval .sat kalıbı; ad
     sütunu 94 px'ten 247 px'e çıkar → "22 Ayar Çeyrek Altın" tek satır). */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kalem { grid-template-columns: 72px minmax(0, 1fr); row-gap: 8px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kalem > .yz-tezgah-ayar { grid-row: span 2; align-self: start; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-kalem > .yz-tezgah-tutar { grid-column: 2; justify-self: end; white-space: nowrap; }
  /* Müşteri seçici: ad kırpılmaz ("…" yok); "· borcu N ₺" tek parça, sığmazsa alt satıra iner (tutar kesilmez). */
  html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-ad { overflow: visible; text-overflow: clip; white-space: normal; }
  html:root[data-sema="yildiz"] .yz .yz-tezgah-musteri-ad > .yz-s { white-space: nowrap; }
}
/* YILDIZ-4D tur 2 — Müşteriler dar ekran (hakem KRİTİK: 375'te her satır kendi ızgarasını kuruyordu → ad 3 satır,
   tutar satırdan satıra 73 px kayıyordu). Liste ortak sütunlu (subgrid): ad ilk satırda tam genişlik;
   "Toptancı · telefon" ve durum altında; tutar sağa yaslı, tek satır, her satırda aynı kenarda. 1440 tuval düzeni DEĞİŞMEZ. */
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-liste { display: grid; grid-template-columns: minmax(0, 1fr) max-content; column-gap: 16px; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-liste > .yz-musteri-sat { grid-column: 1 / -1; grid-template-columns: subgrid; gap: 4px 16px; align-items: baseline; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-sat > .yz-musteri-ad { grid-column: 1 / -1; grid-row: 1; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-sat > .yz-musteri-alt { grid-column: 1; grid-row: 2; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-sat > .yz-musteri-durum { grid-column: 1; grid-row: 3; text-align: left; }
  html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-sat > .yz-musteri-tutar { grid-column: 2; grid-row: 2; justify-self: end; white-space: nowrap; }
}

/* YILDIZ-5A */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-5A — Günlük iş + Müşteri ve stok kalan 8 ekran (tuval Y_Emanet, Y_Siparisvetamir,
   Y_Bildirimler, Y_Urunler, Y_Urunagaci, Y_Etiketler, Y_Fiyatlisteleri, Y_Sayim · BİREBİR).
   Liste kalıbı (YildizListe) · form kalıbı (YildizEtiketler) · özet kalıbı (YildizSayim).
   Değerler tuvalden: main dolgu 48/64/40 · aralık 32 · arama 420×56 (girdi 19 px) · sekme 14 px
   0,1em · başlık satırı 10 px dolgu, .ust 0,14em · satır ad 19/400, değer 17/300 · not 14 px 0,06em.
   Hepsi `html:root[data-sema="yildiz"]` kapsamlı; renk YALNIZ var() (öteki 8 şemada etki 0).
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] .yz-liste .yz-liste-ana { flex-grow: 1; min-height: 0; display: flex; flex-direction: column; gap: 32px; padding: 48px 64px 40px; }
html:root[data-sema="yildiz"] .yz .yz-liste-ara { width: 420px; height: 56px; flex-shrink: 0; }
html:root[data-sema="yildiz"] .yz .yz-liste-ara .arama-kutu > input.girdi-arama,
html:root[data-sema="yildiz"] .yz .yz-liste-ara .arama-kutu > input.girdi-arama:hover,
html:root[data-sema="yildiz"] .yz .yz-liste-ara .arama-kutu > input.girdi-arama:focus,
html:root[data-sema="yildiz"] .yz .yz-liste-ara .arama-kutu > input.girdi-arama:focus-visible { font-size: 19px; }

/* Sekmeler (tuval .sek): 14 px · 0,1em · büyük harf · soluk; seçili metin rengi + altında 1 px --p. */
html:root[data-sema="yildiz"] .yz .yz-liste-sek { display: flex; gap: 32px; }
html:root[data-sema="yildiz"] .yz .yz-liste-sekme {
  margin: 0;
  padding: 6px 4px;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--metin-soluk);
  font: inherit;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz .yz-liste-sekme.yz-liste-sekme--secili { color: var(--metin); border-bottom-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .yz .yz-liste-sekme:focus-visible { outline: 1px solid var(--odak-halka); outline-offset: 4px; }

/* Tablo: başlık satırı 10 px dolgu; hücreler ad 19/400 · değer 17/300 · soluk 17/300. */
html:root[data-sema="yildiz"] .yz .yz-liste-tablo { display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz .yz-liste-sat--bas { padding: 10px 0; }
html:root[data-sema="yildiz"] .yz .yz-liste-bas { letter-spacing: .14em; }
html:root[data-sema="yildiz"] .yz .yz-liste-ac {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz .yz-liste-ac:focus-visible { outline: 1px solid var(--odak-halka); outline-offset: 4px; }
html:root[data-sema="yildiz"] .yz .yz-liste-ad { font-size: 19px; font-weight: 400; min-width: 0; }
html:root[data-sema="yildiz"] .yz .yz-liste-d { font-size: 17px; font-weight: 300; min-width: 0; }
html:root[data-sema="yildiz"] .yz .yz-sag { text-align: right; }
html:root[data-sema="yildiz"] .yz .yz-liste-eylem { display: flex; justify-content: flex-end; }
html:root[data-sema="yildiz"] .yz .yz-liste-sat--soluk .yz-liste-ad { color: var(--metin-soluk); }
/* Alt satır (tuval div.s margin-top:auto): not solda; "+ Tüm ayrıntılar" (.ekle kalıbı) aynı satırda sağda. */
/* Not tuvaldeki gibi tam genişlik blok; "+ Tüm ayrıntılar" aynı satırın sağ ucunda (akış dışı; dar ekranda alt satıra iner). */
/* Görsel denetim K-1 (21.10): eylemler eskiden hepsi aynı noktaya (absolute right/bottom 0) basılıyordu → "Fiyat kuralları",
   "Setler", "Havale gönder" masaüstünde tıklanamıyordu. Artık tek akış satırı: not solda esner, eylemler sağda yan yana. */
html:root[data-sema="yildiz"] .yz .yz-liste-alt { margin-top: auto; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 8px 24px; }
html:root[data-sema="yildiz"] .yz .yz-liste-not { font-size: 14px; letter-spacing: .06em; flex: 1 1 320px; margin: 0; }
html:root[data-sema="yildiz"] .yz .yz-liste-alt > .yz-ekle { padding: 0; white-space: nowrap; }

/* Ayrıntı görünümü: kısa başlık + "Listeye dön"; ekranın özgün içeriği altında (data-yz-ozgun), kendi başlığı gizli. */
html:root[data-sema="yildiz"] .yz.yz-liste--ayrinti { min-height: 0; }
html:root[data-sema="yildiz"] .yz.yz-liste--ayrinti .yz-liste-ana { padding-bottom: 32px; }
html:root[data-sema="yildiz"] body .ana-icerik [data-yz-ozgun] { padding: 0 64px 40px; }
html:root[data-sema="yildiz"] [data-yz-ozgun] .sayfa-basi-metin { display: none; }

/* Sütun ızgaraları (tuvaldeki grid-template-columns AYNEN). */
html:root[data-sema="yildiz"] .yz-liste--emanet .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 120px 160px 150px 140px; }
html:root[data-sema="yildiz"] .yz-liste--siparis .yz-liste-sat { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 160px 150px 140px; }
html:root[data-sema="yildiz"] .yz-liste--bildirim .yz-liste-sat { grid-template-columns: minmax(0, 1.6fr) 160px 160px 140px; }
html:root[data-sema="yildiz"] .yz-liste--urun .yz-liste-sat { grid-template-columns: minmax(0, 1.4fr) 170px 90px 110px 90px 150px; }
html:root[data-sema="yildiz"] .yz-liste--agac .yz-liste-sat { grid-template-columns: minmax(0, 1.6fr) 110px 110px 150px; }
html:root[data-sema="yildiz"] .yz-liste--fiyat .yz-liste-sat { grid-template-columns: minmax(0, 1.4fr) 130px 110px 110px 170px 140px; }

/* ── ETİKETLER (tuval Y_Etiketler: form solda, önizleme sağda 420 px) ─────── */
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-ana { flex-grow: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 96px; padding: 48px 64px 40px; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-sol { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-satirlar { display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-bosluk { flex-grow: 1; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-eylem { display: flex; align-items: center; gap: 40px; }
html:root[data-sema="yildiz"] .yz-etiket .yz-k-etiket .yz-etiket-istege { letter-spacing: 0; text-transform: none; }
/* Adet: tuvalde "2 etiket" düz metin → girdi içeriği kadar geniş (field-sizing), ok/çerçeve yok, aradaki boşluk bir sözcük boşluğu. */
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-adet { field-sizing: content; width: auto; min-width: 3ch; padding: 0 4px; flex-grow: 0; text-align: center; appearance: textfield; -moz-appearance: textfield; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-adet::-webkit-outer-spin-button,
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-adet::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-adet:focus-visible { outline: 1px solid var(--odak-halka); outline-offset: 4px; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-adet-sar { display: inline-flex; align-items: baseline; gap: .25em; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-sat { grid-template-columns: minmax(0, 1fr) 170px 140px; }
/* Özgün ekran Yıldız'da ekranda çizilmez (kâğıt .urun-etiket-sayfa yazdırmada AYNEN basılır); "Tüm ayrıntılar"da görünür. */
@media screen {
  html:root[data-sema="yildiz"] [data-yz-etiket="kapali"] { display: none !important; }
}
html:root[data-sema="yildiz"] body .ana-icerik [data-yz-etiket="acik"] { padding: 0 64px 40px; }
html:root[data-sema="yildiz"] [data-yz-etiket="acik"] .sayfa-basi-metin { display: none; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-sag { display: flex; flex-direction: column; gap: 20px; padding-top: 112px; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-onizleme-metin { font-size: 17px; font-weight: 300; line-height: 1.6; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-kutu { display: inline-flex; flex-direction: column; gap: 4px; padding: 14px 18px; border: 1px solid var(--kenarlik); border-radius: 3px; color: var(--metin); font-size: 13px; line-height: 1.3; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-kutu-ad { font-weight: 500; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-kutu-cubuk { letter-spacing: .3em; font-size: 11px; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-kutu-kod { font-size: 11px; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-secim { display: flex; flex-direction: column; gap: 16px; }
html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-sol > .yz-ekle { align-self: stretch; }   /* tuval a.ekle: sütun genişliğinde */

/* ── SAYIM (tuval Y_Sayim: solda büyük rakam + cümle + eylemler, sağda alta yaslı liste) ── */
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-ana { flex-grow: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 80px; padding: 64px 64px 48px; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-sol { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-ust { display: flex; flex-direction: column; gap: 24px; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-h1 { margin: 0; font-size: 40px; line-height: 1; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-rakam { font-size: 104px; line-height: .95; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-rakam-ek { font-size: 52px; font-weight: 200; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-cumle { max-width: 520px; font-size: 20px; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-eylem { display: flex; align-items: center; gap: 40px; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-sag { display: flex; flex-direction: column; justify-content: flex-end; gap: 24px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-sayim .yz-liste-sat { grid-template-columns: minmax(0, 1.4fr) 100px 100px 100px; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-gecmis .yz-liste-sat { grid-template-columns: minmax(0, 1.4fr) 150px; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-bilgi { display: flex; flex-wrap: wrap; gap: 40px; font-size: 14px; letter-spacing: .06em; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-bilgi b { color: var(--metin); font-weight: 500; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-sag > .yz-ekle { padding: 0; }
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-okut { display: flex; flex-direction: column; gap: 16px; }
/* Tur 2: okutma kutusu (ortak Arama) satır düzeni için 12rem esnek tabanlı; .k sütununda kendi boyunda kalır. */
html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-okut .arama-kutu { flex: 0 0 auto; }
html:root[data-sema="yildiz"] .yz-sayim-ekler { padding: 0 64px 48px; }
/* Tur 2 (hakem KRİTİK "başlık sol kenara yapışık"): Sayım ayrıntı başlığı liste kalıbıyla AYNI dolguda (48/64/32);
   özgün ekranın "← Sayım Oturumları" düğmesi Yıldız'da çizilmez — dönüş tek: "Sayıma dön" (ikinci birincil yok). */
html:root[data-sema="yildiz"] .yz-sayim.yz-liste--ayrinti .yz-liste-ana { display: flex; flex-direction: column; gap: 32px; padding: 48px 64px 32px; }
html:root[data-sema="yildiz"] [data-yz-ozgun="sayim"] #sy-listeye-don { display: none; }

/* ── Özgün ekranın isteğe bağlı bölümleri ("+ ekle" arkasında): kutu/gölge yok, kıl çizgi ── */
html:root[data-sema="yildiz"] .yz .yz-sayim-ekler :is(.kart, .kart-govde) { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding-left: 0; padding-right: 0; }

/* ── Dar pencere (tuvalde telefon hâli yok → aynı dilde; taşma 0) ── */
/* 1001–1360 px: sayım sağ sütunu daralır (1280'de ürün adı sütunu ~160 px → "22 Ayar Yarım Altın" iki satır, K3);
   sayı sütunları tuvalin 100 px'inden 72/72/64'e iner, ad sütunu genişler. 1440 tuval düzeni DEĞİŞMEZ. */
@media (max-width: 1360px) and (min-width: 1001px) {
  html:root[data-sema="yildiz"] .yz-sayim .yz-liste-sat { grid-template-columns: minmax(0, 1fr) 72px 72px 64px; gap: 16px; }
}
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz-liste .yz-liste-ana { padding: 32px 24px; }
  html:root[data-sema="yildiz"] body .ana-icerik [data-yz-ozgun] { padding: 0 24px 32px; }
  html:root[data-sema="yildiz"] .yz .yz-liste-ara { width: 100%; }
  html:root[data-sema="yildiz"] .yz .yz-liste-sek { flex-wrap: wrap; gap: 8px 24px; }
  html:root[data-sema="yildiz"] .yz .yz-liste-sekme { flex-shrink: 0; white-space: nowrap; }
  /* Satır: ad tam genişlik üstte; öteki hücreler altında akar, eylem sağa yaslı. Sütun başlığı satırı ekran okuyucuda kalır. */
  html:root[data-sema="yildiz"] .yz .yz-liste-alt { justify-content: flex-start; margin-top: 16px; }
  html:root[data-sema="yildiz"] .yz .yz-liste-tablo > .yz-liste-sat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; }
  html:root[data-sema="yildiz"] .yz .yz-liste-tablo > .yz-liste-sat.yz-liste-sat--bas { display: none; }   /* dar ekranda sütun başlığı çizilmez: satır akar, değerler kendini anlatır (g, tarih, ₺) */
  html:root[data-sema="yildiz"] .yz .yz-liste-tablo > .yz-liste-sat > :first-child { flex-basis: 100%; }
  html:root[data-sema="yildiz"] .yz .yz-liste-tablo > .yz-liste-sat > .yz-liste-eylem { margin-left: auto; }
  html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-ana { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 32px 24px; }
  html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-sag { padding-top: 0; }
  html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-ana { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 32px 24px; }
  html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-rakam { font-size: min(104px, 22vw); }
  html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-rakam-ek { font-size: min(52px, 11vw); }
  html:root[data-sema="yildiz"] .yz-sayim-ekler { padding: 0 24px 32px; }
  html:root[data-sema="yildiz"] .yz-sayim.yz-liste--ayrinti .yz-liste-ana { padding: 32px 24px; }
}
@media (max-width: 480px) {
  /* Tur 2: 5A formlarında "Tür" seçenekleri dar ekranda kelime ortasından kırılmaz; satır sarar (K3 kırık 0). */
  html:root[data-sema="yildiz"] :is(#yildiz-siparis-form, #yildiz-fiyat-form) .yz-k-deger { flex-wrap: wrap; justify-content: flex-start; column-gap: 24px; row-gap: 8px; }
  html:root[data-sema="yildiz"] :is(#yildiz-siparis-form, #yildiz-fiyat-form) .yz-form-secim { white-space: nowrap; }
  html:root[data-sema="yildiz"] .yz-liste .yz-liste-ana { padding: 24px 16px; }
  html:root[data-sema="yildiz"] body .ana-icerik [data-yz-ozgun] { padding: 0 16px 24px; }
  html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-ana,
  html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-ana { padding: 24px 16px; }
  html:root[data-sema="yildiz"] .yz-sayim-ekler { padding: 0 16px 24px; }
  html:root[data-sema="yildiz"] .yz-sayim.yz-liste--ayrinti .yz-liste-ana { padding: 24px 16px; }
  html:root[data-sema="yildiz"] .yz-etiket .yz-etiket-eylem,
  html:root[data-sema="yildiz"] .yz-sayim .yz-sayim-eylem { flex-wrap: wrap; gap: 16px 32px; }
}
/* YILDIZ-5A sonu */

/* YILDIZ-5B */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-5B — Para ve banka 12 ekran (tuval Y_Kasalar, Y_Kasakuyrugu, Y_POScihazlari,
   Y_POSalacaklari, Y_Banka, Y_Cekvesenet, Y_Vadetakvimi, Y_Kur, Y_Gidervevirman, Y_Hurdaveramat,
   Y_Kasaraporu, Y_Giderpusulalari · BİREBİR).
   Özet kalıbı (YildizOzet) · boş durum (YildizBos) · liste (YILDIZ-5A YildizListe) · form (YildizGider)
   · takvim (YildizTakvim). Hepsi `html:root[data-sema="yildiz"]` kapsamlı; renk YALNIZ var().
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── ÖZET (tuval: main 1,05fr/1fr · aralık 80 · dolgu 64/64/48) ── */
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-ana { flex-grow: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 80px; padding: 64px 64px 48px; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-sol { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-ust { display: flex; flex-direction: column; gap: 24px; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-h1 { margin: 0; font-size: 40px; line-height: 1; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam { font-size: 104px; line-height: .95; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam-ek { font-size: 52px; font-weight: 200; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-cumle { max-width: 520px; font-size: 20px; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-eylem { display: flex; align-items: center; gap: 40px; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-eylem > .yz-ekle { padding: 0; align-self: center; }   /* kurucu 26.10: genel .yz-ekle "flex-start" düğme satırının tepesine asıyordu (1280: 16 px yukarıda) — düğmelerle aynı eksende */
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-sag { display: flex; flex-direction: column; justify-content: flex-end; gap: 24px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi { display: flex; flex-wrap: wrap; gap: 40px; font-size: 14px; letter-spacing: .06em; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi b { color: var(--metin); font-weight: 500; }
/* Kurucu 24.10 + 26.10: /kur alt bilgi satırındaki KAYNAK, SAHİP için yerinde açılır seçicidir. Satırın öteki öğeleriyle
   AYNI görünür: soluk etiket + koyu 500 değer, alt çizgi yok. Genişlik en uzun seçeneğe değil SEÇİLİ ada göre — gizli ölçü
   yazısı (.yz-kaynak-olcu) ve select aynı ızgara hücresinde (select %100 = ölçü) → satır sarmaz. Seçilebilirliği sağdaki
   küçük ok (::after, kenar çizgili döndürülmüş kare; resim yok) ve fare üstünde koyulaşma söyler; odak halkası kabuğun aynısı. */
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-sec:not(#_) { display: inline-flex; align-items: baseline; gap: .35em; cursor: pointer; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu:not(#_) { position: relative; display: inline-grid; align-items: baseline; padding-right: 16px; color: var(--metin); }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu:not(#_) > * { grid-area: 1 / 1; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-olcu:not(#_) { visibility: hidden; white-space: nowrap; padding-right: 3px; }
html:root[data-sema="yildiz"] body .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu > select:not(#_):not(#__):not(#___) {
  appearance: none; -webkit-appearance: none; box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0;
  font: inherit; font-weight: 500 !important; letter-spacing: inherit; line-height: inherit; color: var(--metin);   /* !important: genel girdi kuralı (select … 400 !important) yenilir — ölçü yazısı (b, 500) ile aynı genişlik */
  background: transparent; border: 0; border-radius: 0; cursor: pointer; text-overflow: clip;
}
/* 1280'de sağ sütun 523 px; üç bilgi öğesi (499 px) 40 px aralıkla sığmaz, GÜN FARKI tek başına 40 px aşağı düşüyordu.
   Geniş ekranda 40, dar sütunda satır aralığı 12 / öğe aralığı 32: sarma bilinçli bir liste gibi okunur. */
@media (max-width: 1440px) {
  html:root[data-sema="yildiz"] .yz-ozet--kur .yz-ozet-bilgi:not(#_) { gap: 12px 32px; }
}
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu:not(#_)::after {
  content: ""; position: absolute; right: 2px; top: 50%; width: 6px; height: 6px;
  border-right: 1px solid var(--metin-soluk); border-bottom: 1px solid var(--metin-soluk);
  transform: translateY(-75%) rotate(45deg); pointer-events: none; transition: border-color .2s;
}
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu:hover:not(#_)::after,
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu:focus-within:not(#_)::after { border-color: var(--metin); }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu > select:focus-visible:not(#_) { outline: 1px solid var(--odak-halka); outline-offset: 4px; }
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-bilgi .yz-kaynak-kutu:has(> select:disabled):not(#_) { opacity: .5; }
html:root[data-sema="yildiz"] .yz-ozet .yz-liste-ana { display: flex; flex-direction: column; gap: 32px; padding: 48px 64px 32px; }
html:root[data-sema="yildiz"] .yz-ozet--kasalar .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) 100px 170px 140px; }
html:root[data-sema="yildiz"] .yz-ozet--kur .yz-liste-sat { grid-template-columns: minmax(0, 1fr) 160px 160px; }
html:root[data-sema="yildiz"] .yz-ozet--hurda .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) 64px 84px 100px 110px; }   /* D1-12: son sütun "Fotoğraf" (sabit: satırlar ayrı ızgara, auto başlıkla eşleşmez) */
html:root[data-sema="yildiz"] .yz-ozet--kasarapor .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) 90px 170px; }

/* ── BOŞ DURUM (tuval: ortada 1×80 çizgi · 40 px ince cümle · 18 px/300 açıklama ≤520 · hap 16 px üst dolgu) ── */
html:root[data-sema="yildiz"] .yz-bosekran .yz-liste-ana { flex-grow: 1; min-height: 0; display: flex; flex-direction: column; gap: 32px; padding: 48px 64px 40px; }
html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-orta { flex-grow: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; text-align: center; }
html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-cizgi { width: 1px; height: 80px; background: var(--ayrac); }
html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-baslik { font-size: 40px; }
html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-metin { max-width: 520px; font-size: 18px; font-weight: 300; }
html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-eylem { padding-top: 16px; }

/* ── LİSTE ızgaraları (tuvaldeki grid-template-columns AYNEN) ── */
html:root[data-sema="yildiz"] .yz-liste--vezne .yz-liste-sat { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 160px 140px 140px; }
html:root[data-sema="yildiz"] .yz-liste--posalacak .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 160px 150px; }
html:root[data-sema="yildiz"] .yz-liste--evrak .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 160px 130px 130px 140px; }
html:root[data-sema="yildiz"] .yz-liste--pusula .yz-liste-sat { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr) 150px 110px; }
html:root[data-sema="yildiz"] .yz-liste--pos .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 160px 150px 140px; }
html:root[data-sema="yildiz"] .yz-liste--banka .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 170px 140px; }
/* Kurucu 31.10: banka kendi bakiyesini verdiyse "Bankada" sütunu (eylem sütunu yine aynı satırda). */
html:root[data-sema="yildiz"] .yz-liste--banka-bankada .yz-liste-sat { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) 140px 140px 130px; }

/* ── Dar pencere (tuvalde telefon hâli yok → aynı dilde; taşma 0) ── */
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-ana { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 32px 24px; }
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam { font-size: min(104px, 22vw); }
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam-ek { font-size: min(52px, 11vw); }
  html:root[data-sema="yildiz"] .yz-ozet .yz-liste-ana,
  html:root[data-sema="yildiz"] .yz-bosekran .yz-liste-ana { padding: 32px 24px; }
}
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-ana,
  html:root[data-sema="yildiz"] .yz-ozet .yz-liste-ana,
  html:root[data-sema="yildiz"] .yz-bosekran .yz-liste-ana { padding: 24px 16px; }
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-eylem { flex-wrap: wrap; gap: 16px 32px; }
  html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-baslik { font-size: 32px; }
}
/* ── TAKVİM (tuval Y_Vadetakvimi: 1fr / 460 px · aralık 80 · dolgu 48/64/40) ── */
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-ana { flex-grow: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 80px; padding: 48px 64px 40px; }
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-sol { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-ay { display: flex; justify-content: space-between; align-items: baseline; }
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-ay-adi { font-size: 28px; }
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-gunler { font-size: 14px; letter-spacing: .1em; }
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-izgara { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; position: relative; }
html:root[data-sema="yildiz"] .yz-takvim .yz-gun { position: relative; aspect-ratio: 1; display: flex; align-items: flex-start; justify-content: flex-end; padding: 8px; border: 1px solid var(--ayrac); font-size: 14px; color: var(--metin-soluk); text-decoration: none; }
html:root[data-sema="yildiz"] .yz-takvim .yz-gun--v { color: var(--metin); border-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .yz-takvim .yz-gun--v::after { content: ""; display: block; width: 6px; height: 6px; border-radius: 999px; background: var(--metin); position: absolute; left: 10px; bottom: 10px; }
html:root[data-sema="yildiz"] .yz-takvim .yz-gun--v:focus-visible { outline: 1px solid var(--odak-halka); outline-offset: 2px; }
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-sag { display: flex; flex-direction: column; gap: 20px; padding-top: 112px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-takvim .yz-liste-sat { grid-template-columns: 70px minmax(0, 1fr) 130px; }
html:root[data-sema="yildiz"] .yz-takvim .yz-liste-ana { display: flex; flex-direction: column; gap: 32px; padding: 48px 64px 32px; }
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-ana { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 32px 24px; }
  html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-sag { padding-top: 0; }
  html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-ay { flex-wrap: wrap; gap: 8px 16px; }
  html:root[data-sema="yildiz"] .yz-takvim .yz-liste-ana { padding: 32px 24px; }
}
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-ana,
  html:root[data-sema="yildiz"] .yz-takvim .yz-liste-ana { padding: 24px 16px; }
  html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-izgara { gap: 4px; }
  html:root[data-sema="yildiz"] .yz-takvim .yz-gun { padding: 4px; font-size: 13px; }
  html:root[data-sema="yildiz"] .yz-takvim .yz-gun--v::after { left: 5px; bottom: 5px; }
}
/* ── FORM (tuval Y_Gidervevirman: 1fr / 420 px · aralık 96 · dolgu 48/64/40) ── */
html:root[data-sema="yildiz"] .yz-form .yz-form-ana { flex-grow: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 96px; padding: 48px 64px 40px; }
html:root[data-sema="yildiz"] .yz-form .yz-form-sol { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-form .yz-form-satirlar { display: flex; flex-direction: column; }
html:root[data-sema="yildiz"] .yz-form .yz-form-bosluk { flex-grow: 1; }
html:root[data-sema="yildiz"] .yz-form .yz-form-eylem { display: flex; align-items: center; gap: 40px; }
html:root[data-sema="yildiz"] .yz-form .yz-form-secim { margin: 0; padding: 0; border: 0; background: transparent; color: var(--metin); font: inherit; cursor: pointer; }
html:root[data-sema="yildiz"] .yz-form .yz-form-secim.yz-s { color: var(--metin-soluk); font-size: 14px; letter-spacing: .04em; }
html:root[data-sema="yildiz"] .yz-form .yz-form-secim:focus-visible { outline: 1px solid var(--odak-halka); outline-offset: 4px; }
html:root[data-sema="yildiz"] .yz-form .yz-form-sag { display: flex; flex-direction: column; gap: 20px; padding-top: 112px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-form .yz-form-not { font-size: 17px; font-weight: 300; line-height: 1.6; }
html:root[data-sema="yildiz"] .yz-form .yz-liste-ana { display: flex; flex-direction: column; gap: 32px; padding: 48px 64px 32px; }
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz-form .yz-form-ana { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 32px 24px; }
  html:root[data-sema="yildiz"] .yz-form .yz-form-sag { padding-top: 0; }
  html:root[data-sema="yildiz"] .yz-form .yz-liste-ana { padding: 32px 24px; }
}
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yz-form .yz-form-ana,
  html:root[data-sema="yildiz"] .yz-form .yz-liste-ana { padding: 24px 16px; }
  html:root[data-sema="yildiz"] .yz-form .yz-form-eylem { flex-wrap: wrap; gap: 16px 32px; }
}
/* Form ve boş durum ince ayarı (tuval: .k label ağırlığı 400; tek seçenek değeri .k .v 22/300; boş durum cümlesi 200). */
html:root[data-sema="yildiz"] body .ana-icerik .yz-form .yz-duzen label.alan-etiket:not(#_):not(#__) { font-weight: 400 !important; }   /* ortak "etiket 500 !important" kuralını yalnız bu formda tuvale (400) çeker */
html:root[data-sema="yildiz"] .yz-form .yz-duzen .alan-tek-secenek:not(#_) { margin: 0; padding: 0; border: 0; background: transparent; color: var(--metin); font-size: 22px; font-weight: 300; letter-spacing: -0.01em; line-height: 1.45; }
html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-baslik:not(#_) { font-weight: 200; }
html:root[data-sema="yildiz"] .yz-bosekran .yz-liste-alt { margin-top: -32px; }
html:root[data-sema="yildiz"] .yz-form .yz-form-sol > .yz-ekle { align-self: stretch; }   /* tuval a.ekle sütun genişliğinde (tıklama alanı) */
/* 1001–1360 px: iki sütunlu özet sağ sütunu daralır → sabit sütunlar kısalır ki ad sütunu taşmasın (1440'ta tuval AYNEN). */
@media (min-width: 1001px) and (max-width: 1360px) {
  /* Görsel denetim 2 (23.10, 1024): "Nakit" 36 px sütuna sığmıyor, hurda satırı "Hurda alış · 15 Eki" 3 satıra kırılıyordu,
     "+ Tüm ayrıntılar" düğmesi iki satıra iniyordu → ad sütunu genişler, eylem satırı sarar, ekle düğmesi tek satır. */
  html:root[data-sema="yildiz"] .yz-ozet--kasalar .yz-liste-sat { grid-template-columns: minmax(0, 1.2fr) 44px 130px auto; gap: 12px; }
  html:root[data-sema="yildiz"] .yz-ozet--hurda .yz-liste-sat { grid-template-columns: minmax(0, 1.4fr) 36px 48px 64px 84px; gap: 10px; }
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-eylem:not(#_) { flex-wrap: wrap; gap: 16px 32px; }
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-eylem > .yz-ekle:not(#_) { white-space: nowrap; }
}
/* ≤480 px: büyük rakam ve eki tek satır (kuruş ve ₺ rakamdan kopmaz). */
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam { font-size: min(104px, 15vw); white-space: nowrap; }
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam-ek { font-size: min(52px, 7.5vw); }
}
/* YILDIZ-5B sonu */

/* TEZGAH-ODEME */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-TEZGAH-ODEME — kurucu (10.10): "sağ tarafta ek ödeme indirim … neyin ne olduğunu anlamadım …
   scroll vs çıkmadığından aşağıda kaldığından nasıl haberi olur". Tuval Tezgah4 kurgusu AYNEN (ÖDEME · satırlar · haplar ·
   boşluk · FARK · Vazgeç + Kaydet ve yazdır); tuvalde çizilmemiş hâller tuval kalıplarıyla:
   (1) Ödeme satırları + haplar + açılan alanlar tek kaydırma kabında (#yildiz-tezgah-odeme-govde, aralık 28 px = tuval);
       Fark + Kaydet sütunun dibinde sabit, hiçbir yükseklikte ekran dışına itilmez. Kap kayıyorsa ince kaydırma çubuğu
       ve kabın dibinde 1 px --kenarlik çizgisi görünür (sonuna gelince kalkar) — "aşağıda daha var" işareti.
   (2) Karma satırı: [araç · kasa] [tutar alanı — tuval .alan çizgisi] [Çıkar]; tutar alanı açıkça yazılabilir görünür,
       "Çıkar" satırın sonunda tutardan ayrı; kasa adı kesilmez (sığmazsa alt satıra iner).
   (3) "Açık hesap olarak kaydet" birincil değil: tuval .b2 küçük kalıbı ("Değiştir": 32 px · 14 px · .08em).
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odeme-govde { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
@media (min-width: 1001px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-odeme-govde {
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    --yz-kaydir-golge: color-mix(in srgb, var(--metin) 16%, transparent);
    background:
      linear-gradient(var(--yuzey-govde), var(--yuzey-govde)) top / 100% 16px no-repeat local,
      linear-gradient(var(--yuzey-govde), var(--yuzey-govde)) bottom / 100% 16px no-repeat local,
      linear-gradient(var(--yz-kaydir-golge), transparent) top / 100% 14px no-repeat scroll,
      linear-gradient(transparent, var(--yz-kaydir-golge)) bottom / 100% 14px no-repeat scroll,
      linear-gradient(var(--kenarlik), var(--kenarlik)) bottom / 100% 1px no-repeat scroll;
  }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-odeme-govde > * { flex-shrink: 0; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odeme-govde > .yz-tezgah-duzen { overflow: visible; }
  html:root[data-sema="yildiz"] .yz-tezgah :is(.yz-tezgah-odeme-govde, .yz-tezgah-kalemler)::-webkit-scrollbar { width: 6px; }
  html:root[data-sema="yildiz"] .yz-tezgah :is(.yz-tezgah-odeme-govde, .yz-tezgah-kalemler)::-webkit-scrollbar-track { background: transparent; }
  html:root[data-sema="yildiz"] .yz-tezgah :is(.yz-tezgah-odeme-govde, .yz-tezgah-kalemler)::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--kenarlik); }
}
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-odeme-govde { display: contents; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag :is(.yz-tezgah-duzen, .bacak-satiri input) { scroll-margin-top: 96px; scroll-margin-bottom: 40vh; }
}
@media (min-width: 1001px) and (max-height: 840px) {
  html:root[data-sema="yildiz"] .yz-tezgah :is(.yz-tezgah-sag, .yz-tezgah-alt, .yz-tezgah-sag > .yz-tezgah-odeme-govde) { gap: 16px; }
}
/* TEZGAH-ODEME-3 (sunum 14.10 · hakem KRİTİK "iki ödeme + indirim açıkken 768 px yükseklikte ödeme satırları kabın
   dışında, kap 120-145 px, üstte 55-75 px boş"): küçük iç kap kaldırıldı. Ödeme sütununun TAMAMI tek kaydırma alanı;
   Fark + Kaydet sütunun dibinde yapışkan (sticky) — sütundaki bütün boşluk ödeme satırlarına kalır. Esnek boşluk
   öğesinin iki aralığı (2 × 28 px) tek aralığa iner. */
@media (min-width: 1001px) {
  /* 24.10: sağ sütun artık kendi başına kaymaz (kurucu); yapışkan blok sayfa kaydırmasına göre dipte durur. */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-odeme-govde:not(#_) { flex: 0 0 auto; overflow: visible; background: none; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-bosluk:not(#_) { margin-top: -28px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-alt:not(#_) { position: sticky; bottom: 0; z-index: 1; background-color: var(--yuzey-govde); }
  /* "aşağıda daha var" işareti: sütun kayarken yapışkan bloğun üst kenarında ince gölge (içerik altta kalınca görünür). */
  /* Yapışkan bloğun üst kenarında ince gölge: altında içerik kaldığında ("aşağıda daha var") görünür — gölge katmanıyla aynı dil. */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-alt:not(#_) { box-shadow: 0 -12px 24px -16px var(--yz-kaydir-golge); }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag:not(#_) { --yz-kaydir-golge: color-mix(in srgb, var(--metin) 30%, transparent); }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag :is(.yz-tezgah-duzen, .bacak-satiri input):not(#_) { scroll-margin-bottom: 240px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag .yz-tezgah-ekler > button:not(#_) { scroll-margin-bottom: 260px; }   /* yapışkan Fark/Kaydet bloğu (~240 px) odaklanan/kaydırılan öğeyi örtmesin — hap düğmeleri dahil (sunum 14.10 ölçüm: 1366×768) */
}
@media (min-width: 1001px) and (max-height: 840px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sag > .yz-tezgah-bosluk:not(#_) { margin-top: -16px; }
}
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri { grid-template-columns: minmax(0, 1fr) 150px auto; column-gap: 16px; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] { grid-column: 2; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-sil { grid-column: 3; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .yz-bacak-ad { flex-wrap: wrap; row-gap: 2px; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri .yz-bacak-kasa { overflow: visible; text-overflow: clip; white-space: nowrap; }
html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri > .alan[id$="-tutar-sar"] .alan-girdi-satir:not(#_) { padding-bottom: 2px; border-bottom: 1px solid var(--kenarlik); }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir > .yz-tezgah-degistir { flex-shrink: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-fark > .yz-b2.yz-tezgah-acik-hesap:not(#_) { align-self: flex-start; height: 32px; margin-top: 8px; font-size: 14px; letter-spacing: .08em; }
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz .yz-tezgah-karma .bacak-satiri { grid-template-columns: minmax(0, 1fr) 130px auto; column-gap: 12px; }
}
/* TEZGAH-ODEME sonu */

/* YILDIZ-KATMAN */
/* ═══════════════════════════════════════════════════════════════════════════
   PAKET YILDIZ-KATMAN — ORTAK KATMANLAR Yıldız'da tuval dilinde (hakem 5A KRİTİK: "eski tema çekmece/
   ModalPencere Yıldız'a sızıyor" — ortada yüzen 16 px köşeli kart, lacivert/siyah perde, gölge, 28 px/500 başlık).
   Tek kalıp: SAĞ ÇEKMECE (yüzen kart yok) · kartsız · 1 px kıl çizgi (--ayrac) · zemin --yuzey-govde · perde saydam.
   Tuvalde katman çizimi YOK → en yakın tuval kalıbı: form kalıbı (kıl çizgi, b1 hap + b2 altı çizili) ve Yıldız
   tezgâhındaki kimlik çekmecesi (YILDIZ-4C, aynı değerler: başlık 22/300/−0,01em, kapat soluk) — rapor "belirsiz eşleşme".
   ModalPencere de Yıldız'da sağ çekmece olarak durur (DOM AYNEN; yalnız bu blok). Panel genişliği her pencerenin kendi
   max-width kuralından gelir (32rem; fatura kalem tablosu 84rem); ≤768 px tam ekran (çekmece ile aynı).
   Yıldız ekran yüzü (.yz) kendi çekmecesini zaten tuval diliyle çizer (YILDIZ-4C) — bu blok ona dokunmaz (:not(.yz *)).
   Öteki 8 şemada etki 0: her seçici html:root[data-sema="yildiz"] altında; renk yalnız var().
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] body :is(.modal-arka, .cekmece-arka):not(.yz *):not(#_) { background: transparent; }
html:root[data-sema="yildiz"] body .modal-arka:not(.yz *):not(#_) { justify-content: flex-end; align-items: stretch; }
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz *):not(#_) {
  border: 0;
  border-left: 1px solid var(--ayrac);
  border-radius: 0;
  background: var(--yuzey-govde);
  box-shadow: none;
  color: var(--metin);
}
html:root[data-sema="yildiz"] body .modal-panel:not(.yz *):not(#_) { width: 100%; height: 100%; max-height: none; margin: 0; }
/* Sürüklenebilir pencere (Cariler ayrıntı): çekmece sağ kenara yapışıktır, taşınmaz. */
html:root[data-sema="yildiz"] body .modal-panel.suruklenebilir:not(.yz *):not(#_) { transform: none !important; }
html:root[data-sema="yildiz"] body .modal-panel.suruklenebilir .modal-baslik:not(.yz *):not(#_) { cursor: auto; }
/* Baş: 22/300 · kıl çizgi · kapat = soluk işaret (dolgu/kenar yok). */
html:root[data-sema="yildiz"] body :is(.modal-baslik, .cekmece-bas):not(.yz *):not(#_) {
  padding: 24px 32px;
  border-bottom: 1px solid var(--ayrac);
  background: transparent;
}
html:root[data-sema="yildiz"] body :is(.modal-baslik, .cekmece-bas) :is(h2, h3):not(.yz *):not(#_) {
  font-size: 22px;
  font-weight: 300 !important;   /* YILDIZ-TIPO T2 başlık ağırlığı (!important 500) bu katmanda tuval 300 */
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--metin);
}
html:root[data-sema="yildiz"] body :is(.modal-kapat, .cekmece-kapat):not(.yz *):not(#_),
html:root[data-sema="yildiz"] body .cekmece .cekmece-bas .cekmece-kapat:not(.yz *):not(#_) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] body :is(.modal-kapat, .cekmece-kapat):hover:not(.yz *):not(#_) { color: var(--metin); }
html:root[data-sema="yildiz"] body :is(.modal-govde, .cekmece-govde):not(.yz *):not(#_) { padding: 24px 32px; background: transparent; }
/* Alt şerit: örten yüzey → --yuzey-govde (içerik altından görünmesin), üstte kıl çizgi; b1 + b2 (genel Yıldız düğmeleri). */
html:root[data-sema="yildiz"] body :is(.modal-alt, .cekmece-alt):not(.yz *):not(#_) {
  padding: 24px 32px;
  gap: 32px;
  border-top: 1px solid var(--ayrac);
  background-color: var(--yuzey-govde);
}
/* Katman içi seçenek kutusu (para birimi, tür): dolgusuz — kart değil kıl kenar (tuval b3). */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) .secim-secenek:not(.yz *):not(#_) { background: transparent; border-color: var(--ayrac); }
@media (max-width: 768px) {
  html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz *):not(#_) { border-left: 0; }
  html:root[data-sema="yildiz"] body :is(.modal-baslik, .cekmece-bas, .modal-govde, .cekmece-govde, .modal-alt, .cekmece-alt):not(.yz *):not(#_) { padding-left: 16px; padding-right: 16px; }
}
/* Alt şerit sırası tuval form kalıbı (Y_Gidervevirman · Y_Isletme): b1 hap ÖNCE, b2 altı çizili SONRA, sola yaslı, 40 px
   ara; düğmeler kendi boyunda (esnemez). DOM sırası AYNEN (öteki şemalar "ikincil önce" kalır) — yalnız görsel sıra. */
html:root[data-sema="yildiz"] body :is(.modal-alt, .cekmece-alt):not(.yz *):not(#_) { justify-content: flex-start; gap: 40px; }
html:root[data-sema="yildiz"] body :is(.modal-alt, .cekmece-alt) :is(.dugme, .btn):not(.yz *):not(#_) { flex: 0 0 auto; }
html:root[data-sema="yildiz"] body :is(.modal-alt, .cekmece-alt) :is(.dugme-birincil, .btn-birincil):not(.yz *):not(#_) { order: -1; }

/* ── SAYFA BAŞLIĞI (denetim Y17/O16): kendi Yıldız yüzü olmayan ekranda tuvalin <main> başlığı ──────────
   UstBar Yıldız dalı (#ust-bar-yz-baslik): üst satır .ust 12/500/.22em büyük harf soluk + 12 px + ince h1
   64/200/−0,035em (özet kalıbı data-boy=40: 40/300). Tuval <main> dolgusu 48 px üst. Kur saati üst menüde
   (HAS · 22 AYAR · saat) zaten yazar → bu şeritte ikinci kez çizilmez (Yıldız yüzlü ekranlarla aynı); Yardım
   bağlantısı tuval .ust kalıbında kalır. */
html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar:has(> #ust-bar-yz-baslik) { padding-top: 48px; padding-bottom: 0; align-items: flex-end; }
html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar:has(> #ust-bar-yz-baslik) .ust-kur-serit { display: none; }
html:root[data-sema="yildiz"] .yz-sayfa-baslik { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
html:root[data-sema="yildiz"] .yz-sayfa-baslik > .yz-sayfa-baslik-ust:not(#_) {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
html:root[data-sema="yildiz"] .yz-sayfa-baslik > h1:not(#_) {
  margin: 0;
  font-size: 64px;
  font-weight: 200 !important;   /* tuval .ince 200 — YILDIZ-TIPO T2 (h1 300 !important) yerine tuvalin kendisi */
  line-height: 1;
  letter-spacing: -0.035em;
  color: var(--metin);
}
html:root[data-sema="yildiz"] .yz-sayfa-baslik[data-boy="40"] > h1:not(#_) { font-size: 40px; font-weight: 300 !important; }
/* Özet kalıbı (Y_UyumMASAK · Y_Karzarar · Y_Satisanalizi <main>): üst dolgu 64 px, üst satır ile başlık arası 24 px (liste kalıbı 48 / 12). */
html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar:has(> #ust-bar-yz-baslik[data-boy="40"]) { padding-top: 64px; }
html:root[data-sema="yildiz"] .yz-sayfa-baslik[data-boy="40"] { gap: 24px; }
html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar:has(> #ust-bar-yz-baslik) #ust-yardim:not(#_) {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar:has(> #ust-bar-yz-baslik) { padding-top: 24px; }
  html:root[data-sema="yildiz"] .yz-sayfa-baslik > h1:not(#_) { font-size: 40px; }
}
/* Görsel denetim Y-6 (21.10): üst barın dar ekran h1 kuralı (flex: 1 1 128px — yatay satırda GENİŞLİK tabanı) sütun düzenindeki
   Yıldız başlığına YÜKSEKLİK olarak uygulanıyordu: 40 px başlık 128 px kutuya şişti, arama/yardım/zil satırı ~90 px aşağı düştü
   (≥ 20 ekran). Sütunda başlık kendi boyunda kalır. */
html:root[data-sema="yildiz"] .yz-sayfa-baslik > h1:not(#_):not(#__) { flex: 0 0 auto; }
/* Etiketler: ürün yokken satır değeri seçim listesini açan düğme — tuval .k değeri (22/300/−0,01em, soluk) + b2 alt çizgisi
   (tıklanabilir olduğu görünsün); dolgu/kenar/köşe yok. */
html:root[data-sema="yildiz"] .yz .yz-k-deger > .yz-etiket-urun-sec:not(#_) {
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font: inherit;
  letter-spacing: inherit;
  color: var(--metin-soluk);
  text-align: left;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz .yz-k-deger > .yz-etiket-urun-sec:hover:not(#_) { color: var(--metin); }
/* Etkileşim sonrası görünürlük (K15): altlığı olmayan pencerede (Yeni müşteri PRO: 1665 px form, 825 px gövde) birincil
   düğmeli son eylem satırı gövdenin dibine YAPIŞIR — Kaydet ilk görünümde ekranda. DOM AYNEN; zemin örten yüzey (--yuzey-govde). */
html:root[data-sema="yildiz"] body :is(.modal-govde, .cekmece-govde) > :is(.form-dikey, form) > :has(> :is(.btn-birincil, .dugme-birincil)):not(.yz *):not(#_) {
  position: sticky;
  bottom: -24px;   /* gövdenin 24 px alt dolgusu: yapışan satırın altında içerik görünmesin */
  z-index: 1;
  padding: 16px 0 40px;
  justify-content: flex-start;
  gap: 40px;
  border-top: 1px solid var(--ayrac);
  background-color: var(--yuzey-govde);
}
/* Katman içi katlanır (Yeni fatura "Fatura ayrıntıları"): kart değil — köşe 0, dolgu yok, kıl kenar kalır. */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) details:not(.yz *):not(#_) { border-radius: 0; background: transparent; }
html:root[data-sema="yildiz"] body :is(.modal-govde, .cekmece-govde) > :is(.form-dikey, form) > :has(> :is(.btn-birincil, .dugme-birincil)) > :is(.btn-birincil, .dugme-birincil):not(.yz *):not(#_) { order: -1; }
/* Katman içi alan grubu (Yeni müşteri PRO "Kimlik ve ticari bilgiler"): tarayıcının oluklu çerçevesi yerine kıl çizgi + tuval .ust başlığı. */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) fieldset:not(.yz *):not(#_) { margin: 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--ayrac); border-radius: 0; }
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) fieldset > legend:not(.yz *):not(#_) {
  padding: 0 16px 0 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--metin-soluk);
}
/* ── KATMAN EYLEM SATIRI — tek kalıp (YILDIZ-KATMAN tur 2 · tasarım hakemi KRİTİK "çekmeceden çekmeceye dört kalıp":
   'btn btn-birincil esnek' 89×44 · 'dugme dugme-birincil' 89×44 · Emanet 339×50 esneyen şerit · 'esit-pay' 217×44).
   Tuval form kalıbı (Y_Isletme · Y_Yasalsinirlar · Y_Veridisaaktar <div style="display:flex;align-items:center;gap:40px">
   <a class="b1">Kaydet</a><a class="b2">Vazgeç</a>): b1 hap 56 px · dolgu 0 32 · 16/500/.02em · yazı genişliğinde;
   b2 altı çizili 56 px · dolgu 0 4 · 16/400/.02em (tuval b2 ağırlığı kökten miras: 400) · saydam · köşe 0; b1 SOLDA, 40 px ara.
   Satır = katmandaki birincil/tehlike düğmesinin EBEVEYNİ (alt şerit, gövde içi eylem satırı, Emanet .emanet-cekmece-alt).
   esnek / esit-pay / satır içi flex:1 / tam genişlik Yıldız'da NÖTR (esnemez). Tehlike (Pasife al, iptal onayı) aynı hap ölçüsünde,
   rengi YILDIZ-TIPO'nun tehlike dili (saydam + --tehlike kenar/yazı). Tezgâh (.yz-tezgah) kendi çekmecelerini YILDIZ-4C/
   TEZGAH-ODEME kalıbıyla çizer — dokunulmaz. Öteki 8 şemada etki 0 (her seçici html:root[data-sema="yildiz"]). */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz-tezgah *) :has(> :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike)):not(form, fieldset, .form-dikey, .modal-govde, .cekmece-govde, .modal-panel, .cekmece):not(#_) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px 40px;
}
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz-tezgah *) :has(> :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike)):not(form, fieldset, .form-dikey, .modal-govde, .cekmece-govde, .modal-panel, .cekmece) > :is(.btn, .dugme, button):not(#_) {
  box-sizing: border-box;
  flex: 0 0 auto !important;    /* satır içi style="flex:1" (Ürünler onay pencereleri) dahil esnemez */
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: 56px;
  min-height: 56px;
  margin: 0;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.45;           /* tuval kökü 18px/1.45 → düğmede 16 × 1.45 = 23,2 px (tuval-kiyas) */
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transform: none;
}
/* b1 — birincil hap (tehlike de aynı ölçüde; rengi aşağıda) */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz-tezgah *) :has(> :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike)):not(form, fieldset, .form-dikey, .modal-govde, .cekmece-govde, .modal-panel, .cekmece) > :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike):not(#_) {
  order: -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 32px;
  border: 0;
  border-radius: 999px !important;
  background: var(--metin);
  color: var(--yuzey-govde);
  font-weight: 500;
}
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz-tezgah *) :has(> :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike)):not(form, fieldset, .form-dikey, .modal-govde, .cekmece-govde, .modal-panel, .cekmece) > :is(.btn-tehlike, .dugme-tehlike):not(.btn-birincil):not(.dugme-birincil):not(#_) {
  border: 1px solid var(--tehlike);
  background: transparent;
  color: var(--tehlike);
}
/* b2 — ikincil, altı çizili yazı */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz-tezgah *) :has(> :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike)):not(form, fieldset, .form-dikey, .modal-govde, .cekmece-govde, .modal-panel, .cekmece) > :is(.btn, .dugme, button):not(.btn-birincil):not(.dugme-birincil):not(.btn-tehlike):not(.dugme-tehlike):not(#_) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0 !important;
  background: transparent;
  color: var(--metin);
  font-weight: 400;
}
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz-tezgah *) :has(> :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike)):not(form, fieldset, .form-dikey, .modal-govde, .cekmece-govde, .modal-panel, .cekmece) > :is(.btn, .dugme, button):not(.btn-birincil):not(.dugme-birincil):not(.btn-tehlike):not(.dugme-tehlike):hover:not(:disabled):not(#_) { border-bottom-color: var(--metin); background: transparent; }
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(.yz-tezgah *) :has(> :is(.btn-birincil, .dugme-birincil, .btn-tehlike, .dugme-tehlike)):not(form, fieldset, .form-dikey, .modal-govde, .cekmece-govde, .modal-panel, .cekmece) > :is(.btn, .dugme, button):disabled:not(#_) { opacity: .45; cursor: not-allowed; }
/* Emanet al / Emanet iade et: çekmecenin kendi tabanı gizli, eylem satırı gövdenin dibinde yapışkan (emanet.css ORTAK-1).
   Yıldız'da öteki çekmecelerin alt şeridiyle AYNI yer ve çizgi: panel kenarından kenara kıl çizgi, 24 px üst/alt dolgu
   (Kaydet üst kenarı tüm çekmecelerde panel dibinden 80 px yukarıda). */
html:root[data-sema="yildiz"] body .cekmece .cekmece-govde > .emanet-cekmece-alt:not(#_) {
  margin: auto -32px -24px;    /* gövdenin 24 px alt dolgusu (YILDIZ-KATMAN gövde kuralı) kapatılır */
  bottom: -24px;
  padding: 24px 32px;
  border-top: 1px solid var(--ayrac);
  background-color: var(--yuzey-govde);
}
@media (max-width: 768px) {
  html:root[data-sema="yildiz"] body .cekmece .cekmece-govde > .emanet-cekmece-alt:not(#_) { margin: auto -16px -24px; padding: 24px 16px; }
}
/* ── KATMAN İÇİ ALANLAR (sunum 14.10 · YILDIZ-KATMAN tur 2 hakem KRİTİK): müşteri kartı, Yeni müşteri, Yeni ürün
   çekmecelerinde eski tema kutusu (1 px çerçeve, 8 px köşe) kalıyordu. Tuval .alan çizgisi: yalnız alt 1 px --kenarlik,
   köşe 0, sol dolgu 0, değer etiketle aynı x'te. "Daha fazla" katlanırı tuval .ekle kalıbında (çerçevesiz, soluk). */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) :is(input.girdi, textarea.girdi, select.girdi, select.secim):not([type="checkbox"]):not([type="radio"]):not(#_):not(#__):not(#___) {
  padding-left: 0;
  padding-right: 0;
  border: 0;
  border-bottom: 1px solid var(--kenarlik);
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  color: var(--metin);
}
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) :is(input.girdi, textarea.girdi, select.girdi, select.secim):focus:not(#_):not(#__):not(#___) { border-bottom-color: var(--metin); outline: 0; box-shadow: none; }
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) .form-daha-fazla:not(#_):not(#__):not(#___) {
  height: auto;
  min-height: 0;
  padding: 16px 0;
  gap: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--metin-soluk);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .04em;
  white-space: nowrap;
}
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) .form-daha-fazla:hover:not(#_):not(#__):not(#___) { color: var(--metin); background: transparent; }
/* YILDIZ-KATMAN sonu */

/* ═══════════════════════════════════════════════════════════════════════════
   PAKET P-TEZGAH-TUR-KIMLIK (TUR-KIMLIK) — ekran denetimi 10.10 Y4 · K4 (yalnız GÖRÜNÜM; kural/gövde AYNEN)
   (1) İşlem türü GÖRÜNÜR sekmeler (FisTurSecici): tuvalin .sek kalıbı — 14 px, .1em, büyük harf, --s; seçili --m +
       1 px --p alt çizgi (Y_Emanet/Y_Urunler .sek). Satış yüzünde #yildiz-tezgah-ust satırının İÇİNDE (satırın konumu
       ve yazı ölçüsü tuvalle AYNI; dolgu negatif marjla yerleşimi itmez), öteki türlerde fişin başında aynı satır.
   (2) Öteki türler (Alış, İade, Hurda alış, Takas …) Yıldız'da: eski "Ne yapıyorsun?" ızgarası / sekme şeridi /
       "Diğer ▾" kutusu yalnız "Diğer" açılınca; özet bandı, rozet ve satıcı kartı kartsız (tuval: ince çizgi, zemin yok).
   (3) Kimlik çekmecesi: zorunlu alanların "*" işareti görünür (ortak .yz-duzen kuralı gizliyordu — K4 "gizli zorunlu").
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] .yz-tur-ust { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 32px; row-gap: 8px; }
html:root[data-sema="yildiz"] :is(.yz-tur-satir, .yz-tur-sekmeler) { display: inline-flex; flex-wrap: wrap; align-items: baseline; column-gap: 24px; row-gap: 8px; }
html:root[data-sema="yildiz"] .yz-tur-sekme {
  margin: -6px 0;
  padding: 6px 4px;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 17px;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--metin-soluk);
  text-decoration: none;
  cursor: pointer;
}
html:root[data-sema="yildiz"] .yz-tur-sekme:hover { color: var(--metin); }
html:root[data-sema="yildiz"] .yz-tur-sekme:focus-visible { outline: 1px solid var(--metin); outline-offset: 2px; }
html:root[data-sema="yildiz"] :is(.yz-tur-sekme--secili, .yz-tur-diger[aria-expanded="true"]) { color: var(--metin); border-bottom-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .yz-tur-kalan { white-space: normal; }
/* Satış yüzü: sekmeler + müşteri satırı dar sütunda sarar (tek kelime kırılmaz); Değiştir sağda kalır. */
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir > .yz-tur-ust { flex: 1 1 auto; min-width: 0; }
html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir:has(> .yz-tur-ust) { column-gap: 24px; }
/* Dar ekran: sekmeler kendi satırında; müşteri satırı ile "Değiştir" ALTINDA yan yana (p yalnız düzende çözülür —
   yazı ölçüsü ve kimlik AYNEN). Telefonda sekmeler tek satıra sığsın diye 13 px (tuval ölçeğinde) ve dar aralık. */
@media (max-width: 768px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir:has(> .yz-tur-ust) { flex-wrap: wrap; row-gap: 12px; column-gap: 16px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir > .yz-tur-ust { display: contents; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir > .yz-tur-ust > .yz-tur-satir { flex: 1 0 100%; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir > .yz-tur-ust > .yz-tur-kalan { flex: 1 1 0; min-width: 0; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir:has(> .yz-tur-ust) > .yz-tezgah-degistir { margin-left: auto; }
  html:root[data-sema="yildiz"] :is(.yz-tur-satir, .yz-tur-sekmeler) { column-gap: 16px; }
}
@media (max-width: 420px) {
  html:root[data-sema="yildiz"] :is(.yz-tur-satir, .yz-tur-sekmeler) { column-gap: 10px; }
  html:root[data-sema="yildiz"] .yz-tur-sekme { font-size: 13px; }
}

/* (2) Öteki türler — fiş tuval düzeninde tek sütun; eski seçiciler yalnız "Diğer" açıkken. */
html:root[data-sema="yildiz"] body .islem-sayfa.yz-islem-tur { display: flex; flex-direction: column; align-items: stretch; gap: 24px; max-width: none; }
html:root[data-sema="yildiz"] body .islem-sayfa.yz-islem-tur > * { min-width: 0; }
html:root[data-sema="yildiz"] .yz-islem-tur:not(.yz-turler-acik) > :is(.sekme-grubu, #islem-izgara) { display: none; }
html:root[data-sema="yildiz"] .yz-islem-tur:not(.yz-turler-acik):not(.yz-diger-acik) > #islem-diger { display: none; }
html:root[data-sema="yildiz"] .yz-islem-tur > #islem-son-satislar { display: none; }
html:root[data-sema="yildiz"] .yz-islem-tur > #yildiz-tur-ust { padding: 0; margin: 0; background: transparent; }
html:root[data-sema="yildiz"] .yz-islem-tur .islem-fis-kart > .kart-baslik { display: none; }
html:root[data-sema="yildiz"] .yz-islem-tur :is(#islem-pro-toplam, #hurda-satici, #takas-satici, .kart--masak, .fis-pro-toplam, .islem-fis-kart .kart) {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--kenarlik);
  border-radius: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}
html:root[data-sema="yildiz"] .yz-islem-tur :is(#hurda-fiyat-kaynak, .alan-kaynak) { background: transparent; border: 0; padding-left: 0; padding-right: 0; color: var(--metin-soluk); }

/* (3) Kimlik çekmecesi (Satış yüzü): zorunlu işareti görünür. */
html:root[data-sema="yildiz"] .yz #yildiz-kimlik-govde .zorunlu-isaret { display: inline; margin-left: .25em; color: var(--metin-soluk); }
/* (4) Tur 2 (tasarım hakemi KRİTİK): kimlik çekmecesinin birincil "Tamam"ı tuval .b1 — dolu hap (açıkta koyu, koyuda açık),
       yazı ortalı; "Kapat" .b2 alt çizgili kalır. Genel ".yz .cekmece-alt .dugme" (alt çizgi, radius 0) ile ".ana-icerik
       .dugme-birincil" (radius 999px !important) çakışması yarım yay çiziyordu → birincil için tek, tutarlı görünüm. */
html:root[data-sema="yildiz"] .yz .cekmece-alt .dugme.dugme-birincil:not(#yz-tk) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 32px;
  border: 0;
  border-radius: 999px !important;
  background: var(--metin);
  color: var(--yuzey-govde);
  font-weight: 500;
  letter-spacing: .02em;
}
html:root[data-sema="yildiz"] .yz .cekmece-alt .dugme.dugme-birincil:not(#yz-tk):hover { opacity: .88; }
html:root[data-sema="yildiz"] .yz .cekmece-alt .dugme.dugme-birincil:not(#yz-tk):focus-visible { outline: 1px solid var(--metin); outline-offset: 3px; }
/* (5) Tur 2 (tasarım hakemi KRİTİK): öteki türlerde Kaydet kilitliyse sebep TEK cümle Kaydet'in yanında, Yıldız küçük yazısıyla. */
html:root[data-sema="yildiz"] body .yz-islem-tur #islem-kaydet-kilit:not(.gorunmez) {
  font-size: 15px;
  line-height: 1.35;
  font-weight: 400;
  color: var(--metin-soluk);
  white-space: normal;
  order: 0;
  flex: 1 1 12rem;
  max-width: none;
  margin: 0;
  align-self: center;
  text-align: right;
}
/* (6) Tur 2 (tasarım hakemi KRİTİK "PRO'da Alış eski form"): Yıldız öteki tür yüzünde PRO'ya özgü eski satırlar çizilmez —
       sayfa açıklama satırı ("Satış, alış, hurda alışı …"), Kısayollar satırı (tuşlar ÇALIŞIR, yalnız yazı yok) ve
       "Pasif cariler …" açıklama notu (BASİT/PRO-tuval'de zaten gizli). Metinler DOM'da kalır (ekran okuyucu/title). */
html:root[data-sema="yildiz"] body:has(.islem-sayfa.yz-islem-tur) #sayfa-basi-islemler-aciklama,
html:root[data-sema="yildiz"] body .yz-islem-tur :is(#islem-pro-kisayollar, #islem-cari-pasif-notu) { display: none; }
/* (7) Tur 2 (doğrulayıcı ORTA, denetim Y2 — KISMEN): "Değiştir" açıkken katman barkod alanının YERİNE açılır (barkod alanı ve
       boş fiş yazısı ve kalem listesi o sırada çizilmez, seçimle geri gelir; Toplam görünür kalır) → yarıdan kesik satır kalmaz; 50vh tavanı kalktı, katman
       Toplam'a kadar olan TÜM boşluğu kullanır. Kalemler ve Toplam yerinde (YILDIZ-4C tur 3). Tuval satırı ~82 px olduğundan
       768 px boyda 5+ müşteri yine sığmaz → katman kendi içinde kayar (toplu kuyruk O9: satır yoğunluğu tasarım kararı). */
@media (min-width: 1001px) {
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sol > #yildiz-tezgah-musteri.yz-tezgah-musteri { flex: 0 1 auto; min-height: 0; max-height: none; overflow-y: auto; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sol:has(> #yildiz-tezgah-musteri) > .yz-tezgah-giris,
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sol:has(> #yildiz-tezgah-musteri) #yildiz-tezgah-bos,
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-sol:has(> #yildiz-tezgah-musteri) > .yz-tezgah-kalemler { display: none; }
}
/* P-TEZGAH-TUR-KIMLIK sonu */

/* P-DIL-BORC-KASA (Y7): Müşteriler üst satırı tek kalıpla uzadı ("7 müşteri · 2 bize borçlu · 1 biz borçluyuz").
   Satır başlık sütununun genişliğini BELİRLEMEZ — tuval geometrisi (başlık, arama, süzgeç konumları) korunur;
   geniş ekranda tek satır, dar ekranda sütun içinde kırılır (yatay kaydırma yok). */
html:root[data-sema="yildiz"] .yz-musteri #yildiz-musteri-ust { width: 0; min-width: 100%; white-space: nowrap; }
/* Başlık sütunu tuval Musteri4 ölçüsünde (tuvalde sütunu üst satır belirliyordu: 261,5 px). */
html:root[data-sema="yildiz"] .yz-musteri .yz-bas-sol { min-width: min(261.5px, 100%); }
@media (max-width: 1399px) {
  html:root[data-sema="yildiz"] .yz-musteri #yildiz-musteri-ust { white-space: normal; }
}
/* P-DIL-BORC-KASA tur 2 (tasarım hakemi KRİTİK): Kasalar "Tüm ayrıntılar" listesinde yeni etiket
   (#kasa-buyuk-etiket-*) ile ayrım satırı (#kasa-ayrim-*) aynı ızgara alanına ("ayrim") düşüp üst üste
   biniyordu. Etiket kendi alanında, büyük rakamın ÜSTÜNDE durur; ayrım satırı solda ikinci satırdadır. */
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde {
  grid-template-areas: "ad etiket eylem" "ayrim bakiye eylem";
}
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > p[id^="kasa-buyuk-etiket-"] {
  grid-area: etiket;
  margin: 0;
  text-align: right;
  align-self: end;
}
html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .stat-deger { align-self: start; }
@media (max-width: 767px) {
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "ad ad" "etiket etiket" "bakiye bakiye" "ayrim ayrim" "eylem eylem";
  }
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > p[id^="kasa-buyuk-etiket-"],
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .stat-deger { text-align: left; }
}
/* 18.10 (tarayıcı ölçümü, 1280): "Tüm ayrıntılar"da iki kasa yan yana (kart ~568 px) dizilince üç sütunlu ızgarada
   ayrım satırı ("Kart … · Havale …") büyük rakamın altına girip ÜST ÜSTE biniyordu. Kart dar ise (≤ 760 px) satırlar
   alt alta: ad · etiket · rakam · ayrım · eylemler. Geniş kartta düzen AYNEN. */
html:root[data-sema="yildiz"] #kasa-liste > .kart { container-type: inline-size; }
@container (max-width: 760px) {
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "ad" "etiket" "bakiye" "ayrim" "eylem";
    row-gap: 6px;
  }
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > p[id^="kasa-buyuk-etiket-"],
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .stat-deger { text-align: left; }
  html:root[data-sema="yildiz"] #kasa-liste > .kart > .kart-govde > .satir-eylemler { justify-content: flex-start; }
}
/* P-DIL-BORC-KASA tur 2: Müşteriler üst satırının her parçası ("1 biz borçluyuz") tek blok — sayı etiketinden ayrılmaz. */
html:root[data-sema="yildiz"] .yz-musteri #yildiz-musteri-ust .yz-ust-parca { white-space: nowrap; }
/* P-DIL-BORC-KASA sonu */

/* ── SUNUM 14.10 · YILDIZ TİPO (yildiz-tipo-tara: 1280 kural dışı boy) ─────────────────────────────────────
   Eski ölçeğin oranlı belirteçleri (gövde × 15/18, 13/18, 14/18) Yıldız'ın 20 px gövdesinde küsurat veriyordu
   (16,67 / 14,44 / 15,56 px — tuvalde yok). Yıldız'da tuval ölçeğinin tam değerleri. Öteki şemalarda etki 0. */
html:root[data-sema="yildiz"] { --yazi-kontrol-kucuk: 16px; }
html:root[data-sema="yildiz"] .ana-icerik .veri-tablosu:not(#_) { --tablo-yazi: 16px; --tablo-baslik-yazi: 14px; }
@media (min-width: 769px) and (max-width: 1399px) {
  html:root[data-sema="yildiz"] .ana-icerik .veri-tablosu:not(.fis-pro-tablo):not(#_) { --tablo-yazi: 15px; --tablo-baslik-yazi: 13px; }
}
html:root[data-sema="yildiz"] .panel-sade .panel-soru > .panel-soru-alt:not(#_) { font-size: 16px; }
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yz-bosekran .yz-bosekran-baslik:not(#_) { font-size: 28px; }   /* 32 tuval ölçeğinde yok */
}
@keyframes amb-kaydir-son { 0%, 90% { opacity: 1; } 100% { opacity: 0; } }
/* SUNUM 14.10 tipo tur 2: kalan iki öğe (oranlı ölçekten) tam piksel. */
html:root[data-sema="yildiz"] #islem-diger-ozet:not(#_) { font-size: 14px; }
html:root[data-sema="yildiz"] #pozisyon-baslik:not(#_) { font-size: 16px; }
/* Müşteri kartı "Son değişiklik … · Kim ne yaptı": bağlantı satırın kendi boyunda (eski şemanın büyük bağlantı boyu sızıyordu). */
html:root[data-sema="yildiz"] #cari-kim-ne-yapti:not(#_) { font-size: inherit; font-weight: inherit; letter-spacing: inherit; }

/* ── HESAP MENÜSÜ (sunum 14.10 · kurucu: "Görünüm Basit Profesyonel sanki 3 seçenek var gibi", "Hangi şube yazısına,
   açılır listenin yazı tipine boyutuna bak"). Etki: yalnız #yildiz-kullanici-menu (SubeSecici başka yerde kullanılmıyor).
   Başlık kendi satırında, seçenekler altında (DİL · GÖRÜNÜM · ŞUBE aynı kalıp); şube başlığı .yildiz-menu-etiket ile aynı;
   şube seçimi kutusuz, seçeneklerle aynı 15 px; açılan listenin yazısı da 15 px. */
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .yildiz-menu-satir:not(#_) { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; }
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .yildiz-mod-anahtar:not(#_) { display: inline-flex; gap: 20px; }
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .sube-secici:not(#_) { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .sube-secici .secici-alan:not(#_):not(#__) { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin: 0; padding: 0; border: 0; }
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .sube-secici .alan-etiket:not(#_):not(#__) {
  margin: 0; color: var(--metin-soluk); font-size: 12px; font-weight: 500 !important; line-height: 17px; letter-spacing: .22em; text-transform: uppercase;
}
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .sube-secici .secici-tetik:not(#_):not(#__) {
  width: 100%; height: auto; min-height: 0; margin: 0; padding: 6px 0;
  border: 0; border-bottom: 1px solid var(--ayrac); border-radius: 0; background: transparent; box-shadow: none;
  color: var(--metin); font: inherit; font-size: 15px; font-weight: 400; letter-spacing: normal;
}
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .sube-secici .secici-metin:not(#_):not(#__) { font-size: 15px; font-weight: 400; }
html:root[data-sema="yildiz"] #yildiz-kullanici-menu .sube-secici .secici-liste-kap :is([role=option], .secici-ara, .secici-bos):not(#_):not(#__) { font-size: 15px; font-weight: 400; letter-spacing: normal; }
/* SUNUM 14.10 (kurucu: "müşteri ismi menü ismi gibi geliyor üstte Peşin Müşteri diye"): Tezgâh üst satırındaki müşteri adı
   sekmelerle (SATIŞ · ALIŞ · İADE …) aynı büyük harf/aralıkla yazıldığı için altıncı sekme gibi okunuyordu. Etki: yalnız
   #yildiz-tezgah-ust-musteri (Tezgâh, sekmeli üst satır). Ad normal yazıyla, ince dikey ayraçla sekmelerden ayrılır. */
html:root[data-sema="yildiz"] .yz-tezgah #yildiz-tezgah-ust-musteri:not(#_) {
  margin-left: 8px; padding-left: 24px; border-left: 1px solid var(--kenarlik);
  color: var(--metin); font-size: 17px; font-weight: 400; letter-spacing: normal; text-transform: none;
}
@media (min-width: 769px) {
  /* Bütün genişliklerde: sekmeler kendi satırında, müşterinin TAMAMI (ad + borç durumu) ve "Değiştir" altında yan yana.
     Tek satırda 1024'te çakışıyor, 1280/1440'ta borç "…" ile kesiliyordu (ölçüldü). */
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir:has(> .yz-tur-ust):not(#_) { flex-wrap: wrap; row-gap: 12px; column-gap: 16px; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir > .yz-tur-ust:not(#_) { display: contents; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir > .yz-tur-ust > .yz-tur-satir:not(#_) { flex: 1 0 100%; }
  html:root[data-sema="yildiz"] .yz-tezgah .yz-tezgah-ust-satir:has(> .yz-tur-ust) > .yz-tezgah-degistir:not(#_) { margin-left: auto; }
}
/* Müşteri kendi satırında (sekmelerin altında): ayraç gerekmez. */
html:root[data-sema="yildiz"] .yz-tezgah #yildiz-tezgah-ust-musteri:not(#_):not(#__) { margin-left: 0; padding-left: 0; border-left: 0; font-size: 16px; }
/* SUNUM 14.10 · katman içi "+ …" açıcıları (Emanet iade/al, Vezne: summary.emanet-detay-ac) tuval .ekle kalıbında
   (15 px · 400 · .04em · soluk; kalın/büyük değil) ve katmandaki ul.liste-sade madde imsiz. Etki: yalnız Yıldız katmanları. */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) summary.emanet-detay-ac:not(#_) {
  padding: 16px 0; color: var(--metin-soluk); font-size: 15px; font-weight: 400 !important; letter-spacing: .04em; cursor: pointer;
}
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) summary.emanet-detay-ac:hover:not(#_) { color: var(--metin); }
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) ul.liste-sade:not(#_) { margin: 4px 0 0; padding-left: 0; list-style: none; }
/* SUNUM 14.10 · katmanda seçici yer tutucusu ("Ayar seçin") değer gibi koyu görünüyordu → soluk. (Küçük yazı 500 onaylı okunurluk
   kararıdır — Y1_06; değiştirilmez.) Etki: yalnız Yıldız katmanları (.modal-panel, .cekmece). */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) .secici-metin.yer-tutucu:not(#_):not(#__) { color: var(--metin-soluk); }
/* SUNUM 14.10 · Tahsilat penceresinin "+ Altınla öde" / "+ Not ekle" açıcıları Emanet'teki "+ …" açıcılarıyla aynı tuval .ekle
   kalıbında (hap değil). Etki: yalnız #th-has-ekle, #th-not-ekle (Müşteriler → Tahsilat). */
html:root[data-sema="yildiz"] body :is(#th-has-ekle, #th-not-ekle):not(.yz *):not(#_) {
  height: auto; min-height: 0; padding: 12px 0; margin-right: 24px; border: 0; border-radius: 0 !important; background: transparent; box-shadow: none;
  color: var(--metin-soluk); font-size: 15px; font-weight: 400 !important; letter-spacing: .04em;
}
html:root[data-sema="yildiz"] body :is(#th-has-ekle, #th-not-ekle):hover:not(.yz *):not(#_) { color: var(--metin); background: transparent; }
/* SUNUM 14.10 · katmandaki KayitSecici etiketi (ör. Uyum → "İşlem kimliği") öteki alan etiketleriyle aynı kalıpta
   (12 px · büyük harf · .18em · soluk); "(isteğe bağlı)" ekiyle arasında boşluk. Etki: Yıldız katmanlarındaki .kayit-secici. */
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) .kayit-secici > label:not(#_) {
  display: block; margin: 0 0 6px; color: var(--metin-soluk); font-size: 12px; font-weight: 400 !important; letter-spacing: .18em; text-transform: uppercase;
}
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece) .kayit-secici > label > span:not(#_) { margin-left: .4em; font-size: inherit; }
/* SUNUM 14.10 · PRO Tezgâh "DİĞER" ile açılan tür şeridi eski temadaydı (17,78 px küsuratlı, normal harf, "Diğer ▾" kesikli
   çerçeveli kutu). Ana sekmelerle (.yz-tur-sekme) aynı kalıp. Etki: yalnız .yz-islem.yz-turler-acik şeridi ve #islem-diger-ac. */
html:root[data-sema="yildiz"] .yz-islem.yz-turler-acik > .sekme-grubu .sekme:not(#_):not(#__) {
  padding: 6px 4px; margin-right: 28px; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent;
  color: var(--metin-soluk); font-size: 14px; font-weight: 400 !important; line-height: 17px; letter-spacing: .1em; text-transform: uppercase;
}
html:root[data-sema="yildiz"] .yz-islem.yz-turler-acik > .sekme-grubu .sekme:is(.secili, :hover):not(#_):not(#__) { color: var(--metin); }
html:root[data-sema="yildiz"] .yz-islem.yz-turler-acik > .sekme-grubu .sekme.secili:not(#_):not(#__) { border-bottom-color: var(--kenarlik); }
html:root[data-sema="yildiz"] .yz-islem #islem-diger-ac.islem-diger-dugme:not(#_):not(#__) {
  height: auto; min-height: 0; padding: 6px 0; border: 0; border-radius: 0 !important; background: transparent; box-shadow: none;
  color: var(--metin-soluk); font-size: 14px; font-weight: 400 !important; letter-spacing: .04em;
}
html:root[data-sema="yildiz"] .yz-islem #islem-diger-ac.islem-diger-dugme:hover:not(#_):not(#__) { color: var(--metin); }
/* SUNUM 15.10 · tablo hücresinde yan yana iki rozet ("Taslak" "Kalemler") bitişik "TaslakKalemler" okunuyordu → aralarında boşluk.
   Etki: yalnız Yıldız ana içerikteki tablo hücrelerinde art arda gelen rozetler (yalnız aralık). */
html:root[data-sema="yildiz"] .ana-icerik td .rozet + .rozet:not(#_) { margin-left: 8px; }

/* KURUCU 15.10 — HAS · 22 AYAR şeridi Kur ekranını açar. Görünüm AYNEN kalır (renk/yazı devralınır);
   yalnız imleç ve üzerine gelince metin bir ton açılır. */
html:root[data-sema="yildiz"] .yildiz-ust a.yildiz-kur-bag:not(#_) {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: color .15s ease;
}
html:root[data-sema="yildiz"] .yildiz-ust a.yildiz-kur-bag:not(#_):hover { color: var(--metin); }

/* M4 (16.10) · Fiyat kuralları çekmecesi. "+ Yeni kural" katman içi "+ …" açıcılarıyla AYNI tuval .ekle kalıbında;
   kural satırları ince çizgiyle ayrılır; önizlemede sıra: açıklama → seçenek → düğme. Etki: yalnız #uk-* (bu çekmece). */
html:root[data-sema="yildiz"] body #uk-yeni:not(#_) {
  display: inline-flex; align-items: center; gap: 8px; height: auto; min-height: 0; padding: 16px 0; border: 0; border-radius: 0 !important;
  background: transparent; box-shadow: none; color: var(--metin-soluk); font-size: 15px; font-weight: 400 !important; letter-spacing: .04em; cursor: pointer;
}
html:root[data-sema="yildiz"] body #uk-yeni:hover:not(#_) { color: var(--metin); }
html:root[data-sema="yildiz"] body #uk-yeni svg:not(#_) { fill: none; stroke: currentColor; stroke-width: 1.5; }
html:root[data-sema="yildiz"] body #uk-liste > .uk-satir:not(#_) {
  display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--kenarlik);
}
html:root[data-sema="yildiz"] body #uk-liste .uk-eylem:not(#_) { display: flex; gap: 8px; margin-top: 8px; }
html:root[data-sema="yildiz"] body #uk-onizleme:not(#_) { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 12px; }
html:root[data-sema="yildiz"] body #uk-onizleme > *:not(#_) { order: 0; margin: 0; }
html:root[data-sema="yildiz"] body #uk-onizleme > #uk-uygula:not(#_) { order: 9; }

/* M6 (16.10) · Tezgâh "Fiş | Fatura" seçimi: tür sekmeleriyle aynı kalıp, ödeme eklerinin üstünde; zorunluluk notu soluk tek satır.
   Etki: yalnız #yildiz-belge (Tezgâh satış yüzü). */
html:root[data-sema="yildiz"] body #yildiz-belge:not(#_) { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 16px; row-gap: 4px; margin: 16px 0 4px; }
html:root[data-sema="yildiz"] body #yildiz-belge .yz-tur-sekme:disabled:not(#_) { cursor: not-allowed; opacity: .45; }
html:root[data-sema="yildiz"] body #yildiz-belge-not:not(#_) { margin: 0; color: var(--metin-soluk); font-size: 14px; }
/* 17.10 fatura sorusu: metin ve Evet | Hayır tek satırda (alt blok az büyür); dar ekranda sarar. */
html:root[data-sema="yildiz"] body #yildiz-belge-soru:not(#_) { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin: 8px 0 0; }
html:root[data-sema="yildiz"] body #yildiz-belge-soru p:not(#_) { margin: 0; }
html:root[data-sema="yildiz"] body #yildiz-belge-soru .yz-belge-soru-dugmeler:not(#_) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
html:root[data-sema="yildiz"] body #yildiz-belge-soru .yz-belge-soru-dugmeler > button:not(#_) { align-self: center; margin-top: 0; margin-bottom: 0; }
/* 17.10 havaleden satış: bekleyen havaleler belge satırının altında tam genişlik, madde imsiz liste. */
html:root[data-sema="yildiz"] body #yildiz-havaleler:not(#_) { flex-basis: 100%; list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; align-items: flex-start; row-gap: 6px; }
html:root[data-sema="yildiz"] body #yildiz-havaleler .yz-tur-sekme:not(#_) { text-align: left; white-space: normal; }

/* ── M7a (17.10): gelen ödeme karar kutusu + müşteri IBAN listesi ─────────────── */
html:root[data-sema="yildiz"] body #gelen-odeme-karari:not(#_) { margin-bottom: 16px; }
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-baslik:not(#_) { font-size: 1.05rem; font-weight: 600; margin: 0; }
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-satir:not(#_) {
  display: flex; flex-direction: column; gap: 8px; padding: 12px 0; border-top: 1px solid var(--kenarlik);
}
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-ust:not(#_) { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-uyari:not(#_) {
  margin: 0; padding: 8px 12px; border: 1px solid var(--uyari-kenar); background: var(--uyari-yuzey); color: var(--uyari); border-radius: 8px;
}
html:root[data-sema="yildiz"] body #gelen-odeme-karari .satir:not(#_) { display: flex; gap: 8px; flex-wrap: wrap; }
html:root[data-sema="yildiz"] body #cari-iban:not(#_) { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
html:root[data-sema="yildiz"] body #cari-iban-liste > .cari-iban-satir:not(#_) {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 0; border-bottom: 1px solid var(--kenarlik);
}
html:root[data-sema="yildiz"] body #cari-iban-liste .cari-iban-no:not(#_) { font-variant-numeric: tabular-nums; flex: 1 1 auto; overflow-wrap: anywhere; }
html:root[data-sema="yildiz"] body #cari-iban .cari-iban-ekle:not(#_) { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
/* M7a: çekmece .yz dışında — "+ IBAN ekle" ortak ekle bağlantısıyla aynı görünür; "Kaldır" kart eylemi gibi altı çizili metin. */
html:root[data-sema="yildiz"] body #cari-iban .yz-ekle:not(#_) {
  display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; margin: 0; padding: 8px 0;
  border: 0; border-radius: 0; background: transparent; color: var(--metin-soluk); font: inherit; font-size: 15px;
  letter-spacing: .04em; cursor: pointer; width: auto;
}
html:root[data-sema="yildiz"] body #cari-iban .yz-ekle:hover:not(#_) { color: var(--metin); }
html:root[data-sema="yildiz"] body #cari-iban .yz-ekle:focus-visible:not(#_) { outline: 1px solid var(--odak-halka); outline-offset: 4px; }
html:root[data-sema="yildiz"] body #cari-iban .yz-ik:not(#_) { fill: none; stroke: currentColor; stroke-width: 1.5; }
html:root[data-sema="yildiz"] body #cari-iban-liste .btn:not(#_) {
  background: transparent; border: 0; border-bottom: 1px solid var(--kenarlik); border-radius: 0;
  padding: 2px 2px; min-height: 0; color: var(--metin); font-size: 15px;
}
html:root[data-sema="yildiz"] body #go-bilgi:not(#_) { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
/* 17.10 — borçlu satış seçimi */
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-satislar:not(#_) { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-satis:not(#_) { display: flex; flex-direction: column; gap: 6px; padding: 8px 0; border-top: 1px solid var(--kenarlik); }
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-satis-sec:not(#_) { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ── M9 (17.10): alış işçilik belgeleri ─────────────────────────────────────── */
html:root[data-sema="yildiz"] body #kz-iscilik-uyari:not(#_) { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
html:root[data-sema="yildiz"] body #kz-iscilik-uyari p:not(#_) { margin: 0; flex: 1 1 280px; }
html:root[data-sema="yildiz"] body .kz-iscilik-bag:not(#_) {
  margin-top: 16px; padding: 0; border: 0; border-bottom: 1px solid var(--kenarlik); background: transparent;
  color: var(--metin-soluk); font: inherit; font-size: 15px; cursor: pointer;
}
html:root[data-sema="yildiz"] body #ai-liste > .ai-satir:not(#_) {
  display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--kenarlik);
}
html:root[data-sema="yildiz"] body #ai-liste .ai-ust:not(#_) { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html:root[data-sema="yildiz"] body #ai-liste .ai-eylem:not(#_) { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; flex-wrap: wrap; }

/* ── 18.10: tezgâhta eksik TC kutusu (fatura haddi) ─────────────────────────── */
html:root[data-sema="yildiz"] body #yildiz-tezgah-kimlik:not(#_) { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
html:root[data-sema="yildiz"] body #yildiz-tezgah-kimlik > .alan:not(#_) { flex: 1 1 220px; min-width: 0; }

/* ── 18.10: toplu fatura çekmecesi ──────────────────────────────────────────── */
html:root[data-sema="yildiz"] body #ft-liste > .ft-satir:not(#_) {
  display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--kenarlik);
}
html:root[data-sema="yildiz"] body #ft-liste .ft-sol:not(#_) { display: flex; align-items: flex-start; gap: 10px; min-width: 0; cursor: pointer; }
html:root[data-sema="yildiz"] body #ft-liste .ft-sol input:not(#_) { margin-top: 4px; flex: none; }
html:root[data-sema="yildiz"] body #ft-liste .ft-satir > :nth-child(n+3):not(#_) { grid-column: 1 / -1; padding-left: 28px; }
/* D1-14: salt okunur (mali müşavir) bandı — içerik hizasında, sakin tek satır. */
html:root[data-sema="yildiz"] body #salt-okunur-bant:not(#_) {
  margin: 16px 64px 0; padding: 10px 14px; border: 1px solid var(--kenarlik); border-left-width: 1px; border-radius: 10px;
  font-size: 14px; color: var(--metin-soluk, inherit); background: transparent;
}
@media (max-width: 760px) {
  html:root[data-sema="yildiz"] body #salt-okunur-bant:not(#_) { margin: 12px 16px 0; }
}
/* D1-04: kur kilidi satırı — durum metni solda, eylemler yanında; dar ekranda alt alta akar. */
html:root[data-sema="yildiz"] body .yz-kilit:not(#_) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 12px; }
html:root[data-sema="yildiz"] body .yz-kilit-durum:not(#_) { flex: 1 1 260px; min-width: 0; }
html:root[data-sema="yildiz"] body .yz-kilit-baslik:not(#_) { font-weight: 500; }
html:root[data-sema="yildiz"] body .yz-kilit-sureler:not(#_) { display: flex; flex-wrap: wrap; gap: 8px 16px; flex-basis: 100%; }
/* D1-05: patronun onay paneli — Yıldız sayfa hizasında, kartsız. */
html:root[data-sema="yildiz"] body .onay-paneli:not(#_) { margin: 24px 64px 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
@media (max-width: 760px) { html:root[data-sema="yildiz"] body .onay-paneli:not(#_) { margin: 16px 16px 0; } }
/* D1-07: müşteri risk noktası (adın solunda; renk + ekran okuyucu etiketi). */
html:root[data-sema="yildiz"] body .yz-risk:not(#_) { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 10px; vertical-align: middle; }
html:root[data-sema="yildiz"] body .yz-risk-kirmizi:not(#_) { background: var(--tehlike); }
/* Tema tek renkli (yalnız kırmızı/yeşil): "dikkat" içi boş halka, "riskli" dolu nokta — sarı renk uydurulmaz. */
html:root[data-sema="yildiz"] body .yz-risk-sari:not(#_) { background: transparent; box-shadow: inset 0 0 0 1.5px var(--tehlike); }
/* D1-02: etiket şablonu eylemleri */
html:root[data-sema="yildiz"] body .yz-etiket-sablon:not(#_) { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; }

/* Görsel denetim Y-5 (21.10): belge ekranlarında (/cikti, /gider-pusulalari/{Id}/belge) üst bar rota adını eski kabuk boyunda
   (22/300) yazıyordu. Belgenin kendi <h1>'i kâğıttadır; üst bardaki ad Yıldız özet başlığı ölçüsünde (40/300) — öğe <p> kalır. */
html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar > #ust-bar-rota-adi:not(#_) { font-size: 40px; font-weight: 300; line-height: 1; letter-spacing: -0.03em; color: var(--metin); }
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] .yildiz-kabuk .ust-bar > #ust-bar-rota-adi:not(#_) { font-size: 28px; }
}

/* GÖRSEL DENETİM O-1 (21.10): 320 px'te üst şerit 8 px taşıyordu (amblem 176 + menü 44 + kullanıcı 44 + 3×16 ara + 2×16 dolgu = 344).
   ≤360 px: ara 8, dolgu 12 → 312 px; kullanıcı düğmesi küçülmez (dokunma hedefi 44 px kalır). */
@media (max-width: 360px) {
  html:root[data-sema="yildiz"] .yildiz-ust:not(#_) { gap: 8px; padding-left: 12px; padding-right: 12px; }
  html:root[data-sema="yildiz"] .yildiz-ust .yildiz-kullanici:not(#_) { flex-shrink: 0; }
}

/* GÖRSEL DENETİM O-2 / O-10 (21.10): 1001–1360 px'te özet sol sütunu ~420 px'e iner; 104 px rakam + ",24 ₺" eki sütundan
   taşıp sağ tablonun "NE" başlığına biniyordu. Rakam sol sütun genişliğine göre küçülür (cqi); 1440 tuvalinde sütun 631 px →
   19 cqi = 120 px → 104 px AYNEN. Çok uzun tutar sütuna yine sığmazsa satır kırılır, komşu sütuna binmez. */
html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-sol { container-type: inline-size; }
@media (min-width: 1001px) {
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam:not(#_) { font-size: min(104px, 19cqi); overflow-wrap: anywhere; }
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-rakam-ek:not(#_) { font-size: min(52px, 9.5cqi); }
}

/* GÖRSEL DENETİM O-3 (21.10, WCAG 1.4.11): yazılabilir alanın alt çizgisi --ayrac ile zemine 1,27:1 idi (eşik 3:1); alan
   sınırı görünmüyordu. Yalnız GİRDİ taşıyan satırlar arama kutusunun çizgisini (--kenarlik, 3,26:1) alır; salt okunur .k
   satırları ve ayraçlar tuvaldeki gibi --ayrac kalır. */
html:root[data-sema="yildiz"] .yz .yz-duzen .alan:has(:is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea, .secici-tetik)):not(:has(> :is(.alan, .secici-alan))) { border-bottom-color: var(--kenarlik); }
/* Karanlıkta --kenarlik (C9C6BE) siyah zeminde 12:1 — çizgi bağırır; --metin-soluk (9A9893) daha sakin, eşiği rahat geçer. */
@media (prefers-color-scheme: dark) {
  html:root:not([data-tema="aydinlik"])[data-sema="yildiz"] .yz .yz-duzen .alan:has(:is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea, .secici-tetik)):not(:has(> :is(.alan, .secici-alan))) { border-bottom-color: var(--metin-soluk); }
}
html:root[data-tema="karanlik"][data-sema="yildiz"] .yz .yz-duzen .alan:has(:is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea, .secici-tetik)):not(:has(> :is(.alan, .secici-alan))) { border-bottom-color: var(--metin-soluk); }

/* GÖRSEL DENETİM O-4 (21.10, WCAG 2.4.7): arama kutuları ve form alanlarında klavye odağı görünmüyordu (fark 0). Odakta alt
   çizgi metin rengine döner ve 2 px kalınlaşır (gölgeyle — yerleşim kaymaz). */
html:root[data-sema="yildiz"] .yz .yz-alan:has(:is(input, textarea):focus-visible),
html:root[data-sema="yildiz"] .yz .yz-duzen .alan:has(:is(input, textarea, .secici-tetik):focus-visible):not(:has(> :is(.alan, .secici-alan))) {
  border-bottom-color: var(--metin) !important;
  box-shadow: 0 1px 0 var(--metin);
}
/* O-5: kılavuz videoları Tab durağı ama odak halkası yoktu. */
html:root[data-sema="yildiz"] video:focus-visible { outline: 2px solid var(--odak-halka); outline-offset: 3px; }

/* GÖRSEL DENETİM O-9 (21.10): basılı durum hover'dan ayrışmıyordu; birincil düğmede ve sekmelerde hover yoktu. Renk
   değişmez (tuval tek renk), yalnız saydamlık/çizgi: hover birincil %86, seçili olmayan sekme metni koyulaşır + ince ayraç çizgisi (seçili: --kenarlik); basılıyken tüm Yıldız
   düğmeleri 1 px aşağı iner ve birincil %72'ye koyulaşır — dokunmatikte "bastım" geri bildirimi. */
html:root[data-sema="yildiz"] .yz .yz-b1:hover:not(:disabled) { opacity: .86; }
html:root[data-sema="yildiz"] .yz .yz-b2:hover:not(:disabled) { border-bottom-color: var(--metin); }
html:root[data-sema="yildiz"] .yz :is(.yz-liste-sekme:not(.yz-liste-sekme--secili), .yz-sekme:not(.yz-sekme--secili)):hover:not(:disabled) { border-bottom-color: var(--ayrac); color: var(--metin); }
html:root[data-sema="yildiz"] .yz :is(button, a.yz-b1, a.yz-b2, a.yz-b3, a.yz-ekle):active:not(:disabled) { transform: translateY(1px); }
html:root[data-sema="yildiz"] .yz .yz-b1:active:not(:disabled) { opacity: .72; }

/* O-10 (21.10): panel dev rakamı (112 px) uzun tutarda sağ sütundaki "Seni bekleyen" satırlarına biniyordu. Rakam sol sütun
   genişliğine göre küçülür (1440 tuvalinde sütun 645 px → 17,4 cqi = 112 px AYNEN); yine sığmazsa sütun içinde kırılır.
   /cariler ve /urunler: on haneli tutar hücresinden taşıyordu → hücre içinde kırılır. */
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sol { container-type: inline-size; }
@media (min-width: 1001px) {
  html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-rakam:not(#_) { font-size: min(112px, 17.4cqi); }
}
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-rakam:not(#_),
html:root[data-sema="yildiz"] .yz-musteri .yz-musteri-tutar:not(#_),
html:root[data-sema="yildiz"] .yz .yz-liste-d:not(#_) { overflow-wrap: anywhere; }
html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sat-durum { white-space: nowrap; }   /* "9 gün" iki satıra bölünüyordu */

/* O-14 (WCAG 2.4.1): "İçeriğe geç" — yalnız klavye odağında görünür, ilk Tab durağı. Ana içerik programla odaklanır,
   kendisi halka çizmez (fare tıklamasında da). */
html:root[data-sema="yildiz"] .icerige-gec { position: absolute; left: 16px; top: -200px; z-index: 1000; padding: 12px 20px; border-radius: 999px; background: var(--metin); color: var(--yuzey-govde); font-size: 16px; text-decoration: none; }
html:root[data-sema="yildiz"] .icerige-gec:focus { top: 12px; outline: 2px solid var(--odak-halka); outline-offset: 2px; }
html:root[data-sema="yildiz"] main#ana-icerik:focus { outline: none; }

/* O-21 (21.10): sunucu aramalı seçicide (Satın alma tedarikçi, İrsaliye cari) açılınca görünen "Aramak için en az 2 karakter"
   / "Yükleniyor…" satırı 41 px idi; seçenek satırlarıyla aynı yükseklik (44 px) — liste açılıp kapanırken boy zıplamaz. */
html:root[data-sema="yildiz"] body .secici-liste-kap .secici-bos:not(#_) { display: flex; align-items: center; min-height: 44px; }

/* D-9 + O-15 (21.10): /urunler ve /urunler/agac telefonda sayılar etiketsiz akıyordu ("22 15,20 0 92.772 ₺"); fiyat gelince
   satır yeniden kırılıp alttaki satırları 29–57 px itiyordu (CLS 0,11). ≤600 px: ad tam genişlik; değerler sabit 3 sütunlu
   ızgarada, her biri küçük sütun adıyla — içerik uzunluğu satır yapısını değiştirmez. */
@media (max-width: 600px) {
  html:root[data-sema="yildiz"] :is(.yz-liste--urun, .yz-liste--agac) .yz-liste-tablo > .yz-liste-sat:not(.yz-liste-sat--bas):not(#_) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; align-items: end; }
  html:root[data-sema="yildiz"] :is(.yz-liste--urun, .yz-liste--agac) .yz-liste-tablo > .yz-liste-sat > :first-child:not(#_) { grid-column: 1 / -1; }
  html:root[data-sema="yildiz"] :is(.yz-liste--urun, .yz-liste--agac) .yz-liste-tablo > .yz-liste-sat > .yz-liste-eylem:not(#_) { grid-column: 1 / -1; justify-self: end; margin: 0; }
  html:root[data-sema="yildiz"] :is(.yz-liste--urun, .yz-liste--agac) .yz-liste-tablo > .yz-liste-sat > [data-etiket]:not(#_) { text-align: left; min-width: 0; overflow-wrap: anywhere; }
  html:root[data-sema="yildiz"] :is(.yz-liste--urun, .yz-liste--agac) .yz-liste-tablo > .yz-liste-sat > [data-etiket]::before { content: attr(data-etiket); display: block; margin-bottom: 2px; font-size: 11px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--metin-soluk); }
}

/* Kurucu 31.10: telefonda "Bakiye" ile "Bankada" yan yana etiketsiz akmasın — iki tutar küçük sütun adıyla (D-9 kalıbı). */
@media (max-width: 600px) {
  html:root[data-sema="yildiz"] .yz-liste--banka-bankada .yz-liste-tablo > .yz-liste-sat > :is(:nth-child(3), :nth-child(4))[data-etiket]:not(#_) { text-align: left; }
  html:root[data-sema="yildiz"] .yz-liste--banka-bankada .yz-liste-tablo > .yz-liste-sat > :is(:nth-child(3), :nth-child(4))[data-etiket]::before { content: attr(data-etiket); display: block; margin-bottom: 2px; font-size: 11px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--metin-soluk); }
}

/* O-15 (21.10): tek sütunda (≤1000 px) özet ve sayım ekranlarında veri gelince rakam + cümle üstte belirip eylemleri ve sağ
   sütunu 165–220 px aşağı itiyordu (/raporlar/kasa CLS 0,17 · /sayim 0,21). Yüklenirken yalnız üst satır + başlık görünür;
   altındakiler veriyle birlikte BİR KEZ yerine oturur (görünür öğe kaymaz). */
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz[aria-busy="true"] :is(.yz-ozet-cumle, .yz-ozet-eylem, .yz-ozet-sag, .yz-sayim-cumle, .yz-sayim-eylem, .yz-sayim-sag) { visibility: hidden; }
}

/* D-6 (21.10): uzun açıklama paragrafları ve çok satırlı tablo hücreleri 1,2 satır aralığındaydı — gövde metni 1,5. */
html:root[data-sema="yildiz"] :is(#kl-aciklama, #gk-yazi-notu, .kvkk-metin, .kvkk-metin p, #kvkk-ozet p):not(#_) { line-height: 1.5; }
html:root[data-sema="yildiz"] main :is(.izgara-tablo, .veri-tablosu) td:not(#_) { line-height: 1.45; }
/* D-8 (21.10): tek sütunda özet cümlesi ile "Günü kapat" arasında ~4 px kalıyordu (geniş ekranda space-between açıyor). */
@media (max-width: 1000px) {
  html:root[data-sema="yildiz"] .yz-ozet .yz-ozet-sol:not(#_) { gap: 24px; }
}
/* D-10: görsel gizli dosya girdisi klavyeyle odaklanınca düğmesi (etiket) halkayı taşır. */
html:root[data-sema="yildiz"] input.gorunmez:focus-visible + label:is(.btn, .dugme) { outline: 2px solid var(--odak-halka); outline-offset: 2px; }
/* D-10: Yıldız'ın genel girdi genişliği (width:100%) görsel gizli dosya girdisini 1280 px'e açıyordu — kırpık ama yerleşimde
   yer kaplar; gizli girdi 1×1 kalır. */
html:root[data-sema="yildiz"] input.gorunmez:not(#_):not(#__) { width: 1px; height: 1px; min-width: 0; padding: 0; margin: 0; border: 0; }

/* 21.10 kur tam liste: 1001–1360 px'te özet sağ sütunu ~400 px'e iner; 160+160 px fiyat sütunları ad sütununu 30 px'e
   eziyordu ("Has / Altın / (gram)" sözcük sözcük). Fiyat sütunları 104 px (satırlar ayrı ızgara — içerik kadar sütun hizayı bozar; en uzun "232.885 ₺" ≈ 82 px); 1440 tuvali AYNEN. */
@media (min-width: 1001px) and (max-width: 1360px) {
  html:root[data-sema="yildiz"] .yz-ozet--kur .yz-liste-sat:not(#_) { grid-template-columns: minmax(0, 1fr) 104px 104px; column-gap: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   TİPOGRAFİ SADELEŞTİRME (kurucu 21.10: "tuvalle çelişen dört bulguyu da yap" — görsel denetim O-6 · O-7 · D-7).
   ⚠ Bu katman ONAYLI TUVALDEN BİLEREK SAPAR (kurucu kararı): tuvalin 64/200 başlığı ve 17/300 gövdesi hedef kitle
   (yaşça büyük tezgâhtar) için inceydi; 30 ekranda 22 ayrı yazı boyu ölçüldü (tipo-once-1280.json).
   • O-6 TEK EKRAN BAŞLIĞI: her ekranın h1'i 40 px / 300 (≤480 px: 28 px). Liste kalıbı (64), özet (40), üst bar
     başlığı ve boş ekran aynı boyda.
   • O-7 TEK ÖLÇEK 12 · 14 · 16 · 18 · 22 · 28 · 40: ara boylar (13 · 15 · 17 · 19 · 20 · 36) en yakın basamağa çekildi.
     Büyük tutar rakamları (52–112 px) ölçek dışı "kahraman" sınıfıdır, boyları değişmez.
   • D-7 AĞIRLIK: gövde 300 → 400; başlık ve kahraman rakam 200 → 300.
   Hepsi :not(#_):not(#__) — sayfa kurallarının özgüllüğünü yener; !important yalnız kaynağı !important olan yerde.
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] body { font-weight: 400; }
/* O-6 — tek başlık */
html:root[data-sema="yildiz"] body :is(.yz .yz-h1, .yz-ozet .yz-ozet-h1, .yz-sayim .yz-sayim-h1, .yz-bosekran .yz-bosekran-baslik,
  .yz-sayfa-baslik > h1, .yildiz-kabuk .ust-bar > #ust-bar-rota-adi, .yildiz-kabuk .ust-bar > h1):not(#_):not(#__) {
  font-size: 40px !important; font-weight: 300 !important; line-height: 1.05; letter-spacing: -0.02em;
}
@media (max-width: 480px) {
  html:root[data-sema="yildiz"] body :is(.yz .yz-h1, .yz-ozet .yz-ozet-h1, .yz-sayim .yz-sayim-h1, .yz-bosekran .yz-bosekran-baslik,
    .yz-sayfa-baslik > h1, .yildiz-kabuk .ust-bar > #ust-bar-rota-adi, .yildiz-kabuk .ust-bar > h1):not(#_):not(#__) { font-size: 28px !important; }
}
/* D-7 — ince (200) başlık/rakam 300 */
html:root[data-sema="yildiz"] body :is(.yz .yz-ince, .yildiz-bugun .yildiz-bugun-rakam, .yildiz-bugun .yildiz-bugun-kurus,
  .yz-ozet .yz-ozet-rakam-ek, .yz-sayim .yz-sayim-rakam-ek, .yz-tezgah-tam, .yz-tezgah-kurus):not(#_):not(#__) { font-weight: 300 !important; }
/* O-7 + D-7 — gövde basamakları */
html:root[data-sema="yildiz"] body .yz :is(.yz-liste-d, .yz-liste-ad):not(#_):not(#__) { font-size: 18px; font-weight: 400; }
html:root[data-sema="yildiz"] body .yz :is(.yz-ozet-cumle, .yz-sayim-cumle, .yz-bosekran-metin, .yz-form-not, .yz-etiket-onizleme-metin):not(#_):not(#__) { font-size: 18px; font-weight: 400; }
html:root[data-sema="yildiz"] body :is(.yz-musteri .yz-musteri-ad, .yz-musteri .yz-musteri-tutar, .yz-tezgah .yz-tezgah-odeme-tutar, .yz-tezgah .yz-tezgah-tutar):not(#_):not(#__) { font-size: 22px; font-weight: 400; }
html:root[data-sema="yildiz"] body :is(.yz .yz-k-deger, .yz .yz-duzen .alan-tek-secenek, .yz .cekmece-bas h2, .yz .cekmece-bas h3):not(#_):not(#__) { font-weight: 400; }
html:root[data-sema="yildiz"] body :is(.secici-tetik, .secici-tetik .secici-metin, input.girdi, textarea.girdi, select, .secim, .stat-deger, .karsilama-selam):not(#_):not(#__) { font-weight: 400 !important; }
html:root[data-sema="yildiz"] body .ana-icerik .panel-soru-sayi:not(#_):not(#__) { font-size: 40px; font-weight: 300 !important; }
html:root[data-sema="yildiz"] body .yz-tum .yz-kad:not(#_):not(#__) { font-size: 16px; }
html:root[data-sema="yildiz"] body .ana-icerik :is(table, .izgara-tablo, .veri-tablosu) td:not(#_):not(#__) { font-size: 16px; }
html:root[data-sema="yildiz"] body .ana-icerik :is(table, .izgara-tablo, .veri-tablosu) th:not(#_):not(#__) { font-size: 12px; }
html:root[data-sema="yildiz"] body .ana-icerik :is(table, .izgara-tablo, .veri-tablosu) td :is(.metin-kucuk, small):not(#_):not(#__) { font-size: 14px; }
/* O-20: gün adları ızgarayla aynı 7 sütunda (aynı aralık), her biri sütununun ortasında. */
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-gunler:not(#_) { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-bottom: -16px; font-size: 12px; letter-spacing: .1em; }
html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-gun-adi { text-align: center; }
@media (max-width: 480px) { html:root[data-sema="yildiz"] .yz-takvim .yz-takvim-gunler:not(#_) { gap: 4px; letter-spacing: .04em; } }
/* O-7 ikinci tur (tipo-sonra ölçümü): kalan ara boylar basamağa. Amblem SVG yazısı (13) logodur — ölçek dışı. */
html:root[data-sema="yildiz"] body :is(.alan-istege, .alan-ipucu):not(#_):not(#__) { font-size: 14px; }
html:root[data-sema="yildiz"] body :is(.yz .yz-ekle, .yz .yz-b3, .yz-musteri .yz-musteri-alt):not(#_):not(#__) { font-size: 16px; }
html:root[data-sema="yildiz"] body :is(.hucre-tek-satir, .gk-mod-ad, .yildiz-b3, .yildiz-bugun .yildiz-bugun-sat-durum, .yz-musteri .yz-musteri-durum):not(#_):not(#__) { font-size: 16px; }
html:root[data-sema="yildiz"] body :is(.sekmeler-sekme, .yz-takvim .yz-gun, .yz-tur-sekme, .sayfa-basi-bilgi-i, .alan-kaynak):not(#_):not(#__) { font-size: 14px; }
html:root[data-sema="yildiz"] body .bildirim-sayi:not(#_):not(#__) { font-size: 12px; }
html:root[data-sema="yildiz"] body #gelen-odeme-karari .go-baslik:not(#_):not(#__) { font-size: 18px; }
html:root[data-sema="yildiz"] body .yildiz-bugun .yildiz-bugun-cumle:not(#_):not(#__) { font-size: 18px; }
html:root[data-sema="yildiz"] body .bayrak:not(#_):not(#__) { font-size: 18px; }
html:root[data-sema="yildiz"] body .ana-icerik .panel-soru-sayi:not(#_):not(#__) { font-size: 40px !important; }
html:root[data-sema="yildiz"] body :is(.yz-tezgah .yz-tezgah-kasa, .yz-tezgah .yz-tezgah-not, .ana-icerik p.metin-kucuk, .kz-iscilik-bag):not(#_):not(#__) { font-size: 14px; }
html:root[data-sema="yildiz"] body .ana-icerik .kart > .kart-baslik > h2:not(#_):not(#__) { font-size: 22px; }   /* /ayarlar kart başlıkları 20 → 22 */

/* ═══════════════════════════════════════════════════════════════════════════
   AÇILIR YÜZEYLERDE DERİNLİK (kurucu 23.10: "sayfa üzerine açılan herhangi bir şeyin gölgesi olsa daha rahat seçer").
   Kaynaklar: NN/g göz izleme — zayıf işaretli öğeler %22 daha uzun süre, %25 daha çok sabitleme (71 katılımcı, 9 sayfa);
   Material 3 — menü kabı 3 dp yükselti (düzey 2) ve "surface container" rengi; WCAG 1.4.11 — bileşeni ayıran tek ipucu
   kenarsa 3:1 kontrast şart (Yıldız'da açık listenin kenarı --ayrac: zemine 1,27:1, yüzeyi zeminle AYNI renkti → liste
   sayfadan ayırt edilemiyordu). Tuvalden bilerek sapar (kurucu kararı); renk YALNIZ belirteçle.
   • Açılır liste / arama sonucu / kullanıcı menüsü: kaldırılmış yüzey (--yuzey-acilir), 3:1 kenar (--kenarlik), yumuşak gölge.
   • Çekmece / pencere: perde (--perde) + geniş gölge — altındaki sayfa kararır, dikkat pencereye.
   • Seçenek satırı: fare üstünde ve klavyeyle gezilirken zemin (--yuzey-hover) — "neredeyim" belli.
   ═══════════════════════════════════════════════════════════════════════════ */
html:root[data-sema="yildiz"] {
  --yuzey-acilir: var(--yuzey-govde);   /* kurucu 24.10: "beyaz saçma renk olmaz" — yüzey zeminle AYNI, derinliği gölge + 3:1 kenar verir */
  --golge-acilir: 0 1px 2px rgba(20, 20, 20, .08), 0 8px 24px rgba(20, 20, 20, .14);
  --golge-katman: 0 16px 48px rgba(20, 20, 20, .22);
  --perde: rgba(20, 20, 20, .32);
}
@media (prefers-color-scheme: dark) {
  html:root:not([data-tema="aydinlik"])[data-sema="yildiz"] {
    --yuzey-acilir: var(--yuzey-govde);
    --golge-acilir: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .6);
    --golge-katman: 0 16px 48px rgba(0, 0, 0, .7);
    --perde: rgba(0, 0, 0, .6);
  }
}
html:root[data-tema="karanlik"][data-sema="yildiz"] {
  --yuzey-acilir: var(--yuzey-govde);
  --golge-acilir: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .6);
  --golge-katman: 0 16px 48px rgba(0, 0, 0, .7);
  --perde: rgba(0, 0, 0, .6);
}
/* Açılır listeler (akış içi .yz-duzen listesi dahil — altındaki alanları iter ama yine de ayrı bir katmandır) */
html:root[data-sema="yildiz"] body :is(.secici-liste-kap, .fis-arama-liste, .yildiz-kullanici-menu, .fis-elle[open]):not(#_):not(#__) {
  background: var(--yuzey-acilir); border: 1px solid var(--kenarlik); box-shadow: var(--golge-acilir);
}
html:root[data-sema="yildiz"] body .secici-secenek:is(:hover, .etkin):not(#_):not(#__) { background: var(--yuzey-hover); }
html:root[data-sema="yildiz"] body .fis-arama-oneri:is(:hover, .etkin, [aria-selected="true"]):not(#_):not(#__) { background: var(--yuzey-hover); }
/* Çekmece ve pencere: perde + gölge */
html:root[data-sema="yildiz"] body :is(.modal-arka, .cekmece-arka):not(#_):not(#__) { background: var(--perde); }
html:root[data-sema="yildiz"] body :is(.modal-panel, .cekmece):not(#_):not(#__) { box-shadow: var(--golge-katman); }

/* Görsel denetim 2 (23.10): seçici satırları (.secici-alan) O-3/O-4'ün dışında kalmıştı — alt çizgi 1,27:1, klavye odağında
   görünür değişiklik yok (/gider Kasa · Kategori · Personel). Girdi satırıyla AYNI çizgi ve odak. */
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-alan:has(.secici-tetik):not(#_):not(#__) { border-bottom-color: var(--kenarlik); }
@media (prefers-color-scheme: dark) {
  html:root:not([data-tema="aydinlik"])[data-sema="yildiz"] .yz .yz-duzen .secici-alan:has(.secici-tetik):not(#_):not(#__) { border-bottom-color: var(--metin-soluk); }
}
html:root[data-tema="karanlik"][data-sema="yildiz"] .yz .yz-duzen .secici-alan:has(.secici-tetik):not(#_):not(#__) { border-bottom-color: var(--metin-soluk); }
html:root[data-sema="yildiz"] .yz .yz-duzen .secici-alan:has(.secici-tetik:focus-visible):not(#_):not(#__) { border-bottom-color: var(--metin) !important; box-shadow: 0 1px 0 var(--metin); }

/* Kurucu 24.10 (Bugün ekranı): "Yeni satış / Günü kapat ekran küçük olunca altta kalıyor" — sol sütun ızgara satırının
   (sağdaki uzun "Seni bekleyen" listesinin) boyuna uzayıp düğmeleri ekran dışına itiyordu. Sol sütun İLK EKRAN boyundadır
   (üst şerit 72 + dolgu 72/56 düşülür), satırla uzamaz; düğmeler ekranın dibinde, sayfa kayarken sütun yerinde kalır. */
@media (min-width: 1001px) {
  html:root[data-sema="yildiz"] .yildiz-bugun .yildiz-bugun-sol:not(#_) { align-self: start; position: sticky; top: 72px; min-height: calc(100vh - 72px - 72px - 56px); }
}
