/* Mali Ofis ortak bileşenleri · kit sürümü 1 (docs/23 §5–§15).
   Kit dosyası: her üründe BAYT BAYT aynıdır; üründe düzenlenmez. Ürüne özgü stil ayrı dosyada, kitin belirteçleriyle yazılır.

   Yükleme:
     <html lang="tr" data-urun="z-raporu" data-tema="sistem">
     <link rel="stylesheet" href="mali-ofis-kit/belirtecler.css">
     <link rel="stylesheet" href="mali-ofis-kit/urun-renkleri.css">
     <link rel="stylesheet" href="mali-ofis-kit/bilesenler.css">
     <script src="mali-ofis-kit/bilesenler.js"></script>        (head içinde: tema ilk boyamadan önce uygulanır)
     <body class="mo-uygulama">

   Kurallar:
   - Renk yalnız belirteçlerden (--mo-*). Sabit renk yalnız ürün karesi kurallarında, --mo-urun ile birlikte (docs/23 §15).
   - Büyük harf: text-transform: uppercase Türkçe kuralını (i → İ, ı → I) ancak lang="tr" ile uygular. <html lang="tr"> şarttır;
     yoksa “Program” → “PROGRAM” doğru, “Bildirim” → “BILDIRIM” yanlış çıkar. Metni HTML'de cümle düzeninde yazın, CSS büyütsün.
   - Odak: 3 px --mo-odak halka (docs/23 §18). Hareket, prefers-reduced-motion: reduce iken kapanır.
   - Telefon kırılımı 900 px (--mo-kirilim-mobil). Medya sorgusu değişken okuyamaz; değer sorgularda 899.98px yazılıdır.
   - Adlandırma: blok .mo-ad, parça .mo-ad__parca, tür .mo-ad--tur. Her kalıbın örneği ornek.html'dedir. */

/* ---------- Türetilmiş belirteçler (yalnız kit belirteçlerinden) ---------- */
:root {
  --mo-ters-zemin: var(--mo-lacivert);   /* baş harf karesi */
  --mo-ters-metin: var(--mo-yuzey);      /* koyu zemin üstündeki metin: açık temada beyaz */
  --mo-karartma-opaklik: .4;             /* pencere ve çekmece arkası: lacivert %40 (docs/23 §14) */
}
:root[data-tema="koyu"] { --mo-ters-zemin: var(--mo-cizgi-guclu); --mo-ters-metin: var(--mo-metin); --mo-karartma-opaklik: .6; }
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) { --mo-ters-zemin: var(--mo-cizgi-guclu); --mo-ters-metin: var(--mo-metin); --mo-karartma-opaklik: .6; }
}

/* ---------- Temel ---------- */
.mo-uygulama {
  margin: 0; background: var(--mo-zemin); color: var(--mo-metin);
  font-family: var(--mo-yazi-arayuz); font-size: var(--mo-boy-govde); line-height: 1.5;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.mo-uygulama *, .mo-uygulama *::before, .mo-uygulama *::after,
[class^="mo-"], [class*=" mo-"] { box-sizing: border-box; }
[class^="mo-"][hidden], [class*=" mo-"][hidden] { display: none !important; }
.mo-uygulama :focus-visible,
[class^="mo-"]:focus-visible, [class*=" mo-"]:focus-visible { outline: 3px solid var(--mo-odak); outline-offset: 2px; }
.mo-gizli { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mo-mono, .mo-sayi { font-family: var(--mo-yazi-sayi); font-variant-numeric: tabular-nums; }
.mo-soluk { color: var(--mo-soluk); }
.mo-baglanti { color: var(--mo-baglanti); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* Çizgi simge (simgeler.json): 24×24, dolgusuz, çizgi 1,9. Menüde 20 px, düğmede 16–18 px (docs/23 §4). */
.mo-simge { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.mo-simge--16 { width: 16px; height: 16px; }
.mo-simge--18 { width: 18px; height: 18px; }
.mo-simge--40 { width: 40px; height: 40px; }

/* ---------- Ürün karesi (docs/23 §4) ---------- */
/* Açık kare: ürün renginde simge, açık zemin. Koyu temada urun-renkleri.css değerleri kendiliğinden döner. */
.mo-urun-simge { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: var(--mo-kose); background: var(--mo-urun-acik); color: var(--mo-urun); }
.mo-urun-simge > .mo-simge { width: 50%; height: 50%; } /* simgeler/<ürün>/simge.svg ile aynı oran: 56 karede 28 */
.mo-urun-simge--28 { width: 28px; height: 28px; border-radius: 8px; }
.mo-urun-simge--44 { width: 44px; height: 44px; border-radius: 12px; }
.mo-urun-simge--56 { width: 56px; height: 56px; border-radius: 15px; }
/* Dolu kare: ürün renginde zemin, beyaz simge (istisna: ürün kimliği, sabit renk burada serbest). Koyu temada --mo-urun açılır;
   simge o zaman ürünün koyu zemin rengini alır ki okunur kalsın. */
.mo-urun-simge--dolu { background: var(--mo-urun); color: #FFFFFF; }
:root[data-tema="koyu"] .mo-urun-simge--dolu { color: var(--mo-urun-acik); }
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) .mo-urun-simge--dolu { color: var(--mo-urun-acik); }
}

/* ---------- Kabuk (docs/23 §5.1) ---------- */
.mo-kabuk { display: grid; grid-template-columns: var(--mo-kenar-cubugu) minmax(0, 1fr); min-height: 100vh; background: var(--mo-zemin); }
.mo-kenar {
  position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; height: 100dvh;
  overflow-y: auto; overscroll-behavior: contain; background: var(--mo-yuzey); border-right: 1px solid var(--mo-cizgi);
}
.mo-ana { display: flex; flex-direction: column; min-width: 0; min-height: 100vh; }
.mo-icerik { flex: 1 0 auto; min-width: 0; padding: 28px 32px 40px; }

/* Marka alanı: resmî logo (koyu temada logo-koyu.svg), ürün satırı, altında çizgi (docs/23 §5.2). */
.mo-marka { display: grid; gap: 12px; padding: 16px 16px 14px; border-bottom: 1px solid var(--mo-cizgi); }
/* Resmî logo SVG'si sayfaya olduğu gibi gömülür (içerik bayt bayt aynı); <img> ya da arka planla kullanılırsa yazısı
   sayfanın yazı tiplerini alamaz. Boyu sarmalayıcı verir: marka alanında 232×58, giriş bandında 200×50; içindeki
   .mo-logo ve SVG %100. Sarmalayıcıyı MaliOfis.logoYerlestir(öğe) ya da boş [data-mo-logo] doldurur. */
.mo-marka__logo { display: block; width: 232px; max-width: 100%; height: 58px; }
.mo-logo { display: block; width: 100%; height: 100%; }
.mo-logo > svg { display: block; width: 100%; height: 100%; }
/* Temayla değişen logo: açık temada logo-acik, koyu temada logo-koyu. Giriş bandındaki koyu logo sabittir (sınıfsız). */
.mo-logo--koyu-temada { display: none; }
:root[data-tema="koyu"] .mo-logo--acik-temada { display: none; }
:root[data-tema="koyu"] .mo-logo--koyu-temada { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) .mo-logo--acik-temada { display: none; }
  :root:not([data-tema="acik"]) .mo-logo--koyu-temada { display: block; }
}
.mo-urun-satiri { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mo-urun-satiri__metin { display: grid; min-width: 0; line-height: 1.25; }
.mo-urun-satiri__ad { font-size: var(--mo-boy-menu); font-weight: 700; color: var(--mo-metin); }
.mo-urun-satiri__surum { font-size: var(--mo-boy-kucuk); color: var(--mo-soluk); }

/* Firma kartı: kartın tamamı düğmedir (docs/23 §7). */
.mo-firma-karti {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) 18px; align-items: center; gap: 10px;
  width: calc(100% - 24px); margin: 12px 12px 4px; padding: 8px 9px;
  background: var(--mo-yuzey-3); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose);
  color: var(--mo-metin); font: inherit; text-align: left; cursor: pointer;
}
.mo-firma-karti:hover { background: var(--mo-yuzey-2); border-color: var(--mo-cizgi-guclu); }
.mo-firma-karti__metin { display: grid; min-width: 0; line-height: 1.3; }
.mo-firma-karti__ad { font-size: var(--mo-boy-yardimci); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mo-firma-karti__vkn { font-family: var(--mo-yazi-sayi); font-size: 11.5px; color: var(--mo-soluk); }
.mo-firma-karti > .mo-simge { width: 18px; height: 18px; color: var(--mo-soluk); }
.mo-bas-harf {
  display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: var(--mo-kose-kucuk);
  background: var(--mo-ters-zemin); color: var(--mo-ters-metin); font-size: var(--mo-boy-kucuk); font-weight: 800; letter-spacing: .02em;
}
/* Şubesi olan ürün: firma kartının altında “Şube: Tüm şubeler” (docs/23 §7). */
.mo-sube { display: flex; align-items: center; gap: 8px; margin: 4px 12px; font-size: var(--mo-boy-yardimci); }
.mo-sube__etiket { flex: none; font-weight: 600; color: var(--mo-soluk); }
.mo-sube > .mo-girdi { flex: 1; min-width: 0; height: 32px; font-size: var(--mo-boy-yardimci); }

/* Menü (docs/23 §5.3). Grup adı HTML'de cümle düzeninde yazılır; büyük harfi CSS verir. */
.mo-menu { flex: 1 0 auto; padding: 4px 12px 12px; }
.mo-menu-grup { margin: 16px 12px 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; color: var(--mo-soluk); }
.mo-menu-liste { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.mo-menu-oge {
  display: flex; align-items: center; gap: 12px; width: 100%; height: 40px; padding: 0 12px;
  border: 0; border-radius: var(--mo-kose); background: transparent; color: var(--mo-metin-2);
  font: inherit; font-size: var(--mo-boy-menu); font-weight: 500; text-align: left; text-decoration: none; cursor: pointer;
}
.mo-menu-oge:hover { background: var(--mo-yuzey-2); color: var(--mo-metin); }
.mo-menu-oge[aria-current="page"] { background: var(--mo-secili-zemin); color: var(--mo-secili-metin); font-weight: 700; }
.mo-menu-oge__ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Yardım alanı: Kullanım kılavuzu, Sorun bildir, Mali Ofis destek (docs/23 §5.4, §9). */
.mo-yardim { display: grid; gap: 2px; padding: 8px 12px; border-top: 1px solid var(--mo-cizgi); }
.mo-yardim .mo-menu-oge { height: 36px; font-size: var(--mo-boy-govde); }
.mo-yardim .mo-menu-oge > .mo-simge { width: 18px; height: 18px; }

/* Kullanıcı kartı (yalnız web): baş harf, ad, rol; tıklayınca Hesabım / Çıkış. */
.mo-kullanici { position: relative; padding: 8px 12px 12px; border-top: 1px solid var(--mo-cizgi); }
.mo-kullanici__dugme {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px; border: 0; border-radius: var(--mo-kose);
  background: transparent; color: var(--mo-metin); font: inherit; text-align: left; cursor: pointer;
}
.mo-kullanici__dugme:hover, .mo-kullanici__dugme[aria-expanded="true"] { background: var(--mo-yuzey-2); }
.mo-kullanici__metin { display: grid; min-width: 0; line-height: 1.3; }
.mo-kullanici__ad { font-size: var(--mo-boy-yardimci); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mo-kullanici__rol { font-size: var(--mo-boy-kucuk); color: var(--mo-soluk); }
.mo-acilir-menu {
  position: absolute; left: 12px; right: 12px; bottom: calc(100% - 4px); z-index: 5; display: grid; gap: 2px; padding: 6px;
  background: var(--mo-yuzey); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose-kart); box-shadow: var(--mo-golge-pencere);
}
.mo-acilir-menu__oge {
  display: flex; align-items: center; gap: 10px; width: 100%; height: 36px; padding: 0 10px; border: 0; border-radius: var(--mo-kose-kucuk);
  background: transparent; color: var(--mo-metin); font: inherit; font-size: var(--mo-boy-govde); text-align: left; text-decoration: none; cursor: pointer;
}
.mo-acilir-menu__oge:hover { background: var(--mo-yuzey-2); }
.mo-acilir-menu__oge > .mo-simge { width: 18px; height: 18px; color: var(--mo-soluk); }

/* ---------- Sayfa başlığı ve kart (docs/23 §5.1) ---------- */
.mo-sayfa-basligi { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px 24px; margin: 0 0 24px; }
.mo-sayfa-basligi__metin { min-width: 0; }
.mo-sayfa-basligi__baslik { margin: 0; font-family: var(--mo-yazi-baslik); font-size: var(--mo-boy-sayfa-baslik); font-weight: 400; line-height: 1.15; letter-spacing: -.005em; color: var(--mo-metin); }
.mo-sayfa-basligi__alt { margin: 4px 0 0; font-size: var(--mo-boy-yardimci); color: var(--mo-soluk); }
.mo-sayfa-basligi__baslik[tabindex="-1"]:focus { outline: none; } /* sayfa geçişinde odak başlığa taşınır; başlık etkileşimli değil */
.mo-sayfa-basligi__islemler { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mo-kart { background: var(--mo-yuzey); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose-kart); box-shadow: var(--mo-golge-kart); padding: 20px 24px; }
.mo-kart__baslik { margin: 0 0 12px; font-size: var(--mo-boy-kart-baslik); font-weight: 700; line-height: 1.3; }
.mo-bolum-basligi { margin: 0 0 12px; font-size: var(--mo-boy-bolum-baslik); font-weight: 700; line-height: 1.25; }

/* ---------- Düğmeler (docs/23 §11) ---------- */
.mo-dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 36px; padding: 0 14px;
  border: 1px solid var(--mo-cizgi-guclu); border-radius: var(--mo-kose); background: var(--mo-yuzey); color: var(--mo-metin);
  font: inherit; font-size: var(--mo-boy-govde); font-weight: 600; line-height: 1; white-space: nowrap; text-decoration: none; cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, filter .15s ease;
}
.mo-dugme:hover { background: var(--mo-yuzey-2); }
.mo-dugme > .mo-simge { width: 16px; height: 16px; }
.mo-dugme--cizgi { background: var(--mo-yuzey); border-color: var(--mo-cizgi-guclu); color: var(--mo-metin); }
.mo-dugme--birincil { background: var(--mo-birincil); border-color: var(--mo-birincil); color: var(--mo-birincil-uzeri); }
.mo-dugme--birincil:hover { background: var(--mo-birincil-hover); border-color: var(--mo-birincil-hover); }
.mo-dugme--metin { padding: 0 8px; background: transparent; border-color: transparent; color: var(--mo-baglanti); }
.mo-dugme--metin:hover { background: var(--mo-yuzey-2); }
/* Tehlikeli: yalnız onay penceresinde. Metin açık temada beyaz; koyu temada zemin açıldığı için koyu (--mo-birincil-uzeri). */
.mo-dugme--tehlike { background: var(--mo-hata); border-color: var(--mo-hata); color: var(--mo-birincil-uzeri); }
.mo-dugme--tehlike:hover { background: var(--mo-hata); filter: brightness(.92); }
.mo-dugme--kucuk { height: 30px; padding: 0 10px; gap: 6px; font-size: var(--mo-boy-yardimci); }
.mo-dugme--simge { width: 36px; padding: 0; }
.mo-dugme--simge > .mo-simge { width: 18px; height: 18px; }
.mo-dugme--kucuk.mo-dugme--simge { width: 30px; }
.mo-dugme--tam { width: 100%; }
.mo-dugme:disabled, .mo-dugme[aria-disabled="true"] { opacity: .5; cursor: not-allowed; filter: none; }
label.mo-dugme:focus-within { outline: 3px solid var(--mo-odak); outline-offset: 2px; } /* dosya seçme düğmesi: gizli input odakta */
.mo-dugmeler { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* ---------- Formlar (docs/23 §11) ---------- */
.mo-form { display: grid; gap: 16px; }
.mo-form__not { margin: 0; font-size: var(--mo-boy-kucuk); color: var(--mo-soluk); }
.mo-form__satir { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 16px; }
.mo-form__alt { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.mo-alan { display: grid; align-content: start; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.mo-alan__etiket { padding: 0; font-size: var(--mo-boy-yardimci); font-weight: 600; color: var(--mo-metin); }
.mo-alan__zorunlu { margin-left: 2px; color: var(--mo-hata); }
.mo-alan__yardim { margin: 0; font-size: var(--mo-boy-kucuk); color: var(--mo-soluk); }
.mo-alan__hata { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: var(--mo-boy-kucuk); font-weight: 600; color: var(--mo-hata); }
.mo-alan__hata > .mo-simge { width: 16px; height: 16px; margin-top: 1px; }
.mo-girdi {
  display: block; width: 100%; height: 36px; padding: 0 12px; margin: 0;
  border: 1px solid var(--mo-cizgi-guclu); border-radius: var(--mo-kose); background: var(--mo-yuzey); color: var(--mo-metin);
  font: inherit; font-size: var(--mo-boy-govde); transition: border-color .15s ease;
}
textarea.mo-girdi { height: auto; min-height: 96px; padding: 8px 12px; line-height: 1.5; resize: vertical; }
.mo-girdi::placeholder { color: var(--mo-soluk-2); opacity: 1; }
.mo-girdi:hover { border-color: var(--mo-soluk-2); }
.mo-girdi:focus-visible { border-color: var(--mo-odak); outline-offset: 1px; }
.mo-girdi:disabled { background: var(--mo-yuzey-2); color: var(--mo-soluk); cursor: not-allowed; }
.mo-alan--hatali .mo-girdi, .mo-girdi[aria-invalid="true"] { border-color: var(--mo-hata); }
.mo-sayi.mo-girdi, .mo-girdi.mo-sayi { text-align: right; }
/* Onay kutusu ve seçenek düğmesi */
.mo-secim { display: flex; align-items: flex-start; gap: 10px; font-size: var(--mo-boy-govde); color: var(--mo-metin); cursor: pointer; }
.mo-secim > input { width: 18px; height: 18px; margin: 1px 0 0; flex: none; accent-color: var(--mo-birincil); cursor: pointer; }
/* Parçalı seçim (ör. tema: Açık / Koyu / Sistem) */
.mo-segment { display: inline-flex; flex-wrap: wrap; justify-self: start; width: fit-content; max-width: 100%; gap: 2px; padding: 3px; background: var(--mo-yuzey-2); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose); }
.mo-segment > label { position: relative; display: block; }
.mo-segment input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.mo-segment span { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: var(--mo-kose-kucuk); font-size: var(--mo-boy-yardimci); font-weight: 600; color: var(--mo-metin-2); }
.mo-segment input:checked + span { background: var(--mo-yuzey); color: var(--mo-secili-metin); box-shadow: var(--mo-golge-kart); }
.mo-segment input:focus-visible + span { outline: 3px solid var(--mo-odak); outline-offset: 1px; }
/* Arama alanı (simge solda) ve düğmeli alan (ör. şifre “Göster”) */
.mo-arama { position: relative; display: block; min-width: 0; }
.mo-arama > .mo-simge { position: absolute; left: 10px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--mo-soluk); pointer-events: none; }
.mo-arama > .mo-girdi { padding-left: 36px; }
.mo-girdi-grup { position: relative; }
.mo-girdi-grup > .mo-girdi { padding-right: 80px; }
.mo-girdi-grup__dugme { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); }

/* ---------- Sekmeler: Ayarlar (docs/23 §8) ---------- */
.mo-sekmeler { display: flex; gap: 4px; margin: 0 0 20px; border-bottom: 1px solid var(--mo-cizgi); overflow-x: auto; scrollbar-width: thin; }
.mo-sekme {
  position: relative; flex: none; height: 40px; padding: 0 14px; border: 0; border-radius: var(--mo-kose) var(--mo-kose) 0 0;
  background: transparent; color: var(--mo-soluk); font: inherit; font-size: var(--mo-boy-govde); font-weight: 600; white-space: nowrap; cursor: pointer;
}
.mo-sekme:hover { background: var(--mo-yuzey-2); color: var(--mo-metin); }
.mo-sekme[aria-selected="true"] { color: var(--mo-secili-metin); }
.mo-sekme[aria-selected="true"]::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 0; height: 2px; border-radius: 2px; background: var(--mo-birincil); }
.mo-sekme:focus-visible { outline-offset: -3px; }

/* ---------- Tablo (docs/23 §11): başlık 12 px 700 cümle düzeni, satır 44 px, tutar sağda mono ---------- */
.mo-tablo-kutu { background: var(--mo-yuzey); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose-kart); box-shadow: var(--mo-golge-kart); }
.mo-tablo-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 16px; }
.mo-tablo-arac__arama { flex: 1 1 220px; max-width: 320px; }
.mo-tablo-arac__suzgecler { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mo-tablo-arac__suzgecler > .mo-girdi { width: auto; min-width: 150px; }
.mo-tablo-arac__islemler { display: flex; gap: 8px; margin-left: auto; }
.mo-tablo-kaydirma { overflow-x: auto; }
.mo-tablo { width: 100%; border-collapse: collapse; font-size: var(--mo-boy-govde); color: var(--mo-metin); }
.mo-tablo th {
  height: 40px; padding: 0 16px; background: var(--mo-yuzey-3); border-block: 1px solid var(--mo-cizgi);
  font-size: var(--mo-boy-kucuk); font-weight: 700; color: var(--mo-metin-2); text-align: left; white-space: nowrap;
}
.mo-tablo td { height: 44px; padding: 6px 16px; border-bottom: 1px solid var(--mo-cizgi); vertical-align: middle; }
.mo-tablo tbody tr:last-child td { border-bottom: 0; }
.mo-tablo tbody tr:hover { background: var(--mo-yuzey-3); }
.mo-tablo td.mo-tablo__tutar, .mo-tablo td.mo-sayi { font-family: var(--mo-yazi-sayi); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.mo-tablo th.mo-tablo__tutar, .mo-tablo th.mo-sayi { text-align: right; }
.mo-tablo__mono { font-family: var(--mo-yazi-sayi); font-size: var(--mo-boy-yardimci); }
.mo-tablo__islem { width: 1%; text-align: right; white-space: nowrap; }
.mo-tablo__sirala {
  display: inline-flex; align-items: center; gap: 4px; margin: 0 -4px; padding: 2px 4px; border: 0; border-radius: var(--mo-kose-kucuk);
  background: transparent; color: inherit; font: inherit; cursor: pointer;
}
.mo-tablo__sirala:hover { color: var(--mo-metin); }
.mo-tablo__sirala > .mo-simge { width: 16px; height: 16px; opacity: .4; transition: transform .15s ease; }
.mo-tablo th[aria-sort="ascending"] .mo-tablo__sirala > .mo-simge { opacity: 1; transform: rotate(180deg); }
.mo-tablo th[aria-sort="descending"] .mo-tablo__sirala > .mo-simge { opacity: 1; }
.mo-sayfalama {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 10px 16px;
  border-top: 1px solid var(--mo-cizgi); font-size: var(--mo-boy-yardimci); color: var(--mo-soluk);
}
.mo-sayfalama__bilgi { font-variant-numeric: tabular-nums; }
.mo-sayfalama__dugmeler { display: flex; gap: 8px; }
.mo-sayfalama__onceki > .mo-simge { transform: rotate(180deg); }

/* ---------- Katman: pencere ve çekmece arkası (bilesenler.js açar, odak ve Esc'i yönetir) ---------- */
.mo-katman { position: fixed; inset: 0; z-index: 60; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; padding: 16px; overflow-y: auto; }
.mo-katman--ust { place-items: start center; padding-top: max(16px, 10vh); }
.mo-karartma { position: fixed; inset: 0; background: var(--mo-lacivert); opacity: 0; transition: opacity .18s ease; }
.mo-katman--acik > .mo-karartma { opacity: var(--mo-karartma-opaklik); }

/* Pencere (docs/23 §7, §11): köşe 14; onay 440 px, firma seçimi 520 px. */
.mo-pencere {
  position: relative; display: flex; flex-direction: column; width: 480px; max-width: 100%; max-height: calc(100vh - 32px);
  background: var(--mo-yuzey); color: var(--mo-metin); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose-pencere); box-shadow: var(--mo-golge-pencere);
}
.mo-katman > .mo-pencere { opacity: 0; transform: translateY(8px) scale(.98); transition: opacity .18s ease, transform .18s ease; }
.mo-katman--acik > .mo-pencere { opacity: 1; transform: none; }
.mo-pencere--onay { width: 440px; }
.mo-pencere--firma { width: 520px; }
.mo-pencere--kucuk { width: 400px; }
.mo-pencere__ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--mo-cizgi); }
.mo-pencere__baslik { margin: 0; font-size: var(--mo-boy-kart-baslik); font-weight: 700; line-height: 1.3; }
.mo-pencere__kapat { color: var(--mo-soluk); }
.mo-pencere__govde { min-height: 0; padding: 16px 20px 20px; overflow-y: auto; }
.mo-pencere__govde > :first-child { margin-top: 0; }
.mo-pencere__govde > :last-child { margin-bottom: 0; }
.mo-pencere__alt {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 16px;
  border-top: 1px solid var(--mo-cizgi); border-radius: 0 0 var(--mo-kose-pencere) var(--mo-kose-pencere); background: var(--mo-yuzey-3);
}
.mo-pencere__ipucu { margin-right: auto; font-size: var(--mo-boy-kucuk); color: var(--mo-soluk); }
.mo-pencere__alt-dugmeler { display: flex; flex-wrap: wrap; gap: 8px; }
/* Onay: başlık soru, açıklama sonucu söyler; “Vazgeç” varsayılan odak (docs/23 §11). */
.mo-pencere--onay .mo-pencere__ust { padding-bottom: 4px; border-bottom: 0; }
.mo-pencere--onay .mo-pencere__govde { padding-top: 4px; color: var(--mo-metin-2); }
.mo-pencere--onay .mo-pencere__alt { padding: 4px 20px 20px; border-top: 0; background: transparent; }
.mo-pencere__surum { margin: 0 0 12px; font-size: var(--mo-boy-yardimci); font-weight: 600; color: var(--mo-soluk); }

/* Firma seçin penceresi (docs/23 §7) */
.mo-firma-arama { position: relative; margin: 16px 16px 6px; }
.mo-firma-arama > .mo-simge { position: absolute; left: 12px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--mo-soluk); pointer-events: none; }
.mo-firma-arama > .mo-girdi { height: 40px; padding-left: 40px; }
.mo-firma-liste { flex: 1 1 auto; min-height: 0; max-height: 360px; padding: 2px 10px 10px; overflow-y: auto; overscroll-behavior: contain; }
.mo-firma-grup { margin: 10px 6px 4px; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mo-soluk); }
.mo-firma-satir { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px; border-radius: var(--mo-kose); cursor: pointer; }
.mo-firma-satir:hover { background: var(--mo-yuzey-2); }
.mo-firma-satir[aria-selected="true"] { background: var(--mo-secili-zemin); box-shadow: inset 0 0 0 1.5px var(--mo-secili-metin); }
.mo-firma-satir__metin { display: grid; min-width: 0; line-height: 1.3; }
.mo-firma-satir__ad { font-size: 13.5px; font-weight: 700; color: var(--mo-metin); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-firma-satir__vkn { font-family: var(--mo-yazi-sayi); font-size: 11.5px; color: var(--mo-soluk); }
.mo-firma-satir > .mo-simge { width: 18px; height: 18px; color: var(--mo-secili-metin); }
.mo-firma-bos { margin: 16px 6px; font-size: var(--mo-boy-govde); color: var(--mo-soluk); }
.mo-pencere__alt--firma { justify-content: space-between; }
@media (pointer: coarse) { .mo-pencere__ipucu { display: none; } }

/* Çekmece: kısa formlar sağdan, 480 px; telefonda tam ekran (docs/23 §11). */
.mo-katman--cekmece { place-items: stretch end; padding: 0; overflow: hidden; }
.mo-cekmece {
  position: relative; display: flex; flex-direction: column; width: 480px; max-width: 100%; height: 100vh; height: 100dvh;
  background: var(--mo-yuzey); color: var(--mo-metin); border-left: 1px solid var(--mo-cizgi); box-shadow: var(--mo-golge-pencere);
  transform: translateX(100%); transition: transform .2s ease;
}
.mo-katman--acik > .mo-cekmece { transform: none; }
.mo-cekmece > form, .mo-pencere > form { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.mo-cekmece__ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--mo-cizgi); }
.mo-cekmece__baslik { margin: 0; font-size: var(--mo-boy-kart-baslik); font-weight: 700; }
.mo-cekmece__govde { flex: 1; min-height: 0; padding: 20px; overflow-y: auto; overscroll-behavior: contain; }
.mo-cekmece__alt { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--mo-cizgi); background: var(--mo-yuzey-3); }

/* ---------- Bildirimler: sağ altta en fazla 3, 4 sn; hata kapatılana kadar (docs/23 §11) ---------- */
.mo-bildirimler { position: fixed; right: 24px; bottom: 24px; z-index: 90; display: flex; flex-direction: column; gap: 8px; width: min(380px, calc(100vw - 32px)); pointer-events: none; }
.mo-bildirim {
  --_renk: var(--mo-bilgi);
  display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 10px 8px 10px 14px; pointer-events: auto;
  background: var(--mo-yuzey); color: var(--mo-metin); border: 1px solid var(--mo-cizgi); border-left: 4px solid var(--_renk);
  border-radius: var(--mo-kose-kart); box-shadow: var(--mo-golge-pencere); font-size: var(--mo-boy-govde); line-height: 1.45;
  animation: mo-bildirim-gir .18s ease;
}
.mo-bildirim > .mo-simge { margin-top: 1px; color: var(--_renk); }
.mo-bildirim__metin { margin: 0; padding-top: 1px; }
.mo-bildirim__kapat { margin: -4px 0; color: var(--mo-soluk); }
.mo-bildirim--basari { --_renk: var(--mo-basari); }
.mo-bildirim--uyari { --_renk: var(--mo-uyari); }
.mo-bildirim--hata { --_renk: var(--mo-hata); }
@keyframes mo-bildirim-gir { from { opacity: 0; transform: translateY(8px); } }

/* ---------- Şerit: süren durumlar içeriğin üstünde (docs/23 §10, §11) ---------- */
.mo-serit {
  --_renk: var(--mo-bilgi); --_zemin: var(--mo-bilgi-zemin); --_kenar: var(--mo-bilgi-kenar);
  display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: start; gap: 12px; margin: 0 0 20px; padding: 12px 16px;
  background: var(--_zemin); color: var(--mo-metin); border: 1px solid var(--_kenar); border-radius: var(--mo-kose-kart);
}
.mo-serit > .mo-simge { margin-top: 1px; color: var(--_renk); }
.mo-serit__baslik { margin: 0; font-weight: 700; }
.mo-serit__metin { margin: 2px 0 0; font-size: var(--mo-boy-yardimci); color: var(--mo-metin-2); }
.mo-serit__maddeler { display: grid; gap: 2px; margin: 4px 0 0; padding-left: 18px; font-size: var(--mo-boy-yardimci); color: var(--mo-metin-2); }
.mo-serit__islemler { display: flex; flex-wrap: wrap; align-self: center; gap: 8px; }
.mo-serit--basari { --_renk: var(--mo-basari); --_zemin: var(--mo-basari-zemin); --_kenar: var(--mo-basari-kenar); }
.mo-serit--uyari { --_renk: var(--mo-uyari); --_zemin: var(--mo-uyari-zemin); --_kenar: var(--mo-uyari-kenar); }
.mo-serit--hata { --_renk: var(--mo-hata); --_zemin: var(--mo-hata-zemin); --_kenar: var(--mo-hata-kenar); }

/* ---------- Rozet (durum, köşe 6) ve hap (sayaç, köşe 999): 12 px 700, cümle düzeni ---------- */
.mo-rozet, .mo-hap {
  --_renk: var(--mo-metin-2); --_zemin: var(--mo-yuzey-2); --_kenar: var(--mo-cizgi);
  display: inline-flex; align-items: center; justify-content: center; gap: 4px; height: 22px; padding: 0 8px; flex: none;
  border: 1px solid var(--_kenar); border-radius: var(--mo-kose-kucuk); background: var(--_zemin); color: var(--_renk);
  font-size: var(--mo-boy-kucuk); font-weight: 700; line-height: 1; white-space: nowrap;
}
.mo-hap { min-width: 22px; height: 20px; padding: 0 7px; border-radius: var(--mo-kose-hap); font-variant-numeric: tabular-nums; }
.mo-rozet > .mo-simge, .mo-hap > .mo-simge { width: 14px; height: 14px; }
.mo-rozet--basari, .mo-hap--basari { --_renk: var(--mo-basari); --_zemin: var(--mo-basari-zemin); --_kenar: var(--mo-basari-kenar); }
.mo-rozet--uyari, .mo-hap--uyari { --_renk: var(--mo-uyari); --_zemin: var(--mo-uyari-zemin); --_kenar: var(--mo-uyari-kenar); }
.mo-rozet--hata, .mo-hap--hata { --_renk: var(--mo-hata); --_zemin: var(--mo-hata-zemin); --_kenar: var(--mo-hata-kenar); }
.mo-rozet--bilgi, .mo-hap--bilgi { --_renk: var(--mo-bilgi); --_zemin: var(--mo-bilgi-zemin); --_kenar: var(--mo-bilgi-kenar); }

/* ---------- Tanım listesi (Ayarlar › Güncelleme, Hakkında) ve “Yenilikler” maddeleri ---------- */
.mo-tanimlar { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 24px; margin: 0; font-size: var(--mo-boy-govde); }
.mo-tanimlar dt { color: var(--mo-soluk); }
.mo-tanimlar dd { margin: 0; font-weight: 600; color: var(--mo-metin); }
.mo-yenilikler { display: grid; gap: 8px; margin: 0; padding-left: 20px; line-height: 1.5; color: var(--mo-metin-2); }
.mo-yenilikler b { color: var(--mo-metin); }

/* ---------- Boş durum ve hata ekranı (docs/23 §11) ---------- */
.mo-bos-durum, .mo-hata-ekrani { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 48px 24px; text-align: center; }
.mo-bos-durum > .mo-simge, .mo-hata-ekrani > .mo-simge { width: 40px; height: 40px; margin-bottom: 4px; color: var(--mo-soluk); }
.mo-hata-ekrani > .mo-simge { color: var(--mo-hata); }
.mo-bos-durum__baslik, .mo-hata-ekrani__baslik { margin: 0; font-size: var(--mo-boy-kart-baslik); font-weight: 700; line-height: 1.3; color: var(--mo-metin); }
.mo-bos-durum__aciklama, .mo-hata-ekrani__aciklama { max-width: 52ch; margin: 0; font-size: var(--mo-boy-govde); color: var(--mo-soluk); }
.mo-bos-durum__islem, .mo-hata-ekrani__islemler { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; margin-top: 12px; }
.mo-ayrintilar { width: 100%; max-width: 560px; margin-top: 8px; text-align: left; }
.mo-ayrintilar > summary { width: max-content; margin: 0 auto; padding: 2px 6px; border-radius: var(--mo-kose-kucuk); font-size: var(--mo-boy-yardimci); font-weight: 600; color: var(--mo-baglanti); cursor: pointer; }
.mo-ayrintilar pre {
  margin: 8px 0 0; padding: 12px; overflow-x: auto; background: var(--mo-yuzey-3); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose);
  font-family: var(--mo-yazi-sayi); font-size: var(--mo-boy-kucuk); color: var(--mo-metin-2); white-space: pre-wrap; word-break: break-word;
}

/* ---------- Giriş ve ilk şifre (docs/23 §6) ---------- */
/* Bant temadan bağımsız koyudur (lacivert → koyu okyanus, 135°); altında 3 px altın çizgi. Logo koyu sürüm, 200×50. */
.mo-giris { display: flex; flex-direction: column; min-height: 100vh; background: var(--mo-zemin); }
.mo-giris__bant { min-height: 260px; padding: 28px 40px 24px; background: linear-gradient(135deg, var(--mo-lacivert), var(--mo-okyanus-koyu)); border-bottom: 3px solid var(--mo-altin); color: var(--mo-ters-metin); }
.mo-giris__marka { display: grid; gap: 16px; max-width: 380px; }
.mo-giris__logo { display: block; width: 200px; height: 50px; }
.mo-giris__urun { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mo-giris__urun-adi { margin: 0; font-family: var(--mo-yazi-baslik); font-size: var(--mo-boy-sayfa-baslik); font-weight: 400; line-height: 1.1; }
.mo-giris__karsilama { margin: -6px 0 0; font-size: var(--mo-boy-yardimci); line-height: 1.45; opacity: .8; }
.mo-giris__karsilama b { display: block; font-weight: 700; }
.mo-giris__govde { flex: 1 0 auto; padding: 0 16px 32px; }
/* Kart bandın üstüne 120 px biner. Ortalanır; dar masaüstünde bant metninin sağında kalır, üst üste binmez:
   452 px = bandın iç boşluğu 40 + metin sütunu (.mo-giris__marka) 380 + 32 boşluk. */
.mo-giris__kart {
  position: relative; z-index: 1; display: grid; gap: 16px; width: 400px; max-width: 100%;
  margin-top: -120px; margin-left: max(calc(50% - 200px), 452px); padding: 28px;
  background: var(--mo-yuzey); color: var(--mo-metin); border: 1px solid var(--mo-cizgi); border-radius: var(--mo-kose-pencere); box-shadow: var(--mo-golge-pencere);
}
.mo-giris__kart-ust { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.mo-giris__baslik { margin: 0; font-family: var(--mo-yazi-baslik); font-size: var(--mo-boy-bolum-baslik); font-weight: 400; line-height: 1.2; }
.mo-giris__kart-not { font-size: var(--mo-boy-yardimci); color: var(--mo-soluk); }
.mo-giris .mo-girdi { height: 40px; }
.mo-giris .mo-dugme--birincil { height: 40px; }
.mo-giris__hata { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; background: var(--mo-hata-zemin); border: 1px solid var(--mo-hata-kenar); border-radius: var(--mo-kose); color: var(--mo-hata); font-size: var(--mo-boy-yardimci); font-weight: 600; }
.mo-giris__hata > .mo-simge { width: 18px; height: 18px; }
.mo-giris__kural, .mo-giris__aciklama { margin: -8px 0 0; font-size: var(--mo-boy-kucuk); color: var(--mo-soluk); }
.mo-giris__baglantilar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: -4px; }
.mo-giris__baglantilar > .mo-dugme--metin { margin-left: -8px; }
.mo-giris__sunucu { display: flex; align-items: center; gap: 8px; font-size: var(--mo-boy-kucuk); color: var(--mo-soluk); }
.mo-nokta { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--mo-basari); }
.mo-nokta--hata { background: var(--mo-hata); }
.mo-giris__alt-bilgi { padding: 16px; font-size: var(--mo-boy-kucuk); text-align: center; color: var(--mo-soluk); }
.mo-giris__alt-bilgi a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- Telefon (< 900 px, docs/23 §14) ---------- */
.mo-ust-cubuk, .mo-alt-cubuk, .mo-kenar-karartma { display: none; }
@media (max-width: 899.98px) {
  .mo-kabuk { display: block; }
  .mo-ana { min-height: 100vh; }
  .mo-icerik { padding: 16px 16px calc(var(--mo-alt-cubuk-mobil) + 24px); }
  .mo-sayfa-basligi { margin-bottom: 16px; }
  .mo-yalniz-masaustu { display: none !important; }

  /* Üst çubuk 56 px: solda menü, ortada 28 px ürün karesi + ad, sağda sayfanın tek işlemi. */
  .mo-ust-cubuk {
    position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: var(--mo-dokunma) minmax(0, 1fr) var(--mo-dokunma);
    align-items: center; gap: 4px; height: var(--mo-ust-cubuk-mobil); padding: 0 6px; background: var(--mo-yuzey); border-bottom: 1px solid var(--mo-cizgi);
  }
  .mo-ust-cubuk__urun { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; font-size: var(--mo-boy-menu); font-weight: 700; color: var(--mo-metin); }
  .mo-ust-cubuk__ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mo-ust-cubuk .mo-dugme--simge { width: var(--mo-dokunma); height: var(--mo-dokunma); }

  /* Kenar çubuğu soldan kayan çekmeceye döner (300 px, lacivert %40 karartma); içerik aynıdır. */
  .mo-kenar {
    position: fixed; top: 0; bottom: 0; left: 0; z-index: 50; width: 300px; max-width: 86vw; height: auto;
    box-shadow: var(--mo-golge-pencere); transform: translateX(-100%); visibility: hidden; transition: transform .2s ease, visibility 0s linear .2s;
  }
  .mo-kabuk--menu-acik .mo-kenar { transform: none; visibility: visible; transition: transform .2s ease; }
  .mo-kenar-karartma { position: fixed; inset: 0; z-index: 49; display: block; background: var(--mo-lacivert); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility 0s linear .2s; }
  .mo-kabuk--menu-acik .mo-kenar-karartma { opacity: var(--mo-karartma-opaklik); visibility: visible; transition: opacity .2s ease; }
  .mo-menu-oge { height: var(--mo-dokunma); }

  /* Alt sekme çubuğu 64 px: en sık 4 sayfa + “Menü”; etkin sekme okyanus. */
  .mo-alt-cubuk {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column;
    height: calc(var(--mo-alt-cubuk-mobil) + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--mo-yuzey); border-top: 1px solid var(--mo-cizgi);
  }
  .mo-alt-cubuk__oge {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 0; min-height: var(--mo-dokunma);
    padding: 0 2px; border: 0; background: transparent; color: var(--mo-soluk); font: inherit; font-size: var(--mo-boy-kucuk); font-weight: 600;
    text-decoration: none; cursor: pointer;
  }
  .mo-alt-cubuk__oge > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mo-alt-cubuk__oge[aria-current="page"] { color: var(--mo-secili-metin); }
  .mo-alt-cubuk__oge:focus-visible { outline-offset: -3px; }

  /* Dokunma alanı en az 44 px */
  .mo-dugme, .mo-dugme--kucuk { min-height: var(--mo-dokunma); }
  .mo-yardim .mo-menu-oge, .mo-acilir-menu__oge, .mo-segment span { height: var(--mo-dokunma); }
  .mo-secim { align-items: center; min-height: var(--mo-dokunma); }
  .mo-secim > input { margin: 0; }
  .mo-ayrintilar > summary { padding: 12px 8px; }
  .mo-dugme--simge { min-width: var(--mo-dokunma); }
  .mo-girdi { min-height: var(--mo-dokunma); }
  .mo-girdi-grup__dugme, .mo-giris__baglantilar > .mo-dugme--metin { min-height: 36px; }
  .mo-sekme { height: var(--mo-dokunma); }

  .mo-bildirimler { left: 16px; right: 16px; bottom: calc(var(--mo-alt-cubuk-mobil) + 12px); width: auto; }
  .mo-serit { grid-template-columns: 20px minmax(0, 1fr); }
  .mo-serit__islemler { grid-column: 1 / -1; }
  .mo-tablo-arac { padding: 12px; }
  .mo-tablo-arac__arama { max-width: none; flex-basis: 100%; }
  .mo-tablo-arac__suzgecler { flex: 1 1 auto; }
  .mo-tablo-arac__suzgecler > .mo-girdi { flex: 1 1 auto; min-width: 0; }
  .mo-cekmece { width: 100%; border-left: 0; }

  /* Tablo karta döner, yatay kaydırma yok: başlık satırı (ad + durum), iki satır bilgi, sağda tutar. */
  .mo-tablo-kaydirma { overflow: visible; }
  .mo-tablo, .mo-tablo tbody { display: block; }
  .mo-tablo thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .mo-tablo tr { display: grid; grid-template-columns: fit-content(65%) minmax(0, 1fr) auto; align-items: center; gap: 2px 8px; padding: 12px 16px; border-bottom: 1px solid var(--mo-cizgi); }
  .mo-tablo tbody tr:last-child { border-bottom: 0; }
  .mo-tablo td { display: block; grid-column: 1 / 3; height: auto; padding: 0; border: 0; font-size: var(--mo-boy-yardimci); color: var(--mo-soluk); }
  .mo-tablo td[data-etiket]::before { content: attr(data-etiket) ": "; font-family: var(--mo-yazi-arayuz); }
  .mo-tablo td.mo-tablo__ad { grid-column: 1; grid-row: 1; min-width: 0; font-size: var(--mo-boy-govde); font-weight: 700; color: var(--mo-metin); }
  .mo-tablo td.mo-tablo__ad::before { content: none; }
  .mo-tablo td.mo-tablo__durum { grid-column: 2; grid-row: 1; justify-self: start; }
  .mo-tablo td.mo-tablo__durum::before { content: none; }
  .mo-tablo td.mo-tablo__tutar { grid-column: 3; grid-row: 1 / span 3; font-size: var(--mo-boy-govde); font-weight: 600; color: var(--mo-metin); }
  .mo-tablo td.mo-tablo__tutar::before { content: none; }
  .mo-tablo td.mo-tablo__islem { grid-column: 1 / -1; width: auto; margin-top: 4px; }
  .mo-tablo__telefonda-gizle { display: none !important; }

  /* Giriş: bant 200 px, kart tam genişlik (16 px kenar). */
  .mo-giris__bant { min-height: 200px; padding: 20px 16px 28px; }
  .mo-giris__marka { max-width: none; gap: 10px; }
  .mo-giris__karsilama { margin-top: -2px; }
  .mo-giris__govde { padding: 0 16px 24px; }
  .mo-giris__kart { width: auto; margin: -20px 0 0; padding: 20px; }
}
@media (min-width: 900px) { .mo-yalniz-telefon { display: none !important; } }

/* ---------- Hareket azaltma ---------- */
@media (prefers-reduced-motion: reduce) {
  [class^="mo-"], [class*=" mo-"], [class^="mo-"]::after, [class*=" mo-"]::after { transition: none !important; animation: none !important; }
}
