:root[data-tema="acik"] {
  --zemin:      #f5f7fb;
  --yuzey:      #ffffff;
  --yuzey-2:    #eef2f8;
  --cizgi:      #dde4ee;
  --yazi:       #16202e;
  --yazi-soluk: #5d6b81;
  --vurgu:      #2563eb;
  --yesil:      #16a34a;
  --sari:       #d97706;
  --kirmizi:    #dc2626;
  --mor:        #7c3aed;
}

:root {
  --zemin:      #080b14;
  --yuzey:      #0f1522;
  --yuzey-2:    #151c2c;
  --cizgi:      #1e2839;
  --yazi:       #e6ebf5;
  --yazi-soluk: #8593ad;
  --vurgu:      #3b82f6;
  --yesil:      #22c55e;
  --sari:       #f59e0b;
  --kirmizi:    #ef4444;
  --mor:        #8b5cf6;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--zemin);
  color: var(--yazi);
  font: 14px/1.5 -apple-system, "Segoe UI", system-ui, sans-serif;
}

/* ------------------------------------------------------------- üst şerit */
.ust {
  display: flex; align-items: center; gap: 14px;
  padding: 0 16px; height: 58px;
  background: var(--yuzey);
  border-bottom: 1px solid var(--cizgi);
  position: sticky; top: 0; z-index: 10;
}
.menu-dugme {
  background: none; border: 0; color: var(--yazi);
  font-size: 20px; cursor: pointer;
}
.marka-ad {
  font-weight: 800; font-size: 19px; letter-spacing: -.02em;
  background: linear-gradient(92deg, #60a5fa, #a78bfa);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ust-sag { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.rozet {
  background: rgba(139, 92, 246, .15); color: var(--mor);
  border: 1px solid rgba(139, 92, 246, .3);
  padding: 3px 9px; border-radius: 999px; font-size: 11px;
}

/* ---------------------------------------------------------------- gövde */
.govde { display: flex; min-height: calc(100vh - 60px); }

.yan {
  width: 210px; flex: none;
  background: var(--yuzey);
  border-right: 1px solid var(--cizgi);
  padding: 14px 10px;
  display: flex; flex-direction: column; gap: 2px;
}
.yan a {
  display: block; padding: 10px 12px; border-radius: 8px;
  color: var(--yazi-soluk); text-decoration: none;
}
.yan a:hover { background: var(--yuzey-2); color: var(--yazi); }
.yan a.etkin { background: rgba(59, 130, 246, .14); color: var(--vurgu); font-weight: 600; }
.yan a.pasif { opacity: .4; cursor: default; }
.yan a.pasif:hover { background: none; color: var(--yazi-soluk); }

.icerik { flex: 1; padding: 24px; min-width: 0; }

/* ------------------------------------------------------------ sayfa başı */
.sayfa-basi { display: flex; align-items: center; margin-bottom: 20px; }
.sayfa-basi h1 { font-size: 22px; margin: 0; }
/* wrap burada da: sayfa başlığının yanındaki eylem şeridi büyüdükçe
   (arama + süzgeç + düğme) orta boy ekranda taşıyordu. */
.sayfa-eylem { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap;
               align-items: center; }

/* --------------------------------------------------------- durum boruları */
.borular { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.boru {
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 10px; padding: 12px 18px;
  text-decoration: none; color: var(--yazi);
  min-width: 108px; text-align: center;
}
.boru:hover { border-color: #2c3a52; }
.boru.etkin { border-color: var(--vurgu); background: rgba(59, 130, 246, .08); }
.boru-sayi { display: block; font-size: 22px; font-weight: 700; }
.boru-ad { display: block; font-size: 12px; color: var(--yazi-soluk); }

/* -------------------------------------------------------------- liste */
.liste { display: flex; flex-direction: column; gap: 10px; }

.kart {
  display: flex; gap: 20px;
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 12px; padding: 16px 18px;
}
.kart.uyarili { border-color: rgba(239, 68, 68, .45); }
.kart-sol { flex: 1; min-width: 0; }
.kart-sag {
  width: 230px; flex: none;
  display: flex; flex-direction: column; gap: 8px; justify-content: center;
}

.kart-ust { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.musteri { font-size: 15px; }
.no { color: var(--yazi-soluk); font-size: 12px; }
.telefon { color: var(--yazi-soluk); font-size: 13px; margin: 2px 0 8px; }

.etiket {
  font-size: 10.5px; font-weight: 700; letter-spacing: .04em;
  padding: 3px 8px; border-radius: 999px;
}
.etiket.kapida { background: rgba(245, 158, 11, .15); color: var(--sari); }
.etiket.durum  { background: var(--yuzey-2); color: var(--yazi-soluk); }
.etiket.d-yeni         { background: rgba(59, 130, 246, .15); color: var(--vurgu); }
.etiket.d-hazirlaniyor { background: rgba(139, 92, 246, .15); color: var(--mor); }
.etiket.d-yolda        { background: rgba(245, 158, 11, .15); color: var(--sari); }
.etiket.d-teslim       { background: rgba(34, 197, 94, .15);  color: var(--yesil); }
.etiket.d-iade         { background: rgba(239, 68, 68, .15);  color: var(--kirmizi); }

.kalemler { margin: 0; padding: 0; list-style: none; }
.kalemler li { padding: 1px 0; }
.adet { color: var(--yazi-soluk); }

.alt-bilgi {
  display: flex; gap: 10px; margin-top: 8px; flex-wrap: wrap;
  font-size: 12px; color: var(--yazi-soluk); align-items: center;
}
/* Parçaların arasına ayraç: yer, desi ve tutar bitişik yazılınca tek bir
   cümle gibi okunuyordu. Ayraç ilk parçadan sonra başlar. */
.alt-bilgi > * + *::before { content: "·"; margin-right: 10px;
                             color: var(--yazi-soluk); opacity: .5; }
.alt-bilgi .tutar { color: var(--yazi); font-weight: 600; }

/* -------------------------------------------------------------- uyarı */
.eksik-uyari {
  background: rgba(239, 68, 68, .12); color: var(--kirmizi);
  border: 1px solid rgba(239, 68, 68, .3);
  border-radius: 8px; padding: 6px 10px;
  font-size: 12px; font-weight: 600; text-align: center;
}
.adres-form { display: flex; flex-direction: column; gap: 5px; }
.adres-form input {
  background: var(--zemin); border: 1px solid var(--cizgi);
  color: var(--yazi); border-radius: 7px; padding: 7px 9px; font-size: 12px;
}
.adres-form input:focus { outline: none; border-color: var(--vurgu); }

/* ------------------------------------------------------------- düğmeler */
.dugme {
  border-radius: 8px; padding: 9px 14px; font-size: 13px;
  font-weight: 600; cursor: pointer; border: 1px solid var(--cizgi);
  background: var(--yuzey-2); color: var(--yazi);
}
.dugme.vurgulu { background: var(--vurgu); border-color: var(--vurgu); color: #fff; }
.dugme:disabled { opacity: .45; cursor: not-allowed; }
/* İKİNCİL DÜĞME. Şablonlarda 129 yerde `dugme sade` yazıyordu ama bu
   sınıfın hiç karşılığı yoktu: ikincil düğme birincil düğmeyle aynı
   görünüyordu. "Sil" ile "Ayarlar" aynı ağırlıkta duruyorsa göz hangisine
   basacağını her seferinde okuyarak buluyor. */
.dugme.sade {
  background: transparent;
  border-color: var(--cizgi);
  color: var(--yazi-soluk);
  font-weight: 500;
}
.dugme.sade:hover { background: var(--yuzey-2); color: var(--yazi); }

.bos { color: var(--yazi-soluk); padding: 40px 0; text-align: center; }

/* ------------------------------------------------------------ mağazalar */
.aciklama { color: var(--yazi-soluk); margin: -6px 0 18px; }
.ara-baslik { font-size: 17px; margin: 30px 0 14px; }
.not { color: var(--yazi-soluk); font-size: 12px; margin-top: 16px; max-width: 640px; }

/* Taban sınıfın kendi görünümü var: değiştirici (iyi/kötü) unutulduğunda
   kutu çıplak bir yazı olarak kalıyordu — takip sayfasındaki "siparişiniz
   alındı" bildirimi öyleydi. Nötr hâli "bilgi" olarak duruyor. */
.bildirim {
  border-radius: 9px; padding: 11px 14px; margin-bottom: 16px; font-size: 13px;
  background: var(--yuzey-2); color: var(--yazi);
  border: 1px solid var(--cizgi);
}
.bildirim.iyi  { background: rgba(34,197,94,.12);  color: var(--yesil);
                 border: 1px solid rgba(34,197,94,.3); }
.bildirim.kotu { background: rgba(239,68,68,.12);  color: var(--kirmizi);
                 border: 1px solid rgba(239,68,68,.3); }

.etiket.platform  { background: var(--yuzey-2); color: var(--yazi-soluk); }
.etiket.anlik     { background: rgba(34,197,94,.15);  color: var(--yesil); }
.etiket.periyodik { background: rgba(139,92,246,.15); color: var(--mor); }

.eksik-uyari.sol { text-align: left; margin-top: 8px; }

.mini { width: 100%; margin-top: 10px; font-size: 11.5px; color: var(--yazi-soluk);
        border-collapse: collapse; }
.mini td { padding: 3px 10px 3px 0; }
.kirmizi { color: var(--kirmizi); }
.yesil   { color: var(--yesil); }

.kanca-yolu { margin-top: 8px; font-size: 11.5px; color: var(--yazi-soluk); }
.kanca-yolu code {
  background: var(--zemin); border: 1px solid var(--cizgi);
  padding: 2px 6px; border-radius: 5px;
}

.platform-kutulari {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
}
.platform-kutu {
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 12px; padding: 14px;
  display: flex; flex-direction: column; gap: 7px;
}
.platform-ust { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.platform-kutu input {
  background: var(--zemin); border: 1px solid var(--cizgi);
  color: var(--yazi); border-radius: 7px; padding: 8px 10px; font-size: 12.5px;
}
.platform-kutu input:focus { outline: none; border-color: var(--vurgu); }
.dugme.tehlike { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.3);
                 color: var(--kirmizi); }
.kart-sag form { display: contents; }

/* ---------------------------------------------------------------- giriş */
/* Giriş ve kayıt da panelin DIŞ yüzü: tanıtımdan "Ücretsiz Hesap Aç"a
   basan kişi aynı sayfada kalmalı. Eskiden tanıtım açık, kayıt koyu
   açılıyordu — aynı ürünün iki ayrı sitesi gibi duruyordu. Panelin kendi
   teması (açık/koyu/sistem) kapının İÇİNDE geçerli. */
.giris-govde { display: flex; flex-direction: column; align-items: center;
               justify-content: center; gap: 4px; min-height: 100vh;
               background: var(--zemin); color: var(--yazi);
               padding: 24px; }
.giris-kutu { box-shadow: 0 18px 50px rgba(16,24,40,.08); }
.giris-dip { margin-top: 18px; text-align: center; font-size: 12.5px;
             color: var(--yazi-soluk); }
.giris-dip a { color: var(--yazi-soluk); }
.giris-kutu {
  width: 340px; background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 14px; padding: 30px 26px;
  display: flex; flex-direction: column; gap: 12px;
}
.giris-marka {
  font-weight: 800; font-size: 26px; text-align: center; letter-spacing: -.02em;
  /* Açık zeminde açık mavi-mor geçiş soluk kalıyordu; tanıtımın merkez
     rozetiyle aynı koyulukta. */
  background: linear-gradient(92deg, #4f7df6, #8b5cf6);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.giris-alt { text-align: center; color: var(--yazi-soluk); margin: -6px 0 6px; font-size: 13px; }
.giris-kutu label { display: flex; flex-direction: column; gap: 5px;
                    font-size: 12px; color: var(--yazi-soluk); }
.giris-kutu input {
  background: var(--zemin); border: 1px solid var(--cizgi); color: var(--yazi);
  border-radius: 8px; padding: 10px 12px; font-size: 14px;
}
.giris-kutu input:focus { outline: none; border-color: var(--vurgu); }
/* Sözleşme onayı: kutu ile metin aynı satırda başlasın. Kutu kendi
   satırında kalınca metin nereye ait olduğunu söylemiyordu. */
.giris-kutu .onay-satiri { flex-direction: row; align-items: flex-start;
                           gap: 9px; font-size: 12.5px; line-height: 1.5;
                           color: var(--yazi-soluk); }
.giris-kutu .onay-satiri input { width: 16px; height: 16px; flex: none;
                                 margin-top: 1px; padding: 0; }
.dugme.genis { width: 100%; margin-top: 6px; padding: 11px; }

/* --------------------------------------------------------------- panel */
.aralik { color: var(--yazi-soluk); font-size: 12.5px; }
.cikis-form { display: inline; margin-left: 10px; }
.dugme.minik { padding: 5px 10px; font-size: 11.5px; }
.ust-sag { display: flex; align-items: center; }

.olcumler {
  display: grid; gap: 10px; margin-bottom: 16px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.olcum {
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 12px; padding: 14px 16px; position: relative; overflow: hidden;
}
.olcum::after {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 2px;
  background: var(--olcum-renk, var(--vurgu)); opacity: .7;
}
.olcum-mavi     { --olcum-renk: #3b82f6; }
.olcum-yesil    { --olcum-renk: #22c55e; }
.olcum-sari     { --olcum-renk: #f59e0b; }
.olcum-mor      { --olcum-renk: #8b5cf6; }
.olcum-kirmizi  { --olcum-renk: #ef4444; }
.olcum-pembe    { --olcum-renk: #ec4899; }
.olcum-turkuaz  { --olcum-renk: #14b8a6; }
.olcum-baslik { font-size: 12px; color: var(--yazi-soluk); }
.olcum-deger  { font-size: 26px; font-weight: 700; margin-top: 4px;
                letter-spacing: -0.02em; }
/* Kartın sol üstündeki renkli rozet — Porego'nun panelinde de var.
   Dokuz kart yan yanayken göz rakama gitmeden önce kartın NE olduğunu
   anlıyor; yalnız başlık okumak yavaş. */
.olcum { padding-top: 46px; transition: border-color .15s, transform .15s; }
.olcum:hover { border-color: color-mix(in srgb, var(--olcum-renk) 45%, var(--cizgi)); }
.olcum-rozet {
  position: absolute; top: 12px; left: 14px;
  width: 30px; height: 30px; border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in srgb, var(--olcum-renk) 16%, transparent);
  color: var(--olcum-renk);
}
.olcum-rozet svg { width: 16px; height: 16px; }
/* Kartın altındaki mini eğri. Kartın içinde değil dibinde duruyor:
   rakamın okunmasını zorlaştırmasın diye soluk, eksensiz ve rakamsız.
   Yalnız günlük karşılığı olan kartta basılıyor. */
.olcum-egri {
  position: absolute; left: 0; right: 0; bottom: 0; height: 30px;
  color: var(--olcum-renk, var(--vurgu)); opacity: .45;
}
/* Eğri kartın dışına taşmasın: köşeleri yuvarlak kartta taşan çizgi
   kırık görünüyor. */
.olcum { overflow: hidden; }
/* Eğri olan kartın altına yer açılıyor; yoksa alt satır yazı ile
   çizgi üst üste biniyor. */
.olcum:has(.olcum-egri) { padding-bottom: 34px; }
/* Rengin çok hafif bir izi kartın zemininde de dursun: sekiz kart
   yan yanayken tek renk şerit ayırt etmeye yetmiyor. */
.olcum::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(120% 90% at 0% 0%,
              color-mix(in srgb, var(--olcum-renk) 10%, transparent), transparent 60%);
}
/* Ölçüm kartının başlığı: 16 yerde kullanılıyordu, stili yoktu — rakamla
   aynı puntoda çıkıp hangisinin başlık olduğu anlaşılmıyordu. */
.olcum-ad {
  font-size: 12px; font-weight: 600; letter-spacing: .02em;
  color: var(--yazi-soluk); text-transform: uppercase;
}
/* "Kötü" rakam: kırmızı olmayan bir uyarı, uyarı değildir. */
.kotu-sayi { color: var(--kirmizi); font-weight: 700; }
/* Başlık yanındaki küçük sayaç (ayarlar sekmelerinde). */
.minik-sayi {
  display: inline-block; min-width: 18px; padding: 1px 6px; margin-left: 6px;
  border-radius: 999px; background: var(--yuzey-2); color: var(--yazi-soluk);
  font-size: 11px; font-weight: 700; text-align: center;
}
.olcum-alt    { font-size: 11px; color: var(--yazi-soluk); margin-top: 2px; }

.blok {
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 12px; padding: 16px 18px; margin-bottom: 14px;
}
.blok h2 { font-size: 14px; margin: 0 0 12px; color: var(--yazi-soluk);
           font-weight: 600; letter-spacing: .02em; }
.blok-uyari { border-color: rgba(239,68,68,.35); }
.blok-basi { display: flex; align-items: baseline; gap: 14px; }
.blok-basi h2 { margin-bottom: 8px; }
.buyuk-sayi { font-size: 26px; font-weight: 700; margin-left: auto; }
.bos.kucuk { padding: 14px 0; font-size: 13px; }

.dikkat-satir, .para-satir {
  display: grid; gap: 10px; margin-top: 8px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.dikkat-kutu {
  background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 9px;
  padding: 11px 13px; display: flex; align-items: center; gap: 8px;
  color: var(--yazi-soluk); font-size: 13px; text-decoration: none;
}
.dikkat-kutu strong { margin-left: auto; color: var(--yazi); font-size: 17px; }
a.dikkat-kutu:hover { border-color: var(--vurgu); }
/* İşi olan kutu ile boş kutu aynı görünmesin. Sıfır olan kutu kaybolmuyor
   (sayının sıfır olduğunu görmek de bilgidir), yalnız söner. */
.dikkat-kutu.dolu {
  border-color: color-mix(in srgb, var(--kirmizi) 40%, var(--cizgi));
  background: color-mix(in srgb, var(--kirmizi) 7%, var(--zemin));
  color: var(--yazi);
}
.dikkat-kutu:not(.dolu) strong { color: var(--yazi-soluk); font-weight: 600; }
.dikkat-kutu:not(.dolu) .nokta { opacity: .35; }

.para-kutu { background: var(--zemin); border: 1px solid var(--cizgi);
             border-radius: 9px; padding: 12px 14px; }
/* Kapıdaki paranın üç aşaması: müşteride → kargoda → hesapta. Soldaki
   renk şeridi sırayı gösteriyor; altı kutu aynı renkteyken akış olduğu
   anlaşılmıyordu. */
.para-kutu.asama { border-left-width: 3px; }
/* Tıklanabilir para kutusu (Yatacak → Kapıda Tahsilat). Bağlantı olduğu
   belli olsun: altı çizili değil, üstüne gelince çerçevesi renkleniyor. */
a.para-kutu { display: block; text-decoration: none; color: inherit; }
a.para-kutu:hover { border-color: var(--vurgu); }
.asama-sari  { border-left-color: var(--sari); }
.asama-mavi  { border-left-color: var(--vurgu); }
.asama-yesil { border-left-color: var(--yesil); }
.para-ad   { font-size: 12.5px; }
.para-alt  { font-size: 11px; color: var(--yazi-soluk); }
.para-deger{ font-size: 18px; font-weight: 700; margin-top: 5px; }

.nokta { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex: none; }
.nokta.mavi, i.mavi       { background: var(--vurgu); }
.nokta.yesil, i.yesil     { background: var(--yesil); }
.nokta.sari, i.sari       { background: var(--sari); }
.nokta.kirmizi, i.kirmizi { background: var(--kirmizi); }

.grafik-izgara { display: grid; gap: 14px;
                 grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); }
.grafik { width: 100%; height: 130px; display: block; }
.zirve { font-size: 12px; color: var(--yazi-soluk); margin: -6px 0 6px; }

.dagilim { display: flex; flex-direction: column; gap: 9px; }
.dagilim-satir { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.dagilim-ad { width: 96px; color: var(--yazi-soluk); flex: none; }
.dagilim-ad.genis-ad { width: 110px; color: var(--yazi); }
.dagilim-cubuk { flex: 1; height: 7px; background: var(--zemin);
                 border-radius: 99px; overflow: hidden; }
.dagilim-cubuk i { display: block; height: 100%; border-radius: 99px; }
.dagilim-sayi { width: 78px; text-align: right; flex: none; }
.dagilim-sayi small { color: var(--yazi-soluk); }

.tablo { width: 100%; border-collapse: collapse; font-size: 13px; }
.tablo th { text-align: left; font-weight: 600; font-size: 11.5px;
            color: var(--yazi-soluk); padding: 0 0 8px; }
.tablo td { padding: 8px 0; border-top: 1px solid var(--cizgi); }
.tablo .sag, .tablo th.sag { text-align: right; }

/* -------------------------------------------------------------- bakiye */
.sekmeler { display: flex; gap: 4px; margin-bottom: 16px;
            border-bottom: 1px solid var(--cizgi); }
.sekme { padding: 9px 15px; color: var(--yazi-soluk); text-decoration: none;
         font-size: 13px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.sekme:hover { color: var(--yazi); }
.sekme.etkin { color: var(--vurgu); border-bottom-color: var(--vurgu); font-weight: 600; }

/* Telefonda sekme şeridi SARILIR, kaymaz.

   Ayarlar'ın sekmeleri tek satırda 735 px sürüyordu (ekran 375):
   sayfa yana itiliyor, sağdaki sekmeler hiç görünmüyordu. Görünmeyen
   ayar, olmayan ayardır — kullanıcı orada bir ekran olduğunu bilmiyor.

   Yatay kaydırma da çözerdi ama gizlemeye devam ederdi: kaydırılacağını
   bilmeyen kişi sekmelerin bittiğini sanır. Sarmak dikeyde yer yiyor,
   buna karşılık HEPSİ görünüyor — ayarlarda doğru takas bu.

   Alt çizgi sarınca anlamını yitiriyor (her satırın altına çizgi
   düşerdi), o yüzden dar ekranda çizgi kalkıyor; etkin sekme rengiyle
   zaten ayrılıyor. */
@media (max-width: 860px) {
  .sekmeler { flex-wrap: wrap; gap: 2px 4px; border-bottom: 0; }
  .sekme { padding: 8px 12px; margin-bottom: 0;
           border-bottom-width: 2px; border-radius: 8px 8px 0 0; }
}

.satir-form { display: flex; gap: 8px; flex-wrap: wrap; }
.satir-form input {
  flex: 1; min-width: 130px;
  background: var(--zemin); border: 1px solid var(--cizgi); color: var(--yazi);
  border-radius: 8px; padding: 9px 11px; font-size: 13px;
}
.satir-form input:focus { outline: none; border-color: var(--vurgu); }

.havale { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.havale-satir { display: flex; justify-content: space-between; gap: 12px;
                padding: 5px 0; font-size: 12.5px; color: var(--yazi-soluk); }
.havale-satir strong { color: var(--yazi); font-family: ui-monospace, monospace; }

.cizgi-olcum { display: flex; justify-content: space-between; margin-top: 14px;
               padding-top: 12px; border-top: 1px solid var(--cizgi);
               font-size: 13px; color: var(--yazi-soluk); }
.cizgi-olcum strong { color: var(--yazi); font-size: 16px; }

.akis { display: flex; align-items: stretch; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.akis-adim { flex: 1; min-width: 170px;
             background: var(--zemin); border: 1px solid var(--cizgi);
             border-radius: 10px; padding: 13px 15px; }
.akis-adim.vurgulu-adim { border-color: rgba(59,130,246,.45);
                          background: rgba(59,130,246,.06); }
.akis-ad    { font-size: 13px; font-weight: 600; }
.akis-alt   { font-size: 11px; color: var(--yazi-soluk); margin-top: 1px; }
.akis-deger { font-size: 19px; font-weight: 700; margin-top: 8px; }
.akis-adet  { font-size: 11px; color: var(--yazi-soluk); }
.akis-ok    { display: flex; align-items: center; color: var(--yazi-soluk); font-size: 18px; }

.etiket.islem { background: var(--yuzey-2); color: var(--yazi-soluk); }
.etiket.i-yukleme        { background: rgba(34,197,94,.15);  color: var(--yesil); }
.etiket.i-harcama        { background: rgba(239,68,68,.15);  color: var(--kirmizi); }
.etiket.i-rezerv         { background: rgba(245,158,11,.15); color: var(--sari); }
.etiket.i-rezerv_cozuldu { background: rgba(139,92,246,.15); color: var(--mor); }
.etiket.i-cod_aktarim    { background: rgba(20,184,166,.15); color: #14b8a6; }
.tablo .soluk { color: var(--yazi-soluk); font-size: 12px; }

/* ---------------------------------------------------------------- stok */
/* wrap: arama kutusunun yanına süzgeç eklenince (mağaza, sayfa boyu)
   telefonda satır taşıyordu ve düğme ekranın dışında kalıyordu. */
.ara-form { display: flex; gap: 6px; flex-wrap: wrap; }
.ara-form input, .ara-form select {
  background: var(--zemin); border: 1px solid var(--cizgi);
  color: var(--yazi); border-radius: 8px; padding: 8px 11px; font-size: 13px;
}
.ara-form input { flex: 1; min-width: 150px; }
.ara-form input:focus, .ara-form select:focus {
  outline: none; border-color: var(--vurgu);
}

.urun-blok { padding: 14px 16px; }
.urun-basi { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 10px; }
.urun-ad { font-size: 14.5px; }
.urun-rozetler { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }

.stok-tablo td { padding: 7px 0; }
.stok-tablo tr.sayimsiz { background: rgba(239,68,68,.05); }
.stok-tablo tr.tukendi  { background: rgba(245,158,11,.05); }
.sayim-uyari { color: var(--kirmizi); font-size: 11.5px; }
.baglanti { color: var(--yazi); text-decoration: none; border-bottom: 1px dotted var(--cizgi); }
.baglanti:hover { color: var(--vurgu); }

.minik-form { display: flex; gap: 5px; justify-content: flex-end; }
.minik-form input { width: 74px; background: var(--zemin); border: 1px solid var(--cizgi);
                    color: var(--yazi); border-radius: 6px; padding: 5px 7px; font-size: 12px; }
.minik-form input:focus { outline: none; border-color: var(--vurgu); }

.etiket.i-sayim          { background: rgba(59,130,246,.15); color: var(--vurgu); }
.etiket.i-giris          { background: rgba(34,197,94,.15);  color: var(--yesil); }
.etiket.i-cikis          { background: rgba(239,68,68,.15);  color: var(--kirmizi); }

.sayfalama { display: flex; align-items: center; gap: 12px; justify-content: center;
             margin-top: 18px; }
.sayfa-bilgi { color: var(--yazi-soluk); font-size: 12.5px; }

/* ------------------------------------------------- müşteri / rapor / iade */
.baş-harf, .bas-harf {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--yuzey-2); color: var(--yazi-soluk);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; flex: none;
}
.kart-sag.sag-hizali { justify-content: center; gap: 4px; }
.cizgi-olcum.tek { margin: 0; padding: 0; border: 0; }
.cizgi-olcum.tek strong { font-size: 14px; }

.filtre { margin-bottom: 14px; }
.filtre select {
  background: var(--zemin); border: 1px solid var(--cizgi); color: var(--yazi);
  border-radius: 8px; padding: 9px 11px; font-size: 13px;
}
.tablo-kaydir { overflow-x: auto; }

/* Dar ekranda tablo KENDİ İÇİNDE kayar.

   `.tablo-kaydir` sarmalayıcısı yalnız hatırlanan yerlerde vardı: 69
   tablo sarmalayıcısız duruyordu ve telefonda sayfanın TAMAMINI yana
   itiyordu — menü kayıyor, başlıklar ekran dışına çıkıyordu. Tabloyu
   kaydırmak yerine sayfayı kaydırmak, okunan her şeyi bozuyor.

   Sarmalayıcıyı 69 şablona tek tek eklemek bugünü kurtarırdı; 70.
   tabloyu yazan yine unuturdu. Kuralı buraya koyunca hatırlanacak bir
   şey kalmıyor. `.tablo-kaydir` duran yerlerde de zararsız: içteki
   kaydırma çalışır, dıştaki hiç gerekmez.

   `display: block` tablonun kendi hizalamasını bırakması demek; dar
   ekranda sütunların eşitlenmesinden çok satırın okunabilmesi önemli.
   `nowrap` olmadan hücreler daralıp dikey uzuyor ve tablo okunaksız
   hale geliyor. */
@media (max-width: 860px) {
  .tablo { display: block; overflow-x: auto; white-space: nowrap;
           -webkit-overflow-scrolling: touch; }
  /* Adres gibi uzun metinler tek satırda çok uzuyor; onlara izin var. */
  .tablo td.sarmali { white-space: normal; min-width: 220px; }
}
.tablo code { background: var(--zemin); border: 1px solid var(--cizgi);
              padding: 1px 6px; border-radius: 5px; font-size: 12px; }

.kip-aciklama { color: var(--yazi-soluk); font-size: 12.5px; margin: 0 0 4px; }
.okut-form input { font-size: 16px; font-family: ui-monospace, monospace; }

/* ------------------------------------------------------- kargo firmaları */
.tarife-basi { font-size: 11px; color: var(--yazi-soluk); margin-top: 4px; }
.tarife-satir { display: flex; gap: 5px; }
.tarife-satir input { width: 100%; min-width: 0; }
.takip-kutu { background: var(--zemin); border: 1px solid var(--cizgi);
              border-radius: 8px; padding: 8px 10px; text-align: center; }
.takip-firma { font-size: 11px; color: var(--yazi-soluk); text-transform: uppercase; }
.takip-no { font-family: ui-monospace, monospace; font-size: 13px; }
.firma-sec { width: 100%; margin-bottom: 6px; background: var(--zemin);
             border: 1px solid var(--cizgi); color: var(--yazi);
             border-radius: 7px; padding: 7px 9px; font-size: 12px; }

/* ------------------------------------------------------- takip sayfası */
/* Takip sayfası müşterinin gördüğü sayfa: panelin koyu temasında
   açılıyordu, tanıtım ve kayıt ise açık. Kargosunu soran kişi markanın
   sitesinden geliyor; oradan panelin koyu ekranına düşmek başka bir yere
   gelmiş gibi hissettiriyordu. */
.takip-govde { display: grid; place-items: start center; min-height: 100vh;
               padding: 40px 16px; background: var(--zemin);
               color: var(--yazi); }
.takip-kutu-dis {
  width: 100%; max-width: 460px;
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 14px; padding: 28px 24px;
}
.takip-ozet { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.takip-satir { display: flex; justify-content: space-between; gap: 12px;
               padding: 5px 0; font-size: 13px; color: var(--yazi-soluk); }
.takip-satir strong { color: var(--yazi); }

.zaman-cizgisi { list-style: none; margin: 18px 0 0; padding: 0 0 0 20px;
                 border-left: 2px solid var(--cizgi); }
.zaman-cizgisi li { position: relative; padding: 0 0 18px 14px; }
.zaman-cizgisi li:last-child { padding-bottom: 0; }
.cizgi-nokta { position: absolute; left: -21px; top: 4px;
               width: 10px; height: 10px; border-radius: 50%;
               background: var(--cizgi); border: 2px solid var(--yuzey); }
.zaman-cizgisi li.son .cizgi-nokta { background: var(--vurgu);
                                     box-shadow: 0 0 0 4px rgba(59,130,246,.18); }
.cizgi-durum { font-size: 13.5px; font-weight: 600; }
.cizgi-aciklama { font-size: 12px; color: var(--yazi-soluk); }
.cizgi-zaman { font-size: 11px; color: var(--yazi-soluk); margin-top: 2px; }

.uygulama-kutu { justify-content: flex-start; }
.soluk-kutu { opacity: .5; }

/* --------------------------------------------------------- otomasyonlar */
.kural-form { display: grid; gap: 10px;
              grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.kural-form label { display: flex; flex-direction: column; gap: 5px;
                    font-size: 12px; color: var(--yazi-soluk); }
.kural-form input, .kural-form select {
  background: var(--zemin); border: 1px solid var(--cizgi); color: var(--yazi);
  border-radius: 8px; padding: 9px 11px; font-size: 13px;
}
.kural-form input:focus, .kural-form select:focus { outline: none; border-color: var(--vurgu); }
.kural-form .genis-alan { grid-column: 1 / -1; }
.kural-metin { margin-top: 6px; font-size: 12.5px; color: var(--yazi-soluk); }
.kural-metin code { background: var(--zemin); border: 1px solid var(--cizgi);
                    padding: 2px 6px; border-radius: 5px; }

/* -------------------------------------------------------------- ayarlar */
.anahtar-izgara { display: grid; gap: 8px;
                  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.anahtar-satir { display: flex; align-items: center; gap: 9px;
                 background: var(--zemin); border: 1px solid var(--cizgi);
                 border-radius: 8px; padding: 9px 12px; font-size: 13px;
                 color: var(--yazi); cursor: pointer; }
.anahtar-satir input { width: 16px; height: 16px; accent-color: var(--vurgu); }
.kod-kutu { background: var(--zemin); border: 1px solid var(--cizgi);
            border-radius: 9px; padding: 12px 14px; overflow-x: auto;
            font-size: 12px; color: var(--yazi-soluk); }
.kural-form input[type=color] { padding: 3px; height: 38px; }

/* -------------------------------------------------------- çağrı paneli */
.sayac-seridi { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.sayac { background: var(--yuzey); border: 1px solid var(--cizgi);
         border-radius: 10px; padding: 9px 14px; min-width: 120px; }
.sayac.etkin { border-color: var(--vurgu); background: rgba(59,130,246,.08); }
.sayac.genis { margin-left: auto; }
.sayac strong { display: block; font-size: 19px; }
.sayac span { font-size: 11.5px; color: var(--yazi-soluk); }

.cagri-ust { display: flex; align-items: center; gap: 14px; margin-bottom: 14px;
             flex-wrap: wrap; }
.kapi-durum { font-size: 12px; color: var(--yazi-soluk);
              border: 1px solid var(--cizgi); border-radius: 999px; padding: 5px 12px; }
.kapi-durum.acik { color: var(--yesil); border-color: rgba(34,197,94,.4);
                   background: rgba(34,197,94,.08); }

.pano { display: grid; gap: 10px; align-items: start;
        grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); }
.sutun { background: var(--yuzey); border: 1px solid var(--cizgi);
         border-radius: 12px; padding: 10px; min-height: 130px; }
.sutun.uzerinde { border-color: var(--vurgu); background: rgba(59,130,246,.06); }
.sutun-basi { display: flex; align-items: center; gap: 8px; font-size: 13px;
              padding: 2px 4px 10px; color: var(--yazi-soluk); }
.sutun-basi strong { margin-left: auto; color: var(--yazi); }
.bos-sutun { text-align: center; color: var(--yazi-soluk); font-size: 12px;
             padding: 22px 0; border: 1px dashed var(--cizgi); border-radius: 9px; }

.cagri-kart { background: var(--zemin); border: 1px solid var(--cizgi);
              border-radius: 10px; padding: 11px 12px; margin-bottom: 8px;
              cursor: grab; font-size: 12.5px; }
.cagri-kart:active { cursor: grabbing; }
.cagri-ust-satir { display: flex; justify-content: space-between; gap: 8px;
                   margin-bottom: 4px; }
.cagri-ust-satir .tutar { color: var(--sari); font-weight: 700; }
.cagri-satir { line-height: 1.35; }
.cagri-satir.soluk { color: var(--yazi-soluk); font-size: 11.5px; }
.deneme { margin-top: 5px; font-size: 11px; color: var(--mor); }
.kart-not { margin-top: 5px; font-size: 11.5px; background: var(--yuzey-2);
            border-radius: 6px; padding: 5px 8px; }
.kanal-dugmeleri, .kutu-dugmeleri { display: flex; flex-wrap: wrap; gap: 4px;
                                    margin-top: 8px; }
.kutu-dugmeleri { opacity: .7; }
.dugme.yesil-dugme { background: rgba(34,197,94,.16); color: var(--yesil);
                     border-color: rgba(34,197,94,.35); }
i.mor-cubuk { background: var(--mor); }

/* ------------------------------------------------------------ kâr-zarar */
.kz-sekmeler { display: grid; gap: 8px; margin-bottom: 16px;
               grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.kz-sekme { background: var(--yuzey); border: 1px solid var(--cizgi);
            border-radius: 10px; padding: 10px 13px; text-decoration: none;
            color: var(--yazi-soluk); display: block; }
.kz-sekme strong { display: block; color: var(--yazi); font-size: 13px; }
.kz-sekme span { font-size: 11px; }
.kz-sekme.etkin { border-color: var(--vurgu); background: rgba(59,130,246,.09); }
.kz-sekme.etkin strong { color: var(--vurgu); }

.net-blok { text-align: left; }
.net-sayi { font-size: 40px; font-weight: 800; letter-spacing: -.02em;
            color: var(--yesil); margin: 4px 0; }
.net-sayi.kirmizi { color: var(--kirmizi); }

.uyari-satir { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.uyari-satir .dugme { margin-left: auto; }

.tablo td.ic { padding-left: 22px; color: var(--yazi-soluk); font-size: 12px; }
.pl-gelir td { font-weight: 600; }
.pl-toplam td { border-top: 2px solid var(--cizgi); font-weight: 600; }
.pl-net td { background: rgba(59,130,246,.07); font-size: 15px; }
.kaydirici { display: flex; flex-direction: column; gap: 4px;
             font-size: 11.5px; color: var(--yazi-soluk); }
.kaydirici input { background: var(--zemin); border: 1px solid var(--cizgi);
                   color: var(--yazi); border-radius: 7px; padding: 8px 10px; }


/* ------------------------------------------------------- üst şerit (yeni) */
.marka-ad { text-decoration: none; }
.ust-menu { display: none; gap: 2px; }
.ust-menu a { color: var(--yazi-soluk); text-decoration: none; font-size: 13px;
              padding: 7px 11px; border-radius: 8px; white-space: nowrap; }
.ust-menu a:hover { background: var(--yuzey-2); color: var(--yazi); }
.ust-menu a.etkin { background: rgba(59,130,246,.14); color: var(--vurgu); font-weight: 600; }

.satir-ici { display: inline-flex; }
.ikon-dugme { background: none; border: 1px solid var(--cizgi); color: var(--yazi-soluk);
              width: 32px; height: 32px; border-radius: 8px; cursor: pointer;
              font-size: 14px; display: inline-flex; align-items: center;
              justify-content: center; text-decoration: none; position: relative; }
.ikon-dugme:hover { color: var(--yazi); border-color: #2c3a52; }
.zil-nokta { position: absolute; top: -5px; right: -5px; background: var(--kirmizi);
             color: #fff; font-size: 9.5px; font-weight: 700; min-width: 15px;
             height: 15px; border-radius: 99px; display: grid; place-items: center;
             padding: 0 3px; }
.bakiye-rozeti { background: var(--yuzey-2); border: 1px solid var(--cizgi);
                 border-radius: 8px; padding: 6px 11px; font-size: 12.5px;
                 font-weight: 600; color: var(--yazi); text-decoration: none; }
.bakiye-rozeti.dusuk { color: var(--sari); border-color: rgba(245,158,11,.4);
                       background: rgba(245,158,11,.1); }

/* Geniş ekranda menü üste çıkar, yan menü gizlenir — Porego da böyle yapıyor */
@media (min-width: 1100px) {
  .ust-menu { display: flex; }
  .yan { display: none; }
  .menu-dugme { display: none; }
  body.menu-acik .yan { display: flex; position: fixed; top: 58px; left: 0;
                        bottom: 0; z-index: 20; }
  body.menu-acik .menu-dugme { display: block; }
}
@media (max-width: 1099px) {
  .yan { position: fixed; top: 58px; left: -220px; bottom: 0; z-index: 20;
         transition: left .18s; }
  body.menu-acik .yan { left: 0; }
  .icerik { padding: 16px; }
}

/* Açık temada ince düzeltmeler */
:root[data-tema="acik"] .olcum::after { opacity: .9; }
:root[data-tema="acik"] .etiket.durum { background: #eef2f8; }
:root[data-tema="acik"] .net-sayi { color: #15803d; }

/* ---------------------------------------------------- sipariş filtreleri */
.gizli { display: none; }
.filtre-kutu { background: var(--yuzey); border: 1px solid var(--cizgi);
               border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; }
.filtre-satir { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.genis-arama { flex: 1; min-width: 200px; background: var(--zemin);
               border: 1px solid var(--cizgi); color: var(--yazi);
               border-radius: 8px; padding: 9px 12px; font-size: 13px; }
.genis-arama:focus { outline: none; border-color: var(--vurgu); }
.filtre-detay { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--cizgi); }

.gorunum-seridi { display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
                  margin-bottom: 12px; }
.gorunum { display: inline-flex; align-items: center; gap: 4px;
           background: var(--yuzey); border: 1px solid var(--cizgi);
           border-radius: 999px; padding: 4px 6px 4px 12px; font-size: 12.5px; }
.gorunum a { color: var(--yazi); text-decoration: none; }
.gorunum button { background: none; border: 0; color: var(--yazi-soluk);
                  cursor: pointer; font-size: 14px; line-height: 1; padding: 0 4px; }
.gorunum-ekle { display: flex; gap: 5px; }
.gorunum-ekle input { background: var(--yuzey); border: 1px solid var(--cizgi);
                      color: var(--yazi); border-radius: 999px;
                      padding: 6px 12px; font-size: 12px; min-width: 210px; }

.toplu-serit { display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
               background: var(--yuzey); border: 1px solid var(--cizgi);
               border-radius: 10px; padding: 9px 12px; margin-bottom: 10px; }
.toplu-serit .anahtar-satir { background: none; border: 0; padding: 0; }
.firma-sec.dar { width: auto; min-width: 170px; margin: 0; }
.kart-sec { padding-top: 2px; }
.kart-sec input { width: 16px; height: 16px; accent-color: var(--vurgu); }

/* Açılır işlem başlıkları ("İşlem Yap", "Sözleşme provası çalıştır")
   soluk düz metin gibi duruyordu; tıklanabilir olduğu belli değildi.
   Artık çerçeveli küçük bir düğme gibi ve açıkken işaret dönüyor —
   düğmeye benzemeyen düğme, olmayan düğmedir. */
.islem-menu { margin-top: 6px; }
.islem-menu summary {
  cursor: pointer; font-size: 12px; color: var(--yazi-soluk);
  list-style: none; padding: 5px 10px; display: inline-flex;
  align-items: center; gap: 6px; border: 1px solid var(--cizgi);
  border-radius: 8px; background: var(--yuzey-2);
}
.islem-menu summary:hover { color: var(--yazi); border-color: var(--vurgu); }
.islem-menu summary::-webkit-details-marker { display: none; }
.islem-menu summary::before { content: "⋯"; }
.islem-menu[open] > summary { color: var(--yazi); border-color: var(--vurgu); }
.islem-menu[open] > summary::before { content: "×"; }
.islem-bilgi { font-size: 11.5px; color: var(--yazi-soluk); margin-top: 6px;
               line-height: 1.35; }

/* -------------------------------------------------------- yol haritası */
.oy-kutusu { display: flex; flex-direction: column; align-items: center; gap: 2px;
             min-width: 42px; }
.oy-kutusu strong { font-size: 16px; }
.oy-dugme { background: none; border: 0; color: var(--yazi-soluk); cursor: pointer;
            font-size: 13px; line-height: 1; padding: 2px; }
.oy-dugme:hover { color: var(--vurgu); }

/* -------------------------------------------------------- desi tablosu */
.desi-tablosu th, .desi-tablosu td { padding: 5px 9px; text-align: center;
                                     white-space: nowrap; font-size: 12px; }
.desi-tablosu th { color: var(--yazi-soluk); font-weight: 600;
                   border-bottom: 1px solid var(--cizgi); }
.desi-tablosu td { border-top: 0; }
.kural-form textarea { background: var(--zemin); border: 1px solid var(--cizgi);
                       color: var(--yazi); border-radius: 8px; padding: 9px 11px;
                       font-family: ui-monospace, monospace; font-size: 12.5px; }

/* ------------------------------------------------------------- varyant */
.varyant-basi { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.urun-gorsel { width: 86px; height: 86px; object-fit: cover; border-radius: 10px;
               border: 1px solid var(--cizgi); flex: none; }
.urun-gorsel.kucuk { width: 54px; height: 54px; border-radius: 9px; }
.liste-kip .stok-tablo td { padding: 4px 0; font-size: 12px; }
.liste-kip .urun-basi { margin-bottom: 6px; }
.kim-rozeti { font-size: 12px; color: var(--yazi); display: flex;
              flex-direction: column; line-height: 1.15; text-align: right; }
.kim-rozeti small { color: var(--yazi-soluk); font-size: 10px; }

/* ------------------------------------------------------- kurulum durumu */
.kurulum-kart { border-color: rgba(245,158,11,.3); }
.ilerleme { height: 7px; background: var(--zemin); border-radius: 99px;
            overflow: hidden; margin: 6px 0 12px; }
.ilerleme i { display: block; height: 100%; background: var(--vurgu);
              border-radius: 99px; transition: width .3s; }
.kurulum-liste { display: flex; flex-direction: column; gap: 8px; }
.kurulum-satir { display: flex; align-items: center; gap: 11px;
                 background: var(--zemin); border: 1px solid var(--cizgi);
                 border-radius: 9px; padding: 10px 13px; font-size: 13px; }
.kurulum-satir > div { flex: 1; min-width: 0; }
.kurulum-satir .soluk { font-size: 11.5px; margin-top: 2px; }
.kurulum-satir.tamam { opacity: .55; }
.depo-govde .icerik { padding: 20px; max-width: 960px; margin: 0 auto; }
.hazir-kart { opacity: .6; border-color: rgba(34,197,94,.3); }

/* -------------------------------------------------------- sipariş detayı */
.detay-izgara { display: grid; gap: 14px; align-items: start;
                grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
@media (max-width: 900px) { .detay-izgara { grid-template-columns: 1fr; } }
.gonderi-kutu { background: var(--zemin); border: 1px solid var(--cizgi);
                border-radius: 9px; padding: 11px 13px; margin-bottom: 8px; }
.cizgi-nokta.mor      { background: var(--mor); }
.cizgi-nokta.turkuaz  { background: #14b8a6; }
.cizgi-nokta.sari     { background: var(--sari); }
.cizgi-nokta.yesil    { background: var(--yesil); }
.cizgi-nokta.mavi     { background: var(--vurgu); }
.zaman-cizgisi li.son .cizgi-nokta { box-shadow: 0 0 0 4px rgba(59,130,246,.18); }
.takip-tahmin { background: rgba(59,130,246,.1); border: 1px solid rgba(59,130,246,.3);
                color: var(--vurgu); border-radius: 10px; padding: 10px 13px;
                margin-top: 16px; font-size: 13.5px; text-align: center; }

/* ------------------------------------------------------------ hata sayfası */
.hata-govde { display: grid; place-items: center; min-height: 100vh; padding: 24px; }
.hata-kutu { background: var(--yuzey); border: 1px solid var(--cizgi);
             border-radius: 14px; padding: 30px 28px; max-width: 520px;
             width: 100%; text-align: center; }
.hata-kod { font-size: 42px; font-weight: 700; color: var(--yazi-soluk);
            letter-spacing: 1px; line-height: 1; }
.hata-kutu h1 { font-size: 19px; margin: 12px 0 6px; }
.hata-aciklama { color: var(--yazi-soluk); font-size: 13.5px; margin: 0 0 4px; }
.hata-adimlar { text-align: left; color: var(--yazi-soluk); font-size: 13px;
                margin: 14px 0 0; padding-left: 20px; line-height: 1.6; }
.hata-referans { background: var(--zemin); border: 1px solid var(--cizgi);
                 border-radius: 9px; padding: 11px 13px; margin-top: 16px;
                 font-size: 13px; }
.hata-referans strong { font-family: ui-monospace, monospace; color: var(--sari); }
.hata-referans small { display: block; color: var(--yazi-soluk);
                       font-size: 11.5px; margin-top: 5px; }
.hata-referans a { color: var(--vurgu); }
.hata-dugmeler { display: flex; gap: 9px; justify-content: center; margin-top: 18px;
                 flex-wrap: wrap; }
.hata-satir { display: flex; gap: 12px; align-items: baseline;
              border-top: 1px solid var(--cizgi); padding: 9px 0; font-size: 12.5px; }
.hata-satir code { font-family: ui-monospace, monospace; color: var(--sari);
                   font-size: 12px; }
.hata-satir .soluk { flex: 1; min-width: 0; overflow: hidden;
                     text-overflow: ellipsis; white-space: nowrap; }
.hata-izi { background: var(--zemin); border: 1px solid var(--cizgi);
            border-radius: 8px; padding: 10px; margin-top: 8px; font-size: 11.5px;
            white-space: pre-wrap; word-break: break-word; max-height: 320px;
            overflow: auto; color: var(--yazi-soluk); }
.hata-satir-kutu summary { cursor: pointer; list-style: none; }
.hata-satir-kutu summary::-webkit-details-marker { display: none; }

/* ============================================================== telefon
   Panel depoda ve yolda telefondan açılıyor. 375 px'te sipariş kartı
   okunamıyordu: sağdaki işlem sütunu 230 px sabitti, metne 60 px kalıyordu
   ("Ahşap Kablo" alt alta tek kelime düşüyordu). Burada sütunlar alt alta
   iniyor, tablolar kendi içinde yana kayıyor. */
@media (max-width: 700px) {
  .kart { flex-direction: column; gap: 12px; padding: 14px; }
  .kart-sag { width: auto; }
  .kart-sag.sag-hizali { align-items: stretch; }
  .kart-sec { padding-top: 0; }

  .sayfa-basi { flex-direction: column; align-items: flex-start; gap: 10px; }
  .sayfa-eylem { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }

  /* Tablo sayfayı yana itmesin, kendi içinde kaysın */
  .tablo, .desi-tablosu { display: block; overflow-x: auto; max-width: 100%; }

  .olcumler, .borular { gap: 8px; }
  .icerik { padding: 14px 12px; }
  .filtre-satir { gap: 6px; }
  .gorunum-ekle input { min-width: 0; flex: 1; }
  .hata-kutu { padding: 22px 18px; }
  .hata-kod { font-size: 34px; }
}

@media (max-width: 560px) {
  .ust { gap: 8px; padding: 0 10px; }
  .kim-rozeti { display: none; }          /* kim olduğunu zaten biliyor */
  .marka-ad { font-size: 16px; }
  .bakiye-rozeti { padding: 5px 8px; font-size: 11.5px; }
  .dugme { padding: 8px 11px; }
}

/* Tema "sistem" seçiliyken data-tema yazılmaz; işletim sistemi açık
   moddaysa açık palete düşeriz. */
@media (prefers-color-scheme: light) {
  :root:not([data-tema]) {
  --zemin:      #f5f7fb;
  --yuzey:      #ffffff;
  --yuzey-2:    #eef2f8;
  --cizgi:      #dde4ee;
  --yazi:       #16202e;
  --yazi-soluk: #5d6b81;
  --vurgu:      #2563eb;
  --yesil:      #16a34a;
  --sari:       #d97706;
  --kirmizi:    #dc2626;
  --mor:        #7c3aed;
}
}
@media (prefers-color-scheme: light) {
  :root:not([data-tema]) .olcum::after { opacity: .9; }
  :root:not([data-tema]) .etiket.durum { background: #eef2f8; }
  :root:not([data-tema]) .net-sayi { color: #15803d; }
}
.dugme.kotu { background: rgba(239,68,68,.14); border-color: rgba(239,68,68,.45);
              color: var(--kirmizi); }
.dugme.kotu:hover { background: rgba(239,68,68,.22); }

/* --------------------------------------------------------- sipariş haritası */
.harita-kutu { background: var(--zemin); border: 1px solid var(--cizgi);
               border-radius: 12px; padding: 8px; overflow-x: auto; }
.harita { width: 100%; height: auto; min-width: 560px; display: block; }
.il-nokta { fill: var(--vurgu); stroke: var(--zemin); stroke-width: 1.2;
            transition: fill .15s; }
.il-nokta.bos { fill: var(--yuzey-2); opacity: .9; }
.il-nokta.dolu:hover { fill: var(--sari); }
.il-yazi { fill: var(--yazi-soluk); font-size: 12px; text-anchor: middle;
           pointer-events: none; }

/* ---------------------------------------------------------- uygulamalar */
.uygulama-basi { background: linear-gradient(180deg, rgba(139,92,246,.10),
                 rgba(59,130,246,.05)); border: 1px solid var(--cizgi);
                 border-radius: 14px; padding: 28px 20px; text-align: center;
                 margin-bottom: 18px; }
.uygulama-basi-simge { width: 52px; height: 52px; margin: 0 auto 12px;
                       display: grid; place-items: center; font-size: 22px;
                       background: var(--yuzey-2); border: 1px solid var(--cizgi);
                       border-radius: 14px; color: var(--vurgu); }
.uygulama-basi h1 { font-size: 21px; margin: 0 0 6px; }
.uygulama-basi p { color: var(--yazi-soluk); font-size: 13px; margin: 0 auto;
                   max-width: 560px; }

.uygulama-izgara { display: grid; gap: 14px;
                   grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.uygulama-kart { background: var(--yuzey); border: 1px solid var(--cizgi);
                 border-radius: 13px; padding: 16px; display: flex;
                 flex-direction: column; gap: 10px; }
.uygulama-kart.soluk-kutu { opacity: .6; }
.uygulama-ust { display: flex; gap: 11px; align-items: flex-start; }
.uygulama-simge { width: 40px; height: 40px; flex: none; border-radius: 11px;
                  display: grid; place-items: center; font-size: 17px; }
.uygulama-simge.mavi     { background: rgba(59,130,246,.15);  color: var(--vurgu); }
.uygulama-simge.yesil    { background: rgba(34,197,94,.15);   color: var(--yesil); }
.uygulama-simge.mor      { background: rgba(139,92,246,.15);  color: var(--mor); }
.uygulama-simge.sari     { background: rgba(245,158,11,.15);  color: var(--sari); }
.uygulama-simge.turuncu  { background: rgba(249,115,22,.15);  color: #f97316; }
.uygulama-simge.turkuaz  { background: rgba(20,184,166,.15);  color: #14b8a6; }
.uygulama-ad { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.uygulama-ad strong { font-size: 14.5px; }
.uygulama-ad .etiket { align-self: flex-start; }
.uygulama-aciklama { color: var(--yazi-soluk); font-size: 12.8px; margin: 0;
                     line-height: 1.45; }
.uygulama-maddeler { margin: 0; padding: 0; list-style: none;
                     display: flex; flex-direction: column; gap: 5px; }
.uygulama-maddeler li { font-size: 12.3px; color: var(--yazi-soluk);
                        padding-left: 19px; position: relative; line-height: 1.4; }
.uygulama-maddeler li::before { content: "✓"; position: absolute; left: 0;
                                color: var(--yesil); font-size: 11px; top: 1px; }
.uygulama-alt { margin-top: auto; padding-top: 10px; display: flex; gap: 8px;
                align-items: center; border-top: 1px solid var(--cizgi); }
.uygulama-alt a { margin-left: auto; }

/* ------------------------------------------------------- eksik adresler */
.adres-liste { display: flex; flex-direction: column; gap: 10px; }
.adres-satir { background: var(--yuzey); border: 1px solid var(--cizgi);
               border-radius: 11px; padding: 13px 15px; display: flex;
               flex-direction: column; gap: 9px; }
.adres-kim { display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
             font-size: 13px; }
.adres-kim a { color: var(--yazi); text-decoration: none;
               border-bottom: 1px dotted var(--cizgi); }
.etiket.kotu-etiket { background: rgba(239,68,68,.15); color: var(--kirmizi); }
.adres-alanlar { display: grid; gap: 8px;
                 grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adres-alanlar input { background: var(--zemin); border: 1px solid var(--cizgi);
                       color: var(--yazi); border-radius: 8px; padding: 8px 11px;
                       font-size: 13px; min-width: 0; }
.adres-alanlar input:focus { outline: none; border-color: var(--vurgu); }
.adres-alanlar .genis-alan { grid-column: 1 / -1; }
.adres-alanlar .eksik-alan { border-color: rgba(239,68,68,.45); }
.adres-oneri { display: flex; gap: 9px; align-items: center; flex-wrap: wrap;
               font-size: 12.3px; background: var(--zemin);
               border: 1px solid var(--cizgi); border-radius: 8px;
               padding: 7px 10px; }
.adres-alt { display: flex; gap: 12px; align-items: center; margin-top: 14px; }
@media (max-width: 700px) {
  .adres-alanlar { grid-template-columns: 1fr; }
}

/* ------------------------------------------------- sipariş tablo görünümü */
.kip-anahtar { display: inline-flex; background: var(--yuzey);
               border: 1px solid var(--cizgi); border-radius: 9px;
               overflow: hidden; }
.kip-anahtar a { padding: 7px 12px; color: var(--yazi-soluk);
                 text-decoration: none; font-size: 14px; line-height: 1; }
.kip-anahtar a.etkin { background: var(--yuzey-2); color: var(--yazi); }
.siparis-tablosu { width: 100%; border-collapse: collapse; font-size: 12.8px; }
.siparis-tablosu th { text-align: left; color: var(--yazi-soluk);
                      font-weight: 600; font-size: 11.5px; padding: 9px 10px;
                      border-bottom: 1px solid var(--cizgi);
                      white-space: nowrap; }
.siparis-tablosu td { padding: 10px; border-top: 1px solid var(--cizgi);
                      vertical-align: top; }
.siparis-tablosu th.sag, .siparis-tablosu td.sag { text-align: right; }
.siparis-tablosu .dar-sutun { width: 28px; }
.siparis-tablosu tr.uyarili-satir td { background: rgba(239,68,68,.05); }
.siparis-tablosu tr:hover td { background: var(--yuzey-2); }
.kucuk-hucre { font-size: 11.8px; line-height: 1.45; }
.urun-rozeti { display: inline-block; background: var(--zemin);
               border: 1px solid var(--cizgi); border-radius: 7px;
               padding: 3px 7px; margin: 0 3px 3px 0; font-size: 11.5px; }
.urun-rozeti b { color: var(--yazi-soluk); }
.eksik-rozet { color: var(--kirmizi); text-decoration: none;
               border-bottom: 1px dotted currentColor; }
.siparis-tablosu .satir-sec { width: 15px; height: 15px; accent-color: var(--vurgu); }
.tek-satir { white-space: nowrap; }
.siparis-tablosu td { padding: 8px 10px; }
.magaza-kisa { display: block; max-width: 120px; white-space: nowrap;
               overflow: hidden; text-overflow: ellipsis; }
.urun-kar-tablosu td, .urun-kar-tablosu th { padding: 8px 10px; font-size: 12.6px; }
.urun-kar-tablosu th { text-align: left; color: var(--yazi-soluk);
                       font-size: 11.5px; white-space: nowrap; }
.urun-kar-tablosu th.sag, .urun-kar-tablosu td.sag { text-align: right; }
.urun-kar-tablosu tr.uyarili-satir td { background: rgba(239,68,68,.06); }

/* --------------------------------------------------- otomasyon zaman penceresi */
.zaman-kutu { border: 1px solid var(--cizgi); border-radius: 10px;
              padding: 12px 14px; margin: 0; background: var(--zemin); }
.zaman-kutu legend { font-size: 12.5px; color: var(--yazi-soluk); padding: 0 6px; }
.zaman-satir { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.zaman-satir label { display: flex; flex-direction: column; gap: 4px;
                     font-size: 12px; color: var(--yazi-soluk); }
.zaman-satir input, .zaman-satir select {
  background: var(--yuzey); border: 1px solid var(--cizgi); color: var(--yazi);
  border-radius: 8px; padding: 7px 10px; font-size: 13px; }
.gun-secim { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.gun-kutu { display: inline-flex; align-items: center; gap: 5px;
            background: var(--yuzey); border: 1px solid var(--cizgi);
            border-radius: 999px; padding: 5px 11px; font-size: 12px;
            cursor: pointer; }
.gun-kutu input { accent-color: var(--vurgu); }

/* --------------------------------------------------------- dış yedek kutusu */
.dis-yedek { background: var(--zemin); border: 1px solid var(--cizgi);
             border-radius: 10px; padding: 12px 14px; margin: 12px 0; }
.dis-yedek.uyarili-kutu { border-color: rgba(245,158,11,.45); }
.dis-form { display: flex; gap: 7px; margin: 8px 0; }
.dis-form input { flex: 1; min-width: 0; background: var(--yuzey);
                  border: 1px solid var(--cizgi); color: var(--yazi);
                  border-radius: 8px; padding: 7px 10px; font-size: 12.5px; }
.dis-dugmeler { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }

.guvenilmez { color: var(--yazi-soluk); font-style: italic; font-size: 11.8px; }

/* ------------------------------------------------------------ durum şeridi */
.durum-serit { background: var(--yuzey); border: 1px solid var(--cizgi);
               border-radius: 12px; padding: 12px 15px; margin-bottom: 16px; }
.durum-basi { font-size: 12px; color: var(--yazi-soluk); margin-bottom: 8px; }
.durum-liste { margin: 0; padding: 0; list-style: none; display: flex;
               flex-direction: column; gap: 6px; }
.durum-liste li { font-size: 13.2px; padding-left: 18px; position: relative; }
.durum-liste li::before { content: "●"; position: absolute; left: 0;
                          font-size: 9px; top: 3px; }
.durum-liste li.kotu::before { color: var(--kirmizi); }
.durum-liste li.iyi::before  { color: var(--yesil); }
.durum-liste a { color: var(--yazi); text-decoration: none;
                 border-bottom: 1px dotted var(--cizgi); }
.durum-liste a:hover { border-bottom-color: var(--vurgu); }

/* ---------------------------------------------------------------- dil menüsü
   Porego'daki bayrak menüsünün karşılığı. <details> ile açılıyor: menüyü
   açmak için JavaScript gerekmesin — panel CDN'siz çalışıyor. */
.dil-menu { position: relative; }
.dil-menu > summary { list-style: none; cursor: pointer; }
.dil-menu > summary::-webkit-details-marker { display: none; }
.dil-liste {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 40;
  min-width: 190px; padding: 6px;
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.dil-liste form { margin: 0; }
.dil-liste button {
  display: flex; align-items: center; gap: 8px; width: 100%;
  padding: 7px 10px; border: 0; border-radius: 7px;
  background: transparent; color: var(--yazi); font: inherit;
  text-align: left; cursor: pointer;
}
.dil-liste button:hover { background: var(--yuzey-2); }
.dil-liste button.etkin { color: var(--vurgu); font-weight: 600; }
.dil-kisa {
  min-width: 26px; padding: 1px 5px; border-radius: 4px;
  background: var(--yuzey-2); font-size: .74rem; letter-spacing: .04em;
  text-align: center;
}
.dil-ayar {
  display: block; margin-top: 4px; padding: 7px 10px;
  border-top: 1px solid var(--cizgi); color: var(--yazi-soluk);
  font-size: .82rem; text-decoration: none;
}
.dil-ayar:hover { color: var(--vurgu); }

/* ------------------------------------------------------------------ yardım */
.yardim-duzen { display: grid; grid-template-columns: 230px 1fr; gap: 18px; align-items: start; }
.yardim-icindekiler {
  position: sticky; top: 76px; display: flex; flex-direction: column; gap: 2px;
  padding: 12px; background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 12px; max-height: calc(100vh - 100px); overflow-y: auto;
}
.yardim-icindekiler strong { margin-bottom: 6px; font-size: .82rem; color: var(--yazi-soluk); }
.yardim-icindekiler a {
  padding: 4px 6px; border-radius: 6px; color: var(--yazi);
  font-size: .85rem; text-decoration: none;
}
.yardim-icindekiler a:hover { background: var(--yuzey-2); color: var(--vurgu); }
.yardim-metin p { line-height: 1.65; }
.yardim-metin h3 { margin: 14px 0 6px; font-size: .98rem; }
.yardim-metin ul, .yardim-metin ol { padding-left: 20px; line-height: 1.6; }
.yardim-metin li { margin: 3px 0; }
.yardim-metin .kod-kutu { white-space: pre-wrap; }
@media (max-width: 860px) {
  .yardim-duzen { grid-template-columns: 1fr; }
  .yardim-icindekiler { position: static; max-height: 240px; }
  /* Tek sütuna inmek yetmiyordu: ızgara çocuğunun asgari genişliği
     varsayılan olarak İÇERİĞİ kadar. Uzun bir başlık ("Kapıda ödeme
     tahsilatı nasıl izlenir?") sarmayınca sütunu 530 px'e kadar
     şişiriyor ve sayfayı yana itiyordu. `min-width: 0` sütunun
     içeriğinden dar olmasına izin veriyor; sarma da başlığı alt
     satıra indiriyor. */
  .yardim-duzen > * { min-width: 0; }
  .yardim-icindekiler a { overflow-wrap: anywhere; }
}

/* Bal küpü: insan görmez, bot doldurur. Takip sayfasındaki iade talebi
   formu da dışarıya açık olduğu için sipariş formuyla aynı savunma. */
.bal-kupu { position: absolute; left: -9999px; opacity: 0; height: 0; }
.iade-talep { margin-top: 14px; }
.iade-talep > summary {
  padding: 9px 12px; border: 1px solid var(--cizgi); border-radius: 9px;
  color: var(--yazi-soluk); cursor: pointer; font-size: .9rem;
}
.iade-talep > summary:hover { color: var(--vurgu); }
.iade-talep .kural-form { margin-top: 10px; }

/* ===================================================== hesap menüsü & ikonlar
   Porego'daki avatar açılırının karşılığı: ayar/para/mağaza sayfaları yan
   menüyü şişirmek yerine burada toplanıyor. Yan menüde de duruyorlar ama
   soluk — dar ekranda üst menü yokken kaybolmasınlar diye. */
.menu-simge {
  display: inline-block; width: 1.25em; margin-right: 7px;
  opacity: .75; text-align: center; font-size: .95em;
}
.ust-menu a { display: inline-flex; align-items: center; }

.hesap-menu { position: relative; }
.hesap-menu > summary { list-style: none; cursor: pointer; }
.hesap-menu > summary::-webkit-details-marker { display: none; }
.kim-rozeti { display: flex; align-items: center; gap: 8px; }
.kim-bas {
  display: grid; place-items: center; width: 30px; height: 30px;
  border-radius: 50%; background: var(--vurgu); color: #fff;
  font-size: .76rem; font-weight: 700; letter-spacing: .02em;
}
.kim-bas.buyuk { width: 38px; height: 38px; font-size: .9rem; }
.kim-ad { display: flex; flex-direction: column; line-height: 1.15; }
.kim-ad small { color: var(--yazi-soluk); font-size: .72rem; }
.hesap-liste {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: 50;
  min-width: 230px; padding: 6px;
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 12px; box-shadow: 0 14px 40px rgba(0,0,0,.4);
}
.hesap-basi {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 10px 12px; border-bottom: 1px solid var(--cizgi);
  margin-bottom: 6px;
}
.hesap-basi small { display: block; color: var(--yazi-soluk); font-size: .74rem; }
.hesap-liste a, .hesap-cikis {
  display: flex; align-items: center; width: 100%;
  padding: 8px 10px; border: 0; border-radius: 8px;
  background: transparent; color: var(--yazi); font: inherit;
  text-align: left; text-decoration: none; cursor: pointer;
}
.hesap-liste a:hover { background: var(--yuzey-2); color: var(--vurgu); }
.hesap-cikis {
  margin-top: 6px; border-top: 1px solid var(--cizgi);
  border-radius: 0 0 8px 8px; color: var(--kirmizi);
}
.hesap-cikis:hover { background: var(--yuzey-2); }
.yan a.yan-ikincil { opacity: .72; }
.yan a.yan-ikincil:hover, .yan a.yan-ikincil.etkin { opacity: 1; }

/* Kenar sekmeleri: Porego'daki DESTEK / ÖZELLİK TALEP ET */
.kenar-sekme {
  position: fixed; top: 50%; z-index: 30;
  padding: 14px 9px; border: 1px solid var(--cizgi); border-left: 0;
  background: var(--yuzey); color: var(--yazi-soluk);
  font-size: .76rem; letter-spacing: .08em; text-transform: uppercase;
  text-decoration: none; writing-mode: vertical-rl;
  box-shadow: 0 6px 24px rgba(0,0,0,.3);
}
.kenar-sekme.sol {
  left: 0; transform: translateY(-50%);
  border-radius: 0 10px 10px 0;
}
.kenar-sekme.sag {
  right: 0; transform: translateY(-50%) rotate(180deg);
  border-radius: 0 10px 10px 0;
  background: var(--vurgu); color: #fff; border-color: transparent;
}
.kenar-sekme:hover { color: var(--vurgu); }
.kenar-sekme.sag:hover { color: #fff; filter: brightness(1.1); }
@media (max-width: 760px) { .kenar-sekme { display: none; } }

/* ------------------------------------------------- kâr-zarar tanıtım kartı */
.kz-tanitim {
  margin: 14px 0 18px; padding: 20px 22px; border-radius: 16px;
  background: linear-gradient(135deg, #0f766e 0%, #115e59 55%, #134e4a 100%);
  color: #ecfdf5; border: 1px solid rgba(255,255,255,.08);
}
.kz-etiket {
  display: inline-block; padding: 4px 10px; border-radius: 999px;
  background: rgba(255,255,255,.15); font-size: .7rem; letter-spacing: .1em;
  text-transform: uppercase;
}
.kz-tanitim h2 { margin: 10px 0 6px; font-size: 1.45rem; color: #fff; }
.kz-tanitim p { margin: 0 0 14px; max-width: 70ch; line-height: 1.55;
                color: rgba(236,253,245,.85); }
.kz-serit {
  display: flex; height: 22px; border-radius: 8px; overflow: hidden;
  background: rgba(255,255,255,.12);
}
.kz-parca { display: grid; place-items: center; font-size: .72rem; color: #fff; }
.kz-turuncu    { background: #f59e0b; }
.kz-mor        { background: #c026d3; }
.kz-mavi       { background: #3b82f6; }
.kz-sari       { background: #eab308; }
.kz-bilinmeyen { background: rgba(255,255,255,.22); }
.kz-lejant {
  display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px;
  font-size: .8rem; color: rgba(236,253,245,.8);
}
.kz-lejant i {
  display: inline-block; width: 9px; height: 9px; margin-right: 6px;
  border-radius: 50%;
}
.kz-eylem { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.kz-not { margin: 12px 0 0; font-size: .82rem; color: rgba(236,253,245,.75); }

/* --------------------------------------------------------- panel kart sırası */
.kart-sira { margin: 0; padding: 0; list-style: none; }
.kart-satir {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; margin-bottom: 6px;
  background: var(--yuzey-2); border: 1px solid var(--cizgi);
  border-radius: 10px; cursor: grab;
}
.kart-satir.tasiniyor { opacity: .45; border-style: dashed; cursor: grabbing; }
.tutamac { color: var(--yazi-soluk); font-size: 1.1rem; letter-spacing: -2px; }
.kart-ad { flex: 1; }
.kart-goz { display: flex; align-items: center; gap: 6px;
            color: var(--yazi-soluk); font-size: .8rem; }
.kart-oklar { display: flex; gap: 4px; }

/* ------------------------------------------------------------- mobil alt menü
   Porego'da telefonda altta dört sekme var. Dar ekranda yan menüye ulaşmak
   için önce hamburgere basmak gerekiyordu; en çok kullanılan dört yer
   parmağın altında olsun. */
.alt-menu { display: none; }
@media (max-width: 760px) {
  .alt-menu {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
    background: var(--yuzey); border-top: 1px solid var(--cizgi);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .alt-menu a {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 9px 4px; color: var(--yazi-soluk);
    font-size: .68rem; text-decoration: none;
  }
  .alt-menu a.etkin { color: var(--vurgu); }
  .alt-menu .menu-simge { margin: 0; font-size: 1.05rem; }
  .icerik { padding-bottom: 64px; }
}

/* ------------------------------------------------------------ müşteri detayı */
.musteri-siparis {
  padding: 14px; margin-bottom: 12px;
  background: var(--yuzey-2); border: 1px solid var(--cizgi); border-radius: 12px;
}
.msip-basi { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.msip-basi .sag { margin-left: auto; }
.msip-govde {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px; margin-top: 12px; font-size: .88rem;
}
.msip-not {
  margin-top: 10px; padding: 8px 10px; border-left: 3px solid var(--vurgu);
  background: var(--zemin); border-radius: 0 8px 8px 0; font-size: .86rem;
}
.musteri-siparis .minik-form { margin-top: 10px; }

/* ------------------------------------------------- hesap menüsü öbekleri
   Porego hesap menüsünü iki öbeğe ayırıyor: önce hesapla ilgili başlıklar,
   sonra parayla ilgili olanlar. Araya ince bir çizgi giriyor. */
.hesap-obek + .hesap-obek {
  margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--cizgi);
}
.hesap-liste a.etkin { background: rgba(59,130,246,.14); color: var(--vurgu);
                       font-weight: 600; }

/* Yan menüdeki grup başlığı (dar ekranda ve hamburger açıkken görünür) */
.yan-baslik {
  padding: 12px 10px 4px; font-size: .68rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--yazi-soluk);
}

/* Uygulama kartındaki bedel satırı: para harcatanlar göze çarpsın */
.uygulama-bedel { font-size: .72rem; color: var(--yazi-soluk); margin-top: 2px; }
.uygulama-bedel.bedelli { color: var(--sari, #f59e0b); font-weight: 600; }

/* Hesap sayfasının üst rozetleri */
.hesap-rozetleri { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.hesap-rozetleri span {
  display: flex; flex-direction: column; min-width: 110px;
  padding: 8px 12px; border: 1px solid var(--cizgi); border-radius: 10px;
  background: var(--yuzey); font-weight: 600;
}
.hesap-rozetleri small { color: var(--yazi-soluk); font-weight: 400; font-size: .7rem; }

/* ------------------------------------------------- çizgi simgeler (menü)
   Metin karakteri yerine SVG: yazı tipine göre boyu değişmiyor, hizası
   kaymıyor ve seçili satırda yazıyla aynı renge dönüyor. */
.sim { width: 17px; height: 17px; flex: 0 0 17px; margin-right: 9px;
       opacity: .85; }
.ust-menu a .sim, .grup-menu > summary .sim { margin-right: 7px; }
a.etkin .sim, .hesap-liste a.etkin .sim { opacity: 1; }
.hesap-liste a, .hesap-cikis { gap: 0; }
/* Porego'da çıkış kırmızı — yanlışlıkla basılan tek satır o. */
.hesap-cikis { color: var(--kirmizi); }
.hesap-cikis .sim { opacity: .9; }
.hesap-basi small { word-break: break-all; }

/* Satır içi "İşlem Yap" menüsü (Porego'daki gibi) */
.satir-menu { position: relative; display: inline-block; }
.satir-menu > summary { list-style: none; cursor: pointer; }
.satir-menu > summary::-webkit-details-marker { display: none; }
.satir-liste {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 40;
  min-width: 190px; padding: 6px;
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.4);
}
.satir-liste a, .satir-liste button {
  display: block; width: 100%; padding: 7px 10px; border: 0;
  border-radius: 7px; background: transparent; color: var(--yazi);
  font: inherit; text-align: left; text-decoration: none; cursor: pointer;
  white-space: nowrap;
}
.satir-liste a:hover, .satir-liste button:hover { background: var(--yuzey-2); }
.satir-liste .tehlike-satir { color: var(--kirmizi); }

/* ------------------------------------------------------- öngörü şeridi
   Panelin üstünde, rakamı cümleye çeviren satırlar. Renk sadece vurgudur;
   bilgi yazının kendisinde (renk körü kullanıcı da okuyabilmeli). */
.ongoru-serit { display: grid; gap: 8px; margin-bottom: 16px; }
.ongoru {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;
  padding: 10px 14px; border-radius: 10px;
  border: 1px solid var(--cizgi); background: var(--yuzey);
  border-left-width: 3px;
}
.ongoru strong { font-size: .85rem; }
.ongoru span { color: var(--yazi-soluk); font-size: .88rem; }
.ongoru.iyi   { border-left-color: #22c55e; }
.ongoru.uyari { border-left-color: #f59e0b; }
.ongoru.kotu  { border-left-color: #ef4444; }
.ongoru.bilgi { border-left-color: var(--vurgu); }

/* Panel üstündeki kısayollar */
.kisayollar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.kisayol {
  display: flex; flex-direction: column; min-width: 130px;
  padding: 10px 14px; border: 1px solid var(--cizgi); border-radius: 12px;
  background: var(--yuzey); color: var(--yazi); text-decoration: none;
}
.kisayol:hover { border-color: var(--vurgu); }
.kisayol strong { font-size: 1.15rem; }
.kisayol span { color: var(--yazi-soluk); font-size: .78rem; }
.sayfa-basi h1 small { font-size: .8rem; font-weight: 400; margin-left: 8px; }

/* Takip sayfası hazır renkleri */
.hazir-renkler { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.renk-dugme {
  width: 26px; height: 26px; border-radius: 50%; cursor: pointer;
  border: 2px solid var(--cizgi);
}
.renk-dugme:hover { border-color: var(--yazi); }

/* ------------------------------------------- sipariş durumu kartları
   Porego'nun "SİPARİŞ DURUMU" şeridi: her durum hem sayaç hem filtre. */
.durum-kartlari {
  border: 1px solid var(--cizgi); border-radius: 14px;
  padding: 12px 14px 14px; margin-bottom: 14px; background: var(--yuzey);
}
.durum-basligi {
  text-align: center; font-size: .7rem; letter-spacing: .12em;
  color: var(--yazi-soluk); margin-bottom: 10px;
}
.durum-kutulari {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}
.durum-kutu {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 14px 10px; border: 1px solid var(--cizgi); border-radius: 12px;
  color: var(--yazi); text-decoration: none; background: var(--yuzey-2);
}
.durum-kutu strong { font-size: 1.6rem; line-height: 1.1; }
.durum-kutu span:last-child { color: var(--yazi-soluk); font-size: .78rem; }
.durum-kutu:hover { border-color: var(--vurgu); }
.durum-kutu.etkin { border-color: var(--vurgu); box-shadow: inset 0 -3px 0 var(--vurgu); }
/* Sayısı sıfır olan kutu söner; seçiliyken yine tam parlaklıkta olur
   (o filtreye bakıyorsan boş olduğunu net görmelisin). */
.durum-kutu.bos:not(.etkin) { opacity: .55; }
.durum-kutu.bos:not(.etkin) strong { color: var(--yazi-soluk); }
.durum-kutu.bos:not(.etkin):hover { opacity: 1; }
.durum-simge {
  width: 34px; height: 34px; display: grid; place-items: center;
  border-radius: 9px; background: var(--yuzey); font-size: 15px; margin-bottom: 4px;
}
.durum-kutu.d-yeni .durum-simge        { background: rgba(139,92,246,.18); }
.durum-kutu.d-hazirlaniyor .durum-simge{ background: rgba(245,158,11,.18); }
.durum-kutu.d-yolda .durum-simge       { background: rgba(59,130,246,.18); }
.durum-kutu.d-teslim .durum-simge      { background: rgba(34,197,94,.18); }
.durum-kutu.d-iade .durum-simge        { background: rgba(239,68,68,.16); }

/* --------------------------------------------- sipariş satırı detayları
   Porego'daki DETAYLAR sütunu: adres, tutar ve not birer simge. Tabloyu
   dar tutuyor; üstüne gelince tam metni yazıyor. */
.detay-simgeler { white-space: nowrap; }
.detay-simge {
  display: inline-grid; place-items: center; width: 26px; height: 26px;
  margin-right: 4px; border-radius: 7px; text-decoration: none;
  border: 1px solid var(--cizgi); background: var(--yuzey-2);
  color: var(--yazi-soluk); font-size: 13px;
}
.detay-simge:hover { border-color: var(--vurgu); color: var(--vurgu); }
.detay-simge.para  { background: rgba(245,158,11,.14); color: #f59e0b; }
.detay-simge.not   { background: rgba(59,130,246,.14); color: var(--vurgu); }
.detay-simge.eksik { background: rgba(239,68,68,.16); color: #ef4444; }
.wa-simge {
  display: inline-grid; place-items: center; width: 18px; height: 18px;
  margin-left: 4px; border-radius: 50%; text-decoration: none;
  background: rgba(34,197,94,.18); color: #22c55e; font-size: 11px;
}
.gorunum-baslik { color: var(--yazi-soluk); font-size: .78rem; margin-right: 4px; }

/* ---- Rapor süzgeç paneli -------------------------------------------- */
/* Porego'nun "Filtreler" kutusu: hızlı tarih düğmeleri üstte, alanlar
   ızgarada, durum onay kutuları altta. Dar ekranda ızgara tek sütuna
   düşüyor — telefonda yan yana sıkışmış üç kutu kullanılmıyor. */
.filtre-panel { display: flex; flex-direction: column; gap: 14px; }
.hizli-aralik { display: flex; flex-wrap: wrap; gap: 6px; }
.filtre-izgara {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.filtre-izgara label {
  display: flex; flex-direction: column; gap: 4px;
  font-size: 13px; color: var(--yazi-soluk);
}
.filtre-izgara input, .filtre-izgara select { width: 100%; }
.durum-secim {
  border: 1px solid var(--cizgi); border-radius: 10px; padding: 10px 14px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
}
.durum-secim legend { font-size: 13px; color: var(--yazi-soluk); padding: 0 6px; }
.durum-secim .onay {
  display: flex; align-items: center; gap: 6px; font-size: 14px;
}
.filtre-eylem { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

/* Ürün kartındaki varyant listesi katlanıyor (Porego'daki gibi). */
.varyant-katlama { margin-top: 10px; }
.varyant-katlama > summary {
  display: inline-flex; align-items: center; gap: 6px;
  cursor: pointer; list-style: none; user-select: none;
}
.varyant-katlama > summary::-webkit-details-marker { display: none; }
.varyant-katlama[open] > summary { margin-bottom: 8px; }

/* Destek yazışması: firma solda, panel sağa kaçık — kimin yazdığı
   renkten değil, yerden de belli olsun (renk körü için). */
.mesaj-satiri {
  border: 1px solid var(--cizgi); border-radius: 10px;
  padding: 8px 12px; margin: 8px 0; max-width: 85%;
}
.mesaj-satiri.mesaj-panel {
  margin-left: auto; background: var(--yuzey-2);
}

/* Başabaş noktası olmayan ürün: reklam ne kadar iyi olursa olsun zarar.
   Renk tek başına yetmesin diye satırda ayrıca "yok" yazıyor —
   renk körü için renk bir bilgi taşıyıcısı değil. */
.pl-zarar td { background: rgba(239, 68, 68, .07); }


/* Sayfalama: liste kesildiğinde kaçıncı sayfada olduğun görünsün. */
.sayfalama {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 8px;
  padding: 10px 14px;
  border: 1px solid var(--cizgi);
  border-radius: 10px;
  background: var(--yuzey);
}
.sayfa-baglantilar { display: flex; gap: 8px; }


/* Takip numarası artık firmanın kendi sayfasına gidiyor: numarayı
   kopyalayıp sitede aratmak günde onlarca kez yapılan bir işti. */
.takip-baglanti {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .86em;
  color: var(--vurgu);
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}
.takip-baglanti:hover { text-decoration: none; opacity: .8; }


/* Geri arama saati: kutu dolu ama iş yapılmamış olmasın. */
.geri-arama { margin-top: 8px; }
.geri-arama > summary {
  cursor: pointer;
  font-size: .82rem;
  color: var(--yazi-soluk);
  list-style: none;
}
.geri-arama > summary::-webkit-details-marker { display: none; }
.geri-arama-secim {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid var(--cizgi);
  border-radius: 8px;
}
.geri-arama-secim input[type="datetime-local"] {
  font-size: .8rem;
  padding: 4px 6px;
}


/* ------------------------------------------------ stilsiz kalmış sınıflar
   Aşağıdakiler şablonlarda kullanılıyordu ama CSS'leri hiç yazılmamıştı:
   tarayıcı bilmediği sınıfı sessizce yok sayar, öğe çıplak kalır. Bu
   sınıfın en görünür örneği açılır menünün saydam çıkmasıydı. */

/* Aboneliğim: paket/kesilen/ödenen/borç kutuları yan yana dizilmeliydi. */
.ozet-izgara {
  display: grid; gap: 10px; margin-bottom: 16px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.ozet-kutu {
  background: var(--yuzey); border: 1px solid var(--cizgi);
  border-radius: 12px; padding: 12px 14px;
  display: flex; flex-direction: column; gap: 4px;
}
.ozet-kutu small { color: var(--yazi-soluk); font-size: 11.5px; }
.ozet-kutu strong { font-size: 18px; }
.ozet-kutu.kotu strong { color: var(--kirmizi); }

/* Kâr-Zarar: kutu içi başlık. */
.kutu-baslik {
  font-size: 12px; font-weight: 700; letter-spacing: .03em;
  color: var(--yazi-soluk); text-transform: uppercase; margin-bottom: 6px;
}

/* Markalarım: kart listesi ve kart başlığı. */
.kart-listesi { display: flex; flex-direction: column; gap: 10px; }
.kart-basi {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; flex-wrap: wrap;
}
.acilir { margin-top: 8px; }
.acilir > summary { cursor: pointer; color: var(--yazi-soluk); font-size: 12.5px; }

/* Tek kullanımlık yerleşim kancaları — görünürlüğü olan asgari kural. */
.fatura-satir { display: flex; justify-content: space-between; gap: 10px; }
.form-ayar { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
/* wrap + min-width:0 — "Gönderi Adresi" seçimi ve Kaydet düğmesi tek
   satırda 498 px sürüyordu (ekran 375) ve sayfayı yana itiyordu. Uzun
   depo adı seçeneği kutuyu şişiriyor; `min-width: 0` olmadan flex
   çocuğu içeriğinden dar olamıyor ve sarmak da işe yaramıyor. */
.magaza-kimlik { display: flex; align-items: center; gap: 8px;
                 flex-wrap: wrap; }
.magaza-kimlik > label { min-width: 0; }
.magaza-kimlik select { max-width: 100%; }
.kural-duzen { margin-top: 8px; }
.kalem-duzenle { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.zil { position: relative; }

/* Sipariş kartındaki yer ve desi satırı: ikisi yan yana, soluk. */
.yer, .desi { color: var(--yazi-soluk); font-size: 12px; }
/* "Tümü" durum simgesi — diğer durum simgeleriyle aynı ağırlıkta. */
.durum-simge.tumu { color: var(--yazi-soluk); }
/* Yardım sayfasının metin gövdesi: uzun metin dar ve okunaklı kalsın. */
.yardim-govde { max-width: 820px; line-height: 1.6; }


/* Bağlantı formunda etiket kutunun üstünde. Yalnız placeholder varken
   yazmaya başlayınca ipucu kayboluyordu: mağaza adresi "bağlantı adı"
   kutusuna yazıldı ve yanlış hiçbir yerde görünmedi. */
.alan-etiket {
  display: flex; flex-direction: column; gap: 3px;
  font-size: 12px; font-weight: 600; color: var(--yazi-soluk);
  margin-bottom: 10px;
}
.alan-etiket small { font-weight: 400; font-size: 11px; }
.alan-etiket input { margin-top: 2px; }

/* "en fazla" öneki: rakamın kendisi kadar büyük olmasın, ama görülsün. */
.net-onek { font-size: .42em; font-weight: 600; color: var(--yazi-soluk); }

/* Alış tarifesi platformun maliyeti; satış alanlarından görsel olarak
   ayrılsın ki yanlış kutuya fiyat girilmesin. */
.alis-bolumu { border: 1px solid var(--cizgi); border-radius: 10px;
               padding: 12px; margin-top: 14px; background: var(--yuzey-2); }
.alis-bolumu h3 { margin: 0 0 6px; font-size: .95rem; }

/* Kayıt ekranındaki onay kutusu satırı: kutu ile metin yan yana dursun,
   metin uzayınca kutunun altına kaymasın. */
.onay-satiri { display: flex; gap: 8px; align-items: flex-start;
               font-size: 13px; line-height: 1.5; }
.onay-satiri input { width: auto; margin-top: 2px; }

/* --------------------------------------------------- sipariş onay sayfası
   Müşterinin telefonunda açılan tek sayfa. Dar ve ortada: telefonda
   okunan bir sayfa, panel genişliğinde kolon istemiyor. */
.onay-sayfa { max-width: 460px; margin: 0 auto; padding: 48px 20px; }
.onay-sayfa h1 { font-size: 26px; line-height: 1.2; margin: 6px 0 12px;
                 letter-spacing: -.02em; }
.onay-kutu { border: 1px solid var(--cizgi); border-radius: 12px;
             background: var(--yuzey); padding: 14px 16px; margin: 20px 0; }
.onay-kutu .onay-satir {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 7px 0; font-size: 14px; color: var(--yazi-soluk);
  border-top: 1px solid var(--cizgi);
}
.onay-kutu .onay-satir:first-child { border-top: 0; }
.onay-kutu .onay-satir strong { color: var(--yazi); }
/* İki düğme alt alta ve tam genişlikte: parmakla basılan sayfa. */
.onay-dugmeler { display: grid; gap: 10px; }
.onay-dugmeler .dugme { width: 100%; text-align: center; }

/* ------------------------------------------------------------ TANITIM
   Panelin dışarıya bakan yüzü. Panelin kendi renklerini kullanıyor:
   müşteri tanıtımdan panele geçince aynı yerde olduğunu anlasın. */
/* Tanıtım sayfası panelin temasına UYMAZ: her ziyaretçide aynı görünür.
   Porego'nun tanıtımı da beyaz zeminde, koyu şeritlerle kurulu. Panele
   giren kişi kendi temasını seçer; tanıtıma gelen kişi bir sayfa görür,
   ayar ekranı değil. */
.tanitim-govde,
.giris-govde,
.takip-govde {
  --zemin:      #ffffff;
  --yuzey:      #ffffff;
  --yuzey-2:    #f7f9fc;
  --cizgi:      #e3e9f2;
  --yazi:       #101828;
  --yazi-soluk: #5a6a85;
  --vurgu:      #2563eb;
  --yesil:      #16a34a;
  --sari:       #d97706;
  --kirmizi:    #dc2626;
  --mor:        #7c3aed;
  /* Koyu şeritlerin rengi: panelin kendi koyu yüzeyi. Porego kendi
     markasının yeşilini kullanıyor; biz kendi rengimizi kullanıyoruz —
     kurgu aynı, marka bizim. */
  --koyu-serit: #101828;
  background: var(--zemin); color: var(--yazi); margin: 0;
}
/* Porego'nun tanıtımında üst şerit yuvarlak köşeli, sayfanın üstünde
   YÜZEN bir çubuk — sayfa kayınca içerik altından geçiyor. */
.tanitim-serit { display: flex; align-items: center; gap: 24px;
                 padding: 14px 24px; margin: 14px auto 0; max-width: 1180px;
                 border: 1px solid var(--cizgi); border-radius: 999px;
                 position: sticky; top: 14px; z-index: 5; flex-wrap: wrap;
                 background: rgba(255,255,255,.88);
                 backdrop-filter: blur(10px);
                 box-shadow: 0 6px 24px rgba(16,24,40,.06); }
.tanitim-marka { font-size: 20px; font-weight: 700; color: var(--yazi);
                 text-decoration: none; letter-spacing: -0.02em; }
.tanitim-menu { display: flex; gap: 20px; margin-right: auto; flex-wrap: wrap; }
.tanitim-menu a { color: var(--yazi-soluk); text-decoration: none; font-size: 14px; }
.tanitim-menu a:hover { color: var(--yazi); }
.tanitim-eylem { display: flex; gap: 10px; flex-wrap: wrap;
                 justify-content: center; }
/* Düğmeler bağlantı olarak yazıldığı için altı çizili çıkıyordu. */
.tanitim-eylem .dugme { text-decoration: none; }
/* Kahraman bölümünde iki düğme YAN YANA dursun: `genis` sınıfı onları
   tam genişliğe çekip alt alta diziyordu. */
.tanitim-hero .dugme.genis,
.tanitim-kapanis .dugme.genis { width: auto; min-width: 200px; }

/* Hero iki sütun: solda söz, sağda bağlantı şeması. Tek sütunda sayfa
   "sade" duruyordu; ekranın sağ yarısı boştu. */
.tanitim-hero { padding: 72px 32px 56px; max-width: 1080px; margin: 0 auto;
                display: grid; gap: 48px; align-items: center;
                grid-template-columns: 1.05fr .95fr; }
.tanitim-hero h1 { font-size: 44px; line-height: 1.1; margin: 0 0 16px;
                   letter-spacing: -0.03em; }
/* İki renkli başlık — Porego'nun tanıtımında da böyle: cümlenin vurgulu
   yarısı renkli. */
.tanitim-hero h1 em, .tanitim-blok h2 em { font-style: normal;
                                           color: var(--vurgu); }
.tanitim-alt { font-size: 17px; line-height: 1.6; color: var(--yazi-soluk);
               margin: 0 0 28px; }
.tanitim-hero .tanitim-eylem { justify-content: flex-start; }
/* Hero'nun sol sütunu: dar ekranda şemanın üstüne geçiyor. */
.tanitim-hero-soz { min-width: 0; }
.tanitim-rozetler { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }

/* Mağaza sistemleri → panel → kargo firmaları. Tamamı tek SVG: kutular
   ve bağlantı telleri aynı koordinat düzleminde olunca uçlar her ekran
   genişliğinde tam yerinde duruyor. */
.sema-cizim { width: 100%; height: auto; display: block; overflow: visible; }
.sema-cizim .sema-baslik {
  font-size: 11px; letter-spacing: .16em; fill: var(--yazi-soluk);
  font-weight: 600;
}
.sema-cizim .sema-kutu rect {
  fill: var(--yuzey); stroke: var(--cizgi); stroke-width: 1;
}
.sema-cizim .sema-kutu text {
  font-size: 14px; fill: var(--yazi-soluk); dominant-baseline: middle;
}
.sema-cizim .sema-bagli rect {
  stroke: color-mix(in srgb, var(--yesil) 55%, var(--cizgi));
  fill: color-mix(in srgb, var(--yesil) 7%, var(--yuzey));
}
.sema-cizim .sema-bagli text { fill: var(--yazi); }
.sema-cizim .sema-isaret { fill: var(--yesil); font-size: 13px;
                           text-anchor: end; }
/* Merkez: panelin kendi mor-mavi geçişi. */
.sema-cizim .sema-merkez rect { fill: url(#merkez-renk); stroke: none; }
/* Merkezin altındaki yumuşak ışık: kutular beyaz zeminde dururken
   ortadaki renk tek başına "asılı" duruyordu. */
.sema-cizim .sema-merkez {
  filter: drop-shadow(0 10px 22px rgba(79, 125, 246, .28));
}
.sema-cizim .sema-merkez text {
  fill: #fff; font-size: 17px; font-weight: 800; text-anchor: middle;
  letter-spacing: -.02em;
}
/* Bağlantı telleri: kesikli ve AKIYOR — duran çizgi "bağlı" demiyor,
   "çizilmiş" diyor. Hareketi kapatana saygı: `prefers-reduced-motion`
   açıkken akış duruyor, çizgi yerinde kalıyor. */
.sema-cizim .sema-tel {
  fill: none; stroke: var(--cizgi); stroke-width: 1.5;
  stroke-dasharray: 5 7; stroke-linecap: round;
  animation: tel-ak 2.4s linear infinite;
}
.sema-cizim .sema-tel-bagli {
  stroke: color-mix(in srgb, var(--yesil) 60%, var(--cizgi));
}
@keyframes tel-ak { to { stroke-dashoffset: -24; } }
@media (prefers-reduced-motion: reduce) {
  .sema-cizim .sema-tel { animation: none; }
}

/* Bölüm etiketi ve koyu şerit: uzun sayfada göz nerede olduğunu
   kaybediyordu. */
.tanitim-etiket { font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
                  color: var(--yazi-soluk); margin: 0 0 8px; }
/* Şerit sayfanın tamamını kaplasın; içerik yine 1080'de dursun.
   `.tanitim-blok` de max-width veriyor, bu yüzden iki sınıf birden
   yazıldı — yoksa dosyada sonra gelen kural kazanıyor ve şerit sayfanın
   ortasında dar bir kutu gibi duruyordu. */
.tanitim-blok.tanitim-koyu { background: var(--koyu-serit); max-width: none;
                             padding-left: 0; padding-right: 0;
                             color: #eef2f9; }
.tanitim-koyu h2 { color: #ffffff; }
.tanitim-koyu .tanitim-etiket { color: #9fb0c9; }
.tanitim-koyu .tanitim-aciklama { color: #c3cddc; }
.tanitim-koyu .tanitim-kart { background: rgba(255,255,255,.05);
                              border-color: rgba(255,255,255,.12); }
.tanitim-koyu .tanitim-kart p { color: #c3cddc; }
.tanitim-koyu .tanitim-kart strong { color: #ffffff; }
.tanitim-koyu .tablo { color: #eef2f9; }
.tanitim-koyu .tablo th { color: #9fb0c9; border-color: rgba(255,255,255,.14); }
.tanitim-koyu .tablo td { border-color: rgba(255,255,255,.08); }
/* Açık gri şerit — Porego'da uygulamalar bölümü böyle. */
.tanitim-blok.tanitim-gri { background: var(--yuzey-2); max-width: none;
                            padding-left: 0; padding-right: 0; }
.tanitim-blok.tanitim-gri > * { max-width: 1080px; margin-left: auto;
                                margin-right: auto; padding-left: 32px;
                                padding-right: 32px; }
.tanitim-blok.tanitim-koyu > * { max-width: 1080px; margin-left: auto;
                                 margin-right: auto; padding-left: 32px;
                                 padding-right: 32px; }

/* "Neden Bahngo?" bölümü — Porego'daki altı kutunun karşılığı. */
.neden-izgara { display: grid; gap: 18px; margin-top: 8px;
                grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.neden-kutu strong { display: block; font-size: 15px; margin-bottom: 6px; }
.neden-kutu p { margin: 0; line-height: 1.55; font-size: 13.5px; }

/* Panelin şematik çizimi — Porego'nun aynı bölümünde tarayıcı
   çerçevesi içinde bir sipariş ekranı var, içindeki isimler ve rakamlar
   uydurma. Bizde düzen aynı, HÜCRELER BOŞ: sütun başlıkları, süzgeç
   rozetleri ve durum etiketleri gerçek; satırların içi şerit. */
.panel-cizim { border-radius: 16px; overflow: hidden; margin-top: 24px;
               border: 1px solid rgba(255,255,255,.12);
               background: #0b1220;
               box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.cizim-cerceve { display: flex; align-items: center; gap: 8px;
                 padding: 11px 14px; background: rgba(255,255,255,.06);
                 border-bottom: 1px solid rgba(255,255,255,.08); }
.panel-cizim-nokta { width: 10px; height: 10px; border-radius: 50%;
                     background: rgba(255,255,255,.22); flex: none; }
.cizim-adres { flex: 1; margin-left: 8px; font-size: 12px; color: #9fb0c9;
               background: rgba(255,255,255,.05); border-radius: 999px;
               padding: 5px 12px; }
.cizim-canli { font-size: 11.5px; color: #4ade80; }
.cizim-canli::before { content: "● "; }

.cizim-govde { display: grid; grid-template-columns: 52px 1fr; }
.cizim-yan { display: flex; flex-direction: column; align-items: center;
             gap: 12px; padding: 14px 0;
             border-right: 1px solid rgba(255,255,255,.07); }
.cizim-yan-marka { width: 28px; height: 28px; border-radius: 9px;
                   display: grid; place-items: center; font-size: 13px;
                   font-weight: 800; color: #fff;
                   background: linear-gradient(135deg, #4f7df6, #8b5cf6); }
.cizim-yan i { width: 22px; height: 22px; border-radius: 7px; display: block;
               background: rgba(255,255,255,.08); }
.cizim-yan i.etkin { background: rgba(79,125,246,.45); }

.cizim-icerik { padding: 16px; display: grid; gap: 14px; }
.cizim-kartlar { display: grid; gap: 10px;
                 grid-template-columns: repeat(4, 1fr); }
.cizim-kart { --kart: #94a3b8; border-radius: 12px; padding: 12px;
              background: rgba(255,255,255,.05);
              border: 1px solid rgba(255,255,255,.07); }
.cizim-kart > span { font-size: 11px; color: #9fb0c9; }
.cizim-sayi { height: 18px; width: 58%; border-radius: 6px; margin-top: 10px;
              background: color-mix(in srgb, var(--kart) 60%, rgba(255,255,255,.2)); }
.cizim-alt { height: 7px; width: 40%; border-radius: 4px; margin-top: 8px;
             background: rgba(255,255,255,.12); }

.cizim-satir-basi { display: flex; align-items: center; gap: 10px;
                    margin-top: 2px; }
.cizim-satir-basi strong { color: #fff; font-size: 14px; margin-right: auto; }
.cizim-dugme { font-size: 11.5px; color: #fff; border-radius: 8px;
               padding: 6px 12px; background: #2f6bf0; }
.cizim-dugme.sade { background: rgba(255,255,255,.08); color: #cfd8e6; }

.cizim-rozetler { display: flex; gap: 8px; flex-wrap: wrap; }
.cizim-rozet-etiket { --kart: #64748b; font-size: 11.5px; border-radius: 999px;
                      padding: 5px 12px;
                      color: color-mix(in srgb, var(--kart) 75%, #ffffff);
                      background: color-mix(in srgb, var(--kart) 20%, transparent);
                      border: 1px solid color-mix(in srgb, var(--kart) 40%, transparent); }

.cizim-tablo { border-radius: 12px; overflow: hidden;
               border: 1px solid rgba(255,255,255,.07); }
.cizim-tablo-basi, .cizim-tablo-satiri {
  display: grid; grid-template-columns: 1fr 1.2fr 1.4fr .8fr .8fr 1fr;
  gap: 12px; align-items: center; padding: 10px 14px;
}
.cizim-tablo-basi { background: rgba(255,255,255,.05); }
.cizim-tablo-basi span { font-size: 10.5px; letter-spacing: .08em;
                         text-transform: uppercase; color: #8496b0; }
.cizim-tablo-satiri { border-top: 1px solid rgba(255,255,255,.06); }
.cizim-hucre { height: 9px; border-radius: 5px; display: block;
               background: rgba(255,255,255,.14); }
.cizim-durum { --kart: #94a3b8; font-size: 11px; border-radius: 999px;
               padding: 4px 10px; text-align: center;
               color: color-mix(in srgb, var(--kart) 78%, #ffffff);
               background: color-mix(in srgb, var(--kart) 20%, transparent); }

/* Dar ekranda tablo üç sütuna iner: sipariş, müşteri ve DURUM. Ürün,
   tutar ve kargo sütunları gizleniyor — durum en çok bakılan sütun,
   gizlenecek son şey odur. */
@media (max-width: 860px) {
  .cizim-kartlar { grid-template-columns: repeat(2, 1fr); }
  .cizim-tablo-basi, .cizim-tablo-satiri {
    grid-template-columns: 1fr 1.2fr 1fr; }
  .cizim-tablo-basi span:nth-child(3),
  .cizim-tablo-basi span:nth-child(4),
  .cizim-tablo-basi span:nth-child(5),
  .cizim-tablo-satiri > *:nth-child(3),
  .cizim-tablo-satiri > *:nth-child(4),
  .cizim-tablo-satiri > *:nth-child(5) { display: none; }
}

/* Shopify tek-tık bağlama kutusu: elle kurulum kartlarının üstünde
   duruyor ve ayrı görünsün diye hafif vurgulu. Amaç, gözün önce buraya
   düşmesi — elle belirteç yapıştırma yolu son çare. */
.shopify-hizli { border-color: color-mix(in srgb, var(--vurgu) 35%, var(--cizgi)); }
.shopify-hizli .satir-form { margin-top: 10px; }

/* Bölüm başlığı: kartların üstünde ince bir ayraç. Başlık kendi başına
   durmasın diye sağına sayfa sonuna kadar uzanan bir çizgi çekiliyor —
   Porego'daki düzen de bu; göz başlığı bir "raf" gibi okuyor. */
.uygulama-bolum, .tanitim-bolum-ad {
  display: flex; align-items: center; gap: 14px;
  margin: 26px 0 12px; font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--yazi-soluk);
}
.uygulama-bolum::after, .tanitim-bolum-ad::after {
  content: ""; flex: 1; height: 1px; background: var(--cizgi);
}
/* İlk başlığın üstündeki boşluk fazlaydı: başlıktan önce zaten sayfa
   başlığı duruyor. */
.uygulama-bolum:first-of-type, .tanitim-bolum-ad:first-of-type {
  margin-top: 6px;
}

/* ---- Canlanan çizimler (#canli) --------------------------------------
   Porego'da "video gibi" duran bölümlerin karşılığı. Burada gerçekten
   video YOK: hareketin tamamı CSS. Bir video dosyası koymak demek, her
   ziyaretçiye megabaytlarca indirtmek ve o dosyayı güncel tutmak
   demekti; panel değiştiğinde çizim de değişsin diye hareket HTML'den
   çıkıyor.

   Canlanma SONSUZ döngü değil, uzun bir döngü: gözün takıldığı yerde
   sürekli kıpırdayan bir ekran okumayı bozuyor. Her sahne bir kez
   oynayıp son hâlinde bekliyor, sonra baştan alıyor. */
.canli-izgara { display: grid; gap: 18px;
                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.canli-kart { background: var(--yuzey); border: 1px solid var(--cizgi);
              border-radius: 18px; padding: 22px; display: flex;
              flex-direction: column; gap: 8px; }
.canli-rozet { align-self: flex-start; font-size: 11px; letter-spacing: .08em;
               text-transform: uppercase; font-weight: 700; padding: 5px 11px;
               border-radius: 999px; color: var(--vurgu);
               background: color-mix(in srgb, var(--vurgu) 12%, transparent); }
.canli-kart h3 { margin: 6px 0 0; font-size: 18px; letter-spacing: -.01em; }
.canli-kart > p { margin: 0; font-size: 14px; line-height: 1.6;
                  color: var(--yazi-soluk); }

/* Sahne: çizimin içinde durduğu koyu kutu. Panelin kendi koyu yüzüyle
   aynı olsun diye zemin sabit; tanıtım açık temada olsa da çizim
   "panelin içi" gibi görünmeli. */
/* --gecikme her satırın sırasını belirliyor ve HTML'den geliyor
   (style="--gecikme: 1.1s"). Varsayılanı BURADA duruyor: değişken
   unutulursa satır kaybolmasın, sırası başa gelsin. */
/* flex:1 — üç kart yan yana dururken çizim kutuları da aynı boyda
   bitsin. Aksi hâlde kısa çizimin altında boşluk kalıyor ve kartlar
   yamuk görünüyordu. */
.canli-sahne { --gecikme: 0s; flex: 1;
               margin-top: 14px; background: #0f172a; border-radius: 14px;
               padding: 14px; display: grid; gap: 9px; min-height: 172px;
               align-content: center; }

/* 1 — Sipariş satırları tek tek düşer. */
.sahne-satir { display: grid; align-items: center; gap: 9px;
               grid-template-columns: 14px 1fr auto;
               background: rgba(255,255,255,.05); border-radius: 9px;
               padding: 9px 10px; opacity: 0;
               animation: sahne-dus .5s ease-out var(--gecikme, 0s) forwards,
                          sahne-don 9s linear var(--gecikme, 0s) infinite; }
.sahne-kare { width: 14px; height: 14px; border-radius: 4px;
              border: 1.5px solid rgba(255,255,255,.35); }
.sahne-cizgi { height: 8px; border-radius: 5px;
               background: rgba(255,255,255,.18); }
.sahne-durum { --kart: #94a3b8; font-size: 10.5px; font-weight: 600;
               border-radius: 999px; padding: 3px 9px; white-space: nowrap;
               color: color-mix(in srgb, var(--kart) 80%, #ffffff);
               background: color-mix(in srgb, var(--kart) 22%, transparent); }

/* Seçim şeridi: kaç sipariş seçili ve toplu kargola düğmesi. Rakam
   "2" bir iddia değil, seçim sayacı — uydurma müşteri rakamı değil. */
.sahne-serit { display: flex; align-items: center; gap: 9px; margin-top: 2px;
               background: rgba(59,130,246,.14); border-radius: 10px;
               padding: 9px 11px; font-size: 12px; color: #cbd5e1; opacity: 0;
               animation: sahne-dus .5s ease-out var(--gecikme, 0s) forwards,
                          sahne-don 9s linear var(--gecikme, 0s) infinite; }
.sahne-sayi { display: grid; place-items: center; width: 22px; height: 22px;
              border-radius: 7px; background: #3b82f6; color: #ffffff;
              font-weight: 700; font-size: 12px; }
.sahne-dugme { margin-left: auto; background: #3b82f6; color: #ffffff;
               font-weight: 600; font-size: 11.5px; border-radius: 8px;
               padding: 6px 12px; }

/* 2 — Takip adımları sırayla yanar. Sönük başlar, sırası gelince
   rengini alır ve "mesaj gitti" notu belirir. */
.sahne-adim { display: grid; align-items: center; gap: 10px;
              grid-template-columns: 10px 1fr auto; font-size: 12.5px;
              color: #64748b;
              animation: sahne-yan 4.8s ease-in-out var(--gecikme, 0s) infinite; }
.sahne-nokta { width: 10px; height: 10px; border-radius: 50%;
               background: currentColor; }
.sahne-ad { color: inherit; }
.sahne-not { font-size: 10.5px; font-weight: 600; border-radius: 999px;
             padding: 3px 9px; color: #86efac; background: rgba(34,197,94,.16);
             opacity: 0;
             animation: sahne-not 4.8s ease-in-out var(--gecikme, 0s) infinite; }

/* 3 — Kapıdaki paranın üç durağı. Ray üstünde akan bir ışık, altında
   sırayla yanan duraklar. */
.sahne-para { align-content: center; gap: 16px; }
.sahne-ray { height: 4px; border-radius: 999px; position: relative;
             background: rgba(255,255,255,.12); overflow: hidden; }
.sahne-akis { position: absolute; inset: 0 auto 0 0; width: 34%;
              border-radius: 999px;
              background: linear-gradient(90deg, transparent, #22c55e);
              animation: sahne-ak 4.8s ease-in-out infinite; }
.sahne-duraklar { display: grid; grid-template-columns: repeat(3, 1fr);
                  gap: 8px; text-align: center; }
.sahne-durak { font-size: 11.5px; font-weight: 600; border-radius: 9px;
               padding: 8px 6px; color: #64748b;
               background: rgba(255,255,255,.05);
               animation: sahne-durak 4.8s ease-in-out var(--gecikme, 0s) infinite; }

/* 4 — Firma seçimi. Çubuk uzunlukları FİYAT DEĞİL, birbirine göre
   büyüklük. Rakam yazmıyoruz çünkü anlaşmalar bağlanmadı; ama "en kısa
   çubuk seçiliyor" fikri rakamsız da anlaşılıyor. */
.sahne-firma { display: grid; align-items: center; gap: 9px;
               grid-template-columns: 46px 1fr auto; opacity: 0;
               animation: sahne-dus .45s ease-out var(--gecikme, 0s) forwards; }
.sahne-oran { height: 8px; border-radius: 5px; overflow: hidden;
              background: rgba(255,255,255,.08); }
.sahne-oran i { display: block; height: 100%; border-radius: 5px;
                background: rgba(255,255,255,.22); }
.sahne-firma.secili .sahne-oran i { background: #22c55e; }
.sahne-isaret { font-size: 10.5px; font-weight: 700; border-radius: 999px;
                padding: 3px 9px; color: #86efac;
                background: rgba(34,197,94,.18); opacity: 0;
                animation: sahne-gec .5s ease-out 1.9s forwards; }

/* 5 — Kâr defteri. Kalemler tek tek düşer, en altta net satırı
   ayrı bir çizgiyle belirir: "bir sayı değil, defter". */
.sahne-defter { gap: 7px; }
.sahne-kalem { display: grid; align-items: center; gap: 9px;
               grid-template-columns: 14px 1fr auto; font-size: 12px;
               color: #94a3b8; opacity: 0;
               animation: sahne-dus .45s ease-out var(--gecikme, 0s) forwards; }
.sahne-isaretci { text-align: center; font-weight: 700; color: #64748b; }
.sahne-net { margin-top: 5px; padding-top: 9px; color: #e2e8f0;
             font-weight: 600;
             border-top: 1px solid rgba(255,255,255,.14); }
.sahne-net .sahne-isaretci { color: #22c55e; }
.sahne-net .sahne-cizgi { background: #22c55e; }

/* 6 — Bilinmeyen sıfır değildir. Tire GÖSTERİLİYOR, sıfır değil;
   yanında neyin eksik olduğu yazıyor. */
.sahne-bos { align-content: center; gap: 12px; }
.sahne-olcu { display: grid; align-items: center; gap: 10px;
              grid-template-columns: 46px 20px 1fr; font-size: 12.5px;
              color: #94a3b8; opacity: 0;
              animation: sahne-dus .45s ease-out var(--gecikme, 0s) forwards; }
.sahne-tire { font-size: 17px; font-weight: 700; color: #f59e0b;
              text-align: center; }
.sahne-uyari { font-size: 10.5px; font-weight: 600; border-radius: 999px;
               padding: 3px 9px; justify-self: start; color: #fcd34d;
               background: rgba(245,158,11,.16); }
.sahne-not-uzun { margin: 4px 0 0; font-size: 11.5px; line-height: 1.55;
                  color: #64748b; opacity: 0;
                  animation: sahne-gec .6s ease-out var(--gecikme, 0s) forwards; }
.sahne-not-uzun strong { color: #cbd5e1; }

@keyframes sahne-gec { from { opacity: 0; } to { opacity: 1; } }
@keyframes sahne-dus { from { opacity: 0; transform: translateY(10px); }
                       to   { opacity: 1; transform: none; } }
@keyframes sahne-don { 0%, 92% { opacity: 1; } 100% { opacity: 0; } }
@keyframes sahne-yan { 0%, 10% { color: #64748b; }
                       25%, 100% { color: #e2e8f0; } }
@keyframes sahne-not { 0%, 15% { opacity: 0; }
                       30%, 100% { opacity: 1; } }
@keyframes sahne-ak  { 0% { transform: translateX(-100%); }
                       70%, 100% { transform: translateX(300%); } }
@keyframes sahne-durak { 0%, 12% { color: #64748b;
                                   background: rgba(255,255,255,.05); }
                         28%, 100% { color: #bbf7d0;
                                     background: rgba(34,197,94,.16); } }

/* Hareketi kapatmış kullanıcıda çizim DURUR ama görünür kalır: animasyon
   iptal edilince opacity:0 ile başlayan satırlar kaybolacağı için burada
   elle görünür kılınıyor. Bilgi hareketin içinde saklı değil. */
@media (prefers-reduced-motion: reduce) {
  .sahne-satir, .sahne-serit, .sahne-adim, .sahne-not,
  .sahne-akis, .sahne-durak, .sahne-firma, .sahne-isaret,
  .sahne-kalem, .sahne-olcu, .sahne-not-uzun {
    animation: none; opacity: 1; }
  .sahne-adim { color: #e2e8f0; }
  .sahne-durak { color: #bbf7d0; background: rgba(34,197,94,.16); }
}

/* Yorum şeridi: yan yana kayan kartlar. Alt alta dizilince on yorum
   yarım sayfa kaplıyor ve altındaki bölümler görünmez oluyordu. */
.yorum-serit {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 340px);
  gap: 16px; overflow-x: auto; padding: 4px 4px 14px;
  scroll-snap-type: x mandatory; scrollbar-width: thin;
}
.yorum-serit > * { scroll-snap-align: start; }
/* Kaydırma çubuğu ince ve soluk: kartların önüne geçmesin. */
.yorum-serit::-webkit-scrollbar { height: 8px; }
.yorum-serit::-webkit-scrollbar-thumb { background: var(--cizgi);
                                        border-radius: 999px; }
.yorum-serit:focus-visible { outline: 2px solid var(--vurgu);
                             outline-offset: 4px; border-radius: 12px; }

/* Müşteri yorumu kartı. Tırnak işareti büyük ve soluk: sözün kime ait
   olduğu altında yazıyor, süs öne çıkmasın. */
.yorum-kart { margin: 0; position: relative; }
.yorum-kart blockquote { margin: 0 0 12px; font-size: 14.5px; line-height: 1.6;
                         color: var(--yazi); }
.yorum-kart blockquote::before { content: "\201C"; font-size: 34px;
                                 line-height: 0; vertical-align: -12px;
                                 color: var(--cizgi); margin-right: 4px; }
.yorum-kart figcaption { font-size: 13px; display: flex; gap: 8px;
                         align-items: baseline; flex-wrap: wrap; }

.tanitim-kapanis { text-align: center; padding: 64px 32px;
                   border-top: 1px solid var(--cizgi); }
.tanitim-kapanis h2 { font-size: 30px; margin: 0 0 10px; letter-spacing: -.02em; }
.tanitim-kapanis p { color: var(--yazi-soluk); margin: 0 0 22px; }

@media (max-width: 900px) {
  .tanitim-hero { grid-template-columns: 1fr; gap: 32px; }
}
.tanitim-rozetler span { font-size: 12px; color: var(--yazi-soluk);
                         border: 1px solid var(--cizgi); border-radius: 999px;
                         padding: 5px 12px; }

.tanitim-blok { padding: 48px 32px; max-width: 1080px; margin: 0 auto;
                border-top: 1px solid var(--cizgi); }
.tanitim-blok h2 { font-size: 26px; margin: 0 0 12px; letter-spacing: -0.02em; }
.tanitim-aciklama { color: var(--yazi-soluk); line-height: 1.6; max-width: 680px;
                    margin: 0 0 24px; }

.tanitim-kartlar { display: grid; gap: 16px;
                   grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.tanitim-kart { border: 1px solid var(--cizgi); border-radius: 12px;
                padding: 18px; background: var(--yuzey); }
.tanitim-kart p { color: var(--yazi-soluk); font-size: 13px; line-height: 1.55;
                  margin: 8px 0 0; }
/* Kartın simgesi panel kartlarındaki gibi renkli bir rozette. Düz
   glif, 16 kart yan yanayken hiçbir şey ayırt etmiyordu. */
.tanitim-kart { position: relative; }
.tanitim-simge { font-size: 16px; margin-bottom: 10px;
                 position: static; width: 32px; height: 32px; }

.tanitim-adimlar { counter-reset: adim; list-style: none; padding: 0;
                   display: grid; gap: 14px; max-width: 720px; }
.tanitim-adimlar li { padding-left: 44px; position: relative; line-height: 1.6;
                      color: var(--yazi-soluk); }
.tanitim-adimlar li strong { color: var(--yazi); }
/* Koyu şeritte yazı rengi ters çevrilir. Sayfa açık temalı olduğu için
   `--yazi` KOYU; koyu zeminde koyu yazı görünmez. Adım başlıkları
   ("Hesabını aç.") bu yüzden kaybolmuştu. */
.tanitim-koyu .tanitim-adimlar li { color: #c3cddc; }
.tanitim-koyu .tanitim-adimlar li strong { color: #ffffff; }
.tanitim-koyu .tanitim-sss summary { color: #ffffff; }
.tanitim-koyu .tanitim-sss details { background: rgba(255,255,255,.05);
                                     border-color: rgba(255,255,255,.12); }
.tanitim-koyu .tanitim-sss p { color: #c3cddc; }
.tanitim-koyu .not, .tanitim-koyu .soluk { color: #9fb0c9; }
.tanitim-koyu label { color: #c3cddc; }
.tanitim-koyu input, .tanitim-koyu select, .tanitim-koyu textarea {
  background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16);
  color: #ffffff;
}
.tanitim-adimlar li::before { counter-increment: adim; content: counter(adim);
                              position: absolute; left: 0; top: 0;
                              width: 28px; height: 28px; border-radius: 50%;
                              display: grid; place-items: center;
                              background: var(--vurgu); color: #fff;
                              font-size: 14px; font-weight: 600; }

/* Dip sayfa — Porego'daki gibi dört sütun. Açık gri zemin, üstünde
   ince bir çizgi; içerik 1080'de ortalı. */
.tanitim-dip { background: var(--yuzey-2); border-top: 1px solid var(--cizgi);
               color: var(--yazi-soluk); font-size: 13.5px;
               padding: 48px 32px 28px; }
.dip-izgara { max-width: 1080px; margin: 0 auto; display: grid; gap: 32px;
              grid-template-columns: 1.6fr 1fr 1fr 1fr; }
.dip-obek { display: flex; flex-direction: column; gap: 10px; }
.dip-obek h3 { font-size: 13px; color: var(--yazi); margin: 0 0 2px;
               letter-spacing: .01em; }
.dip-obek a { color: var(--yazi-soluk); text-decoration: none; }
.dip-obek a:hover { color: var(--vurgu); }
.dip-marka p { margin: 0; line-height: 1.6; max-width: 42ch; }
.dip-sirket { display: flex; flex-direction: column; gap: 3px;
              padding: 12px 14px; border: 1px solid var(--cizgi);
              border-radius: 10px; background: var(--yuzey);
              font-size: 12.5px; }
.dip-sirket strong { color: var(--yazi); }
.dip-not { font-size: 12.5px; }
.dip-alt { max-width: 1080px; margin: 28px auto 0; padding-top: 18px;
           border-top: 1px solid var(--cizgi); display: flex;
           justify-content: space-between; gap: 16px; flex-wrap: wrap;
           font-size: 12.5px; }
@media (max-width: 820px) {
  .dip-izgara { grid-template-columns: 1fr 1fr; }
  .dip-marka { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .tanitim-hero { padding: 48px 20px 32px; }
  .tanitim-hero h1 { font-size: 30px; }
  .tanitim-blok { padding: 36px 20px; }
}

.tanitim-sss { display: grid; gap: 8px; max-width: 760px; }
.tanitim-sss details { border: 1px solid var(--cizgi); border-radius: 10px;
                       padding: 12px 16px; background: var(--yuzey); }
.tanitim-sss summary { cursor: pointer; font-weight: 600; }
.tanitim-sss p { color: var(--yazi-soluk); line-height: 1.6; margin: 10px 0 0; }
