/* DefterSoft Web - temel stil. Acik/koyu tema, telefon/tablet/PC. */
:root {
  --zemin: #f4f6f8;
  --kart: #ffffff;
  --metin: #1f2933;
  --metin-soluk: #616e7c;
  --cizgi: #d9dee3;
  --vurgu: #1b6ec2;
  --vurgu-metin: #ffffff;
  --hata: #c0392b;
  --uyari-zemin: #fff6e5;
  --uyari-cizgi: #f0c36d;
  --borc: #b03a2e;
  --alacak: #1e7e34;
  --stok-kalan: #6a3fc8;
  --stok-kalan-zemin: #f4effe;
  --giris-dugme: #237a46;
  --giris-dugme-metin: #ffffff;
  --notr-baslik: #455a64; --notr-baslik-metin: #ffffff;
  --durum-bekle-zemin: #fff4d6; --durum-bekle-cizgi: #f0c36d; --durum-bekle-yazi: #6b4e00;
  --durum-hazir-zemin: #e6f6ea; --durum-hazir-cizgi: #9ed3ab; --durum-hazir-yazi: #1e6b34;
  --doseme-giris: #e2f9f1; --doseme-giris-cizgi: #86dcbf;
  --doseme-cikis: #ffebe6; --doseme-cikis-cizgi: #f5a493;
  --doseme-ikon-zemin: transparent;
  --sekme-cubuk: rgba(255,255,255,.94); --sekme-pasif: #8a939c;
  --filtre-dugme: #0f766e; --filtre-dugme-acik: #134e4a; --filtre-dugme-metin: #ffffff;
  --cikis-dugme: #F9888B; --cikis-dugme-metin: #1f2933;
  --yaricap: 8px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) {
    --zemin: #12161b; --kart: #1b2127; --metin: #e6e9ec; --metin-soluk: #98a2ad;
    --cizgi: #2e3740; --vurgu: #4e9de6; --vurgu-metin: #0b1016;
    --uyari-zemin: #3a2f14; --uyari-cizgi: #8a6d1f; --borc: #ff7b6b; --alacak: #5ad27a;
    --stok-kalan: #b398f5; --stok-kalan-zemin: #241c38;
    --giris-dugme: #4fbf78; --giris-dugme-metin: #0b1016; --notr-baslik: #90a4ae; --notr-baslik-metin: #0b1016;
    --durum-bekle-zemin: #3a2f14; --durum-bekle-cizgi: #8a6d1f; --durum-bekle-yazi: #f3d58b;
    --durum-hazir-zemin: #15301f; --durum-hazir-cizgi: #2e7a4a; --durum-hazir-yazi: #9be0b0;
    --doseme-giris: #12342b; --doseme-giris-cizgi: #2e7a62; --doseme-cikis: #3a1f1b; --doseme-cikis-cizgi: #8c4335;
    --doseme-ikon-zemin: #eef1f4; --sekme-cubuk: rgba(27,33,39,.96); --sekme-pasif: #8792a0;
    --filtre-dugme: #2dd4bf; --filtre-dugme-acik: #5eead4; --filtre-dugme-metin: #042f2e;
    --cikis-dugme: #F9888B; --cikis-dugme-metin: #1f2933;
  }
}
:root[data-tema="koyu"] {
  --zemin: #12161b; --kart: #1b2127; --metin: #e6e9ec; --metin-soluk: #98a2ad;
  --cizgi: #2e3740; --vurgu: #4e9de6; --vurgu-metin: #0b1016;
  --uyari-zemin: #3a2f14; --uyari-cizgi: #8a6d1f; --borc: #ff7b6b; --alacak: #5ad27a;
  --stok-kalan: #b398f5; --stok-kalan-zemin: #241c38;
  --giris-dugme: #4fbf78; --giris-dugme-metin: #0b1016; --notr-baslik: #90a4ae; --notr-baslik-metin: #0b1016;
  --durum-bekle-zemin: #3a2f14; --durum-bekle-cizgi: #8a6d1f; --durum-bekle-yazi: #f3d58b;
  --durum-hazir-zemin: #15301f; --durum-hazir-cizgi: #2e7a4a; --durum-hazir-yazi: #9be0b0;
  --doseme-giris: #12342b; --doseme-giris-cizgi: #2e7a62; --doseme-cikis: #3a1f1b; --doseme-cikis-cizgi: #8c4335;
  --doseme-ikon-zemin: #eef1f4; --sekme-cubuk: rgba(27,33,39,.96); --sekme-pasif: #8792a0;
  --filtre-dugme: #2dd4bf; --filtre-dugme-acik: #5eead4; --filtre-dugme-metin: #042f2e;
  --cikis-dugme: #F9888B; --cikis-dugme-metin: #1f2933;
}

* { box-sizing: border-box; min-width: 0; }
/* 2026-09-28: html'e height:100% + overflow-x:hidden verilince kaydiran oge
   html yerine BODY oluyordu (spec: tek eksende hidden digerini auto yapar);
   window.scrollTo/scrollY ve pencere kaydirma olaylari bosa gidiyor, dis
   cubuk body'nin oluyordu. html dogal kaydiran birakildi. */
html { margin: 0; }
/* overflow-x: clip kaydirma kabi olusturmaz (hidden telefon tarayicilarinda sabit alt cubugu sayfayla kaydirabiliyordu); eski tarayiciya hidden */
body { margin: 0; min-height: 100%; overflow-x: hidden; overflow-x: clip; }
input, select, button { max-width: 100%; }
body {
  background: var(--zemin); color: var(--metin);
  font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
#uygulama { min-height: 100%; display: flex; flex-direction: column; }

/* ---- baslik cubugu ---- */
.baslik {
  display: flex; align-items: center; gap: 10px; flex-wrap: nowrap; min-width: 0;
  padding: 10px 16px; background: var(--kart); border-bottom: 1px solid var(--cizgi);
  position: sticky; top: 0; z-index: 20;
}
.baslik .marka { font-weight: 700; color: var(--vurgu); }
.baslik .bilgi { color: var(--metin-soluk); font-size: 13px; }
.baslik .firma-data {
  font-size: 12px; font-weight: 600; letter-spacing: .3px; padding: 2px 9px;
  border-radius: 10px; background: var(--vurgu); color: var(--vurgu-metin); white-space: nowrap;
}
.baslik .firma-ad { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.baslik .marka, .baslik .firma-data, .baslik .yalniz-pc { flex-shrink: 0; }
.baslik .nav-ana { flex: 0 0 auto; padding: 5px 9px; line-height: 1.1; font-size: 16px; }
/* ana menude surum + son guncelleme: veri adi satirinda saga yasli, kucuk; telefonda iki satir */
.baslik .surum { margin-left: auto; flex-shrink: 0; display: flex; gap: 4px; font-size: 11px; color: var(--metin-soluk);
  font-variant-numeric: tabular-nums; white-space: nowrap; cursor: default; }
.baslik .surum > span + span::before { content: '· '; }
/* 11.10 menu arama: ust cubugun ortasinda, belirgin (vurgu kenari, golge); telefonda alt satirda tam genislik */
.baslik .menu-ara { flex: 1 1 260px; max-width: 440px; min-width: 160px; margin: 0 auto; position: relative; display: flex; align-items: center; }
.menu-ara input { width: 100%; height: 36px; padding: 0 34px 0 38px; border: 2px solid var(--vurgu); border-radius: 18px;
  background: color-mix(in srgb, var(--vurgu) 7%, var(--kart)); color: var(--metin); font: inherit; font-size: 14.5px; font-weight: 500;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--vurgu) 22%, transparent); outline: none; -webkit-appearance: none; appearance: none; }
.menu-ara input::placeholder { color: var(--metin-soluk); font-weight: 400; }
.menu-ara input::-webkit-search-cancel-button { display: none; }
.menu-ara input:focus { background: var(--kart); box-shadow: 0 0 0 4px color-mix(in srgb, var(--vurgu) 25%, transparent); }
.menu-ara-ikon { position: absolute; left: 12px; color: var(--vurgu); pointer-events: none; }
.menu-ara-sil { position: absolute; right: 6px; width: 24px; height: 24px; border: 0; border-radius: 50%; padding: 0;
  background: color-mix(in srgb, var(--vurgu) 15%, transparent); color: var(--vurgu); font-size: 12px; cursor: pointer; }
@media (max-width: 700px) {
  .baslik { flex-wrap: wrap; row-gap: 8px; column-gap: 8px; }
  /* ilk satir tek satir kalsin: firma adi sifir tabanla kisalir (satir kirilmasina sebep olmaz), arama ikinci satirda */
  .baslik .firma-ad { flex: 1 1 0; }
  .baslik .menu-ara { order: 10; flex: 1 1 100%; max-width: none; margin: 0; }
}
@media (max-width: 420px) { .baslik .surum { display: none; } }
@media (max-width: 700px) {
  .baslik .surum { flex-direction: column; align-items: flex-end; gap: 0; font-size: 10px; line-height: 1.2; }
  .baslik .surum > span + span::before { content: none; }
}

/* ---- genel ---- */
.icerik { padding: 16px; flex: 1; padding-bottom: 24px; }
/* Secili satir/kart bilgi cubugu: ekranin ALTINA SABIT, kaydirmadan her zaman
   gorunur (kullanici geri bildirimi 2026-09-27: "extre butonu gozukmuyor,
   scroll yapmam gerekiyor"). IKI PARCA: .secim-icerik (degisken uzunlukta,
   tasarsa kendi icinde kayar) + .secim-eylemler (dugmeler - HER ZAMAN kendi
   sabit satirinda, bilgi metninin sarmasindan/uzunlugundan ETKILENMEZ; ilk
   tek-satir tasarimda dugme metinle ayni satira sarip ekran disina tasabiliyordu). */
.secim-cubugu {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 25;
  background: var(--kart); border-top: 1px solid var(--cizgi);
  box-shadow: 0 -4px 12px rgba(0,0,0,.12);
  max-height: 50vh; display: flex; flex-direction: column;
}
.secim-icerik { padding: 12px 16px; overflow: auto; flex: 1 1 auto; min-height: 0; }
.secim-eylemler {
  flex: 0 0 auto; display: flex; gap: 8px; align-items: center;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--cizgi); background: var(--kart);
}
.secim-eylemler .dugme, .secim-eylemler .dugme.ikincil { flex: 0 0 auto; }
.kart {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap);
  padding: 16px;
}
.dugme {
  background: var(--vurgu); color: var(--vurgu-metin); border: 0; border-radius: 6px;
  padding: 9px 14px; font: inherit; cursor: pointer;
}
.dugme.ikincil { background: transparent; color: var(--metin); border: 1px solid var(--cizgi); }
/* bir onceki menuye donus: belirgin, diger dugmelerden farkli renk (kullanici 2026-10-03) */
.dugme.geri { background: #e8842c; color: #fff; border: 0; font-weight: 600; }
/* liste ekranlari "Filtre": suzgec satirini gosterir / gizler (js/filtre_paneli.js); belirgin, ayri renk (kullanici 09.10) */
.dugme.filtre-dugme { background: var(--filtre-dugme); color: var(--filtre-dugme-metin); font-weight: 600;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.dugme.filtre-dugme.acik { background: var(--filtre-dugme-acik); box-shadow: inset 0 2px 4px rgba(0,0,0,.25); }
.filtre-sayi { min-width: 18px; padding: 0 5px; border-radius: 9px; background: var(--filtre-dugme-metin); color: var(--filtre-dugme);
  font-size: 12px; line-height: 18px; text-align: center; font-variant-numeric: tabular-nums; }
.dugme.geri:hover { background: #d4721a; }
.dugme:disabled { opacity: .55; cursor: default; }
.alan { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.alan label { font-size: 13px; color: var(--metin-soluk); }
.alan input, .alan select {
  font: inherit; padding: 9px 10px; border: 1px solid var(--cizgi); border-radius: 6px;
  background: var(--zemin); color: var(--metin); min-width: 0;
}
.alan input:focus, .alan select:focus { outline: 2px solid var(--vurgu); outline-offset: 0; }
.hata { color: var(--hata); font-size: 14px; margin: 8px 0; }
.uyari {
  background: var(--uyari-zemin); border: 1px solid var(--uyari-cizgi); border-radius: 6px;
  padding: 8px 12px; font-size: 14px; margin: 8px 0;
}
.satir { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.soluk { color: var(--metin-soluk); }
.tutar { font-variant-numeric: tabular-nums; text-align: right; }
.borc { color: var(--borc); }
.alacak { color: var(--alacak); }
/* Stok Extre (DS UStokExtre.pas:375-381): SF olmayan satirda tur/giren/cari hucreleri sari (satirin tumu degil) */
.uyari-sari { background: var(--uyari-zemin); padding: 0 3px; border-radius: 3px; }
/* izgara satir bicimleri (izgara.js satirBicimle) */
.tabulator-row.satir-alacak .tabulator-cell { color: var(--alacak); }
.tabulator-row.satir-uyari .tabulator-cell { background: #fff6c8; }
:root[data-tema="koyu"] .tabulator-row.satir-uyari .tabulator-cell { background: #4a4214; }
.kart.uyari { border-left: 4px solid #e0b100; }
/* pesin satis raporu: DS ozet paneli */
.pesin-panel { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 8px; padding: 8px 10px; margin-bottom: 8px; }
.pesin-ust { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 14px; margin-bottom: 6px; }
.pesin-toplam { font-size: 16px; }
.pesin-toplam b { color: var(--vurgu, #1a3f6b); }
.pesin-tablo-kap { overflow-x: auto; }
.pesin-tablo { border-collapse: collapse; width: 100%; font-size: 13px; font-variant-numeric: tabular-nums; }
.pesin-tablo th, .pesin-tablo td { padding: 4px 8px; border-bottom: 1px solid var(--cizgi); white-space: nowrap; }
.pesin-tablo thead th { text-align: right; font-weight: 600; color: var(--metin-soluk); }
.pesin-tablo thead th:first-child, .pesin-tablo tbody th { text-align: left; }
.pesin-tablo td.tutar { text-align: right; }
/* cek / senet */
.cek-satirlar tbody tr { cursor: pointer; }
.cek-satirlar tbody tr.secili td { background: var(--ds-secim); color: #fff; }
.cek-satirlar tbody tr.silinmis td { color: #c62828; font-style: italic; }
.dsf-akis .cek-satirlar td { padding: 8px 6px; font-size: 14px; }
.cek-ozet { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 8px; padding: 8px 10px; margin-bottom: 8px; }
.cek-ozet-satir { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; margin-bottom: 6px; }
.cek-ozet-satir .riskli b { color: var(--alacak, #c62828); }
.cek-vade { max-width: 560px; }
.tabulator-row.satir-silinmis .tabulator-cell { color: #c62828; font-style: italic; }
.kart.silinmis { opacity: .6; text-decoration: line-through; }
@media (max-width: 700px) { .cek-islem { flex: 1 1 30%; } }
/* cek / senet penceresi (telefon): satirlar kart, secili kart vurgulu */
.cek-kartlar { display: flex; flex-direction: column; gap: 6px; }
.cek-kart { border: 1px solid var(--ds-kenar-acik); border-radius: 6px; padding: 8px 10px; background: var(--ds-pencere); cursor: pointer; }
.cek-kart .ust, .cek-kart .alt { display: flex; justify-content: space-between; gap: 8px; }
.cek-kart .alt { font-size: 13px; color: var(--ds-pasif-yazi); margin-top: 2px; }
.cek-kart .tutar { font-variant-numeric: tabular-nums; white-space: nowrap; }
.cek-kart.secili { border-color: var(--ds-secim); box-shadow: inset 4px 0 0 var(--ds-secim); }
.cek-kart.silinmis { opacity: .6; text-decoration: line-through; }
.cek-bos { padding: 12px; text-align: center; }
@media (max-width: 700px) { .pesin-tablo { font-size: 12px; } .pesin-tablo th, .pesin-tablo td { padding: 4px 5px; } }
.tabulator-row.satir-borc .tabulator-cell { color: var(--borc); }
.tabulator-row.satir-silik .tabulator-cell { opacity: .5; text-decoration: line-through; }
.tabulator-row.satir-devir .tabulator-cell { font-weight: 600; background: var(--uyari-zemin); }

/* ---- giris ekrani ---- */
.giris { max-width: 420px; margin: 8vh auto 0; }
.giris h1 { font-size: 20px; margin: 0 0 16px; }

/* ---- liste ekranlari ---- */
.arac-cubugu {
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 10px;
}
.arac-cubugu input[type="search"], .arac-cubugu select, .arac-cubugu input[type="text"], .arac-cubugu input[type="date"] {
  font: inherit; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 6px;
  background: var(--kart); color: var(--metin);
}
.arac-cubugu input[type="search"] { flex: 1 1 260px; min-width: 200px; }
.cipler { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.cip {
  border: 1px solid var(--cizgi); border-radius: 999px; padding: 5px 12px; font-size: 13px;
  background: var(--kart); color: var(--metin); cursor: pointer; user-select: none;
}
.cip.acik { background: var(--vurgu); color: var(--vurgu-metin); border-color: var(--vurgu); }
/* Stok Bul telefonda kart listesi (kullanici 05.10): ad, altinda kod / cinsi / SF1 / SF2 (alista alis fiyati) */
.ss-kartlar { display: flex; flex-direction: column; gap: 0; }
.ss-kart { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 9px; border-bottom: 1px solid var(--ds-kenar-acik); cursor: pointer; }
.ss-kart.secili { background: color-mix(in srgb, var(--ds-secim) 18%, transparent); }
.ss-ad { font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }
.ss-alt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; margin-top: 2px; font-size: 13px; font-variant-numeric: tabular-nums; }
.ss-kod { overflow-wrap: anywhere; }
.ss-fiyatlar { display: flex; gap: 10px; margin-left: auto; text-align: right; white-space: nowrap; }
.ss-kalan { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 62px; padding: 3px 8px;
  border: 1.5px solid var(--stok-kalan); border-radius: 8px; background: var(--stok-kalan-zemin); color: var(--stok-kalan); line-height: 1.15; font-variant-numeric: tabular-nums; }
.ss-kalan b { font-size: 16px; }
.ss-kalan small { font-size: 11px; opacity: .85; }
.ss-kalan.eksi b { color: var(--borc); }
.ss-alt small { color: var(--ds-pasif-yazi); font-size: 11px; }
.ss-bos { padding: 10px; }
/* telefonda fatura kalemleri (kullanici 05.10): 1. satir urun adi + adet cinsi, 2. satir iceriden fiyat / KDV / isk / toplam */
.fatura-kalemler { display: flex; flex-direction: column; gap: 6px; }
.fk-satir { border: 1px solid var(--ds-kenar-acik); border-radius: 6px; padding: 7px 9px; background: var(--ds-pencere); color: var(--ds-yazi); cursor: pointer; }
.fk-satir.secili { border-color: var(--ds-secim); box-shadow: inset 3px 0 0 var(--ds-secim); }
.fk-ust { display: flex; gap: 6px; align-items: baseline; font-weight: 600; font-size: 15px; }
.fk-sn { flex: 0 0 auto; color: var(--ds-pasif-yazi); font-weight: 500; }
.fk-ad { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.fk-adet { flex: 0 0 auto; white-space: nowrap; }
.fk-alt { display: flex; gap: 4px 12px; flex-wrap: wrap; align-items: baseline; padding-left: 1.7em; margin-top: 3px; font-size: 13px;
  font-variant-numeric: tabular-nums; }
.fk-alt small { color: var(--ds-pasif-yazi); font-size: 11px; }
.fk-toplam { margin-left: auto; font-weight: 700; font-size: 14px; }
.fatura-kalemler .bos { color: var(--ds-pasif-yazi); padding: 8px; text-align: center; }
/* FibaPOS satir duzeltme penceresi (ekran/fatura_satir_duzelt.js; uFatSatir yerlesimi) */
.satir-duzelt { width: min(460px, 100%); font: 15px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.satir-duzelt .sd-serit { flex: 0 0 auto; display: flex; gap: 6px; align-items: center; padding: 8px; background: var(--ds-yuzey);
  border-bottom: 1px solid var(--ds-kenar-acik); }
.satir-duzelt .sd-bosluk { flex: 1 1 auto; }
.satir-duzelt .sd-kdvd { display: flex; align-items: center; gap: 6px; font-weight: 600; }
.satir-duzelt .sd-kdvd input { width: 20px; height: 20px; }
.satir-duzelt .sd-serit .dsf-dugme { min-height: 40px; padding: 0 12px; font: inherit; font-weight: 600; }
.satir-duzelt .sd-geri { background: #e8842c; color: #fff; border-color: #c96b18; }
.satir-duzelt .sd-govde { overflow: auto; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.satir-duzelt .dsf-girdi { font-size: 16px; min-height: 40px; padding: 6px 8px; border-radius: 4px; }
.satir-duzelt .sd-satir { display: flex; gap: 6px; align-items: center; }
.satir-duzelt .sd-satir > .dsf-girdi { flex: 1 1 auto; min-width: 0; }
.satir-duzelt .sd-etiket { flex: 0 0 6.8em; font-size: 13px; font-weight: 600; }
.satir-duzelt .sd-etiket.sag { flex: 0 0 auto; text-align: right; }
.satir-duzelt .sd-satir > .sd-dar { flex: 0 0 5.6em; }
.satir-duzelt .sd-buyuk { font-size: 22px; font-weight: 700; min-height: 46px; }
.satir-duzelt .sd-aciklama { font-size: 17px; font-weight: 600; min-height: 46px; }
.satir-duzelt .sd-adet .dsf-dugme, .satir-duzelt .sd-sira .dsf-dugme { flex: 0 0 52px; min-height: 44px; font-size: 22px; font-weight: 700; }
.satir-duzelt .sd-cinsi { flex: 0 0 5.2em; overflow-wrap: anywhere; }
.satir-duzelt .sd-net .dsf-girdi { color: var(--ds-pasif-yazi); }
.satir-duzelt .sd-org { align-items: flex-start; gap: 8px; }
.satir-duzelt .sd-org-tarih { flex: 1 1 55%; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.satir-duzelt .sd-org-saat { flex: 1 1 45%; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.satir-duzelt .sd-org .sd-etiket { flex: none; display: flex; justify-content: space-between; align-items: center; }
.satir-duzelt .sd-iptal { font-size: 12px; padding: 1px 8px; }
.satir-duzelt .sd-fiyatlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 4px; }
.satir-duzelt .sd-fiyatlar .dsf-dugme, .satir-duzelt .sd-sonsat { min-height: 56px; font-size: 12px; line-height: 1.25; white-space: normal;
  text-align: center; padding: 4px; overflow-wrap: anywhere; }
.satir-duzelt .sd-sonsat { border: 1px dashed var(--ds-kenar); border-radius: 3px; display: flex; flex-direction: column; justify-content: center;
  color: var(--ds-yazi); background: var(--ds-pencere); }
.satir-duzelt .sd-sonsat small { color: var(--ds-pasif-yazi); font-size: 10px; }
@media (max-width: 700px) {
  .dsf-arka:has(> .satir-duzelt) { padding: 0; }
  .satir-duzelt { width: 100%; min-height: 100%; max-height: 100vh; margin: 0; border: 0; }
}
/* geri tusu uyarisi (anasayfada "cikmak icin tekrar basin"): altta ortada kisa sureli */
.geri-uyarisi {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(24px + env(safe-area-inset-bottom, 0px)); z-index: 200;
  background: var(--metin); color: var(--kart); padding: 10px 18px; border-radius: 22px; font-size: 14px;
  box-shadow: 0 4px 14px rgba(0,0,0,.25); max-width: calc(100% - 32px); text-align: center;
}
/* tarih araligi kutulari: PC'de ciplerle ayni akista (contents), telefonda kendi tam satiri */
.cip-tarih { display: contents; }
.durum-satiri { font-size: 13px; color: var(--metin-soluk); margin: 6px 0; }

/* Tabulator temasini renk degiskenlerine baglar */
.tabulator { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); color: var(--metin); }
.tabulator .tabulator-header { background: var(--zemin); color: var(--metin); border-bottom: 1px solid var(--cizgi); }
.tabulator .tabulator-header .tabulator-col { background: var(--zemin); border-right: 1px solid var(--cizgi); }
.tabulator-row { background: var(--kart); color: var(--metin); border-bottom: 1px solid var(--cizgi); }
.tabulator-row.tabulator-row-even { background: var(--kart); }
.tabulator-row:hover { background: color-mix(in srgb, var(--vurgu) 12%, var(--kart)); }
.tabulator-row .tabulator-cell { border-right: 1px solid var(--cizgi); }

/* ---- telefon kart listesi ---- */
.kartlar { display: grid; gap: 8px; }
.cari-kart { padding: 12px 14px; }
.cari-kart .ust { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.cari-kart .ad { font-weight: 600; overflow-wrap: anywhere; }
.cari-kart .ust .tutar { white-space: nowrap; flex-shrink: 0; }
.cari-kart .alt { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--metin-soluk); margin-top: 4px; flex-wrap: wrap; }

/* ---- alan listesi penceresi (DS: izgaranin sol ustundeki nokta) ---- */
.pencere-arka { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 50; display: flex; align-items: center; justify-content: center; padding: 16px; }
.pencere { background: var(--kart); border-radius: var(--yaricap); border: 1px solid var(--cizgi); max-width: 480px; width: 100%; max-height: 80vh; overflow: auto; padding: 16px; }
.pencere h3 { margin: 0 0 10px; font-size: 16px; }
.alan-listesi label { display: flex; gap: 8px; align-items: center; padding: 6px 4px; border-bottom: 1px solid var(--cizgi); font-size: 14px; }
.alan-listesi code { color: var(--metin-soluk); font-size: 12px; }

/* ---- DS kayit formlari (Stoksuz Hareket, Bordro, Cari/Stok kart) ----
   DS'teki gibi: etiket solda / alan sagda, sekmeler, ustte cari bilgi seridi,
   altta dugme satiri + eklenme/silinme zamanlari. Telefonda tek sutun. */
.pencere.genis { max-width: 820px; max-height: 94vh; }
.ds-baslik { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; margin: 0 0 8px; }
.ds-baslik h3 { margin: 0; }
.ds-ust {
  display: flex; gap: 6px 16px; flex-wrap: wrap; align-items: baseline;
  padding: 8px 10px; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 6px; margin-bottom: 8px; font-size: 14px;
}
.ds-ust b { font-weight: 600; }
.sekmeler { display: flex; gap: 4px; border-bottom: 1px solid var(--cizgi); margin: 6px 0 10px; }
.sekme {
  padding: 7px 14px; border: 1px solid var(--cizgi); border-bottom: 0; border-radius: 6px 6px 0 0;
  background: var(--zemin); cursor: pointer; font-size: 14px; color: var(--metin);
}
.sekme.acik { background: var(--kart); font-weight: 600; margin-bottom: -1px; }
.ds-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; }
.ds-izgara .genis { grid-column: 1 / -1; }
.ds-alan { display: grid; grid-template-columns: 116px minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 6px; }
.ds-alan > label { font-size: 13px; color: var(--metin-soluk); text-align: right; }
.ds-alan > label.zorunlu::after { content: ' *'; color: var(--hata); }
.ds-alan input, .ds-alan select, .ds-alan textarea {
  font: inherit; padding: 7px 9px; border: 1px solid var(--cizgi); border-radius: 6px;
  background: var(--zemin); color: var(--metin); width: 100%;
}
.ds-alan textarea { resize: vertical; min-height: 58px; }
.ds-alan input.tutar { text-align: right; font-variant-numeric: tabular-nums; }
.ds-alan input:read-only, .ds-alan input:disabled, .ds-alan select:disabled, .ds-alan textarea:read-only { opacity: .75; }
.ds-alan .yan { display: flex; gap: 6px; align-items: center; }
.ds-alan .yan > * { flex: 1 1 auto; }
.ds-alan .yan > .dar { flex: 0 0 76px; }
/* onay kutulari: genis kutu kuralini almasin; kutu + yazi ayni satirda */
.ds-alan input[type="checkbox"] { width: auto; padding: 0; margin: 0 6px 0 0; flex: 0 0 auto; vertical-align: middle; }
.ds-alan .onay { display: inline-flex; align-items: center; font-size: 14px; color: var(--metin); white-space: nowrap; cursor: pointer; }
.ds-alan .onaylar { display: flex; flex-direction: column; gap: 6px; }
.ds-alan .yan > .onay { flex: 0 0 auto; }
.ds-toplam { font-size: 16px; font-weight: 600; text-align: right; }
.ds-alt {
  display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
  margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--cizgi);
}
.ds-alt .bosluk { flex: 1; }
.ds-alt .zaman { font-size: 12px; color: var(--metin-soluk); line-height: 1.5; }
.dugme.tehlike { background: var(--hata); color: #fff; }
.rozet { font-size: 12px; padding: 2px 8px; border-radius: 10px; border: 1px solid var(--cizgi); color: var(--metin-soluk); }
.rozet.kirmizi { border-color: var(--hata); color: var(--hata); }

/* ==== DS form cizici (js/dsform.js): DS (Delphi VCL) formlari DFM yerlesimiyle ====
   Renkler Windows/VCL sistem renkleri: clBtnFace -> --ds-yuzey, clWindow -> --ds-pencere,
   clWindowText -> --ds-yazi. DS'in kendi renkleri (clCream, clSkyBlue ...) yerlesim dosyasindan gelir. */
:root {
  --ds-yuzey: #f0f0f0; --ds-pencere: #ffffff; --ds-sayfa: #ffffff; --ds-yazi: #000000; --ds-pasif-yazi: #6d6d6d;
  --ds-kenar: #7a7a7a; --ds-kenar-acik: #d5d5d5; --ds-isik: #ffffff; --ds-golge: #a0a0a0;
  --ds-dugme: #e1e1e1; --ds-dugme-kenar: #adadad; --ds-dugme-ust: #e5f1fb; --ds-dugme-bas: #cce4f7;
  --ds-secim: #0078d7; --ds-baslik-zemin: #ffffff; --ds-baslik-yazi: #000000; --ds-menu-ust: #cce8ff; --ds-3d-acik: #e3e3e3;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) {
    --ds-yuzey: #2b3035; --ds-pencere: #1c2126; --ds-sayfa: #23282d; --ds-yazi: #e6e9ec; --ds-pasif-yazi: #8b949e;
    --ds-kenar: #6b7580; --ds-kenar-acik: #3c444c; --ds-isik: #3d454d; --ds-golge: #15191c;
    --ds-dugme: #3a4148; --ds-dugme-kenar: #58616b; --ds-dugme-ust: #34506b; --ds-dugme-bas: #2a4a66;
    --ds-secim: #4e9de6; --ds-baslik-zemin: #1b1f23; --ds-baslik-yazi: #e6e9ec; --ds-menu-ust: #34506b; --ds-3d-acik: #353c43;
  }
}
:root[data-tema="koyu"] {
  --ds-yuzey: #2b3035; --ds-pencere: #1c2126; --ds-sayfa: #23282d; --ds-yazi: #e6e9ec; --ds-pasif-yazi: #8b949e;
  --ds-kenar: #6b7580; --ds-kenar-acik: #3c444c; --ds-isik: #3d454d; --ds-golge: #15191c;
  --ds-dugme: #3a4148; --ds-dugme-kenar: #58616b; --ds-dugme-ust: #34506b; --ds-dugme-bas: #2a4a66;
  --ds-secim: #4e9de6; --ds-baslik-zemin: #1b1f23; --ds-baslik-yazi: #e6e9ec; --ds-menu-ust: #34506b; --ds-3d-acik: #353c43;
}
/* 11.10 (kullanici: Sevkiyat'ta Cari Sec penceresi formun altinda kaldi): ekran olarak cizilen DS formu kendi katmaninda;
   icindeki kontrollerin z-index'i (1000+DFM sirasi, menu cubugu 20000) disariya, ustune acilan pencerelere (z 50) tasmaz */
.dsf { isolation: isolate; }
.dsf-arka {
  position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.35);
  display: flex; align-items: flex-start; justify-content: center; padding: 12px; overflow: auto;
}
.dsf-pencere {
  background: var(--ds-yuzey); color: var(--ds-yazi); border: 1px solid var(--ds-secim);
  box-shadow: 0 10px 32px rgba(0,0,0,.35); max-width: 100%; max-height: calc(100vh - 24px);
  display: flex; flex-direction: column; margin: auto 0;
}
.dsf-baslik {
  flex: 0 0 auto; display: flex; align-items: center; gap: 8px; height: 31px; padding-left: 10px;
  background: var(--ds-baslik-zemin); color: var(--ds-baslik-yazi);
  font: 12px/1 "Segoe UI", system-ui, sans-serif; user-select: none;
}
.dsf-baslik-yazi { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dsf-kapat { width: 46px; height: 31px; border: 0; background: transparent; color: inherit; font-size: 14px; cursor: pointer; flex: 0 0 auto; }
.dsf-kapat:hover { background: #e81123; color: #fff; }
.fatura-gez { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.fg-dugme { width: 22px; height: 22px; line-height: 1; border: 0; border-radius: 3px; background: rgba(255,255,255,.18);
  color: inherit; font-size: 11px; cursor: pointer; flex: 0 0 auto; }
.fg-dugme:hover:not(:disabled) { background: rgba(255,255,255,.32); }
.fg-dugme:disabled { opacity: .35; cursor: default; }
.fg-konum { font-size: 11px; white-space: nowrap; opacity: .85; min-width: 28px; text-align: center; }
.dsf-govde { flex: 1 1 auto; overflow: auto; min-height: 0; }
.dsf-yukleniyor { padding: 24px; color: var(--ds-pasif-yazi); font: 13px "Segoe UI", system-ui, sans-serif; }
.dsf-ileti { flex: 0 0 auto; padding: 5px 10px; font: 13px/1.35 "Segoe UI", system-ui, sans-serif; border-bottom: 1px solid var(--ds-kenar-acik); }
.dsf-ileti.hata { background: #fde7e9; color: #a4262c; }
.dsf-ileti.uyari { background: #fff4ce; color: #5c4400; }
.dsf-ileti.bilgi { background: #dff6dd; color: #0e5c0e; }
/* menu cubugu (DS ana menusu) */
.dsf-menu { flex: 0 0 auto; display: flex; height: 20px; background: var(--ds-pencere); border-bottom: 1px solid var(--ds-kenar-acik);
  font: 12px/1 "Segoe UI", system-ui, sans-serif; position: relative; z-index: 20000; }  /* acilan liste dsform kontrollerinin (z 1000+DFM sirasi, or. ToolBar1) ustunde */
.dsf-menu-kok { position: relative; }
.dsf-menu-ust { height: 20px; padding: 0 8px; border: 1px solid transparent; background: transparent; color: var(--ds-yazi); font: inherit; cursor: default; }
.dsf-menu-ust:hover, .dsf-menu-ust.acik { background: var(--ds-menu-ust); border-color: var(--ds-secim); }
.dsf-menu-liste { position: absolute; left: 0; top: 20px; min-width: 220px; background: var(--ds-pencere); border: 1px solid var(--ds-kenar);
  box-shadow: 2px 3px 8px rgba(0,0,0,.25); padding: 2px 0; }
.dsf-menu-oge { display: flex; width: 100%; justify-content: space-between; gap: 24px; padding: 5px 12px 5px 22px; border: 0;
  background: transparent; color: var(--ds-yazi); font: inherit; text-align: left; white-space: nowrap; cursor: default; }
.dsf-menu-oge:hover:not(:disabled) { background: var(--ds-menu-ust); }
.dsf-menu-oge:disabled { color: var(--ds-pasif-yazi); }
.dsf-menu-kisayol { color: var(--ds-pasif-yazi); }
.dsf-menu-ayrac { height: 1px; background: var(--ds-kenar-acik); margin: 3px 2px; }
.dsf-menu-alt-baslik { padding: 5px 12px; color: var(--ds-pasif-yazi); font-weight: 600; }
/* PC: DS'teki mutlak yerlesim */
.dsf-form { position: relative; color: var(--ds-yazi); font-family: "Microsoft Sans Serif", Tahoma, "Segoe UI", Arial, sans-serif; font-size: 11px; line-height: normal; }
.dsf-form *, .dsf-akis * { box-sizing: border-box; }
.dsf-m { position: absolute; }
.dsf-form input, .dsf-form select, .dsf-form textarea, .dsf-form button { font: inherit; color: inherit; margin: 0; }
.dsf-girdi { border: 1px solid var(--ds-kenar); background: var(--ds-pencere); color: var(--ds-yazi); padding: 0 3px; border-radius: 0; outline: none; min-width: 0; }
.dsf-girdi:focus { border-color: var(--ds-secim); box-shadow: inset 0 0 0 1px var(--ds-secim); }
textarea.dsf-girdi { resize: none; padding: 2px 3px; }
select.dsf-girdi { padding: 0 1px; }
.dsf-girdi.sag { text-align: right; }
.dsf-girdi.buyuk { text-transform: uppercase; }
.dsf-girdi:disabled { color: var(--ds-pasif-yazi); background-color: var(--ds-yuzey); }
/* salt-okunur pasif kutu: zemini tema rengi, yazi da tema rengi (renkli panelden miras yazi koyu temada koyu zemine
   siyah, acik temada acik zemine beyaz kaliyordu; stok karti 06.10). Kendi rengi olan kutuda satir ici stil kazanir. */
.dsf-girdi.salt:disabled { color: var(--ds-yazi); opacity: 1; }
.dsf-girdi.cercevesiz { border-color: transparent; }
/* DS tarih kutulari simgesiz (dar DS kutusuna sigsin); takvim F4 / Alt+asagi / cift tikla acilir */
.dsf-form input.dsf-girdi[type="date"], .dsf-form input.dsf-girdi[type="datetime-local"] { padding: 0 2px; }
.dsf-form input.dsf-girdi[type="date"]::-webkit-calendar-picker-indicator,
.dsf-form input.dsf-girdi[type="datetime-local"]::-webkit-calendar-picker-indicator { display: none; }
.dsf-olcek { overflow: hidden; }
.dsf-girdi.cercevesiz:disabled { color: var(--ds-pasif-yazi); }
input.dsf-girdi[type="number"] { -moz-appearance: textfield; appearance: textfield; }
input.dsf-girdi[type="number"]::-webkit-inner-spin-button, input.dsf-girdi[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
/* DS'in koyu yazi renkleri (--dsf-yazi) tema zemininde: acik temada aynen, koyu temada acilarak */
.dsf-form [style*="--dsf-yazi"], .dsf-akis [style*="--dsf-yazi"] { color: var(--dsf-yazi); }
@media (prefers-color-scheme: dark) { :root:not([data-tema="acik"]) :is(.dsf-form, .dsf-akis) [style*="--dsf-yazi"] { color: color-mix(in srgb, var(--dsf-yazi) 45%, #ffffff); } }
:root[data-tema="koyu"] :is(.dsf-form, .dsf-akis) [style*="--dsf-yazi"] { color: color-mix(in srgb, var(--dsf-yazi) 45%, #ffffff); }
.dsf-etiket { white-space: nowrap; line-height: 1.15; }
.dsf-etiket.sar { white-space: normal; }
.dsf-etiket.sag { display: flex; justify-content: flex-end; }
.dsf-etiket.orta { text-align: center; }
.dsf-etiket.dikey { display: flex; align-items: center; }
.dsf-dbmetin { white-space: nowrap; overflow: hidden; line-height: 1.15; }
.dsf-dbmetin.sag { text-align: right; }
.dsf-dbmetin.orta { text-align: center; }
.dsf-dugme { border: 1px solid var(--ds-dugme-kenar); background: var(--ds-dugme); color: var(--ds-yazi); border-radius: 2px;
  padding: 0 4px; cursor: pointer; white-space: nowrap; overflow: hidden; line-height: 1.1; }
.dsf-dugme.sar { white-space: normal; }
.dsf-dugme:hover:not(:disabled) { background: var(--ds-dugme-ust); border-color: var(--ds-secim); }
.dsf-dugme:active:not(:disabled) { background: var(--ds-dugme-bas); }
.dsf-dugme:focus-visible { outline: 1px dotted var(--ds-yazi); outline-offset: -4px; border-color: var(--ds-secim); }
.dsf-dugme:disabled { color: var(--ds-pasif-yazi); cursor: default; }
.dsf-onay { display: flex; align-items: center; gap: 4px; white-space: nowrap; cursor: default; }
.dsf-onay.sar { white-space: normal; }
.dsf-onay input { width: 13px; height: 13px; margin: 0; flex: 0 0 auto; accent-color: var(--ds-secim); }
.dsf-panel.kabarik { border: 1px solid; border-color: var(--ds-isik) var(--ds-golge) var(--ds-golge) var(--ds-isik); }
.dsf-panel-baslik { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.dsf-kaydirma { overflow: auto; }
.dsf-cerceve { position: absolute; left: 0; right: 0; top: 6px; bottom: 0; border: 1px solid var(--ds-kenar-acik); border-radius: 3px; }
.dsf-cerceve-baslik { position: absolute; left: 8px; top: 0; padding: 0 2px; line-height: 13px; white-space: nowrap; }
.dsf-radyolar { position: absolute; left: 8px; right: 6px; top: 16px; bottom: 4px; display: grid; gap: 0 8px; }
.dsf-radyo { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.dsf-radyo input { margin: 0; width: 13px; height: 13px; accent-color: var(--ds-secim); }
.dsf-bos { border: 1px solid var(--ds-kenar-acik); background: var(--ds-pencere); }
.dsf-yuva { overflow: hidden; }
.dsf-sekmeler { position: absolute; left: 2px; top: 0; height: var(--sekme-h, 21px); display: flex; z-index: 1; }
.dsf-sekme { height: var(--sekme-h, 21px); padding: 0 8px; border: 1px solid var(--ds-kenar-acik); border-bottom: 0; margin-right: -1px;
  background: var(--ds-yuzey); color: var(--ds-yazi); font: inherit; cursor: default; white-space: nowrap; }
.dsf-sekme:hover { background: var(--ds-dugme-ust); }
.dsf-sekme.acik { background: var(--ds-sayfa); height: calc(var(--sekme-h, 21px) + 2px); margin-top: -2px; position: relative; z-index: 1; }
.dsf-sayfa-govde { position: absolute; left: 0; top: calc(var(--sekme-h, 21px) - 1px); right: 0; bottom: 0; border: 1px solid var(--ds-kenar-acik); }
/* VCL alt kontrolleri ust kutunun istemci alaninda kirpar */
.dsf-sayfa-ic { position: absolute; left: 3px; top: 3px; right: 3px; bottom: 3px; overflow: hidden; }
.dsf-form .dsf-panel, .dsf-form .dsf-grup, .dsf-form .dsf-radyo { overflow: hidden; }
.dsf-sayfa-ic.yuvali { overflow: auto; font-size: 12px; }
/* telefon: tek sutun, DS etiketleri ve renkleri */
.dsf-arka.akis { padding: 0; align-items: stretch; }
.dsf-pencere.akis { width: 100%; max-height: none; height: 100%; border: 0; margin: 0; }
/* telefon penceresi: govde ekran boyunu doldurur, akis icerigi uzar; alt cubuk (fatura YEKUN + Baslik / Detay / Secenekler)
   icerik kisa olsa da ekranin en altinda kalir, sekme degisince yer degistirmez (kullanici 05.10) */
.dsf-pencere.akis .dsf-govde { display: flex; flex-direction: column; }
.dsf-pencere.akis .dsf-govde > .dsf-akis { flex: 1 0 auto; }
.dsf-pencere.akis .dsf-govde > .dsf-a-altsabit { margin-top: auto; }
/* DS wsMaximized (fatura formlari): pencere ekrani kaplar, ic yerlesim esner (dsform.js buyuk) */
.dsf-pencere.buyuk { height: calc(100vh - 24px); }
.dsf-pencere.buyuk.tamdolu .dsf-govde { overflow-x: hidden; }
.dsf-akis { display: flex; flex-direction: column; gap: 10px; padding: 10px 12px 0; color: var(--ds-yazi);
  font: 15px/1.35 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.dsf-akis .dsf-a-panel, .dsf-akis .dsf-a-sayfa { display: flex; flex-direction: column; gap: 10px; }
.dsf-akis .dsf-a-alt { position: sticky; bottom: 0; z-index: 2; background: var(--ds-yuzey); border-top: 1px solid var(--ds-kenar-acik);
  margin: 0 -12px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; gap: 6px; }
.dsf-akis .dsf-a-satir { display: flex; flex-direction: column; gap: 3px; }
.dsf-akis .dsf-a-satir.yatay { flex-direction: row; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.dsf-akis .dsf-a-satir.yatay > .dsf-a-kontrol { flex: 1 1 0; align-items: stretch; }   /* taban 0: iki kutulu satir alta kaymaz */
.dsf-akis .dsf-a-satir.yatay > .dsf-a-etiket { min-width: 110px; }
/* ustBaslik: ayni satirda her kutunun ustunde kendi kucuk basligi */
.dsf-akis .dsf-a-sutun { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dsf-akis .dsf-a-sutun > .dsf-a-ustbaslik { font-size: 12px; font-weight: 600; }
/* fatura telefonda Fat. No + Fat. Tarihi tek satirda iki esit sutun (basliklari ustte) */
.dsf-akis [data-birim="DBFtNo"] .dsf-a-kontrol > * { flex: 1 1 50%; max-width: none; }
/* fatura telefon stok giris satiri (kullanici 04.10): Adet ~3 karakter, barkod genis; X ve Stok Bul
   dugmeleri satirin en ustunden baslar (baslik + kutu boyunca), Stok Bul dar ve iki satir */
/* fatura VadeT: tarih + vade gunu tek satirda; gun secimi dar, tarih kesilmesin (yalniz fatura: cek / senet
   formunda da ayni adli tarih kutulari var) */
.fatura-pencere .dsf-akis [data-birim="cxDBDateEdit1"] .dsf-a-kontrol > :not(:first-child),
.fatura-pencere .dsf-akis [data-birim="cxDBDateEdit2"] .dsf-a-kontrol > :not(:first-child) { flex: 0 0 4.4em; max-width: none; }
.dsf-akis [data-birim="EdtAdetKg"] .dsf-a-kontrol,
.dsf-akis [data-birim="EdtStokBilgi"] .dsf-a-kontrol { align-items: stretch; }
.dsf-akis [data-birim="EdtAdetKg"] .dsf-a-kontrol > :first-child { flex: 0 0 4.2em; }
.dsf-akis [data-birim="EdtAdetKg"] .dsf-a-kontrol > :first-child .dsf-girdi { text-align: center; padding-left: 2px; padding-right: 2px; }
.dsf-akis [data-birim="EdtAdetKg"] .dsf-a-kontrol > :nth-child(2) { flex: 1 1 auto; max-width: none; }
.dsf-akis [data-birim="EdtAdetKg"] .dsf-a-kontrol > :nth-child(n+3),
.dsf-akis [data-birim="EdtStokBilgi"] .dsf-a-kontrol > .dsf-dugme { flex: 0 0 auto; max-width: none; }
.dsf-akis [data-birim="EdtAdetKg"] [data-ad="BtnStokBul"],
.dsf-akis [data-birim="EdtStokBilgi"] [data-ad="BtnStokBul"] { width: 3.6em; white-space: normal; line-height: 1.1; padding: 2px 4px; font-size: 13px; }
.dsf-akis [data-birim="EdtAdetKg"] [data-ad="btnStAdTemizle"] { width: 2.4em; padding: 2px; }
/* stok karti telefon ozet satiri: ID | KALAN | CINSI | Stok Bitti tek satirda (kullanici 04.10) */
.stok-ozet { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; padding: 4px 0; }
.stok-ozet > div { display: flex; flex-direction: column; gap: 2px; }
/* stok karti Resim sekmesi (DS Image1 / Image2) ve tam boy onizleme */
.stok-resim { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: var(--ds-pencere); border: 1px solid var(--cizgi, #c8c8c8); box-sizing: border-box; }
.stok-resim img { max-width: 100%; max-height: 100%; object-fit: contain; }
.stok-resim.kucuk { border: 0; background: transparent; }
.dsf-akis .stok-resim { height: 60vw; max-height: 420px; }
.dsf-akis .stok-resim.kucuk { height: 40vw; max-height: 240px; }
.stok-resim-pencere { width: min(960px, 100%); }
.stok-resim-buyuk { display: flex; align-items: center; justify-content: center; padding: 8px; max-height: 75vh; overflow: auto; }
.stok-resim-buyuk img { max-width: 100%; max-height: 72vh; object-fit: contain; }
.web-onizle { width: 100%; height: 70vh; border: 0; background: #fff; display: block; }
.stok-ozet b { font-size: 17px; }
.stok-ozet .stok-durum { color: #e02020; font-weight: 700; align-self: flex-end; }
/* KALAN ve CINSI: buyuk, ayri renk cerceveli (kullanici 04.10; PC'de DbKalan ayni cerceve rengi) */
.stok-ozet .stok-kalan { border: 2px solid var(--stok-kalan); background: var(--stok-kalan-zemin); border-radius: 8px; padding: 2px 12px 4px; }
.stok-ozet .stok-kalan .dsf-a-ustbaslik { color: var(--stok-kalan); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.stok-ozet .stok-kalan b { font-size: 26px; line-height: 1.1; font-variant-numeric: tabular-nums; }
/* Mobil sekmesi: etiket ve kutu tek satirda, etiketler ayni genislikte (kutular hizali) */
.stok-mobil { display: flex; flex-direction: column; gap: 8px; }
.dsf-akis .stok-mobil .dsf-a-satir.yatay { flex-wrap: nowrap; align-items: center; }
.dsf-akis .stok-mobil .dsf-a-satir.yatay > .dsf-a-etiket { flex: 0 0 11.2em; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Stok Bul penceresi: arama kutusu + Bul dugmesi; dar ekranda alt dugmeler sarar */
.stok-sec-ara { display: flex; gap: 8px; }
.stok-sec-ara .cari-sec-ara { flex: 1 1 auto; min-width: 0; }
.stok-sec-ara .dsf-dugme { height: 30px; padding: 0 16px; font: inherit; }
.stok-sec .cari-sec-alt { flex-wrap: wrap; }
@media (max-width: 700px) { .stok-sec .cari-sec-alt .soluk { flex: 1 1 100%; } .stok-sec .cari-sec-alt .dsf-dugme { flex: 1 1 auto; padding: 0 8px; } }
.dsf-akis .dsf-a-etiket { font-size: 13px; font-weight: 600; }
.dsf-akis .dsf-a-kontrol { display: flex; gap: 6px; align-items: center; min-width: 0; }
.dsf-akis .dsf-a-kontrol > * { flex: 1 1 auto; min-width: 0; }
.dsf-akis .dsf-a-kontrol > :not(:first-child) { flex: 0 1 auto; max-width: 45%; }
.dsf-akis .dsf-a-satir.dugmeli .dsf-a-kontrol > .dsf-dugme:first-child { flex: 0 0 96px; min-height: 40px; }
.dsf-akis .dsf-a-satir.dugmeli .dsf-a-kontrol > :not(:first-child) { flex: 1 1 auto; max-width: none; }
/* ust baslikli yan yana kutular esit paylasir (cari kart telefon gruplari, 05.10); fatura stok satiri gibi
   ozel satirlar data-birim kurallariyla ezer */
.dsf-akis .dsf-a-kontrol > .dsf-a-sutun { flex: 1 1 0; max-width: none; }
.dsf-akis .dsf-girdi { width: 100%; font-size: 16px; min-height: 40px; padding: 6px 8px; border-radius: 4px; }
.dsf-akis textarea.dsf-girdi { resize: vertical; }
.dsf-akis .dsf-a-dbmetin { font-size: 14px; }
.dsf-akis .dsf-a-yazi { font-size: 13px; color: var(--ds-pasif-yazi); }
.dsf-akis .dsf-a-dugmeler { display: flex; flex-wrap: wrap; gap: 6px; }
.dsf-akis .dsf-dugme { font: inherit; font-size: 15px; min-height: 42px; padding: 6px 12px; flex: 1 1 auto; border-radius: 4px; white-space: normal; }
.dsf-akis .dsf-onay { font-size: 15px; gap: 8px; white-space: normal; }
.dsf-akis .dsf-onay input { width: 20px; height: 20px; }
.dsf-akis .dsf-a-sekmeler { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--ds-kenar-acik); }
.dsf-akis .dsf-a-sekmeler .dsf-sekme { height: auto; padding: 8px 12px; font-size: 14px; margin: 0; border-radius: 4px 4px 0 0; }
.dsf-akis .dsf-a-sekmeler .dsf-sekme.acik { margin-top: 0; font-weight: 600; }
.dsf-akis .dsf-a-grup { border: 1px solid var(--ds-kenar-acik); border-radius: 4px; padding: 8px 10px 10px; margin: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.dsf-akis .dsf-a-grup > legend { font-size: 13px; font-weight: 600; padding: 0 4px; }
.dsf-akis .dsf-radyolar { position: static; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.dsf-akis .dsf-radyo { font-size: 15px; gap: 6px; }
.dsf-akis .dsf-radyo input { width: 18px; height: 18px; }

/* DS secim pencereleri (Cari Bul, Stok Bul) */
.dsf-pencere.cari-sec { width: min(620px, 100%); }
.cari-sec-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px; font: 13px/1.35 "Segoe UI", system-ui, sans-serif; min-height: 0; }
.cari-sec-aciklama { color: var(--ds-pasif-yazi); }
.cari-sec-ara { height: 30px; font-size: 15px; }
.cari-sec-liste { border: 1px solid var(--ds-kenar); background: var(--ds-pencere); height: min(340px, 50vh); overflow: auto; }
.cari-sec-liste table { width: 100%; border-collapse: collapse; }
.cari-sec-liste th { position: sticky; top: 0; background: var(--ds-yuzey); text-align: left; font-weight: 600; padding: 4px 6px; border-bottom: 1px solid var(--ds-kenar-acik); white-space: nowrap; }
.cari-sec-liste td { padding: 4px 6px; border-bottom: 1px solid var(--ds-kenar-acik); cursor: default; }
.cari-sec-liste .sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cari-sec-liste tr.secili td { background: var(--ds-secim); color: #fff; }
.cari-sec-alt { display: flex; gap: 8px; align-items: center; }
.cari-sec-alt .soluk { flex: 1; }
.cari-sec-alt .dsf-dugme { height: 30px; padding: 0 16px; font: inherit; }
/* DS pnlGrdKodBul: canli stok arama listesi (fatura_satis.js tahsilatBordAc yanindaki canliAra) */
.canli-liste-kap { position: absolute; inset: 0; display: flex; flex-direction: column; min-height: 0;
  background: var(--ds-pencere); border: 2px solid var(--ds-kenar); box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.canli-liste-kapat { position: absolute; top: 2px; right: 2px; z-index: 1; width: 22px; height: 20px; line-height: 20px;
  border: none; background: var(--ds-yuzey); color: var(--ds-yazi); cursor: pointer; font-size: 13px; }
.canli-liste-tablo { flex: 1 1 auto; overflow: auto; display: block; border-collapse: collapse; font: 12px/1.3 "Segoe UI", Tahoma, sans-serif; }
.canli-liste-tablo thead, .canli-liste-tablo tbody { display: block; }
.canli-liste-tablo tr { display: table; width: 100%; table-layout: fixed; }
.canli-liste-tablo th { position: sticky; top: 0; background: var(--ds-yuzey); text-align: left; font-weight: 600; padding: 3px 6px;
  border-bottom: 1px solid var(--ds-kenar-acik); white-space: nowrap; }
.canli-liste-tablo td { padding: 3px 6px; border-bottom: 1px solid var(--ds-kenar-acik); cursor: default; overflow: hidden; text-overflow: ellipsis; }
.canli-liste-tablo th:first-child, .canli-liste-tablo td:first-child { width: 36px; }
.canli-liste-tablo .sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; width: 110px; }
.canli-liste-tablo .canli-araad { font-weight: 600; }
.canli-liste-tablo tr.secili td { background: var(--ds-secim); color: #fff; }
.canli-liste-tablo .bos { text-align: center; color: var(--ds-pasif-yazi); padding: 10px; }
.canli-liste-kesildi { flex: 0 0 auto; padding: 3px 6px; font-size: 11px; color: var(--ds-pasif-yazi); border-top: 1px solid var(--ds-kenar-acik); }
/* Telefonda ekrana ozgu sabit ust serit ve alt cubuk (dsform telefonUst / telefonAlt yuvalari) */
.dsf-a-ust { position: sticky; top: 0; z-index: 30; display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 8px;
  background: var(--ds-yuzey); border-bottom: 1px solid var(--ds-kenar-acik); }
.dsf-a-ust .dsf-dugme { flex: 1 1 auto; min-height: 40px; font-size: 14px; padding: 4px 8px; border-radius: 4px; }
/* fatura (telefon): ust dugmeler tek satir, esit genislik; uzun yazi dugme icinde iki satira iner */
.fatura-pencere .dsf-a-ust { flex-wrap: nowrap; gap: 5px; }
.fatura-pencere .dsf-a-ust .dsf-dugme { flex: 1 1 0; min-width: 0; padding: 3px 4px; font-size: 13px; line-height: 1.15; white-space: normal; }
/* Pesin Satis Raporu (09.10): sorgu dugmeleri baslik satirinin saginda; ozet DS UPesinSatisRapor kutulari */
.ps-ust { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.ps-ust .ps-arac { margin: 0 0 0 auto; flex: 0 1 auto; }
@media (max-width: 700px) { .ps-ust .ps-arac { margin-left: 0; width: 100%; } }
.ps-ds-govde { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px 18px; }
.ps-ds-blok { display: grid; gap: 4px; }
.ps-et { font: 700 13px "Segoe UI", Tahoma, sans-serif; }
.ps-ds-tablo { border-collapse: separate; border-spacing: 3px 1px; }
.ps-ds-tablo thead th { font: 700 13px "Segoe UI", Tahoma, sans-serif; text-align: left; padding: 0 2px; white-space: nowrap; }
.ps-ds-tablo tbody th { font: 700 13px "Segoe UI", Tahoma, sans-serif; text-align: right; padding-right: 4px; white-space: nowrap; }
.ps-ds-tablo th.sag { text-align: right; }
.ps-ds-tablo td { padding: 0; }
.ps-kutu { display: block; box-sizing: border-box; width: 130px; height: 28px; line-height: 26px; padding: 0 5px; text-align: right;
  font: 700 15px "Segoe UI", Tahoma, sans-serif; font-variant-numeric: tabular-nums; color: #000; background: #A0A0A4;
  border: 1px solid; border-color: #6d6d6d #fff #fff #6d6d6d; white-space: nowrap; overflow: hidden; }
/* DS renkleri: clMedGray, clAqua, $0080FF00 (nakit), $0007F8AF (diger); gun toplam yazisi mavi, visa / nakit gun kutusu ayri ton */
.ps-ds-tablo tr.visa .ps-kutu { background: #00FFFF; }
.ps-ds-tablo tr.nakit .ps-kutu { background: #00FF80; }
.ps-ds-tablo tr.diger .ps-kutu { background: #AFF807; }
.ps-ds-tablo .ps-kutu.gun { color: #0000FF; }
.ps-ds-tablo tr.visa .ps-kutu.gun { background: #80FFFF; }
.ps-ds-tablo tr.nakit .ps-kutu.gun { background: #00FF40; }
.ps-ds-tablo tr.iade .ps-kutu { height: 24px; line-height: 22px; font-size: 13px; }
.ps-kutu.devir { width: 100px; height: 26px; line-height: 24px; background: #C8C8C8; }
.ps-kutu.toplam { width: 150px; height: 26px; line-height: 24px; background: #FFFF00; color: #FF0000; font-size: 19px; }
.ps-kutu.isk { width: 101px; height: 24px; line-height: 22px; font-size: 13px; color: #FF0000; }
/* islem pencereleri (fatura, bordro, stoksuz, cek / senet, cari ve stok karti; kullanici 06.10): hepsinde ayni baslik
   "Islem - Cari Adi" + ✕; cikis kirmizi (--cikis-dugme), giris yesil zemin (Cari Hareketleri dugmeleri gibi), yonsuz kartlar notr */
.dsf-pencere.islem-pencere .dsf-baslik { --bz: var(--vurgu); --by: var(--vurgu-metin);
  background: var(--bz); color: var(--by); border-bottom: 3px solid color-mix(in srgb, var(--bz) 60%, #000); }
.dsf-pencere.islem-pencere.giris .dsf-baslik { --bz: var(--giris-dugme); --by: var(--giris-dugme-metin); }
/* 09.10 kullanici: giris / cikis renkleri standart - cikis (satis faturasi, stoksuz satis, cek / senet cikisi, tediye
   bordrosu) basliklari Cari Hareketleri cikis dugmeleriyle ayni renk (--cikis-dugme, DS satis pembesi) */
.dsf-pencere.islem-pencere.cikis .dsf-baslik { --bz: var(--cikis-dugme); --by: var(--cikis-dugme-metin); }
.dsf-pencere.islem-pencere.notr .dsf-baslik { --bz: var(--notr-baslik); --by: var(--notr-baslik-metin); }
.dsf-pencere.islem-pencere .dsf-baslik-yazi { font-weight: 700; font-size: 14px; letter-spacing: .2px; }
.dsf-pencere.islem-pencere .dsf-kapat { font-size: 18px; font-weight: 700; }
/* telefon: yuksek baslik, uzun ad iki satira iner, buyuk ✕ */
.dsf-pencere.akis.islem-pencere .dsf-baslik { height: auto; min-height: 40px; padding: 7px 12px; }
.dsf-pencere.akis.islem-pencere .dsf-baslik-yazi { font: 700 16px/1.25 "Segoe UI", system-ui, sans-serif; white-space: normal; }
.dsf-pencere.akis.islem-pencere .dsf-kapat { width: 50px; height: 44px; margin: -7px -12px -7px 0; font-size: 22px; }
.dsf-a-altsabit { position: sticky; bottom: 0; z-index: 30; background: var(--ds-yuzey); border-top: 1px solid var(--ds-kenar-acik); }
.dsf-a-toplam { display: flex; justify-content: space-between; align-items: center; padding: 6px 12px;
  background: #000; color: #00e676; font: 700 20px/1.2 Consolas, monospace; }
.dsf-a-toplam .ad { font: 600 13px "Segoe UI", system-ui, sans-serif; color: #9adbb4; }
.dsf-a-toplam .tur { font: 700 16px/1.2 Consolas, monospace; color: #00e676; }
.dsf-a-sekmec { display: flex; }
.dsf-a-sekmec button { flex: 1 1 0; min-height: 46px; border: 0; background: transparent; color: var(--ds-pasif-yazi);
  font: 600 14px "Segoe UI", system-ui, sans-serif; cursor: pointer; border-top: 3px solid transparent; }
.dsf-a-sekmec button.acik { color: var(--ds-secim); border-top-color: var(--ds-secim); }

/* DS Rapor Listesi: yazdirma / PDF penceresi (ekran/rapor_yazdir.js) */
.dsf-pencere.rapor-yazdir { width: min(560px, 100%); }
@media (min-width: 900px) { .dsf-pencere.rapor-yazdir { width: min(1000px, 100%); } }
.rapor-yazdir-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px; font: 13px/1.35 "Segoe UI", system-ui, sans-serif; min-height: 0; overflow: auto; }
.rapor-listesi { display: flex; flex-wrap: wrap; gap: 6px; }
/* 2026-10-06: hizli HTML gorunumleri + DS sablonu (rapor turu PDF / HTML / Excel; FibaPOS Server Rapor paneli gibi) */
.rapor-bolum { display: flex; flex-direction: column; gap: 6px; padding-bottom: 8px; border-bottom: 1px solid var(--ds-kenar-acik); }
.rapor-bolum-baslik { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; font-weight: 700; }
.rapor-turler { display: inline-flex; border: 1px solid var(--ds-kenar); border-radius: 4px; overflow: hidden; }
.rapor-tur { min-height: 30px; padding: 0 14px; border: 0; border-left: 1px solid var(--ds-kenar); background: var(--ds-yuzey); color: inherit; font: inherit; font-weight: 600; cursor: pointer; }
.rapor-tur:first-child { border-left: 0; }
.rapor-tur.secili { background: var(--ds-secim); color: #fff; }
.rapor-grup { display: flex; flex-direction: column; gap: 4px; }
.rapor-grup-ad { font-size: 12px; font-weight: 600; color: var(--ds-pasif-yazi); }
.rapor-secim.rapor-html { border-color: var(--ds-secim); }
/* rapor tanimlari (DS Rapor Listesi) */
.rapor-tanim-liste tbody tr { cursor: pointer; }
.rapor-tanim-liste tbody tr.secili td { background: var(--ds-secim); color: #fff; }
.rapor-tanim-liste tbody tr.eksik td { color: var(--ds-pasif-yazi); }
.rapor-tanim-yok { color: #c62828; font-weight: 600; }
.rapor-tanim-dosyalar { padding: 2px; font: 12px/1.3 "Segoe UI", Tahoma, sans-serif; }
.rapor-tanim-dosya { padding: 3px 6px; cursor: pointer; border-bottom: 1px solid var(--ds-kenar-acik); overflow-wrap: anywhere; }
.rapor-tanim-dosya.secili { background: var(--ds-secim); color: #fff; }
.rapor-tanim-dosya small { opacity: .7; }
.dsf-akis .rapor-tanim-dosyalar { max-height: 30vh; }
.dsf-akis .rapor-tanim-dosya { padding: 8px; font-size: 14px; }
.dsf-akis .rapor-tanim-liste td { padding: 8px 6px; font-size: 14px; }
.rapor-tanim-alt { display: flex; gap: 6px; padding: 8px 12px; }
.rapor-tanim-alt .dsf-dugme { flex: 1 1 0; min-height: 42px; font-size: 15px; border-radius: 4px; white-space: normal; }
.dsf-akis .rapor-tanim-dosyalar + .dsf-a-dugmeler { margin-top: 6px; }
.rapor-secim { min-height: 32px; padding: 0 12px; font: inherit; }
.rapor-secim.secili, .rapor-secim.secili:hover:not(:disabled) { background: var(--ds-secim); border-color: var(--ds-secim); color: #fff; }
.rapor-secim:disabled { cursor: progress; }
.rapor-varsayilan { opacity: .75; font-size: 12px; }
.rapor-eylemler { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rapor-eylemler .rapor-dosya { flex: 1 1 100%; color: var(--ds-pasif-yazi); overflow-wrap: anywhere; }
/* rapor durumu: hazirlanirken amber zemin + donen isaret, hazir olunca tatli yesil */
.rapor-durum { border: 1px solid; border-radius: 6px; padding: 8px 10px; }
.rapor-durum.hazirlaniyor { display: flex; align-items: center; gap: 8px; font-weight: 600;
  background: var(--durum-bekle-zemin); border-color: var(--durum-bekle-cizgi); color: var(--durum-bekle-yazi); }
.rapor-durum.hazir { background: var(--durum-hazir-zemin); border-color: var(--durum-hazir-cizgi); }
.rapor-durum.hazir .rapor-dosya { color: var(--durum-hazir-yazi); }
.rapor-donen { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor;
  border-right-color: transparent; animation: rapor-don .8s linear infinite; }
@keyframes rapor-don { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rapor-donen { animation: none; border-right-color: currentColor; opacity: .6; } }
.rapor-eylemler .dsf-dugme { min-height: 36px; padding: 0 20px; font: inherit; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.rapor-onizleme { width: 100%; height: min(70vh, 900px); border: 1px solid var(--ds-kenar); background: #fff; }
@media (max-width: 700px) {
  .rapor-secim { min-height: 44px; font-size: 15px; flex: 1 1 100%; text-align: left; }
  .rapor-tur { min-height: 38px; padding: 0 16px; font-size: 15px; }
  .rapor-eylemler .dsf-dugme { min-height: 46px; font-size: 16px; flex: 1 1 0; }
}

/* DS izgara gorunumlu tablolar (sekme yuvalari) ve adres formu */
.dsf-tablo-kap { position: absolute; inset: 0; overflow: auto; background: var(--ds-pencere); border: 1px solid var(--ds-kenar); }
.dsf-akis .dsf-tablo-kap { position: static; max-height: 60vh; }
.dsf-tablo { width: 100%; border-collapse: collapse; font: 12px/1.3 "Segoe UI", Tahoma, sans-serif; color: var(--ds-yazi); }
.dsf-tablo th { position: sticky; top: 0; background: var(--ds-yuzey); text-align: left; font-weight: 600; padding: 3px 6px;
  border: 1px solid var(--ds-kenar-acik); white-space: nowrap; }
.dsf-tablo td { padding: 3px 6px; border: 1px solid var(--ds-kenar-acik); vertical-align: top; }
.dsf-tablo td.genis { min-width: 200px; }
.dsf-tablo td.sag, .dsf-tablo th.sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dsf-tablo td.bos { text-align: center; color: var(--ds-pasif-yazi); padding: 10px; }
.dsf-tablo td.dugmeler { white-space: nowrap; }
.dsf-tablo td.dugmeler .dsf-dugme { height: 22px; padding: 0 8px; font: inherit; }
.dsf-tablo tr.secili td { background: var(--ds-secim); color: #fff; }
.dsf-tablo tr.toplam td { font-weight: 700; border-top: 2px solid var(--cizgi, #999); }
.dsf-tablo .hucre { width: 92px; min-width: 60px; padding: 1px 4px; height: auto; }
.dsf-tablo select.hucre { width: 52px; }
.stok-kombin { width: min(980px, 100%); }
.kombin-govde { display: flex; flex-direction: column; gap: 10px; padding: 10px; max-height: 80vh; overflow: auto; }
.kombin-listeler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kombin-listeler fieldset { border: 1px solid var(--cizgi, #c8c8c8); padding: 6px 8px; max-height: 220px; overflow: auto; }
.kombin-oge { display: inline-flex; align-items: center; gap: 4px; margin: 2px 10px 2px 0; white-space: nowrap; }
.kombin-ekle { display: flex; gap: 6px; margin-top: 6px; }
.kombin-dugmeler { display: flex; gap: 8px; flex-wrap: wrap; }
.stok-kombin .dsf-tablo input.dsf-girdi { width: 100%; min-width: 70px; box-sizing: border-box; }
@media (max-width: 700px) { .kombin-listeler { grid-template-columns: minmax(0, 1fr); } }
.dsf-akis [data-izgara] { max-height: 60vh; overflow: auto; }
.dsf-pencere.adres-form { width: min(640px, 100%); }
.adres-form-govde { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; padding: 10px;
  font: 12px/1.3 "Segoe UI", Tahoma, sans-serif; overflow: auto; }
.adres-form-govde > label { display: flex; flex-direction: column; gap: 2px; font-weight: 600; }
.adres-form-govde > label.genis { grid-column: 1 / -1; }
.adres-form-govde > label.onay { flex-direction: row; align-items: center; gap: 6px; }
.adres-form-govde .dsf-girdi { height: 26px; font: 13px "Segoe UI", Tahoma, sans-serif; font-weight: 400; }
.adres-form-govde textarea.dsf-girdi { height: auto; }
.adres-form-alt { display: flex; gap: 8px; padding: 8px 10px 10px; }
.adres-form-alt .dsf-dugme { height: 30px; padding: 0 14px; font: 13px "Segoe UI", Tahoma, sans-serif; }
@media (max-width: 700px) { .adres-form-govde { grid-template-columns: minmax(0, 1fr); } .adres-form-govde .dsf-girdi { height: 40px; font-size: 16px; } }

/* satis faturasi kalem izgarasi: DS DBGrid1 gibi hucre ici duzenleme */
.fatura-satirlari .dsf-tablo td { padding: 1px 4px; }
.fatura-satirlari .dsf-tablo td.genis { min-width: 260px; }
.fatura-satirlari .hucre { width: 100%; border: 1px solid transparent; background: transparent; color: inherit; font: inherit; padding: 2px 3px; }
.fatura-satirlari .hucre.sag { text-align: right; font-variant-numeric: tabular-nums; min-width: 70px; }
.fatura-satirlari .hucre:focus { border-color: var(--ds-secim); background: var(--ds-pencere); outline: none; }
.fatura-satirlari tr.secili .hucre { color: #fff; }
.fatura-satirlari tr.secili .hucre:focus { color: var(--ds-yazi); }
.dsf-akis .fatura-satirlari .hucre { min-height: 36px; font-size: 15px; }
.dsf-akis .fatura-satirlari .dsf-tablo td.genis { min-width: 104px; }
.dsf-akis .fatura-satirlari .dsf-tablo th, .dsf-akis .fatura-satirlari .dsf-tablo td { padding-left: 3px; padding-right: 3px; }
.dsf-akis .fatura-satirlari .hucre.sag { min-width: 56px; }
.dsf-akis .fatura-satirlari .dsf-tablo td { vertical-align: middle; font-size: 14px; }

/* ---- Cari Hareketleri (DS FHAREKET) ---- */
/* Hareketler dugmeleri DS FHAREKET gibi 4 sutun: 1. satir cikislar (cari borclanir), 2. satir girisler
   (cari alacaklanir, yesil), 3. satir diger islemler; uzun yazi kutu icinde sarar (kullanici 04.10) */
.hr-dugmeler { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; max-width: 900px; }
/* PC'de fare tekerlegi / dokunma hareketiyle gizlenince (kullanici 06.10: gride daha fazla yer) satir
   tamamen akistan cikar; telefonda bu sinif kullanilmaz (gercek sayfa kaydirmasi kendi konumunu yonetir) */
.hr-dugmeler-gizli { display: none; }
.hr-dugmeler .dugme { font-size: 14px; padding: 8px 8px; white-space: normal; line-height: 1.2; text-align: center; min-height: 42px; }
.hr-dugmeler .dugme.hr-giris { background: var(--giris-dugme); color: var(--giris-dugme-metin); }
.hr-dugmeler .dugme.hr-cikis { background: var(--cikis-dugme); color: var(--cikis-dugme-metin); }
/* DS grd_harDrawColumnCell hucre renkleri (js/izgara.js hucreBicimle): secili satirda imlec rengi baskin;
   renkli yazili hucrede icerideki borc / alacak span'i hucre rengini alir */
.tabulator-row.tabulator-selected .tabulator-cell.hc-renkli { background-color: transparent !important; color: inherit !important; }
.tabulator-cell.hc-yazi span { color: inherit !important; }
@media (max-width: 520px) { .hr-dugmeler { gap: 4px; } .hr-dugmeler .dugme { font-size: 12.5px; padding: 6px 4px; } }
.hr-dugmeler .fkey { opacity: .7; font-size: 12px; margin-left: 4px; }
/* DS PnlCekSenet: cek / senet cikisi ustte, girisi altta (besinci sutun); dar ekranda en alt sira */
.hr-dugmeler.cek-var { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1100px; }
@media (max-width: 520px) { .hr-dugmeler.cek-var { grid-template-columns: repeat(4, minmax(0, 1fr)); } .hr-dugmeler .hr-cek { order: 1; } }
/* Dugme satiri kaydirilip ekrandan cikinca (IntersectionObserver) sagda yuzen ikon + ayni dugmelerin
   popup'u (kullanici 06.10: gridin ustunde, dugme hizasinda bir menu gibi) */
.hr-dugme-ikon {
  position: fixed; right: 16px; top: 64px; z-index: 22; width: 46px; height: 46px; border-radius: 50%;
  border: none; background: var(--vurgu); color: var(--vurgu-metin); font-size: 19px; cursor: pointer;
  box-shadow: 0 3px 10px rgba(0,0,0,.28); display: flex; align-items: center; justify-content: center;
}
.hr-dugme-ortu { position: fixed; inset: 0; z-index: 20; }
.hr-dugme-popup {
  position: fixed; top: 64px; right: 16px; z-index: 21; background: var(--kart);
  border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: 0 10px 30px rgba(0,0,0,.3);
  padding: 10px; max-width: min(900px, calc(100vw - 32px)); max-height: calc(100vh - 90px); overflow: auto;
}
.hr-dugme-popup .hr-dugmeler { margin-bottom: 0; }
@media (max-width: 700px) { .hr-dugme-popup { left: 16px; right: 16px; max-width: none; } }
.hr-tablo { width: 100%; border-collapse: collapse; font-size: 14px; }
.hr-tablo th { text-align: left; font-weight: 600; color: var(--metin-soluk); padding: 6px 8px; border-bottom: 1px solid var(--cizgi); position: sticky; top: 0; background: var(--kart); white-space: nowrap; }
.hr-tablo td { padding: 5px 8px; border-bottom: 1px solid var(--cizgi); }
.hr-tablo tr.secili td { background: color-mix(in srgb, var(--vurgu) 16%, var(--kart)); }
.hr-tablo tr.acilir { cursor: pointer; }
.hr-kaydirma { max-height: calc(100vh - 330px); overflow: auto; border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: var(--kart); }

/* ---- ekran genisligi ---- */
.yalniz-telefon { display: none; }
@media (max-width: 700px) {
  .icerik { padding: 10px; }
  .yalniz-pc { display: none !important; }
  .yalniz-telefon { display: block; }
  .baslik { padding: 8px 10px; }

  /* 2026-09-28 (nihai): telefonda TEK AKIS. Ic ice iki kaydirma cubugu
     (sayfa + liste) kullanicinin fare/tutamac kaydirmasini sasirtiyordu.
     Listenin KENDI kaydiricisi tamamen kaldirildi: kartlar sayfa akisinda
     buyur, filtreler sayfayla birlikte yukari kayar, TEK cubuk kalir.
     Sabit secim cubugu icin icerige, cubugun olculen yuksekligi kadar
     (--secim-bar-h, uygulama.js yazar) alt bosluk verilir; sayfa sonuna
     inildiginde son kayit cubugun ustunde tam gorunur. Sonsuz yukleme
     telefonda pencere kaydirmasina baglidir (kartliste.js). */
  .kartlar { max-height: none !important; overflow: visible !important;
             padding-bottom: calc(var(--secim-bar-h, 0px) + 8px); }
  /* DS formlari telefonda tek sutun, etiket alanin ustunde */
  .ds-izgara { grid-template-columns: minmax(0, 1fr); }
  .ds-alan { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .ds-alan > label { text-align: left; }
  /* tek sutunda DS'in iki sutunlu sirasi karisir; --ts telefondaki sirayi verir (bordro: tutarlar bir arada) */
  .ds-izgara > * { order: var(--ts, 0); }
  .pencere-arka { padding: 0; align-items: stretch; }
  .pencere.genis { max-height: 100vh; border-radius: 0; }

  /* liste ekranlari (Cari Bul, Stok Ara, Fatura Bul, Bordro Bul) telefonda duzenli izgara (kullanici 04.10):
     arama cubugu 6 sutun - arama 4 + arama alani 2, secimler ve dugmeler yan yana ikiser (ac-tam: tam satir);
     filtre cipleri 2 esit sutun (cip-tam: tam satir); satici genislikleri (style width) ezilir */
  .arac-cubugu.liste-arac { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
  .arac-cubugu.liste-arac > * { grid-column: span 3; min-width: 0; width: auto !important; }
  .arac-cubugu.liste-arac > input[type="search"] { grid-column: span 4; min-width: 0; }
  .arac-cubugu.liste-arac > input[type="text"], .arac-cubugu.liste-arac > .ac-dar { grid-column: span 2; }
  .arac-cubugu.liste-arac > .ac-tam, .arac-cubugu.liste-arac > input.ac-tam { grid-column: 1 / -1; }
  .arac-cubugu.liste-arac > .dugme { padding: 9px 6px; }
  .cipler.liste-cip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .cipler.liste-cip > .cip { width: auto !important; min-width: 0; min-height: 36px; }
  .cipler.liste-cip > span.cip { display: flex; align-items: center; justify-content: center; text-align: center; }
  .cipler.liste-cip > .cip-tam { grid-column: 1 / -1; }
  /* daha sik izgara (kullanici 04.10): Cari Bul 4 sutun (dort isaret tek satir; para/kayit/kurlar tek satir),
     Stok Ara 3 sutun (filtreler 3 satir); dar sutunda yazi kucuk, isaret metni gerekirse iki satira sarar */
  .cipler.liste-cip.cip-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .cipler.liste-cip.cip-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
  .cipler.cip-3 > .cip, .cipler.cip-4 > .cip { font-size: 12px; line-height: 1.15; padding: 4px 6px; }
  .cipler.cip-3 > span.cip, .cipler.cip-4 > span.cip { white-space: normal; padding: 3px 4px; }
  .cipler.cip-3 > select.cip, .cipler.cip-4 > select.cip { padding: 4px 2px 4px 6px; }
  .cipler.liste-cip > .cip-tarih { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
  .cip-tarih > select { flex: 1 1 100%; min-width: 0; }
  .cip-tarih > input[type="date"] { flex: 1 1 0; min-width: 0; }

  /* listede secilen kaydin alt cubugu: dugmeler esit genislikte tek satir */
  .secim-eylemler .dugme, .secim-eylemler .dugme.ikincil { flex: 1 1 0; min-width: 0; padding: 9px 6px; text-align: center; }
}

/* ---- Ana menu: FibaPOS ana cercevesi (alt sekme cubugu + ikonlu dosemeler) ---- */
.ana-menu { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); width: 100%; max-width: 1000px; margin: 0 auto; box-sizing: border-box; }
.am-ust { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 14px; }
.am-ust h1 { font-size: 20px; margin: 0; }
.am-ust p { margin: 0; font-size: 13px; }
.am-bilgi { background: var(--uyari-zemin); border: 1px solid var(--uyari-cizgi); border-radius: var(--yaricap); padding: 8px 12px; margin-bottom: 12px; }
/* kullanici 08.10: satirda 2 (telefon) ya da 4 (genis ekran) doseme - 3 / 5 olmaz; ciftler sol/sag anlamli.
   11.10 (kullanici): dosemeler DS alt menu gruplariyla; grup basligi genis ekranda solda, telefonda ustte; dosemeler kucuk,
   simge solda yazi sagda, hepsi esit genislikte (tek kalan doseme genislemez). Raporlar grubu en altta. */
.am-grup { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 12px 16px; align-items: start; padding: 12px 0; border-top: 1px solid var(--cizgi); }
.am-grup:first-of-type { border-top: 0; padding-top: 2px; }
.am-grup-baslik { margin: 0; padding-top: 14px; font-size: 12px; font-weight: 700; letter-spacing: .05em; line-height: 1.35;
  text-transform: uppercase; color: var(--metin-soluk); text-wrap: balance; }
.am-grup-rapor .am-grup-baslik { color: var(--vurgu); }
.am-dosemeler { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.am-doseme { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px;
  min-height: 52px; padding: 7px 10px; background: var(--kart); color: var(--metin); border: 1px solid var(--cizgi);
  border-radius: 10px; font: inherit; cursor: pointer; text-align: left; -webkit-tap-highlight-color: transparent;
  transition: transform .08s ease, box-shadow .12s ease; }
.am-doseme:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.am-doseme:active { transform: scale(.97); }
.am-doseme:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.am-doseme.am-giris { background: var(--doseme-giris); border-color: var(--doseme-giris-cizgi); }
.am-doseme.am-cikis { background: var(--doseme-cikis); border-color: var(--doseme-cikis-cizgi); }
.am-resim { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 9px; background: var(--doseme-ikon-zemin); color: var(--metin-soluk); }
.am-resim img { width: 32px; height: 32px; object-fit: contain; }
.am-yazi { display: flex; flex-direction: column; min-width: 0; }
.am-ad { font-size: 13.5px; font-weight: 600; line-height: 1.25; }
.am-not { font-size: 11.5px; color: var(--metin-soluk); }
.am-ara-sayi { font-size: 13px; font-weight: 500; color: var(--metin-soluk); margin-left: 6px; }
.am-ara-bos { padding: 18px 4px; color: var(--metin-soluk); }
/* 11.10 Hizli Menu (DS ana ekran buyuk dugmeleri): diger sekmelerden bir boy buyuk */
.am-hizli .am-doseme { min-height: 62px; padding: 9px 12px; }
.am-hizli .am-resim { width: 44px; height: 44px; }
.am-hizli .am-resim img { width: 38px; height: 38px; }
.am-hizli .am-ad { font-size: 14.5px; }
/* 11.10 (kullanici): sekmeler DS ust menusu kadar; sigmazsa serit saga / sola kayar (kenar oklari, tekerlek, kaydirma).
   Secili sekme Mac Dock gibi bir tik onde (yukari + buyuk) ve parlak; cubugun kendisi eskisi gibi. */
.am-sekmeler { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; align-items: stretch;
  background: var(--sekme-cubuk); border-top: 1px solid var(--cizgi); padding: 0 max(4px, env(safe-area-inset-left, 0px)) calc(4px + env(safe-area-inset-bottom, 0px));
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.am-serit { flex: 1 1 auto; min-width: 0; display: flex; gap: 2px; overflow-x: auto; overflow-y: hidden; padding: 10px 4px 0;
  scrollbar-width: none; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.am-serit::-webkit-scrollbar { display: none; }
/* fareyle surukleyerek kaydirma: surukleme sirasinda yapisma ve yazi secimi kapali */
@media (hover: hover) { .am-serit { cursor: grab; } }
.am-serit.am-surukle { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.am-serit.am-surukle .am-sekme { pointer-events: none; }
.am-sekme { flex: 1 0 68px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 4px 3px; background: none; border: 0;
  border-radius: 12px; color: var(--sekme-pasif); font: inherit; font-size: 11.5px; white-space: nowrap; cursor: pointer; scroll-snap-align: center;
  -webkit-tap-highlight-color: transparent; transform-origin: 50% 100%; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.am-sekme svg { fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; stroke-linecap: round; }
.am-sekme svg .am-cizgi { fill: none; }
@media (hover: hover) { .am-sekme:not(.secili):hover { transform: translateY(-3px) scale(1.05); color: var(--metin); } }
.am-sekme.secili { color: var(--vurgu); font-weight: 600; transform: translateY(-7px) scale(1.1);
  background: linear-gradient(180deg, color-mix(in srgb, var(--kart) 85%, #fff) 0%, color-mix(in srgb, var(--vurgu) 16%, var(--kart)) 100%);
  box-shadow: 0 6px 14px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.7) inset; }
.am-sekme.secili svg { fill: currentColor; }
.am-sekme.secili svg .am-delik { fill: var(--kart); }
.am-sekme.secili svg .am-ic { stroke: var(--kart); fill: none; }
.am-sekme.secili svg .am-cizgi { fill: none; stroke-width: 2; }
.am-kaydir { flex: 0 0 22px; align-self: center; border: 0; background: none; color: var(--sekme-pasif); font: inherit; font-size: 24px; line-height: 1;
  padding: 0 0 4px; cursor: pointer; }
.am-kaydir:hover { color: var(--vurgu); }
@media (min-width: 761px) {
  .am-sekmeler { left: 50%; right: auto; transform: translateX(-50%); width: min(780px, calc(100% - 32px)); bottom: 12px;
    border: 1px solid var(--cizgi); border-radius: 14px; box-shadow: 0 4px 18px rgba(0,0,0,.12); }
}
@media (max-width: 760px) {
  .am-grup { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px 0; }
  .am-grup-baslik { padding-top: 0; }
  .am-dosemeler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .am-doseme { min-height: 48px; padding: 6px 8px; gap: 8px; }
  .am-resim { width: 32px; height: 32px; }
  .am-resim img { width: 26px; height: 26px; }
  .am-ad { font-size: 12.5px; }
}

/* ---- Cari hareketler: DS FHAREKET siyah Borc / Alacak paneli (PnlBorcAlacak). Renkler DS'teki gibi sabit:
   siyah zemin, camgobegi (clAqua) etiket, yesil (clLime) tutar; tema degisse de ayni kalir ---- */
.hr-ozet { background: #000; color: #fff; border-radius: var(--yaricap); padding: 10px 14px; margin-bottom: 10px;
  display: flex; flex-direction: column; gap: 6px; font-variant-numeric: tabular-nums; }
.hr-ozet-bakiye { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.hr-oz-et { color: #00ffff; font-weight: 700; font-size: 13px; }
.hr-oz-et.buyuk { font-size: 18px; }
.hr-oz-et.alti { text-decoration: underline; }
.hr-oz-kalan { color: #00ff00; font-size: 26px; font-weight: 700; letter-spacing: .5px; }
.hr-oz-durum { color: #00ff00; font-size: 13px; font-weight: 700; }
.hr-oz-yesil { color: #00ff00; }
.hr-oz-kirmizi { color: #ff4d4d; }
.hr-ozet-tutarlar { display: flex; flex-wrap: wrap; gap: 2px 18px; font-size: 15px; }
/* Cari Hareketleri ust bolum: dar ekranda alt alta, genis ekranda baslik + siyah panel tek satir (panel kalan genisligi doldurur) */
.hr-ust-sol { margin-bottom: 8px; }
/* 11.10 Hareketler: Cari Bul listesinde onceki / sonraki */
.hr-gez { display: inline-flex; align-items: center; gap: 4px; }
.hr-gez .dugme { padding: 4px 10px; min-width: 34px; }
.hr-gez-sira { font-size: 12px; font-variant-numeric: tabular-nums; min-width: 44px; text-align: center; }
/* 09.10: Detay / Ekstre / Extre Yazdir / Yenile + Alan listesi tek satir, "Cari Bul"un altinda (siyah panelin solu) */
.hr-ikincil { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px; }
.hr-ikincil .dugme { padding: 6px 14px; font-size: 14px; }
.hr-ikincil .fkey { opacity: .7; font-size: 12px; margin-left: 4px; }
@media (min-width: 900px) {
  .hr-ust { display: flex; align-items: stretch; gap: 14px; margin-bottom: 10px; }
  .hr-ust > .hr-ust-kol { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
  .hr-ust-kol > .hr-ust-sol, .hr-ust-kol > .hr-ikincil { margin-bottom: 0; flex-wrap: wrap; }
  /* Panel icerigine gore dogal genislikte kalsin (eskiden flex:1 ile tum bos alani dolduruyordu,
     kullanici 07.10: cok genis, dogal genislikte ve saga yasli olsun) */
  .hr-ust > .hr-ozet { flex: 0 1 auto; min-width: 0; margin-bottom: 0; margin-left: auto; display: flex; flex-direction: column; justify-content: center; }
}
/* fatura kalem izgarasi (PC, ekran/fatura_izgara.js): duzenlenir hucre hafif renkli, duzenlenen turuncu cerceveli */
.fatura-izgara { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.fatura-izgara .fi-arac { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; padding: 1px 2px; font-size: 11px; min-height: 18px; }
.fatura-izgara .fi-arac .cip { padding: 0 8px; font-size: 11px; line-height: 16px; }
.fatura-izgara .fi-ipucu { margin-left: auto; font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fatura-izgara .fi-hata { color: #c62828; }
.fatura-izgara .fi-kap { flex: 1 1 auto; min-height: 0; outline: none; }
.fatura-izgara .fi-kap:focus-visible { box-shadow: inset 0 0 0 1px var(--ds-secim); }
.fatura-izgara .fi-tablo { height: 100%; }
.fatura-izgara .tabulator { font-size: 12px; border: 1px solid var(--ds-kenar); background: var(--ds-pencere); }
.fatura-izgara .tabulator-row .tabulator-cell { padding: 2px 4px; }
.fatura-izgara .tabulator-cell.fi-duzenlenir { cursor: text; }
.fatura-izgara .tabulator-row:not(.secili) .tabulator-cell.fi-duzenlenir { background: color-mix(in srgb, var(--ds-pencere) 90%, #ffcc80); }
.fatura-izgara .tabulator-row.secili, .fatura-izgara .tabulator-row.secili .tabulator-cell { background: var(--ds-secim); color: #fff; }
.fatura-izgara .tabulator-cell.tabulator-editing { padding: 0; }
.fatura-izgara .fi-editor { width: 100%; height: 100%; min-height: 20px; border: 0; outline: 2px solid #f57c00; outline-offset: -2px; padding: 0 4px;
  font: inherit; background: #fff8e1; color: #000; }
.fatura-izgara .fi-editor.sag { text-align: right; }

/* ---------------------------------------------------------------- Ajanda (DS TSAjanda, FullCalendar 6) */
.ajanda { display: flex; flex-direction: column; min-height: 0; }
.aj-ust { margin-bottom: 8px; flex-wrap: wrap; gap: 8px; }
.aj-ust h2 { margin: 0; font-size: 18px; }
.aj-donem { font-weight: 600; color: var(--metin-soluk); text-transform: capitalize; }
.aj-arac { flex-wrap: wrap; gap: 6px; }
.aj-ust .aj-arac { margin: 0 0 0 auto; }
@media (max-width: 700px) { .aj-ust .aj-arac { margin-left: 0; width: 100%; } }
.aj-gezinme, .aj-gorunumler { display: inline-flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.aj-gorunumler .dugme.acik { background: var(--vurgu); color: var(--vurgu-metin); border-color: var(--vurgu); }
.aj-takvim-kap { position: relative; height: calc(100vh - 250px); min-height: 420px; margin-top: 8px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 6px; }
.aj-takvim { height: 100%; }
.aj-yukleniyor { position: absolute; inset: 0; display: grid; place-items: center; }
/* FullCalendar renkleri tema simgelerinden */
.aj-takvim .fc { --fc-border-color: var(--cizgi); --fc-page-bg-color: var(--kart); --fc-neutral-bg-color: var(--zemin);
  --fc-today-bg-color: color-mix(in srgb, var(--vurgu) 10%, transparent); --fc-event-bg-color: var(--vurgu);
  --fc-event-border-color: var(--vurgu); --fc-event-text-color: var(--vurgu-metin); --fc-list-event-hover-bg-color: var(--zemin);
  --fc-now-indicator-color: #e53935; --fc-non-business-color: color-mix(in srgb, var(--metin) 4%, transparent);
  --fc-highlight-color: color-mix(in srgb, var(--vurgu) 18%, transparent); color: var(--metin); font-size: 13px; }
.aj-takvim .fc a { color: inherit; text-decoration: none; }
.aj-takvim .fc .fc-col-header-cell-cushion, .aj-takvim .fc .fc-daygrid-day-number { text-transform: capitalize; }
.aj-takvim .fc-event { cursor: pointer; }
/* sanal kaynaklar: DS renkleri (LRENK) yoksa kaynak rengi */
.aj-takvim .aj-k-CekSenet { --fc-event-bg-color: #fc9684; --fc-event-border-color: #e07a68; --fc-event-text-color: #3a120b; }
.aj-takvim .aj-k-DogumGunu { --fc-event-bg-color: #fce674; --fc-event-border-color: #d9c24f; --fc-event-text-color: #3a3205; }
.aj-takvim .aj-k-Evlilik { --fc-event-bg-color: #849ee4; --fc-event-border-color: #6680c8; --fc-event-text-color: #0e1a3a; }
.aj-takvim .aj-k-VadeS, .aj-takvim .aj-k-PrgUyar { --fc-event-bg-color: #a4de64; --fc-event-border-color: #84bc48; --fc-event-text-color: #1b3306; }
.aj-takvim .aj-sistem { --fc-event-bg-color: #90a4ae; --fc-event-border-color: #78909c; --fc-event-text-color: #10181c; }
/* DURUM (cxScheduler "Show time as"): solda serit */
.aj-takvim .fc-timegrid-event.aj-durum-1, .aj-takvim .fc-daygrid-block-event.aj-durum-1 { border-left: 4px dashed #1e88e5; }
.aj-takvim .fc-timegrid-event.aj-durum-2, .aj-takvim .fc-daygrid-block-event.aj-durum-2 { border-left: 4px solid #1e88e5; }
.aj-takvim .fc-timegrid-event.aj-durum-3, .aj-takvim .fc-daygrid-block-event.aj-durum-3 { border-left: 4px solid #8e24aa; }
.aj-takvim .fc-list-event.aj-durum-3 .fc-list-event-title::after { content: " · ofis dışı"; color: var(--metin-soluk); }
/* olay penceresi */
.ajanda-olay { width: min(620px, 100%); }
.aj-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px; overflow: auto; font: 13px "Segoe UI", Tahoma, sans-serif; }
.aj-govde .dsf-ileti { border: 0; border-radius: 2px; }
.aj-alan { display: flex; flex-direction: column; gap: 2px; font-weight: 600; min-width: 0; }
.aj-alan.aj-dar { flex-direction: row; align-items: center; gap: 6px; margin-left: auto; }
.aj-alan .dsf-girdi, .aj-satir > select.dsf-girdi { height: 26px; font: 13px "Segoe UI", Tahoma, sans-serif; font-weight: 400; }
.aj-alan textarea.dsf-girdi { height: auto; resize: vertical; padding: 3px; }
.aj-satir { display: flex; gap: 8px 14px; align-items: flex-end; flex-wrap: wrap; }
.aj-satir > .aj-onay { align-self: center; }
.aj-zaman { display: flex; gap: 4px; }
.aj-zaman input[type="time"] { width: 92px; }
.aj-onay { display: inline-flex; align-items: center; gap: 6px; }
.aj-etiketler { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.aj-etiket-baslik { font-weight: 600; margin-right: 6px; }
.aj-etiket { width: 28px; height: 28px; padding: 3px; border: 1px solid transparent; border-radius: 4px; background: transparent; cursor: pointer; }
.aj-etiket.secili { border-color: var(--ds-secim); box-shadow: inset 0 0 0 1px var(--ds-secim); }
.aj-etiket:disabled { cursor: default; }
.aj-renk { display: block; width: 100%; height: 100%; border-radius: 3px; border: 1px solid rgba(0,0,0,.2); }
.aj-renk.bos { background: repeating-linear-gradient(45deg, transparent 0 4px, var(--ds-kenar-acik) 4px 5px); }
.aj-dugmeler { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; padding-top: 4px; }
.aj-dugmeler .bosluk { flex: 1; }
.aj-dugmeler .dsf-dugme { height: 28px; padding: 0 12px; }
.dsf-dugme.varsayilan { border-color: var(--ds-secim); box-shadow: inset 0 0 0 1px var(--ds-secim); font-weight: 600; }
/* hatirlatici (cxScheduler Reminders) */
.aj-hatirlatici { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 45; width: min(360px, calc(100vw - 32px));
  background: var(--ds-yuzey); color: var(--ds-yazi); border: 1px solid var(--ds-secim); box-shadow: 0 10px 32px rgba(0,0,0,.35);
  font: 13px "Segoe UI", Tahoma, sans-serif; display: flex; flex-direction: column; max-height: 60vh; }
.aj-h-baslik { display: flex; align-items: center; height: 31px; padding-left: 10px; background: var(--ds-baslik-zemin); color: var(--ds-baslik-yazi); }
.aj-h-baslik b { flex: 1; }
.aj-h-liste { list-style: none; margin: 0; padding: 0; overflow: auto; }
.aj-h-liste li { padding: 8px 10px; border-bottom: 1px solid var(--ds-kenar-acik); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; }
.aj-h-ad { font-weight: 600; overflow-wrap: anywhere; }
.aj-h-liste .soluk { grid-column: 1; }
.aj-h-dugmeler { grid-column: 2; grid-row: 1 / span 2; display: flex; gap: 4px; align-items: center; }
.aj-h-dugmeler .dsf-dugme, .aj-h-alt .dsf-dugme { height: 26px; padding: 0 8px; }
.aj-h-alt { display: flex; gap: 6px; align-items: center; padding: 6px 10px; flex-wrap: wrap; }
.aj-h-alt label { margin-right: auto; }
@media (max-width: 700px) {
  .aj-donem { flex: 1 1 100%; margin-left: 0; }
  .aj-takvim-kap { height: calc(100dvh - 290px); min-height: 360px; padding: 2px; }
  .aj-takvim .fc { font-size: 12px; }
  .dsf-arka:has(> .ajanda-olay) { padding: 0; }
  .ajanda-olay { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
  .ajanda-olay .dsf-girdi { height: 40px !important; font-size: 16px !important; }
  .ajanda-olay .aj-zaman { flex: 1 1 100%; }
  .ajanda-olay .aj-zaman input[type="date"] { flex: 1 1 auto; }
  .ajanda-olay .aj-dugmeler .dsf-dugme { height: 40px; flex: 1 1 auto; }
  .aj-etiket { width: 36px; height: 36px; }
  .aj-hatirlatici { left: 16px; right: 16px; width: auto; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}

/* klavyeyle dolasma: izgara odakta (yalniz klavyeyle gelince cerceve) */
.tabulator:focus { outline: none; }
.tabulator:focus-visible { outline: 2px solid var(--vurgu); outline-offset: -2px; }

/* ---------------------------------------------------------------- kamerayla barkod (kamera_barkod.js) */
.dsf-kamera, .dsf-kamera-dugme { display: inline-grid; place-items: center; padding: 0; cursor: pointer;
  border: 1px solid var(--ds-dugme-kenar); background: var(--ds-dugme); color: var(--ds-yazi); border-radius: 2px; }
.dsf-kamera:hover, .dsf-kamera-dugme:hover { background: var(--ds-dugme-ust); border-color: var(--ds-secim); }
.dsf-kamera-dugme { width: 30px; flex: 0 0 auto; }
.dsf-kamera-kap { display: flex; gap: 4px; flex: 1 1 auto; min-width: 0; }
.dsf-kamera-kap > input { flex: 1 1 auto; min-width: 0; }
.dsf-kamera-kap > .dsf-kamera { flex: 0 0 auto; width: 44px; }
.kamera-dugme { display: inline-grid; place-items: center; padding: 0 10px; }
.kamera-dugme svg { width: 20px; height: 20px; }
.kamera-barkod { width: min(560px, 100%); }
.kb-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px; font: 13px "Segoe UI", Tahoma, sans-serif; }
.kb-video-kap { position: relative; background: #000; aspect-ratio: 4 / 3; max-height: 62vh; overflow: hidden; border-radius: 4px; }
.kb-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.kb-cerceve { position: absolute; inset: 22% 8%; border: 2px solid rgba(255,255,255,.85); border-radius: 8px; box-shadow: 0 0 0 999px rgba(0,0,0,.25); }
.kb-cizgi { position: absolute; left: 4%; right: 4%; top: 50%; height: 2px; background: #e53935; box-shadow: 0 0 6px #e53935; }
.kb-durum { text-align: center; min-height: 18px; }
.kb-alt { display: flex; gap: 6px; align-items: center; }
.kb-alt .bosluk { flex: 1; }
.kb-alt .dsf-dugme, .kb-alt .dsf-girdi { height: 28px; }
@media (max-width: 700px) {
  .dsf-arka:has(> .kamera-barkod) { padding: 0; }
  .kamera-barkod { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
  .kb-video-kap { aspect-ratio: 3 / 4; max-height: 70dvh; }
  .kb-alt .dsf-dugme, .kb-alt .dsf-girdi { height: 44px; font-size: 16px; }
  .kb-alt .dsf-dugme { flex: 1 1 auto; }
}
.dsf-kamera:disabled, .dsf-kamera-dugme:disabled { color: var(--ds-pasif-yazi); cursor: default; background: var(--ds-dugme); }

/* ---------------------------------------------------------------- çek/senet Sıralı Ekle */
.sirali-ekle { width: min(520px, 100%); }
.se-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px; font: 13px "Segoe UI", Tahoma, sans-serif; max-height: 80vh; overflow: auto; }
.se-alan { display: flex; flex-direction: column; gap: 3px; font-weight: 600; }
.se-alan .dsf-girdi { height: 26px; font: 13px "Segoe UI", Tahoma, sans-serif; }
.se-aralik { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-weight: 400; }
.se-aralik label { display: inline-flex; align-items: center; gap: 4px; }
.se-gun { width: 70px; }
.se-onizleme { max-height: 300px; overflow: auto; }
.se-onizleme tr.toplam td { font-weight: 700; border-top: 1px solid var(--ds-kenar); }
.se-dugmeler { display: flex; gap: 6px; align-items: center; }
.se-dugmeler .bosluk { flex: 1; }
.se-dugmeler .dsf-dugme { height: 28px; padding: 0 12px; }
@media (max-width: 700px) {
  .dsf-arka:has(> .sirali-ekle) { padding: 0; }
  .sirali-ekle { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
  .se-alan .dsf-girdi { height: 40px; font-size: 16px; }
  .se-dugmeler .dsf-dugme { height: 44px; flex: 1 1 auto; }
}

/* hatirlatici (08.10): DS Hatirlatmalar penceresi gibi tek liste */
.aj-hatirlatici { width: min(420px, calc(100vw - 32px)); max-height: 70vh; }
.aj-h-secili { padding: 8px 10px; border-bottom: 1px solid var(--ds-kenar-acik); }
.aj-h-liste { flex: 1 1 auto; min-height: 60px; overflow: auto; margin: 6px 10px; border: 1px solid var(--ds-kenar); background: var(--ds-pencere); outline: none; }
.aj-h-liste:focus-visible { border-color: var(--ds-secim); }
.aj-h-satir { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 3px 6px; cursor: default; }
.aj-h-satir.aj-h-kafa { position: sticky; top: 0; background: var(--ds-yuzey); border-bottom: 1px solid var(--ds-kenar-acik); font-weight: 600; }
.aj-h-satir.secili { background: var(--ds-secim); color: #fff; }
.aj-h-konu { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aj-h-neden { white-space: nowrap; font-variant-numeric: tabular-nums; }
.aj-h-alt .bosluk { flex: 1; }
.aj-h-alt select.dsf-girdi { height: 26px; }
@media (max-width: 700px) { .aj-h-alt .dsf-dugme, .aj-h-alt select.dsf-girdi { height: 40px; } .aj-h-satir { padding: 8px 6px; } }

/* stok karti Detay- Ozel Kod: anlasmali firmalar (DS ListFirmalar) */
.stok-firmalar { height: 100%; min-height: 56px; overflow: auto; border: 1px solid var(--ds-kenar); background: var(--ds-pencere); color: var(--ds-yazi); font: 11px "MS Sans Serif", "Segoe UI", sans-serif; box-sizing: border-box; }
.stok-firma { padding: 0 3px; line-height: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: default; }
.stok-firma.secili { background: var(--ds-secim); color: #fff; }
@media (max-width: 700px) { .stok-firmalar { min-height: 88px; font-size: 14px; } .stok-firma { line-height: 28px; padding: 0 8px; } }

/* stok karti barkod satiri / Gelismis Grid / alan listesi (stok_barkod.js) */
.barkod-satir { width: min(460px, 100%); }
.bs-govde, .ks-govde { display: flex; flex-direction: column; gap: 6px; padding: 10px; font: 13px "Segoe UI", Tahoma, sans-serif; max-height: 80vh; overflow: auto; }
.bs-alan { display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: center; gap: 8px; }
.bs-alan .dsf-girdi { height: 26px; font: 13px "Segoe UI", Tahoma, sans-serif; }
.bs-onay, .ks-oge { display: flex; align-items: center; gap: 6px; }
.bs-dugmeler { display: flex; gap: 6px; padding-top: 4px; }
.bs-dugmeler .bosluk { flex: 1; }
.bs-dugmeler .dsf-dugme { height: 28px; padding: 0 12px; }
.gelismis-grid { width: min(1200px, 100%); }
.gg-arac { display: flex; gap: 10px; align-items: center; padding: 8px 10px; font: 13px "Segoe UI", Tahoma, sans-serif; flex-wrap: wrap; }
.gg-arac .bosluk { flex: 1; }
.gg-arac select.dsf-girdi, .gg-arac .dsf-dugme { height: 26px; }
.gg-izgara { margin: 0 10px 10px; }
.kolon-sec { width: min(380px, 100%); }
@media (max-width: 700px) {
  .dsf-arka:has(> .barkod-satir), .dsf-arka:has(> .gelismis-grid), .dsf-arka:has(> .kolon-sec) { padding: 0; }
  .barkod-satir, .gelismis-grid, .kolon-sec { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
  .bs-alan { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .bs-alan .dsf-girdi { height: 40px; font-size: 16px; }
  .bs-dugmeler .dsf-dugme { height: 44px; flex: 1 1 auto; }
}

/* Toplu Stok Guncelle (stok_toplu.js) */
.toplu-guncelle { width: min(1240px, 100%); }
.tg-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px; font: 13px "Segoe UI", Tahoma, sans-serif; max-height: 90vh; overflow: auto; }
.tg-suzgec, .tg-panel { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: flex-end; }
.tg-panel { padding: 8px; border: 1px solid var(--ds-kenar-acik); border-top: 0; }
.tg-alan { display: flex; flex-direction: column; gap: 2px; min-width: 150px; }
.tg-alan.tg-genis { min-width: min(420px, 100%); }
.tg-alan > span:first-child { color: var(--ds-pasif-yazi); font-size: 12px; }
.tg-alan .dsf-girdi { height: 26px; font: 13px "Segoe UI", Tahoma, sans-serif; }
.tg-satir { display: flex; align-items: center; gap: 4px; }
.tg-satir .dsf-girdi { flex: 1; min-width: 0; width: 140px; }
.tg-degil { display: flex; align-items: center; gap: 1px; cursor: pointer; font-weight: 600; }
.tg-onay { display: flex; align-items: center; gap: 6px; min-height: 26px; }
.tg-dugmeler { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.tg-dugmeler .dsf-dugme, .tg-durum .dsf-dugme { height: 28px; padding: 0 12px; }
.tg-sekmeler { display: flex; gap: 2px; border-bottom: 1px solid var(--ds-kenar-acik); margin-bottom: -8px; }
.tg-sekmeler button { border: 1px solid var(--ds-kenar-acik); border-bottom: 0; background: var(--ds-dugme); color: var(--ds-yazi); padding: 4px 12px; font: inherit; cursor: pointer; }
.tg-sekmeler button.secili { background: var(--ds-pencere); font-weight: 600; position: relative; top: 1px; }
.tg-durum { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.tg-durum .bosluk { flex: 1; }
.tg-izgara .tg-yeni { background: color-mix(in srgb, #f5c400 28%, var(--ds-pencere)); font-weight: 600; }
.dsf-etiket.dsf-tik { cursor: pointer; text-decoration: underline dotted; }
@media (max-width: 700px) {
  .dsf-arka:has(> .toplu-guncelle) { padding: 0; }
  .toplu-guncelle { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
  .tg-alan { min-width: 0; flex: 1 1 45%; }
  .tg-alan .dsf-girdi { height: 40px; font-size: 16px; }
  .tg-dugmeler .dsf-dugme { height: 44px; flex: 1 1 auto; }
}

/* Ajanda telefon Ay görünümü + gün listesi (ajanda_tel.js, FibaPOS uAjanda / uOrganizasyon uyarlaması) */
:root { --ayt-hucre: #ecebfb; --ayt-hucre-dis: #f6f6fc; --ayt-cizgi: #c9c7ea; --ayt-baslik: #b9cff3; --ayt-baslik-yazi: #1f2933;
  --ayt-bugun: #1b6ec2; --ayt-resmi: #d32f2f; --ayt-hs: #e4e2f6; }
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) { --ayt-hucre: #23253a; --ayt-hucre-dis: #1a1c2b; --ayt-cizgi: #3b3e5e; --ayt-baslik: #2b3d5c;
    --ayt-baslik-yazi: #e6e9ec; --ayt-bugun: #4e9de6; --ayt-resmi: #ff7b6b; --ayt-hs: #282a42; }
}
:root[data-tema="koyu"] { --ayt-hucre: #23253a; --ayt-hucre-dis: #1a1c2b; --ayt-cizgi: #3b3e5e; --ayt-baslik: #2b3d5c;
  --ayt-baslik-yazi: #e6e9ec; --ayt-bugun: #4e9de6; --ayt-resmi: #ff7b6b; --ayt-hs: #282a42; }
.ayt { height: 100%; display: flex; flex-direction: column; border: 1px solid var(--ayt-cizgi); background: var(--ayt-cizgi); }
.ayt-baslik { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: var(--ayt-baslik); }
.ayt-baslik span { text-align: center; font-size: 12px; font-weight: 600; padding: 4px 0; color: var(--ayt-baslik-yazi); }
.ayt-izgara { flex: 1; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; min-height: 0; }
.ayt-gun { display: flex; flex-direction: column; align-items: stretch; gap: 1px; min-width: 0; min-height: 0; overflow: hidden;
  padding: 2px 1px 1px; border: 0; border-radius: 0; background: var(--ayt-hucre); color: var(--metin); text-align: left;
  font: inherit; cursor: pointer; }
.ayt-gun.hs { background: var(--ayt-hs); }
.ayt-gun.dis { background: var(--ayt-hucre-dis); }
.ayt-gun.dis .ayt-no { color: var(--metin-soluk); font-weight: 600; }
.ayt-gun.secili { box-shadow: inset 0 0 0 2px var(--ayt-bugun); }
.ayt-gun:focus-visible { outline: 2px solid var(--vurgu); outline-offset: -2px; }
.ayt-no { font-weight: 700; font-size: 13px; line-height: 16px; white-space: nowrap; }
.ayt-no small { font-size: 11px; font-weight: 700; }
.ayt-no.resmi { color: var(--ayt-resmi); }
.ayt-gun.bugun .ayt-no { display: inline-block; align-self: flex-start; padding: 0 5px; border-radius: 9px;
  background: var(--ayt-bugun); color: var(--vurgu-metin); }
.ayt-olay { display: block; font-size: 10.5px; line-height: 12px; padding-left: 2px; border-left: 2px solid transparent;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ayt-olay.resmi { color: var(--ayt-resmi); font-size: 9px; line-height: 11px; letter-spacing: -.3px; border-left: 0; padding-left: 0; white-space: normal; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.ayt-fazla { font-size: 10px; line-height: 12px; color: var(--metin-soluk); }
.aj-gun { width: min(560px, 100%); }
.ayg-gezinme { display: flex; align-items: center; gap: 8px; padding: 8px 10px 4px; }
.ayg-gezinme .dugme { min-width: 40px; font-size: 18px; line-height: 1; }
.ayg-tarih { flex: 1; text-align: center; font-size: 15px; }
.ayg-konumlar { padding: 2px 10px; }
.aj-gun > .hata { margin: 4px 10px; }
.ayg-liste { display: flex; flex-direction: column; gap: 6px; padding: 6px 10px; overflow: auto; max-height: 60vh; }
.ayg-bos { padding: 18px 0; text-align: center; }
.ayg-satir { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; text-align: left; font: inherit; color: var(--metin);
  background: var(--kart); border: 1px solid var(--cizgi); border-left: 4px solid var(--cizgi); border-radius: 6px; cursor: pointer; }
.ayg-satir.resmi { border-left-color: var(--ayt-resmi); }
.ayg-satir.resmi .ayg-baslik { color: var(--ayt-resmi); }
.ayg-baslik { font-weight: 700; font-size: 14px; overflow-wrap: anywhere; }
.ayg-zaman { font-size: 12px; color: var(--metin-soluk); font-variant-numeric: tabular-nums; }
.ayg-mesaj { font-size: 12px; overflow-wrap: anywhere; }
.ayg-dugmeler { display: flex; gap: 6px; align-items: center; padding: 8px 10px 10px; flex-wrap: wrap; }
.ayg-dugmeler .bosluk { flex: 1; }
@media (max-width: 700px) {
  .ajanda .aj-takvim-kap:has(> .ayt) { height: auto; min-height: 0; }
  .dsf-arka.aj-gun-arka { padding: 0; }
  .aj-gun { width: 100%; min-height: 100dvh; max-height: none; border: 0; display: flex; flex-direction: column; }
  .aj-gun .ayg-liste { flex: 1; max-height: none; }
  .ayg-satir { padding: 10px 12px; }
  .ayg-dugmeler .dugme { min-height: 44px; flex: 1 1 auto; }
}

/* Satis faturasi yardimci pencereleri (fatura_ek.js): Sik Kullanilan Stoklar, Para Ustu, Degerleri Guncelle */
.sik-kullan { width: min(980px, 100%); }
.sk-bos { padding: 16px; font: 13px "Segoe UI", Tahoma, sans-serif; color: var(--ds-pasif-yazi); }
.sk-yerlesim { display: grid; grid-template-columns: 200px minmax(0, 1fr); min-height: min(62vh, 560px); max-height: 78vh;
  font: 13px "Segoe UI", Tahoma, sans-serif; }
.sk-gruplar { display: flex; flex-direction: column; gap: 2px; padding: 8px; overflow: auto; border-right: 1px solid var(--ds-kenar-acik);
  background: var(--ds-dugme); }
.sk-grup { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 0; border-radius: 6px;
  background: transparent; color: var(--ds-yazi); font: inherit; text-align: left; cursor: pointer; }
.sk-grup:hover { background: var(--ds-menu-ust); }
.sk-grup.secili { background: var(--ds-secim); color: #fff; font-weight: 600; }
.sk-grup-ad { overflow-wrap: anywhere; }
.sk-grup-sayi { flex: 0 0 auto; min-width: 22px; padding: 1px 6px; border-radius: 9px; background: rgba(0,0,0,.08); text-align: center;
  font-size: 11px; font-variant-numeric: tabular-nums; }
.sk-grup.secili .sk-grup-sayi { background: rgba(255,255,255,.25); }
.sk-icerik { display: flex; flex-direction: column; gap: 8px; padding: 10px; overflow: auto; min-width: 0; }
.sk-ust { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sk-baslik { margin: 0; flex: 1 1 auto; font-size: 15px; font-weight: 600; }
.sk-ara { width: 220px; height: 28px; }
.sk-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.sk-dugme { display: flex; flex-direction: column; justify-content: space-between; gap: 6px; min-height: 70px; padding: 8px 10px;
  border: 1px solid var(--ds-kenar-acik); border-left: 5px solid var(--ds-kenar-acik); border-radius: 6px; background: var(--ds-pencere);
  color: var(--ds-yazi); font: inherit; text-align: left; cursor: pointer; }
.sk-dugme:hover, .sk-dugme:focus-visible { border-color: var(--ds-secim); box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.sk-ad { font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.sk-alt { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; }
.sk-birim { color: var(--ds-pasif-yazi); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sk-fiyat { font-variant-numeric: tabular-nums; }
.para-ustu { width: min(360px, 100%); }
.pu-govde { display: flex; flex-direction: column; gap: 8px; padding: 12px; font: 14px "Segoe UI", Tahoma, sans-serif; }
.pu-satir { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 8px; }
.pu-satir b, .pu-satir .dsf-girdi { text-align: right; font-size: 18px; font-variant-numeric: tabular-nums; }
.pu-satir .dsf-girdi { height: 32px; }
.pu-ust b { font-size: 24px; color: var(--ds-secim); }
.pu-ust.eksik b { color: #c62828; }
.deger-doldur { width: min(420px, 100%); }
@media (max-width: 700px) {
  .dsf-arka:has(> .sik-kullan) { padding: 0; }
  .sik-kullan { width: 100%; min-height: 100dvh; max-height: none; border: 0; display: flex; flex-direction: column; }
  .sk-yerlesim { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); flex: 1; max-height: none; }
  .sk-gruplar { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--ds-kenar-acik); }
  .sk-grup { flex: 0 0 auto; padding: 10px 12px; }
  .sk-ara { width: 100%; height: 40px; font-size: 16px; }
  .sk-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pu-satir .dsf-girdi { height: 44px; font-size: 18px; }
}

/* Muhasebe hesabi / fatura baslik adresi secimi (fatura_ek.js) */
.mhsb-sec { width: min(720px, 100%); }
.mh-liste { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.mh-liste th, .mh-liste td { padding: 3px 6px; border-bottom: 1px solid var(--ds-kenar-acik); text-align: left; }
.mh-liste tr.secili td { background: var(--ds-secim); color: #fff; }
.mh-liste tbody tr { cursor: pointer; }
.ba-oge { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 8px 10px; text-align: left; font: inherit;
  border: 1px solid var(--ds-kenar-acik); background: var(--ds-dugme); color: var(--ds-yazi); cursor: pointer; }
.ba-oge:hover, .ba-oge:focus-visible { background: var(--ds-secim); color: #fff; }
@media (max-width: 700px) {
  .dsf-arka:has(> .mhsb-sec) { padding: 0; }
  .mhsb-sec { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
}

/* e-Fatura penceresi (fatura_ek.js EFaturaPenceresi) */
.efatura { width: min(640px, 100%); }
.ef-tablo { width: 100%; border-collapse: collapse; }
.ef-tablo th { width: 150px; text-align: left; font-weight: 400; color: var(--ds-pasif-yazi); padding: 2px 6px; vertical-align: top; }
.ef-tablo td { padding: 2px 6px; overflow-wrap: anywhere; }
.ef-dugmeler { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.ef-dugmeler .bosluk { flex: 1; }
.ef-dugmeler .dsf-dugme { height: 28px; padding: 0 10px; }
@media (max-width: 700px) {
  .dsf-arka:has(> .efatura) { padding: 0; }
  .efatura { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
  .ef-dugmeler .dsf-dugme { height: 44px; flex: 1 1 45%; }
}

/* Faturayi Ice Aktar (fatura_ek.js FaturaIceAktarPenceresi) */
.ice-aktar { width: min(980px, 100%); }
.ia-ozet { font-weight: 600; }
.ia-uyari { color: #b45309; }
.ia-tablo-kap { overflow: auto; max-height: 44vh; border: 1px solid var(--ds-kenar-acik); }
.ia-tablo { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ia-tablo th { position: sticky; top: 0; background: var(--ds-dugme); text-align: left; font-weight: 600; padding: 3px 6px; white-space: nowrap; }
.ia-tablo td { padding: 3px 6px; border-top: 1px solid var(--ds-kenar-acik); }
.ia-tablo .sag { text-align: right; }
.ia-tablo tr.yok td { color: #b91c1c; }
.ia-sec { display: flex; gap: 6px; align-items: center; }

/* Kampanya penceresi (fatura_ek.js KampanyaPenceresi, DS TFKampanyaUygula) */
.kampanya { width: min(1280px, 100%); }
.km-ust { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 8px 10px; border-bottom: 1px solid var(--ds-kenar-acik);
  font: 13px "Segoe UI", Tahoma, sans-serif; }
.km-ust .bosluk { flex: 1; }
.km-ust .dsf-dugme { height: 28px; padding: 0 12px; }
.km-durum { font-weight: 600; }
.km-durum.onizle { color: #1f3a93; }
.km-durum.tamam { color: #1b7f2a; }
.km-durum.uyari { color: #8a1c1c; }
.km-durum.hata { color: #c62828; }
.km-govde { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: 10px; padding: 10px; max-height: 76vh; overflow: auto;
  font: 12px "Segoe UI", Tahoma, sans-serif; }
.km-sol, .km-sag { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.km-bas { font-weight: 600; font-size: 13px; padding: 2px 0; border-bottom: 1px solid var(--ds-kenar-acik); }
.km-tablo-kap { overflow: auto; max-height: 30vh; border: 1px solid var(--ds-kenar-acik); }
.km-tablo-kap.kisa { max-height: 18vh; }
.km-tablo { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.km-tablo th { position: sticky; top: 0; background: var(--ds-dugme); text-align: left; font-weight: 600; padding: 3px 6px;
  border-bottom: 1px solid var(--ds-kenar-acik); white-space: nowrap; }
.km-tablo td { padding: 3px 6px; border-bottom: 1px solid var(--ds-kenar-acik); vertical-align: top; }
.km-tablo .sag { text-align: right; }
.km-tablo tbody tr { cursor: pointer; }
.km-tablo tr.secili td { background: var(--ds-secim); color: #fff; }
.km-tablo tr.cikarildi td { text-decoration: line-through; color: var(--ds-pasif-yazi); }
.km-tablo tr.secili.cikarildi td { color: #fff; }
.km-neden { min-width: 160px; }
.km-dugmeler { display: flex; gap: 6px; }
.km-dugmeler .dsf-dugme { height: 28px; padding: 0 12px; }
.km-uyarilar { margin: 0; padding: 6px 8px; list-style: none; border: 1px solid var(--ds-kenar-acik); max-height: 14vh; overflow: auto; }
/* DS GrdFaturaDrawColumnCell rol renkleri */
.km-tablo tr.kmp-hediye td { background: #A8E6A8; color: #000; font-weight: 600; }
.km-tablo tr.kmp-indirimli td { background: #FFD699; color: #000; font-weight: 600; }
.km-tablo tr.kmp-asil td { background: #F2F2F2; color: #000; font-weight: 600; }
/* satis izgarasi: DS KampanyaSatirRengi - kampanya urunu (uygulanmadi) tatli sari, uygulandi cok acik yesil */
.fatura-satirlari .tabulator-row.kmp-sari:not(.secili) { background: #FFF3B0; }
.fatura-satirlari .tabulator-row.kmp-yesil:not(.secili) { background: #E2F7E2; }
@media (max-width: 900px) {
  .km-govde { grid-template-columns: minmax(0, 1fr); max-height: none; }
}
@media (max-width: 700px) {
  .dsf-arka:has(> .kampanya) { padding: 0; }
  .kampanya { width: 100%; min-height: 100dvh; max-height: none; border: 0; }
  .km-ust .dsf-dugme, .km-dugmeler .dsf-dugme { height: 44px; flex: 1 1 auto; }
}

/* Cek / Senet Listesi PC (10.10): DS TFCekSenetRapor - solda suzgec paneli, sagda sekmeler, yuzen toplam paneli, durum cubugu.
   DS kutu renkleri (krem, gri, siyah yazi) iki temada da sabit */
.csl-govde { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 8px; align-items: start; }
.csl-sol { display: flex; flex-direction: column; gap: 6px; padding: 6px; border: 1px solid var(--cizgi); border-radius: 6px; background: var(--kart);
  font: 12px "Segoe UI", Tahoma, sans-serif; max-height: calc(100vh - 150px); overflow: auto; }
.csl-kutu { border: 1px solid var(--cizgi); border-radius: 4px; padding: 4px 6px; display: grid; gap: 4px; }
.csl-sat { display: grid; grid-template-columns: 74px minmax(0, 1fr); align-items: center; gap: 4px; }
.csl-sat input, .csl-sat select, .csl-cari input, .csl-alan select { height: 24px; font: 12px "Segoe UI", Tahoma, sans-serif; min-width: 0; width: 100%; box-sizing: border-box; }
.csl-alan { display: grid; gap: 2px; }
.csl-cari { display: flex; gap: 2px; }
.csl-cari input { flex: 1 1 auto; width: auto; min-width: 0; }
.csl-cari .csl-kucuk { flex: 0 0 auto; }
.csl-kucuk { font: 11px "Segoe UI", Tahoma, sans-serif; padding: 0 6px; height: 24px; border: 1px solid var(--cizgi); background: var(--zemin);
  color: var(--metin); border-radius: 3px; cursor: pointer; white-space: nowrap; }
.csl-kucuk:disabled { opacity: .5; cursor: default; }
.csl-radyo { display: flex; gap: 12px; border: 1px solid var(--cizgi); border-radius: 4px; padding: 6px; }
.csl-durumlar { display: grid; gap: 2px; font-size: 15px; }
.csl-durumlar label { padding-left: 22px; display: flex; gap: 4px; align-items: center; }
.csl-durumlar .csl-ana { padding-left: 0; font-weight: 700; }
.csl-durumlar .csl-kucuk-onay { font-size: 11px; padding-left: 40px; }
.csl-sirala > span { font-weight: 700; font-size: 13px; }
.csl-sirala select { height: 28px; font-size: 15px; }
.csl-onay { display: flex; gap: 4px; align-items: center; }
.csl-alt-dugmeler { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 4px; }
.csl-alt-dugmeler .dugme { min-height: 52px; font-size: 13px; padding: 4px; }
.csl-alt-dugmeler .csl-genis { grid-column: 1 / -1; min-height: 32px; }
.csl-sag { position: relative; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.csl-sekmeler { display: flex; align-items: center; gap: 2px; border-bottom: 1px solid var(--cizgi); }
.csl-sekmeler [role=tab] { border: 1px solid var(--cizgi); border-bottom: 0; background: var(--zemin); color: var(--metin); padding: 5px 12px;
  border-radius: 4px 4px 0 0; font: 12px "Segoe UI", Tahoma, sans-serif; cursor: pointer; }
.csl-sekmeler [role=tab].acik { background: var(--kart); font-weight: 700; }
.csl-rapor { position: relative; }
.csl-izgara .tabulator-cell { font-weight: 700; }
.csl-toplam { position: absolute; right: 30px; bottom: 30px; z-index: 5; width: 400px; max-width: calc(100% - 40px); background: #F0F0F0; color: #000;
  border: 1px solid #808080; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); padding: 4px; font: 11px "Segoe UI", Tahoma, sans-serif; }
.csl-ozet-tablo { width: 100%; border-collapse: collapse; background: #fff; font-variant-numeric: tabular-nums; }
.csl-ozet-tablo th, .csl-ozet-tablo td { border: 1px solid #C0C0C0; padding: 2px 4px; }
.csl-ozet-tablo td { text-align: right; }
.csl-ozet-tablo thead th { background: #F0F0F0; text-align: left; }
.csl-krem { display: grid; grid-template-columns: 70px 108px 74px 109px; gap: 4px 6px; align-items: center; margin-top: 6px; }
.csl-krem label { font-weight: 700; font-size: 11px; text-align: right; line-height: 1.1; }
.csl-krem span { background: #FFFBF0; border: 1px solid; border-color: #808080 #fff #fff #808080; height: 24px; line-height: 22px; text-align: right;
  padding: 0 4px; font: 700 13px "Segoe UI", Tahoma, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; }
.csl-kucult { position: absolute; right: 6px; bottom: 6px; z-index: 6; width: 22px; height: 22px; padding: 0; border: 1px solid #808080;
  background: #F0F0F0; color: #000; cursor: pointer; font-size: 12px; line-height: 1; }
.csl-durum { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; border: 1px solid var(--cizgi); padding: 3px 6px;
  font: 12px "Segoe UI", Tahoma, sans-serif; background: var(--zemin); }
.csl-durum b { font-variant-numeric: tabular-nums; min-width: 90px; }
.csl-plan-ust { display: flex; align-items: center; gap: 12px; padding: 8px; }
.csl-plan-ust label { font: 700 19px "Segoe UI", Tahoma, sans-serif; }
.csl-plan-ust input { font: 700 24px "Segoe UI", Tahoma, sans-serif; width: 120px; height: 37px; }
.csl-plan-kap { overflow: auto; max-height: calc(100vh - 330px); border: 1px solid var(--cizgi); }
.csl-plan-tablo { width: 100%; border-collapse: collapse; font: 700 24px "Segoe UI", Tahoma, sans-serif; font-variant-numeric: tabular-nums; }
.csl-plan-tablo th { font-size: 13px; text-align: left; padding: 4px 6px; background: var(--zemin); border-bottom: 1px solid var(--cizgi); }
.csl-plan-tablo td { padding: 2px 8px; border-bottom: 1px solid var(--cizgi); }
.csl-plan-tablo td:nth-child(n+3) { text-align: right; }
.csl-plan-alt { display: grid; grid-template-columns: auto 121px auto 121px; gap: 4px 8px; align-items: center; justify-content: start; padding: 8px; }
.csl-plan-alt label { text-align: right; }
.csl-plan-alt span { background: #fff; color: #000; border: 1px solid; border-color: #808080 #fff #fff #808080; height: 21px; line-height: 19px;
  text-align: right; padding: 0 4px; font-variant-numeric: tabular-nums; }
/* 10.10 alis izgarasi sag tus menusu (DS DBGrid1 PopupMenu: StokGrup Duzenle, Model Takip) */
.fs-sag-arka { position: fixed; inset: 0; z-index: 70; }
.fs-sag-menu { position: fixed; top: 0; left: 0; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
/* DS gibi yana acilan alt menuler (fareyle uzerine gelince; dokunmatikte tiklayinca) */
.fs-sag-grup { position: relative; }
.fs-sag-alt { display: none; left: 100%; top: -4px; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.fs-sag-grup:hover > .fs-sag-alt, .fs-sag-alt.acik { display: block; }
.fs-sag-menu.sola .fs-sag-alt { left: auto; right: 100%; }
.fs-silinenler, .fs-sec-yazdir { max-width: 760px; }
.fs-sec-adet { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 8px; }
.fs-sec-liste { max-height: 55vh; overflow: auto; }
.fs-sec-liste tr { cursor: pointer; }
.fs-kdv-sec { max-width: 520px; }
.fs-kdv-sec tbody tr { cursor: pointer; }
.fs-kdv-sec tbody tr:hover { background: var(--ds-menu-ust); }
/* 10.10 cari kart resim / evrak (DS Image1) */
.cari-evrak { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cari-evrak img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cari-evrak-ad { font-size: 12px; padding: 4px; text-align: center; word-break: break-all; }
.cari-evrak-sil { position: absolute; top: 2px; right: 2px; padding: 0 6px; min-height: 0; }
/* 10.10 Gunluk Kasa / Banka Hareketleri ozet paneli ve Genel Rapor tablolari */
.kb-ozet { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; margin: 6px 0; max-width: 100%; }
.kb-kutu { position: static; margin: 0; display: flex; flex-direction: column; gap: 2px; padding: 6px 10px; box-sizing: border-box; border: 1px solid var(--cizgi, #c9d2dc); border-radius: 6px; min-width: 120px; background: var(--kart, #fff); }
.kb-kutu span { font-size: 12px; opacity: .75; }
.kb-kutu b { font-size: 15px; font-variant-numeric: tabular-nums; }
.kb-kutu.kb-g b { color: #1b7f3b; }
.kb-kutu.kb-c b { color: #c62828; }
.kb-kutu.kb-vurgu { background: #fff8c4; color: #b00000; }
.kb-kutu.kb-sayim { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.kb-kutu.kb-sayim span { flex-basis: 100%; }
.kb-kapat { min-height: 0; padding: 2px 10px; }
.kb-rapor { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 10px; }
.kb-rapor-tablo { flex: 1 1 260px; max-height: 260px; overflow: auto; }
.bilgi-kutu { padding: 6px 10px; margin: 4px 0; border-radius: 6px; background: #e8f3ff; color: #134a7c; font-size: 13px; }
.kart.silinmis { opacity: .6; text-decoration: line-through; }
/* 10.10 Banka Tanimlari */
.banka-tanim { width: min(1080px, calc(100vw - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.bt-govde { padding: 10px; overflow: auto; display: flex; flex-direction: column; gap: 10px; }
.bt-ust { display: flex; gap: 12px; flex-wrap: wrap; }
.bt-liste { flex: 1 1 220px; max-width: 320px; display: flex; flex-direction: column; gap: 4px; max-height: 260px; overflow: auto; }
.bt-banka, .bt-anlasma { text-align: left; border: 1px solid var(--cizgi, #c9d2dc); border-radius: 6px; padding: 6px 8px; background: var(--kart, #fff); color: inherit; cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
.bt-banka.secili, .bt-anlasma.secili { border-color: #2f6fb3; box-shadow: inset 0 0 0 1px #2f6fb3; }
.bt-bos { padding: 8px; }
.bt-form, .bt-anlasma-form { flex: 2 1 320px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; align-content: start; }
.bt-kayitno { grid-column: 1 / -1; font-size: 12px; }
.bt-alan { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.bt-alan.bt-onay { flex-direction: row; align-items: center; gap: 6px; }
.bt-iki { display: flex; gap: 6px; }
.bt-iki input { flex: 1; min-width: 0; }
.bt-dugmeler { grid-column: 1 / -1; display: flex; gap: 8px; }
.bt-kart { border: 1px solid var(--cizgi, #c9d2dc); border-radius: 8px; padding: 8px; display: flex; flex-direction: column; gap: 8px; }
.bt-anlasmalar { display: flex; flex-wrap: wrap; gap: 6px; }
.bt-anlasma { flex-direction: row; align-items: baseline; }
.banka-tanim .dsf-tablo-kap { position: static; max-height: 40vh; }
.bt-kart .bt-anlasma-form { flex: none; }
.banka-tanim .dsf-dugme { padding: 4px 12px; min-height: 30px; }
.bt-satirlar input.dsf-girdi { width: 100%; min-width: 60px; }
.bt-satir-dugme { white-space: nowrap; }
@media (max-width: 700px) { .bt-form, .bt-anlasma-form { grid-template-columns: 1fr; } .bt-liste { max-width: none; } .kb-kutu { min-width: 0; flex: 1 1 calc(50% - 6px); } .kb-kutu.kb-sayim { flex-basis: 100%; } }
/* 10.10 bordro kredi karti taksit (DS UKartIslem) */
.bordro-visa { width: min(900px, calc(100vw - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.bv-govde { padding: 10px; overflow: auto; display: flex; flex-direction: column; gap: 10px; }
.bv-form { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; }
.bv-form .bv-genis { grid-column: 1 / -1; }
.bordro-visa .dsf-tablo-kap { position: static; max-height: 40vh; }
.bordro-visa .dsf-dugme { padding: 4px 12px; min-height: 30px; }
@media (max-width: 700px) { .bv-form { grid-template-columns: 1fr; } }
/* 10.10 taksit plani (DS UTaksit) */
.bordro-taksit { width: min(980px, calc(100vw - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.bordro-taksit .dsf-tablo-kap { position: static; max-height: 45vh; }
.bordro-taksit .dsf-dugme { padding: 4px 12px; min-height: 30px; }
.bordro-taksit .bt2-tutar { width: 110px; }
.bt-fark { color: #c62828; font-weight: 600; }

/* 10.10 akaryakit (vardiya raporu, oto sevk): DS izgaralari (petrol_tablo.js) */
.pt-kap .pt-tablo th { cursor: pointer; user-select: none; white-space: nowrap; }
.pt-tablo tr { cursor: default; }
.pt-tablo td.yaz { padding: 0 2px; }
.pt-tablo td.yaz .hucre { width: 100%; min-width: 64px; box-sizing: border-box; background: transparent; color: inherit; border: 1px solid rgba(0,0,0,.25); }
.pt-tablo tr.secili td { background: var(--ds-secim); color: #fff; }
.pt-kartlar { display: flex; flex-direction: column; gap: 6px; }
.pt-kart { border: 1px solid var(--ds-kenar-acik); border-radius: 6px; padding: 8px 10px; background: var(--ds-pencere); color: var(--ds-yazi); }
.pt-kart.secili { border-color: var(--ds-secim); box-shadow: inset 4px 0 0 var(--ds-secim); }
.pt-ust { display: flex; align-items: center; gap: 8px; }
.pt-baslik { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.pt-sag { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pt-ac { border: 0; background: none; color: var(--ds-pasif-yazi); font-size: 20px; padding: 0 4px; cursor: pointer; }
.pt-isaret input { width: 20px; height: 20px; }
.pt-alanlar { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 4px; font-size: 13px; }
.pt-alan { display: inline-flex; gap: 4px; align-items: baseline; border-radius: 3px; padding: 0 2px; }
.pt-alan i { font-style: normal; color: var(--ds-pasif-yazi); }
.pt-alan.yaz { flex: 1 1 40%; flex-direction: column; align-items: stretch; gap: 1px; }
.pt-alan.yaz input { width: 100%; box-sizing: border-box; min-width: 0; height: 34px; font-size: 16px; }
.pt-bos { padding: 10px; text-align: center; }
.vr-liste-arac, .vr-satir-sil { position: absolute; right: 6px; bottom: 6px; z-index: 2; }
.dsf-akis .vr-liste-arac, .dsf-akis .vr-satir-sil { position: static; margin-top: 6px; text-align: right; }
.sevk-grup { margin: 0 0 8px; max-height: 40vh; overflow: auto; border: 1px solid var(--ds-kenar-acik); padding: 6px; background: var(--ds-pencere); }
.sevk-grup .satir { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; flex-wrap: wrap; }
/* 10.10 sevk fisi: siparis satiri secimi / eski sevkiyatlar */
.sevk-sec { width: min(1180px, calc(100vw - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.sevk-sec-ic { display: flex; flex-direction: column; gap: 6px; padding: 8px; min-height: 0; flex: 1 1 auto; }
.sevk-sec-ic .satir { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.sevk-sec-ic .satir.sag { justify-content: flex-end; }
.sevk-sec-ic input, .sevk-sec-ic select { height: 30px; }
.sevk-sec-tablo { position: relative; height: 55vh; min-height: 200px; }
@media (max-width: 700px) { .sevk-sec-tablo { height: auto; } .sevk-sec { width: 100vw; max-height: 100vh; } }
/* 10.10 taksit tahsilati */
.taksit-tahsil { width: min(1100px, calc(100vw - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.tt-govde { display: flex; flex-direction: column; gap: 8px; padding: 8px; overflow: auto; min-height: 0; }
.tt-ozet { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; font-variant-numeric: tabular-nums; }
.tt-ozet .tt-kalan b { color: var(--cikis-dugme, #c62828); font-size: 1.1em; }
.tt-ozet .tt-onay { margin-left: auto; }
.tt-tablo { position: relative; height: 38vh; min-height: 160px; }
.tt-tablo.kisa { height: 22vh; min-height: 110px; }
.tt-tahsil { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-end; border: 1px solid var(--ds-kenar-acik); border-radius: 6px; padding: 8px; }
.tt-tahsil label { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.tt-tahsil label input, .tt-tahsil label select { width: 130px; height: 32px; }
.tt-tahsil label.genis { flex: 1 1 220px; } .tt-tahsil label.genis input { width: 100%; }
.tt-dugmeler { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-left: auto; }
.tt-dugmeler.alt { justify-content: flex-end; }
.tt-bolum summary { cursor: pointer; font-weight: 600; padding: 4px 0; }
@media (max-width: 700px) { .taksit-tahsil { width: 100vw; max-height: 100vh; } .tt-tablo, .tt-tablo.kisa { height: auto; } .tt-tahsil label input, .tt-tahsil label select { width: 100%; } .tt-tahsil label { flex: 1 1 45%; } }
/* 10.10 ust cubuk: Yeni Sekme (sagda) */
.baslik .yeni-sekme { margin-left: auto; flex: 0 0 auto; padding: 5px 10px; font-size: 13px; line-height: 1.1; white-space: nowrap; }
.baslik .surum + .yeni-sekme { margin-left: 10px; }
.taksit-tahsil .dsf-dugme, .sevk-sec .dsf-dugme { min-height: 32px; padding: 4px 12px; }
/* 11.10 sevkiyat raporu (gonderilecekler): grup ozeti + secili grubun satirlari */
.sevk-rapor .sevk-grup { max-height: 28vh; }
.sevk-sec-tablo.kisa { height: 30vh; min-height: 140px; }
.sevk-rapor .sekmeler { margin: 2px 0 0; }
@media (max-width: 700px) { .sevk-sec-tablo.kisa { height: auto; } }
/* 11.10 faaliyet raporu: liste + sagda islem turu toplamlari (DS SPToplam) */
.faaliyet-govde { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 8px; align-items: start; }
.faaliyet-toplam { max-height: calc(100vh - 300px); overflow: auto; }
.faaliyet-toplam .dsf-tablo { width: 100%; font-size: 13px; }
.kart.silinmis { opacity: .6; text-decoration: line-through; }
@media (max-width: 900px) { .faaliyet-govde { grid-template-columns: 1fr; } .faaliyet-toplam { order: -1; max-height: none; } }
/* 11.10 renk / beden tanimi (DS FOzelKod) */
.ozel-kod { width: min(860px, calc(100vw - 24px)); }
.ok-liste { overflow: auto; max-height: 60vh; display: flex; flex-direction: column; gap: 4px; }
.ok-satir { display: grid; grid-template-columns: minmax(120px, 2fr) minmax(70px, 1fr) auto auto 60px auto; gap: 6px; align-items: center; padding: 3px 4px; border-bottom: 1px solid var(--ds-kenar-acik); }
.ok-baslik { font-weight: 600; font-size: 13px; }
.ok-satir.degisti { background: var(--ds-secim-acik, #fff6d6); }
.ok-satir input:not([type=checkbox]):not([type=color]) { height: 30px; min-width: 0; }
.ok-renk { display: flex; gap: 4px; align-items: center; } .ok-renk input[type=color] { width: 44px; height: 30px; padding: 0; }
.ok-dugmeler { display: flex; gap: 4px; justify-content: flex-end; }
.ozel-kod .ayrac { flex: 1 1 auto; }
@media (max-width: 700px) { .ok-satir { grid-template-columns: 1fr 1fr; } .ok-baslik { display: none; } .ok-dugmeler { grid-column: 1 / -1; } }
.ozel-kod.renksiz .ok-satir { grid-template-columns: minmax(120px, 2fr) minmax(70px, 1fr) auto 60px auto; }
@media (max-width: 700px) { .ozel-kod.renksiz .ok-satir { grid-template-columns: 1fr 1fr; } }
/* 11.10 kredi karti takibi (DS UKKartDetay) */
.kk-kart-bilgi { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 4px 0 6px; font-size: 13px; }
.kk-tablo { overflow: auto; max-height: calc(100vh - 330px); border: 1px solid var(--ds-kenar-acik); }
.kk-tablo.kisa { max-height: 30vh; margin: 6px 8px; }
.kk-tablo table { width: 100%; }
.kk-tablo tr.odeme td { background: #80FF80; color: #111; }
.kk-tablo tr.kilitli td { color: #808080; text-decoration: line-through; font-weight: 700; }
.kk-matris td, .kk-matris th { white-space: nowrap; font-variant-numeric: tabular-nums; }
.kk-pencere { width: min(760px, calc(100vw - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; overflow: auto; }
.kk-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px 12px; padding: 10px; }
.kk-form label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.kk-form label.genis { grid-column: 1 / -1; } .kk-form label.onay { flex-direction: row; align-items: center; gap: 6px; }
.kk-form input, .kk-form select { height: 32px; }
.kk-dugmeler { display: flex; gap: 6px; padding: 8px 10px; align-items: center; }
.kk-kartlar { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 10px 0; }
.dugme.kucuk { padding: 2px 8px; font-size: 12px; }

/* Kampanya Tanimlari (ekran/kampanya_tanim.js) */
.kmp-pencere { width: min(1180px, calc(100vw - 16px)); height: calc(100vh - 24px); display: flex; flex-direction: column; }
.kmp-govde { flex: 1; min-height: 0; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.kmp-pencere .dsf-dugme { height: 30px; padding: 0 12px; font: inherit; font-size: 13px; }
.kmp-pencere .kmp-urun .dsf-dugme { height: 30px; }
.kmp-pencere .sekmeler { overflow-x: auto; overflow-y: hidden; } .kmp-pencere .sekme { white-space: nowrap; flex: 0 0 auto; }
.kmp-liste { border-right: 1px solid var(--cizgi); overflow: auto; padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.kmp-oge { display: flex; flex-direction: column; gap: 2px; padding: 6px 8px; border-radius: 4px; cursor: pointer; border: 1px solid transparent; }
.kmp-oge:hover { background: var(--kart); } .kmp-oge.secili { border-color: var(--vurgu, #0a64c8); background: var(--kart); }
.kmp-oge .soluk { font-size: 12px; }
.kmp-durum { align-self: flex-start; font-size: 11px; padding: 1px 6px; border-radius: 8px; background: #e6e6e6; color: #444; }
.kmp-durum.buyuk { font-size: 13px; padding: 3px 10px; align-self: center; }
.kmp-durum.d-aktif { background: #dff6dd; color: #0e5c0e; } .kmp-durum.d-eksik { background: #fde7e9; color: #a4262c; }
.kmp-editor { overflow: auto; padding: 8px 12px; min-width: 0; }
.kmp-ust { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-end; }
.kmp-ust label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.kmp-ust label.genis { flex: 1 1 240px; } .kmp-ust input, .kmp-ust select { height: 32px; }
.kmp-dugmeler { display: flex; gap: 6px; margin-left: auto; flex-wrap: wrap; }
.kmp-ozet { margin: 8px 0; padding: 8px 10px; border-left: 4px solid var(--vurgu, #0a64c8); background: var(--kart); font-weight: 600; min-height: 1.4em; }
.kmp-yardim { font-size: 13px; margin-bottom: 6px; } .kmp-yardim p { margin: 4px 0; max-width: 90ch; }
.kmp-sekme { border: 0; padding: 0; margin: 0; min-width: 0; }
.kmp-sekme .kk-form .genis { grid-column: 1 / -1; }
.kmp-gunler { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: 13px; }
.kmp-gunler label { flex-direction: row !important; align-items: center; gap: 4px !important; }
.kmp-urunler { border: 1px solid var(--cizgi); border-radius: 4px; margin: 8px 10px; padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.kmp-urun-baslik { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.kmp-urun { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.kmp-urun input, .kmp-urun select { height: 30px; } .kmp-urun > input { flex: 1 1 160px; min-width: 0; }
.kmp-urun label { display: flex; align-items: center; gap: 4px; font-size: 13px; } .kmp-urun label input { width: 80px; }
.kmp-stok { flex: 1 1 200px; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kmp-cari { display: flex; gap: 4px; } .kmp-cari .dsf-dugme:first-child { flex: 1; text-align: left; }
.kmp-not { font-size: 12px; margin: 10px; }
@media (max-width: 760px) {
  .kmp-pencere { height: calc(100vh - 8px); }
  .kmp-govde { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); overflow: auto; }
  .kmp-editor { overflow: visible; }
  .kmp-pencere .dsf-dugme { height: 40px; }
  .kmp-dugmeler .dsf-dugme { flex: 1 1 auto; } .kmp-dugmeler { width: 100%; }
  .kmp-liste { border-right: 0; border-bottom: 1px solid var(--cizgi); max-height: 28vh; }
  .kmp-dugmeler { margin-left: 0; }
}

/* Kampanya Rapor (ekran/kampanya_rapor.js) */
.kmp-rapor .sevk-sec-ic label { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.kmp-rapor .kr-limit { width: 90px; }
.kmp-rapor .kr-ozet { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; font-variant-numeric: tabular-nums; }
.kmp-rapor .sevk-sec-tablo { height: 42vh; }
.kmp-rapor .kr-sms { border: 1px solid var(--cizgi); border-radius: 4px; padding: 6px 8px; margin: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kmp-rapor .kr-sms legend { font-size: 12px; padding: 0 4px; }
.kmp-rapor .kr-sms textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 13px; resize: vertical; }
.kmp-rapor .kr-not { font-size: 12px; }
@media (max-width: 700px) { .kmp-rapor .sevk-sec-tablo { height: auto; } }

/* Stok Fiyat Bilgisi (ekran/fiyat_gor.js) */
.fiyat-gor { width: min(720px, calc(100vw - 16px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.fg-ic { padding: 8px 10px; display: flex; flex-direction: column; gap: 8px; overflow: auto; min-height: 0; }
.fg-oto { font-size: 13px; display: flex; align-items: center; gap: 6px; }
.fg-ara { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.fg-ara .dsf-girdi { flex: 1 1 220px; height: 40px; font-size: 18px; min-width: 0; }
.fg-ara .dsf-dugme { height: 40px; padding: 0 14px; font: inherit; }
.fg-kart { border: 2px solid var(--cizgi); border-radius: 6px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; background: var(--kart); }
.fg-kart.farkli { border-color: #c50f1f; background: rgba(197, 15, 31, .08); }
.fg-kart.ayni { border-color: #107c10; }
.fg-ad { font-size: 18px; font-weight: 600; }
.fg-fiyat { font-size: 40px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; }
.fg-fiyat small { font-size: 16px; font-weight: 400; }
.fg-alt { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; }
.fg-uyari { font-weight: 600; } .fg-kart.farkli .fg-uyari { color: #c50f1f; }
.fg-dugmeler { display: flex; gap: 6px; flex-wrap: wrap; } .fg-dugmeler .dsf-dugme { height: 32px; padding: 0 12px; font: inherit; }
.fg-liste { display: flex; flex-direction: column; border: 1px solid var(--cizgi); border-radius: 4px; max-height: 30vh; overflow: auto; }
.fg-satir { display: flex; gap: 10px; padding: 6px 8px; cursor: pointer; align-items: baseline; font-variant-numeric: tabular-nums; }
.fg-satir + .fg-satir { border-top: 1px solid var(--cizgi); } .fg-satir.secili { background: var(--kart); font-weight: 600; }
.fg-s-ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fg-karekod { width: 100%; box-sizing: border-box; font: 13px ui-monospace, Consolas, monospace; }
.fg-tablo { overflow: auto; max-height: 45vh; }
.fg-tablo tr.fg-k-farkli td { background: #fde7e9; color: #a4262c; } .fg-tablo tr.fg-k-tamam td:last-child { color: #107c10; }
.fg-tablo tr.fg-k-hata td { color: #808080; }

/* FIFO Maliyet Hesapla (ekran/fifo_hesap.js) */
.fifo-hesap .sevk-sec-ic label { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.fifo-hesap .ff-durum, .fifo-hesap .ff-ozet { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; font-variant-numeric: tabular-nums; }
.fifo-hesap .ff-ozet { padding: 6px 8px; border: 1px solid var(--cizgi); border-radius: 4px; }
.fifo-hesap .ff-bekleyen { color: #9c5d00; font-weight: 600; }
.fifo-hesap .sevk-sec-tablo { height: 45vh; }
@media (max-width: 700px) { .fifo-hesap .sevk-sec-tablo { height: auto; } .fg-fiyat { font-size: 32px; } }

/* Doviz Bilgileri (ekran/doviz.js) */
.doviz .sevk-sec-ic label { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.doviz .sevk-sec-tablo { height: 45vh; }
.doviz .dv-tablo { overflow: auto; max-height: 55vh; }
.doviz .dv-tablo tr.dv-ana td { font-weight: 700; }
.doviz .dv-grafik { display: flex; flex-direction: column; gap: 6px; }
.doviz .dv-grafik svg { width: 100%; max-width: 900px; height: auto; color: var(--metin, currentColor); }
.doviz .dv-izgara { stroke: var(--cizgi); stroke-width: 1; }
.doviz .dv-et { font-size: 11px; fill: currentColor; font-variant-numeric: tabular-nums; }
.doviz .dv-grafik figure { margin: 0; } .doviz .dv-grafik figcaption { font-size: 13px; font-weight: 600; }
.doviz .dv-grafik figcaption i { display: inline-block; width: 14px; height: 3px; margin-right: 6px; vertical-align: middle; }
.doviz .dv-cevir { display: flex; flex-direction: column; gap: 8px; } .doviz .dv-cevir input[aria-label="Tutar"] { width: 120px; }
@media (max-width: 700px) { .doviz .sevk-sec-tablo { height: auto; } }

/* Proje Tanimlari (ekran/proje_tanim.js; kmp-* yerlesimi kampanya ekranindan) */
.proje-tanim .pj-ara { display: flex; gap: 4px; } .proje-tanim .pj-ara input { flex: 1; min-width: 0; height: 30px; }
.proje-tanim .pj-onay { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.proje-tanim .kk-form label.pj-genis2 { grid-column: span 2; }
.proje-tanim .pj-asamalar { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 12px; padding: 4px 10px 10px; }
.proje-tanim .pj-asamalar > b { grid-column: 1 / -1; font-size: 13px; }
.proje-tanim .pj-dugmeler { display: flex; gap: 6px; justify-content: flex-end; align-items: center; padding: 8px 10px; flex-wrap: wrap; }
.proje-tanim .pj-dugmeler .soluk { margin-right: auto; font-size: 12px; }
@media (max-width: 760px) { .proje-tanim .kk-form label.pj-genis2 { grid-column: 1 / -1; } }

/* Sozlesme Aktar (ekran/sozlesme_aktar.js; kmp-* yerlesimi) */
.sozlesme-aktar .sz-ay { display: flex; align-items: center; gap: 6px; font-size: 13px; } .sozlesme-aktar .sz-ay input { height: 30px; flex: 1; min-width: 0; }
.sozlesme-aktar .sz-ust { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .sozlesme-aktar .sz-ust .dsf-dugme { margin-left: auto; }
.sozlesme-aktar h4 { margin: 12px 0 4px; font-size: 14px; }
.sozlesme-aktar .sz-tablo { overflow: auto; max-height: 36vh; }
.sozlesme-aktar td.sz-var { color: #107c10; } .sozlesme-aktar td.sz-yok { color: #9c5d00; text-align: center; }
.sozlesme-aktar .sz-tablo .dsf-dugme { height: 26px; padding: 0 10px; }

/* Toplu Fatura / Fis / Siparis listesi (ekran/toplu_fis.js) */
.toplu-fis .tf-cogalt { display: inline-flex; gap: 2px; } .toplu-fis .tf-cogalt input { width: 38px; text-align: center; }
.toplu-fis .tf-duzen { border: 1px solid var(--vurgu, #0a64c8); border-radius: 4px; background: var(--kart); }
.toplu-fis .kk-form label.tf-genis2 { grid-column: span 2; }
.toplu-fis .tf-stok { text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; height: 32px; }
.toplu-fis .tf-dugmeler { display: flex; gap: 6px; justify-content: flex-end; padding: 0 10px 10px; }
.toplu-fis .sevk-sec-tablo { height: 46vh; }
@media (max-width: 760px) { .toplu-fis .kk-form label.tf-genis2 { grid-column: 1 / -1; } .toplu-fis .sevk-sec-tablo { height: auto; } }

/* Sik kullanilan hareket tanimlari (ekran/hr_stok.js) */
.hr-stok { width: min(640px, calc(100vw - 16px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.hr-stok .hs-ic { padding: 8px 10px; display: flex; flex-direction: column; gap: 8px; min-height: 0; overflow: auto; }
.hr-stok .hs-ust { display: flex; gap: 6px; } .hr-stok .hs-ust input { flex: 1; min-width: 0; height: 32px; }
.hr-stok .dsf-dugme { height: 30px; padding: 0 10px; font: inherit; font-size: 13px; }
.hr-stok .hs-form { border: 1px solid var(--cizgi); border-radius: 4px; } .hr-stok .hs-form .genis { grid-column: 1 / -1; }
.hr-stok .hs-dugmeler { grid-column: 1 / -1; display: flex; gap: 6px; justify-content: flex-end; }
.hr-stok .hs-liste { display: flex; flex-direction: column; border: 1px solid var(--cizgi); border-radius: 4px; min-height: 120px; }
.hr-stok .hs-satir { display: flex; align-items: center; gap: 10px; padding: 6px 8px; } .hr-stok .hs-satir + .hs-satir { border-top: 1px solid var(--cizgi); }
.hr-stok .hs-satir.secilebilir { cursor: pointer; } .hr-stok .hs-satir.secilebilir:hover { background: var(--kart); }
.hr-stok .hs-ad { flex: 1; min-width: 0; display: flex; flex-direction: column; } .hr-stok .hs-ad .soluk { font-size: 12px; }
.hr-stok .hs-fiyat { font-variant-numeric: tabular-nums; white-space: nowrap; } .hr-stok .hs-islem { display: flex; gap: 4px; }
.hr-stok .hs-bos { padding: 10px; }

/* Stok grup / menu (ekran/stok_menu.js; kmp-* yerlesimi) */
.stok-menu .sm-ust { display: flex; gap: 4px; flex-wrap: wrap; } .stok-menu .sm-ust .dsf-dugme { flex: 1 1 auto; }
.stok-menu .sm-grup { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 4px 8px; }
.stok-menu .sm-grup .soluk { flex-basis: 100%; padding-left: 22px; font-size: 12px; }
.stok-menu .sm-renk { width: 14px; height: 14px; border-radius: 3px; border: 1px solid var(--cizgi); flex: 0 0 auto; }
.stok-menu .sm-kutu { border: 1px solid var(--cizgi); border-radius: 4px; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: flex-end; margin: 0 0 8px; min-width: 0; }
.stok-menu .sm-kutu legend { font-size: 12px; padding: 0 4px; }
.stok-menu .sm-kutu label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.stok-menu .sm-kutu label.sm-r { flex-direction: row; align-items: center; gap: 6px; }
.stok-menu .sm-kutu input:not([type=checkbox]):not([type=color]), .stok-menu .sm-kutu select { height: 30px; }
.stok-menu .sm-kutu input[type=number] { width: 80px; } .stok-menu .sm-kutu input[type=color] { width: 40px; height: 28px; padding: 0; }
.stok-menu .sm-tasi { display: flex; gap: 4px; }
.stok-menu .sm-baslik { display: flex; justify-content: space-between; align-items: center; margin: 6px 0; }
.stok-menu .sm-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 6px; margin-bottom: 10px; }
.stok-menu .sm-urun { min-height: 72px; border: 1px solid var(--cizgi); border-radius: 6px; background: var(--kart); color: inherit; font: inherit; font-size: 13px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 6px; cursor: pointer; text-align: center; }
.stok-menu .sm-urun.secili { outline: 3px solid var(--vurgu, #0a64c8); outline-offset: 1px; }
.stok-menu .sm-urun.pasif { opacity: .45; text-decoration: line-through; }
.stok-menu .sm-ad { font-weight: 600; } .stok-menu .sm-ad2 { font-size: 12px; } .stok-menu .sm-fiyat { font-size: 12px; font-variant-numeric: tabular-nums; }
/* 11.10 e-Fatura (UBL) ice aktar */
.ubl-import .sevk-sec-ic label { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.ubl-import .ui-ust { display: flex; flex-direction: column; gap: 4px; padding: 6px 8px; border: 1px solid var(--cizgi, #ccc); border-radius: 4px; font-size: 13px; }
.ubl-import .ui-cari { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ubl-import .ui-yok { color: #c0392b; font-weight: 600; }
.ubl-import .ui-tablo { flex: 1 1 auto; min-height: 120px; overflow: auto; }
.ubl-import .ui-tablo table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ubl-import .ui-tablo th, .ubl-import .ui-tablo td { padding: 3px 6px; border-bottom: 1px solid var(--cizgi, #ddd); white-space: nowrap; }
.ubl-import .ui-tablo td:nth-child(3) { white-space: normal; min-width: 180px; }
.ubl-import .ui-tablo .sag { text-align: right; }
.ubl-import tr.ui-eslesmedi td { background: #fdecea; }
.ubl-import .ui-carpan { width: 60px; text-align: right; }
.ubl-import .ui-stok { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.ubl-import .ui-dosya { cursor: pointer; }
/* 11.10 Firma Bilgileri (DS Firma Tanimlari) */
.firma-tanim { width: min(900px, calc(100vw - 24px)); height: auto; max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.firma-tanim .ft-sekmeler { display: flex; gap: 4px; padding: 8px 10px 0; border-bottom: 1px solid var(--cizgi, #ccc); }
.firma-tanim .ft-sekmeler button { padding: 6px 12px; border: 1px solid var(--cizgi, #ccc); border-bottom: 0; border-radius: 4px 4px 0 0; background: transparent; color: inherit; cursor: pointer; }
.firma-tanim .ft-sekmeler button.secili { background: var(--kart-zemin, #fff); font-weight: 600; }
.firma-tanim .ft-govde { border: 0; margin: 0; padding: 0; overflow: auto; min-height: 0; }
.firma-tanim .kk-form label.ft-genis2 { grid-column: span 2; }
.firma-tanim .ft-not { grid-column: 1 / -1; font-size: 12px; margin: 0; }
.firma-tanim .pj-dugmeler { display: flex; gap: 6px; justify-content: flex-end; padding: 8px 10px; }
@media (max-width: 760px) { .firma-tanim .kk-form label.ft-genis2 { grid-column: 1 / -1; } .firma-tanim { width: 100vw; max-height: 100vh; } }
/* 11.10 Program Ayarlari (DS Usysayar) */
.program-ayar .pa-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 4px 16px; padding: 10px; }
.program-ayar .pa-ayar { display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px; border-radius: 4px; font-size: 14px; cursor: pointer; }
.program-ayar .pa-ayar input { margin-top: 3px; width: 16px; height: 16px; }
.program-ayar .pa-ayar.degisti { background: rgba(255, 193, 7, .18); }
.program-ayar .pa-ayar.yok { opacity: .5; cursor: default; }
.program-ayar .pa-isaret { color: #d97706; }
.program-ayar .pa-ozet { margin-right: auto; align-self: center; font-size: 12px; }
.firma-tanim .pj-dugmeler .dsf-dugme { min-height: 32px; padding: 4px 12px; }
/* 11.10 Excel Bilgi Aktarma (DS xlsimp) */
.excel-aktar .sevk-sec-ic label { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.excel-aktar .ea-dosya { cursor: pointer; }
.excel-aktar .ea-govde { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 10px; min-height: 0; flex: 1 1 auto; overflow: hidden; }
.excel-aktar .ea-esleme { display: flex; flex-direction: column; gap: 3px; overflow: auto; padding-right: 4px; }
.excel-aktar .ea-esleme label { display: grid; grid-template-columns: 1fr 150px; gap: 6px; }
.excel-aktar .ea-esleme select { height: 26px; min-width: 0; }
.excel-aktar .ea-sag { display: flex; flex-direction: column; gap: 8px; min-width: 0; overflow: auto; }
.excel-aktar .ea-secenek { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.excel-aktar .ea-onizleme { overflow: auto; max-height: 260px; border: 1px solid var(--cizgi, #ccc); }
.excel-aktar .ea-onizleme table { border-collapse: collapse; font-size: 12px; }
.excel-aktar .ea-onizleme th, .excel-aktar .ea-onizleme td { padding: 2px 6px; border-bottom: 1px solid var(--cizgi, #ddd); white-space: nowrap; }
.excel-aktar .ea-ilerleme { width: 200px; }
.excel-aktar .ea-gunluk { max-height: 160px; overflow: auto; font-size: 12px; border: 1px solid var(--cizgi, #ccc); padding: 4px 6px; }
@media (max-width: 760px) { .excel-aktar .ea-govde { grid-template-columns: 1fr; overflow: auto; } }
/* 11.10 Genel Kontrol Islemleri */
.genel-kontrol .gk-liste { display: flex; flex-direction: column; gap: 8px; padding: 10px; overflow: auto; }
.genel-kontrol .gk-oge { display: grid; grid-template-columns: 1fr minmax(220px, 300px); gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--cizgi, #ccc); border-radius: 6px; }
.genel-kontrol .gk-oge p { margin: 2px 0 0; font-size: 12px; }
.genel-kontrol .gk-sag { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.genel-kontrol .gk-sag progress { width: 140px; }
.genel-kontrol .gk-sonuc { font-size: 12px; flex-basis: 100%; }
.genel-kontrol .gk-not { font-size: 12px; margin: 0; }
.genel-kontrol .gk-hatalar { max-height: 140px; overflow: auto; font-size: 12px; border: 1px solid var(--cizgi, #ccc); padding: 4px 6px; }
@media (max-width: 700px) { .genel-kontrol .gk-oge { grid-template-columns: 1fr; } }
/* 11.10 Evrak Takip + Posta/Zimmet */
.evrak .ev-suzgec { display: flex; flex-direction: column; gap: 4px; padding-bottom: 6px; border-bottom: 1px solid var(--cizgi); font-size: 13px; }
.evrak .ev-suzgec input, .evrak .ev-suzgec select { height: 28px; min-width: 0; }
.evrak .ev-suzgec label { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.evrak .ev-suzgec input[type=date] { width: 120px; }
.evrak .ev-onay { font-size: 12px; } .evrak .ev-dugmeler { display: flex; gap: 4px; flex-wrap: wrap; }
.evrak .kk-form label.ev-genis2 { grid-column: span 2; }
.evrak .pj-dugmeler { display: flex; gap: 6px; justify-content: flex-end; align-items: center; padding: 8px 0; flex-wrap: wrap; }
.evrak .pj-dugmeler .soluk { margin-right: auto; font-size: 12px; }
.posta-zimmet .ev-tablo { overflow: auto; }
.posta-zimmet .ev-tablo table { border-collapse: collapse; font-size: 12px; width: 100%; }
.posta-zimmet .ev-tablo th, .posta-zimmet .ev-tablo td { padding: 2px 4px; border-bottom: 1px solid var(--cizgi, #ddd); white-space: nowrap; }
.posta-zimmet .ev-tablo input { height: 26px; width: 100%; min-width: 70px; }
.posta-zimmet .ev-tablo .dsf-dugme { height: 26px; padding: 0 6px; }
.posta-zimmet .ev-tablo .sag { text-align: right; }
@media (max-width: 760px) { .evrak .kk-form label.ev-genis2 { grid-column: 1 / -1; } .evrak .kmp-govde { grid-template-columns: 1fr; } }
/* 11.10 Servis Takip */
.servis .sv-ust { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; padding: 4px 0 6px; }
.servis .sv-ozet { font-size: 12px; }
.servis .ft-sekmeler { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid var(--cizgi, #ccc); margin-bottom: 6px; }
.servis .ft-sekmeler button { padding: 5px 10px; border: 1px solid var(--cizgi, #ccc); border-bottom: 0; border-radius: 4px 4px 0 0; background: transparent; color: inherit; cursor: pointer; font-size: 13px; }
.servis .ft-sekmeler button.secili { background: var(--kart, #fff); font-weight: 600; }
.servis .kk-form textarea { min-height: 44px; font: inherit; }
.servis .sv-tur { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; padding: 6px 0; font-size: 13px; }
.servis .sv-not { grid-column: 1 / -1; font-size: 12px; margin: 0; }
.servis .ev-tablo { overflow: auto; } .servis .ev-tablo table { border-collapse: collapse; font-size: 12px; width: 100%; }
.servis .ev-tablo th, .servis .ev-tablo td { padding: 2px 4px; border-bottom: 1px solid var(--cizgi, #ddd); white-space: nowrap; }
.servis .ev-tablo input, .servis .ev-tablo select { height: 26px; min-width: 50px; width: 100%; }
.servis .ev-tablo .dsf-dugme { height: 26px; padding: 0 6px; } .servis .ev-tablo .sag { text-align: right; }
.servis .kmp-cari { display: flex; gap: 4px; } .servis .kmp-cari input { flex: 1; min-width: 0; }
/* 11.10 Imalat / Uretim */
.uretim .ur-ust { display: flex; gap: 4px; align-items: center; padding: 6px 10px 0; flex-wrap: wrap; border-bottom: 1px solid var(--cizgi, #ccc); }
.uretim .ur-ust button[role=tab] { padding: 5px 10px; border: 1px solid var(--cizgi, #ccc); border-bottom: 0; border-radius: 4px 4px 0 0; background: transparent; color: inherit; cursor: pointer; }
.uretim .ur-ust button.secili { background: var(--kart, #fff); font-weight: 600; } .uretim .ur-ust .bosluk { flex: 1; }
.uretim .ur-uret { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin: 10px 0; border: 1px solid var(--cizgi, #ccc); border-radius: 6px; padding: 8px 10px; font-size: 13px; }
.uretim .ur-uret label { display: inline-flex; gap: 4px; align-items: center; } .uretim .ur-uret input, .uretim .ur-uret select { height: 30px; }
.uretim .ur-ozet { flex-basis: 100%; }
.uretim .ur-son, .uretim .ur-gecmis { font-size: 13px; } .uretim .ur-gecmis { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; }
.uretim .ev-tablo { overflow: auto; } .uretim .ev-tablo table { border-collapse: collapse; font-size: 12px; width: 100%; }
.uretim .ev-tablo th, .uretim .ev-tablo td { padding: 2px 6px; border-bottom: 1px solid var(--cizgi, #ddd); white-space: nowrap; } .uretim .sag { text-align: right; }
.uretim .eksi { color: #c0392b; } .uretim tr.tikla { cursor: pointer; }
.uretim .ur-fisler { padding: 10px; overflow: auto; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.uretim .ur-iki { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } @media (max-width: 900px) { .uretim .ur-iki { grid-template-columns: 1fr; } }
.uretim .kmp-cari { display: flex; gap: 4px; } .uretim .kmp-cari input { flex: 1; min-width: 0; }
/* 11.10 Restoran: masalar + adisyon */
.restoran { width: min(1280px, calc(100vw - 16px)); height: calc(100vh - 24px); display: flex; flex-direction: column; }
.restoran .rs-ust { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px 10px; border-bottom: 1px solid var(--cizgi, #ccc); }
.restoran .rs-ust .dsf-dugme { min-height: 34px; padding: 4px 12px; } .restoran .rs-ayrac { width: 12px; }
.restoran .rs-toplam { margin-left: auto; font-size: 13px; }
.restoran .rs-tanim { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px 10px; border-bottom: 1px solid var(--cizgi, #ccc); font-size: 13px; }
.restoran .rs-tanim input { height: 32px; }
.restoran .rs-masalar { flex: 1; overflow: auto; padding: 10px; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; align-content: start; }
.restoran .rs-masa { display: flex; flex-direction: column; gap: 3px; align-items: center; justify-content: center; min-height: 96px; border-radius: 10px; border: 2px solid #b8c0c8; background: #eef1f4; color: #222; cursor: pointer; font: inherit; padding: 8px; }
.restoran .rs-masa b { font-size: 16px; } .restoran .rs-masa.dolu { background: #fde2e1; border-color: #d9534f; } .restoran .rs-masa.siparis { background: #fff4d6; border-color: #e0a800; }
.restoran .rs-masa .rs-tutar { font-weight: 700; color: #b02a1e; } .restoran .rs-masa small { font-size: 11px; }
.adisyon { width: min(1280px, calc(100vw - 16px)); height: calc(100vh - 24px); display: flex; flex-direction: column; }
.adisyon .ad-govde { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); }
.adisyon .ad-menu { display: flex; flex-direction: column; min-height: 0; border-right: 1px solid var(--cizgi, #ccc); }
.adisyon .ad-gruplar { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border-bottom: 1px solid var(--cizgi, #ccc); }
.adisyon .ad-grup { min-height: 40px; padding: 4px 12px; border-radius: 8px; border: 1px solid #9aa4ae; background: #f3f5f7; color: #222; font: inherit; cursor: pointer; }
.adisyon .ad-grup.secili { outline: 3px solid var(--vurgu, #0a64c8); }
.adisyon .ad-urunler { flex: 1; overflow: auto; padding: 8px; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; align-content: start; }
.adisyon .ad-urun { display: flex; flex-direction: column; gap: 2px; align-items: center; justify-content: center; min-height: 78px; border-radius: 8px; border: 1px solid #9aa4ae; background: #fff; color: #222; font: inherit; cursor: pointer; padding: 6px; }
.adisyon .ad-urun.pasif { opacity: .45; } .adisyon .ad-urun span { font-weight: 700; }
.adisyon .ad-sag { display: flex; flex-direction: column; min-height: 0; padding: 8px; gap: 6px; }
.adisyon .ad-satirlar { flex: 1; overflow: auto; border: 1px solid var(--cizgi, #ccc); border-radius: 6px; }
.adisyon .ad-satir { display: grid; grid-template-columns: 48px 1fr auto; gap: 6px; padding: 8px; border-bottom: 1px solid var(--cizgi, #ddd); cursor: pointer; }
.adisyon .ad-satir.secili { background: rgba(10, 100, 200, .12); } .adisyon .ad-satir.iptal { opacity: .5; text-decoration: line-through; cursor: default; }
.adisyon .ad-adet { font-weight: 700; text-align: right; } .adisyon .ad-tutar { font-weight: 600; }
.adisyon .ad-toplam { font-size: 20px; text-align: right; } .adisyon .ad-toplam b { font-size: 26px; }
.adisyon .ad-satir-dugme, .adisyon .ad-odeme, .adisyon .ad-masalar, .adisyon .ad-sil { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.adisyon .ad-satir-dugme .dsf-dugme, .adisyon .ad-odeme .dsf-dugme { min-height: 44px; padding: 4px 14px; font-size: 15px; }
.adisyon .ad-nakit { background: #2e8b57; color: #fff; } .adisyon .ad-visa { background: #1f5fa8; color: #fff; }
.adisyon .ad-sil input { flex: 1; min-width: 160px; height: 36px; }
@media (max-width: 800px) { .adisyon .ad-govde { grid-template-columns: 1fr; overflow: auto; } }

/* ---- 11.10 Bağlantı İzleme (baglanti_izle.js) ---- */
.baglanti-izle { width: min(1100px, 100%); }
.bi-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--ds-kenar-acik); }
.bi-ust .dsf-sekmeler-satir { display: flex; flex-wrap: wrap; gap: 4px; }
.bi-ust .dsf-dugme.secili { background: var(--ds-dugme-ust); border-color: var(--ds-secim); font-weight: 600; }
.bi-arac { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bi-oto { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; }
.bi-govde { padding: 8px 10px 12px; overflow: auto; }
.bi-ozet { margin: 0 0 8px; font-size: 13px; font-weight: 600; }
.bi-tablo-kap { overflow-x: auto; }
.bi-tablo { width: 100%; font-variant-numeric: tabular-nums; }
.bi-tablo td { white-space: nowrap; }
.bi-tablo .bi-ip { font-family: ui-monospace, Consolas, monospace; font-size: 12.5px; }
.bi-tablo .bi-proses { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.bi-tablo .bi-iz { white-space: normal; min-width: 260px; font-size: 12.5px; }
.bi-tablo tr.bi-uyari td { background: #fff4ce; color: #5c4400; }
.bi-not { font-size: 12px; margin: 8px 0 0; }

/* ---- 11.10 Hal: Kap / Dara Tanımları (kap_dara.js) ---- */
.kap-dara { width: min(980px, 100%); }
.kd-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px 10px; padding: 10px; border-bottom: 1px solid var(--ds-kenar-acik); align-items: end; }
.kd-form label { display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; }
.kd-dugmeler { display: flex; gap: 6px; }
.kd-islem { white-space: nowrap; text-align: right; }

/* ---- 11.10 Süt Kartı Takip (sut_kart.js) ---- */
.sut-kart { width: min(1280px, 100%); }
.sut-govde { display: flex; gap: 10px; padding: 8px 10px 12px; overflow: auto; min-height: 0; flex: 1; }
.sut-rapor, .sut-hesap { flex-direction: column; }
.sut-tablo-kap { flex: 1; min-width: 0; }
.sut-tablo { font-variant-numeric: tabular-nums; }
.sut-tablo td { white-space: nowrap; }
.sut-tablo tr.soluk td { color: var(--ds-pasif-yazi); }
.sut-tablo tfoot td { border-top: 2px solid var(--ds-kenar-acik); }
.sut-lt { width: 74px; text-align: right; font: inherit; padding: 2px 4px; }
.sut-gunler th, .sut-gunler td { padding-left: 4px; padding-right: 4px; }
.sut-gunler .sut-ad { position: sticky; left: 0; background: var(--ds-pencere); z-index: 1; }
.sut-grup-toplam { width: 220px; flex: none; font-size: 12.5px; display: flex; flex-direction: column; gap: 4px; }
.sut-gt { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; font-variant-numeric: tabular-nums; }
.sut-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sut-arac label { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; }
.sut-ayrac { flex: 1; }
.sut-hesap-ic { display: flex; gap: 10px; align-items: flex-start; min-height: 0; }
.sut-detay { width: 400px; flex: none; border-left: 1px solid var(--ds-kenar-acik); padding-left: 10px; display: flex; flex-direction: column; gap: 8px; }
.sut-detay h3 { margin: 0; font-size: 15px; }
.sut-detay h4 { margin: 4px 0 0; font-size: 13px; }
.sut-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 8px; }
.sut-form label { display: flex; flex-direction: column; gap: 2px; font-size: 12px; }
.sut-form label.genis { grid-column: 1 / -1; }
.sut-form input { font: inherit; padding: 3px 5px; }
.sut-ozet { margin: 0; font-size: 12.5px; }
@media (max-width: 900px) {
  .sut-govde, .sut-hesap-ic { flex-direction: column; }
  .sut-grup-toplam, .sut-detay { width: auto; border-left: 0; padding-left: 0; }
}
@media (max-width: 600px) {
  .sut-dar-gizle { display: none; }
  .sut-tablo td.sut-ad-hucre { white-space: normal; min-width: 110px; }
  .sut-lt { width: 58px; }
}

/* ---- 11.10 Sürü Takip (hayvan.js) ---- */
.hayvan { width: min(1320px, 100%); }
.hy-govde { display: flex; gap: 12px; padding: 8px 10px 12px; overflow: auto; min-height: 0; flex: 1; align-items: flex-start; }
.hy-sutun { flex-direction: column; align-items: stretch; }
.hy-liste { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.hy-kart { flex: 0 0 520px; display: flex; flex-direction: column; gap: 8px; border-left: 1px solid var(--ds-kenar-acik); padding-left: 12px; }
.hy-kart h3 { margin: 0; font-size: 15px; }
.hy-kart h4 { margin: 6px 0 0; font-size: 13px; }
.hy-kart-bas { display: flex; align-items: center; gap: 8px; }
.hy-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.hy-arac label { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; }
.hy-tablo { font-variant-numeric: tabular-nums; }
.hy-tablo td { white-space: nowrap; }
.hy-tablo tr.hy-tohum td { background: rgba(110, 160, 225, .32); }
.hy-tablo tr.hy-gebe td { background: rgba(240, 150, 240, .32); }
.hy-tablo tr.hy-gecmis td { color: #b3261e; }
.hy-tablo tr.soluk td { color: var(--ds-pasif-yazi); text-decoration: line-through; }
.hy-renk { display: inline-block; width: 12px; height: 12px; border-radius: 2px; vertical-align: -2px; }
.hy-renk.hy-tohum { background: rgba(110, 160, 225, .6); }
.hy-renk.hy-gebe { background: rgba(240, 150, 240, .6); }
.hy-not { margin: 0; font-size: 12px; }
.hy-durumlar { display: flex; flex-wrap: wrap; gap: 4px; }
.hy-durum { font-size: 11.5px; padding: 2px 7px; border-radius: 10px; border: 1px solid var(--ds-kenar-acik); color: var(--ds-pasif-yazi); }
.hy-durum.etkin { background: #c62828; border-color: #c62828; color: #fff; }
.hy-kart-sekme { display: flex; flex-wrap: wrap; gap: 4px; }
.hy-kart-sekme .dsf-dugme.secili { background: var(--ds-dugme-ust); border-color: var(--ds-secim); font-weight: 600; }
.hy-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; }
.hy-form label { display: flex; flex-direction: column; gap: 2px; font-size: 12px; }
.hy-form .genis { grid-column: 1 / -1; }
.hy-form input, .hy-form select { font: inherit; padding: 3px 5px; min-width: 0; }
.hy-cari { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.hy-log pre { margin: 0 0 6px; padding: 6px; min-height: 80px; max-height: 220px; overflow: auto; white-space: pre-wrap; font: 12.5px/1.4 inherit;
  border: 1px solid var(--ds-kenar-acik); background: var(--ds-yuzey); }
.hy-detay { border: 1px solid var(--ds-secim); border-radius: 4px; }
.hy-detay .genis { grid-column: 1 / -1; }
.hy-pano { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.hy-pano-kutu { display: flex; flex-direction: column; gap: 2px; padding: 6px 8px; border: 1px solid var(--ds-kenar-acik); border-radius: 4px; font-size: 12.5px; min-height: 64px; }
.hy-pano-kutu.dolu { border-color: var(--ds-secim); }
.hy-pano-kutu span { cursor: pointer; }
.hy-pano-kutu span:hover { text-decoration: underline; }
.hy-sayilar { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.hy-sayi { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border: 1px solid var(--ds-kenar-acik); border-radius: 4px; font-size: 12px; }
.hy-sayi b { font-size: 20px; font-variant-numeric: tabular-nums; }
.hy-dagilim { display: flex; flex-direction: column; gap: 4px; max-width: 640px; }
.hy-cubuk { display: grid; grid-template-columns: 190px 1fr 40px; align-items: center; gap: 8px; font-size: 12.5px; }
.hy-cubuk i { display: block; height: 14px; background: var(--ds-secim); border-radius: 2px; min-width: 2px; }
.hy-cubuk b { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) {
  .hy-govde { flex-direction: column; align-items: stretch; }
  .hy-kart { flex: none; border-left: 0; padding-left: 0; }
  .hy-kart-acik .hy-liste { display: none; }
  .hy-dar-gizle { display: none; }
  .hy-cubuk { grid-template-columns: 120px 1fr 32px; }
}

/* ---- 11.10 Stok kartı: devir öncesi, birleştir (stok_kart.js) ---- */
.dsf-tablo tr.stk-sari td:nth-child(2), .dsf-tablo tr.stk-sari td:nth-child(6) { background: #fff4b8; color: #4a3b00; }
.stk-birles { width: min(760px, 100%); }
.stk-birles-govde { padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; overflow: auto; font-size: 13px; }
.stk-birles-govde p { margin: 0; }
.stk-birles-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.stk-birles-arac label { display: inline-flex; align-items: center; gap: 6px; }
.stk-birles-uyari { margin: 0; padding: 6px 8px 6px 24px; background: #fff4ce; color: #5c4400; border-radius: 4px; }
.stk-birles-dugmeler { display: flex; justify-content: flex-end; gap: 6px; padding: 8px 12px; border-top: 1px solid var(--ds-kenar-acik); }

/* ---- 11.10 Üretim Raporları / Yüklenilen KDV (uretim_rapor.js) ---- */
.urt-rapor { width: min(1400px, 100%); }
.urt-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 8px 10px; border-bottom: 1px solid var(--ds-kenar-acik); }
.urt-arac label { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; }
.urt-ayrac { flex: 1; }
.urt-not { margin: 0; padding: 4px 10px; font-size: 12px; }
.urt-sekme { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 6px 10px; }
.urt-sekme .dsf-dugme.secili { background: var(--ds-dugme-ust); border-color: var(--ds-secim); font-weight: 600; }
.urt-govde { padding: 6px 10px 12px; overflow: auto; flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; }
.urt-govde h4 { margin: 4px 0 0; font-size: 13px; }
.urt-tablo { font-variant-numeric: tabular-nums; }
.urt-tablo td { white-space: nowrap; vertical-align: top; }
.urt-tablo td.urt-cok { white-space: pre-line; font-size: 11.5px; }
.urt-tablo tr.urt-eksik td { background: #fff4ce; color: #5c4400; }
.urt-tablo td.urt-sar { white-space: normal; min-width: 180px; max-width: 360px; }

/* ---- 11.10 Hızlı Menü düzenleme (hizli_menu_duzen.js) ---- */
.am-hizli-duzenle { display: flex; justify-content: center; padding: 10px 0 4px; }
.am-hizli-duzenle-dugme { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 18px; cursor: pointer;
  border: 1px dashed var(--ds-kenar); background: transparent; color: var(--metin-soluk, var(--ds-yazi)); font: inherit; font-size: 13.5px; }
.am-hizli-duzenle-dugme:hover { border-style: solid; color: var(--ds-yazi); background: var(--ds-dugme-ust); }
.hm-duzen { width: min(1100px, 100%); }
.hm-govde { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 12px; padding: 10px 12px; overflow: auto; flex: 1; min-height: 0; }
.hm-govde h3 { margin: 0 0 4px; font-size: 14px; }
.hm-not { margin: 0 0 6px; font-size: 12px; }
.hm-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.hm-liste li { display: grid; grid-template-columns: 26px minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: center; gap: 6px;
  padding: 3px 4px; border: 1px solid var(--ds-kenar-acik); border-radius: 4px; }
.hm-liste li.secili { border-color: var(--ds-secim); background: var(--ds-dugme-ust); }
.hm-liste li.bos { display: block; text-align: center; color: var(--ds-pasif-yazi); padding: 12px; }
.hm-sira { text-align: right; font-size: 12px; color: var(--ds-pasif-yazi); font-variant-numeric: tabular-nums; }
.hm-liste input { font: inherit; font-size: 13px; padding: 3px 5px; min-width: 0; }
.hm-dugmeler { display: inline-flex; gap: 3px; }
.hm-dugmeler .dsf-dugme { min-width: 28px; padding: 2px 6px; }
.hm-ara { width: 100%; margin-bottom: 6px; font: inherit; padding: 5px 8px; }
.hm-kaynaklar details { border-bottom: 1px solid var(--ds-kenar-acik); padding: 3px 0; }
.hm-kaynaklar summary { cursor: pointer; font-weight: 600; font-size: 13px; padding: 3px 0; }
.hm-kaynak { display: flex; align-items: center; gap: 6px; padding: 2px 0 2px 14px; font-size: 13px; cursor: pointer; }
.hm-tel-secim { display: none; }
.hm-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 12px; border-top: 1px solid var(--ds-kenar-acik); }
.hm-ayrac { flex: 1; }
@media (max-width: 760px) {
  .hm-govde { grid-template-columns: 1fr; }
  .hm-liste li { grid-template-columns: 22px minmax(0, 1fr) auto; }
  .hm-liste .hm-grup { grid-column: 2 / 3; }
  .hm-tel-secim { display: flex; gap: 6px; padding: 8px 12px 0; }
  .hm-tel-secim .dsf-dugme.secili { background: var(--ds-dugme-ust); border-color: var(--ds-secim); font-weight: 600; }
  .hm-tel-sol .hm-sag, .hm-tel-sag .hm-sol { display: none; }
}
.hm-liste li.hm-kapali { opacity: .55; }

/* ---- 11.10 SMS İşlemleri (sms.js) ---- */
.sms-pencere { width: min(1200px, 100%); }
.sms-govde { display: flex; gap: 14px; padding: 10px 12px 14px; overflow: auto; flex: 1; min-height: 0; }
.sms-sutun { flex-direction: column; gap: 8px; }
.sms-sol { flex: 1.2 1 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.sms-sag { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; border-left: 1px solid var(--ds-kenar-acik); padding-left: 12px; }
.sms-satir { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.sms-satir label { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; }
.sms-etiket { font-size: 12.5px; font-weight: 600; }
.sms-govde textarea { font: inherit; padding: 6px; width: 100%; box-sizing: border-box; resize: vertical; }
.sms-onizleme { border: 1px solid var(--ds-secim); border-radius: 4px; padding: 8px 10px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.sms-onizleme p { margin: 0; }
.sms-onizleme pre { margin: 0; white-space: pre-wrap; font: 12.5px/1.4 ui-monospace, Consolas, monospace; max-height: 160px; overflow: auto; }
.sms-kisiler { max-height: 320px; overflow: auto; }
.sms-tablo td { vertical-align: top; }
.sms-tablo td.sms-metin { white-space: normal; min-width: 220px; max-width: 460px; font-size: 12px; }
.sms-not { margin: 0; font-size: 12px; }
.sms-degisken { font-size: 11.5px; padding: 1px 6px; }
.sms-sablon-form .genis { grid-column: 1 / -1; }
.sms-sablon-form textarea { font: inherit; padding: 4px 6px; }
.sms-ayar { max-width: 760px; }
@media (max-width: 800px) {
  .sms-govde { flex-direction: column; }
  .sms-sag { border-left: 0; padding-left: 0; }
}

/* ---- 11.10 E-posta (eposta.js) ---- */
.eposta-pencere { width: min(720px, 100%); }
.ep-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px 12px 14px; overflow: auto; }
.ep-govde > label { display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; }
.ep-govde input, .ep-govde select, .ep-govde textarea { font: inherit; padding: 5px 7px; }
.ep-govde textarea { resize: vertical; }
.ep-ekler { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.ep-ek { display: flex; align-items: center; gap: 8px; }
.ep-ek span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ep-dosya { align-self: flex-start; cursor: pointer; }
.ep-satir { display: flex; flex-wrap: wrap; gap: 6px; }

/* 11.10 seri / omur takip (ekran/seri_takip.js) */
.seri-pencere { width: min(860px, 100%); max-height: 92vh; }
.seri-rapor { width: min(1180px, 100%); max-height: 94vh; }
.seri-duzen { width: min(420px, 100%); }
.seri-govde { display: flex; flex-direction: column; gap: 8px; padding: 10px 12px 12px; overflow: auto; min-height: 0; }
.seri-ozet { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; }
.seri-ozet .sayi { font-variant-numeric: tabular-nums; }
.seri-satir { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.seri-okut input { flex: 1 1 260px; min-width: 0; font: inherit; padding: 6px 8px; }
.seri-baslik { font-weight: 600; font-size: 12.5px; margin-top: 4px; }
.seri-tablo-kap { overflow: auto; max-height: 38vh; border: 1px solid var(--ds-kenar); }
.seri-rapor-tablo { flex: 1; min-height: 160px; max-height: none; margin: 0 12px; }
.seri-tablo-kap .dsf-tablo td { vertical-align: middle; }
.seri-tablo-kap tr.seri-bu td { font-weight: 600; }
.seri-tablo-kap tbody tr[tabindex] { cursor: pointer; }
.seri-tablo-kap tfoot td { position: sticky; bottom: 0; background: var(--ds-yuzey); font-weight: 600; padding: 3px 6px; border: 1px solid var(--ds-kenar-acik); }
.seri-miktar { width: 64px; font: inherit; padding: 1px 4px; text-align: right; margin-right: 4px; }
.seri-alt { justify-content: flex-end; }
.seri-soru { margin: 8px 12px 0; padding: 8px 10px; border: 1px solid var(--uyari-cizgi); background: var(--uyari-zemin); border-radius: 4px; display: flex; flex-direction: column; gap: 6px; }
.seri-soru p { margin: 0; font-weight: 600; }
.seri-skt-gecti { color: var(--hata); font-weight: 600; }
.seri-skt-yakin { color: #b26a00; font-weight: 600; }
.seri-suzgec { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: flex-end; padding: 8px 12px; font-size: 12.5px; }
.seri-suzgec label { display: flex; flex-direction: column; gap: 2px; }
.seri-suzgec input, .seri-suzgec select { font: inherit; padding: 4px 6px; }
.seri-suzgec input:not([type=date]) { width: 150px; }
.seri-not { padding: 4px 12px 10px; font-size: 12px; }
.sd-seri { white-space: nowrap; }
.seri-toplu { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid var(--ds-kenar); border-radius: 4px; }
.seri-toplu textarea { font: 12.5px/1.4 ui-monospace, Consolas, monospace; padding: 6px; resize: vertical; width: 100%; box-sizing: border-box; }
.seri-toplu-hata td:last-child { color: var(--hata); }
.seri-toplu-eklendi td:last-child, .seri-toplu-uygun td:last-child { color: var(--alacak); font-weight: 600; }
@media (max-width: 700px) {
  .seri-pencere, .seri-rapor { max-height: 100%; }
  .seri-tablo-kap { max-height: none; }
  .seri-suzgec input:not([type=date]) { width: 100%; }
  .seri-suzgec label { flex: 1 1 140px; }
  .seri-pencere .dsf-dugme, .seri-rapor .dsf-dugme { min-height: 34px; padding: 0 12px; }
  .seri-pencere .dsf-tablo td.dugmeler .dsf-dugme { height: 32px; }
}

/* 11.10 SMS otomatik / kurallar (ekran/sms.js) */
.sms-bakiye { margin-left: auto; }
.sms-oto { gap: 10px; }
.sms-kutu { display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--ds-kenar); border-radius: 4px; padding: 8px 10px; }
.sms-kutu label { font-size: 12.5px; }
.sms-kutu input, .sms-kutu select { font: inherit; padding: 3px 5px; }
.sms-kurallar { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; }
.sms-kurallar fieldset { border: 1px solid var(--ds-kenar-acik); border-radius: 4px; display: flex; flex-direction: column; gap: 5px; margin: 0; padding: 6px 8px; }
.sms-kurallar legend { font-weight: 600; font-size: 12.5px; }
.sms-kurallar label { display: flex; justify-content: space-between; gap: 6px; align-items: center; }
.sms-kurallar input[type=number] { width: 70px; }
.sms-kutu .genis { flex: 1 1 260px; display: flex; gap: 6px; align-items: center; }
.ba-sms { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; padding: 8px 10px; margin-bottom: 8px; border: 1px solid var(--ds-kenar); border-radius: 4px; font-size: 13px; }
.ba-sms select, .ba-sms input { font: inherit; padding: 3px 5px; }

/* 11.10 PWA giris ekrani yukleme ipucu (ekran/giris.js) */
.giris-yukle { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.giris-yukle p { margin: 0; font-size: 13.5px; }
.giris-kisayol { font-size: 13.5px; }
.giris-kisayol p { margin: 0; }
.giris-kisayol ol { margin: 4px 0 0; padding-left: 20px; }
.giris-kisayol code { font: 13px Consolas, monospace; padding: 0 4px; border: 1px solid var(--kenar, #ccc); border-radius: 3px; user-select: all; }
