:root {
  --lacivert: #1f4e78;
  --lacivert-koyu: #153a5b;
  --lacivert-acik: #2f6699;
  --yesil: #3fa96a;
  --yesil-koyu: #2f8a54;
  --kirmizi: #c0392b;
  --kirmizi-koyu: #9c2e21;
  --turuncu: #d98916;
  --turuncu-koyu: #b06f0f;
  --gri-bg: #eef1f6;
  --gri-cizgi: #dde3ee;
  --grid-cizgi: #cdd7e6;
  --golge: 0 2px 10px rgba(20, 40, 70, .07);
  --golge-yukseldi: 0 8px 20px rgba(20, 40, 70, .14);
  /* 26.08.2026: koyu tema icin yuzey/metin token'lari -- klasik ve adacayi
     temalarinda KULLANILMIYOR (bu yuzden burada tanimlanmalari mevcut hicbir
     gorunumu degistirmez), sadece koyu temanin var(...) referanslarinin
     :root'ta da gecerli/tanimli bir varsayilani olsun diye buradalar. */
  --yuzey: #fff;
  --yuzey-2: #f6f8fb;
  --metin: #1c2430;
  --metin-soluk: #7a8699;
}

/* Kullanici istege bagli olarak klasik mavi, adaçayı ya da koyu temasini seçebilir. */
html[data-tema="adacayi"] {
  --lacivert: #4f814f;
  --lacivert-koyu: #38663c;
  --lacivert-acik: #6f9b6d;
  --yesil: #76a86f;
  --yesil-koyu: #527f4d;
  --gri-bg: #f5f8f4;
  --gri-cizgi: #dbe4d9;
  --grid-cizgi: #cfdbcd;
  --golge: 0 2px 10px rgba(48, 81, 48, .07);
  --golge-yukseldi: 0 8px 20px rgba(48, 81, 48, .14);
}

/* 26.08.2026: Koyu tema -- Uretim Kontrol Merkezi panelinde (16-20.08
   arasi eklenen "mission control" gorunumu, #uretim-pano.uretim-kontrol-
   paneli) zaten kullanilan ve kanitlanmis palet AYNEN yeniden kullanildi
   (--uk-zemin/--uk-yuzey/... degerleriyle birebir), boylece kullanici
   Uretim panelinden (o zaten hep koyu) programin geri kalanina gecince
   renk tutarliligi bozulmuyor. --lacivert (buton/link/vurgu rengi) beyaz
   yazi ustune yeterli kontrast icin turkuazin KENDISI degil, biraz daha
   koyu bir tonu secildi -- --lacivert-acik ise gercek parlak turkuazi
   (link/aktif durum vurgusu) tasir. */
html[data-tema="koyu"] {
  --lacivert: #178f91;
  --lacivert-koyu: #10696a;
  --lacivert-acik: #25d0d2;
  --yesil: #2fae6c;
  --yesil-koyu: #268f59;
  --kirmizi: #e14b43;
  --kirmizi-koyu: #c23a33;
  --turuncu: #e0982f;
  --turuncu-koyu: #b87a22;
  --gri-bg: #071827;
  --gri-cizgi: #24455f;
  --grid-cizgi: #1c3650;
  --golge: 0 2px 10px rgba(0, 0, 0, .35);
  --golge-yukseldi: 0 10px 26px rgba(0, 0, 0, .5);
  --yuzey: #0c2235;
  --yuzey-2: #102a40;
  --metin: #ecf7ff;
  --metin-soluk: #8fa8ba;
}
html[data-tema="koyu"] body { background: var(--gri-bg); }
/* Form elemanlarinin BUYUK COGUNLUGU ozel bir sinifla degil, cIplak
   input/select/textarea etiketiyle stillenir (tarayici varsayilan beyaz
   zemini kalir) -- koyu temada bu genel kural olmadan yuzlerce "beyaz
   kutu" olarak kalirlardi. html[data-tema] onegi + etiket secici,
   dosyadaki tek-sinifli ozel kurallarin (orn. ".satir-form input")
   COGUNDAN daha spesifik oldugundan (bkz. asagidaki otomatik-uretilmis
   blok, geri kalanini tek tek override eder) burada tek bir genel kuralla
   kapsamin buyuk kismi cozulur. */
html[data-tema="koyu"] input,
html[data-tema="koyu"] select,
html[data-tema="koyu"] textarea {
  background: var(--yuzey-2);
  color: var(--metin);
  border-color: var(--gri-cizgi);
}
html[data-tema="koyu"] input::placeholder,
html[data-tema="koyu"] textarea::placeholder { color: var(--metin-soluk); opacity: 1; }
html[data-tema="koyu"] input:disabled,
html[data-tema="koyu"] select:disabled,
html[data-tema="koyu"] textarea:disabled { opacity: .55; }
html[data-tema="koyu"] ::-webkit-scrollbar { width: 11px; height: 11px; }
html[data-tema="koyu"] ::-webkit-scrollbar-track { background: var(--gri-bg); }
html[data-tema="koyu"] ::-webkit-scrollbar-thumb { background: var(--gri-cizgi); border-radius: 20px; border: 2px solid var(--gri-bg); }
html[data-tema="koyu"] * { scrollbar-color: var(--gri-cizgi) var(--gri-bg); }

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  background: var(--gri-bg);
  color: #1c2430;
}
html[data-tema="adacayi"] body { color: #293229; }
html[data-tema="adacayi"] .sidebar { background: #edf4ec; box-shadow: 2px 0 12px rgba(48, 81, 48, .04); }
html[data-tema="adacayi"] .ust-cubuk { background: rgba(255, 255, 255, .94); }
html[data-tema="adacayi"] main {
  background-color: #f8faf7;
  background-image: linear-gradient(rgba(114, 135, 112, .075) 1px, transparent 1px), linear-gradient(90deg, rgba(114, 135, 112, .075) 1px, transparent 1px);
  background-size: 14px 14px;
}
html[data-tema="adacayi"] .panel { background: rgba(255, 255, 255, .94); }

.govde { display: flex; min-height: 100vh; }

/* ---- Sol menu (sidebar) ---- */
.sidebar {
  width: 250px;
  flex-shrink: 0;
  background: #fff;
  border-right: 1px solid var(--gri-cizgi);
  box-shadow: 2px 0 12px rgba(20, 40, 70, .04);
  display: flex;
  flex-direction: column;
  max-height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
}
/* 25.07.2026: kutu ikon + yazi yerine TAM logo (Ediz'in istegi) */
.sidebar-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 18px 16px;
  border-bottom: 1px solid var(--gri-cizgi);
}
.sidebar-logo .tam-logo { width: 148px; height: auto; display: block; }
.sidebar-logo .tam-logo-alt { font-size: 11px; color: #7a8699; letter-spacing: 2.5px; text-transform: uppercase; }

.yan-menu { padding: 14px 10px 24px; display: flex; flex-direction: column; gap: 8px; }
.yan-menu-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  overflow: hidden;
  min-height: 60px;
  background: linear-gradient(145deg, #edf2f8, #e2e9f2);
  border: 1px solid #d7e0ec;
  color: #34445f;
  padding: 9px 10px;
  border-radius: 15px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  width: 100%;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 3px 7px rgba(35,58,91,.06);
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.yan-menu-btn::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 15%, rgba(255,255,255,.5) 45%, transparent 72%);
  transform: translateX(-125%); transition: transform .5s ease; pointer-events: none;
}
.yan-menu-btn .ikon {
  width: 38px; height: 38px; padding: 9px; flex-shrink: 0; color: #35425b;
  border: 1px solid #cbd6e4; border-radius: 13px;
  background: linear-gradient(145deg, #e2e9f2, #d5deea);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
  transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease;
  position: relative; z-index: 1;
}
.yan-menu-btn > span { flex: 1; min-width: 0; position: relative; z-index: 1; line-height: 1.2; }
.yan-menu-btn > span::after {
  display: block; margin-top: 3px; color: #78869d; font-size: 10.5px;
  font-weight: 600; line-height: 1.2; white-space: normal;
}
.yan-menu-btn[data-hedef="ana-ekran-modulu"] > span::after { content: "Genel durum ve hızlı erişim"; }
.yan-menu-btn[data-hedef="pano-modulu"] > span::after { content: "Raporlar ve performans"; }
.yan-menu-btn[data-hedef="fatura-modulu"] > span::after { content: "Alış ve satış faturaları"; }
.yan-menu-btn[data-hedef="cari-modulu"] > span::after { content: "Cari hesap hareketleri"; }
.yan-menu-btn[data-hedef="teklif-modulu"] > span::after { content: "Maliyet ve teklif kayıtları"; }
.yan-menu-btn[data-hedef="maas-modulu"] > span::after { content: "Personel, PDKS ve bordro"; }
.yan-menu-btn[data-hedef="irsaliye-modulu"] > span::after { content: "Sevkiyat ve teslim kayıtları"; }
.yan-menu-btn[data-hedef="cek-modulu"] > span::after { content: "Ödeme ve vade takibi"; }
.yan-menu-btn[data-hedef="diger-gider-modulu"] > span::after { content: "Gider kayıtları ve özetler"; }
.yan-menu-btn[data-hedef="malzeme-modulu"] > span::after { content: "Stok ve malzeme hareketleri"; }
.yan-menu-btn[data-hedef="kalite-modulu"] > span::after { content: "Kalite süreçleri ve kayıtlar"; }
.yan-menu-btn[data-hedef="km-evrak-modulu"] > span::after { content: "Kontrollü evrak yönetimi"; }
.yan-menu-btn[data-hedef="fs-takip-modulu"] > span::after { content: "Sipariş ve teslimat takibi"; }
.yan-menu-btn[data-hedef="uretim-modulu"] > span::after { content: "CNC, OEE ve iş emirleri"; }
.yan-menu-btn[data-hedef="fason-modulu"] > span::after { content: "Fason üretim ve sevkiyat"; }
.yan-menu-btn[data-hedef="fason-kalite-modulu"] > span::after { content: "Kalite irsaliye kontrolü"; }
/* 25.07.2026: ok artik dekor degil, "alt sekmeler burada acilir" isareti --
   hafifce hep gorunur, modul acilinca 90 derece doner */
.yan-menu-btn .ok { width: 14px; height: 14px; flex-shrink: 0; opacity: .4; transition: opacity .15s ease, transform .18s ease; position: relative; z-index: 1; }
.yan-menu-btn:hover {
  transform: translateX(3px); background: linear-gradient(145deg, #e8eef6, #dae4ef);
  color: var(--lacivert); border-color: #c6d4e6;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 7px 17px rgba(35,58,91,.12);
}
.yan-menu-btn:hover::before { transform: translateX(125%); }
.yan-menu-btn:hover .ikon { color: var(--lacivert); transform: scale(1.05); }
.yan-menu-btn.aktif {
  background: linear-gradient(110deg, #c8dcfa, #e2ecfa); color: #123979;
  border-color: #8fb8fb;
  box-shadow: 0 8px 20px rgba(35,103,232,.15), inset 0 1px 0 rgba(255,255,255,.76), inset 0 -8px 16px rgba(63,117,202,.07);
}
.yan-menu-btn.aktif .ikon {
  color: #1556ca; background: linear-gradient(145deg, #bed5fa, #a9c8f7);
  border-color: #8eb6f3;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 3px 8px rgba(34,96,197,.15);
}
.yan-menu-btn.aktif > span::after { color: #657c9d; }
.yan-menu-btn.aktif .ok { opacity: .85; }
.yan-menu-btn.acilmis .ok { transform: rotate(90deg); opacity: .9; }

html[data-tema="adacayi"] .yan-menu-btn { background: linear-gradient(145deg, #e3ebe1, #d8e4d6); border-color: #cad8c8; color: #354735; }
html[data-tema="adacayi"] .yan-menu-btn .ikon { background: linear-gradient(145deg, #dce8da, #cfddcd); border-color: #c2d2c0; color: #466046; }
html[data-tema="adacayi"] .yan-menu-btn.aktif { background: linear-gradient(110deg, #cce0ca, #e3eee1); border-color: #93b88f; color: #315c35; }
html[data-tema="adacayi"] .yan-menu-btn.aktif .ikon { background: linear-gradient(145deg, #bad4b7, #a8c7a4); border-color: #8eb58a; color: #315f35; }
html[data-tema="adacayi"] .yan-menu-btn > span::after { color: #71816f; }

/* ---- Yan menu ALT SEKMELERI (25.07.2026): ust sekme cubugu yerine sol
   menude, modulun altinda acilan liste (bkz. app.js yanMenuAltSekmeleri) ---- */
.yan-alt-menu { display: none; margin: 2px 0 6px 24px; border-left: 1.5px solid var(--gri-cizgi); padding-left: 6px; }
.yan-alt-menu.acik { display: block; }
.yan-alt-btn {
  display: flex; align-items: center; gap: 9px; width: 100%;
  background: transparent; border: none; cursor: pointer; text-align: left;
  padding: 7px 11px; font-size: 12.5px; color: #6b7a89;
  border-radius: 8px; margin-bottom: 1px; font-weight: 500;
}
.yan-alt-btn i { width: 5px; height: 5px; border-radius: 50%; background: #b7c2d0; flex-shrink: 0; }
.yan-alt-btn:hover { color: var(--lacivert); background: #f1f5fa; }
.yan-alt-btn.aktif { color: var(--lacivert); font-weight: 700; background: #e9f0f8; }
.yan-alt-btn.aktif i { background: var(--lacivert); }

/* ---- Sag icerik alani ---- */
.icerik-govde {
  flex: 1;
  width: calc(100vw - 250px);
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.ust-cubuk {
  background: #fff;
  border-bottom: 1px solid var(--gri-cizgi);
  padding: 17px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ust-cubuk-baslik { font-size: 17px; font-weight: 700; color: #1c2430; }
.ust-cubuk-sag { display: flex; align-items: center; gap: 12px; }
.ust-cubuk-saat { font-size: 13px; color: #7a8699; text-transform: capitalize; }
.tema-secici-kapsayici { display: flex; align-items: center; gap: 7px; color: #6e7c6c; font-size: 12px; font-weight: 600; }
.tema-secici { border: 1px solid var(--gri-cizgi); border-radius: 7px; background: #fff; color: #344434; padding: 6px 8px; font: inherit; font-size: 12px; cursor: pointer; }
.tema-secici:focus { outline: none; border-color: var(--lacivert-acik); box-shadow: 0 0 0 3px rgba(79, 129, 79, .12); }

/* ---- Ust cubuk "Yenile" duğmesi -- SADECE masaustu programinda (bkz.
   body.bulut-modu .sadece-masaustu) BS Kalite ekibinin buluta yukledigi
   irsaliyeleri programi kapatip acmayi beklemeden hemen ceker
   (bkz. app.js -> /api/bulut/yenile). ---- */
.ust-cubuk-yenile-btn {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(160deg, #5cc860, #2e9b3a);
  border: none; color: #fff; cursor: pointer; padding: 0;
  box-shadow: 0 2px 6px rgba(46, 155, 58, .4);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ust-cubuk-yenile-btn svg { width: 16px; height: 16px; }
.ust-cubuk-yenile-btn:hover { transform: scale(1.08); }
.ust-cubuk-yenile-btn:active { transform: scale(.92); }
.ust-cubuk-yenile-btn:disabled { opacity: .65; cursor: default; transform: none; }
.ust-cubuk-yenile-btn.donuyor svg { animation: ust-cubuk-yenile-donme .8s linear infinite; }
@keyframes ust-cubuk-yenile-donme { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.ust-cubuk-yenile-durum {
  font-size: 12px; color: #2e9b3a; max-width: 220px;
  opacity: 0; transition: opacity .3s ease;
}
.ust-cubuk-yenile-durum.gorunur { opacity: 1; }
.ust-cubuk-yenile-durum.hata-durum { color: var(--kirmizi-koyu); }
@media (max-width: 640px) { .ust-cubuk-yenile-durum { display: none; } }
@media (max-width: 640px) { .tema-secici-kapsayici > span { display: none; } .tema-secici { max-width: 112px; } }

/* Icerik tum masaustu penceresini kullanir. Eski 1400px siniri, genis
   ekranlarda sag tarafta kullanilmayan gri bir alan birakiyordu. */
main { flex: 1; width: 100%; max-width: none; padding: 24px 28px 60px; }

.modul { display: none; }
.modul.aktif { display: block; }

/* 25.07.2026: ust sekme cubugu artik GIZLI -- ayni sekmeler sol menude,
   modulun altinda acilan listede (bkz. .yan-alt-menu / app.js
   yanMenuAltSekmeleri). Butonlar DOM'da duruyor (panel gecis mantigi ve
   koddaki programatik .click()'ler icin), sadece gorunmuyor. */
.alt-sekmeler {
  display: none;
}
.alt-sekme-btn {
  background: transparent;
  border: none;
  border-bottom: 2.5px solid transparent;
  color: #5c6b80;
  padding: 10px 16px;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 500;
  margin-bottom: -1px;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
  border-radius: 6px 6px 0 0;
}
.alt-sekme-btn:hover { color: var(--lacivert); background: rgba(31, 78, 120, .05); }
.alt-sekme-btn.aktif { color: var(--lacivert); border-bottom-color: var(--lacivert); font-weight: 700; }

.panel {
  display: none;
  background: #fff;
  padding: 22px 24px;
  border-radius: 8px;
  box-shadow: var(--golge);
  border: 1px solid var(--gri-cizgi);
  border-top: 3px solid var(--lacivert);
}
.panel.aktif { display: block; }

.panel-baslik { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 4px; }

h2 { margin-top: 0; color: var(--lacivert); font-size: 19px; font-weight: 700; letter-spacing: .1px; }
.aciklama { color: #6b7686; font-size: 13px; margin-top: -6px; line-height: 1.5; }

.buton {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--lacivert);
  color: #fff !important;
  border: none;
  padding: 10px 20px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1px;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(31, 78, 120, .26), inset 0 1px rgba(255,255,255,.14);
  transition: background .15s ease, box-shadow .15s ease, transform .1s ease;
}
.buton:hover { background: var(--lacivert-koyu); box-shadow: 0 5px 16px rgba(31, 78, 120, .34), inset 0 1px rgba(255,255,255,.14); transform: translateY(-1px); }
.buton:active { transform: translateY(0); box-shadow: 0 2px 6px rgba(31, 78, 120, .26), inset 0 1px rgba(255,255,255,.1); }
.buton:focus-visible { outline: 2px solid var(--lacivert-acik); outline-offset: 2px; }
.buton-ikincil { background: var(--yesil); box-shadow: 0 3px 10px rgba(63, 169, 106, .28), inset 0 1px rgba(255,255,255,.14); }
.buton-ikincil:hover { background: var(--yesil-koyu); box-shadow: 0 5px 16px rgba(63, 169, 106, .34), inset 0 1px rgba(255,255,255,.14); }
.buton-turuncu { background: var(--turuncu); box-shadow: 0 3px 10px rgba(217, 137, 22, .28), inset 0 1px rgba(255,255,255,.14); }
.buton-turuncu:hover { background: var(--turuncu-koyu); box-shadow: 0 5px 16px rgba(217, 137, 22, .34), inset 0 1px rgba(255,255,255,.14); }
.buton-uyari { background:#b9382e; box-shadow:0 3px 10px rgba(185, 56, 46, .26), inset 0 1px rgba(255,255,255,.14); }
.buton-uyari:hover { background:#92291f; box-shadow:0 5px 16px rgba(185, 56, 46, .32), inset 0 1px rgba(255,255,255,.14); }
.buton-hayalet { background: #fff; color: var(--lacivert) !important; border: 1.5px solid #c7d3e3; box-shadow: none; }
.buton-hayalet:hover { background: #f1f5fa; border-color: var(--lacivert-acik); box-shadow: none; }

/* ---- FS Siparis Takibi: istatistik kartlari, ilerleme cubugu, huni,
   zaman cizelgesi (bkz. app.js fsGenelBakisYukle / fsDetayYukle) ---- */
.istatistik-satiri { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 22px; }
.istatistik-kart { background: #fff; border: 1px solid var(--gri-cizgi); border-radius: 10px; padding: 16px 18px; box-shadow: var(--golge); border-left: 4px solid var(--lacivert); }
.istatistik-kart.turuncu { border-left-color: var(--turuncu); }
.istatistik-kart.yesil { border-left-color: var(--yesil); }
.istatistik-kart.kirmizi { border-left-color: var(--kirmizi); }
.istatistik-baslik { font-size: 12px; color: #7a8699; font-weight: 600; margin-bottom: 6px; }
.istatistik-deger { font-size: 24px; font-weight: 800; color: #1c2430; }
.istatistik-alt { font-size: 11.5px; color: #8a97ab; margin-top: 4px; }
/* Odeme Plani -- ozet karti tablonun ALTINDA (istatistik-satiri normalde
   ustte kullanilir, burada margin-bottom yerine margin-top gerekiyor) */
.odeme-plani-ozet { margin-top: 18px; margin-bottom: 0; }
.ilerleme-cubugu { width: 110px; height: 8px; background: #eef1f6; border-radius: 20px; overflow: hidden; display: inline-block; vertical-align: middle; margin-right: 8px; }
.ilerleme-dolu { display: block; height: 100%; background: linear-gradient(90deg, var(--lacivert-acik), var(--yesil)); }
.fs-baslik-kutu { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 16px; background: #f6f9fd; border: 1px solid #dbe6f2; border-radius: 10px; padding: 16px 20px; margin-bottom: 22px; }
.fs-baslik-sol strong { color: var(--lacivert); font-size: 16px; }
.fs-bilgi-satiri { display: flex; gap: 26px; margin-top: 8px; flex-wrap: wrap; }
.fs-bilgi-ogesi { font-size: 12.5px; color: #5c6b80; }
.fs-bilgi-ogesi b { display: block; color: #1c2430; font-size: 13.5px; }
.huni { display: flex; align-items: stretch; gap: 0; margin-bottom: 26px; border-radius: 10px; overflow: hidden; box-shadow: var(--golge); flex-wrap: wrap; }
.huni-adim { flex: 1; min-width: 110px; background: #fff; padding: 14px 12px; text-align: center; border-right: 1px solid var(--gri-cizgi); }
.huni-adim:last-child { border-right: none; }
.huni-adim.tamam { background: #eaf7ee; }
.huni-adim.kismi { background: #fdf1da; }
.huni-etiket { font-size: 11px; color: #7a8699; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 6px; }
.huni-sayi { font-size: 22px; font-weight: 800; color: var(--lacivert); }
.huni-adim.tamam .huni-sayi { color: var(--yesil-koyu); }
.huni-adim.kismi .huni-sayi { color: var(--turuncu-koyu); }
.fs-parca-durum { margin: 0 0 26px; padding: 16px; background: #fff; border: 1px solid var(--gri-cizgi); border-radius: 10px; box-shadow: var(--golge); }
.fs-parca-durum h3 { margin: 0 0 12px; color: var(--lacivert); font-size: 16px; }
.fs-parca-durum-tablosu th:not(:first-child), .fs-parca-durum-tablosu td:not(:first-child) { text-align: right; }
.zaman-cizelgesi { position: relative; padding-left: 6px; }
.zc-satir { display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px dashed var(--gri-cizgi); align-items: flex-start; }
.zc-satir:last-child { border-bottom: none; }
.zc-tarih { flex: 0 0 90px; font-size: 12px; color: #7a8699; font-weight: 700; padding-top: 2px; }
.zc-nokta-sutun { flex: 0 0 20px; display: flex; justify-content: center; }
.zc-nokta { width: 12px; height: 12px; border-radius: 50%; background: var(--lacivert-acik); margin-top: 4px; }
.zc-nokta.yesil { background: var(--yesil); }
.zc-nokta.turuncu { background: var(--turuncu); }
.zc-nokta.mavi { background: #2376c9; }
.zc-nokta.mor { background: #7757b8; }
.zc-nokta.lacivert { background: var(--lacivert); }
.zc-nokta.kirmizi { background: var(--kirmizi); }
.zc-icerik { flex: 1; }
.zc-baslik { font-weight: 700; font-size: 13.5px; color: #1c2430; }
.zc-detay { font-size: 12.5px; color: #6b7686; margin-top: 2px; }
.zc-satir { border-left: 3px solid transparent; padding-left: 10px; margin-left: -10px; border-radius: 4px; }
.zc-satir.zc-ham_malzeme_teslim { border-left-color: var(--turuncu); background: #fffaf0; }
.zc-satir.zc-ham_malzeme_teslim .zc-baslik { color: #9a5a00; }
.zc-satir.zc-kalite { border-left-color: #7757b8; background: #faf8ff; }
.zc-satir.zc-kalite .zc-baslik { color: #594092; }
.zc-satir.zc-sevk { border-left-color: #2376c9; background: #f4f9ff; }
.zc-satir.zc-sevk .zc-baslik { color: #185c9d; }
.zc-satir.zc-kaplama_gonderim { border-left-color: #7757b8; background: #faf8ff; }
.zc-satir.zc-kaplama_donus { border-left-color: var(--yesil); background: #f4fbf7; }
.zc-satir.zc-iade { border-left-color: var(--kirmizi); background: #fff7f6; }
.zc-etiket { font-size: 11.5px; color: var(--lacivert); background: #eef3f9; border-radius: 6px; padding: 2px 8px; margin-left: 8px; font-weight: 700; }

.birak-alani {
  border: 2px dashed #b7c6da;
  border-radius: 14px;
  padding: 46px 40px;
  text-align: center;
  color: #52627a;
  background: #f6f9fd;
  transition: background .15s ease, border-color .15s ease;
}
.birak-alani svg { opacity: .55; margin-bottom: 6px; }
.birak-alani.surukleniyor { background: #e6f0fc; border-color: var(--lacivert); }

.tablo-sarici {
  overflow-x: auto;
  margin-top: 16px;
  border-radius: 6px;
  border: 1px solid var(--grid-cizgi);
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 12.5px;
}
th {
  background: var(--lacivert);
  color: #fff;
  padding: 8px 11px;
  text-align: left;
  white-space: nowrap;
  position: sticky;
  top: 0;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .2px;
  border-right: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid var(--lacivert-koyu);
}
th:last-child { border-right: none; }
td {
  padding: 6px 11px;
  border-bottom: 1px solid var(--gri-cizgi);
  border-right: 1px solid var(--gri-cizgi);
  white-space: nowrap;
}
td:last-child { border-right: none; }
tbody tr { background: #fff; }
tr:hover td { background: #eef4fb; }
tr.odendi td { background: #e3f6e9 !important; }
tr.bekleyen td { background: #fdf1da !important; }
tr.fazla-gelen td { background: #fbe4e2 !important; }
tr.karsiliksiz td { background: #fbe4e2 !important; }
tr.iptal td { background: #eef1f6 !important; color: #8a97ab; }
tfoot td { border-right: 1px solid var(--gri-cizgi); }
tfoot td:last-child { border-right: none; }

/* Maaş Özeti: personel satırlarının altında parasal sütunların genel toplamı. */
#tablo-maas-ozet tfoot td {
  background: var(--lacivert-koyu);
  color: #fff;
  padding: 11px 12px;
  font-weight: 800;
  border-top: 2px solid var(--lacivert);
}
#tablo-maas-ozet tfoot td:nth-child(n+3) { text-align: left; font-variant-numeric: tabular-nums; }
#tablo-maas-ozet tfoot td:nth-child(2) { color: rgba(255, 255, 255, .78); font-size: 11.5px; }

/* ---- Durum rozetleri (renkli etiketler) ---- */
.rozet {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .2px;
  white-space: nowrap;
  line-height: 1.5;
}
.rozet-basari { background: #dcf3e3; color: #1f7a43; border-color: #b3e2c2; }
/* Fatura Ozeti -- "Irsaliye No" hucresi: BS Kalite'de yuklenmis mi gorsel isareti */
#tablo-fatura-ozeti td.irsaliye-yuklu { background: #dcf3e3; color: #1f7a43; font-weight: 700; border-radius: 6px; }
#tablo-fatura-ozeti td.irsaliye-bekliyor { background: #fdf1da; color: #9c6510; font-weight: 600; border-radius: 6px; }
.rozet-bekleme { background: #fdf1da; color: #9c6510; border-color: #f5dfa6; }
.rozet-bilgi { background: #dbe9fb; color: #1d5aa8; border-color: #b7d3f2; }
.rozet-notr { background: #eef1f6; color: #6b7686; border-color: #d6dbe4; }
.rozet-tehlike { background: #fbe4e2; color: #a12f22; border-color: #f3bcb6; }

td input, td textarea {
  border: 1px solid #d3dbe6;
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 13px;
  width: 100%;
  min-width: 90px;
  font-family: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
td input:focus, td textarea:focus { outline: none; border-color: var(--lacivert-acik); box-shadow: 0 0 0 3px rgba(31, 78, 120, .12); }
td input.manuel { color: #1450c4; font-weight: 600; }
td.hesaplanan { color: #222; }

.satir-form { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.satir-form input { padding: 9px 12px; border: 1px solid #d3dbe6; border-radius: 8px; font-size: 13px; }
.satir-form input:focus { outline: none; border-color: var(--lacivert-acik); box-shadow: 0 0 0 3px rgba(31, 78, 120, .12); }

/* Diger Giderler -- "Aktar" (bir onceki ayi kopyala) kutusu (27.07.2026 eklendi).
   Manuel "+ Gider Ekle" satirindan BILINCLI OLARAK ayri/on planda -- ayni
   flex satirda 6 elemanla birlikte sikisip dar ekranlarda alt alta dagilarak
   karisik gorunmesin diye (Ediz'in "alt alta cok karisik oluyor" geri
   bildirimi) kendi satirina, hafif yesil-tonlu bir vurgu kutusuna alindi. */
.diger-gider-aktar-kutusu {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  background: linear-gradient(120deg, #eaf7ee, #e1f3e7);
  padding: 14px 18px; border-radius: 12px; margin-bottom: 16px; flex-wrap: wrap;
}
.diger-gider-aktar-kutusu .metin { font-size: 13px; color: var(--lacivert); max-width: 560px; }
.diger-gider-aktar-kutusu .metin strong { color: var(--yesil-koyu); }
.diger-gider-aktar-kutusu .buton { white-space: nowrap; }

/* Diger Giderler tablosu -- ay bazinda grup basligi satiri (27.07.2026
   eklendi) -- Ediz'in "mart nisan karisik duruyor, ayri gormek istiyorum"
   geri bildirimi uzerine; her ay/yil degisiminde araya giren, tum sutunlari
   kaplayan koyu-lacivert bir baslik satiri (ay adi + kayit sayisi + toplami)
   ile aylar birbirinden acikca ayriliyor. */
#tablo-diger-gider tr.diger-gider-grup-satiri td {
  background: var(--lacivert); color: #fff; font-size: 13px; padding: 8px 14px;
}
#tablo-diger-gider tr.diger-gider-grup-satiri:not(:first-child) td { border-top: 3px solid var(--gri-bg); }
#tablo-diger-gider .diger-gider-grup-alt { color: #cfe0f0; font-weight: 400; margin-left: 4px; }

.ayarlar-kutusu {
  display: flex;
  gap: 22px;
  background: linear-gradient(120deg, #fdeee3, #fce4d6);
  padding: 14px 18px;
  border-radius: 12px;
  margin-bottom: 18px;
  flex-wrap: wrap;
  border: 1px solid rgba(200, 130, 80, .18);
}
.ayarlar-kutusu label { display: flex; flex-direction: column; font-size: 12px; font-weight: 700; gap: 5px; color: #7a4a26; }
.ayarlar-kutusu input { padding: 7px 10px; border-radius: 6px; border: 1px solid #e0c3ac; width: 110px; }

.silme-btn { background: var(--kirmizi); color: #fff; border: none; border-radius: 6px; padding: 5px 10px; cursor: pointer; font-size: 12px; font-weight: 600; transition: background .15s ease; }
.silme-btn:hover { background: var(--kirmizi-koyu); }

.salt-okunur-serit {
  background: linear-gradient(120deg, #fdf1da, #fce4b8);
  color: #7a4a0e;
  padding: 9px 30px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid rgba(154, 100, 20, .2);
}
.salt-okunur-serit a { color: #7a4a0e; text-decoration: underline; font-weight: 600; margin-left: auto; }

#yukleme-sonuc { margin-top: 16px; font-size: 13px; }
#yukleme-sonuc .satir { padding: 8px 12px; border-radius: 8px; margin-bottom: 5px; }
#yukleme-sonuc .ok { background: #e2f5e5; }
#yukleme-sonuc .eksik { background: #fff3cd; }
#yukleme-sonuc .hata { background: #fde2e2; }

/* ---- BS Kalite: sadece-kalite oturumunda programin geri kalanini gizle ---- */
body.sadece-kalite .kalite-gizli { display: none !important; }
body.sadece-uretim .yan-menu-btn:not([data-hedef="uretim-modulu"]),
body.sadece-uretim .yan-alt-menu:not([data-modul="uretim-modulu"]),
body.sadece-uretim .mobil-alt-btn:not([data-modul="uretim-modulu"]):not([data-modul="__menu__"]) { display: none !important; }
.kalite-serit { background: linear-gradient(120deg, #e5f3ff, #cfe8fb); color: #144a72; border-bottom-color: rgba(20, 74, 114, .2); }
.kalite-serit a { color: #144a72; }

/* ---- BS Kalite: "Yenile" butonu SADECE masaustu programinda anlamlidir
   (bulut_senkron.py ve bulut_ayarlari.json sadece masaustunde var) --
   bulut panelinde (SUNUCU_MODU acikken, hem tam giris hem kalite girisinde)
   bu buton/aciklama gizlenir. ---- */
body.bulut-modu .sadece-masaustu { display: none !important; }

/* ---- BS Kalite: irsaliye yukleme sonuclari ---- */
#kalite-yukleme-sonuc { margin-top: 16px; font-size: 13px; }
#kalite-yukleme-sonuc .kalite-dosya-sonuc,
#malzeme-yukleme-sonuc .kalite-dosya-sonuc,
#malzeme-fatura-listesi .kalite-dosya-sonuc { border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; border: 1px solid transparent; }
#kalite-yukleme-sonuc .kalite-dosya-sonuc.ok,
#malzeme-yukleme-sonuc .kalite-dosya-sonuc.ok { background: #e2f5e5; border-color: #bfe3c4; }
#kalite-yukleme-sonuc .kalite-dosya-sonuc.hata,
#malzeme-yukleme-sonuc .kalite-dosya-sonuc.hata { background: #fde2e2; border-color: #f3bcb6; }
#kalite-yukleme-sonuc .kalite-dosya-sonuc.reddedildi { background: #fde2e2; border-color: var(--kirmizi); }
#kalite-yukleme-sonuc .kalite-dosya-sonuc.asimli { background: #fdf1da; border-color: #ecc98a; }
.gecmis-kayit-etiketi { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: #5a6472; cursor: pointer; margin: 10px 0; line-height: 1.4; }
.gecmis-kayit-etiketi input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; }
.fs-genel-bakis-arac-cubugu { display: flex; gap: 10px; margin: 4px 0 12px; align-items: center; flex-wrap: wrap; }
.gereksiz-menu-sekmesi { display: none !important; }

/* --- FS Siparis Takibi: Algoritmayi Dogrula / Tutarsizlik Tara (04.08.2026) --- */
.fs-dogrulama-durum { font-size: 12.5px; color: #5a6472; }
.fs-dogrulama-durum.hata-durum { color: var(--kirmizi-koyu); font-weight: 600; }
.fs-dogrulama-govde { max-height: 70vh; overflow-y: auto; }
.fs-dogrulama-ozet { font-weight: 700; padding: 10px 14px; border-radius: 8px; margin: 4px 0 14px; }
.fs-dogrulama-ozet.basari { background: #e3f5ea; color: var(--yesil-koyu); }
.fs-dogrulama-ozet.hata-durum { background: #fde2e2; color: var(--kirmizi-koyu); }
.fs-dogrulama-tablo { width: 100%; border-collapse: collapse; }
.fs-dogrulama-tablo td { padding: 8px 6px; border-bottom: 1px solid #e6eaf0; vertical-align: top; }
.fs-dogrulama-tablo tr:last-child td { border-bottom: none; }
.fs-dogrulama-ikon { width: 26px; text-align: center; font-weight: 700; font-size: 15px; }
.fs-dogrulama-tablo tr.basari .fs-dogrulama-ikon { color: var(--yesil-koyu); }
.fs-dogrulama-tablo tr.hata-durum .fs-dogrulama-ikon { color: var(--kirmizi-koyu); }
.fs-dogrulama-baslik { font-weight: 700; color: var(--lacivert); margin-bottom: 2px; }
.fs-tutarsizlik-eylemler { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.fs-tutarsizlik-eylemler .buton { padding: 6px 14px; font-size: 12px; }

/* FS listesi: uzun parca metnini tabloyu bozmayan, okunur rozetlere cevir. */
#tablo-fs-genel-bakis { width: 100%; table-layout: fixed; }
#tablo-fs-genel-bakis th:nth-child(1), #tablo-fs-genel-bakis td:nth-child(1) { width: 48px; text-align: center; }
#tablo-fs-genel-bakis th:nth-child(2), #tablo-fs-genel-bakis td:nth-child(2) { width: 118px; white-space: nowrap; font-weight: 700; color: var(--lacivert); }
#tablo-fs-genel-bakis th:nth-child(4), #tablo-fs-genel-bakis td:nth-child(4) { width: 105px; text-align: right; font-variant-numeric: tabular-nums; }
#tablo-fs-genel-bakis th:nth-child(5), #tablo-fs-genel-bakis td:nth-child(5) { width: 128px; }
#tablo-fs-genel-bakis th:nth-child(6), #tablo-fs-genel-bakis td:nth-child(6) { width: 158px; }
#tablo-fs-genel-bakis th:nth-child(7), #tablo-fs-genel-bakis td:nth-child(7) { width: 86px; text-align: right; font-variant-numeric: tabular-nums; }
#tablo-fs-genel-bakis th:nth-child(8), #tablo-fs-genel-bakis td:nth-child(8) { width: 82px; text-align: right; }
.fs-parca-hucre { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-height: 38px; }
.fs-parca-rozet { display: inline-block; max-width: 148px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 7px; border-radius: 5px; background: #eef3f8; color: #34506e; font-size: 10.5px; font-weight: 650; }
.fs-parca-rozet.fs-parca-fazla { background: #fff4dd; color: #94610a; cursor: help; }
.fs-gizli-uyari { background: #eaf2fb; color: #34506e; border-radius: 6px; padding: 8px 12px; }

/* FS listesi: gizleme alanlari kaldirildiktan sonraki 7 sutuna gore hizalanir. */
#tablo-fs-genel-bakis { min-width: 900px; border-collapse: separate; border-spacing: 0; }
#tablo-fs-genel-bakis th { padding: 10px 12px; white-space: nowrap; }
#tablo-fs-genel-bakis th { color: #fff; }
#tablo-fs-genel-bakis th:nth-child(2) { color: #fff; }
#tablo-fs-genel-bakis td { height: 50px; box-sizing: border-box; padding: 8px 10px; vertical-align: middle; line-height: 1.35; }
#tablo-fs-genel-bakis th:nth-child(1), #tablo-fs-genel-bakis td:nth-child(1) { width: 122px; text-align: left; }
#tablo-fs-genel-bakis th:nth-child(2), #tablo-fs-genel-bakis td:nth-child(2) { width: 360px; }
#tablo-fs-genel-bakis th:nth-child(3), #tablo-fs-genel-bakis td:nth-child(3) { width: 80px; text-align: right; }
#tablo-fs-genel-bakis th:nth-child(4), #tablo-fs-genel-bakis td:nth-child(4) { width: 112px; }
#tablo-fs-genel-bakis th:nth-child(5), #tablo-fs-genel-bakis td:nth-child(5) { width: 132px; }
#tablo-fs-genel-bakis th:nth-child(6), #tablo-fs-genel-bakis td:nth-child(6) { width: 72px; text-align: right; }
#tablo-fs-genel-bakis th:nth-child(7), #tablo-fs-genel-bakis td:nth-child(7) { width: 84px; text-align: center; }
#tablo-fs-genel-bakis tbody tr:nth-child(even) td { background: #f8fafc; }
#tablo-fs-genel-bakis tbody tr:hover td { background: #eef5fb; }
#tablo-fs-genel-bakis tbody tr.fs-eski-kayit td { background: #fbfcfe; color: #718096; }
#tablo-fs-genel-bakis tbody tr.fs-eski-kayit:hover td { background: #f2f6fa; }
.fs-no-hucre { color: var(--lacivert); font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fs-no-buton { appearance: none; border: 0; padding: 0; background: transparent; color: var(--lacivert); font: inherit; font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.fs-sayi-hucre { text-align: right; font-weight: 750; font-variant-numeric: tabular-nums; }
.fs-parcalar-hucre { overflow: hidden; display: table-cell; white-space: nowrap; color: #66788c; }
.fs-parcalar-hucre > * { margin-right: 5px; vertical-align: middle; }
.fs-parca-rozet { max-width: 104px; }
.fs-parca-sayi { display: inline-flex; align-items: center; height: 23px; padding: 0 7px; border-radius: 12px; background: #e0ebf5; color: var(--lacivert); font-size: 10.5px; font-weight: 800; }
.fs-eksik-bilgi, .fs-parca-yok { display: inline-block; padding: 4px 8px; border-radius: 5px; font-size: 11px; font-weight: 650; }
.fs-eksik-bilgi { background: #f0f3f7; color: #718096; }
.fs-parca-yok { background: #fff4dd; color: #94610a; }
.fs-ilerleme-hucre { white-space: nowrap; color: var(--lacivert); font-size: 11px; font-weight: 750; }
.fs-eylem-hucre .buton { min-width: 66px; padding: 6px 10px; }
.fs-eylem-grubu { display: flex; justify-content: center; gap: 6px; white-space: nowrap; }
.fs-eylem-grubu .buton { min-width: 52px; padding: 6px 8px; }
.fs-eylem-hucre .fs-gizle-btn { min-width: 58px; padding: 6px 8px; }
.fs-gizleme-yardim { color: #5f738a; font-size: 12px; align-self: center; }

/* FS Takip: mobil arama cubugu ve ilk FS No sutununu sabit tutan tablo. */
.fs-detay-arama-form { align-items: center; }
.fs-detay-arama-form input { min-width: 260px; }
@media (max-width: 860px) {
  .fs-detay-arama-form {
    display: flex;
    flex-wrap: nowrap;
    position: sticky;
    top: 0;
    z-index: 4;
    padding: 10px;
    margin: 0 -2px 16px;
    background: #fff;
    border: 1px solid #d7e2ee;
    border-radius: 9px;
    box-shadow: 0 3px 10px rgba(20, 40, 70, .08);
  }
  .fs-detay-arama-form input {
    min-width: 0;
    flex: 1 1 auto;
    width: 100%;
  }
  .fs-detay-arama-form .buton { flex: 0 0 auto; }

  #tablo-fs-genel-bakis { min-width: 760px; table-layout: fixed; }
  #tablo-fs-genel-bakis .fs-no-buton { font-size: 14px; }
}

/* Yillik gider faturalari: aylik grafik ve fatura/kalem detaylari */
.yillik-gider-bolumu {
  margin: 4px 0 28px;
  padding: 20px;
  border: 1px solid #cdddeb;
  border-radius: 14px;
  background: linear-gradient(145deg, #f8fbff 0%, #f2f8f5 100%);
  box-shadow: 0 5px 18px rgba(25, 69, 105, .08);
}
.yillik-gider-ust { display: flex; justify-content: space-between; gap: 22px; align-items: flex-start; }
.yillik-gider-ust h3, .diger-gider-elle-baslik h3 { margin: 0 0 7px; color: #174e7a; font-size: 18px; }
.yillik-gider-filtreler { display: flex; gap: 10px; flex: 0 0 auto; }
.yillik-gider-filtreler label { color: #40566c; font-size: 11px; font-weight: 800; }
.yillik-gider-filtreler select { display: block; min-width: 120px; margin-top: 4px; padding: 8px 10px; border: 1px solid #b9ccdc; border-radius: 8px; background: white; }
.yillik-gider-birak { min-height: 104px; margin: 14px 0 10px; padding: 14px; flex-direction: row; gap: 13px; }
.yillik-gider-birak p { margin: 0; }
.yillik-gider-yukleme-sonuc { margin: 8px 0 12px; padding: 9px 12px; border-radius: 8px; background: #e9f8ef; color: #1f7042; font-weight: 700; }
.yillik-gider-yukleme-sonuc:empty { display: none; }
.yillik-gider-yukleme-sonuc.bekliyor { background: #eaf3fb; color: #195789; }
.yillik-gider-yukleme-sonuc.hata { background: #fff0ee; color: #ae3329; }
.yillik-gider-toplamlar { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.yillik-gider-toplam-kart { min-width: 190px; padding: 12px 15px; border-radius: 10px; background: #e7f6ec; border-left: 4px solid #2f8655; }
.yillik-gider-toplam-kart.ikincil { background: #eaf2fa; border-left-color: #2c70a7; }
.yillik-gider-toplam-kart span { display: block; color: #5c6e7d; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.yillik-gider-toplam-kart strong { display: block; margin-top: 3px; color: #17663a; font-size: 21px; }
.yillik-gider-toplam-kart.ikincil strong { color: #1b5d91; }
.gider-analiz-paneli { margin: 15px 0; padding: 16px; border: 1px solid #cbdce8; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(31,78,120,.07); }
.gider-analiz-baslik { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.gider-analiz-baslik h3 { margin: 0 0 4px; color: #164f7b; font-size: 17px; }
.gider-analiz-baslik p { margin: 0; color: #607487; }
.gider-analiz-not { padding: 6px 9px; border-radius: 7px; background: #fff4d9; color: #805c14; font-size: 10px; font-weight: 800; white-space: nowrap; }
.gider-analiz-filtreler { display: grid; grid-template-columns: minmax(190px,.8fr) minmax(220px,1fr) minmax(260px,1.4fr) auto; gap: 10px; align-items: end; margin: 15px 0 10px; padding: 12px; border-radius: 10px; background: #edf5fa; }
.gider-analiz-filtreler label { color: #3c566c; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .25px; }
.gider-analiz-filtreler select, .gider-analiz-filtreler input { display: block; width: 100%; margin-top: 5px; padding: 8px 10px; border: 1px solid #b8ccdb; border-radius: 7px; background: #fff; color: #263b4c; }
.gider-filtre-ozet { display: flex; align-items: baseline; gap: 10px; margin: 9px 0 13px; padding: 10px 13px; border-left: 4px solid #2d8a59; background: #eef9f2; border-radius: 7px; }
.gider-filtre-ozet strong { color: #17683d; font-size: 20px; }
.gider-filtre-ozet span { color: #526a5c; font-weight: 700; }
.gider-analiz-iki-kolon { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.gider-analiz-iki-kolon h4 { margin: 5px 0 8px; color: #38566d; font-size: 12px; text-transform: uppercase; letter-spacing: .4px; }
.gider-kategori-kartlari, .gider-firma-kartlari { display: grid; gap: 7px; }
.gider-dagilim-karti, .gider-firma-karti { width: 100%; border: 1px solid #d4e1e9; border-radius: 8px; background: #fbfdff; padding: 8px 10px; color: #324d61; cursor: pointer; text-align: left; display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; align-items: center; }
.gider-dagilim-karti:hover, .gider-firma-karti:hover { border-color: #5c98bd; background: #f1f8fc; }
.gider-dagilim-karti span, .gider-firma-karti span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.gider-dagilim-karti strong, .gider-firma-karti strong { color: #146b40; white-space: nowrap; }
.gider-dagilim-karti small { color: #667c8c; text-align: right; font-weight: 800; }
.gider-dagilim-cubuk { height: 5px; border-radius: 5px; background: #e3ecf1; overflow: hidden; }
.gider-dagilim-cubuk i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2d8a59,#2d78a4); }
.gider-kategori-sec { width: 100%; min-width: 170px; padding: 6px; border: 1px solid #afc8d9; border-radius: 6px; background: #f7fbfe; color: #214c69; font-size: 10px; font-weight: 700; }
.gider-kategori-hucre small { display: block; margin-top: 3px; color: #a26712; font-size: 8px; font-weight: 900; }
.yillik-gider-kalem-tablosu { min-width: 1120px; }
.yillik-gider-grafik-kart { padding: 15px 15px 9px; border: 1px solid #d7e2ec; border-radius: 11px; background: white; }
.yillik-gider-grafik-baslik { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.yillik-gider-grafik-baslik h3 { margin: 0; color: #244f72; font-size: 15px; }
.yillik-gider-grafik-baslik span { color: #37724e; font-weight: 800; }
.yillik-gider-grafik { height: 235px; display: grid; grid-template-columns: repeat(12, minmax(44px, 1fr)); gap: 7px; align-items: end; margin-top: 10px; overflow-x: auto; }
.yillik-gider-grafik-sutun { height: 210px; min-width: 44px; display: grid; grid-template-rows: 30px 1fr 23px; text-align: center; }
.yillik-gider-grafik-deger { align-self: end; padding-bottom: 3px; color: #526779; font-size: 9px; font-weight: 800; white-space: nowrap; }
.yillik-gider-cubuk-yuva { position: relative; height: 155px; align-self: end; border-bottom: 1px solid #b9c9d6; display: flex; align-items: flex-end; justify-content: center; }
.yillik-gider-cubuk { width: min(34px, 72%); min-height: 0; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, #3ba56a, #256c91); box-shadow: 0 3px 8px rgba(32, 100, 126, .22); transition: height .25s ease; }
.yillik-gider-grafik-ay { padding-top: 5px; color: #345269; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.yillik-gider-aylar { margin-top: 14px; display: grid; gap: 9px; }
.yillik-gider-ay-karti { border: 1px solid #cbdbe8; border-radius: 10px; background: white; overflow: hidden; }
.yillik-gider-ay-karti > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; padding: 12px 14px; background: #eaf3fa; list-style-position: inside; }
.yillik-gider-ay-adi { color: #194f79; font-size: 15px; font-weight: 900; }
.yillik-gider-ay-bilgi { color: #42657e; font-size: 12px; font-weight: 700; }
.yillik-gider-fatura-listesi { padding: 7px 11px 11px; }
.yillik-gider-fatura { border-bottom: 1px solid #e0e8ee; }
.yillik-gider-fatura:last-child { border-bottom: 0; }
.yillik-gider-fatura > summary { display: grid; grid-template-columns: minmax(185px, .8fr) minmax(260px, 2fr) minmax(120px, .6fr); gap: 12px; align-items: center; padding: 10px 8px; cursor: pointer; }
.yillik-gider-fatura-kimlik { color: #245e88; font-weight: 800; }
.yillik-gider-firma { color: #384b5b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yillik-gider-fatura-tutar { text-align: right; color: #167042; font-size: 14px; }
.yillik-gider-fatura-icerik { padding: 0 8px 12px; }
.yillik-gider-kalem-tablosu { width: 100%; }
.yillik-gider-kalem-tablosu th { background: #285b81; color: white; }
.yillik-gider-kalem-tablosu th, .yillik-gider-kalem-tablosu td { padding: 7px 9px; font-size: 11px; }
.diger-gider-elle-baslik { margin-top: 20px; padding-top: 18px; border-top: 2px solid #d6e1e9; }
.bos-durum { padding: 22px; border: 1px dashed #bacbd8; border-radius: 10px; text-align: center; color: #647888; background: white; }

/* Yillik ciro raporu (Fatura Takibi > Yillik Ciro Raporu) -- yillik-gider
   ile ayni desen, daha sade (kategori/firma filtresi ve kalem tablosu yok). */
.yillik-ciro-ust { display: flex; justify-content: flex-end; gap: 22px; align-items: flex-start; margin-bottom: 6px; }
.yillik-ciro-filtreler { display: flex; gap: 10px; flex: 0 0 auto; }
.yillik-ciro-filtreler label { color: #40566c; font-size: 11px; font-weight: 800; }
.yillik-ciro-filtreler select { display: block; min-width: 120px; margin-top: 4px; padding: 8px 10px; border: 1px solid #b9ccdc; border-radius: 8px; background: white; }
.yillik-ciro-toplamlar { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.yillik-ciro-toplam-kart { min-width: 190px; padding: 12px 15px; border-radius: 10px; background: #e7f6ec; border-left: 4px solid #2f8655; }
.yillik-ciro-toplam-kart.ikincil { background: #eaf2fa; border-left-color: #2c70a7; }
.yillik-ciro-toplam-kart span { display: block; color: #5c6e7d; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.yillik-ciro-toplam-kart strong { display: block; margin-top: 3px; color: #17663a; font-size: 21px; }
.yillik-ciro-toplam-kart.ikincil strong { color: #1b5d91; }
.yillik-ciro-grafik-kart { padding: 15px 15px 9px; border: 1px solid #d7e2ec; border-radius: 11px; background: white; }
.yillik-ciro-grafik-baslik { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.yillik-ciro-grafik-baslik h3 { margin: 0; color: #244f72; font-size: 15px; }
.yillik-ciro-grafik-baslik span { color: #37724e; font-weight: 800; }
.yillik-ciro-grafik { height: 235px; display: grid; grid-template-columns: repeat(12, minmax(44px, 1fr)); gap: 7px; align-items: end; margin-top: 10px; overflow-x: auto; }
.yillik-ciro-grafik-sutun { height: 210px; min-width: 44px; display: grid; grid-template-rows: 30px 1fr 23px; text-align: center; }
.yillik-ciro-grafik-deger { align-self: end; padding-bottom: 3px; color: #526779; font-size: 9px; font-weight: 800; white-space: nowrap; }
.yillik-ciro-cubuk-yuva { position: relative; height: 155px; align-self: end; border-bottom: 1px solid #b9c9d6; display: flex; align-items: flex-end; justify-content: center; }
.yillik-ciro-cubuk { width: min(34px, 72%); min-height: 0; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, #3ba56a, #256c91); box-shadow: 0 3px 8px rgba(32, 100, 126, .22); transition: height .25s ease; }
.yillik-ciro-grafik-ay { padding-top: 5px; color: #345269; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.yillik-ciro-aylar { margin-top: 14px; display: grid; gap: 9px; }
.yillik-ciro-ay-karti { border: 1px solid #cbdbe8; border-radius: 10px; background: white; overflow: hidden; }
.yillik-ciro-ay-karti > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; padding: 12px 14px; background: #eaf3fa; list-style-position: inside; }
.yillik-ciro-ay-adi { color: #194f79; font-size: 15px; font-weight: 900; }
.yillik-ciro-ay-bilgi { color: #42657e; font-size: 12px; font-weight: 700; }
.yillik-ciro-fatura-listesi { padding: 7px 11px 11px; }
.yillik-ciro-fatura { display: grid; grid-template-columns: minmax(185px, .8fr) minmax(110px, .5fr) 90px minmax(120px, .5fr); gap: 12px; align-items: center; padding: 9px 8px; border-bottom: 1px solid #e0e8ee; }
.yillik-ciro-fatura:last-child { border-bottom: 0; }
.yillik-ciro-fatura-kimlik { color: #245e88; font-weight: 800; }
.yillik-ciro-fatura-siparis { color: #384b5b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yillik-ciro-fatura-durum { justify-self: start; padding: 3px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.yillik-ciro-fatura-durum.odendi { background: #e5f5ea; color: #1f7a44; }
.yillik-ciro-fatura-durum.bekliyor { background: #fdf1de; color: #9a6a12; }
.yillik-ciro-fatura-tutar { text-align: right; color: #167042; font-size: 14px; }

/* FS Maliyet Ozeti (29.08.2026) -- kaplama/malzeme birim fiyati hucreleri,
   Teklif Hesaplama'daki ham-fiyat-hucre otomatik/manuel renk dilini
   (mavi=otomatik, amber=elle) tekrar kullanir, tutarlilik icin. */
.fs-maliyet-fiyat-input { width: 100%; min-width: 84px; text-align: right; font-weight: 700; border-radius: 6px; padding: 5px 7px; border: 1px solid #b9ccdc; }
.fs-maliyet-fiyat-input.otomatik-deger { border-color: #8fb5d5; background: #f5faff; color: #19558b; }
.fs-maliyet-fiyat-input.elle-girildi { border-color: #d69332; background: #fff6e5; color: #8b5108; }
.fs-maliyet-fiyat-input.kaynak-yok { border-color: #d9b9b9; background: #fff5f5; color: #8a3b3b; }
#tablo-fs-maliyet-ozeti td small { display: block; color: #71879a; font-size: 9px; font-weight: 700; }

/* Uretim ve Tezgah Takibi */
.uretim-siparis-takip-yerlesim { display:grid; grid-template-columns:340px minmax(0,1fr); gap:18px; align-items:start; }
.uretim-siparis-paneli { max-height:calc(100vh - 230px); overflow:auto; border:1px solid #cdddea; border-top:4px solid #245f8b; border-radius:12px; background:#f7fafc; box-shadow:0 5px 18px rgba(24,67,99,.09); padding:12px; }
.uretim-siparis-panel-baslik { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.uretim-siparis-panel-baslik span,.uretim-gunluk-baslik>span { color:#71879a; font-size:8px; font-weight:900; letter-spacing:.7px; }
.uretim-siparis-panel-baslik h3 { margin:2px 0 0; color:#173f60; font-size:17px; }
.uretim-siparis-panel-baslik>b { display:grid; place-items:center; min-width:29px; height:29px; border-radius:50%; background:#245f8b; color:#fff; font-size:11px; }
.uretim-siparis-ara { width:100%; height:36px; margin-bottom:9px; border:1px solid #bfd0de; border-radius:8px; background:#fff; padding:7px 10px; color:#213e54; font-size:11px; }
.uretim-siparis-yan-liste { display:flex; flex-direction:column; gap:7px; max-height:315px; overflow:auto; padding-right:2px; }
.uretim-siparis-yan-liste .bos-durum { padding:14px 8px; font-size:10px; }
.uretim-siparis-yan-kart { position:relative; width:100%; border:1px solid #d4e0e9; border-left:4px solid #8fa9bc; border-radius:9px; background:#fff; padding:9px 9px 8px; text-align:left; cursor:pointer; color:#27465d; transition:.15s ease; }
.uretim-siparis-yan-kart:hover { border-color:#76a3c3; transform:translateY(-1px); }
.uretim-siparis-yan-kart.secili { border-color:#2b78a8; border-left-color:#1c74aa; background:linear-gradient(105deg,#eaf5fc,#fff 72%); box-shadow:0 3px 9px rgba(38,113,160,.13); }
.uretim-siparis-kaynak { float:right; margin-left:6px; padding:2px 5px; border-radius:9px; background:#eaf0f5; color:#527086; font-size:7px; font-weight:900; }
.uretim-siparis-yan-kart>strong { display:block; color:#155782; font-size:11px; }
.uretim-siparis-yan-kart>small { display:block; height:28px; overflow:hidden; margin-top:3px; color:#65798a; font-size:9px; line-height:14px; }
.uretim-siparis-kart-alt { display:flex; justify-content:space-between; gap:6px; margin-top:5px; color:#546d80; font-size:9px; }
.uretim-siparis-kart-alt b { color:#176c47; }
.uretim-siparis-progress { display:block; height:4px; margin-top:5px; overflow:hidden; border-radius:5px; background:#e7eef3; }
.uretim-siparis-progress em { display:block; height:100%; background:linear-gradient(90deg,#2c84b0,#2c9c68); }
.uretim-siparis-gunluk-detay { margin-top:12px; padding-top:11px; border-top:2px solid #dbe5ec; }
.uretim-siparis-detay-genis { min-height:380px; margin-top:0; padding:16px 18px; border:1px solid #d5e1ea; border-top:4px solid #2f9566; border-radius:12px; background:#fbfdfc; box-shadow:0 5px 18px rgba(24,67,99,.07); }
.uretim-siparis-detay-genis .uretim-gunluk-baslik h4 { font-size:20px; }
.uretim-siparis-detay-genis .uretim-gunluk-baslik small { font-size:11px; }
.uretim-siparis-detay-genis .uretim-siparis-mini-ozet { max-width:760px; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:10px; margin:14px 0; }
.uretim-siparis-detay-genis .uretim-siparis-mini-ozet>div { padding:11px; }
.uretim-siparis-detay-genis .uretim-siparis-mini-ozet b { font-size:15px; }
.uretim-siparis-detay-genis .uretim-gun-karti>summary { padding:12px 14px; }
.uretim-siparis-detay-genis .uretim-gun-karti>summary strong,.uretim-siparis-detay-genis .uretim-gun-karti>summary b { font-size:12px; }
.uretim-siparis-detay-genis .uretim-gun-oturum { padding:11px 7px; }
.uretim-siparis-detay-genis .uretim-gun-oturum strong,.uretim-siparis-detay-genis .uretim-gun-oturum b { font-size:11px; }
.uretim-gunluk-baslik h4 { margin:2px 0; color:#174f78; font-size:14px; }
.uretim-gunluk-baslik small { color:#617889; font-size:9px; }
.uretim-siparis-mini-ozet { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin:9px 0; }
.uretim-siparis-mini-ozet>div { border:1px solid #dce6ed; border-radius:7px; background:#fff; padding:6px 5px; text-align:center; }
.uretim-siparis-mini-ozet span { display:block; color:#758796; font-size:7px; font-weight:800; text-transform:uppercase; }
.uretim-siparis-mini-ozet b { display:block; margin-top:3px; color:#174f78; font-size:10px; }
.uretim-gun-listesi { display:flex; flex-direction:column; gap:6px; }
.uretim-gun-karti { overflow:hidden; border:1px solid #d6e2ea; border-radius:8px; background:#fff; }
.uretim-gun-karti>summary { display:flex; justify-content:space-between; gap:8px; padding:8px; cursor:pointer; list-style:none; background:#f1f6fa; }
.uretim-gun-karti>summary::-webkit-details-marker { display:none; }
.uretim-gun-karti>summary div:last-child { text-align:right; }
.uretim-gun-karti>summary strong,.uretim-gun-karti>summary b { display:block; color:#214e6e; font-size:10px; }
.uretim-gun-karti>summary small,.uretim-gun-karti>summary span { display:block; margin-top:2px; color:#728697; font-size:8px; }
.uretim-vardiya-metrikleri { display:grid; grid-template-columns:repeat(5,minmax(92px,1fr)); gap:7px; padding:10px; border-top:1px solid #dce6ed; border-bottom:1px solid #dce6ed; background:#fbfdfd; }
.uretim-vardiya-metrikleri>div { min-width:0; padding:8px 7px; border:1px solid #dce6ed; border-radius:7px; background:#fff; text-align:center; }
.uretim-vardiya-metrikleri span { display:block; color:#768998; font-size:7px; font-weight:850; text-transform:uppercase; }
.uretim-vardiya-metrikleri b { display:block; margin-top:3px; color:#145d88; font-size:11px; }
.uretim-vardiya-metrikleri small { display:block; margin-top:2px; color:#84939e; font-size:7px; }
.uretim-gun-oturumlari { padding:3px 7px 6px; }
.uretim-gun-oturum { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 7px; padding:7px 1px; border-bottom:1px dashed #dfe7ed; }
.uretim-gun-oturum:last-child { border-bottom:0; }
.uretim-gun-oturum>div:last-of-type { text-align:right; }
.uretim-gun-oturum strong,.uretim-gun-oturum b { display:block; color:#264f6d; font-size:9px; }
.uretim-gun-oturum span { display:block; margin-top:2px; color:#728493; font-size:8px; }
.uretim-gun-oturum>small { grid-column:1/-1; color:#81909c; font-size:8px; }
.uretim-henuz-kayit { padding:12px 8px; border:1px dashed #bdceda; border-radius:8px; color:#6d8190; text-align:center; font-size:9px; background:#fff; }
.uretim-baslik-satiri { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:14px; }
.uretim-baslik-satiri h2 { margin-bottom:4px; }
.uretim-vardiya-rozet { padding:9px 13px; border-radius:22px; background:#e9f2fb; border:1px solid #c7daed; color:#194f79; font-size:12px; font-weight:850; white-space:nowrap; }
.uretim-ozet-kartlari { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:10px; margin-bottom:14px; }
.uretim-ozet { border:1px solid #d6e1eb; border-left:5px solid #397aa8; border-radius:10px; background:white; padding:11px 13px; }
.uretim-ozet span { display:block; color:#65788a; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.35px; }
.uretim-ozet b { display:block; color:#194f79; font-size:21px; margin-top:4px; }
.uretim-ozet.yesil { border-left-color:#2e9b64; }.uretim-ozet.yesil b{color:#157044}.uretim-ozet.kirmizi{border-left-color:#ce493d}.uretim-ozet.kirmizi b{color:#a9342c}.uretim-ozet.turuncu{border-left-color:#e09224}.uretim-ozet.turuncu b{color:#a9670b}
.uretim-makine-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:11px; }
.uretim-makine-kart { min-height:145px; border:1px solid #d8e2eb; border-top:5px solid #9aaaba; border-radius:11px; background:#fff; padding:12px; box-shadow:0 3px 11px rgba(31,78,120,.06); }
.uretim-makine-kart.calisiyor { border-top-color:#2f9d64; background:linear-gradient(180deg,#f2fbf6,#fff 42%); }
.uretim-makine-ust { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.uretim-makine-ust h3 { margin:0; color:#173f60; font-size:18px; }
.uretim-makine-durum { padding:4px 7px; border-radius:12px; color:#62768a; background:#eef2f5; font-size:8px; font-weight:900; letter-spacing:.5px; }
.calisiyor .uretim-makine-durum { color:#147144; background:#dff4e8; }
.uretim-makine-kart h4 { margin:7px 0 4px; color:#1f3d55; font-size:13px; }
.uretim-makine-kart p { margin:5px 0; min-height:18px; color:#617486; font-size:11px; }
.uretim-makine-kart small { display:block; color:#82909d; font-size:9px; }
.uretim-makine-kart .uretim-vardiya-kapat { width:100%; margin-top:9px; padding:7px 9px; font-size:11px; }
.uretim-fs { display:inline-block; color:#1d5c8a; font-size:11px; font-weight:900; letter-spacing:.25px; }
.uretim-pano-arama-satiri { display:flex; align-items:center; gap:10px; margin-bottom:11px; }
.uretim-pano-ara { flex:0 1 380px; height:36px; border:1px solid #bfd0de; border-radius:8px; background:#fff; padding:7px 10px; color:#213e54; font-size:12px; }
.uretim-pano-ara:focus { outline:none; border-color:#397aa8; box-shadow:0 0 0 3px rgba(57,122,168,.15); }
.uretim-pano-ara-sonuc { color:#4d6478; font-size:11px; font-weight:700; }
.uretim-pano-ara-sonuc.bos-sonuc { color:#a9342c; }
.uretim-makine-kart.eslesme { border-color:#397aa8; border-width:2px; box-shadow:0 0 0 3px rgba(57,122,168,.18); }
.uretim-makine-kart.sonuk { opacity:.32; filter:grayscale(35%); }

/* --- Canli tezgah baglantisi (16.08.2026) ------------------------------- */
.uretim-baslik-rozetler { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.uretim-canli-durum { padding:6px 12px; border-radius:20px; font-size:11px; font-weight:850; white-space:nowrap; }
.uretim-canli-durum.acik { background:#e4f6ec; border:1px solid #a9dcc0; color:#137043; }
.uretim-canli-durum.kapali { background:#f1f4f7; border:1px solid #d5dee6; color:#6c7d8c; }
/* Tezgahin KENDI bildirdigi duruma gore kart rengi. Elle acilan oturumdan
   farkli olarak bunlar canli sinyalden gelir. */
.uretim-makine-kart.sinyal-calisiyor { border-top-color:#2f9d64; background:linear-gradient(180deg,#f2fbf6,#fff 42%); }
.uretim-makine-kart.sinyal-bos { border-top-color:#9aaaba; }
.uretim-makine-kart.sinyal-alarm { border-top-color:#ce493d; background:linear-gradient(180deg,#fdf1f0,#fff 42%); }
.uretim-makine-kart.sinyal-alarm .uretim-makine-durum { color:#a9342c; background:#fbe0dd; }
.uretim-makine-kart.sinyal-kapali { border-top-color:#c3ccd4; background:#fafbfc; opacity:.72; }
.sinyal-calisiyor .uretim-makine-durum { color:#147144; background:#dff4e8; }
.uretim-canli-rozet { display:inline-block; margin-bottom:5px; padding:2px 7px; border-radius:10px;
  background:#e4f6ec; color:#137043; font-size:8px; font-weight:900; letter-spacing:.4px; }
/* Tezgah kapali/alarmdayken yesil "CANLI" rozeti celiskili duruyordu --
   baglanti canli ama tezgah calismiyor; rozet notr renge duser. */
.sinyal-kapali .uretim-canli-rozet { background:#eef1f4; color:#788895; }
.sinyal-alarm .uretim-canli-rozet { background:#fbe0dd; color:#a9342c; }
.uretim-fs-yok { color:#a9670b; }
.uretim-eslesme-rozet { display:inline-block; margin:3px 0; padding:3px 7px; border-radius:9px;
  font-size:9px; font-weight:800; line-height:1.3; }
.uretim-eslesme-rozet.kesin { background:#e4f6ec; color:#137043; }
.uretim-eslesme-rozet.tahmini { background:#fdf3e2; color:#a9670b; }
.uretim-eslesme-rozet.belirsiz { background:#fbe9e7; color:#a9342c; }
.uretim-canli-detay { display:block; margin-top:5px; color:#6b7c8b; font-size:9px; }
.uretim-canli-detay.bayat { color:#a9670b; font-weight:700; }
.uretim-alarm-metni { display:block; margin-top:4px; color:#a9342c; font-size:9px; font-weight:700; }

/* --- Vardiya zaman seridi ve doluluk olceri ----------------------------- */
/* Renkler app.js'teki URETIM_DURUM_RENGI ile ayni "status" paletidir ve
   satir ici (inline) verilir -- veriden gelen renk oradadir. Buradaki
   kurallar yalnizca GEOMETRI: kalinlik, bosluk, kose. */
.uretim-kart-grafik { margin-top:9px; padding-top:9px; border-top:1px solid #eef2f5; }
.uretim-doluluk-ust { display:flex; align-items:baseline; justify-content:space-between; gap:6px; }
.uretim-doluluk-ust span { color:#6b7c8b; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.3px; }
.uretim-doluluk-ust b { color:#1f3d55; font-size:13px; }
.uretim-doluluk-yol { height:6px; margin-top:4px; border-radius:3px; background:#eef2f5; overflow:hidden; }
/* Olcer, kendi izinin (track) uzerinde tek renk -- oran gostergesi, seri degil. */
.uretim-doluluk-yol i { display:block; height:100%; border-radius:3px; background:#1d7a4a; transition:width .4s ease; }
/* Serit: segmentler mutlak konumlanir, aralarindaki 2px yuzey boslugu
   ayiricidir (cerceve DEGIL -- cerceve veri olmayan murekkep ekler). */
.uretim-serit { position:relative; height:12px; margin-top:9px; border-radius:3px; background:#f4f6f8; overflow:hidden; }
.uretim-serit-segment { position:absolute; top:0; bottom:0; box-shadow:2px 0 0 0 #fff; }
.uretim-serit-segment:first-child { border-radius:3px 0 0 3px; }
.uretim-serit-simdi { position:absolute; top:-2px; bottom:-2px; width:2px; background:#1f3d55; opacity:.55; }
.uretim-serit-saatler { display:flex; justify-content:space-between; margin-top:3px; color:#8b98a5; font-size:8px; font-weight:700; }
/* --- Filo yigin cubugu -------------------------------------------------- */
.uretim-filo-cubugu { display:none; }
.uretim-filo-cubugu.gorunur { display:block; margin-bottom:12px; padding:11px 13px; border:1px solid #d9e3ec; border-radius:11px; background:#fff; }
.uretim-filo-ust { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:7px; }
.uretim-filo-ust span { color:#65788a; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.35px; }
.uretim-filo-ust b { color:#1f3d55; font-size:12px; }
.uretim-filo-yigin { display:flex; height:14px; border-radius:4px; overflow:hidden; background:#eef2f5; }
.uretim-filo-yigin i { box-shadow:2px 0 0 0 #fff; }
.uretim-filo-yigin i:last-child { box-shadow:none; }
.uretim-filo-aciklama { display:flex; flex-wrap:wrap; gap:13px; margin-top:8px; }
.uretim-filo-aciklama span { display:inline-flex; align-items:center; gap:5px; color:#5b6d7d; font-size:10px; font-weight:700; }
.uretim-filo-aciklama i { width:9px; height:9px; border-radius:2px; }
.uretim-filo-aciklama b { color:#1f3d55; font-size:11px; }
.uretim-form-karti { margin-top:18px; border:1px solid #cfddea; border-radius:12px; background:#f8fbfd; padding:15px; }
.uretim-form-karti h3 { margin:0 0 12px; color:#194f79; font-size:15px; }
.uretim-form-grid { display:grid; grid-template-columns:repeat(4,minmax(155px,1fr)); gap:10px; align-items:end; }
.uretim-form-grid label,.uretim-kapat-kutu label { display:flex; flex-direction:column; gap:5px; color:#536b7e; font-size:10px; font-weight:800; }
.uretim-form-grid input,.uretim-form-grid select,.uretim-kapat-kutu input,.uretim-kapat-kutu textarea { width:100%; min-height:37px; border:1px solid #bdcede; border-radius:7px; background:#fff; padding:7px 9px; color:#1d3549; font:inherit; }
.uretim-operator-secim-label { grid-column:span 2; }
.uretim-operator-secimleri { display:flex; flex-wrap:wrap; align-items:center; gap:5px; min-height:37px; padding:5px; border:1px solid #bdcede; border-radius:7px; background:#fff; }
.uretim-operator-secimleri label { display:flex; flex-direction:row; align-items:center; gap:4px; padding:4px 7px; border-radius:14px; background:#edf4fa; color:#31536d; font-size:10px; cursor:pointer; }
.uretim-operator-secimleri input,.uretim-araya-secim input { width:auto; min-height:auto; }
.uretim-araya-secim { display:flex !important; flex-direction:row !important; align-items:center; gap:7px; margin:11px 0; color:#3f586d; font-size:11px; font-weight:750; }
.uretim-op-aciklamalari { display:grid; grid-template-columns:repeat(2,minmax(310px,1fr)); gap:9px; margin:10px 0; }
.uretim-op-giris { display:grid; grid-template-columns:auto minmax(150px,1fr) 92px 78px; align-items:center; overflow:hidden; border:1px solid #bdcede; border-radius:8px; background:#fff; }
.uretim-op-giris>span { align-self:stretch; display:flex; align-items:center; padding:0 9px; background:#245b83; color:#fff; font-size:10px; font-weight:850; }
.uretim-op-giris>input,.uretim-op-giris label input { width:100%; height:39px; min-width:0; border:0; border-right:1px solid #d4e0e9; padding:7px 8px; }
.uretim-op-giris label { position:relative; margin:0; font-size:0; }
.uretim-op-giris label:first-of-type:before { content:"Saat"; position:absolute; right:6px; top:2px; color:#7b8b98; font-size:7px; pointer-events:none; }
.uretim-op-giris label:last-of-type:before { content:"Dk"; position:absolute; right:6px; top:2px; color:#7b8b98; font-size:7px; pointer-events:none; }
.uretim-ie-kart { margin-top:12px; border:1px solid #d2dee9; border-left:5px solid #397aa8; border-radius:11px; background:#fff; padding:13px; }
.uretim-ie-kart.oncelikli { border-left-color:#d98a18; background:linear-gradient(90deg,#fff9ed,#fff 22%); }
.uretim-ie-ust { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.uretim-ie-ust h3 { margin:3px 0 7px; color:#203f58; font-size:14px; }
.uretim-ie-toplam { text-align:right; }.uretim-ie-toplam b{display:block;color:#176d45;font-size:17px}.uretim-ie-toplam span{font-size:9px;color:#748696}
.uretim-genel-progress,.uretim-mini-progress { height:5px; overflow:hidden; border-radius:5px; background:#e8eef3; }.uretim-genel-progress i,.uretim-mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#2d85af,#2d9a63)}
.uretim-op-satir { display:grid; grid-template-columns:minmax(210px,1fr) 125px minmax(80px,.8fr) 175px 105px; gap:10px; align-items:center; padding:9px 2px; border-bottom:1px solid #e6edf3; font-size:11px; }
.uretim-op-satir:last-child { border-bottom:0; }.uretim-op-satir span{color:#617789}.uretim-op-satir small{display:block;margin-top:3px;color:#748796;font-size:8px}.uretim-op-sayi{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;color:#315671}
.uretim-op-sure-duzenle{display:flex;gap:4px;align-items:center}.uretim-op-sure-duzenle input{width:65px;height:30px;border:1px solid #bdcede;border-radius:6px;padding:5px}.uretim-op-sure-duzenle button{height:30px;border:0;border-radius:6px;padding:0 7px;background:#2679a7;color:#fff;font-size:8px;font-weight:800;cursor:pointer}.uretim-op-sure-duzenle small{color:#57758b;font-size:8px;font-weight:800}
.uretim-durum { display:inline-block; text-align:center; padding:4px 7px; border-radius:12px; background:#eef2f5; color:#607384; font-size:8px; font-weight:900; text-transform:uppercase; }.uretim-durum.devam_ediyor{background:#e5f1fb;color:#24618e}.uretim-durum.tamamlandi{background:#dff4e8;color:#167044}
.uretim-kapat-kutu { max-width:540px; }.uretim-modal-baslik{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:15px}.uretim-modal-baslik span{color:#2e7ba8;font-size:11px;font-weight:900}.uretim-modal-baslik h3{margin:4px 0;padding:0}.uretim-kapat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uretim-modal-butonlar{display:flex;justify-content:flex-end;margin-top:14px}.uretim-alt-baslik{margin-top:24px;color:#194f79}
#tablo-uretim-kayitlar { min-width:1120px; } #tablo-uretim-degisiklikler{min-width:900px}

@media(max-width:950px){.uretim-siparis-takip-yerlesim{grid-template-columns:1fr}.uretim-siparis-paneli{max-height:none}.uretim-siparis-yan-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}.uretim-form-grid{grid-template-columns:repeat(2,minmax(145px,1fr))}.uretim-ozet-kartlari{grid-template-columns:repeat(2,1fr)}.uretim-op-aciklamalari{grid-template-columns:1fr 1fr}.uretim-op-satir{grid-template-columns:1fr 85px}.uretim-mini-progress{display:none}}
@media(max-width:560px){.uretim-baslik-satiri{flex-direction:column}.uretim-form-grid,.uretim-op-aciklamalari{grid-template-columns:1fr}.uretim-operator-secim-label{grid-column:auto}.uretim-makine-grid{grid-template-columns:1fr 1fr}.uretim-makine-kart{min-width:0}.uretim-ie-ust{flex-direction:column}.uretim-ie-toplam{text-align:left}.uretim-kapat-grid{grid-template-columns:1fr}}
@media(max-width:700px){.uretim-vardiya-metrikleri{grid-template-columns:repeat(2,minmax(110px,1fr))}}

@media (max-width: 900px) {
  .yillik-gider-bolumu { padding: 14px; }
  .yillik-gider-ust { flex-direction: column; }
  .yillik-gider-filtreler { width: 100%; flex-wrap: wrap; }
  .yillik-gider-filtreler label { flex: 1; }
  .yillik-gider-filtreler select { width: 100%; }
  .yillik-gider-birak { flex-direction: column; }
  .yillik-gider-fatura > summary { grid-template-columns: 1fr; gap: 3px; }
  .yillik-gider-fatura-tutar { text-align: left; }
  .gider-analiz-baslik { flex-direction: column; }
  .gider-analiz-not { white-space: normal; }
  .gider-analiz-filtreler { grid-template-columns: 1fr; }
  .gider-analiz-iki-kolon { grid-template-columns: 1fr; }
}

/* Ham malzeme: Malzeme Takip fatura atamalarindan gelen salt okunur liste. */
#fs-ham-malzeme > h2, #fs-ham-malzeme > p.aciklama { display: none; }
.fs-hm-yeni-baslik { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.fs-hm-yeni-baslik h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.fs-hm-otomatik-rozet { display: inline-block; border: 1px solid #b7e3c4; border-radius: 18px; padding: 4px 10px; background: #eaf7ee; color: #1f7a43; font-size: 11px; font-weight: 800; }
.fs-hm-aksiyonlar { display: flex; gap: 8px; align-items: center; flex-shrink: 0; margin-top: 2px; }
.fs-hm-manuel-form { margin-top: 14px; padding: 14px; border: 1px dashed #c9d7e6; border-radius: 8px; background: #f8fbfe; }
#tablo-fs-ham-malzeme { min-width: 1040px; table-layout: fixed; }
#tablo-fs-ham-malzeme th, #tablo-fs-ham-malzeme td { padding: 10px 11px; vertical-align: middle; }
#tablo-fs-ham-malzeme th:nth-child(1), #tablo-fs-ham-malzeme td:nth-child(1) { width: 120px; }
#tablo-fs-ham-malzeme th:nth-child(2), #tablo-fs-ham-malzeme td:nth-child(2) { width: 250px; }
#tablo-fs-ham-malzeme th:nth-child(3), #tablo-fs-ham-malzeme td:nth-child(3) { width: 130px; }
#tablo-fs-ham-malzeme th:nth-child(4), #tablo-fs-ham-malzeme td:nth-child(4) { width: 225px; }
#tablo-fs-ham-malzeme th:nth-child(5), #tablo-fs-ham-malzeme td:nth-child(5) { width: 150px; }
#tablo-fs-ham-malzeme th:nth-child(6), #tablo-fs-ham-malzeme td:nth-child(6) { width: 120px; }
#tablo-fs-ham-malzeme th:nth-child(7), #tablo-fs-ham-malzeme td:nth-child(7) { width: 100px; text-align: right; }
#tablo-fs-ham-malzeme tbody tr:nth-child(even) td { background: #f8fafc; }
.fs-hm-malzeme-hucre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #31465a; font-weight: 650; }
.fs-hm-tedarikci-hucre, .fs-hm-fatura-hucre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-hm-tedarikci-hucre { color: #42576c; }
.fs-hm-fatura-hucre { font-variant-numeric: tabular-nums; color: var(--lacivert); font-weight: 650; }
.fs-hm-miktar-hucre { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--lacivert); }
.fs-hm-bos { padding: 26px !important; text-align: center; color: #697d91; font-weight: 700; }
@media (max-width: 860px) { .fs-hm-yeni-baslik { flex-direction: column; } .fs-hm-aksiyonlar { margin-top: 0; } }
#kalite-yukleme-sonuc .kalite-dosya-baslik,
#malzeme-yukleme-sonuc .kalite-dosya-baslik,
#malzeme-fatura-listesi .kalite-dosya-baslik { font-weight: 700; margin-bottom: 6px; }
#kalite-yukleme-sonuc table { width: 100%; border-collapse: collapse; font-size: 12.5px; margin-top: 6px; }
#kalite-yukleme-sonuc table th, #kalite-yukleme-sonuc table td { padding: 5px 8px; text-align: left; border-bottom: 1px solid rgba(0,0,0,.08); }
#kalite-yukleme-sonuc tr.kalem-asim { background: #fbd4cf; }
#kalite-yukleme-sonuc tr.kalem-hata { background: #fbe6b8; }
#kalite-yukleme-sonuc .kalite-oneri { display: block; margin-top: 3px; font-size: 12px; color: #7a4a0e; }
#kalite-yukleme-sonuc .kalite-oneri strong { color: var(--kirmizi-koyu); }

/* ---- BS Kalite: KM Evrak Yonetimi -- klasor secip guncelleme satiri,
   durum metni ve teslimat basina dosya listesi acilir penceresi. ---- */
.km-evrak-guncelle-satir { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; flex-wrap: wrap; }
.km-evrak-durum {
  font-size: 12.5px; color: #2e9b3a; opacity: 0; transition: opacity .3s ease;
}
.km-evrak-durum.gorunur { opacity: 1; }
.km-evrak-durum.hata-durum { color: var(--kirmizi-koyu); }
.km-evrak-islem-hucresi { display: flex; gap: 8px; white-space: nowrap; }
.km-evrak-islem-hucresi .buton { padding: 6px 12px; font-size: 12px; }
.km-evrak-hata { background: #fde2e2; border: 1px solid #f3bcb6; border-radius: 8px; padding: 10px 12px; font-size: 13px; color: #a12f22; }

.km-evrak-detay-ortu {
  position: fixed; inset: 0; background: rgba(15, 25, 40, .45);
  display: flex; align-items: center; justify-content: center;
  z-index: 1000; padding: 20px;
}
.km-evrak-detay-kutu {
  background: #fff; border-radius: 12px; padding: 24px 26px;
  max-width: 760px; width: 100%; max-height: 82vh; overflow-y: auto;
  position: relative; box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}
.km-evrak-detay-kutu h3 { margin: 0 0 14px; color: var(--lacivert); font-size: 16px; padding-right: 30px; }
.km-evrak-detay-kapat {
  position: absolute; top: 14px; right: 16px; background: none; border: none;
  font-size: 24px; line-height: 1; color: #8a97ab; cursor: pointer; padding: 4px;
}
.km-evrak-detay-kapat:hover { color: #1c2430; }
.km-evrak-detay-govde table { width: 100%; }
.km-evrak-detay-govde .buton { padding: 5px 11px; font-size: 12px; }

/* Odeme Plani: takvimden fatura tarih araligi ozeti */
.odeme-plan-arac-cubugu { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 14px 0; }
.odeme-plan-arac-cubugu span { color: #6d7b8d; font-size: 12px; }
.fatura-tarih-ozet-kutu { max-width: 920px; }
.fatura-tarih-seciciler { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; padding: 13px; margin: 14px 0 16px; border-radius: 9px; background: #f4f7fa; border: 1px solid #e0e7f0; }
.fatura-tarih-seciciler label { display: flex; flex-direction: column; gap: 5px; color: #65758a; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; }
.fatura-tarih-seciciler input { min-width: 174px; border: 1px solid #cfd9e5; border-radius: 6px; background: #fff; padding: 8px 10px; color: #26374a; font: inherit; }
.fatura-tarih-ozet-baslik { display: grid; grid-template-columns: 1.2fr 1.3fr .65fr; gap: 10px; margin-bottom: 14px; }
.fatura-tarih-ozet-baslik > div { padding: 11px 12px; border: 1px solid #dfe7f0; border-radius: 8px; background: #fff; }
.fatura-tarih-ozet-baslik span { display: block; color: #7b899b; font-size: 10px; font-weight: 800; letter-spacing: .35px; }
.fatura-tarih-ozet-baslik strong { display: block; margin-top: 4px; color: var(--lacivert-koyu); font-size: 14px; font-variant-numeric: tabular-nums; }
.fatura-tarih-ozet-tablosu { width: 100%; border-collapse: collapse; }
.fatura-tarih-ozet-tablosu th { padding: 9px 10px; background: var(--lacivert); color: #fff; font-size: 10px; text-align: left; text-transform: uppercase; letter-spacing: .35px; }
.fatura-tarih-ozet-tablosu td { padding: 9px 10px; border-bottom: 1px solid #e8edf3; font-size: 12px; }
.fatura-tarih-ozet-tablosu tr:nth-child(even) td { background: #f8fafc; }
.fatura-tarih-ozet-tutar { text-align: right; color: var(--yesil-koyu); font-weight: 800; font-variant-numeric: tabular-nums; }
@media (max-width: 700px) {
  .fatura-tarih-ozet-baslik { grid-template-columns: 1fr; }
  .fatura-tarih-seciciler label, .fatura-tarih-seciciler input { width: 100%; }
}

/* ---- BS Kalite: Sipariş Takip (Kalan Adet) -- Excel'e aktarma satiri + secim kutucuklari ---- */
.kalite-siparis-takip-ust-satir { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
#tablo-kalite-siparis-takip th:first-child, #tablo-kalite-siparis-takip td:first-child { width: 30px; text-align: center; padding-left: 6px; padding-right: 0; }
.kalite-siparis-secim-kutusu { width: 16px; height: 16px; cursor: pointer; }
.kalite-siparis-secim-kutusu:disabled { cursor: default; opacity: .3; }

/* ---- Malzeme Takip: "Malzeme Faturaları" -- baştan tasarım (25.07.2026) ----
   Ediz'in "malzeme takip sistemini baştan yapalım, fatura yükledim, bu
   malzeme ölçüsü bu FS numarasının diye seçmek istiyorum, parça no bazen
   faydalı olabilir ama sistem karışık olmasın" talebiyle -- önce mockup
   (/tmp/malzeme_takip_bastan_tasarim.html) onaylatıldı, sonra işlendi. Eski
   çok-satırlı tahsis editörü (.malzeme-tahsis-editoru vb.) ve 24.07.2026'da
   eklenen sol-kart/sağ-aday-liste eşleme ekranı (.esleme-govde vb.) TAMAMEN
   KALDIRILDI, yerlerine tek bir basit kart bileşeni geldi
   (_malzemeFaturaKalemAtamaKartiOlustur, app.js). */
#malzeme-yukleme-sonuc, #malzeme-fatura-listesi { margin-top: 16px; }
.bolum-etiket { font-size: 12px; font-weight: 800; color: #8a97ab; text-transform: uppercase; letter-spacing: .4px; margin: 22px 0 12px; display: flex; align-items: center; gap: 8px; }
.bolum-etiket .cizgi { flex: 1; height: 1px; background: var(--gri-cizgi); }
.opsiyonel-etiket { font-size: 11px; font-weight: 700; color: #9c6510; background: #fdf1da; border-radius: 20px; padding: 3px 10px; margin-left: 10px; vertical-align: middle; }

.kalem-atama-karti { border: 1.5px solid var(--gri-cizgi); border-radius: 12px; padding: 16px 18px; margin-bottom: 14px; background: #fff; }
.kalem-atama-karti.tamamlandi { border-color: var(--yesil); background: #f6fbf8; }
/* 25.07.2026: kismi atama -- kalemin adedinin tamami atanmadiysa turuncu */
.kalem-atama-karti.kismen { border-color: var(--turuncu); background: #fffbf3; }
.kalem-ust-satir { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; flex-wrap: wrap; }
.kalem-olcu { font-family: "Consolas", monospace; font-size: 13px; background: #eef3f9; color: var(--lacivert-koyu); border-radius: 6px; padding: 5px 10px; font-weight: 600; }
.kalem-detay { font-size: 12px; color: #5a6472; margin-top: 4px; }

.atama-satiri { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.atama-satiri .alan { display: flex; flex-direction: column; }
.atama-satiri .alan label { font-size: 11px; font-weight: 700; color: #8a97ab; text-transform: uppercase; letter-spacing: .2px; margin-bottom: 4px; }
.atama-satiri .alan.parca-opsiyonel label { color: #b7bfc9; }
/* 25.07.2026: Ediz "daha net görünüm" istedi -- kutular daraltıldı ki
   FS + Parça No + Adet + Ata pencere içinde TEK satıra sığsın, alt alta
   sarmasın. */
.atama-satiri input { border: 1.5px solid var(--gri-cizgi); border-radius: 8px; padding: 9px 11px; font-size: 13px; min-width: 150px; width: 160px; }
.atama-satiri .alan.parca-opsiyonel input { min-width: 120px; width: 140px; }
.atama-satiri .alan.adet-dar input { min-width: 70px; width: 90px; }
.ata-btn { background: var(--lacivert); color: #fff; border: none; border-radius: 8px; padding: 10px 18px; font-size: 13px; font-weight: 700; cursor: pointer; }

.oneri-satiri { margin-top: 10px; font-size: 12px; color: #5a6472; }
.oneri-chip { display: inline-flex; align-items: center; gap: 6px; background: #f3fbf6; border: 1.5px solid var(--yesil); color: #1f7a43; border-radius: 20px; padding: 6px 13px; font-size: 12px; font-weight: 700; cursor: pointer; margin: 6px 8px 0 0; }
.oneri-chip .kalan { font-weight: 500; color: #3d8a5c; }
.oneri-chip.olasi { border-color: #e0b348; background: #fdf8ea; color: #9c6510; }

.sonuc-rozet { display: inline-flex; align-items: center; gap: 6px; background: #dcf3e3; color: #1f7a43; border-radius: 20px; padding: 6px 13px; font-size: 12.5px; font-weight: 700; }

table.gecmis-fatura-tablo { width: 100%; border-collapse: collapse; }
table.gecmis-fatura-tablo th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .3px; color: #8a97ab; padding: 9px 14px; border-bottom: 1px solid var(--gri-cizgi); font-weight: 700; }
table.gecmis-fatura-tablo td { padding: 11px 14px; font-size: 13px; border-bottom: 1px solid #f0f2f7; vertical-align: middle; }
table.gecmis-fatura-tablo tr.gecmis-satir { cursor: pointer; }
table.gecmis-fatura-tablo tr.gecmis-satir:hover td { background: #f6f9fd; }
.gecmis-fatura-tablo-sarici { width: 100%; overflow-x: auto; }
table.gecmis-fatura-tablo-kompakt th, table.gecmis-fatura-tablo-kompakt td { padding: 8px 10px; font-size: 12.5px; }
table.gecmis-fatura-tablo-kompakt td.hucre-daralt { white-space: nowrap; }
table.gecmis-fatura-tablo-kompakt td.hucre-kes { max-width: 170px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#malzeme-fatura-gecmis-ortu .km-evrak-detay-kutu { max-width: 640px; }
.malzeme-lot-kutu { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--gri-cizgi); }
.malzeme-lot-kutu h4 { margin: 0 0 8px; font-size: 13px; color: #1f4e78; }

.malzeme-ebat-ozeti-ust-satir { margin-bottom: 12px; }

/* ---- Malzeme Takip: Sipariş Özeti (basit, elle eklenen liste) ---- */
.malzeme-siparis-ozeti-ekle-satiri { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; flex-wrap: wrap; }
.malzeme-siparis-ozeti-ekle-satiri input { padding: 8px 12px; border: 1px solid #d3dbe6; border-radius: 6px; font-size: 13px; flex: 0 1 260px; }
.malzeme-siparis-ozeti-tablosu { width: 100%; border-collapse: collapse; font-size: 13px; }
.malzeme-siparis-ozeti-tablosu th, .malzeme-siparis-ozeti-tablosu td { text-align: left; padding: 9px 12px; border-bottom: 1px solid #f0f2f7; vertical-align: middle; }
.malzeme-siparis-ozeti-tablosu th { background: var(--lacivert); color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .3px; font-weight: 700; white-space: nowrap; }
.malzeme-siparis-ozeti-tablosu td:last-child { width: 40px; text-align: center; }
/* 25.07.2026 redesign: olcu bazli gruplu satirlar */
.malzeme-siparis-ozeti-tablosu tr.siparis-ilk-satir td { border-top: 2px solid var(--gri-cizgi); }
.malzeme-siparis-ozeti-tablosu .siparis-no-hucre { font-weight: 700; color: var(--lacivert); font-size: 13.5px; white-space: nowrap; }
.malzeme-siparis-ozeti-tablosu .olcu-etiket { font-family: "Consolas", monospace; font-size: 12.5px; background: #eef3f9; color: var(--lacivert-koyu); border-radius: 6px; padding: 4px 9px; font-weight: 600; display: inline-block; }
.malzeme-siparis-ozeti-tablosu .sayi-hucre { font-weight: 700; color: #1c2430; }
.malzeme-siparis-ozeti-tablosu .islem-hucre { color: #b7bfcb; white-space: nowrap; }
.malzeme-siparis-ozeti-tablosu .buton-kompakt { font-size: 11px; padding: 4px 9px; }

/* ---- Malzeme Takip: Ebat Ozeti satirina tiklayinca acilan atama penceresi (24.07.2026) ---- */
.malzeme-ebat-satiri { cursor: pointer; }
#malzeme-ebat-atama-ortu .km-evrak-detay-kutu { max-width: 560px; }

/* ---- Malzeme Takip: Malzeme Ihtiyaci -- Siparis No bazli kartlar (24.07.2026) ---- */
.malzeme-ihtiyac-karti { background: #fff; border: 1px solid var(--gri-cizgi); border-radius: 12px; margin-bottom: 14px; overflow: hidden; }
.malzeme-ihtiyac-karti-ust { display: flex; align-items: center; gap: 14px; background: #f6f8fc; padding: 12px 18px; cursor: pointer; user-select: none; }
.malzeme-ihtiyac-karti-ust .ok { color: var(--lacivert); font-size: 11px; flex-shrink: 0; }
.malzeme-ihtiyac-karti-ust .siparis-no-buyuk { font-weight: 700; color: var(--lacivert); font-size: 14.5px; }
.malzeme-ihtiyac-karti-ust .kalem-sayisi { font-size: 11.5px; color: #7a8699; background: #eef1f6; border-radius: 20px; padding: 3px 10px; }
.malzeme-ihtiyac-karti-ust .ust-durum-ozet { margin-left: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.mini-rozet { padding: 4px 11px; border-radius: 20px; border: 1px solid transparent; font-weight: 700; font-size: 11.5px; white-space: nowrap; }
.mini-rozet-tehlike { background: #fbe4e2; color: #a12f22; border-color: #f3bcb6; }
.mini-rozet-bekleme { background: #fdf1da; color: #9c6510; border-color: #f5dfa6; }
.mini-rozet-basari { background: #dcf3e3; color: #1f7a43; border-color: #b3e2c2; }
.malzeme-ihtiyac-karti-govde { border-top: 1px solid var(--gri-cizgi); overflow-x: auto; }
table.malzeme-ihtiyac-kalem-tablo { width: 100%; border-collapse: collapse; }
table.malzeme-ihtiyac-kalem-tablo th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .3px; color: #8a97ab; padding: 9px 18px; border-bottom: 1px solid var(--gri-cizgi); font-weight: 700; white-space: nowrap; }
table.malzeme-ihtiyac-kalem-tablo td { padding: 10px 18px; font-size: 13px; border-bottom: 1px solid #f0f2f7; vertical-align: middle; }
table.malzeme-ihtiyac-kalem-tablo tr:last-child td { border-bottom: none; }

/* ---- Malzeme Takip: atama penceresinin icindeki "Olcu" hucresi ---- */
.malzeme-ebat-hucresi { min-width: 220px; }
.malzeme-ebat-etiketleri { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; }
.malzeme-ebat-etiket { display: inline-flex; align-items: center; gap: 4px; background: #eef1f6; border-radius: 12px; padding: 2px 4px 2px 8px; font-size: 11.5px; color: #3d5468; }
.malzeme-ebat-sil { border: none; background: transparent; cursor: pointer; color: #a12f22; font-size: 13px; line-height: 1; padding: 2px 4px; }
.malzeme-ebat-ekle-satiri { display: flex; gap: 4px; }
.malzeme-ebat-ekle-satiri input { flex: 1 1 auto; padding: 5px 8px; border: 1px solid #d3dbe6; border-radius: 6px; font-size: 11.5px; min-width: 140px; }
.malzeme-ebat-ekle-satiri button { flex-shrink: 0; padding: 5px 8px; font-size: 11.5px; }
.malzeme-ebat-ekle-satiri input[type="number"] { flex: 0 1 70px; min-width: 60px; }

/* ---- Menuyu ac/kapat dugmesi (sadece kucuk ekranlarda gorunur) ---- */
.menu-ac-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: var(--lacivert);
  cursor: pointer;
  border-radius: 8px;
  margin-right: 6px;
  flex-shrink: 0;
}
.menu-ac-btn:hover { background: #f1f5fa; }
.menu-ac-btn svg { width: 22px; height: 22px; }

/* Sidebar acikken arkayi karartan ortu -- sadece mobil gorunumde islevli */
.sidebar-ortu {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 25, 45, .45);
  z-index: 40;
}

/* ---------------------------------------------------------------------
   FASON / ISCILIK SIPARIS TAKIBI (23.07.2026)
---------------------------------------------------------------------- */
.fason-yukle-karti { background: #f6f9fd; border: 1px solid #dbe6f2; border-radius: 10px; padding: 18px 20px; margin-bottom: 20px; }
.fason-yukle-karti h3 { margin: 0 0 12px; font-size: 14.5px; color: var(--lacivert-koyu); }
.fason-yukle-karti .birak-alani { margin: 0; }

.fason-onizleme-kutu {
  background: #f2fbf5; border: 1.5px solid #cfe6d8; border-radius: 10px; padding: 16px 20px; margin-top: 14px;
}
.fason-onizleme-kutu.uyari-kutu { background: #fff9e8; border-color: #f0dfa0; }
.fason-onizleme-baslik { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; font-weight: 700; color: var(--yesil-koyu); }
.uyari-kutu .fason-onizleme-baslik { color: var(--turuncu-koyu); }
.tik-rozet {
  background: var(--yesil); color: #fff; width: 20px; height: 20px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0;
}
.uyari-kutu .tik-rozet { background: var(--turuncu); }
.fason-onizleme-satiri { display: flex; flex-wrap: wrap; gap: 18px; margin-bottom: 10px; }
.fason-onizleme-alan .etk { font-size: 11px; color: #889; text-transform: uppercase; margin-bottom: 3px; }
.fason-onizleme-alan .val { font-size: 13.5px; font-weight: 700; color: #1c2b3a; }
.fason-onizleme-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.fason-onizleme-form input { padding: 8px 10px; border: 2px solid var(--gri-cizgi); border-radius: 8px; font-size: 13.5px; }
.fason-onizleme-form label { font-size: 12.5px; color: #556; font-weight: 600; }
.fason-hesap-sonuc { margin-top: 10px; font-size: 12.5px; color: var(--lacivert-koyu); font-weight: 600; background: #fff; border-radius: 8px; padding: 8px 12px; display: inline-block; }
.fason-detay-ustbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; color:var(--lacivert); font-size:13px; font-weight:700; }
.fason-detay-ortu { position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; padding:26px; background:rgba(14, 30, 49, .48); backdrop-filter:blur(3px); }
.fason-detay-pencere { position:relative; width:min(1280px, 100%); max-height:calc(100vh - 52px); overflow:auto; background:#f5f8fc; border:1px solid #c8d7e8; border-radius:16px; padding:24px; box-shadow:0 24px 70px rgba(12, 35, 61, .35); }
.fason-detay-kapat { position:sticky; float:right; top:-10px; z-index:2; width:34px; height:34px; border:0; border-radius:50%; background:#d33b32; color:#fff; font-size:24px; line-height:28px; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.18); }
.fason-detay-pencere-icerik { clear:both; }
.fason-sevkiyat-detay-pencere { position:relative; width:min(650px, 100%); background:#f5f8fc; border:1px solid #c8d7e8; border-radius:16px; padding:24px; box-shadow:0 24px 70px rgba(12, 35, 61, .35); }
.fason-sevkiyat-detay-pencere h2 { margin:0 0 6px; color:var(--lacivert); font-size:19px; }
.fason-detay-bolum { background:#fff; border:1px solid #dbe6f2; border-radius:12px; padding:16px 18px; margin-top:16px; box-shadow:0 3px 10px rgba(27, 65, 104, .04); }
.fason-detay-bolum h3 { margin:0 0 14px; color:var(--lacivert); font-size:15px; }
.fason-duzenleme-paneli { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px 24px; background:linear-gradient(135deg, #f8fbff, #ffffff); }
.fason-duzenleme-paneli h3 { grid-column:1 / -1; }
.fason-duzenleme-paneli .fason-onizleme-form { min-width:0; margin:0 !important; padding:12px; border:1px solid #e2ebf5; border-radius:10px; background:#fff; align-content:center; }
.fason-duzenleme-paneli .fason-onizleme-form input { min-width:130px; flex:1 1 150px; }
.fason-duzenleme-paneli .fason-onizleme-form .fason-hesap-sonuc { width:100%; margin:0; box-sizing:border-box; }
.fason-duzenleme-paneli > .aciklama { display:none; }
.fason-durum-paneli { background:#f6fbf8; border-color:#cfe6d5; }
.fason-durum-paneli .ilerleme-cubugu { width:min(72%, 620px); height:10px; }
.fason-siparis-ozet-paneli { background:linear-gradient(135deg, #f8fbff, #ffffff); }
.fason-ozet-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.fason-ozet-bilgi { min-width:0; padding:10px 12px; border:1px solid #e0eaf4; border-radius:9px; background:#fff; }
.fason-ozet-bilgi span { display:block; margin-bottom:4px; color:#708098; font-size:11px; font-weight:700; text-transform:uppercase; }
.fason-ozet-bilgi strong { display:block; overflow:hidden; color:#183b62; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.fason-ozet-bilgi.vurgulu { border-color:#c7dceb; background:#f2f8fd; }
/* Gelen fatura/irsaliye no yaninda "Göster" butonu (04.08.2026) */
.fason-ozet-deger-satiri { display:flex; align-items:center; gap:6px; }
.fason-ozet-deger-satiri strong { flex:1 1 auto; min-width:0; }
.fason-dosya-goster-btn { flex:0 0 auto; padding:2px 9px; font-size:10.5px; white-space:nowrap; }
.fason-dosya-goster-btn-mini { padding:3px 8px; font-size:10.5px; white-space:nowrap; }
.fason-eylem-hucre { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.fason-kayitlar-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; align-items:start; }
.fason-kayitlar-grid .fason-detay-bolum { margin-top:16px; min-width:0; }
.fason-kayitlar-grid .tablo-sarici { margin:0; }
.fason-yukleme-paneli .birak-alani { margin-bottom:0; }
.fason-sekme-siparis-karti { margin-bottom:16px; border:1px solid #d8e4f0; border-radius:13px; overflow:hidden; background:#fff; box-shadow:0 3px 10px rgba(27, 65, 104, .04); }
.fason-sekme-siparis-baslik { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 18px; background:#f4f8fc; border-bottom:1px solid #d8e4f0; }
.fason-sekme-siparis-baslik strong { display:block; color:var(--lacivert); font-size:16px; }
.fason-sekme-siparis-baslik span { display:block; margin-top:3px; color:#66778d; font-size:12px; }
.fason-sekme-siparis-grid { display:grid; grid-template-columns:1.25fr 1.25fr .7fr; gap:0; }
.fason-sekme-bilgi-karti { min-width:0; padding:16px 18px; border-right:1px solid #e1eaf3; }
.fason-sekme-bilgi-karti:last-child { border-right:0; }
.fason-sekme-bilgi-karti h3 { margin:0 0 10px; color:#245784; font-size:13px; }
.fason-sekme-bilgi-satirlari { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.fason-sekme-bilgi-satirlari span { padding:8px; overflow:hidden; border-radius:7px; background:#f8fbfe; color:#344a65; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.fason-sevkiyat-detay-btn { display:block; width:100%; margin:7px 0 0; text-align:left; }
.fason-iade-baslik { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:16px; padding-top:13px; border-top:1px solid #e4ebf3; }
.fason-iade-baslik h4 { margin:0; color:#8a5a09; font-size:12px; }
.fason-iade-ekle-btn { padding:5px 9px; color:#8a5a09; border-color:#e1c285; background:#fffaf0; font-size:11px; }
.fason-iade-bos { margin:8px 0 0; color:#788595; font-size:11px; }
.fason-iade-detay-btn { display:block; width:100%; margin:7px 0 0; color:#8a5a09; border-color:#e1c285; background:#fffaf0; text-align:left; }
.fason-sekme-kalite-uyari { margin:13px 0 0; padding-top:11px; border-top:1px solid #f0dfbd; font-size:11px; }
.fason-iade-pencere { width:min(760px, 100%); }
.fason-iade-form { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin:16px 0 10px; }
.fason-iade-alan { display:block; color:#425d76; font-size:12px; font-weight:700; }
.fason-iade-alan input { width:100%; margin-top:5px; }
.fason-iade-alan select { width:100%; margin-top:5px; }
.fason-hatali-baslik h3,
.fason-hatali-baslik h4 { color:#a42f27; }
.fason-hatali-ekle-btn { padding:5px 9px; font-size:11px; }
.fason-hatali-detay-btn { display:block; width:100%; margin:7px 0 0; text-align:left; }
.fason-hatali-paneli { border-top-color:#b9382e; }
.fason-is-akisi { margin:14px 16px; padding:15px 16px 17px; border:1px solid #d8e4f0; border-radius:12px; background:linear-gradient(135deg,#f8fbff,#fff); overflow:hidden; }
.fason-detay-pencere-icerik > .fason-is-akisi { margin:16px 0; }
.fason-is-akisi-baslik { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.fason-is-akisi-baslik h3 { margin:0; color:#173f68; font-size:15px; }
.fason-is-akisi-baslik p { margin:3px 0 0; color:#77879a; font-size:11px; }
.fason-is-akisi-cizgi { display:flex; gap:0; overflow-x:auto; padding:2px 2px 8px; }
.fason-akis-olay { position:relative; flex:1 0 170px; min-width:170px; padding:0 12px 0 0; }
.fason-akis-olay:not(:last-child)::after { content:""; position:absolute; left:25px; right:0; top:14px; height:3px; background:#dce6ef; z-index:0; }
.fason-akis-numara { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:4px solid #eef4f9; border-radius:50%; background:#2c74ad; color:#fff; font-size:11px; font-weight:800; box-sizing:border-box; }
.fason-akis-icerik { padding:8px 8px 0 0; }
.fason-akis-icerik span,.fason-akis-icerik strong,.fason-akis-icerik small { display:block; }
.fason-akis-tarih { margin-bottom:3px; color:#8190a2; font-size:10px; font-weight:700; }
.fason-akis-icerik strong { color:#203d5b; font-size:12px; }
.fason-akis-icerik small { margin-top:3px; color:#61748a; font-size:10.5px; line-height:1.35; }
.fason-akis-malzeme .fason-akis-numara,.fason-akis-gelen-irsaliye .fason-akis-numara { background:#3b8e62; }
.fason-akis-kesilen-irsaliye .fason-akis-numara,.fason-akis-fatura .fason-akis-numara { background:#276da5; }
.fason-akis-iade .fason-akis-numara { background:#d98916; }
.fason-akis-hatali .fason-akis-numara { background:#b9382e; }
.fason-akis-giden-iade .fason-akis-numara { background:#8a5a2b; }
.fason-iade-hata { min-height:18px; margin:8px 0; }
.fason-iade-islemler { display:flex; justify-content:flex-end; gap:10px; margin-top:14px; }
.fason-iade-sil-btn { width:auto; padding:8px 12px; border-radius:7px; font-size:12px; }
.fason-sekme-kalan-kart { display:flex; flex-direction:column; justify-content:center; background:#f7fcf8; text-align:center; }
.fason-sekme-kalan-kart strong { color:#257145; font-size:27px; }
.fason-sekme-kalan-kart span { margin-top:5px; color:#6a7e71; font-size:11px; }
@media (max-width: 900px) {
  .fason-kayitlar-grid { grid-template-columns:1fr; }
  .fason-duzenleme-paneli { grid-template-columns:1fr; }
  .fason-ozet-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .fason-durum-paneli .ilerleme-cubugu { width:100%; }
  .fason-detay-ortu { align-items:stretch; padding:8px; }
  .fason-detay-pencere { max-height:none; padding:16px; border-radius:12px; }
  .fason-sevkiyat-detay-pencere { padding:18px; border-radius:12px; }
  .fason-sekme-siparis-grid { grid-template-columns:1fr; }
  .fason-sekme-bilgi-karti { border-right:0; border-bottom:1px solid #e1eaf3; }
  .fason-sekme-bilgi-karti:last-child { border-bottom:0; }
  .fason-iade-form { grid-template-columns:1fr; }
}
.fason-uyari-metni { font-size: 12.5px; color: #7a5a10; margin: 0 0 10px; }
.fason-eslesme-metni { margin:0 0 10px; padding:8px 10px; border-radius:7px; background:#edf8f0; color:#287044; font-size:12px; font-weight:700; }
.fason-aday-satiri {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 8px;
  background: #fff; border: 1.5px solid var(--gri-cizgi); border-radius: 8px; font-size: 13px; flex-wrap: wrap;
}
.fason-aday-satiri span:first-child { flex: 1; color: #1c2b3a; font-weight: 600; }
.fason-aday-satiri.onerilen { border-color: var(--yesil); background: #f2fbf5; }
.fason-aday-satiri input { padding: 7px 9px; border: 2px solid var(--gri-cizgi); border-radius: 6px; font-size: 13px; }

/* Siparis listesindeki satir ici islem butonlari (Sevkiyat Ekle + Detay) */
/* NOT: display:flex burada BILEREK kullanilmiyor -- bir <td> uzerinde
   display:flex, tablonun otomatik kolon genisligi hesabini bozup butonlarin
   sikismasina/gorunmez olmasina yol aciyordu (24.07.2026 duzeltildi).
   Bunun yerine varsayilan td (nowrap) davranisina guvenip butonlari
   inline-block + margin-right ile yan yana diziyoruz -- tablo dogal
   genisligine ulasir, tasarsa .tablo-sarici zaten yatay scroll saglar. */
.fason-liste-islem-hucresi .buton, .fason-liste-islem-hucresi .silme-btn {
  display: inline-block; padding: 6px 12px; font-size: 12.5px; margin-right: 6px; vertical-align: middle;
}
.fason-liste-islem-hucresi .buton:last-child, .fason-liste-islem-hucresi .silme-btn:last-child { margin-right: 0; }
#fason-hizli-sevkiyat-ortu .km-evrak-detay-kutu { max-width: 620px; }

.ilerleme-satiri-buyuk { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.ilerleme-satiri-buyuk .ilerleme-cubugu { width: auto; flex: 1; height: 16px; margin-right: 0; }
.ilerleme-satiri-buyuk .ilerleme-metin { font-size: 13.5px; font-weight: 700; color: var(--lacivert-koyu); white-space: nowrap; }

/* ---------------------------------------------------------------------
   Mobil / dar ekran gorunumu (telefon uygulamasi ve dar tarayici
   pencereleri icin). Masaustu/bulut paneli deneyimine dokunmaz --
   sadece bu genislik esiginin altinda devreye girer.
---------------------------------------------------------------------- */
/* ---- Mobil alt sekme cubugu (26.07.2026) -- sadece dar ekranda gorunur ---- */
.mobil-alt-bar { display: none; }

@media (max-width: 860px) {
  .menu-ac-btn { display: inline-flex; }

  .mobil-alt-bar {
    display: flex;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fff;
    border-top: 1px solid var(--gri-cizgi);
    box-shadow: 0 -2px 12px rgba(20, 40, 70, .08);
    z-index: 40;
    padding: 6px 4px calc(8px + env(safe-area-inset-bottom, 0px));
  }
  .mobil-alt-btn {
    flex: 1;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: center;
    color: #7a8699;
    font-size: 10px;
    font-weight: 600;
    font-family: inherit;
    padding: 4px 2px;
  }
  .mobil-alt-btn svg { width: 21px; height: 21px; display: block; margin: 0 auto 3px; }
  .mobil-alt-btn.aktif { color: var(--lacivert); font-weight: 700; }
  /* cubuk icerigin ustune binmesin */
  main { padding-bottom: 96px !important; }

  .sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 250px;
    max-width: 82vw;
    z-index: 50;
    transform: translateX(-100%);
    transition: transform .22s ease;
    overflow: hidden;
  }
  .sidebar.acik { transform: translateX(0); }

  /* Telefon ekraninda uzun sol menu, logo sabit kalirken kendi icinde
     kayar. Boylece asagidaki FS ve diger modul seceneklerine ulasilir. */
  .sidebar .yan-menu {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 110px;
  }

  .sidebar-ortu.acik { display: block; }

  .icerik-govde { width: 100%; min-width: 0; }

  .ust-cubuk { padding: 14px 16px; }
  .ust-cubuk-saat { display: none; }

  main { padding: 16px 14px 40px; }

  .satir-form { flex-wrap: wrap; }
  .satir-form input, .satir-form select { min-width: 0; flex: 1 1 140px; }

  table { font-size: 12.5px; }

  .diger-gider-aktar-kutusu { flex-direction: column; align-items: stretch; }
  .diger-gider-aktar-kutusu .buton { width: 100%; }
}

/* ---- ANA EKRAN (25.07.2026): acilista seffaf BS amblemli karsilama ---- */
.ana-ekran-karsilama {
  position: relative; min-height: 560px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; overflow: hidden;
  background: #fff; border-radius: 8px; box-shadow: var(--golge);
  border: 1px solid var(--gri-cizgi); border-top: 3px solid var(--lacivert);
  padding: 40px 24px;
}
.ana-filigran {
  position: absolute; width: 520px; max-width: 85%; opacity: 0.05;
  pointer-events: none; top: 50%; left: 50%; transform: translate(-50%, -54%);
}
.ana-hosgeldin { position: relative; text-align: center; z-index: 2; }
.ana-kucuk-logo { width: 72px; height: auto; opacity: .95; margin-bottom: 14px; }
.ana-hosgeldin h2 { font-size: 23px; color: #1c2430; letter-spacing: 3px; font-weight: 700; }
.ana-firma-alt { font-size: 11px; color: #7a8699; letter-spacing: 4.5px; margin-top: 5px; }
.ana-cizgi { width: 60px; height: 2.5px; background: var(--lacivert); margin: 20px auto; border-radius: 2px; }
.ana-selam { font-size: 13.5px; color: #5a6472; }
.ana-kisayollar {
  position: relative; z-index: 2; display: flex; gap: 14px; margin-top: 40px;
  flex-wrap: wrap; justify-content: center;
}
.ana-kisayol {
  background: #fff; border: 1.5px solid var(--gri-cizgi); border-radius: 12px;
  padding: 16px 20px; width: 172px; cursor: pointer; text-align: left;
  transition: border-color .15s ease, box-shadow .15s ease; font-family: inherit;
}
.ana-kisayol:hover { border-color: var(--lacivert-acik); box-shadow: 0 4px 14px rgba(31,78,120,.12); }
.ana-kisayol svg { width: 21px; height: 21px; color: var(--lacivert); margin-bottom: 9px; display: block; }
.ana-kisayol b { display: block; font-size: 13px; color: #1c2430; margin-bottom: 3px; }
.ana-kisayol span { font-size: 11px; color: #7a8699; }
@media (max-width: 640px) {
  .ana-ekran-karsilama { min-height: 440px; padding: 28px 14px; }
  .ana-kisayollar { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .ana-kisayol { width: auto; }
}

/* ---- Odeme Plani: kisisel odeme notu (26.07.2026) ---- */
.odeme-notu-girisi { min-width: 180px; width: 100%; border: 1px solid #d3dbe6; border-radius: 6px; padding: 6px 8px; font-size: 12.5px; font-family: inherit; resize: vertical; }

/* Siparis Takip: firma bilgisi yerine operasyonel alanlari one cikar. */
#tablo-siparis-takip { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
#tablo-siparis-takip th { padding: 10px 11px; white-space: nowrap; }
#tablo-siparis-takip td { padding: 7px 11px; vertical-align: middle; }
#tablo-siparis-takip th:nth-child(1), #tablo-siparis-takip td:nth-child(1) { width: 106px; }
#tablo-siparis-takip th:nth-child(2), #tablo-siparis-takip td:nth-child(2) { width: 136px; }
#tablo-siparis-takip th:nth-child(4), #tablo-siparis-takip td:nth-child(4) { width: 166px; }
#tablo-siparis-takip th:nth-child(5), #tablo-siparis-takip td:nth-child(5),
#tablo-siparis-takip th:nth-child(6), #tablo-siparis-takip td:nth-child(6) { width: 74px; }
#tablo-siparis-takip th:nth-child(7), #tablo-siparis-takip td:nth-child(7) { width: 124px; }
#tablo-siparis-takip th:nth-child(8), #tablo-siparis-takip td:nth-child(8) { width: 172px; text-align: center; }
#tablo-siparis-takip .siparis-satiri:nth-child(even) td { background: #f8fafc; }
#tablo-siparis-takip .siparis-satiri:hover td { background: #eef5fb; }
.siparis-no-hucre { color: var(--lacivert); font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.siparis-parca-hucre { color: #35516c; font-weight: 700; font-family: Consolas, "Courier New", monospace; font-size: 11.5px; white-space: nowrap; }
.siparis-aciklama-hucre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #31465a; }
.siparis-adet-input { width: 100%; min-width: 0; text-align: right; font-weight: 750; color: var(--lacivert); background: #fff; }
.siparis-sayi-hucre { text-align: right; font-weight: 750; font-variant-numeric: tabular-nums; }
.siparis-kalan.tamam { color: var(--yesil-koyu); }
.siparis-kalan.bekliyor { color: #a86108; }
.siparis-kalan.fazla { color: var(--kirmizi-koyu); }
.siparis-son-hucre { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
.siparis-son-hucre .hareketler-btn { padding: 5px 12px; font-size: 11.5px; border-radius: 999px; }
.siparis-takip-arac { display: flex; align-items: center; gap: 10px; margin: 14px 0 16px; padding: 12px 14px; border: 1px solid #d7e2ee; border-radius: 9px; background: #f7fafd; }
.siparis-takip-arac label { color: var(--lacivert); font-size: 12px; font-weight: 800; white-space: nowrap; }
.siparis-takip-arac input { width: min(420px, 100%); padding: 9px 11px; border: 1px solid #bdcde0; border-radius: 6px; background: #fff; }
.siparis-takip-arac input:focus { outline: 2px solid rgba(32, 102, 158, .18); border-color: var(--mavi); }
#siparis-takip-sonuc { margin-left: auto; color: #61758b; font-size: 12px; font-weight: 700; white-space: nowrap; }
.siparis-bos-sonuc { padding: 26px !important; text-align: center; color: #62768c; font-weight: 700; }
@media (max-width: 760px) { .siparis-takip-arac { align-items: stretch; flex-wrap: wrap; } #siparis-takip-sonuc { margin-left: 0; } }

/* 29.08.2026: Sevkiyat Detayi -- goruntulenen (filtrelenmis) satirlarin Miktar
   toplamini gosteren alt toplam satiri. */
.sevkiyat-toplam-satiri td {
  background: #eef4fb;
  font-weight: 800;
  color: var(--lacivert);
  border-top: 2px solid var(--lacivert);
  position: sticky;
  bottom: 0;
}
.sevkiyat-toplam-satiri td:nth-child(6) { text-align: right; font-variant-numeric: tabular-nums; }
.sevkiyat-toplam-satiri:hover td { background: #eef4fb; }

/* ---- Ana Ekran canli durum cipleri (26.07.2026) ---- */
.ana-durum-cipleri { position: relative; z-index: 2; display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; justify-content: center; }
.ana-durum-cip { display: inline-flex; align-items: center; gap: 8px; border-radius: 20px; padding: 8px 16px; font-size: 12.5px; font-weight: 700; cursor: pointer; border: 1.5px solid transparent; font-family: inherit; transition: transform .1s ease, box-shadow .15s ease; }
.ana-durum-cip:hover { transform: translateY(-1px); box-shadow: 0 3px 10px rgba(20,40,70,.12); }
.ana-durum-cip i { width: 8px; height: 8px; border-radius: 50%; }
.ana-durum-cip.turuncu { background: #fdf1da; color: #9c6510; } .ana-durum-cip.turuncu i { background: var(--turuncu); }
.ana-durum-cip.kirmizi { background: #fbe4e2; color: #a12f22; } .ana-durum-cip.kirmizi i { background: var(--kirmizi); }
.ana-durum-cip.mavi { background: #e9f0f8; color: var(--lacivert); } .ana-durum-cip.mavi i { background: var(--lacivert-acik); }
.ana-durum-cip.yesil { background: #dcf3e3; color: #1f7a43; } .ana-durum-cip.yesil i { background: var(--yesil); }

/* ---- Bulut senkron durumu gostergesi (04.08.2026) ---- */
.bulut-senkron-gostergesi { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.bulut-senkron-durum-metni { font-size: 12px; font-weight: 700; padding: 6px 14px; border-radius: 20px; }
.bulut-senkron-durum-metni.yesil { background: #dcf3e3; color: #1f7a43; }
.bulut-senkron-durum-metni.kirmizi { background: #fbe4e2; color: #a12f22; }
.bulut-senkron-durum-metni.notr { background: var(--gri-bg); color: #5a6577; }
.bulut-senkron-simdi-btn { padding: 6px 14px; font-size: 12px; }

/* ---- Odeme Plani vade hucresi (26.07.2026) ---- */
td.vade-gecikti { color: #a12f22; font-weight: 700; }
td.vade-yakin { color: #9c6510; font-weight: 700; }

/* ---- TCMB kur gostergesi (26.07.2026) ---- */
.kur-gosterge { position: relative; display: flex; align-items: center; gap: 10px; background: #f6f9fd; border: 1px solid var(--gri-cizgi); border-radius: 20px; padding: 7px 14px; cursor: default; }
.kur-tcmb { font-size: 9.5px; font-weight: 800; color: #8a97ab; letter-spacing: .8px; border-right: 1px solid var(--gri-cizgi); padding-right: 9px; }
.kur-birim { font-size: 13px; font-weight: 700; color: #1c2430; display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
.kur-simge { color: var(--lacivert); font-weight: 800; }
.kur-yon { font-size: 10px; }
.kur-yon.artis { color: var(--kirmizi); }
.kur-yon.dusus { color: var(--yesil); }
.kur-kisa { display: none; }
.kur-detay { display: none; position: absolute; top: calc(100% + 8px); right: 0; z-index: 60; background: #fff; border: 1px solid var(--gri-cizgi); border-radius: 10px; box-shadow: 0 8px 24px rgba(20,40,70,.16); padding: 14px 16px; width: 260px; }
.kur-gosterge:hover .kur-detay { display: block; }
.kur-detay h4 { font-size: 12px; color: var(--lacivert); margin: 0 0 10px; }
.kur-detay table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.kur-detay th { text-align: left; color: #8a97ab; font-size: 10.5px; text-transform: uppercase; padding: 4px 6px; font-weight: 700; }
.kur-detay td { padding: 5px 6px; border-top: 1px solid #f0f2f7; font-weight: 600; color: #1c2430; }
.kur-detay .kur-kaynak { font-size: 10.5px; color: #9aa5b3; margin-top: 9px; line-height: 1.5; }
@media (max-width: 860px) {
  .kur-gosterge { padding: 5px 10px; gap: 7px; }
  .kur-tcmb, .kur-tam { display: none; }
  .kur-kisa { display: inline-flex; font-size: 11.5px; }
}

/* ---- Yonetici Panosu: Genel Bakis (26.07.2026) ---- */
.pano-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin: 14px 0 16px; }
.pano-tile { background: #fff; border: 1px solid var(--gri-cizgi); border-radius: 10px; padding: 14px 16px; }
.pano-tile-etiket { font-size: 11px; color: #8a97ab; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.pano-tile-deger { font-size: 20px; font-weight: 800; color: #1c2430; font-variant-numeric: tabular-nums; }
.pano-tile-alt { font-size: 11.5px; margin-top: 4px; color: #5a6472; }
.pano-kartlar { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
.pano-kart { background: #fff; border: 1px solid var(--gri-cizgi); border-radius: 10px; padding: 16px 18px; }
.pano-kart h3 { font-size: 13.5px; color: #1c2430; margin: 0 0 2px; }
.pano-altbaslik { font-size: 11px; color: #8a97ab; margin-bottom: 14px; }
.pano-grafik { display: flex; align-items: flex-end; gap: 16px; height: 190px; border-bottom: 1.5px solid var(--gri-cizgi); padding: 0 6px 0; }
.pano-cubuk { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.pano-cubuk-bar { width: 26px; max-width: 70%; background: var(--lacivert-acik); border-radius: 4px 4px 0 0; }
.pano-cubuk-ay { font-size: 10.5px; color: #8a97ab; position: absolute; bottom: -20px; }
.pano-cubuk-deger { font-size: 10.5px; color: #5a6472; font-weight: 700; margin-bottom: 4px; }
.pano-grafik { margin-bottom: 26px; }
.pano-ysatir { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; cursor: pointer; }
.pano-ysatir:hover .pano-ysatir-ad { color: var(--lacivert); }
.pano-ysatir-ad { width: 100px; font-size: 11.5px; color: #5a6472; font-weight: 600; text-align: right; flex-shrink: 0; }
.pano-ysatir-yol { flex: 1; height: 14px; background: var(--gri-bg); border-radius: 4px; overflow: hidden; }
.pano-ysatir-yol i { display: block; height: 100%; background: var(--lacivert-acik); border-radius: 4px; }
.pano-ysatir-deger { font-size: 11px; color: #5a6472; font-weight: 700; width: 96px; flex-shrink: 0; font-variant-numeric: tabular-nums; text-align: right; }
.pano-operasyon-tablo { width: 100%; border-collapse: separate; border-spacing: 0 5px; font-variant-numeric: tabular-nums; }
.pano-operasyon-tablo th { color: #8a97ab; font-size: 10px; text-transform: uppercase; letter-spacing: .35px; text-align: left; padding: 0 8px 4px; }
.pano-operasyon-tablo td { background: #f8fafc; padding: 9px 8px; font-size: 11.5px; color: #435064; border-top: 1px solid #edf1f5; border-bottom: 1px solid #edf1f5; }
.pano-operasyon-tablo td:first-child { border-left: 1px solid #edf1f5; border-radius: 7px 0 0 7px; }
.pano-operasyon-tablo td:last-child { border-right: 1px solid #edf1f5; border-radius: 0 7px 7px 0; text-align: right; }
.pano-operasyon-tablo tr.pano-oncelikli td { background: #fff9ed; border-color: #f2d9a6; }
.pano-fs-no { color: var(--lacivert) !important; font-weight: 750; }
.pano-kalan { color: #a86108 !important; font-weight: 750; }
.pano-satir-btn { border: 0; background: #e8eff8; color: var(--lacivert); border-radius: 5px; padding: 4px 8px; cursor: pointer; font-size: 11px; font-weight: 700; }
.pano-satir-btn:hover { background: var(--lacivert); color: #fff; }
.pano-dikkat { display: grid; gap: 7px; margin-top: 13px; }
.pano-uyari { display: flex; align-items: baseline; gap: 7px; border-radius: 7px; padding: 8px 10px; font-size: 11px; }
.pano-uyari b { min-width: 78px; }
.pano-uyari.kritik { background: #fff0ee; color: #a12f22; }
.pano-uyari.dikkat { background: #fff8e9; color: #9a6500; }
.pano-uyari.tamam { background: #eef8f2; color: #1f7a43; }
@media (max-width: 860px) { .pano-kartlar { grid-template-columns: 1fr; } }

/* ---- Pano: ay secici + ay detay listesi (27.07.2026) ---- */
.pano-kart-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.pano-ay-secici { border: 1px solid #d3dbe6; border-radius: 6px; padding: 6px 10px; font-size: 12px; color: #1c2430; background: #fff; }
.pano-ay-ozet { font-size: 12.5px; font-weight: 700; color: var(--lacivert); margin: 4px 0 8px; }
table.pano-ay-tablo { width: 100%; border-collapse: collapse; }
table.pano-ay-tablo th { text-align: left; font-size: 10.5px; text-transform: uppercase; letter-spacing: .4px; color: #8a97ab; padding: 7px 10px; border-bottom: 1px solid var(--gri-cizgi); font-weight: 700; }
table.pano-ay-tablo td { padding: 8px 10px; font-size: 12.5px; border-bottom: 1px solid #f0f2f7; }
.pano-cubuk { cursor: pointer; }
.pano-cubuk:hover .pano-cubuk-bar { background: var(--lacivert); }

/* ---- Nakit Akisi Tahmini (27.07.2026, mockup onayli; ayni gun icinde
   "aylik olsun" geri bildirimiyle HAFTALIK'tan AYLIK'a cevrildi) --
   aylik ayrisen (diverging) cubuk grafik: gelir yukari yesil, gider
   asagi kirmizi, sifir cizgisi ortada. ---- */
.nakit-legend { display: flex; gap: 18px; margin-bottom: 16px; font-size: 12px; color: #5a6472; font-weight: 600; }
.nakit-legend span { display: inline-flex; align-items: center; gap: 6px; }
.nakit-legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
.nakit-legend .g i { background: var(--yesil); }
.nakit-legend .d i { background: var(--kirmizi); }

/* Nakit gorunumu: uzun aciklama yerine hizli okunur kapsam ozeti. */
.nakit-bilgi-bandi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}
.nakit-bilgi-kart {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-height: 62px;
  padding: 11px 13px;
  border: 1px solid #e1e8f1;
  border-radius: 9px;
  background: #f8fafc;
  color: #526174;
  font-size: 11.5px;
  line-height: 1.4;
}
.nakit-bilgi-kart b { display: block; margin-bottom: 2px; color: var(--lacivert-koyu); font-size: 11px; }
.nakit-bilgi-isaret { width: 8px; height: 8px; border-radius: 50%; margin-top: 4px; flex-shrink: 0; background: var(--lacivert-acik); }
.nakit-bilgi-kart.gelir .nakit-bilgi-isaret { background: var(--yesil); }
.nakit-bilgi-kart.gider .nakit-bilgi-isaret { background: var(--kirmizi); }
.nakit-bilgi-kart.not .nakit-bilgi-isaret { background: var(--turuncu); }
@media (max-width: 860px) { .nakit-bilgi-bandi { grid-template-columns: 1fr; } }

.nakit-grafik { display: flex; gap: 10px; padding: 0 4px 34px; position: relative; overflow-x: auto; }
.nakit-ay { flex: 1; min-width: 80px; display: flex; flex-direction: column; align-items: center; position: relative; height: 240px; cursor: pointer; }
.nakit-ay.secili .nakit-ay-etiket { color: var(--lacivert); font-weight: 700; }
/* 27.07.2026 BESINCI DUZELTME: bu artik bir tahmin degil aylik kesilen
   fatura/gider DEFTERI oldugu icin gecmis aylar ARTIK soluk gosterilmiyor
   (gecmis veri de gercek/onemli) -- bunun yerine bugunun ayi kalici bir
   "BUGÜN" rozetiyle (etiket metninde) ve ince bir cerceve ile isaretlenir
   (bkz. app.js nakitAkisTahminiYukle). */
.nakit-ay.nakit-ay-bugun { background: rgba(31, 78, 120, .05); border-radius: 6px; }
.nakit-ay.nakit-ay-bugun .nakit-ay-etiket { color: var(--lacivert); font-weight: 700; }
.nakit-ust-blok { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; width: 100%; }
.nakit-alt-blok { flex: 1; display: flex; flex-direction: column; align-items: center; width: 100%; }
.nakit-sifir-cizgi { position: absolute; left: -5px; right: -5px; top: 50%; height: 1px; background: var(--grid-cizgi); }
.nakit-cubuk { width: 34px; max-width: 60%; border-radius: 4px 4px 0 0; background: var(--yesil); min-height: 2px; }
.nakit-cubuk.bos { background: #dbe4ef; }
.nakit-cubuk.gider { border-radius: 0 0 4px 4px; background: var(--kirmizi); }
.nakit-cubuk.gider.bos { background: #f3dcd8; }
.nakit-ay:hover .nakit-cubuk:not(.bos) { filter: brightness(0.92); }
.nakit-cubuk-deger { font-size: 10px; font-weight: 700; color: #5a6472; margin-bottom: 3px; white-space: nowrap; }
.nakit-cubuk-deger.gider-deger { margin-top: 3px; margin-bottom: 0; }
.nakit-ay-etiket { position: absolute; bottom: -26px; font-size: 11px; color: #8a97ab; text-align: center; width: 100%; }
table.nakit-detay-tablo { width: 100%; border-collapse: collapse; margin-top: 4px; }
table.nakit-detay-tablo th { text-align: left; font-size: 10.5px; text-transform: uppercase; letter-spacing: .4px; color: #8a97ab; padding: 8px 10px; border-bottom: 1px solid var(--gri-cizgi); font-weight: 700; }
table.nakit-detay-tablo td { padding: 9px 10px; font-size: 12.5px; border-bottom: 1px solid #f0f2f7; }
.nakit-tutar-hucre { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }

/* Ayrı para birimlerini aynı ölçekte göstermeyen, kart bazlı profesyonel
   grafik düzeni. Her kart kendi en yüksek değerine göre ölçeklenir. */
.nakit-grafik.nakit-seri-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(460px, 1fr));
  gap: 16px;
  overflow: visible;
  padding: 0;
}
.nakit-seri-kart {
  min-width: 0;
  padding: 16px 16px 12px;
  border: 1px solid #e0e7f0;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfcfe, #fff);
}
.nakit-seri-baslik { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.nakit-seri-baslik h4 { margin: 0 0 3px; color: #20344a; font-size: 13px; }
.nakit-seri-baslik div > span { color: #7a8798; font-size: 11px; }
.nakit-seri-etiket { border-radius: 20px; padding: 4px 9px; font-size: 10px; font-weight: 800; letter-spacing: .4px; background: #eef3f8; color: #4d6074; }
.nakit-seri-alan { display: flex; align-items: stretch; gap: 6px; height: 214px; min-width: 620px; padding: 0 2px; }
.nakit-seri-ay { flex: 1; min-width: 46px; border: 0; padding: 0; background: transparent; cursor: pointer; display: flex; flex-direction: column; align-items: center; font-family: inherit; }
.nakit-seri-ay:hover, .nakit-seri-ay.secili { background: #f3f6fa; border-radius: 7px; }
.nakit-seri-ay.bugun { background: #edf3f9; border-radius: 7px; }
.nakit-seri-deger { height: 20px; color: #506174; font-size: 10px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nakit-seri-ray { position: relative; flex: 1; width: 100%; margin: 0 6px; display: flex; align-items: flex-end; border-bottom: 1px solid #d8e1ec; background: repeating-linear-gradient(to top, transparent 0, transparent 38px, #edf1f6 39px, transparent 40px); }
.nakit-seri-cubuk { width: 100%; min-height: 2px; border-radius: 5px 5px 1px 1px; background: linear-gradient(180deg, #56bb7d, #2e9259); box-shadow: 0 3px 7px rgba(46, 146, 89, .18); transition: filter .15s ease, height .2s ease; }
.nakit-seri-kart.mavi .nakit-seri-cubuk { background: linear-gradient(180deg, #5f91c2, #2f6699); box-shadow: 0 3px 7px rgba(47, 102, 153, .18); }
.nakit-seri-kart.kirmizi .nakit-seri-cubuk { background: linear-gradient(180deg, #dc675a, #bd382c); box-shadow: 0 3px 7px rgba(189, 56, 44, .18); }
.nakit-seri-ay:hover .nakit-seri-cubuk { filter: brightness(.9); }
.nakit-seri-ay-etiket { height: 24px; padding-top: 7px; color: #76859a; font-size: 10px; white-space: nowrap; }
.nakit-seri-ay.bugun .nakit-seri-ay-etiket, .nakit-seri-ay.secili .nakit-seri-ay-etiket { color: var(--lacivert); font-weight: 800; }
@media (max-width: 860px) {
  .nakit-grafik.nakit-seri-grid { display: block; overflow-x: auto; }
  .nakit-seri-kart { margin-bottom: 12px; min-width: 650px; }
}

/* ---- FS Sipariş Takibi: QR İş Emri Kartı (27.07.2026) ----
   Ediz'in FS Detay'da tek bir FS icin fiziksel is emrine yapistirilmak
   uzere yazdirilabilir bir kart istemesiyle eklendi. Onaylanan v4 tasarim
   (mockup /tmp/mockup/qr_is_emri_karti_tasarim4.html) buraya BIREBIR
   tasindi -- ayni sinif adlari, ayni renkler (mevcut :root degiskenleri). */
.fs-baslik-sag { flex-shrink: 0; display: flex; align-items: flex-start; }
#fs-qr-karti-ortu .km-evrak-detay-kutu { max-width: 700px; }

.fs-qr-karti-govde { margin-top: 4px; }

.is-emri-kart {
  border: 2px solid var(--lacivert); border-radius: 12px; padding: 22px 26px;
  background: #fff; position: relative; overflow: hidden;
}
.is-emri-kart::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px;
  background: linear-gradient(90deg, var(--lacivert), var(--yesil));
}
.kart-ust { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; margin-bottom: 18px; }
.kart-firma img { height: 34px; width: auto; display: block; }
.kart-baslik-rozet {
  background: var(--yesil); color: #fff; font-size: 11px; font-weight: 800;
  padding: 5px 12px; border-radius: 100px; letter-spacing: .4px; text-transform: uppercase;
}

.kart-govde { display: flex; gap: 24px; flex-wrap: wrap; }
.kart-bilgiler { flex: 1; min-width: 260px; }
.fs-no-buyuk { font-size: 26px; font-weight: 800; color: #1c2430; margin-bottom: 2px; font-variant-numeric: tabular-nums; }
.fs-no-etiket { font-size: 11px; color: #8a97ab; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 12px; }

.bilgi-satirlari { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 16px; margin-top: 4px; margin-bottom: 16px; }
.bilgi-kutusu .etiket { font-size: 10px; color: #8a97ab; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 3px; }
.bilgi-kutusu .deger { font-size: 13.5px; color: #1c2430; font-weight: 700; }
.bilgi-kutusu .deger.yesil { color: var(--yesil-koyu); }
.bilgi-kutusu .deger.turuncu { color: var(--turuncu); }
.asama-rozet {
  display: inline-block; background: #fdeee3; color: var(--turuncu-koyu); font-size: 12px; font-weight: 700;
  padding: 3px 10px; border-radius: 6px;
}

.parca-listesi-etiket { font-size: 10.5px; color: #8a97ab; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 6px; }
table.parca-listesi-tablo { width: 100%; border-collapse: collapse; font-size: 12px; }
table.parca-listesi-tablo th { text-align: right; color: #8a97ab; font-size: 10px; text-transform: uppercase; letter-spacing: .3px; padding: 4px 6px; border-bottom: 1.5px solid var(--gri-cizgi); }
table.parca-listesi-tablo th:first-child { text-align: left; }
table.parca-listesi-tablo td { padding: 6px 6px; border-bottom: 1px solid var(--gri-cizgi); color: #1c2430; }
table.parca-listesi-tablo td.sayi-hucre { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
table.parca-listesi-tablo td.sayi-hucre.kalan-var { color: var(--turuncu); }
table.parca-listesi-tablo td.sayi-hucre.kalan-yok { color: var(--yesil-koyu); }
table.parca-listesi-tablo tr:last-child td { border-bottom: none; }

.kart-qr { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 8px; flex-shrink: 0; }
.kart-qr img.qr-img { width: 110px; height: 110px; border: 1px solid var(--gri-cizgi); border-radius: 8px; padding: 6px; }
.kart-qr .qr-not { font-size: 9.5px; color: #8a97ab; text-align: center; max-width: 120px; line-height: 1.3; }

.kart-notlar {
  margin-top: 18px; border: 1.5px dashed #c7d3e3; border-radius: 8px; padding: 10px 14px;
  font-size: 11.5px; color: #8a97ab;
}
.kart-notlar .etiket { font-weight: 700; text-transform: uppercase; letter-spacing: .4px; font-size: 10px; display: block; }

.fs-qr-karti-alt { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

/* Yazdirirken SADECE kartin kendisi gorunsun -- pencere cercevesi, Kapat/
   Yazdir butonlari ve programin geri kalani gizlenir.
   NOT: "visibility:hidden" yontemi yerine bilerek "display:none" kullanildi
   -- gizlenen elemanlar visibility ile de olsa YER KAPLAMAYA devam eder
   (govde/sidebar hala normal yuksekliginde durur), bu da kartin sayfanin
   ortasinda/altinda, once BOS BIR SAYFAYLA basilmasina yol acardi. body'nin
   DOGRUDAN cocuklari disinda hicbir sey yazdirilmadigi icin (govde =
   sidebar+ana icerik, digeri = acik olan bu QR karti penceresi) -- bu
   sekilde kart sayfanin en basindan baslar. */
@media print {
  body > * { display: none !important; }
  body > #fs-qr-karti-ortu {
    display: block !important; position: static !important; inset: auto !important;
    background: none !important; padding: 0 !important;
  }
  #fs-qr-karti-ortu .km-evrak-detay-kutu {
    position: static !important; max-width: none !important; max-height: none !important;
    overflow: visible !important; box-shadow: none !important; padding: 0 !important;
  }
  #fs-qr-karti-ortu .km-evrak-detay-kapat,
  #fs-qr-karti-ortu h3,
  #fs-qr-karti-ortu .fs-qr-karti-alt {
    display: none !important;
  }
  .is-emri-kart {
    position: static; margin: 0; border-color: #000; box-shadow: none;
  }
}

/* --- Teklif disari aktarma butonlari (27.07.2026, Teklif PDF) --- */
.teklif-parcalari-panel { padding: 20px 22px 24px; }
.teklif-parcalari-panel .panel-baslik { padding-bottom: 14px; border-bottom: 1px solid #e2e9f2; margin-bottom: 14px; }
.teklif-parcalari-panel .panel-baslik h2 { margin: 2px 0 0; }
.teklif-ekran-ust-etiket { color: var(--lacivert-acik); font-size: 10.5px; font-weight: 800; letter-spacing: 1px; }
.teklif-parcalari-panel > .aciklama { max-width: 980px; margin: 0 0 14px; }

/* Parça listesinde teklif bilgileri, belge notları ve sipariş onayı üç
   ayrı çalışma alanı olarak görünür; yoğun tabloda hangi bilginin neye
   ait olduğu ilk bakışta anlaşılır. */
.teklif-kontrol-satiri,
.teklif-belge-satiri,
.teklif-not-satiri,
.teklif-siparis-satiri {
  align-items: flex-end;
  padding: 12px 14px;
  margin-bottom: 10px;
  border: 1px solid #dce6f1;
  border-radius: 9px;
  background: #f8fbfe;
}
.teklif-kontrol-satiri { background: #f3f8fd; border-left: 4px solid var(--lacivert); }
.teklif-kontrol-satiri label { min-width: 200px; }
.teklif-kontrol-satiri select { min-width: 200px; }
.teklif-belge-satiri input { flex: 1 1 170px; min-width: 170px; }
.teklif-belge-satiri #teklif-detay-baslik { flex: 2 1 320px; }
.teklif-not-satiri { background: #fffdf8; border-left: 4px solid var(--turuncu); }
.teklif-siparis-yardim { margin: 16px 0 8px !important; color: #4f6175; font-weight: 600; }
.teklif-siparis-satiri { background: #f4faf6; border-left: 4px solid var(--yesil); }
.teklif-siparis-satiri label { min-width: 240px; }
.teklif-siparis-satiri select { min-width: 240px; }
.teklif-siparis-satiri input { min-width: 205px; }

.teklif-parca-tablo-sarici { margin-top: 20px; border-radius: 11px; border: 1px solid #b9c8da; box-shadow: 0 6px 20px rgba(20, 40, 70, .12); }
#tablo-teklif-parcalari { width: 100%; min-width: 1320px; table-layout: fixed; }
#tablo-teklif-parcalari th {
  height: 58px;
  padding: 7px 6px;
  white-space: normal;
  line-height: 1.2;
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  text-transform: none;
  vertical-align: middle;
  box-shadow: inset 0 -3px rgba(0, 0, 0, .12);
}
#tablo-teklif-parcalari th.sutun-secim { background: #34495e; }
#tablo-teklif-parcalari th.sutun-kimlik { background: #19558b; }
#tablo-teklif-parcalari th.sutun-miktar { background: #3a6f9f; }
#tablo-teklif-parcalari th.sutun-malzeme { background: #18717a; }
#tablo-teklif-parcalari th.sutun-olcu { background: #4c7e92; }
#tablo-teklif-parcalari th.sutun-maliyet { background: #a86410; }
#tablo-teklif-parcalari th.sutun-sonuc { background: #2d7b50; }
#tablo-teklif-parcalari th.sutun-durum { background: #5c4b86; }
#tablo-teklif-parcalari th.sutun-islem { background: #7b3e3a; }
#tablo-teklif-parcalari td { height: 42px; padding: 5px 6px; font-size: 11.5px; }
#tablo-teklif-parcalari tbody tr:nth-child(even) td { background: #fbfcfe; }
#tablo-teklif-parcalari tbody tr:hover td { background: #eaf3fc; }
#tablo-teklif-parcalari input,
#tablo-teklif-parcalari select {
  width: 100%;
  min-width: 0;
  min-height: 31px;
  padding: 5px 7px;
  border: 1.5px solid #bdcad9;
  border-radius: 7px;
  background: #fff;
  font-size: 11.5px;
  font-weight: 600;
  color: #203247;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
#tablo-teklif-parcalari input:focus,
#tablo-teklif-parcalari select:focus {
  outline: none;
  border-color: #2674b8;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(38, 116, 184, .18);
}
#tablo-teklif-parcalari td.sutun-maliyet input { border-color: #dfbd82; background: #fffaf1; }
#tablo-teklif-parcalari td.ham-fiyat-hucre { position: relative; height: 50px; padding-bottom: 16px; }
#tablo-teklif-parcalari td.ham-fiyat-hucre.otomatik input { border-color: #8fb5d5; background: #f5faff; color: #19558b; }
#tablo-teklif-parcalari td.ham-fiyat-hucre.manuel input { border-color: #d69332; background: #fff6e5; color: #8b5108; }
.ham-fiyat-kaynak {
  position: absolute;
  left: 8px;
  bottom: 2px;
  font-size: 8.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .45px;
}
.ham-fiyat-kaynak.otomatik { color: #3978a8; }
.ham-fiyat-kaynak.manuel { color: #b56708; }
#tablo-teklif-parcalari td.sutun-sonuc { background: #eef8f1; color: #246840; font-weight: 800; text-align: right; }
#tablo-teklif-parcalari td.sutun-secim { text-align: center; }
#tablo-teklif-parcalari .teklif-parca-sec-kutusu { width: 17px; height: 17px; accent-color: var(--lacivert); cursor: pointer; }
#tablo-teklif-parcalari td:nth-child(1), #tablo-teklif-parcalari th:nth-child(1) { width: 46px; min-width: 46px; }
#tablo-teklif-parcalari td:nth-child(2), #tablo-teklif-parcalari th:nth-child(2) { width: 112px; min-width: 112px; }
#tablo-teklif-parcalari td:nth-child(3), #tablo-teklif-parcalari th:nth-child(3) { width: 152px; min-width: 152px; }
#tablo-teklif-parcalari td:nth-child(4), #tablo-teklif-parcalari th:nth-child(4) { width: 72px; min-width: 72px; }
#tablo-teklif-parcalari th.sutun-malzeme { width: 90px; }
#tablo-teklif-parcalari th.sutun-olcu { width: 82px; }
#tablo-teklif-parcalari th.sutun-maliyet { width: 92px; }
#tablo-teklif-parcalari th.sutun-sonuc { width: 108px; }
#tablo-teklif-parcalari th.sutun-durum { width: 108px; }
#tablo-teklif-parcalari th.sutun-islem { width: 56px; }

/* Yatay kaydırırken parça numarası ve tanımı gözden kaybolmasın. */
#tablo-teklif-parcalari th:nth-child(1), #tablo-teklif-parcalari td:nth-child(1),
#tablo-teklif-parcalari th:nth-child(2), #tablo-teklif-parcalari td:nth-child(2),
#tablo-teklif-parcalari th:nth-child(3), #tablo-teklif-parcalari td:nth-child(3) { position: sticky; z-index: 3; }
#tablo-teklif-parcalari th:nth-child(1), #tablo-teklif-parcalari td:nth-child(1) { left: 0; }
#tablo-teklif-parcalari th:nth-child(2), #tablo-teklif-parcalari td:nth-child(2) { left: 46px; }
#tablo-teklif-parcalari th:nth-child(3), #tablo-teklif-parcalari td:nth-child(3) { left: 158px; box-shadow: 3px 0 7px rgba(20, 40, 70, .10); }
#tablo-teklif-parcalari thead th:nth-child(-n+3) { z-index: 5; }
#tablo-teklif-parcalari tbody tr td:nth-child(-n+3) { background: #f5f9fd; }
#tablo-teklif-parcalari tbody tr:nth-child(even) td:nth-child(-n+3) { background: #edf4fa; }
#tablo-teklif-parcalari tbody tr:hover td:nth-child(-n+3) { background: #dfeefa; }
#tablo-teklif-parcalari tfoot td { background: #edf4fb; color: var(--lacivert-koyu); padding: 10px 11px; }

.teklif-disari-aktar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.teklif-disari-aktar .buton { white-space: nowrap; }
/* Aktif teklif secili degilken linkler tiklanamaz gorunur */
a.buton.pasif-link { opacity: .45; pointer-events: none; cursor: default; }
@media (max-width: 860px) {
  .teklif-parcalari-panel { padding: 16px 14px 20px; }
  .teklif-kontrol-satiri,
  .teklif-belge-satiri,
  .teklif-not-satiri,
  .teklif-siparis-satiri { padding: 10px; }
  .teklif-kontrol-satiri label,
  .teklif-siparis-satiri label,
  .teklif-kontrol-satiri select,
  .teklif-siparis-satiri select { min-width: 0; width: 100%; }
  .teklif-disari-aktar { width: 100%; }
  .teklif-disari-aktar .buton { flex: 1; text-align: center; }
}
.uretim-oee-filtre{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end;padding:14px;margin:14px 0;background:#f4f8fb;border:1px solid #d6e2ec;border-radius:12px}.uretim-oee-filtre label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#345}.uretim-oee-filtre input,.uretim-oee-filtre select{height:38px;border:1px solid #cbd8e5;border-radius:8px;padding:0 10px;background:#fff}.uretim-oee-ozet{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.uretim-oee-ozet>div{padding:16px;border:1px solid #cee0ea;border-left:5px solid #1676a3;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(20,60,90,.06)}.uretim-oee-ozet span,.uretim-oee-ozet small{display:block}.uretim-oee-ozet span{font-size:12px;font-weight:800;color:#5b7186;text-transform:uppercase}.uretim-oee-ozet b{display:block;margin:5px 0;font-size:25px;color:#073f68}.uretim-oee-ozet small{color:#6b7d8d}.uretim-oee-alt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.uretim-oee-kutu{border:1px solid #d3e0e9;border-radius:12px;padding:15px;background:#fff}.uretim-oee-kutu h3{margin:0 0 4px;color:#0b4b75}.uretim-pareto-satir{margin:12px 0}.uretim-pareto-satir>div{display:flex;justify-content:space-between;gap:10px;font-size:13px}.uretim-pareto-satir>i{display:block;height:8px;margin-top:5px;border-radius:999px;background:#e8eef3;overflow:hidden}.uretim-pareto-satir>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d99a21,#c84d32)}.uretim-durus-satir{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #e6edf2}.uretim-durus-satir div small{display:block;color:#718394;font-size:11px;margin-top:2px}.uretim-durus-satir select,.uretim-durus-satir button{height:34px;border-radius:7px;border:1px solid #c9d7e2;background:#fff;padding:0 8px}.uretim-durus-satir button{background:#175985;color:#fff;border-color:#175985;font-weight:700;cursor:pointer}.uretim-kalite-formu{margin-top:14px}.uretim-oee-tahmini{color:#b26a00;font-weight:700}.uretim-kart-oee{display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:center;margin-top:9px;padding-top:8px;border-top:1px solid #dce6ed}.uretim-kart-oee span{font-size:10px;font-weight:800;color:#60778b}.uretim-kart-oee b{font-size:15px;color:#0a6744}.uretim-kart-oee small{grid-column:1/-1;color:#738596}.uretim-ozet.mor{border-left-color:#6b4f99}
@media(max-width:900px){.uretim-oee-filtre{grid-template-columns:1fr 1fr}.uretim-oee-ozet{grid-template-columns:1fr 1fr}.uretim-oee-alt-grid{grid-template-columns:1fr}}@media(max-width:600px){.uretim-oee-filtre,.uretim-oee-ozet{grid-template-columns:1fr}.uretim-durus-satir{grid-template-columns:1fr}.uretim-durus-satir button{width:100%}}

/* =======================================================================
   URETIM KONTROL MERKEZI — onaylanan koyu endustriyel pano (17.08.2026)
   Yalnizca Tezgah Panosu etkilenir; diger ERP ve uretim alt sekmeleri
   kendi acik renkli gorunumlerini korur.
   ======================================================================= */
#uretim-pano.uretim-kontrol-paneli {
  --uk-zemin:#071827; --uk-yuzey:#0c2235; --uk-yuzey-2:#102a40;
  --uk-cizgi:#24455f; --uk-metin:#ecf7ff; --uk-soluk:#8fa8ba;
  --uk-turkuaz:#25d0d2; --uk-yesil:#30c77b; --uk-sari:#f2aa2f; --uk-kirmizi:#ef554d;
  position:relative; overflow:hidden; padding:18px; border:1px solid #173d58;
  border-top:4px solid #24b9c3; border-radius:16px; color:var(--uk-metin);
  background:
    linear-gradient(rgba(38,97,129,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(38,97,129,.10) 1px,transparent 1px),
    radial-gradient(circle at 78% 0,rgba(24,130,154,.16),transparent 33%),var(--uk-zemin);
  background-size:24px 24px,24px 24px,auto,auto;
  box-shadow:0 18px 42px rgba(4,21,34,.24);
}
#uretim-pano .uretim-baslik-satiri { align-items:center; margin:-18px -18px 14px; padding:17px 20px; border-bottom:1px solid #1e4058; background:rgba(4,18,30,.78); backdrop-filter:blur(9px); }
#uretim-pano .uretim-kontrol-baslik { display:flex; align-items:center; gap:12px; }
#uretim-pano .uretim-kontrol-isaret { display:grid; place-items:center; width:34px; height:34px; border:1px solid #237d93; border-radius:9px; color:var(--uk-turkuaz); background:#0c2a3d; font-size:19px; box-shadow:inset 0 0 18px rgba(37,208,210,.08); }
#uretim-pano .uretim-baslik-satiri h2 { margin:0; color:#fff; font-size:21px; letter-spacing:.35px; text-transform:uppercase; }
#uretim-pano .uretim-baslik-satiri .aciklama { margin:3px 0 0; color:var(--uk-soluk); font-size:11px; }
#uretim-pano .uretim-baslik-rozetler { flex-direction:row; align-items:center; }
#uretim-pano .uretim-canli-durum,#uretim-pano .uretim-vardiya-rozet { padding:7px 11px; border-radius:7px; background:#0b2639; border:1px solid #254a64; color:#bad0dd; font-size:10px; box-shadow:none; }
#uretim-pano .uretim-canli-durum.acik { border-color:rgba(48,199,123,.48); background:rgba(25,115,73,.18); color:#52e49d; }
#uretim-pano .uretim-canli-durum.kapali { border-color:#405366; background:#172a3a; color:#afbdc8; }
#uretim-pano .uretim-vardiya-rozet { color:#77e7e9; border-color:#236977; }

#uretim-pano .uretim-ozet-kartlari { grid-template-columns:repeat(5,minmax(120px,1fr)); gap:9px; margin-bottom:12px; }
#uretim-pano .uretim-ozet { display:flex; align-items:center; gap:11px; min-height:66px; padding:10px 13px; border:1px solid #1e415a; border-left:1px solid #1e415a; border-radius:10px; background:linear-gradient(145deg,rgba(16,44,65,.96),rgba(8,29,45,.96)); box-shadow:inset 0 1px rgba(255,255,255,.025),0 5px 16px rgba(0,0,0,.12); }
#uretim-pano .uretim-ozet>i { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border:1px solid #2678a0; border-radius:9px; color:#41b9ee; background:rgba(27,113,157,.13); font-style:normal; font-size:19px; }
#uretim-pano .uretim-ozet span { color:#8ca6b8; font-size:8px; letter-spacing:.65px; }
#uretim-pano .uretim-ozet b { margin-top:3px; color:#e8f7ff; font-size:20px; font-variant-numeric:tabular-nums; }
#uretim-pano .uretim-ozet.yesil>i,#uretim-pano .uretim-ozet.yesil b { color:#40dd8c; border-color:#207b55; }
#uretim-pano .uretim-ozet.mor>i,#uretim-pano .uretim-ozet.mor b { color:#57ded7; border-color:#247b78; }
#uretim-pano .uretim-ozet.kirmizi>i,#uretim-pano .uretim-ozet.kirmizi b { color:#ff6b62; border-color:#8b393d; }
#uretim-pano .uretim-ozet.turuncu>i,#uretim-pano .uretim-ozet.turuncu b { color:#f4b341; border-color:#85642c; }

#uretim-pano .uretim-kontrol-icerik { display:grid; grid-template-columns:minmax(0,1fr) 278px; gap:11px; align-items:stretch; }
#uretim-pano .uretim-fabrika-alani,#uretim-pano .uretim-akilli-panel { min-width:0; }
#uretim-pano .uretim-fabrika-alani { padding:10px; border:1px solid #1f4159; border-radius:12px; background:rgba(6,23,36,.76); }
#uretim-pano .uretim-pano-arama-satiri { position:relative; margin-bottom:9px; }
#uretim-pano .uretim-arama-simgesi { position:absolute; z-index:2; left:11px; top:50%; transform:translateY(-50%); color:#46c7d0; font-size:17px; pointer-events:none; }
#uretim-pano .uretim-pano-ara { flex:0 1 440px; height:34px; padding-left:34px; border-color:#244b65; background:#0b2234; color:#dff4ff; }
#uretim-pano .uretim-pano-ara::placeholder { color:#718d9f; }
#uretim-pano .uretim-pano-ara:focus { border-color:#2abcc3; box-shadow:0 0 0 3px rgba(42,188,195,.12); }
#uretim-pano .uretim-pano-ara-sonuc { color:#8fb0c1; }
#uretim-pano .uretim-pano-ara-sonuc.bos-sonuc { color:#ff7770; }

#uretim-pano .uretim-filo-cubugu.gorunur { margin-bottom:9px; padding:8px 10px; border-color:#21465f; border-radius:8px; background:#0b2234; }
#uretim-pano .uretim-filo-ust { margin-bottom:5px; }
#uretim-pano .uretim-filo-ust span,#uretim-pano .uretim-filo-aciklama span { color:#8da6b7; }
#uretim-pano .uretim-filo-ust b,#uretim-pano .uretim-filo-aciklama b { color:#e1f2fb; }
#uretim-pano .uretim-filo-yigin { height:7px; background:#172f42; }
#uretim-pano .uretim-filo-yigin i { box-shadow:2px 0 0 #0b2234; }
#uretim-pano .uretim-filo-aciklama { gap:10px; margin-top:5px; }

#uretim-pano .uretim-makine-grid { display:flex; flex-direction:column; gap:8px; }
#uretim-pano .uretim-hat { display:grid; grid-template-columns:31px minmax(0,1fr); gap:8px; align-items:stretch; }
#uretim-pano .uretim-hat-etiketi { display:flex; align-items:center; justify-content:center; border:1px solid #214b66; border-radius:7px; color:#54bdd4; background:linear-gradient(180deg,#0f334a,#0a2437); font-size:8px; font-weight:900; letter-spacing:1px; writing-mode:vertical-rl; transform:rotate(180deg); }
#uretim-pano .uretim-hat-makineler { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
#uretim-pano .uretim-hat-makineler:before { content:""; position:absolute; z-index:0; left:3%; right:3%; top:50%; border-top:1px dashed #2a5670; }
#uretim-pano .uretim-makine-kart { position:relative; z-index:1; min-height:146px; padding:10px; overflow:hidden; border:1px solid #315269; border-top:1px solid #315269; border-radius:9px; color:#d6eaf5; background:linear-gradient(145deg,#102b40,#0a2032); box-shadow:0 6px 14px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
#uretim-pano .uretim-makine-kart:hover { transform:translateY(-2px); border-color:#4e7891; box-shadow:0 9px 18px rgba(0,0,0,.26); }
#uretim-pano .uretim-makine-kart:after { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#627889; }
#uretim-pano .uretim-makine-kart.calisiyor,#uretim-pano .uretim-makine-kart.sinyal-calisiyor { border-color:#238958; background:linear-gradient(145deg,#103a35,#0a2531 62%); }
#uretim-pano .uretim-makine-kart.calisiyor:after,#uretim-pano .uretim-makine-kart.sinyal-calisiyor:after { background:#32d47f; box-shadow:0 0 11px #32d47f; }
#uretim-pano .uretim-makine-kart.sinyal-alarm { border-color:#a63d42; background:linear-gradient(145deg,#421f2a,#171f2e 68%); }
#uretim-pano .uretim-makine-kart.sinyal-alarm:after { background:#ff554d; box-shadow:0 0 13px #ff554d; }
#uretim-pano .uretim-makine-kart.sinyal-kapali { border-color:#2d4050; background:#0b1c2a; opacity:.65; }
#uretim-pano .uretim-makine-ust h3 { color:#f1f9fd; font-size:15px; letter-spacing:.2px; }
#uretim-pano .uretim-makine-durum { padding:3px 6px; color:#9fb1bd; background:#1b3447; font-size:7px; }
#uretim-pano .calisiyor .uretim-makine-durum,#uretim-pano .sinyal-calisiyor .uretim-makine-durum { color:#64e5a3; background:rgba(34,154,93,.20); }
#uretim-pano .sinyal-alarm .uretim-makine-durum { color:#ff837d; background:rgba(201,58,59,.24); }
#uretim-pano .uretim-canli-rozet { margin:3px 0; padding:2px 5px; color:#5ee19f; background:rgba(37,154,92,.15); font-size:7px; }
#uretim-pano .uretim-fs { color:#45cbe0; font-size:9px; }
#uretim-pano .uretim-fs-yok { color:#ffc05a; }
#uretim-pano .uretim-makine-kart h4 { margin:4px 0 3px; color:#e8f5fb; font-size:10px; }
#uretim-pano .uretim-makine-kart p { min-height:13px; margin:3px 0; color:#9eb4c2; font-size:8px; }
#uretim-pano .uretim-makine-kart small { color:#7290a3; font-size:7px; line-height:1.35; }
#uretim-pano .uretim-eslesme-rozet { margin:2px 0; padding:2px 5px; font-size:7px; }
#uretim-pano .uretim-eslesme-rozet.kesin { color:#61e39f; background:rgba(37,154,92,.16); }
#uretim-pano .uretim-eslesme-rozet.tahmini { color:#f8bd58; background:rgba(197,125,19,.18); }
#uretim-pano .uretim-eslesme-rozet.belirsiz { color:#ff7770; background:rgba(190,57,54,.20); }
#uretim-pano .uretim-canli-detay { margin-top:3px; color:#7895a6; }
#uretim-pano .uretim-alarm-metni { color:#ff7770; }
#uretim-pano .uretim-kart-grafik { margin-top:6px; padding-top:5px; border-top-color:#203d51; }
#uretim-pano .uretim-doluluk-ust span { color:#7893a4; font-size:7px; }
#uretim-pano .uretim-doluluk-ust b { color:#d9edf6; font-size:10px; }
#uretim-pano .uretim-doluluk-yol { height:4px; background:#1b3547; }
#uretim-pano .uretim-doluluk-yol i { background:linear-gradient(90deg,#20b874,#42d49a); }
#uretim-pano .uretim-serit { height:7px; margin-top:5px; background:#142d3f; }
#uretim-pano .uretim-serit-segment { box-shadow:1px 0 0 #0b2234; }
#uretim-pano .uretim-serit-simdi { background:#e6f6fc; }
#uretim-pano .uretim-serit-saatler { color:#688699; font-size:6px; }
#uretim-pano .uretim-kart-oee { margin-top:5px; padding-top:4px; border-top-color:#203d51; }
#uretim-pano .uretim-kart-oee span { color:#7290a3; font-size:7px; }
#uretim-pano .uretim-kart-oee b { color:#4ce097; font-size:10px; }
#uretim-pano .uretim-kart-oee small { color:#688699; font-size:6px; }
#uretim-pano .uretim-makine-kart .uretim-vardiya-kapat { position:absolute; right:7px; bottom:7px; width:auto; margin:0; padding:4px 6px; border:1px solid #8d6422; background:#3b2d1a; color:#ffc35c; font-size:7px; }

#uretim-pano .uretim-akilli-panel { display:flex; flex-direction:column; gap:9px; }
#uretim-pano .uretim-yan-kutu { padding:11px; border:1px solid #21445d; border-radius:10px; background:linear-gradient(155deg,#102a3e,#091f31); box-shadow:0 6px 15px rgba(0,0,0,.15); }
#uretim-pano .uretim-yan-baslik { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; color:#b9ceda; font-size:9px; font-weight:900; letter-spacing:.7px; text-transform:uppercase; }
#uretim-pano .uretim-yan-baslik b { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:10px; color:#fff; background:#e54b46; font-size:8px; }
#uretim-pano .uretim-yan-baslik b.bos { color:#7190a3; background:#183447; }
#uretim-pano .uretim-anlik-uyarilar { display:flex; flex-direction:column; gap:7px; }
#uretim-pano .uretim-akilli-uyari { padding:8px; border:1px solid #60404a; border-radius:7px; background:rgba(85,31,39,.38); }
#uretim-pano .uretim-akilli-uyari>div { display:flex; justify-content:space-between; gap:6px; }
#uretim-pano .uretim-akilli-uyari strong { color:#ff7770; font-size:9px; }
#uretim-pano .uretim-akilli-uyari span { color:#ff8b85; font-size:7px; font-weight:900; }
#uretim-pano .uretim-akilli-uyari p { margin:5px 0 0; color:#bfa9ae; font-size:7px; line-height:1.35; }
#uretim-pano .uretim-akilli-uyari.dikkat { border-color:#6e5427; background:rgba(91,62,18,.30); }
#uretim-pano .uretim-akilli-uyari.dikkat strong,#uretim-pano .uretim-akilli-uyari.dikkat span { color:#f4ba52; }
#uretim-pano .uretim-akilli-uyari.bilgi { border-color:#28526b; background:rgba(20,57,78,.42); }
#uretim-pano .uretim-akilli-uyari.bilgi strong,#uretim-pano .uretim-akilli-uyari.bilgi span { color:#65cbe0; }
#uretim-pano .uretim-uyari-yok { display:flex; align-items:center; gap:8px; padding:12px 8px; border:1px solid #205f47; border-radius:7px; color:#67dda0; background:rgba(24,103,67,.15); font-size:8px; }
#uretim-pano .uretim-uyari-yok b { font-size:16px; }
#uretim-pano .uretim-vardiya-gostergesi { display:grid; grid-template-columns:105px 1fr; gap:10px; align-items:center; }
#uretim-pano .uretim-halka { --oran:0; display:grid; place-items:center; width:94px; height:94px; margin:auto; border-radius:50%; background:conic-gradient(var(--uk-turkuaz) calc(var(--oran)*1%),#173548 0); box-shadow:0 0 20px rgba(37,208,210,.10); }
#uretim-pano .uretim-halka:before { content:""; grid-area:1/1; width:72px; height:72px; border-radius:50%; background:#0b2234; box-shadow:inset 0 0 14px rgba(0,0,0,.25); }
#uretim-pano .uretim-halka>div { z-index:1; grid-area:1/1; text-align:center; }
#uretim-pano .uretim-halka b { display:block; color:#5ce1dd; font-size:21px; }
#uretim-pano .uretim-halka span { display:block; margin-top:2px; color:#7995a6; font-size:7px; }
#uretim-pano .uretim-vardiya-rakamlar { display:flex; flex-direction:column; gap:7px; }
#uretim-pano .uretim-vardiya-rakamlar>div { display:flex; justify-content:space-between; gap:7px; padding-bottom:5px; border-bottom:1px solid #1d3a4e; }
#uretim-pano .uretim-vardiya-rakamlar span { color:#819dad; font-size:7px; }
#uretim-pano .uretim-vardiya-rakamlar b { color:#e7f5fb; font-size:9px; }
#uretim-pano .uretim-hareket-kutusu { flex:1; min-height:0; }
#uretim-pano .uretim-son-hareketler { display:flex; flex-direction:column; gap:1px; max-height:240px; overflow:auto; scrollbar-width:thin; scrollbar-color:#31536a transparent; }
#uretim-pano .uretim-hareket { display:grid; grid-template-columns:7px 44px minmax(0,1fr); gap:6px; align-items:center; padding:5px 2px; border-bottom:1px solid #18364a; }
#uretim-pano .uretim-hareket i { width:7px; height:7px; border:2px solid #8396a3; border-radius:50%; }
#uretim-pano .uretim-hareket.calisiyor i { border-color:#39d487; box-shadow:0 0 6px rgba(57,212,135,.55); }
#uretim-pano .uretim-hareket.alarm i { border-color:#ff5c55; }
#uretim-pano .uretim-hareket.bekliyor i { border-color:#f1ae3d; }
#uretim-pano .uretim-hareket strong { color:#d7e9f2; font-size:8px; }
#uretim-pano .uretim-hareket span { overflow:hidden; color:#7f9bab; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }

#uretim-pano .uretim-hizli-baslat { margin:11px 0 0; padding:10px 12px; border-color:#234b65; background:linear-gradient(90deg,#0b2639,#0d2c40); }
#uretim-pano .uretim-hizli-baslat h3 { margin-bottom:8px; color:#68dce1; font-size:11px; letter-spacing:.2px; text-transform:uppercase; }
#uretim-pano .uretim-hizli-baslat h3 span { margin-right:5px; color:#27d0d2; }
#uretim-pano .uretim-hizli-baslat .uretim-form-grid { grid-template-columns:1fr 1.6fr 2fr 1.2fr; gap:8px; }
#uretim-pano .uretim-hizli-baslat .uretim-form-grid label { color:#86a2b3; font-size:8px; }
#uretim-pano .uretim-hizli-baslat input,#uretim-pano .uretim-hizli-baslat select,#uretim-pano .uretim-hizli-baslat .uretim-operator-secimleri { min-height:32px; border-color:#31536a; background:#081d2d; color:#dcecf4; }
#uretim-pano .uretim-hizli-baslat .uretim-operator-secimleri label { color:#a9c2d0; background:#17384d; }
#uretim-pano .uretim-hizli-baslat .uretim-araya-secim { display:inline-flex !important; margin:8px 10px 0 0; color:#93aebb; font-size:8px; }
#uretim-pano .uretim-hizli-baslat>#uretim-baslat-btn { float:right; margin-top:6px; border:1px solid #2be0dc; background:linear-gradient(135deg,#10a5b0,#16c6b4); color:#fff; font-size:9px; font-weight:900; box-shadow:0 5px 13px rgba(12,174,177,.20); }
#uretim-pano .uretim-hizli-baslat:after { content:""; display:block; clear:both; }

/* Kurulu paketi kolayca tanimlamak icin tum ekranlarda sabit surum rozeti. */
.uygulama-surum-rozeti {
  position:fixed; right:14px; bottom:12px; z-index:35;
  display:flex; align-items:center; gap:6px; padding:6px 10px;
  border:1px solid rgba(45,79,108,.24); border-radius:999px;
  color:#526b7e; background:rgba(255,255,255,.92);
  box-shadow:0 3px 12px rgba(23,51,76,.10); backdrop-filter:blur(7px);
  font:700 10px/1.2 inherit; letter-spacing:.15px; cursor:pointer;
}
.uygulama-surum-rozeti:hover { color:#174d75; border-color:#4a83ad; box-shadow:0 5px 16px rgba(23,51,76,.16); }
.uygulama-surum-rozeti span { width:7px; height:7px; border-radius:50%; background:#35a567; box-shadow:0 0 0 3px rgba(53,165,103,.12); }
html[data-tema="adacayi"] .uygulama-surum-rozeti { color:#426348; border-color:#adc6b1; background:rgba(248,252,248,.94); }

@media(max-width:1450px) {
  #uretim-pano .uretim-kontrol-icerik { grid-template-columns:minmax(0,1fr) 245px; }
  #uretim-pano .uretim-vardiya-gostergesi { grid-template-columns:1fr; }
  #uretim-pano .uretim-vardiya-rakamlar { display:grid; grid-template-columns:repeat(3,1fr); }
  #uretim-pano .uretim-vardiya-rakamlar>div { display:block; text-align:center; }
}
@media(max-width:1120px) {
  #uretim-pano .uretim-kontrol-icerik { grid-template-columns:1fr; }
  #uretim-pano .uretim-akilli-panel { display:grid; grid-template-columns:1fr 1fr 1fr; }
  #uretim-pano .uretim-vardiya-gostergesi { grid-template-columns:90px 1fr; }
  #uretim-pano .uretim-hat-makineler { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #uretim-pano .uretim-ozet-kartlari { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:720px) {
  #uretim-pano.uretim-kontrol-paneli { padding:12px; border-radius:10px; }
  #uretim-pano .uretim-baslik-satiri { align-items:flex-start; flex-direction:column; margin:-12px -12px 11px; padding:13px; }
  #uretim-pano .uretim-baslik-rozetler { align-items:flex-start; flex-wrap:wrap; }
  #uretim-pano .uretim-ozet-kartlari { grid-template-columns:1fr 1fr; }
  #uretim-pano .uretim-kontrol-icerik,#uretim-pano .uretim-akilli-panel { grid-template-columns:1fr; }
  #uretim-pano .uretim-hat { grid-template-columns:1fr; }
  #uretim-pano .uretim-hat-etiketi { writing-mode:horizontal-tb; transform:none; min-height:24px; }
  #uretim-pano .uretim-hat-makineler { grid-template-columns:1fr; }
  #uretim-pano .uretim-hizli-baslat .uretim-form-grid { grid-template-columns:1fr; }
  #uretim-pano .uretim-hizli-baslat .uretim-operator-secim-label { grid-column:auto; }
  .uygulama-surum-rozeti { right:8px; bottom:72px; padding:5px 8px; font-size:9px; }
}

/* CNC kartindan acilan 24 saatlik tezgah analiz merkezi (20.08.2026) */
#uretim-pano .uretim-makine-kart { cursor:pointer; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
#uretim-pano .uretim-makine-kart:hover,#uretim-pano .uretim-makine-kart:focus-visible { transform:translateY(-2px); border-color:#25d0d2; box-shadow:0 9px 24px rgba(0,0,0,.28),0 0 0 1px rgba(37,208,210,.25); outline:none; }
#uretim-pano .uretim-kart-analiz-ipucu { display:block; margin-top:9px; padding-top:7px; border-top:1px solid rgba(103,171,202,.18); color:#4ddde0; font-size:8px; font-weight:900; letter-spacing:.75px; text-align:right; opacity:.72; }

.uretim-24saat-modal { --ua-bg:#061522; --ua-surface:#0b2234; --ua-surface2:#102d43; --ua-line:#28506c; --ua-text:#eefaff; --ua-muted:#8eabbc; --ua-cyan:#2ad6d7; --ua-green:#30c77b; --ua-yellow:#f2aa2f; --ua-red:#ef554d; position:fixed; inset:0; z-index:1400; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(2,10,18,.82); backdrop-filter:blur(8px); }
.uretim-24saat-modal.acik { display:flex; }
.uretim-24saat-pencere { width:min(1380px,97vw); max-height:94vh; overflow:auto; color:var(--ua-text); border:1px solid #23516d; border-top:4px solid var(--ua-cyan); border-radius:18px; background:radial-gradient(circle at 85% 0,rgba(27,121,148,.18),transparent 32%),linear-gradient(145deg,#071b2a,#061522 56%); box-shadow:0 28px 90px rgba(0,0,0,.55); }
.uretim-24saat-pencere>header { position:sticky; top:0; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 24px; border-bottom:1px solid #203f56; background:rgba(6,21,34,.95); backdrop-filter:blur(10px); }
.uretim-24saat-pencere h2 { margin:3px 0; font-size:25px; letter-spacing:.2px; }
.uretim-24saat-pencere header p { margin:0; color:var(--ua-muted); font-size:12px; }
.uretim-analiz-kicker { color:var(--ua-cyan); font-size:9px; font-weight:900; letter-spacing:1.7px; }
.uretim-analiz-baslik-sag { display:flex; align-items:center; gap:12px; }
.uretim-analiz-canli { padding:8px 12px; border:1px solid #36546a; border-radius:999px; color:#afc2cf; background:#102737; font-size:10px; font-weight:900; letter-spacing:.5px; }
.uretim-analiz-canli.calisiyor { color:#62e6a5; border-color:#21875b; background:#0b3529; }.uretim-analiz-canli.bekliyor { color:#ffd171; border-color:#9d6818; }.uretim-analiz-canli.alarm { color:#ff8982; border-color:#a83b37; }.uretim-analiz-canli.sinyalsiz { color:#a4b4c0; }
.uretim-24saat-kapat { width:39px; height:39px; border:1px solid #385b72; border-radius:10px; color:#d7e8f1; background:#102a3d; font-size:27px; line-height:1; cursor:pointer; }.uretim-24saat-kapat:hover { color:#fff; border-color:var(--ua-red); background:#762b2d; }
.uretim-24saat-icerik { padding:20px 24px 27px; }
.uretim-analiz-yukleniyor,.uretim-analiz-hata,.uretim-analiz-bos { display:flex; align-items:center; justify-content:center; min-height:150px; color:var(--ua-muted); font-size:13px; }.uretim-analiz-yukleniyor i { width:22px; height:22px; margin-right:12px; border:3px solid #27485f; border-top-color:var(--ua-cyan); border-radius:50%; animation:uretimAnalizDon .8s linear infinite; }@keyframes uretimAnalizDon{to{transform:rotate(360deg)}}.uretim-analiz-hata{color:#ff8d87}.uretim-analiz-bos{min-height:90px;border:1px dashed #315168;border-radius:9px}
.uretim-analiz-kpiler { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.uretim-analiz-kpi { min-width:0; padding:14px 15px; border:1px solid #274a62; border-left:4px solid #7690a0; border-radius:11px; background:linear-gradient(145deg,#102c42,#0a2133); }.uretim-analiz-kpi span,.uretim-analiz-kpi small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.uretim-analiz-kpi span { color:#9cb3c2; font-size:9px; font-weight:900; letter-spacing:.75px; text-transform:uppercase; }.uretim-analiz-kpi b { display:block; margin:5px 0 2px; color:#fff; font-size:21px; font-variant-numeric:tabular-nums; }.uretim-analiz-kpi small { color:#718fa2; font-size:9px; }.uretim-analiz-kpi.calisiyor{border-left-color:var(--ua-green)}.uretim-analiz-kpi.calisiyor b,.uretim-analiz-kpi.kullanim b{color:#45df94}.uretim-analiz-kpi.bekliyor{border-left-color:var(--ua-yellow)}.uretim-analiz-kpi.bekliyor b{color:#ffc25a}.uretim-analiz-kpi.alarm{border-left-color:var(--ua-red)}.uretim-analiz-kpi.alarm b{color:#ff7972}.uretim-analiz-kpi.kullanim{border-left-color:var(--ua-cyan)}.uretim-analiz-kpi.cevrim{border-left-color:#8d7cf0}
.uretim-analiz-kart { margin-top:12px; padding:16px; border:1px solid #23465e; border-radius:13px; background:rgba(11,34,52,.86); box-shadow:inset 0 1px rgba(255,255,255,.02); }
.uretim-analiz-kart-baslik { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; }.uretim-analiz-kart-baslik h3{margin:0 0 3px;color:#e8f8ff;font-size:14px}.uretim-analiz-kart-baslik p{margin:0;color:#7895a8;font-size:10px}.uretim-analiz-kart-baslik>span{color:var(--ua-cyan);font-size:9px;font-weight:900;letter-spacing:1px}
.uretim-24-serit { position:relative; height:28px; overflow:hidden; border:1px solid #31566e; border-radius:7px; background:#172b39; }.uretim-24-serit i{position:absolute;top:0;bottom:0;display:block;border-right:1px solid rgba(0,0,0,.25)}
.uretim-24-serit i.calisiyor,.uretim-saat-cubuk i.calisiyor{background:#2fc477}.uretim-24-serit i.bekliyor,.uretim-saat-cubuk i.bekliyor{background:#f1ab32}.uretim-24-serit i.alarm,.uretim-saat-cubuk i.alarm{background:#ef554d}.uretim-24-serit i.kapali,.uretim-saat-cubuk i.kapali{background:#607687}.uretim-24-serit i.bilinmiyor,.uretim-saat-cubuk i.bilinmiyor{background:#3e6a83}.uretim-24-serit i.sinyalsiz,.uretim-saat-cubuk i.sinyalsiz{background:repeating-linear-gradient(135deg,#1d3342,#1d3342 4px,#263f50 4px,#263f50 8px)}
.uretim-24-serit-saat { display:flex; justify-content:space-between; margin-top:6px; color:#66869b; font-size:9px; font-variant-numeric:tabular-nums; }.uretim-analiz-lejant{display:flex;justify-content:flex-end;gap:15px;margin-top:10px;flex-wrap:wrap}.uretim-analiz-lejant span{color:#91aabd;font-size:9px}.uretim-analiz-lejant span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px;background:#607687}.uretim-analiz-lejant .calisiyor:before{background:#2fc477}.uretim-analiz-lejant .bekliyor:before{background:#f1ab32}.uretim-analiz-lejant .alarm:before{background:#ef554d}.uretim-analiz-lejant .sinyalsiz:before{background:#263f50}
.uretim-analiz-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:12px; }
.uretim-vardiya-bolumu{margin-bottom:12px}.uretim-vardiya-ozetler{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.uretim-vardiya-ozet{position:relative;overflow:hidden;min-width:0;padding:12px;border:1px solid #285069;border-radius:10px;background:linear-gradient(145deg,#102d43,#0b2335)}.uretim-vardiya-ozet:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#2ad6d7}.uretim-vardiya-ozet.mesai:before{background:#f2aa2f}.uretim-vardiya-ozet.gelecek{opacity:.56}.uretim-vardiya-ozet-baslik{display:flex;justify-content:space-between;gap:8px;margin-bottom:9px}.uretim-vardiya-ozet-baslik div span,.uretim-vardiya-ozet-baslik div b{display:block}.uretim-vardiya-ozet-baslik span{color:#e9f8ff;font-size:11px;font-weight:900}.uretim-vardiya-ozet-baslik b{margin-top:2px;color:#7d9caf;font-size:8px}.uretim-vardiya-ozet-baslik>strong{color:#5bdfe0;font-size:10px}.uretim-vardiya-ozet-rakam{display:grid;grid-template-columns:1fr 1fr;gap:7px}.uretim-vardiya-ozet-rakam div{min-width:0}.uretim-vardiya-ozet-rakam span,.uretim-vardiya-ozet-rakam b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uretim-vardiya-ozet-rakam span{color:#7897aa;font-size:8px}.uretim-vardiya-ozet-rakam b{margin-top:2px;color:#dceef6;font-size:10px;font-variant-numeric:tabular-nums}.uretim-vardiya-ilerleme{height:5px;margin-top:10px;overflow:hidden;border-radius:999px;background:#19394d}.uretim-vardiya-ilerleme i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#27bdc7,#31c779)}.uretim-vardiya-ozet.mesai .uretim-vardiya-ilerleme i{background:linear-gradient(90deg,#d58b1f,#f4b23b)}.uretim-vardiya-ozet>small{display:block;margin-top:7px;color:#66879b;font-size:7px;line-height:1.35}
.uretim-saat-grafik { display:grid; grid-template-columns:repeat(24,minmax(12px,1fr)); align-items:end; gap:4px; height:190px; padding-top:8px; }.uretim-saat-sutun{min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.uretim-saat-cubuk{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:100%;height:148px;overflow:hidden;border-radius:3px 3px 0 0;background:#152d3e}.uretim-saat-cubuk i{display:block;width:100%;min-height:0}.uretim-saat-sutun span{color:#68879b;font-size:7px;writing-mode:vertical-rl;transform:rotate(180deg);height:30px}
.uretim-program-listesi { max-height:230px; overflow:auto; }.uretim-program-satir { display:grid; grid-template-columns:minmax(135px,1.2fr) minmax(80px,1fr) auto; gap:11px; align-items:center; padding:9px 2px; border-bottom:1px solid #1c3b50; }.uretim-program-satir div{min-width:0}.uretim-program-satir strong,.uretim-program-satir span,.uretim-program-satir small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uretim-program-satir strong{color:#55dadd;font-size:11px}.uretim-program-satir span{color:#d9e8ef;font-size:10px}.uretim-program-satir small{color:#66869a;font-size:8px}.uretim-program-satir>i{height:7px;overflow:hidden;border-radius:999px;background:#18374b}.uretim-program-satir>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#24bccc,#31c779)}.uretim-program-satir>b{color:#dff7ff;font-size:10px;font-variant-numeric:tabular-nums}
.uretim-analiz-hareketler { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }.uretim-analiz-hareket { display:grid; grid-template-columns:8px 82px minmax(0,1fr) auto; gap:9px; align-items:center; min-width:0; padding:9px 2px; border-bottom:1px solid #1b3b50; }.uretim-analiz-hareket>i{width:7px;height:28px;border-radius:3px;background:#607687}.uretim-analiz-hareket>i.calisiyor{background:#2fc477}.uretim-analiz-hareket>i.bekliyor{background:#f1ab32}.uretim-analiz-hareket>i.alarm{background:#ef554d}.uretim-analiz-hareket time{color:#7593a6;font-size:9px}.uretim-analiz-hareket div{min-width:0}.uretim-analiz-hareket strong,.uretim-analiz-hareket span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uretim-analiz-hareket strong{color:#dcecf4;font-size:10px}.uretim-analiz-hareket span{color:#7896a8;font-size:9px}.uretim-analiz-hareket>b{color:#c9e0eb;font-size:9px;font-variant-numeric:tabular-nums}
@media(max-width:1150px){.uretim-analiz-kpiler{grid-template-columns:repeat(3,1fr)}.uretim-analiz-grid{grid-template-columns:1fr}.uretim-vardiya-ozetler{grid-template-columns:1fr 1fr}.uretim-saat-grafik{height:175px}}
@media(max-width:700px){.uretim-24saat-modal{padding:0}.uretim-24saat-pencere{width:100%;max-height:100vh;height:100vh;border-radius:0}.uretim-24saat-pencere>header{padding:14px}.uretim-24saat-pencere h2{font-size:18px}.uretim-analiz-canli{display:none}.uretim-24saat-icerik{padding:12px}.uretim-analiz-kpiler{grid-template-columns:1fr 1fr}.uretim-analiz-kpi{padding:11px}.uretim-analiz-kpi b{font-size:17px}.uretim-vardiya-ozetler{grid-template-columns:1fr}.uretim-analiz-hareketler{grid-template-columns:1fr}.uretim-saat-grafik{min-width:650px}.uretim-analiz-kart{overflow-x:auto}.uretim-program-satir{grid-template-columns:minmax(120px,1fr) 80px auto}}
/* Cek Takibi: satiri genisletmeden cek goruntusu ve dekont islemleri. */
.cek-belge-islemleri { display:flex; flex-direction:column; gap:5px; min-width:155px; }
.cek-belge-satiri { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.cek-belge-btn { border:0; border-radius:6px; padding:6px 8px; font-size:11px; font-weight:700; cursor:pointer; text-decoration:none; line-height:1.1; }
.cek-belge-yukle { width:100%; color:#fff; background:#2879b8; }
.cek-belge-goster { color:#08783f; background:#dff5e8; border:1px solid #a9dfbf; }
.cek-belge-degistir { color:#245b82; background:#eef5fa; border:1px solid #c8dce9; }
.cek-belge-btn:hover { filter:brightness(.96); }
.uretim-teknik-izgara{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}
.uretim-teknik-izgara>div{padding:12px 14px;border:1px solid #204761;border-radius:10px;background:#0b2739;min-height:66px}
.uretim-teknik-izgara span{display:block;color:#8caabd;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px}
.uretim-teknik-izgara b{display:block;color:#ecf8ff;font-size:14px;overflow-wrap:anywhere}
.uretim-teknik-izgara b.yok{color:#6f8b9c;font-weight:600}
.uretim-canli-eslesme{margin-top:12px;padding:13px 15px;border:1px solid #1b6b55;border-radius:11px;background:#0a322e;display:flex;align-items:center;justify-content:space-between;gap:16px}
.uretim-canli-eslesme.bekliyor{border-color:#9b6a19;background:#35280f}
.uretim-canli-eslesme>div:first-child span,.uretim-canli-eslesme>div:first-child small{display:block}
.uretim-canli-eslesme>div:first-child span{color:#56e6be;font-size:10px;font-weight:900;letter-spacing:.08em}
.uretim-canli-eslesme>div:first-child b{display:block;color:#fff;margin:4px 0}
.uretim-canli-eslesme>div:first-child small{color:#a8bfca}
.uretim-eslesme-duzelt{display:flex;gap:8px;min-width:min(600px,55%)}
.uretim-eslesme-duzelt select{flex:1;min-width:0;background:#fff;color:#173247;border:1px solid #b9cbd7;border-radius:7px;padding:9px}
.uretim-eslesme-duzelt button{border:0;border-radius:7px;background:#1f91c6;color:#fff;padding:9px 13px;font-weight:800;cursor:pointer;white-space:nowrap}
@media(max-width:1100px){.uretim-teknik-izgara{grid-template-columns:repeat(2,minmax(140px,1fr))}.uretim-canli-eslesme{align-items:stretch;flex-direction:column}.uretim-eslesme-duzelt{min-width:0;width:100%}}
.pdks-ozet-kartlari {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0 20px;
}
.pdks-ozet-kartlari > div {
  background: linear-gradient(135deg, #f7fbfd, #edf5f8);
  border: 1px solid #d5e3ea;
  border-radius: 12px;
  padding: 13px 15px;
}
.pdks-ozet-kartlari span {
  display: block;
  color: #6b8290;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.pdks-ozet-kartlari strong {
  display: block;
  color: #1f5f7e;
  font-size: 23px;
  margin-top: 6px;
}
.vardiya-hizli-ayari {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #d5e3ea;
  border-left: 4px solid #2c7a9f;
  border-radius: 10px;
  background: #f5fafc;
  color: #34586a;
}
.vardiya-hizli-ayari strong { color: #1f5f7e; }
.vardiya-hizli-ayari span { font-size: 12px; flex: 1 1 260px; }
.vardiya-hizli-ayari label { font-size: 12px; font-weight: 700; white-space: nowrap; }
.vardiya-hizli-ayari input { width: 105px; margin: 0 3px; }

@media (max-width: 800px) {
  .pdks-ozet-kartlari { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =====================================================================
   KOYU TEMA -- otomatik uretilen genel yuzey/metin override paketi
   (26.08.2026). Kaynak dosyadaki her 'background:#fff'-benzeri notr
   (beyaza yakin, renksiz) yuzey rengi ve her yaygin notr metin rengi
   (--metin / --metin-soluk esleme tablosu) icin, AYNI secici tekrar
   html[data-tema="koyu"] onekiyle burada override edilir. Boylece
   klasik/adacayi temalarindaki ORIJINAL kural DEGISMEDEN kalir, koyu
   temada ayni secici kazanir (daha spesifik, dosyanin sonunda).
   NOT: renkli/pastel rozet-tipi arka planlar (basari/bekleme/tehlike vb.)
   BILINCLI OLARAK burada YOK -- onlar zaten notr olmadigi icin siniflandirma
   disinda kaldi ve koyu zeminde acik renkli 'chip' gibi okunaklı kalir.
   ===================================================================== */
html[data-tema="koyu"] body { color: var(--metin); }
html[data-tema="koyu"] .sidebar { background: var(--yuzey); }
html[data-tema="koyu"] .sidebar-logo .tam-logo-alt { color: var(--metin-soluk); }
html[data-tema="koyu"] .yan-menu-btn { color: var(--metin); }
html[data-tema="koyu"] .yan-menu-btn .ikon { color: var(--metin-soluk); }
html[data-tema="koyu"] .yan-menu-btn:hover { background: var(--yuzey-2); }
html[data-tema="koyu"] .yan-alt-btn { color: var(--metin); }
html[data-tema="koyu"] .yan-alt-btn:hover { background: var(--yuzey-2); }
html[data-tema="koyu"] .ust-cubuk { background: var(--yuzey); }
html[data-tema="koyu"] .ust-cubuk-baslik { color: var(--metin); }
html[data-tema="koyu"] .ust-cubuk-saat { color: var(--metin-soluk); }
html[data-tema="koyu"] .tema-secici-kapsayici { color: var(--metin); }
html[data-tema="koyu"] .tema-secici { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] .ust-cubuk-yenile-durum { color: var(--metin-soluk); }
html[data-tema="koyu"] .alt-sekme-btn { color: var(--metin); }
html[data-tema="koyu"] .panel { background: var(--yuzey); }
html[data-tema="koyu"] .aciklama { color: var(--metin-soluk); }
html[data-tema="koyu"] .buton-hayalet { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .buton-hayalet:hover { background: var(--yuzey-2); }
html[data-tema="koyu"] .istatistik-kart { background: var(--yuzey); }
html[data-tema="koyu"] .istatistik-baslik { color: var(--metin-soluk); }
html[data-tema="koyu"] .istatistik-deger { color: var(--metin); }
html[data-tema="koyu"] .istatistik-alt { color: var(--metin-soluk); }
html[data-tema="koyu"] .ilerleme-cubugu { background: var(--yuzey-2); }
html[data-tema="koyu"] .fs-baslik-kutu { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fs-bilgi-ogesi { color: var(--metin); }
html[data-tema="koyu"] .fs-bilgi-ogesi b { color: var(--metin); }
html[data-tema="koyu"] .huni-adim { background: var(--yuzey); }
html[data-tema="koyu"] .huni-etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] .fs-parca-durum { background: var(--yuzey); }
html[data-tema="koyu"] .zc-tarih { color: var(--metin-soluk); }
html[data-tema="koyu"] .zc-baslik { color: var(--metin); }
html[data-tema="koyu"] .zc-detay { color: var(--metin-soluk); }
html[data-tema="koyu"] .zc-satir.zc-ham_malzeme_teslim { background: var(--yuzey-2); }
html[data-tema="koyu"] .zc-satir.zc-ham_malzeme_teslim .zc-baslik { color: var(--metin); }
html[data-tema="koyu"] .zc-satir.zc-kalite { background: var(--yuzey-2); }
html[data-tema="koyu"] .zc-satir.zc-kalite .zc-baslik { color: var(--metin); }
html[data-tema="koyu"] .zc-satir.zc-sevk { background: var(--yuzey-2); }
html[data-tema="koyu"] .zc-satir.zc-sevk .zc-baslik { color: var(--metin); }
html[data-tema="koyu"] .zc-satir.zc-kaplama_gonderim { background: var(--yuzey-2); }
html[data-tema="koyu"] .zc-satir.zc-kaplama_donus { background: var(--yuzey-2); }
html[data-tema="koyu"] .zc-satir.zc-iade { background: var(--yuzey-2); }
html[data-tema="koyu"] .zc-etiket { background: var(--yuzey-2); }
html[data-tema="koyu"] .birak-alani { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] tbody tr { background: var(--yuzey); }
html[data-tema="koyu"] tr:hover td { background: var(--yuzey-2); }
html[data-tema="koyu"] tr.iptal td { background: var(--yuzey-2); color: var(--metin-soluk); }
html[data-tema="koyu"] .rozet-notr { background: var(--yuzey-2); color: var(--metin-soluk); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] td input, html[data-tema="koyu"] td textarea { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] td input.manuel { color: var(--metin); }
html[data-tema="koyu"] td.hesaplanan { color: var(--metin); }
html[data-tema="koyu"] .satir-form input { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .ayarlar-kutusu label { color: var(--metin); }
html[data-tema="koyu"] .salt-okunur-serit { color: var(--metin); }
html[data-tema="koyu"] .salt-okunur-serit a { color: var(--metin); }
html[data-tema="koyu"] .kalite-serit { color: var(--metin); }
html[data-tema="koyu"] .kalite-serit a { color: var(--metin); }
html[data-tema="koyu"] #kalite-yukleme-sonuc .kalite-dosya-sonuc.ok, html[data-tema="koyu"] #malzeme-yukleme-sonuc .kalite-dosya-sonuc.ok { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .gecmis-kayit-etiketi { color: var(--metin-soluk); }
html[data-tema="koyu"] .fs-dogrulama-durum { color: var(--metin-soluk); }
html[data-tema="koyu"] .fs-dogrulama-tablo td { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fs-parca-rozet { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] #tablo-fs-genel-bakis tbody tr:nth-child(even) td { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-fs-genel-bakis tbody tr:hover td { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-fs-genel-bakis tbody tr.fs-eski-kayit td { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] #tablo-fs-genel-bakis tbody tr.fs-eski-kayit:hover td { background: var(--yuzey-2); }
html[data-tema="koyu"] .fs-parcalar-hucre { color: var(--metin); }
html[data-tema="koyu"] .fs-eksik-bilgi { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .fs-gizleme-yardim { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-bolumu { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .yillik-gider-ust h3, html[data-tema="koyu"] .diger-gider-elle-baslik h3 { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-filtreler label { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-filtreler select { background: var(--yuzey); }
html[data-tema="koyu"] .yillik-gider-yukleme-sonuc.hata { background: var(--yuzey-2); color: #e3938c; }
html[data-tema="koyu"] .yillik-gider-toplam-kart span { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-toplam-kart strong { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-toplam-kart.ikincil strong { color: var(--metin); }
html[data-tema="koyu"] .gider-analiz-paneli { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .gider-analiz-baslik h3 { color: var(--metin); }
html[data-tema="koyu"] .gider-analiz-baslik p { color: var(--metin); }
html[data-tema="koyu"] .gider-analiz-filtreler { background: var(--yuzey-2); }
html[data-tema="koyu"] .gider-analiz-filtreler label { color: var(--metin); }
html[data-tema="koyu"] .gider-analiz-filtreler select, html[data-tema="koyu"] .gider-analiz-filtreler input { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] .gider-filtre-ozet { background: var(--yuzey-2); }
html[data-tema="koyu"] .gider-filtre-ozet strong { color: var(--metin); }
html[data-tema="koyu"] .gider-filtre-ozet span { color: var(--metin); }
html[data-tema="koyu"] .gider-analiz-iki-kolon h4 { color: var(--metin); }
html[data-tema="koyu"] .gider-dagilim-karti, html[data-tema="koyu"] .gider-firma-karti { background: var(--yuzey-2); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .gider-dagilim-karti:hover, html[data-tema="koyu"] .gider-firma-karti:hover { background: var(--yuzey-2); }
html[data-tema="koyu"] .gider-dagilim-karti strong, html[data-tema="koyu"] .gider-firma-karti strong { color: var(--metin); }
html[data-tema="koyu"] .gider-dagilim-karti small { color: var(--metin); }
html[data-tema="koyu"] .gider-kategori-sec { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .gider-kategori-hucre small { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-grafik-kart { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .yillik-gider-grafik-baslik h3 { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-grafik-baslik span { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-grafik-deger { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-grafik-ay { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-ay-karti { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .yillik-gider-ay-adi { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-ay-bilgi { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-fatura { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .yillik-gider-fatura-kimlik { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-firma { color: var(--metin); }
html[data-tema="koyu"] .yillik-gider-fatura-tutar { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-filtreler label { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-filtreler select { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-toplam-kart { background: var(--yuzey-2); }
html[data-tema="koyu"] .yillik-ciro-toplam-kart span { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-toplam-kart strong { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-toplam-kart.ikincil strong { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-toplam-kart.ikincil { background: var(--yuzey-2); }
html[data-tema="koyu"] .yillik-ciro-ay-karti > summary { background: var(--yuzey-2); }
html[data-tema="koyu"] .yillik-ciro-grafik-kart { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .yillik-ciro-grafik-baslik h3 { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-grafik-baslik span { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-grafik-deger { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-grafik-ay { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-ay-karti { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .yillik-ciro-ay-adi { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-ay-bilgi { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-fatura { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .yillik-ciro-fatura-kimlik { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-fatura-siparis { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-fatura-tutar { color: var(--metin); }
html[data-tema="koyu"] .yillik-ciro-fatura-durum.odendi { background: var(--yuzey-2); color: #6fce93; }
html[data-tema="koyu"] .yillik-ciro-fatura-durum.bekliyor { background: var(--yuzey-2); color: #e0b45c; }
html[data-tema="koyu"] .fs-maliyet-fiyat-input { background: var(--yuzey); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fs-maliyet-fiyat-input.otomatik-deger { background: var(--yuzey-2); color: #7bb6e6; }
html[data-tema="koyu"] .fs-maliyet-fiyat-input.elle-girildi { background: var(--yuzey-2); color: #e0b45c; }
html[data-tema="koyu"] .fs-maliyet-fiyat-input.kaynak-yok { background: var(--yuzey-2); color: #e39696; }
html[data-tema="koyu"] #tablo-fs-maliyet-ozeti td small { color: var(--metin-soluk); }
html[data-tema="koyu"] .diger-gider-elle-baslik { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .bos-durum { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] .uretim-siparis-paneli { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-siparis-panel-baslik span, html[data-tema="koyu"] .uretim-gunluk-baslik>span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-siparis-panel-baslik h3 { color: var(--metin); }
html[data-tema="koyu"] .uretim-siparis-ara { background: var(--yuzey); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-siparis-yan-kart { background: var(--yuzey); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-siparis-yan-kart>strong { color: var(--metin); }
html[data-tema="koyu"] .uretim-siparis-yan-kart>small { color: var(--metin); }
html[data-tema="koyu"] .uretim-siparis-kart-alt { color: var(--metin); }
html[data-tema="koyu"] .uretim-siparis-kart-alt b { color: var(--metin); }
html[data-tema="koyu"] .uretim-siparis-gunluk-detay { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-siparis-detay-genis { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-gunluk-baslik h4 { color: var(--metin); }
html[data-tema="koyu"] .uretim-gunluk-baslik small { color: var(--metin); }
html[data-tema="koyu"] .uretim-siparis-mini-ozet>div { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-siparis-mini-ozet span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-siparis-mini-ozet b { color: var(--metin); }
html[data-tema="koyu"] .uretim-gun-karti { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-gun-karti>summary { background: var(--yuzey-2); }
html[data-tema="koyu"] .uretim-gun-karti>summary strong, html[data-tema="koyu"] .uretim-gun-karti>summary b { color: var(--metin); }
html[data-tema="koyu"] .uretim-gun-karti>summary small, html[data-tema="koyu"] .uretim-gun-karti>summary span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-vardiya-metrikleri { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-vardiya-metrikleri>div { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-vardiya-metrikleri span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-vardiya-metrikleri b { color: var(--metin); }
html[data-tema="koyu"] .uretim-vardiya-metrikleri small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-gun-oturum { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-gun-oturum strong, html[data-tema="koyu"] .uretim-gun-oturum b { color: var(--metin); }
html[data-tema="koyu"] .uretim-gun-oturum span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-gun-oturum>small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-henuz-kayit { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] .uretim-vardiya-rozet { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-ozet { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-ozet span { color: var(--metin); }
html[data-tema="koyu"] .uretim-ozet b { color: var(--metin); }
html[data-tema="koyu"] .uretim-ozet.yesil b { color: #88e7b9; }
html[data-tema="koyu"] .uretim-ozet.kirmizi b { color: #e1948e; }
html[data-tema="koyu"] .uretim-ozet.turuncu b { color: #f4c17c; }
html[data-tema="koyu"] .uretim-makine-kart { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-makine-ust h3 { color: var(--metin); }
html[data-tema="koyu"] .uretim-makine-durum { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .uretim-makine-kart h4 { color: var(--metin); }
html[data-tema="koyu"] .uretim-makine-kart p { color: var(--metin); }
html[data-tema="koyu"] .uretim-makine-kart small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-fs { color: var(--metin); }
html[data-tema="koyu"] .uretim-canli-durum.kapali { background: var(--yuzey-2); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-makine-kart.sinyal-kapali { background: var(--yuzey-2); }
html[data-tema="koyu"] .sinyal-kapali .uretim-canli-rozet { background: var(--yuzey-2); color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-fs-yok { color: var(--metin); }
html[data-tema="koyu"] .uretim-canli-detay { color: var(--metin); }
html[data-tema="koyu"] .uretim-canli-detay.bayat { color: var(--metin); }
html[data-tema="koyu"] .uretim-alarm-metni { color: var(--metin); }
html[data-tema="koyu"] .uretim-kart-grafik { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-doluluk-ust span { color: var(--metin); }
html[data-tema="koyu"] .uretim-doluluk-ust b { color: var(--metin); }
html[data-tema="koyu"] .uretim-doluluk-yol { background: var(--yuzey-2); }
html[data-tema="koyu"] .uretim-serit { background: var(--yuzey-2); }
html[data-tema="koyu"] .uretim-serit-saatler { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-filo-cubugu.gorunur { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-filo-ust span { color: var(--metin); }
html[data-tema="koyu"] .uretim-filo-ust b { color: var(--metin); }
html[data-tema="koyu"] .uretim-filo-yigin { background: var(--yuzey-2); }
html[data-tema="koyu"] .uretim-filo-aciklama span { color: var(--metin); }
html[data-tema="koyu"] .uretim-filo-aciklama b { color: var(--metin); }
html[data-tema="koyu"] .uretim-form-karti { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-form-karti h3 { color: var(--metin); }
html[data-tema="koyu"] .uretim-form-grid label, html[data-tema="koyu"] .uretim-kapat-kutu label { color: var(--metin); }
html[data-tema="koyu"] .uretim-form-grid input, html[data-tema="koyu"] .uretim-form-grid select, html[data-tema="koyu"] .uretim-kapat-kutu input, html[data-tema="koyu"] .uretim-kapat-kutu textarea { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] .uretim-operator-secimleri { background: var(--yuzey); }
html[data-tema="koyu"] .uretim-operator-secimleri label { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .uretim-araya-secim { color: var(--metin); }
html[data-tema="koyu"] .uretim-op-giris { background: var(--yuzey); }
html[data-tema="koyu"] .uretim-op-giris>input, html[data-tema="koyu"] .uretim-op-giris label input { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-op-giris label:first-of-type:before { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-op-giris label:last-of-type:before { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-ie-kart { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-ie-ust h3 { color: var(--metin); }
html[data-tema="koyu"] .uretim-ie-toplam b { color: var(--metin); }
html[data-tema="koyu"] .uretim-ie-toplam span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-op-satir { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-op-satir span { color: var(--metin); }
html[data-tema="koyu"] .uretim-op-satir small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-op-sayi { color: var(--metin); }
html[data-tema="koyu"] .uretim-op-sure-duzenle small { color: var(--metin); }
html[data-tema="koyu"] .uretim-durum { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .uretim-modal-baslik span { color: var(--metin); }
html[data-tema="koyu"] .uretim-alt-baslik { color: var(--metin); }
html[data-tema="koyu"] .fs-hm-manuel-form { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] #tablo-fs-ham-malzeme tbody tr:nth-child(even) td { background: var(--yuzey-2); }
html[data-tema="koyu"] .fs-hm-malzeme-hucre { color: var(--metin); }
html[data-tema="koyu"] .fs-hm-tedarikci-hucre { color: var(--metin); }
html[data-tema="koyu"] .fs-hm-bos { color: var(--metin); }
html[data-tema="koyu"] #kalite-yukleme-sonuc .kalite-oneri { color: var(--metin); }
html[data-tema="koyu"] .km-evrak-durum { color: var(--metin-soluk); }
html[data-tema="koyu"] .km-evrak-detay-kutu { background: var(--yuzey); }
html[data-tema="koyu"] .km-evrak-detay-kapat { color: var(--metin-soluk); }
html[data-tema="koyu"] .km-evrak-detay-kapat:hover { color: var(--metin); }
html[data-tema="koyu"] .odeme-plan-arac-cubugu span { color: var(--metin); }
html[data-tema="koyu"] .fatura-tarih-seciciler { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fatura-tarih-seciciler label { color: var(--metin); }
html[data-tema="koyu"] .fatura-tarih-seciciler input { background: var(--yuzey); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fatura-tarih-ozet-baslik > div { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fatura-tarih-ozet-baslik span { color: var(--metin-soluk); }
html[data-tema="koyu"] .fatura-tarih-ozet-tablosu td { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fatura-tarih-ozet-tablosu tr:nth-child(even) td { background: var(--yuzey-2); }
html[data-tema="koyu"] .bolum-etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] .kalem-atama-karti { background: var(--yuzey); }
html[data-tema="koyu"] .kalem-atama-karti.tamamlandi { background: var(--yuzey-2); }
html[data-tema="koyu"] .kalem-atama-karti.kismen { background: var(--yuzey-2); }
html[data-tema="koyu"] .kalem-olcu { background: var(--yuzey-2); }
html[data-tema="koyu"] .kalem-detay { color: var(--metin-soluk); }
html[data-tema="koyu"] .atama-satiri .alan label { color: var(--metin-soluk); }
html[data-tema="koyu"] .oneri-satiri { color: var(--metin-soluk); }
html[data-tema="koyu"] .oneri-chip { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .oneri-chip .kalan { color: var(--metin); }
html[data-tema="koyu"] table.gecmis-fatura-tablo th { color: var(--metin-soluk); }
html[data-tema="koyu"] table.gecmis-fatura-tablo td { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] table.gecmis-fatura-tablo tr.gecmis-satir:hover td { background: var(--yuzey-2); }
html[data-tema="koyu"] .malzeme-lot-kutu h4 { color: var(--metin); }
html[data-tema="koyu"] .malzeme-siparis-ozeti-ekle-satiri input { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .malzeme-siparis-ozeti-tablosu th, html[data-tema="koyu"] .malzeme-siparis-ozeti-tablosu td { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .malzeme-siparis-ozeti-tablosu .olcu-etiket { background: var(--yuzey-2); }
html[data-tema="koyu"] .malzeme-siparis-ozeti-tablosu .sayi-hucre { color: var(--metin); }
html[data-tema="koyu"] .malzeme-ihtiyac-karti { background: var(--yuzey); }
html[data-tema="koyu"] .malzeme-ihtiyac-karti-ust { background: var(--yuzey-2); }
html[data-tema="koyu"] .malzeme-ihtiyac-karti-ust .kalem-sayisi { background: var(--yuzey-2); color: var(--metin-soluk); }
html[data-tema="koyu"] table.malzeme-ihtiyac-kalem-tablo th { color: var(--metin-soluk); }
html[data-tema="koyu"] table.malzeme-ihtiyac-kalem-tablo td { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .malzeme-ebat-etiket { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .malzeme-ebat-sil { color: var(--metin); }
html[data-tema="koyu"] .malzeme-ebat-ekle-satiri input { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .menu-ac-btn:hover { background: var(--yuzey-2); }
html[data-tema="koyu"] .fason-yukle-karti { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-onizleme-kutu { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-onizleme-alan .etk { color: var(--metin-soluk); }
html[data-tema="koyu"] .fason-onizleme-alan .val { color: var(--metin); }
html[data-tema="koyu"] .fason-onizleme-form label { color: var(--metin); }
html[data-tema="koyu"] .fason-hesap-sonuc { background: var(--yuzey); }
html[data-tema="koyu"] .fason-detay-pencere { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-sevkiyat-detay-pencere { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-detay-bolum { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-duzenleme-paneli .fason-onizleme-form { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-durum-paneli { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-ozet-bilgi { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-ozet-bilgi span { color: var(--metin); }
html[data-tema="koyu"] .fason-ozet-bilgi strong { color: var(--metin); }
html[data-tema="koyu"] .fason-ozet-bilgi.vurgulu { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-sekme-siparis-karti { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-sekme-siparis-baslik { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-sekme-siparis-baslik span { color: var(--metin); }
html[data-tema="koyu"] .fason-sekme-bilgi-karti { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-sekme-bilgi-karti h3 { color: var(--metin); }
html[data-tema="koyu"] .fason-sekme-bilgi-satirlari span { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .fason-iade-baslik { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-iade-baslik h4 { color: var(--metin); }
html[data-tema="koyu"] .fason-iade-ekle-btn { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .fason-iade-bos { color: var(--metin-soluk); }
html[data-tema="koyu"] .fason-iade-detay-btn { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .fason-iade-alan { color: var(--metin); }
html[data-tema="koyu"] .fason-hatali-baslik h3, html[data-tema="koyu"] .fason-hatali-baslik h4 { color: #e3928c; }
html[data-tema="koyu"] .fason-is-akisi { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-is-akisi-baslik h3 { color: var(--metin); }
html[data-tema="koyu"] .fason-is-akisi-baslik p { color: var(--metin-soluk); }
html[data-tema="koyu"] .fason-akis-numara { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .fason-akis-tarih { color: var(--metin-soluk); }
html[data-tema="koyu"] .fason-akis-icerik strong { color: var(--metin); }
html[data-tema="koyu"] .fason-akis-icerik small { color: var(--metin); }
html[data-tema="koyu"] .fason-sekme-kalan-kart { background: var(--yuzey-2); }
html[data-tema="koyu"] .fason-sekme-kalan-kart strong { color: var(--metin); }
html[data-tema="koyu"] .fason-sekme-kalan-kart span { color: var(--metin); }
html[data-tema="koyu"] .fason-uyari-metni { color: #edcd83; }
html[data-tema="koyu"] .fason-eslesme-metni { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .fason-aday-satiri { background: var(--yuzey); }
html[data-tema="koyu"] .fason-aday-satiri span:first-child { color: var(--metin); }
html[data-tema="koyu"] .fason-aday-satiri.onerilen { background: var(--yuzey-2); }
html[data-tema="koyu"] .ana-ekran-karsilama { background: var(--yuzey); }
html[data-tema="koyu"] .ana-hosgeldin h2 { color: var(--metin); }
html[data-tema="koyu"] .ana-firma-alt { color: var(--metin-soluk); }
html[data-tema="koyu"] .ana-selam { color: var(--metin-soluk); }
html[data-tema="koyu"] .ana-kisayol { background: var(--yuzey); }
html[data-tema="koyu"] .ana-kisayol b { color: var(--metin); }
html[data-tema="koyu"] .ana-kisayol span { color: var(--metin-soluk); }
html[data-tema="koyu"] .odeme-notu-girisi { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] #tablo-siparis-takip .siparis-satiri:nth-child(even) td { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-siparis-takip .siparis-satiri:hover td { background: var(--yuzey-2); }
html[data-tema="koyu"] .siparis-parca-hucre { color: var(--metin); }
html[data-tema="koyu"] .siparis-aciklama-hucre { color: var(--metin); }
html[data-tema="koyu"] .siparis-adet-input { background: var(--yuzey); }
html[data-tema="koyu"] .siparis-kalan.bekliyor { color: var(--metin); }
html[data-tema="koyu"] .siparis-takip-arac { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .siparis-takip-arac input { background: var(--yuzey); }
html[data-tema="koyu"] #siparis-takip-sonuc { color: var(--metin); }
html[data-tema="koyu"] .siparis-bos-sonuc { color: var(--metin); }
html[data-tema="koyu"] .sevkiyat-toplam-satiri td { background: var(--yuzey-2); color: var(--metin); border-top-color: var(--lacivert); }
html[data-tema="koyu"] .sevkiyat-toplam-satiri:hover td { background: var(--yuzey-2); }
html[data-tema="koyu"] .bulut-senkron-durum-metni.notr { color: var(--metin); }
html[data-tema="koyu"] td.vade-gecikti { color: #e5938a; }
html[data-tema="koyu"] td.vade-yakin { color: var(--metin); }
html[data-tema="koyu"] .kur-gosterge { background: var(--yuzey-2); }
html[data-tema="koyu"] .kur-tcmb { color: var(--metin-soluk); }
html[data-tema="koyu"] .kur-birim { color: var(--metin); }
html[data-tema="koyu"] .kur-detay { background: var(--yuzey); }
html[data-tema="koyu"] .kur-detay th { color: var(--metin-soluk); }
html[data-tema="koyu"] .kur-detay td { color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .kur-detay .kur-kaynak { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-tile { background: var(--yuzey); }
html[data-tema="koyu"] .pano-tile-etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-tile-deger { color: var(--metin); }
html[data-tema="koyu"] .pano-tile-alt { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-kart { background: var(--yuzey); }
html[data-tema="koyu"] .pano-kart h3 { color: var(--metin); }
html[data-tema="koyu"] .pano-altbaslik { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-cubuk-ay { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-cubuk-deger { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-ysatir-ad { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-ysatir-deger { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-operasyon-tablo th { color: var(--metin-soluk); }
html[data-tema="koyu"] .pano-operasyon-tablo td { background: var(--yuzey-2); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .pano-operasyon-tablo td:first-child { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .pano-operasyon-tablo td:last-child { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .pano-operasyon-tablo tr.pano-oncelikli td { background: var(--yuzey-2); }
html[data-tema="koyu"] .pano-kalan { color: var(--metin); }
html[data-tema="koyu"] .pano-uyari.kritik { background: var(--yuzey-2); color: #e5938a; }
html[data-tema="koyu"] .pano-uyari.tamam { background: var(--yuzey-2); color: #8ee1af; }
html[data-tema="koyu"] .pano-ay-secici { background: var(--yuzey); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] table.pano-ay-tablo th { color: var(--metin-soluk); }
html[data-tema="koyu"] table.pano-ay-tablo td { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .nakit-legend { color: var(--metin-soluk); }
html[data-tema="koyu"] .nakit-bilgi-kart { background: var(--yuzey-2); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .nakit-cubuk-deger { color: var(--metin-soluk); }
html[data-tema="koyu"] .nakit-ay-etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] table.nakit-detay-tablo th { color: var(--metin-soluk); }
html[data-tema="koyu"] table.nakit-detay-tablo td { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .nakit-seri-kart { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .nakit-seri-baslik h4 { color: var(--metin); }
html[data-tema="koyu"] .nakit-seri-baslik div > span { color: var(--metin-soluk); }
html[data-tema="koyu"] .nakit-seri-etiket { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .nakit-seri-ay:hover, html[data-tema="koyu"] .nakit-seri-ay.secili { background: var(--yuzey-2); }
html[data-tema="koyu"] .nakit-seri-ay.bugun { background: var(--yuzey-2); }
html[data-tema="koyu"] .nakit-seri-deger { color: var(--metin); }
html[data-tema="koyu"] .nakit-seri-ray { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .nakit-seri-ay-etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] .is-emri-kart { background: var(--yuzey); }
html[data-tema="koyu"] .fs-no-buyuk { color: var(--metin); }
html[data-tema="koyu"] .fs-no-etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] .bilgi-kutusu .etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] .bilgi-kutusu .deger { color: var(--metin); }
html[data-tema="koyu"] .parca-listesi-etiket { color: var(--metin-soluk); }
html[data-tema="koyu"] table.parca-listesi-tablo th { color: var(--metin-soluk); }
html[data-tema="koyu"] table.parca-listesi-tablo td { color: var(--metin); }
html[data-tema="koyu"] .kart-qr .qr-not { color: var(--metin-soluk); }
html[data-tema="koyu"] .kart-notlar { color: var(--metin-soluk); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .teklif-parcalari-panel .panel-baslik { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .teklif-kontrol-satiri, html[data-tema="koyu"] .teklif-belge-satiri, html[data-tema="koyu"] .teklif-not-satiri, html[data-tema="koyu"] .teklif-siparis-satiri { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .teklif-kontrol-satiri { background: var(--yuzey-2); }
html[data-tema="koyu"] .teklif-not-satiri { background: var(--yuzey-2); }
html[data-tema="koyu"] .teklif-siparis-yardim { color: var(--metin); }
html[data-tema="koyu"] .teklif-siparis-satiri { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-teklif-parcalari tbody tr:nth-child(even) td { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-teklif-parcalari input, html[data-tema="koyu"] #tablo-teklif-parcalari select { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] #tablo-teklif-parcalari input:focus, html[data-tema="koyu"] #tablo-teklif-parcalari select:focus { background: var(--yuzey); }
html[data-tema="koyu"] #tablo-teklif-parcalari td.sutun-maliyet input { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-teklif-parcalari td.ham-fiyat-hucre.otomatik input { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] .ham-fiyat-kaynak.otomatik { color: var(--metin); }
html[data-tema="koyu"] .ham-fiyat-kaynak.manuel { color: var(--metin); }
html[data-tema="koyu"] #tablo-teklif-parcalari td.sutun-sonuc { background: var(--yuzey-2); color: var(--metin); }
html[data-tema="koyu"] #tablo-teklif-parcalari tbody tr td:nth-child(-n/**/+3) { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-teklif-parcalari tbody tr:nth-child(even) td:nth-child(-n/**/+3) { background: var(--yuzey-2); }
html[data-tema="koyu"] #tablo-teklif-parcalari tfoot td { background: var(--yuzey-2); }
html[data-tema="koyu"] .uretim-oee-filtre { background: var(--yuzey-2); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-oee-filtre label { color: var(--metin); }
html[data-tema="koyu"] .uretim-oee-filtre input, html[data-tema="koyu"] .uretim-oee-filtre select { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-oee-ozet>div { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-oee-ozet span { color: var(--metin); }
html[data-tema="koyu"] .uretim-oee-ozet b { color: var(--metin); }
html[data-tema="koyu"] .uretim-oee-ozet small { color: var(--metin); }
html[data-tema="koyu"] .uretim-oee-kutu { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-oee-kutu h3 { color: var(--metin); }
html[data-tema="koyu"] .uretim-durus-satir { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-durus-satir div small { color: var(--metin); }
html[data-tema="koyu"] .uretim-durus-satir select, html[data-tema="koyu"] .uretim-durus-satir button { background: var(--yuzey); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-oee-tahmini { color: #fbc574; }
html[data-tema="koyu"] .uretim-kart-oee { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-kart-oee span { color: var(--metin); }
html[data-tema="koyu"] .uretim-kart-oee b { color: var(--metin); }
html[data-tema="koyu"] .uretim-kart-oee small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uygulama-surum-rozeti { color: var(--metin); }
html[data-tema="koyu"] .uygulama-surum-rozeti:hover { color: var(--metin); }
html[data-tema="koyu"] .uretim-analiz-kpi small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-analiz-kpi.alarm b { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-analiz-kart-baslik p { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-24-serit-saat { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-analiz-lejant span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-vardiya-ozet-baslik b { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-vardiya-ozet-rakam span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-vardiya-ozet>small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-saat-sutun span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-program-satir small { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-analiz-hareket time { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-analiz-hareket span { color: var(--metin-soluk); }
html[data-tema="koyu"] .cek-belge-degistir { background: var(--yuzey-2); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .uretim-teknik-izgara span { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-teknik-izgara b.yok { color: var(--metin-soluk); }
html[data-tema="koyu"] .uretim-eslesme-duzelt select { background: var(--yuzey); color: var(--metin); }
html[data-tema="koyu"] .pdks-ozet-kartlari > div { border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .pdks-ozet-kartlari span { color: var(--metin); }
html[data-tema="koyu"] .pdks-ozet-kartlari strong { color: var(--metin); }
html[data-tema="koyu"] .vardiya-hizli-ayari { background: var(--yuzey-2); color: var(--metin); border-color: var(--gri-cizgi); }
html[data-tema="koyu"] .vardiya-hizli-ayari strong { color: var(--metin); }
@media (max-width: 860px) {
  html[data-tema="koyu"] .fs-detay-arama-form { background: var(--yuzey); border-color: var(--gri-cizgi); }
  html[data-tema="koyu"] .mobil-alt-bar { background: var(--yuzey); }
  html[data-tema="koyu"] .mobil-alt-btn { color: var(--metin-soluk); }
}
@media (max-width: 900px) {
  html[data-tema="koyu"] .fason-sekme-bilgi-karti { border-color: var(--gri-cizgi); }
}

/* -- pekistirme: temel sinifi genisleten .aktif/.secili/:hover gibi
   bilesik kurallar zaten var(...) kullaniyordu, onceligi geri kazansinlar -- */
html[data-tema="koyu"] .yan-menu-btn:hover { color: var(--lacivert); }
html[data-tema="koyu"] .yan-menu-btn:hover .ikon { color: var(--lacivert); }

/* 29.08.2026: yeni kart tipi sol menunun koyu tema karsiligi. Bu blok
   dosyanin eski koyu-tema override'larindan sonra bilerek yer alir. */
html[data-tema="koyu"] .yan-menu-btn {
  background: linear-gradient(145deg, #132d43, #0e2539);
  border-color: #284a64;
  color: var(--metin);
  box-shadow: inset 0 1px 0 rgba(111,190,225,.12), 0 4px 9px rgba(0,0,0,.22);
}
html[data-tema="koyu"] .yan-menu-btn .ikon {
  background: linear-gradient(145deg, #193951, #112d43);
  border-color: #315670;
  color: #9ab4c8;
  box-shadow: inset 0 1px 0 rgba(128,205,235,.12);
}
html[data-tema="koyu"] .yan-menu-btn > span::after { color: #8099ad; }
html[data-tema="koyu"] .yan-menu-btn:hover {
  background: linear-gradient(145deg, #17384f, #102c42);
  border-color: #39708d;
  color: #dffcff;
  box-shadow: inset 0 1px 0 rgba(121,218,238,.15), 0 8px 18px rgba(0,0,0,.32);
}
html[data-tema="koyu"] .yan-menu-btn.aktif {
  background: linear-gradient(110deg, #164b58, #123844);
  color: #dcffff;
  border-color: #24aeb1;
  box-shadow: 0 8px 20px rgba(19,180,183,.18), inset 0 1px 0 rgba(128,255,255,.2), inset 0 -8px 16px rgba(0,0,0,.12);
}
html[data-tema="koyu"] .yan-menu-btn.aktif .ikon {
  background: linear-gradient(145deg, #1b777c, #14585f);
  border-color: #27b8ba;
  color: #e5ffff;
  box-shadow: inset 0 1px 0 rgba(190,255,255,.22), 0 3px 9px rgba(0,0,0,.3);
}
html[data-tema="koyu"] .yan-menu-btn.aktif > span::after { color: #98c6ca; }
html[data-tema="koyu"] .yan-alt-btn:hover { color: var(--lacivert); }
html[data-tema="koyu"] .yan-alt-btn.aktif { color: var(--lacivert); }
html[data-tema="koyu"] .yan-alt-btn.aktif i { background: var(--lacivert); }
html[data-tema="koyu"] .ust-cubuk-yenile-durum.hata-durum { color: var(--kirmizi-koyu); }
html[data-tema="koyu"] .alt-sekme-btn:hover { color: var(--lacivert); }
html[data-tema="koyu"] .alt-sekme-btn.aktif { color: var(--lacivert); }
html[data-tema="koyu"] .fs-dogrulama-durum.hata-durum { color: var(--kirmizi-koyu); }
html[data-tema="koyu"] .km-evrak-durum.hata-durum { color: var(--kirmizi-koyu); }
html[data-tema="koyu"] .nakit-bilgi-kart.gelir .nakit-bilgi-isaret { background: var(--yesil); }
html[data-tema="koyu"] .nakit-bilgi-kart.gider .nakit-bilgi-isaret { background: var(--kirmizi); }
html[data-tema="koyu"] .nakit-bilgi-kart.not .nakit-bilgi-isaret { background: var(--turuncu); }
html[data-tema="koyu"] .bilgi-kutusu .deger.yesil { color: var(--yesil-koyu); }
html[data-tema="koyu"] .bilgi-kutusu .deger.turuncu { color: var(--turuncu); }
html[data-tema="koyu"] table.parca-listesi-tablo td.sayi-hucre.kalan-var { color: var(--turuncu); }
html[data-tema="koyu"] table.parca-listesi-tablo td.sayi-hucre.kalan-yok { color: var(--yesil-koyu); }
@media (max-width: 860px) {
  html[data-tema="koyu"] .mobil-alt-btn.aktif { color: var(--lacivert); }
}

/* -- elle duzeltme: otomatik notr-arkaplan esigi (min kanal >=235) bu
   kartin #eaf2fa (min 234) rengini kacirdi, span/strong metinleri acik
   renge cevrilmisti ama zemin acik kalinca acik-uzerine-acik olusuyordu -- */
html[data-tema="koyu"] .yillik-gider-toplam-kart.ikincil { background: var(--yuzey-2); }

/* -- elle duzeltme: otomatik uretici sadece duz hex arkaplanlari yakaliyordu,
   "background: linear-gradient(...)" ile tanimli kartlar tarayiciya hic
   girmedi ve acik-gri/beyaz kaldi (icindeki metinler ise ayri kurallardan
   acik renge cevrilmisti -- acik-uzerine-acik olusuyordu). Asagida, tum
   style.css'te linear-gradient arkaplan kullanan ve #uretim-pano disinda
   kalan tum kartlar tek tek taranip koyu tema icin duzeltildi. Iki-sinifli
   durum varyantlari (orn. .uretim-makine-kart.calisiyor,
   .uretim-siparis-yan-kart.secili, .uretim-ie-kart.oncelikli) burada YOK --
   onlarin temel sinifi zaten "html[data-tema=...] .temel-sinif" olarak
   arkaplan aliyor ve o kural, "html" etiketi eklendigi icin ozgunlukte
   (specificity) iki-sinifli varyanttan daha yuksek kalip kazaniyor; bu
   yuzden onlar icin ayrica yazmaya gerek yok. -- */
html[data-tema="koyu"] .yillik-gider-bolumu { background: var(--yuzey-2); }
html[data-tema="koyu"] .fason-duzenleme-paneli { background: var(--yuzey-2); }
html[data-tema="koyu"] .fason-siparis-ozet-paneli { background: var(--yuzey-2); }
html[data-tema="koyu"] .fason-is-akisi { background: var(--yuzey-2); }
html[data-tema="koyu"] .nakit-seri-kart { background: var(--yuzey-2); }
html[data-tema="koyu"] .pdks-ozet-kartlari > div { background: var(--yuzey-2); }
/* renkli-tonlu vurgu kutulari -- notr griye duzlestirmek yerine ayni tonun
   koyu/dusuk-doygunluklu halini kullandim, boylece "yesil = bilgi",
   "turuncu/sari = dikkat" anlami koyu temada da korunuyor. */
html[data-tema="koyu"] .diger-gider-aktar-kutusu { background: linear-gradient(120deg, #192e20, #172a1d); }
html[data-tema="koyu"] .ayarlar-kutusu { background: linear-gradient(120deg, #2e2219, #2b1f17); }
html[data-tema="koyu"] .salt-okunur-serit { background: linear-gradient(120deg, #2e2719, #2b2417); }

/* Rota API Entegrasyonu (Fatura Takibi alt-sekmesi) -- konsolidasyon sirasinda
   BS_pdks_integrated'den tasindi (01.09.2026). NOT: bu blok yalnizca klasik/
   adacayi temasi icin tasarlandi; html[data-tema="koyu"] override'lari HENUZ
   YOK -- koyu temada bu panel acik renkte kalir, ayri bir round'da eklenmeli. */
.rota-api-baslik { align-items:flex-start; }
.rota-api-eyebrow { display:inline-block; margin-bottom:7px; color:#4384b6; font-size:10px; font-weight:800; letter-spacing:1.25px; }
.rota-api-durum { display:inline-flex; align-items:center; gap:6px; padding:9px 14px; border:1px solid #e6ae36; border-radius:999px; background:#fff9e9; color:#895d00; font-size:12px; font-weight:700; box-shadow:0 3px 10px rgba(181,125,8,.08); }
.rota-api-durum::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.rota-api-durum.hazir { background:#e8f8ef; border-color:#46a56a; color:#176c3a; }
.rota-api-rehber { display:flex; gap:12px; align-items:flex-start; margin:15px 0 19px; padding:15px 17px; border:1px solid #cce3f2; border-radius:10px; background:linear-gradient(110deg,#eef8ff,#f8fcff); color:#244761; }
.rota-api-rehber-ikon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 23px; width:23px; height:23px; border-radius:50%; background:#237bb5; color:white; font-family:Georgia,serif; font-weight:700; }
.rota-api-rehber strong { display:block; margin-top:1px; font-size:14px; }.rota-api-rehber p { margin:4px 0 0; font-size:12px; color:#567083; }
.rota-api-form { display:grid; grid-template-columns:repeat(2,minmax(285px,1fr)); gap:14px; max-width:1120px; }
.rota-api-alan-karti { position:relative; min-height:194px; padding:18px 18px 15px 58px; border:1px solid #78add0; border-radius:11px; background:linear-gradient(145deg,#dceefa 0%,#e9f5fc 54%,#d7ebf8 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 5px 16px rgba(25,66,96,.09); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.rota-api-alan-karti:hover { transform:translateY(-2px); border-color:#287fb8; box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 11px 24px rgba(25,66,96,.17); }
.rota-api-adim { position:absolute; left:16px; top:17px; display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:linear-gradient(145deg,#19547e,#287fbb); color:#fff; font-size:13px; font-weight:800; box-shadow:0 5px 12px rgba(22,87,130,.24); }
.rota-api-alan-baslik h3 { margin:0; color:#163f62; font-size:15px; }.rota-api-alan-baslik p { min-height:30px; margin:4px 0 12px; color:#6b7f90; font-size:11.5px; line-height:1.35; }
.rota-api-form label { display:flex; flex-direction:column; gap:5px; color:#284a66; font-size:11px; font-weight:750; letter-spacing:.08px; }
.rota-api-form input,.rota-api-form select { width:100%; min-height:37px; padding:8px 10px; border:1px solid #93bdd8; border-radius:7px; background:rgba(255,255,255,.94); color:#203c54; box-sizing:border-box; font-size:12px; outline:none; transition:border-color .16s ease,box-shadow .16s ease; }
.rota-api-form input:focus,.rota-api-form select:focus { border-color:#3186bf; box-shadow:0 0 0 3px rgba(48,134,191,.13); }.rota-api-form input::placeholder { color:#9aabb7; }
.rota-api-form label+label { margin-top:10px; }.rota-api-form em { color:#8193a1; font-style:normal; font-weight:500; }.rota-api-form small { color:#5d8ca8; font-size:10.5px; font-weight:600; }.rota-api-ornek { display:block; margin-top:8px; color:#738a99; font-size:10.5px; line-height:1.3; }
.rota-api-guvenlik-notu { display:flex; align-items:center; gap:10px; max-width:1120px; margin-top:14px; padding:10px 13px; border-radius:8px; background:#f5f8fa; color:#587080; font-size:11.5px; }.rota-api-guvenlik-notu span { font-size:15px; }.rota-api-guvenlik-notu p { margin:0; }.rota-api-guvenlik-notu strong { color:#35556b; }
.rota-api-islemler { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }.rota-api-islemler .buton { min-height:38px; }.rota-api-mesaj { min-height:19px; margin-top:10px!important; font-size:12px; }
.rota-api-sonraki-adimlar { margin-top:18px; padding:15px 18px; max-width:1120px; border:1px solid #d9e5ed; border-radius:10px; background:linear-gradient(105deg,#f8fbfd,#fff); }.rota-api-sonraki-adimlar h3 { margin:0 0 11px; color:#1e527b; font-size:14px; }
.rota-api-akis { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }.rota-api-akis div { display:flex; align-items:center; gap:9px; padding:10px; border-radius:7px; background:#fff; border:1px solid #e2ebf1; color:#4d687c; font-size:11.5px; }.rota-api-akis b { color:#2380ba; font-size:12px; }
.rota-belge-cekme { margin-top:18px; padding:16px 18px; border:1px solid #78add0; border-radius:11px; background:linear-gradient(110deg,#dceefa 0%,#edf7fc 62%,#d7ebf8 100%); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.rota-belge-cekme h3 { margin:0 0 5px; color:#124f7d; font-size:16px; }.rota-belge-cekme p { margin:0; color:#436984; font-size:13px; }.rota-tarih-araligi { display:flex; flex-wrap:wrap; gap:9px; margin-top:11px; }.rota-tarih-araligi label { display:flex; align-items:center; gap:6px; color:#28516f; font-size:11px; font-weight:700; }.rota-tarih-araligi input { min-height:31px; padding:4px 7px; border:1px solid #82b3d4; border-radius:6px; background:#fff; color:#20415c; }.rota-belge-uyari { margin:9px 2px 10px; color:#6b5b25; }.rota-belge-tablosu { max-height:280px; border:1px solid #bdd7e8; border-radius:9px; }.rota-belge-tablosu table { min-width:800px; }.rota-belge-tablosu th { background:#165d91; color:#fff; }.rota-belge-tablosu td { background:#f6fbfe; }.rota-belge-tablosu .bos-satir { text-align:center; color:#60788c; padding:18px; }
@media (max-width:850px) { .rota-api-form { grid-template-columns:1fr; }.rota-api-akis { grid-template-columns:1fr; }.rota-belge-cekme { align-items:stretch; flex-direction:column; } }

/* Cari Hesap (Rota) -- 01.09.2026 eklendi. Rota API Entegrasyonu ile ayni
   gorsel dil (lacivert basliklar, ayni panel-baslik/eyebrow/durum siniflari
   yeniden kullanilir), ama tablo hucreleri baştan var(--yuzey)/var(--metin)
   token'lariyla yazildi -- boylece klasik/adacayi/koyu temalarin UCUNDE de
   dogru gorunur (28.08'deki Yillik Ciro Raporu dersi: yeni siniflar koyu
   tema override'i olmadan eklenirse unutuluyor -- bu kez bastan yapildi). */
.rota-cari-arac-cubugu { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:14px 0 16px; }
.rota-cari-arac-cubugu .rota-cari-mesaj { margin:0 !important; flex:1 1 260px; min-width:200px; }
.rota-cari-tablosu { max-height:520px; border:1px solid var(--gri-cizgi); border-radius:9px; }
.rota-cari-tablosu table { min-width:820px; }
.rota-cari-tablosu th { position:sticky; top:0; background:var(--lacivert); color:#fff; }
.rota-cari-tablosu td { background:var(--yuzey); color:var(--metin); }
.rota-cari-tablosu .bos-satir { text-align:center; color:var(--metin-soluk); padding:18px; }

/* Cari Hesap (Rota) özet tablosu -- zenginleştirilmiş görünüm (01.09.2026):
   firma hücresi (renkli baş harf rozeti + ünvan + kod etiketi) ve bakiye
   sütunları (renkli B/A çipleri, sıfır/veri-yok durumları sönük) -- amaç
   çok sayıda "0,00 USD/EUR" gürültüsü arasında gerçek bakiyelerin göze
   ilk çarpması ve firma satırlarının taranabilir olması. */
.rota-cari-tablosu th { font-size:12px; letter-spacing:.02em; padding:12px 14px; }
.rota-cari-tablosu td { padding:10px 14px; vertical-align:middle; }
.rota-cari-tablosu tbody tr:nth-child(even) td { background:var(--yuzey-2); }
.rota-cari-tablosu tbody tr:hover td { background:color-mix(in srgb, var(--lacivert) 7%, var(--yuzey)); }
.rota-cari-firma-td { min-width:260px; }
.rota-cari-firma-hucre { display:flex; align-items:center; gap:11px; }
.rota-cari-avatar { flex:0 0 auto; width:36px; height:36px; border-radius:11px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:14px; box-shadow:0 2px 6px rgba(0,0,0,.18); }
.rota-cari-firma-metin { display:flex; flex-direction:column; gap:3px; min-width:0; }
.rota-cari-firma-adi { font-weight:700; color:var(--metin); font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:320px; }
.rota-cari-kod-etiket { align-self:flex-start; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10.5px; font-weight:600; color:var(--metin-soluk); background:var(--yuzey-2); border:1px solid var(--gri-cizgi); border-radius:6px; padding:1px 7px; }
.rota-cari-tablosu tbody tr:nth-child(even) .rota-cari-kod-etiket { background:var(--yuzey); }
.rota-cari-bakiye-cip { display:inline-flex; align-items:center; gap:5px; padding:5px 10px 5px 9px; border-radius:999px; font-size:12.5px; line-height:1.1; white-space:nowrap; }
.rota-cari-bakiye-cip .pb { font-size:9.5px; font-weight:800; letter-spacing:.03em; opacity:.7; }
.rota-cari-bakiye-cip .tutar { font-weight:800; font-variant-numeric:tabular-nums; }
.rota-cari-bakiye-cip .durum { font-size:9.5px; font-weight:800; opacity:.85; border:1px solid currentColor; border-radius:999px; width:14px; height:14px; display:inline-flex; align-items:center; justify-content:center; }
.rota-cari-bakiye-cip.borc { background:color-mix(in srgb, var(--yesil) 16%, var(--yuzey)); color:var(--yesil-koyu); }
.rota-cari-bakiye-cip.alacak { background:color-mix(in srgb, var(--turuncu) 18%, var(--yuzey)); color:var(--turuncu-koyu); }
.rota-cari-bakiye-cip.sifir { padding:5px 12px; color:var(--metin-soluk); background:var(--yuzey-2); opacity:.55; font-weight:600; }
/* "Bakiyeleri Getir" tekrar tıklanınca, ÖNCEKİ kayıtlı (onbellek) değerine
   göre GERÇEKTEN değişen kartlar kısa bir turuncu vurguyla işaretlenir --
   Ediz "tekrardan getir dediğimde herhangi bir değişiklik varsa düzenleme
   yapsın sadece" dedi; değişmeyen satırlar hiç etkilenmez. Animasyon TEK
   SEFER oynar, sonra normal zebra/hover görünümüne geri döner. */
@keyframes rotaCariDegistiVurgu { 0% { background:color-mix(in srgb, var(--turuncu) 26%, var(--yuzey)); } 100% { background:transparent; } }
.rota-cari-tablosu tbody tr.rota-cari-satir-degisti td { animation:rotaCariDegistiVurgu 2.4s ease-out 1; }
.rota-cari-tablosu tbody tr.rota-cari-satir-degisti .rota-cari-firma-adi::after { content:"● değişti"; margin-left:8px; font-size:10px; font-weight:800; letter-spacing:.02em; color:var(--turuncu-koyu); vertical-align:middle; }
.rota-cari-ekstre-pencere { width:min(920px,100%); }
.rota-cari-ekstre-secici { display:flex; align-items:center; gap:8px; margin:10px 0 14px; color:var(--metin-soluk); font-size:12px; font-weight:700; }
.rota-cari-ekstre-secici select { min-height:32px; padding:4px 8px; border:1px solid var(--gri-cizgi); border-radius:6px; background:var(--yuzey-2); color:var(--metin); }
.rota-cari-ekstre-ozet { margin-bottom:14px; }
.rota-cari-ekstre-tablosu { max-height:400px; border:1px solid var(--gri-cizgi); border-radius:9px; }
.rota-cari-ekstre-tablosu table { min-width:820px; }
.rota-cari-ekstre-tablosu th { position:sticky; top:0; background:var(--lacivert); color:#fff; }
.rota-cari-ekstre-tablosu td { background:var(--yuzey); color:var(--metin); }
/* Geçici teşhis paneli (01.09.2026) -- BAYKAR ...USD kartındaki para birimi
   sorununun kök nedeni netleşene kadar; netleşince kaldırılacak. */
.rota-cari-teshis { margin-top:16px; padding:12px 14px; border:1px dashed var(--gri-cizgi); border-radius:9px; background:var(--yuzey-2); }
.rota-cari-teshis summary { cursor:pointer; font-weight:700; color:var(--metin); }
.rota-cari-teshis .aciklama { margin:10px 0 6px; color:var(--metin-soluk); font-size:12px; }
.rota-cari-teshis-liste { margin:0 0 10px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
.rota-cari-teshis-json { max-height:260px; overflow:auto; margin:0; padding:10px; border:1px solid var(--gri-cizgi); border-radius:6px; background:var(--yuzey); color:var(--metin); font-size:11px; white-space:pre-wrap; word-break:break-all; }
@media (max-width:850px) { .rota-cari-arac-cubugu { align-items:stretch; flex-direction:column; } }
