/* Renkler (kullanıcı kararı 5 Kasım): açık görünüm varsayılan, yumuşak ten tonları, tek vurgu rengi, az çizgi.
   Koyu görünüm isteyene: Görünüm ve hesap (localStorage elegan-tema). Yeni renk yazarken buradaki değişkenleri kullanın. */
:root {
  --antrasit: #4a3a2e; --antrasit-koyu: #33291f; --antrasit-acik: #6b5646;   /* koyu zeminli şeritler (bildirim, alt özet, belge çubuğu) */
  --altin: #8a5f43; --altin-koyu: #74503a; --altin-acik: #e9d3c0;            /* tek vurgu rengi */
  --zemin: #f7f2ec; --kart: #fffdfb; --yazi: #33291f; --soluk: #75675a; --cizgi: #e6dbcf;
  --vurgu: #8a5f43; --vurgu-acik: #f0e2d6; --tehlike: #a85b4a; --basari: #5f7a5c; --uyari: #96683c;
  --golge: 0 1px 3px rgba(80,55,35,.06);
  --kart-cizgi: transparent; --ic-kart: #f9f4ee;
  --logo-saydamlik: .12;
  --ana-zemin: #8a5f43; --ana-yazi: #fff; --ana-cizgi: #8a5f43; --ana-golge: none;
  --ust-zemin: #f7f2ec; --ust-yazi: #33291f; --ust-soluk: #75675a; --ust-vurgu: #8a5f43; --ust-golge: none; --ust-cizgi: transparent;
  --ust-dugme: transparent; --ust-dugme-cizgi: transparent;
  --yan-zemin: #fffdfb; --yan-yazi: #5a4b3e; --yan-ikon: #75675a; --yan-grup: #75675a; --yan-cizgi: #e6dbcf; --yan-uzeri: #f7f2ec; --yan-uzeri-yazi: #33291f;
  --yan-secili: #f0e2d6; --yan-secili-yazi: #74503a; --yan-secili-ikon: #8a5f43;
  --giris-zemin: #f7f2ec; --giris-kart: #fffdfb; --giris-cizgi: #e6dbcf; --giris-yazi: #33291f; --giris-etiket: #75675a; --giris-girdi: #fffdfb; --giris-hata: #a85b4a; --giris-logo: .14;
  --perde: rgba(51,41,31,.42);
  color-scheme: light;
}
/* Koyu görünüm (kullanıcı seçer; sistemden bağımsız): eski antrasit + altın */
:root[data-tema="koyu"] {
  --antrasit: #2e261f; --antrasit-koyu: #1a1613; --antrasit-acik: #41362b;
  --altin: #cf9f74; --altin-koyu: #ad8159; --altin-acik: #eccaa8;
  --zemin: #1a1613; --kart: #25201b; --yazi: #f0e8df; --soluk: #ad9f90; --cizgi: #40362c;
  --vurgu: #e6b88e; --vurgu-acik: #37291e; --tehlike: #ea8c76; --basari: #a5c98d; --uyari: #e4b06e;
  --golge: none; --logo-saydamlik: .1;
  --kart-cizgi: #352c24; --ic-kart: #2e2720;
  --ana-zemin: #e6b88e; --ana-yazi: #241a12; --ana-cizgi: #e6b88e;
  --ana-golge: none;
  --ust-zemin: #1a1613; --ust-yazi: #f0e8df; --ust-soluk: #ad9f90; --ust-vurgu: #e6b88e;
  --ust-golge: none; --ust-cizgi: #352c24;
  --ust-dugme: transparent; --ust-dugme-cizgi: #40362c;
  --yan-zemin: #1a1613; --yan-yazi: #d6ccc1; --yan-ikon: #ad9f90; --yan-grup: #94857a; --yan-cizgi: #352c24; --yan-uzeri: rgba(255,255,255,.05); --yan-uzeri-yazi: #fff;
  --yan-secili: rgba(230,184,142,.17); --yan-secili-yazi: #f8efe6; --yan-secili-ikon: #e6b88e;
  --giris-zemin: radial-gradient(120% 90% at 50% 0%, #33291f 0%, #1a1613 70%); --giris-kart: rgba(26,22,19,.82); --giris-cizgi: rgba(230,184,142,.3);
  --giris-yazi: #f4ece3; --giris-etiket: #e6b88e; --giris-girdi: rgba(255,255,255,.06); --giris-hata: #f5ad9c; --giris-logo: .28;
  --perde: rgba(12,10,9,.62);
}
/* Tema uygulanana kadar (data-tema yokken) hiçbir renk boyanmaz: koyu seçen kişide açık renk yanıp sönmesin */
html:not([data-tema]) { color-scheme: light dark; background: none; }
html:not([data-tema]) body { background: none; visibility: hidden; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; font-size: 106.25%; }
body {
  margin: 0; background: var(--zemin); color: var(--yazi); min-height: 100vh;
  font: 1rem/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  padding-bottom: env(safe-area-inset-bottom);
}
/* Boş alanlarda büyük, çizgili logo (kartların arkasında görünür) */
body::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: url("logo-cizgi.svg") center 55% / min(92vw, 78vh) no-repeat;
  opacity: var(--logo-saydamlik);
}
#uygulama, #bildirim { position: relative; z-index: 1; }
button, input, select, textarea { font: inherit; color: inherit; }
h1 { font-size: 1.25rem; margin: 0 0 .75rem; }
h2 { font-size: 1.05rem; margin: 1.25rem 0 .5rem; }
.soluk { color: var(--soluk); font-size: .92rem; }
.sag { margin-left: auto; }

/* Üst çubuk ve gezinme */
.cevrimdisi-serit { position: sticky; top: 0; z-index: 6; background: var(--uyari); color: #fff; font-weight: 600; text-align: center;
  padding: .45rem .8rem; font-size: .9rem; }
.ust { position: sticky; top: 0; z-index: 5; background: var(--ust-zemin); color: var(--ust-yazi);
  display: flex; align-items: center; gap: .75rem; padding: .55rem 16px; padding-top: calc(.55rem + env(safe-area-inset-top));
  box-shadow: var(--ust-golge); }
.ust::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--ust-cizgi); }
.ust .marka { display: flex; align-items: center; gap: .55rem; font-weight: 700; letter-spacing: .12em; color: var(--ust-vurgu); text-decoration: none; cursor: pointer; }
.ust .marka img { height: 28px; width: auto; display: block; }
.ust .kisi { margin-left: auto; font-size: .85rem; text-align: right; line-height: 1.2; }
.ust .kisi .unvan { color: var(--ust-soluk); opacity: .9; font-size: .78rem; }
.ust button { background: var(--ust-dugme); border: 1px solid var(--ust-dugme-cizgi); color: var(--ust-vurgu);
  border-radius: 8px; padding: .3rem .65rem; cursor: pointer; }
nav.sekmeler { display: flex; background: var(--kart); border-bottom: 1px solid var(--cizgi); position: sticky; top: 0; overflow-x: auto; }
nav.sekmeler a { flex: 1 0 auto; text-align: center; padding: .7rem 1rem; text-decoration: none; color: var(--soluk);
  border-bottom: 3px solid transparent; font-weight: 600; white-space: nowrap; }
nav.sekmeler a.secili { color: var(--vurgu); border-bottom: 3px solid var(--altin); }
.icerik { max-width: 880px; margin: 0 auto; padding: 16px; }
.icerik.genis { max-width: 1500px; }   /* kesim / malzeme listesi: tüm sütunlar tek ekranda */
.malzeme-grid td { padding: .1rem .2rem; vertical-align: middle; }
.malzeme-grid select { min-height: 30px; padding: .1rem .2rem; font-size: .85rem; border: 0; background: var(--kart); color: var(--metin); max-width: 130px; }
.malzeme-grid input { background: var(--kart); color: var(--metin); }
.malzeme-grid select option { background: var(--kart); color: var(--metin); }
.malzeme-grid tr.soluk-satir input, .malzeme-grid tr.soluk-satir select { opacity: .7; }
.olcu-hucre { display: inline-flex; align-items: center; gap: .15rem; }

/* Kartlar */
.kart { background: var(--kart); border: 1px solid var(--kart-cizgi); border-radius: 14px; padding: 14px 16px;
  margin-bottom: 12px; box-shadow: var(--golge); }
.kart .kart { background: var(--ic-kart); box-shadow: none; }
.kart.tikla { cursor: pointer; transition: border-color .15s, transform .15s; }
.kart.tikla:hover { border-color: var(--altin); }
.kart.tikla:active { transform: scale(.995); }
.kart .baslik { font-weight: 650; }
.kart .alt { color: var(--soluk); font-size: .92rem; margin-top: 2px; }
.satir { display: flex; flex-wrap: wrap; gap: .4rem .75rem; align-items: center; }
.etiket { display: inline-block; font-size: .78rem; font-weight: 600; padding: 2px 9px; border-radius: 999px;
  background: var(--vurgu-acik); color: var(--vurgu); border: 1px solid transparent; white-space: nowrap; }
.etiket.uyari { color: var(--uyari); }
.etiket.tehlike { background: color-mix(in srgb, var(--tehlike) 16%, transparent); color: var(--tehlike); border-color: transparent; }
.etiket.basari { background: color-mix(in srgb, var(--basari) 16%, transparent); color: var(--basari); border-color: transparent; }
.bos { text-align: center; color: var(--soluk); padding: 2rem 1rem; }

/* Düğmeler */
.btn { border: 1px solid var(--cizgi); background: var(--kart);
  border-radius: 10px; padding: .55rem .9rem; font-weight: 600; cursor: pointer; min-height: 44px;
  transition: filter .15s, box-shadow .15s; }
.btn:hover { filter: brightness(1.04); }
.btn.ana { background: var(--ana-zemin); color: var(--ana-yazi); border-color: var(--ana-cizgi); box-shadow: var(--ana-golge); }
.btn.tehlike { color: var(--tehlike); border-color: color-mix(in srgb, var(--tehlike) 50%, var(--cizgi)); }
.btn[disabled] { opacity: .5; cursor: default; }
.btn.kucuk { min-height: 36px; padding: .3rem .7rem; font-size: .92rem; }
.eylemler { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }

/* Formlar */
label { display: block; font-weight: 600; margin: .75rem 0 .25rem; font-size: .92rem; }
input, select, textarea { width: 100%; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px;
  padding: .6rem .75rem; min-height: 44px; }
input:focus, select:focus, textarea:focus { outline: 2px solid color-mix(in srgb, var(--altin) 55%, transparent); border-color: var(--altin); }
textarea { min-height: 84px; resize: vertical; }
.hata { color: var(--tehlike); font-size: .92rem; margin-top: .6rem; min-height: 1.2em; }

/* Giriş ekranı: koyu antrasit gradyan, büyük çizgili logo */
body.giris-gorunum { background: var(--giris-zemin); --logo-saydamlik: var(--giris-logo); }
.giris { max-width: 380px; margin: 9vh auto 0; padding: 0 16px; }
.giris .kart { padding: 22px; background: var(--giris-kart); border-color: var(--giris-cizgi);
  color: var(--giris-yazi); backdrop-filter: blur(6px); }
.giris .kart input { background: var(--giris-girdi); border-color: var(--giris-cizgi); color: var(--giris-yazi); }
.giris .kart label { color: var(--giris-etiket); }
.giris .logo { width: 76px; display: block; margin: 0 auto 14px; }
.giris h1 { text-align: center; color: var(--giris-yazi); letter-spacing: .06em; }
.giris .hata { color: var(--giris-hata); }

/* Ayrıntı sayfası */
.geri { display: inline-block; margin-bottom: .5rem; color: var(--soluk); text-decoration: none; font-size: .92rem; }
.bilgi { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem .75rem; margin: .5rem 0; }
.bilgi div span { display: block; }
.bilgi .k { color: var(--soluk); font-size: .8rem; }
.zaman { border-left: 2px solid var(--cizgi); margin-left: 6px; padding-left: 12px; }
.zaman > div { margin-bottom: .6rem; }

/* Pencere (açıklama / kişi seçimi) */
.perde { position: fixed; inset: 0; background: var(--perde); display: flex; align-items: flex-end; justify-content: center; z-index: 20; }
.pencere { background: var(--kart); width: 100%; max-width: 520px; border-radius: 16px 16px 0 0; padding: 16px;
  padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
@media (min-width: 640px) { .perde { align-items: center; } .pencere { border-radius: 16px; } }
/* Pencere açıkken arka plan kaymaz; pencerenin kendi kaydırması sayfaya taşmaz */
html.pencere-acik, html.pencere-acik body { overflow: hidden; }
.perde { overscroll-behavior: contain; }
.pencere, .perde .pencere * { overscroll-behavior: contain; }

/* Sorun bildir: her ekranın SOL ÜST köşesinde küçük düğme (bildirim zilinden en uzak, kimsenin dokunmadığı yer); açık pencere / menünün de ÜSTÜNDE (z-index) */
.sorun-dugme { display: none; position: fixed; top: calc(.55rem + env(safe-area-inset-top) + 5px); left: 8px; z-index: 60; width: 30px; height: 30px; padding: 0; opacity: .75;
  border-radius: 8px; border: 1px solid var(--cizgi); background: var(--kart); color: var(--soluk); cursor: pointer;
  align-items: center; justify-content: center; }
.sorun-dugme .ikon { width: 18px; height: 18px; }
.sorun-dugme:hover, .sorun-dugme:focus-visible { opacity: 1; border-color: var(--altin); color: var(--yazi); }
body.oturum .sorun-dugme { display: flex; }
body.giris-gorunum .sorun-dugme, body.belge-gorunum .sorun-dugme { display: none !important; }
body.oturum .ust { padding-left: 46px; }
@media print { .sorun-dugme { display: none !important; } }
.sorun-pencere { z-index: 65; }

/* En üste çık (bilgisayarda, sayfa aşağı kayınca görünür) */
.yukari-dugme { position: fixed; right: 18px; bottom: 18px; z-index: 15; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--cizgi); background: var(--kart); color: var(--yazi); font-size: 1.3rem; line-height: 1; cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,.18); display: none; align-items: center; justify-content: center; opacity: .9; }
.yukari-dugme:hover { opacity: 1; border-color: var(--altin); }
.yukari-dugme.gorunur { display: flex; }   /* her genişlikte (telefonda da) */
@media (max-width: 767px) { .yukari-dugme { right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); width: 40px; height: 40px; } }
html.pencere-acik .yukari-dugme, body.belge-gorunum .yukari-dugme { display: none !important; }
@media print { .yukari-dugme { display: none !important; } }

#bildirim { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(20px + env(safe-area-inset-bottom));
  z-index: 30; display: flex; flex-direction: column; gap: 8px; align-items: center; pointer-events: none; width: calc(100% - 32px); max-width: 520px; }
#bildirim div { background: var(--antrasit); color: #fff; padding: .65rem .9rem; border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0,0,0,.3); pointer-events: auto; }
#bildirim div.hata { background: var(--tehlike); color: #fff; margin: 0; border-left-color: #fff; }

.alt-cubuk { position: fixed; left: 0; right: 0; bottom: 0; z-index: 6; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--antrasit); color: #fff;
  border-top: 2px solid var(--altin); display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem .8rem; align-items: baseline; }
.alt-cubuk-ad { color: #e9d3c0; opacity: .9; font-size: .88rem; }
.alt-cubuk-tutar { font-weight: 700; font-size: 1.05rem; color: #fff; }

/* Bağlantılar tıklandıktan sonra mora dönmesin */
a, a:visited { color: var(--vurgu); }
a.btn, a.btn:visited { color: var(--yazi); text-decoration: none; display: inline-flex; align-items: center; }
a.btn.ana, a.btn.ana:visited { color: var(--ana-yazi); }

/* Bildirim zili */
.ust .zil { position: relative; font-size: 1.05rem; padding: .25rem .55rem; margin-left: .4rem; }
.zil-rozet { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px;
  background: var(--tehlike); color: #fff; font-size: .72rem; font-weight: 700; line-height: 18px; text-align: center; }
.bildirim-serit { display: flex; align-items: center; gap: .5rem; background: var(--vurgu-acik); border-radius: 12px; padding: .5rem .6rem .5rem .9rem; margin-bottom: .7rem; }
.bildirim-serit a { flex: 1; min-width: 0; color: var(--yazi); text-decoration: none; font-weight: 600; }
.bildirim-serit a span { display: block; font-weight: 400; color: var(--soluk); font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bildirim-serit button { flex: none; width: 34px; height: 34px; border: 0; background: none; color: var(--soluk); cursor: pointer; font-size: 1.1rem; }

/* ---- Teklif / irsaliye belgesi (ekranda A4 benzeri; yazdırınca yalnız belge) ---- */
body.belge-gorunum { background: #e9e7e1; }
body.belge-gorunum::before { display: none; }
.belge-arac { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding: 10px 16px; position: sticky; top: 0; background: var(--antrasit); z-index: 5; }
.belge-arac .soluk { color: #cfd6d4; }
.belge { background: #fff; color: #1d2324; max-width: 820px; margin: 16px auto; padding: 28px 30px; box-shadow: 0 2px 12px rgba(0,0,0,.15); font-size: 12.5px; line-height: 1.4; }
.belge-ust { display: flex; align-items: flex-start; gap: 16px; border-bottom: 2px solid #dca53c; padding-bottom: 10px; }
.belge-logo { height: 52px; }
.belge-baslik { font-size: 26px; font-weight: 800; letter-spacing: .12em; color: #293133; flex: 1; align-self: center; }
.belge-bilgi { border-collapse: collapse; }
.belge-bilgi td { padding: 1px 6px 1px 0; vertical-align: top; }
.belge-bilgi td:first-child { color: #5d6765; white-space: nowrap; }
.sayfa-kabuk { width: 100%; border-collapse: collapse; border: 0; }
.sayfa-kabuk > tbody > tr > td, .sayfa-kabuk > tfoot > tr > td { padding: 0; border: 0; background: none; font-size: inherit; }
.sayfa-kabuk > tfoot, .sayfa-imza-ortu { display: none; }
@media print {
  .sayfa-kabuk > tfoot { display: table-footer-group; }
  .sayfa-imza { display: flex; justify-content: space-between; align-items: flex-start; height: 13mm; padding-top: 6mm; box-sizing: border-box; overflow: hidden; }
  .sayfa-imza > div { width: 36%; border-top: .3mm solid #293133; padding-top: .8mm; text-align: center; font: 8pt/1.3 sans-serif; color: #4a5355; }
  .sozlesme-ek .sayfa-imza { flex: none; margin-top: auto; }
  .ek-kapak-sayfa { page: ek-yatay; break-before: page; display: flex; flex-direction: column; min-height: 182mm; }
  .ek-kapak-sayfa .ie-sayfa.yatay { max-height: none; overflow: visible; width: auto; break-after: auto; }
  .ek-yaprak { break-before: page; display: flex; flex-direction: column; gap: 3mm; height: 270mm; overflow: hidden; }
  .ek-yarim { height: 124mm; overflow: hidden; }
  .ek-yarim .ie-sayfa.yatay { zoom: .62; width: 298mm !important; max-height: 198mm; break-after: auto; }
  .ek-yarim .ie-sayfa.yatay .ie-uretim { flex: none; height: 142mm; }
  .ek-yarim .ie-sayfa.yatay .ie-uretim.tam { height: 174mm; }
  .sayfa-imza-ortu { display: block; position: relative; height: 13.5mm; margin-top: -13.5mm; background: #fff; break-before: avoid; }
}
.belge-madde-sayisi { margin: 8px 0 0; font-weight: 600; color: #2c3436; }
.belge-iki { display: flex; gap: 20px; justify-content: space-between; margin: 8px 0; flex-wrap: wrap; }
.belge-hak { margin: 6px 0 8px; padding-left: 16px; font-size: 10px; line-height: 1.3; color: #3c4547; column-count: 2; column-gap: 22px; }
.belge-hak li { break-inside: avoid; }
.belge-hak li { margin-bottom: 2px; }
.belge-is { font-weight: 700; margin: 6px 0; }
.belge-tablo { width: 100%; border-collapse: collapse; margin: 6px 0 10px; }
.belge-tablo th { background: #293133; color: #fff; text-align: left; padding: 5px 6px; font-size: 11px; letter-spacing: .04em; }
.belge-tablo td { border-bottom: 1px solid #dedad0; padding: 4px 6px; vertical-align: top; }
.belge-tablo td.sayi, .belge-tablo th:nth-child(n+3) { text-align: right; white-space: nowrap; }
.belge-tablo .urun { font-weight: 700; }
.belge-tablo .aciklama { color: #4a5355; font-size: 11px; white-space: pre-wrap; }
.belge-tablo tr.alt-kalem td { background: #faf8f2; }
.belge-tablo tr.alt-kalem .urun { font-weight: 600; padding-left: 14px; }
.belge-toplam { margin-left: auto; border-collapse: collapse; min-width: 300px; }
.belge-toplam td { padding: 2px 6px; text-align: right; }
.belge-toplam td:first-child { text-align: left; color: #5d6765; }
.belge-toplam tr.genel td { font-weight: 800; border-top: 1px solid #293133; color: #1d2324; }
.belge-plan, .belge-not { margin: 8px 0; }
.belge-sozlesme { margin-top: 8px; font-size: 10px; line-height: 1.3; color: #3c4547; column-count: 2; column-gap: 22px; }
.belge-sozlesme .madde-baslik { font-weight: 700; margin-top: 6px; color: #1d2324; }
/* Müşterinin okuyacağı sözleşme ve kısa teklif: tek sütun, büyük yazı */
.belge-sozlesme.okunakli { font-size: 12px; line-height: 1.45; column-count: 1; color: #2c3436; margin-top: 10px; }
.belge-sozlesme.okunakli .madde { margin: 2px 0; }
.belge-sozlesme.okunakli .madde-baslik { font-size: 12.5px; margin-top: 8px; }
/* Sözleşme ürün tablosu: tek başlık; özellikler ürünün altında, başlık gibi durmaz */
.belge-tablo.urunlu td { font-size: 13px; }
.belge-tablo.urunlu .urun { font-size: 13.5px; }
.belge-tablo.urunlu .aciklama { font-size: 12px; }
.belge-tablo.urunlu th:first-child, .belge-tablo.urunlu td:first-child { white-space: nowrap; }
.belge-tablo.urunlu tr.ozellik-satir td:first-child { white-space: normal; }
.belge-tablo.urunlu td:first-child { font-size: 11px; }
.belge-tablo.urunlu tr.ozellik-satir td:first-child { font-size: 13px; }
.belge-tablo .ozellik-satir.alt-kalem td { background: #faf8f2; }
/* Kısa teklif: tek yaprağa sığsın; kalem yine notlardan büyük */
.belge-tablo.urunlu.teklif-kisa td { font-size: 12px; padding-top: 3px; padding-bottom: 3px; }
.belge-tablo.urunlu.teklif-kisa td:first-child { font-size: 10.5px; }
.belge-tablo.urunlu.teklif-kisa .urun { font-size: 12.5px; }
.belge-tablo.urunlu.teklif-kisa .aciklama { font-size: 10.5px; line-height: 1.3; }
.belge-sozlesme.okunakli.teklif-kisa { font-size: 11px; line-height: 1.38; margin-top: 6px; }
.belge-sozlesme.okunakli.teklif-kisa .madde-baslik { font-size: 11.5px; margin-top: 4px; }
.belge-ingilizce.teklif-kisa { margin-top: 6px; padding-top: 4px; }
.belge-ingilizce.teklif-kisa .belge-sozlesme.okunakli.teklif-kisa { font-size: 10px; line-height: 1.3; }
.belge-imza.teklif-kisa { margin-top: 8px; }
.belge-imza.teklif-kisa .imza-bosluk { min-height: 16px; }
.belge-tablo.urunlu tr:has(+ .ozellik-satir) td { border-bottom: 0; padding-bottom: 1px; }
.belge-tablo .ozellik-satir td { padding: 0 6px 7px; }
.ozellik-izgara { display: flex; flex-wrap: wrap; gap: 3px 22px; }
.ozellik-izgara .oz-ad { display: block; font-size: 9.5px; letter-spacing: .05em; color: #667170; }
.ozellik-izgara .oz-deger { display: block; font-size: 12.5px; color: #2c3436; }
.belge-tablo .ozellik-satir .aciklama { margin-top: 3px; }
/* 0202: bireysel müşteride İngilizce başlık ve İngilizce bölüm (Türkçe metin esastır) */
.belge-baslik-en { font-size: 13px; font-weight: 600; letter-spacing: .2em; color: #6b6158; margin-top: 2px; }
.belge-ingilizce { margin-top: 12px; padding-top: 8px; border-top: 1px solid #d8cfc4; }
.belge-ingilizce .belge-alt-baslik { font-weight: 700; font-size: 11px; color: #1d2324; margin: 4px 0; }
.belge-ingilizce .belge-not-en { font-size: 9px; color: #6b6158; margin-top: 4px; }
.belge-imza { display: flex; justify-content: space-between; gap: 16px; margin-top: 14px; page-break-inside: avoid; }
.belge-imza > div { flex: 1; text-align: center; display: flex; flex-direction: column; }
.belge-imza .imza-bosluk { flex: 1; min-height: 26px; }
.belge-serbest > div { margin: 1px 0; }
.belge-imza .imza-baslik { font-weight: 800; margin-bottom: 4px; }
.belge-imza .imza-cizgi { margin-top: 0; min-height: 1.45em; box-sizing: border-box; border-top: 1px solid #293133; padding-top: 2px; font-size: 10px; color: #5d6765; }
.belge-alt { margin-top: 14px; text-align: right; font-size: 10px; color: #667170; }
@media print {
  @page { size: A4; margin: 12mm; }
  body.belge-gorunum { background: #fff; }
  .belge-arac, #bildirim { display: none !important; }
  .belge { box-shadow: none; margin: 0; max-width: none; padding: 0; }
  /* kaydırılabilir kap ve kenar boşluğu yazdırırken sağ kenarı kesiyordu */
  html, body.belge-gorunum, body.belge-gorunum #uygulama { margin: 0 !important; padding: 0 !important; overflow: visible !important; }
}
body.belge-gorunum #uygulama { overflow-x: auto; }
.belge { min-width: 680px; }
.belge-ust .belge-logo { height: 52px; width: auto; flex: 0 0 auto; }
@media print { .belge { min-width: 0; } }

/* Belgeyi tek A4'e sığdırma: ölçüm yazdırma genişliğinde yapılır, yazdırırken küçültülür */
.belge.baski-olcum { width: 703px; min-width: 0; max-width: none; padding: 0; margin: 0; box-shadow: none; }
@media print {
  .belge { zoom: var(--baski-olcek, 1); width: calc(185mm / var(--baski-olcek, 1)); }
  .belge-imza { margin-top: 14px; }
}
/* Üst menü: tek satır; diğer ekranlar Menü penceresinde gruplu */
nav.sekmeler { scrollbar-width: none; }
/* 11) her sekmeye eşit alan; uzun ad kendi alanına sığdırılır (… ile kısalır), satırı bozmaz */
nav.sekmeler a { flex: 1 1 0; min-width: 0; padding: .7rem .55rem; overflow: hidden; text-overflow: ellipsis; }
nav.sekmeler a:last-child { max-width: none; }
@media (min-width: 640px) { nav.sekmeler a { padding: .7rem .8rem; } }

/* Pencere açılış / kapanış animasyonu (kısa, akışı bozmadan) */
@keyframes perde-ac { from { opacity: 0; } to { opacity: 1; } }
@keyframes perde-kapa { from { opacity: 1; } to { opacity: 0; } }
@keyframes pencere-ac { from { transform: translateY(28px); opacity: .4; } to { transform: none; opacity: 1; } }
@keyframes pencere-kapa { from { opacity: 1; } to { transform: translateY(28px); opacity: 0; } }
.perde { animation: perde-ac .18s ease-out; }
.perde .pencere { animation: pencere-ac .22s cubic-bezier(.2, .8, .2, 1); transition: transform .15s ease-out; }
.perde.kapaniyor { animation: perde-kapa .16s ease-in forwards; pointer-events: none; }
.perde.kapaniyor .pencere { animation: pencere-kapa .16s ease-in forwards; }
.pencere .tutamac { width: 42px; height: 4px; border-radius: 2px; background: var(--cizgi); margin: -6px auto 10px; }
@media (min-width: 640px) { .pencere .tutamac { display: none; } }
.menu-perde .pencere a.btn { transition: transform .12s, border-color .12s; }
.menu-perde .pencere a.btn:active { transform: scale(.97); }
.kart.tikla, .btn { transition: filter .15s, box-shadow .15s, transform .1s; }
.btn:active { transform: scale(.98); }
@media (prefers-reduced-motion: reduce) {
  .perde, .perde .pencere, .perde.kapaniyor, .perde.kapaniyor .pencere { animation: none; }
}
/* Uzun uyarı etiketleri ekrandan taşmasın (satıra sığmazsa alt satıra iner) */
div.etiket { display: block; width: fit-content; max-width: 100%; white-space: normal; border-radius: 10px; }
body { overflow-x: hidden; }

/* Takvim */
.takvim { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.takvim-baslik { text-align: center; font-size: .75rem; color: var(--soluk); font-weight: 600; padding: 2px 0; }
.takvim-gun { position: relative; min-height: 52px; border: 1px solid var(--cizgi); border-radius: 8px; background: var(--kart); color: var(--yazi);
  display: flex; flex-direction: column; align-items: flex-start; padding: 4px 5px; cursor: pointer; font: inherit; }
.takvim-gun.disarda { opacity: .65; }
.takvim-gun.bugun { border-color: var(--altin); box-shadow: inset 0 0 0 1px var(--altin); }
.takvim-gun.secili { background: color-mix(in srgb, var(--altin) 18%, var(--kart)); }
.takvim-no { font-size: .85rem; font-weight: 700; }
.takvim-noktalar { display: flex; gap: 2px; margin-top: auto; flex-wrap: wrap; }
.takvim-noktalar i, .takvim-nokta { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.takvim-sayi { position: absolute; top: 3px; right: 5px; font-size: .68rem; color: var(--soluk); }
.takvim-olay { display: block; text-decoration: none; color: var(--yazi); border-left: 4px solid #999; padding: .35rem .6rem; margin: .2rem 0; border-radius: 4px; }
.takvim-olay:hover { background: color-mix(in srgb, var(--altin) 8%, transparent); }
a.takvim-olay, a.takvim-olay:visited { color: var(--yazi); }
.sekme-secici { display: inline-flex; flex-wrap: wrap; max-width: 100%; border: 1px solid var(--cizgi); border-radius: 10px; overflow: hidden; }
.sekme-secici a { padding: .35rem .8rem; text-decoration: none; color: var(--soluk); font-weight: 600; font-size: .9rem; }
.sekme-secici a.secili { background: color-mix(in srgb, var(--altin) 22%, var(--kart)); color: var(--yazi); box-shadow: inset 0 -3px 0 var(--altin); }
/* Seçili süzgeç / seçim: sarı "bas" düğmesinden ayrı, çerçeveli görünür */
.btn.secili { background: color-mix(in srgb, var(--altin) 16%, var(--kart)); border: 2px solid var(--altin); color: var(--yazi); font-weight: 700; }

/* Form yan paneli: benzer kayıtlar */
.pencere.yanli { max-width: 520px; }
.yanli-govde { display: grid; grid-template-columns: 1fr; gap: 12px; }
.yan-panel { display: none; border: 1px solid var(--altin); border-radius: 10px; padding: 8px 10px; background: var(--zemin); align-self: start; }
.yanli-govde.dolu .yan-panel { display: block; }
@media (min-width: 800px) {
  .pencere.yanli:has(.yanli-govde.dolu) { max-width: 820px; }
  .yanli-govde.dolu { grid-template-columns: 1fr 260px; }
  .yanli-govde.dolu .yan-panel { position: sticky; top: 0; max-height: 70vh; overflow: auto; }
}

/* Görev kartında "şimdi ne yapmalıyım" yönlendirmesi */
.rehber { margin-top: .4rem; padding: .35rem .6rem; border-radius: 8px; background: color-mix(in srgb, var(--altin) 14%, transparent); font-size: .85rem; }

/* ---- İş emri belgesi: Excel şablonu düzeni; kapak / kontrol dikey, formlar yatay A4 ---- */
.ie-belge { padding: 8px; }
.ie-sayfa { background: #fff; color: #1d2324; margin: 16px auto; padding: 14mm 12mm; box-shadow: 0 2px 12px rgba(0,0,0,.15); font-size: 12px; line-height: 1.35; box-sizing: border-box; }
.ie-sayfa.dikey { width: 210mm; min-height: 297mm; }
.ie-sayfa.yatay { width: 297mm; min-height: 210mm; display: flex; flex-direction: column; }
.ie-baslik { display: flex; align-items: center; gap: 14px; border-bottom: 2px solid #dca53c; padding-bottom: 6px; margin-bottom: 8px; font-size: 22px; font-weight: 800; letter-spacing: .1em; color: #293133; }
.ie-baslik > div { flex: 1; text-align: center; }
.ie-logo { height: 40px; width: auto; }
.ie-bilgi { border-collapse: collapse; margin-bottom: 8px; width: auto; }
.ie-bilgi th { text-align: left; font-weight: 700; padding: 1px 10px 1px 0; white-space: nowrap; color: #293133; }
.ie-bilgi th::after { content: ' :'; }
.ie-bilgi td { padding: 1px 0; min-width: 90mm; border-bottom: 1px dotted #b9b4a8; }
.ie-tablo { width: 100%; border-collapse: collapse; }
.ie-tablo th, .ie-tablo td { border: 1px solid #7d8583; padding: 4px 5px; vertical-align: top; }
.ie-tablo th { background: #e8e5dc; font-size: 10.5px; text-align: left; }
.ie-tablo td.sayi { text-align: right; white-space: nowrap; }
.ie-tablo .orta { text-align: center; }
/* İş programı belgesi: zebra satırlar (yazdırırken de basılır) */
.ie-tablo.zebra tbody tr:nth-child(even) td { background: #f1efe9; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ie-tablo.zebra tbody tr:nth-child(odd) td { background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ie-tablo .kalin { font-weight: 700; }
.ie-tablo .sag-yaz { text-align: right; }
.ie-tablo .aciklama { white-space: pre-wrap; font-size: 10.5px; }
.ie-tablo.kapak td { font-size: 11px; }
.ie-sayfa.yatay .ie-tablo td { height: 9mm; }
.ie-uretim { flex: 1; display: grid; grid-template-columns: 30% 1fr; grid-template-rows: auto 1fr; gap: 0; border: 1px solid #7d8583; min-height: 120mm; }
.ie-uretim-sol { grid-row: 1 / span 2; display: flex; flex-direction: column; border-right: 1px solid #7d8583; }
.ie-urun { padding: 6px 8px; font-size: 12px; border-bottom: 1px solid #7d8583; }
.ie-urun-ad { font-size: 15px; font-weight: 800; margin-bottom: 3px; }
.ie-ek { padding: 6px 8px; flex: 1; }
.ie-uretim-sol.sik { font-size: 10.5px; line-height: 1.25; }
.ie-uretim-sol.cok-sik { font-size: 9px; line-height: 1.2; }
.ie-atolye { padding: 6px 8px; border-top: 1px solid #7d8583; background: #f3e9dc; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ie-cizim { grid-row: 1 / span 2; grid-column: 2; display: flex; align-items: flex-end; justify-content: flex-end; padding: 6px; color: #c9c4b8; font-size: 10px; letter-spacing: .1em; }
/* Üretim formu (12.11.2026): logo + müşteri bilgileri sol sütunun üstünde; çizim alanı başlıktan sayfa sonuna (Google şablonuyla aynı) */
.ie-sol-bas { padding: 6px 8px 5px; border-bottom: 1px solid #7d8583; }
.ie-logo-yatay { display: block; width: 92%; max-width: 74mm; height: auto; margin: 2px auto 6px; }
.ie-bilgi.sol { width: 100%; margin: 0; font-size: 9.5px; line-height: 1.3; }
.ie-bilgi.sol th { padding-right: 4px; }
.ie-bilgi.sol td { min-width: 0; width: 100%; }
/* Yazdırma: sayfa yönü yazdırma sırasında eklenir (isemri.js yazdir: dikey ya da yatay, ayrı düğmeler); sayfa kâğıda sığar */
@media print {
  .ie-belge { padding: 0; }
  .ie-sayfa { box-shadow: none; margin: 0; padding: 0; width: auto !important; min-height: 0 !important; max-width: 100%; break-after: page; }
  .ie-sayfa:last-child { break-after: auto; }
  .ie-sayfa.yatay { height: auto; max-height: 192mm; overflow: hidden; padding-right: .4mm; }
  /* flex: none şart: flex: 1 yazdırmada yüksekliği yok sayıp formu sol sütun kadar kısaltıyor, çizim kesiliyordu */
  .ie-sayfa.yatay .ie-uretim { flex: none; min-height: 0; height: 142mm; }
  .ie-sayfa.yatay .ie-uretim.tam { height: 174mm; }
  .ie-uretim-sol { min-height: 0; overflow: hidden; }
  .ie-tablo tr { break-inside: avoid; }
  /* iş programı: uzun liste kesilmesin, sonraki sayfaya aksın; başlık her sayfada */
  .ie-sayfa.yatay.plan-sayfa { max-height: none; overflow: visible; }
  .plan-yazdir thead { display: table-header-group; }
}
.plan-yazdir td { height: 9mm; vertical-align: middle; font-size: 11px; }
.plan-yazdir td:first-child { font-weight: 700; }
.plan-personel .plan-grup td { background: #e8e8e8; font-weight: 700; font-size: 11px; letter-spacing: .03em; }
.plan-personel .plan-unvan { font-size: 9px; color: #555; }
.plan-personel td { vertical-align: top; }
.plan-bosta { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 11px; padding: 4px 2px; }

/* Görev kartı: en çok iki büyük düğme + "⋯ Diğer" */
.gorev-eylemler { display: flex; gap: .45rem; margin-top: .6rem; }
.gorev-eylemler > .btn { flex: 1 1 0; min-height: 46px; justify-content: center; text-align: center; font-size: 1rem; }
.gorev-eylemler > .btn:last-child[title="Diğer işlemler"] { flex: 0 0 auto; }
.bolum-basligi { font-size: 1rem; margin: 1rem 0 .4rem; color: var(--soluk); }
/* Telefonda üst bant: ad ve altında küçük ünvan (kullanıcı isteği 26 Ekim); uzun ad / ünvan kısaltılır */
@media (max-width: 480px) {
  .ust .kisi .unvan { font-size: .64rem; }
  .ust .kisi > div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 46vw; }
}
/* Personelin "İşi bitirdim" düğmesi büyük (kullanıcı isteği 26 Ekim) */
.gorev-eylemler > .btn.buyuk { min-height: 62px; font-size: 1.2rem; font-weight: 700; }
.gorev-eylemler { flex-wrap: wrap; }
.gorev-eylemler > .btn:first-child { flex: 1 1 100%; }
.gorev-eylemler > .btn:nth-child(2):last-child { flex: 1 1 0; }
.gorev-eylemler > .btn { white-space: nowrap; }

/* İşin dosyaları: görseller ızgara */
.is-gorseller { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .5rem; margin: .3rem 0 .6rem; }
.is-gorsel { display: flex; flex-direction: column; gap: .2rem; color: inherit; text-decoration: none; font-size: .78rem; word-break: break-all; }
.is-gorsel img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; border: 1px solid var(--cizgi); background: var(--zemin); }

/* Günlük rapor: büyük dokunma düğmeleri */
.rapor-adim { font-weight: 700; margin: .9rem 0 .35rem; }
.btn.rapor-is { width: 100%; text-align: left; justify-content: flex-start; margin-bottom: .35rem; min-height: 46px; padding-inline: .9rem; }
.btn.rapor-is > span { flex: 1 1 auto; min-width: 0; text-align: left; }
.rapor-saatler { display: grid; grid-template-columns: repeat(5, 1fr); gap: .35rem; }
.rapor-saatler .btn { min-height: 48px; font-size: 1.1rem; justify-content: center; }
.rapor-sayac { font-size: 1.1rem; margin: .4rem 0; }
.rapor-sayac b { font-size: 2rem; }
.rapor-cubuk { height: 10px; border-radius: 6px; background: var(--cizgi); overflow: hidden; display: flex; }
.rapor-cubuk > div { height: 100%; background: var(--altin); border-radius: 6px; }
/* Beklenen saatin üstü (ek mesai) koyu sarı */
.rapor-cubuk > div.fazla { background: var(--uyari); border-radius: 0 6px 6px 0; }
.rapor-fazla { color: var(--uyari); font-weight: 700; font-size: .9rem; }
/* Dar telefonda 5 sekme sığsın */
@media (max-width: 420px) {
  nav.sekmeler a { padding: .7rem .3rem; font-size: .86rem; }
  nav.sekmeler a:last-child { flex: 0 0 auto; max-width: 30vw; }
}

/* Kesim listesi tablosu ve belgesi */
.kesim-tablo { border-collapse: collapse; width: 100%; font-size: .85rem; }
.kesim-tablo th, .kesim-tablo td { border-bottom: 1px solid var(--cizgi); padding: .25rem .3rem; text-align: left; white-space: nowrap; }
.kesim-tablo td.sayi { text-align: right; }
.kesim-belge { display: grid; grid-template-columns: 1fr 34%; gap: 10px; }
/* Ekip izin takvimi */
.izin-takvim { border-collapse: collapse; font-size: .8rem; width: 100%; }
.izin-takvim th, .izin-takvim td { border: 1px solid var(--cizgi); padding: .2rem .35rem; text-align: center; min-width: 26px; }
.izin-takvim tbody th { text-align: left; white-space: nowrap; font-weight: 600; width: 1%; }
.izin-takvim td.izin-var { background: color-mix(in srgb, var(--basari) 35%, transparent); }
.izin-takvim td.izin-rapor { background: color-mix(in srgb, var(--tehlike) 30%, transparent); }
.izin-takvim td.izin-saat { background: color-mix(in srgb, var(--basari) 15%, transparent); }
.izin-takvim td.izin-talep { background: color-mix(in srgb, var(--altin) 35%, transparent); }
.izin-takvim td.izin-tatil { background: color-mix(in srgb, var(--soluk) 18%, transparent); }
/* Ay sonu hakediş belgesi: kişi başına 1 A4 */
.bordro-sayfa { font-size: 10.5px; }
.bordro-sayfa .ie-baslik { font-size: 16px; }
.bordro-gunler th, .bordro-gunler td { padding: 1px 4px !important; height: auto !important; font-size: 9.5px; }
.bordro-gunler tr.bordro-tatil td { background: #f1efe9; }
.bordro-ozet { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 11px; }
.bordro-ozet td { padding: 2px 0; border-bottom: 1px dotted #c9c4b8; }
.bordro-beyan { font-size: 10.5px; margin: 8px 0; font-style: italic; }
.bordro-imza { display: flex; justify-content: space-between; margin-top: 10px; font-size: 11px; }
.izgara-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .5rem; }
.izgara-2 > .kart { margin: 0; }
/* Yazdırılabilir avans / izin talep formları (formlar.js) */
.form-sayfa { font-size: 12px; }
.form-baslik { font-size: 18px; }
.form-baslik .form-firma { font-size: 10.5px; font-weight: 600; letter-spacing: .02em; margin-top: 2px; }
.form-no { text-align: right; font-size: 10.5px; margin: -4px 0 6px; color: #555; }
.form-bolum { margin-top: 9px; }
.form-bolum-baslik { font-size: 11px; font-weight: 800; letter-spacing: .06em; color: #293133; border-left: 4px solid #dca53c; padding-left: 6px; margin-bottom: 3px; }
.form-tablo th { width: 19%; white-space: nowrap; }
.form-tablo td { height: 8mm; vertical-align: middle; }
.form-bos { color: #6f6f6f; letter-spacing: .05em; }
.form-secenekler { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.form-not { font-size: 10.5px; margin-top: 4px; font-style: italic; }
.form-beyan { font-size: 11px; margin: 12px 0 6px; line-height: 1.5; }
/* İzin hakkı dökümü (0308): üç kutu + kademe tablosu + kullanılan izinler; tek A4 */
.izin-hakki .izin-kutular { display: flex; gap: 10px; margin: 8px 0 4px; }
.izin-hakki .izin-kutular > div { flex: 1; border: 1px solid #d9c7b8; border-radius: 8px; padding: 6px 10px; background: #f7efe8; text-align: center; }
.izin-hakki .izin-kutular b { display: block; font-size: 22px; line-height: 1.2; }
.izin-hakki .izin-kutular span { font-size: 11px; color: #6b5a4e; }
.izin-hakki .izin-kutular .kalan { background: #e9d6c5; border-color: #c9ab93; }
.izin-hakki p { font-size: 11px; margin: 4px 0; line-height: 1.45; }
.izin-hakki .izin-sonuc { font-size: 12.5px; font-weight: 600; background: #fbf7f3; border: 1px solid #e6d8cc; border-radius: 6px; padding: 5px 10px; }
.izin-hakki .form-tablo td.s, .izin-hakki .form-tablo th.s { text-align: right; }
.izin-hakki .form-tablo tr.top td { font-weight: 700; background: #f7efe8; }
.izin-hakki .form-tablo td, .izin-hakki .form-tablo th { padding: 2px 6px; font-size: 10.5px; }
.form-imzalar { display: grid; gap: 10px; margin-top: 8px; }
.form-imza { border: 1px solid #7d8583; padding: 6px 8px; font-size: 10.5px; display: flex; flex-direction: column; gap: 4px; }
.form-imza-ust { font-weight: 800; font-size: 10px; letter-spacing: .05em; text-align: center; border-bottom: 1px solid #c9c4b8; padding-bottom: 3px; }
.form-imza-alan { height: 18mm; border-top: 1px dotted #c9c4b8; padding-top: 2px; color: #666; font-size: 9.5px; }
/* Katalog: alan sekmeleri (gövde, yüzey, menteşe …) yan yana */
.katalog-alanlar { display: flex; flex-wrap: wrap; gap: .3rem; margin: .4rem 0 .6rem; position: sticky; top: 44px; background: var(--zemin); padding: .3rem 0; z-index: 2; }
/* Kesim listesi: mini Excel */
.kesim-grid-kutu { overflow: auto; max-height: 65vh; border: 1px solid var(--cizgi); border-radius: 8px; }
.kesim-grid { border-collapse: collapse; font-size: .85rem; }
.kesim-grid th { position: sticky; top: 0; background: var(--kart); z-index: 1; padding: .3rem; border-bottom: 2px solid var(--cizgi); white-space: nowrap; font-size: .78rem; }
.kesim-grid td { border: 1px solid var(--cizgi); padding: 0; }
.kesim-grid td.soluk { padding: 0 .3rem; text-align: right; font-size: .75rem; }
/* Kenar bandı (0341): listede olmayan bant kırmızı; seçim listesi hücrenin altında açılır */
.kesim-grid td.bant-hatali input { box-shadow: inset 0 0 0 2px var(--tehlike); color: var(--tehlike); }
.bant-oneri { position: fixed; z-index: 70; width: 290px; max-height: 260px; overflow: auto; background: var(--kart); border: 1px solid var(--cizgi);
  border-radius: 8px; box-shadow: 0 8px 22px rgba(0, 0, 0, .18); padding: .2rem 0; }
.bant-oneri[hidden] { display: none; }
.bant-baslik { font-size: var(--fs-xs); color: var(--soluk); padding: .35rem .6rem .1rem; text-transform: uppercase; letter-spacing: .03em; }
.bant-secenek { display: flex; align-items: baseline; gap: .5rem; width: 100%; text-align: left; padding: .35rem .6rem; border: 0; background: none;
  cursor: pointer; color: inherit; font: inherit; font-size: var(--fs-sm); min-height: 32px; }
.bant-secenek .soluk { font-size: var(--fs-xs); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bant-secenek:hover, .bant-secenek.secili { background: color-mix(in srgb, var(--vurgu) 16%, transparent); }
.kesim-grid td.hesap { padding: 0 .4rem; background: color-mix(in srgb, var(--soluk) 10%, transparent); white-space: nowrap; }
.kesim-grid input { border: 0; border-radius: 0; min-height: 30px; padding: .15rem .3rem; background: transparent; font-size: .85rem; }
.kesim-grid input:focus { outline: 2px solid var(--altin); outline-offset: -2px; background: var(--kart); }
.bordro-gunler { table-layout: fixed; width: 100%; }
.bordro-gunler td { overflow-wrap: anywhere; vertical-align: top; }
.bordro-gunler td:nth-child(2) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bordro-gunler td:nth-child(n+3):nth-child(-n+4), .bordro-gunler th:nth-child(n+3):nth-child(-n+4) { text-align: right; }

/* ---- İkonlar (ince çizgili, tek renk; rengi yazıdan alır) ---- */
.ikon { width: 1.15em; height: 1.15em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round; vertical-align: -0.2em; margin-right: .4em; }
.ikon.yalniz { margin-right: 0; }
.ikon.satir-ici { margin: 0 .15em; vertical-align: -0.18em; }
.emoji-gri { filter: grayscale(1); opacity: .75; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0; }
.btn .ikon { opacity: .9; }
.btn.ana .ikon { opacity: 1; }
.rehber .ikon, .etiket .ikon { width: 1em; height: 1em; }
.zil .ikon { width: 1.25em; height: 1.25em; margin: 0; vertical-align: -0.25em; }
.sekme-secici a .ikon { width: 1em; height: 1em; margin-right: .3em; }
.geri .ikon { width: 1em; height: 1em; margin-right: .2em; }
/* Üst sekmeler: ikon üstte, ad altta (telefonda mobil bankacılık uygulamaları gibi) */
nav.sekmeler a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; font-size: .74rem;
  padding: .45rem .35rem .4rem; line-height: 1.15; white-space: normal; min-width: 64px; }
nav.sekmeler a .ikon { width: 1.45rem; height: 1.45rem; margin: 0; stroke-width: 1.5; }
nav.sekmeler a.secili .ikon { color: var(--vurgu); }
nav.sekmeler a:last-child { max-width: none; }
nav.sekmeler .sekme-kisa { display: none; }
@media (min-width: 640px) {
  nav.sekmeler a { flex-direction: row; font-size: .95rem; gap: .45rem; padding: .7rem 1rem; white-space: nowrap; }
  nav.sekmeler a .ikon { width: 1.2rem; height: 1.2rem; }
}
/* Menü: gruplar ve büyük kutucuklar */
.menu-perde .pencere { max-height: 94vh; overflow-y: auto; max-width: 720px; }
.menu-grup { margin-bottom: .5rem; }
.menu-grup-ad { color: var(--soluk); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: .4rem 0 .35rem; }
.menu-kutular { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: .35rem; }
.menu-kutu { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; text-align: center;
  padding: .5rem .3rem; min-height: 64px; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart);
  color: var(--yazi); text-decoration: none; font-weight: 600; font-size: .78rem; line-height: 1.15;
  transition: transform .12s, border-color .12s, box-shadow .12s; }
.menu-kutu .ikon { width: 1.4rem; height: 1.4rem; margin: 0; color: var(--vurgu); stroke-width: 1.4; }
.menu-kutu:hover { border-color: var(--altin); box-shadow: 0 2px 10px rgba(185,132,39,.12); }
.menu-kutu:active { transform: scale(.97); }
.btn[style*="text-align:left"], .btn[style*="text-align: left"] { justify-content: flex-start; text-align: left; }
.btn[style*="display:block"] .ikon { vertical-align: -0.2em; }
/* Kesim tablosu: doldurma tutamacı (Excel gibi sürükleyerek kopyalama) */
.kesim-grid td { position: relative; }
.kesim-tutamak { position: absolute; right: -4px; bottom: -4px; width: 9px; height: 9px; background: var(--altin); border: 1px solid #fff;
  cursor: crosshair; z-index: 2; touch-action: none; }
.kesim-grid td.kopya-aralik { outline: 2px dashed var(--altin); outline-offset: -2px; }
/* İş programı ızgarası */
.plan-izgara td { min-width: 26px; text-align: center; font-weight: 700; }
.plan-izgara td.plan-var { background: color-mix(in srgb, var(--basari) 22%, transparent); }
.plan-izgara td.plan-yok { background: color-mix(in srgb, var(--tehlike) 12%, transparent); }
.plan-izgara th.bugun { color: var(--vurgu); }
/* İş emri üretim formu: sağ çerçevede görseller (sayfa başına en çok 2), sayfa numarası */
.ie-cizim:has(img) { flex-direction: column; align-items: center; justify-content: space-evenly; gap: 4mm; overflow: hidden; }
.ie-cizim img { max-height: 58mm; object-fit: contain; display: block; }
.ie-cizim img:only-child { max-height: 120mm; }
.ie-sayfa-no { margin-left: auto; font-size: 11px; font-weight: 700; color: #4b5553; white-space: nowrap; }
.ie-sayfa-alt { margin-top: 4px; text-align: right; font-size: 10px; color: #4b5553; }
/* Form: küçük resimler; önizleme penceresi (A4 yatay benzeri) */
.gorsel-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .5rem; margin: .5rem 0; }
.gorsel-kucuk { border: 1px solid var(--cizgi); border-radius: 8px; padding: 4px; text-align: center; background: var(--kart); }
.gorsel-kucuk img { width: 100%; height: 90px; object-fit: contain; display: block; }
.onizleme-sayfa { border: 1px solid var(--cizgi); border-radius: 10px; padding: .5rem; margin: .6rem 0; background: #fff; color: #232b2d; }
.onizleme-govde { display: grid; grid-template-columns: 30% 1fr; border: 1px solid #7d8583; aspect-ratio: 297 / 150; margin-top: .3rem; }
.onizleme-sol { border-right: 1px solid #7d8583; padding: 6px; font-size: .68rem; line-height: 1.3; overflow: hidden; }
.onizleme-cerceve { display: flex; flex-direction: column; align-items: center; justify-content: space-evenly; padding: 6px; gap: 6px; overflow: auto; }
.onizleme-gorsel { width: 100%; text-align: center; }
.onizleme-gorsel img { max-height: 32vh; object-fit: contain; border: 1px dashed #c9c4b8; }
.onizleme-arac { justify-content: center; gap: .25rem; margin-top: .2rem; }
.onizleme-arac .btn { min-height: 28px; padding: .1rem .45rem; }
.onizleme-sayfa .btn { background: #f2f0ea; color: #232b2d; border-color: #cfcabe; }
.onizleme-sayfa .btn.tehlike { color: #b3392f; }
@media (max-width: 640px) {
  .onizleme-govde { aspect-ratio: auto; grid-template-columns: 1fr; }
  .onizleme-sol { border-right: 0; border-bottom: 1px solid #7d8583; max-height: 90px; }
  .onizleme-cerceve { overflow: visible; }
}
.rapor-saatler { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: .35rem; }
.rapor-saatler .btn { min-width: 0; padding: .4rem 0; }
.rapor-saatler input { grid-column: span 2; width: 100% !important; }
/* Yazı boyutu (Menü → Görünüm): rem ile ölçülen her şey oranlı büyür */
:root[data-yazi="buyuk"] { font-size: 118.75%; }
:root[data-yazi="cokbuyuk"] { font-size: 131.25%; }
@media print { :root, :root[data-yazi] { font-size: 100%; } }
:root[data-yazi="cokbuyuk"] nav.sekmeler a { font-size: .7rem; }
/* Telefonda sekmeler ekranın altında (başparmakla ulaşılır, mobil bankacılık gibi) */
@media (max-width: 639px) {
  nav.sekmeler { position: fixed; top: auto; bottom: 0; left: 0; right: 0; z-index: 6; border-bottom: 0; border-top: 1px solid var(--cizgi);
    padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -2px 12px rgba(0,0,0,.10); overflow-x: hidden; }
  nav.sekmeler a { flex: 1 1 0; min-width: 0; border-bottom: 0; border-top: 3px solid transparent; padding: .45rem .15rem .4rem;
    overflow-wrap: anywhere; hyphens: auto; }
  nav.sekmeler a.secili { border-bottom: 0; border-top: 3px solid var(--altin); border-image: none; }
  /* son sekme (Menü ya da menüden açılan ekranın adı) da öbürleri kadar geniş; uzun ad yerine kısa ad */
  nav.sekmeler a:last-child { flex: 1 1 0; max-width: none; }
  nav.sekmeler .sekme-uzun { display: none; }
  nav.sekmeler .sekme-kisa { display: inline; }
  .icerik { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  /* Sayfanın alt özet çubuğu (ör. müşteri toplam alacağı) alt sekmelerin üstünde durur, menüyü örtmez */
  .alt-cubuk { bottom: var(--sekme-yuk, 64px); padding-bottom: 10px; z-index: 5; }
  body:has(.alt-cubuk) .icerik { padding-bottom: calc(160px + env(safe-area-inset-bottom)); }
  #bildirim { bottom: calc(86px + env(safe-area-inset-bottom)); }
}
@media print { nav.sekmeler { display: none !important; } }
/* Ana sayfa özeti: küçük kutular */
.ozet-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .5rem; margin-bottom: .7rem; }
.ozet-kutu { display: flex; gap: .55rem; align-items: center; padding: .6rem .7rem; border: 1px solid var(--kart-cizgi); border-radius: 12px;
  background: var(--kart); color: var(--yazi); text-decoration: none; box-shadow: var(--golge); min-height: 56px; }
.ozet-kutu .ikon { width: 1.5rem; height: 1.5rem; color: var(--vurgu); flex: 0 0 auto; margin: 0; }
.ozet-kutu b { display: block; font-size: 1.05rem; line-height: 1.15; }
.ozet-kutu span { font-size: .78rem; color: var(--soluk); line-height: 1.2; }
.ozet-kutu.uyari { border-color: var(--tehlike); }
.ozet-kutu.uyari .ikon { color: var(--tehlike); }
/* Askıdaki iş, bekleyen işler bilgisi */
.gorev-karti.askida { opacity: .8; border-style: dashed; }
.bekleyen-bilgi { text-align: center; padding: .8rem; border: 1px dashed var(--cizgi); border-radius: 12px; color: var(--soluk); margin: .5rem 0; }
/* Üretim formu çizim alanı: görseller figure içinde (önizlemede altında düzenleme düğmeleri); iki dikey görsel yan yana */
.ie-cizim:has(figure) { flex-direction: column; align-items: center; justify-content: space-evenly; gap: 4mm; overflow: hidden; color: inherit; }
.ie-cizim figure { margin: 0; width: 100%; display: flex; flex-direction: column; align-items: center; }
.ie-cizim figure img { max-height: 58mm; max-width: 100%; object-fit: contain; display: block; }
.ie-cizim figure:only-child img { max-height: 120mm; }
.ie-cizim.yan-yana { flex-direction: row; align-items: center; justify-content: space-evenly; }
.ie-cizim.yan-yana figure { width: 49%; }
.ie-cizim.yan-yana figure img { max-height: 120mm; }
.ie-gorsel-arac { display: flex; gap: .2rem; align-items: center; justify-content: center; margin-top: 2mm; font-size: 11px; color: #4b5553; }
.ie-gorsel-arac .btn { min-height: 26px; padding: .05rem .4rem; background: #f2f0ea; color: #232b2d; border-color: #cfcabe; }
/* Görsel serbest yerleşim: çizim alanının yüzdesiyle konum ve genişlik (önizleme ve baskı aynı) */
.ie-cizim.serbest { display: block; position: relative; overflow: hidden; padding: 0; }
.ie-cizim figure.serbest { position: absolute; margin: 0; display: block; width: auto; }
.ie-cizim figure.serbest img { width: 100%; max-height: none; height: auto; display: block; }
/* Tek görsel: çizim alanına sığdır (yüksek fotoğrafın altı kesilmesin) */
.ie-cizim figure.serbest.tek { max-height: 96%; }
.ie-cizim figure.serbest.tek img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; margin: 0 auto; }
.onizleme-baski figure.serbest img { cursor: move; outline: 1px dashed #c9c4b8; }
.onizleme-baski figure.serbest.tasiniyor img { outline: 2px solid var(--altin); }
.ie-tutamac { position: absolute; right: -8px; top: -8px; width: 18px; height: 18px; background: var(--altin); border: 2px solid #fff; border-radius: 4px; cursor: nesw-resize; touch-action: none; z-index: 3; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.onizleme-baski .ie-cizim.serbest, .onizleme-baski figure.serbest { user-select: none; -webkit-user-select: none; }
.ie-cizim figure.serbest .ie-gorsel-arac { position: absolute; top: 4px; left: 4px; right: 14px; margin: 0; background: rgba(255,255,255,.9); border-radius: 6px; padding: 2px; flex-wrap: wrap; justify-content: flex-start; z-index: 2; }
.ie-onizleme-ekle { margin-top: 4px; }
.ie-onizleme-ekle .btn { background: #f2f0ea; color: #232b2d; border-color: #cfcabe; }
.onizleme-baski { overflow-x: hidden; }
.onizleme-baski .ie-sayfa { margin: 10px auto; }
/* Kapak tablosu: kalemler hücrelerde ortalı (yatay ve dikey) */
.ie-tablo.kapak td { text-align: center; vertical-align: middle; }
.ie-tablo.kapak th { text-align: center; vertical-align: middle; }
/* Müşteri sayfasında projeler: olumsuz / iptal kırmızı, tamamlanan yeşil */
.kart.proje-olumsuz { border-left: 4px solid var(--tehlike); background: color-mix(in srgb, var(--tehlike) 6%, var(--kart)); }
.kart.proje-tamam { border-left: 4px solid var(--basari); background: color-mix(in srgb, var(--basari) 7%, var(--kart)); }
.etiket.tehlike { background: color-mix(in srgb, var(--tehlike) 14%, transparent); color: var(--tehlike); }
/* Kesim listesi: çoklu hücre seçimi, eksik satır; belge (dikey A4, modül renkleri, zebra) */
.kesim-grid td.secili-aralik { background: color-mix(in srgb, var(--altin) 22%, transparent); }
.kesim-grid td.secili-aralik input { background: transparent; }
.kesim-grid tr.eksik-satir td { background: color-mix(in srgb, var(--tehlike) 10%, transparent); }
.kesim-sayfa { font-size: 10.5px; }
.kesim-tablo-belge { font-size: 9.5px; }
.kesim-tablo-belge th { font-size: 9px; padding: 3px 3px; text-align: center; }
.kesim-tablo-belge td { padding: 2px 3px; vertical-align: middle; }
.kesim-tablo-belge.zebra tbody tr:nth-child(even) td { background: #f4f2ec; }
.kesim-tablo-belge tr.modul-ayrac td { border-top: 2px solid #7d8583; }
.kesim-tablo-belge td.modul-hucre { vertical-align: middle; font-size: 10px; }
@media print { .kesim-tablo-belge td, .kesim-tablo-belge tr { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }

/* Grafikler (hata analizi): yatay çubuklar ve aylık sütunlar */
.grafik-satir { display: grid; grid-template-columns: minmax(90px, 38%) 1fr auto; gap: .5rem; align-items: center; padding: .22rem 0; border-top: 1px solid var(--cizgi); font-size: .86rem; }
.grafik-ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grafik-cubuk { display: block; height: 12px; background: color-mix(in srgb, var(--cizgi) 60%, transparent); border-radius: 6px; overflow: hidden; }
.grafik-cubuk > span { display: block; height: 100%; border-radius: 6px; min-width: 3px; transition: width .3s; }
.grafik-sayi { min-width: 2rem; text-align: right; }
.grafik-sutunlar { display: flex; align-items: flex-end; gap: 6px; height: 130px; padding-top: .4rem; overflow-x: auto; }
.grafik-sutun { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; flex: 1 0 34px; height: 100%; font-size: .72rem; }
.grafik-sutun > span { display: block; width: 100%; background: var(--altin); border-radius: 4px 4px 0 0; }
.grafik-sutun > b { font-size: .75rem; margin-bottom: 2px; }
.grafik-sutun > small { color: var(--soluk); margin-top: 3px; white-space: nowrap; }
/* Kesim listesi satır taşıma tutamacı */
.kesim-grid td.tasima { cursor: grab; user-select: none; text-align: center; color: var(--soluk); font-size: .75rem; padding: 0 .25rem; white-space: nowrap; }
.kesim-grid tr.tasiniyor { opacity: .45; }
.kesim-grid tr.hedef-ustu td { border-top: 2px solid var(--altin); }
/* Müşteri takip / web talep küçük yardımcılar */
.takip-kodu { font-family: ui-monospace, Consolas, monospace; letter-spacing: .06em; font-weight: 700; }

.grafik-satir.tikla { cursor: pointer; }
.grafik-satir.tikla:hover { background: color-mix(in srgb, var(--altin) 10%, transparent); }

/* Q turu: tebliğ edilen yeni iş, önceki aşamalar (proje sayfası), teklif önizleme */
details.onceki-asamalar { margin-top: 1rem; border: 1px dashed var(--cizgi); border-radius: 12px; padding: .2rem .8rem; }
details.onceki-asamalar > summary { cursor: pointer; font-weight: 600; padding: .5rem 0; color: var(--soluk); }
details.onceki-asamalar[open] > summary { color: var(--metin); }
details.onceki-asamalar .onceki-icerik { padding-bottom: .6rem; }
/* 0161 proje sayfası: üstte tek "Şimdi yapılacak" kartı, gerisi kapalı bölümler */
.simdi-kart > .baslik { font-size: 1.05rem; }
.simdi-kart .rehber { margin: .4rem 0 .2rem; }
.simdi-kart .tasinan-baglam { font-weight: 700; margin-left: .25em; }
details.katlanir { margin-top: .6rem; background: var(--kart); border: 1px solid var(--kart-cizgi); border-radius: 14px; padding: .2rem 1rem; box-shadow: var(--golge); }
details.katlanir > summary { cursor: pointer; font-weight: 600; padding: .55rem 0; color: var(--yazi); }
details.katlanir > summary .soluk { font-weight: 400; margin-left: .3rem; }
details.katlanir[open] > summary { border-bottom: 1px solid var(--cizgi); margin-bottom: .5rem; }
details.katlanir > .katlanir-icerik { padding-bottom: .6rem; }
details.katlanir > .katlanir-icerik > .kart:first-child { margin-top: 0; }
details.katlanir > .katlanir-icerik > .kart { background: none; border: 0; box-shadow: none; padding: 0; }
details.katlanir > .katlanir-icerik > .kart + .kart { border-top: 1px solid var(--cizgi); padding-top: .7rem; }
.teklif-onizleme .belge { margin: 0 auto; box-shadow: none; border: 1px solid var(--cizgi); max-width: 100%; color: #1d2324; }
.malzeme-grid input.ayrinti-zorunlu { border-color: var(--uyari); }
.teblig-bilgi { font-size: .8rem; color: var(--soluk); }

/* Teklif belgesi: iskontolu kalemde normal tutar çizili, altında iskontolu tutar */
.belge-tablo .normal-tutar { text-decoration: line-through; color: #8a9391; font-size: 11px; }
.belge-tablo .indirimli-tutar { font-weight: 700; }
.belge-tablo .iskonto-etiket { color: #7a5c14; font-size: 10px; }
/* Çok sayfalı belge: tablo başlığı her sayfada, satır ve toplam bölünmez */
@media print {
  .belge-tablo thead { display: table-header-group; }
  .belge-toplam { break-before: avoid; }
  .belge-tablo tr, .belge-tablo tbody.urun-grup, .belge-toplam, .belge-imza, .belge-plan, .belge-sozlesme .madde { break-inside: avoid; }
  .belge-sozlesme .madde-baslik { break-after: avoid; }
}
/* Çift tıklama koruması: işlem sürerken düğme */
[data-isleniyor] { cursor: progress; opacity: .75; }

/* KVKK onay ekranı (0100): metin kutusu kaydırılır; geniş giriş çerçevesi */
.giris.kvkk-giris { max-width: 760px; }
.kvkk-metin { max-height: 55vh; overflow-y: auto; border: 1px solid var(--cizgi); border-radius: 10px; padding: .8rem 1rem; background: var(--kart, transparent); text-align: left; line-height: 1.5; font-size: .95em; }
.kvkk-metin h3 { font-size: 1em; margin: .9rem 0 .35rem; }
.kvkk-metin p { margin: .3rem 0; }
.kvkk-metin .kvkk-madde { padding-left: .9rem; text-indent: -.7rem; }

/* Çek / kredi ekranı tabloları (0114): ekranda okunur (ie-tablo baskı içindir), açık / koyu temada */
.fin-tablo { width: 100%; border-collapse: collapse; font-size: .9rem; }
.fin-tablo th, .fin-tablo td { border-bottom: 1px solid var(--cizgi); padding: .35rem .45rem; text-align: left; vertical-align: middle; }
.fin-tablo th { color: var(--soluk); font-weight: 600; font-size: .8rem; background: var(--kart); }
.fin-tablo tr.gecikmis td, .kart.gecikmis { background: color-mix(in srgb, var(--tehlike) 12%, var(--kart)); }
/* 0185: üretim formunda teknik ofisin eklediği görsel (yalnız ekranda işaret) */
.ie-gorsel-kaynak { position: absolute; left: 0; top: -1.15rem; font-size: .62rem; color: #8a7a64; background: rgba(255,255,255,.85); padding: 0 .3rem; border-radius: 4px; }
@media print { .ie-gorsel-kaynak { display: none !important; } }

/* ---- Bilgisayar düzeni (kullanıcı kararı 30 Ekim): sol menü, geniş içerik, kart listeleri sütunlu ----
   Telefon ve tablet (1024 pikselden dar) değişmez: üst / alt sekmeler kalır. */
.yan-menu { display: none; }
@media (min-width: 1024px) {
  :root { --yan-gen: 236px; }
  :root[data-yan="dar"] { --yan-gen: 62px; }
  #uygulama:has(> .yan-menu) { display: grid; grid-template-columns: var(--yan-gen) minmax(0, 1fr); grid-template-rows: auto 1fr; min-height: 100vh; }
  #uygulama:has(> .yan-menu) > .ust { grid-column: 2; grid-row: 1; }
  #uygulama:has(> .yan-menu) > nav.sekmeler { display: none; }
  #uygulama:has(> .yan-menu) > main { grid-column: 2; grid-row: 2; min-width: 0; width: 100%; }   /* ızgarada otomatik kenar boşluğu öğeyi daraltmasın */
  body.oturum #uygulama:has(> .yan-menu) > .ust { padding-left: 24px; }
  #uygulama:has(> .yan-menu) > .ust .marka { display: none; }
  body.oturum:has(.yan-menu)::before { display: none; }   /* arka plandaki büyük logo bilgisayarda yok */
  .yan-menu { display: flex; flex-direction: column; grid-column: 1; grid-row: 1 / span 2; position: sticky; top: 0; height: 100vh;
    background: var(--yan-zemin); color: var(--yan-yazi); border-right: 1px solid var(--yan-cizgi); z-index: 5; }
  .yan-marka { display: flex; align-items: center; gap: .55rem; padding: 12px 12px 12px 46px; min-height: 54px; font-weight: 700; letter-spacing: .12em;
    color: var(--ust-vurgu); text-decoration: none; border-bottom: 1px solid var(--yan-cizgi); }
  a.yan-marka, a.yan-marka:visited { color: var(--vurgu); }
  .yan-marka img { height: 26px; width: auto; display: block; }
  .yan-liste { flex: 1; overflow-y: auto; padding: 8px 8px 12px; scrollbar-width: thin; scrollbar-color: var(--cizgi) transparent; }
  .yan-grup { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--yan-grup); padding: 14px 10px 4px; }
  .yan-oge { display: flex; align-items: center; gap: .6rem; width: 100%; padding: 6px 10px; border-radius: 8px; border: 0; background: none; cursor: pointer;
    color: var(--yan-yazi); text-decoration: none; font-size: .95rem; line-height: 1.25; text-align: left; }
  a.yan-oge, a.yan-oge:visited { color: var(--yan-yazi); }
  .yan-oge .ikon { width: 1.1rem; height: 1.1rem; margin: 0; color: var(--yan-ikon); flex: 0 0 auto; }
  .yan-oge .yan-ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .yan-oge:hover, a.yan-oge:hover { background: var(--yan-uzeri); color: var(--yan-uzeri-yazi); }
  .yan-oge.secili, a.yan-oge.secili { background: var(--yan-secili); color: var(--yan-secili-yazi); font-weight: 600; }
  .yan-oge.secili .ikon { color: var(--yan-secili-ikon); }
  .yan-oge:focus-visible { outline: 2px solid var(--altin); outline-offset: -2px; }
  .yan-alt { border-top: 1px solid var(--yan-cizgi); padding: 6px 8px; }
  /* Dar menü: yalnız simgeler (adı üstüne gelince görünür) */
  :root[data-yan="dar"] .yan-ad, :root[data-yan="dar"] .yan-grup { display: none; }
  :root[data-yan="dar"] .yan-grup + .yan-oge { margin-top: 10px; }
  :root[data-yan="dar"] .yan-oge { justify-content: center; padding: 8px 0; }
  :root[data-yan="dar"] .yan-marka { padding-left: 14px; justify-content: center; }
  :root[data-yan="dar"] .yan-marka img { display: none; }
  /* İçerik: ayrıntı sayfaları okunur genişlikte, listeler ekranın tamamında */
  .icerik { max-width: 1160px; padding: 18px 28px; }
  .icerik:has(.kart-izgara, .fin-tablo, .kesim-grid, .bolunmus) { max-width: 1840px; }
  .alt-cubuk { left: var(--yan-gen); }
  #bildirim { left: calc(50% + var(--yan-gen) / 2); }
  /* Kart listeleri: yan yana sütunlar; kart olmayan (başlık, sayfa çubuğu) satırın tamamını kaplar */
  .kart-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr)); gap: 10px; align-items: start; }
  .kart-izgara > .kart { margin: 0; }
  .kart-izgara > :not(.kart) { grid-column: 1 / -1; }
}
@media print { .yan-menu { display: none !important; } #uygulama { display: block !important; } }

/* ---- Sıkı görünüm (bilgisayarda varsayılan; Menü → Görünüm'den "Rahat"a dönülür). Yazı boyutu aynı; düğmeler, kutular, aralıklar küçük ---- */
:root[data-yogunluk="siki"] .btn { min-height: 34px; padding: .3rem .75rem; border-radius: 8px; }
:root[data-yogunluk="siki"] .btn.kucuk { min-height: 28px; padding: .15rem .55rem; font-size: .88rem; }
:root[data-yogunluk="siki"] .btn[style*="min-height:48px"], :root[data-yogunluk="siki"] .btn[style*="min-height: 48px"] { min-height: 38px !important; }
:root[data-yogunluk="siki"] input, :root[data-yogunluk="siki"] select { min-height: 36px; padding: .38rem .6rem; border-radius: 8px; }
:root[data-yogunluk="siki"] textarea { min-height: 70px; padding: .45rem .6rem; border-radius: 8px; }
:root[data-yogunluk="siki"] label { margin: .55rem 0 .2rem; }
:root[data-yogunluk="siki"] .kart { padding: 10px 12px; margin-bottom: 8px; border-radius: 10px; }
:root[data-yogunluk="siki"] h1 { margin-bottom: .55rem; }
:root[data-yogunluk="siki"] .eylemler { margin-top: .45rem; gap: .4rem; }
/* Görev / talep kartı düğmeleri: tam genişlik değil, içeriği kadar; ana iş solda ilk sırada */
:root[data-yogunluk="siki"] .gorev-eylemler { gap: .35rem; margin-top: .5rem; }
:root[data-yogunluk="siki"] .gorev-eylemler > .btn,
:root[data-yogunluk="siki"] .gorev-eylemler > .btn:first-child,
:root[data-yogunluk="siki"] .gorev-eylemler > .btn:nth-child(2):last-child { flex: 0 1 auto; min-height: 34px; font-size: .95rem; padding-inline: .9rem; }
:root[data-yogunluk="siki"] .gorev-eylemler > .btn.buyuk { min-height: 40px; font-size: 1.02rem; padding-inline: 1.2rem; }
:root[data-yogunluk="siki"] .ozet-kutu { min-height: 48px; padding: .45rem .6rem; }
:root[data-yogunluk="siki"] .btn.rapor-is { min-height: 38px; }
:root[data-yogunluk="siki"] .rapor-saatler .btn { min-height: 40px; }
:root[data-yogunluk="siki"] details.katlanir > summary { padding: .42rem 0; }
:root[data-yogunluk="siki"] .bolum-basligi { margin: .8rem 0 .35rem; }
:root[data-yogunluk="siki"] .pencere { padding: 14px 16px; }

/* ---- Veri tablosu + sağda seçilen kaydın özeti (2. aşama; ilk ekran Projeler). Telefonda kartlar kalır ---- */
.bolunmus { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.tablo-kutu { overflow-x: auto; border: 1px solid var(--kart-cizgi); border-radius: 12px; background: var(--kart); box-shadow: var(--golge); }
.veri-tablo { width: 100%; border-collapse: collapse; font-size: .92rem; }
.veri-tablo th { position: sticky; top: 0; background: var(--kart); text-align: left; color: var(--soluk); font-size: .78rem; font-weight: 700;
  letter-spacing: .03em; padding: .5rem .6rem; border-bottom: 1px solid var(--cizgi); white-space: nowrap; z-index: 1; }
.veri-tablo td { padding: .42rem .6rem; border-bottom: 1px solid color-mix(in srgb, var(--cizgi) 70%, transparent); white-space: nowrap; vertical-align: middle; }
.veri-tablo tbody tr:last-child td { border-bottom: 0; }
.veri-tablo.sabit tbody tr { cursor: pointer; }
.veri-tablo tbody tr:hover td { background: color-mix(in srgb, var(--altin) 6%, transparent); }
.veri-tablo tbody tr.secili td { background: color-mix(in srgb, var(--altin) 15%, transparent); }
.veri-tablo tbody tr.secili td:first-child { box-shadow: inset 3px 0 0 var(--altin); }
.veri-tablo tbody tr:focus-visible { outline: 2px solid var(--altin); outline-offset: -2px; }
.veri-tablo .no { font-weight: 700; font-variant-numeric: tabular-nums; }
.veri-tablo .sayi { text-align: right; font-variant-numeric: tabular-nums; }
.veri-tablo .uzun { max-width: 16rem; overflow: hidden; text-overflow: ellipsis; }
.veri-tablo .etiket { font-size: .76rem; }
.veri-tablo .tehlike-yazi { color: var(--tehlike); font-weight: 600; }
.veri-tablo .uyari-yazi { color: var(--uyari); font-weight: 600; }
.oran { display: inline-flex; align-items: center; gap: .4rem; }
.liste-panel { position: sticky; top: 70px; max-height: calc(100vh - 86px); overflow-y: auto; background: var(--kart); border: 1px solid var(--kart-cizgi); box-shadow: var(--golge);
  border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: .7rem; }
:is(.liste-panel, .alt-pencere) .panel-baslik { font-weight: 700; font-size: 1.05rem; line-height: 1.3; }
:is(.liste-panel, .alt-pencere) .panel-bilgi { display: grid; grid-template-columns: 7.5rem 1fr; gap: .3rem .6rem; margin: 0; font-size: .9rem; }
:is(.liste-panel, .alt-pencere) .panel-bilgi dt { color: var(--soluk); }
:is(.liste-panel, .alt-pencere) .panel-bilgi dd { margin: 0; }
:is(.liste-panel, .alt-pencere) .panel-grup { color: var(--soluk); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .3rem; }
:is(.liste-panel, .alt-pencere) .panel-liste { margin: 0; padding-left: 1.1rem; font-size: .9rem; }
:is(.liste-panel, .alt-pencere) .eylemler { margin-top: 0; }
@media (max-width: 1679px) { .bolunmus { grid-template-columns: minmax(0, 1fr) 300px; } }
/* Dar bilgisayar ekranında (1500 pikselden dar) yan panel yok: tablo tam genişlik, satır projeyi açar */
@media (max-width: 1499px) { .bolunmus { grid-template-columns: minmax(0, 1fr); } .liste-panel { display: none; }
  .veri-tablo tbody tr.secili td { background: none; } .veri-tablo tbody tr.secili td:first-child { box-shadow: none; } }
.oran b { display: inline-block; width: 46px; height: 6px; border-radius: 3px; background: var(--cizgi); overflow: hidden; }
.oran b i { display: block; height: 100%; background: var(--altin); }
.veri-tablo td.uzun { max-width: 13rem; }
.veri-tablo td .etiket { display: inline-block; max-width: 15rem; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
/* Sütun genişlikleri sabit: tablo kutuya sığar, uzun yazı … ile kısalır (tamamı üstüne gelince / sağ panelde) */
.veri-tablo.sabit { table-layout: fixed; }
.veri-tablo.sabit td, .veri-tablo.sabit th { overflow: hidden; text-overflow: ellipsis; }
.veri-tablo.sabit td.uzun { max-width: none; }
.veri-tablo.sabit td .etiket { max-width: 100%; }
.veri-tablo.sabit .oran b { width: 34px; }

/* ---- Adım renkleri (kullanıcı isteği 30 Ekim): her iş aşaması kendi yumuşak (nude) tonunda; açık ve koyu temada okunur ---- */
.etiket.adim { --adim: #a8a29a; background: color-mix(in srgb, var(--adim) 24%, transparent); border-color: color-mix(in srgb, var(--adim) 55%, transparent);
  color: color-mix(in srgb, var(--adim) 45%, var(--yazi)); }
.etiket.adim-olcu { --adim: #a39a8e; }      /* talep, ölçü: taş */
.etiket.adim-tasarim { --adim: #b49aae; }   /* tasarım: gül kurusu */
.etiket.adim-satis { --adim: #c99a8f; }     /* teklif, müşteri onayı: pudra pembe */
.etiket.adim-odeme { --adim: #c4906f; }     /* ön ödeme, tahsilat: kil */
.etiket.adim-isemri { --adim: #c2a77e; }    /* iş emri, teknik ofis: kum */
.etiket.adim-tedarik { --adim: #a48f7c; }   /* satın alma, tedarik: vizon */
.etiket.adim-uretim { --adim: #93a183; }    /* fabrika üretimi: adaçayı */
.etiket.adim-saha { --adim: #8c9fac; }      /* montaj, sevkiyat, saha: tozlu mavi */
.etiket.adim-tamam { --adim: #8ea596; }     /* tamamlandı: soluk yeşil */
.etiket.adim-olumsuz { --adim: #b47a70; }   /* olumsuz / iptal: kiremit */
.etiket.adim .adim-ek { margin-left: .35rem; padding: 0 .35rem; border-radius: 999px; font-size: .9em; background: color-mix(in srgb, var(--adim) 40%, transparent); }
/* Sağ paneldeki ürün listesi */
.panel-urunler { display: flex; flex-direction: column; gap: .45rem; }
.panel-urun { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .45rem; padding-bottom: .4rem; border-bottom: 1px dashed var(--cizgi); font-size: .88rem; }
.panel-urun:last-child { border-bottom: 0; padding-bottom: 0; }
.panel-urun-ad { flex: 1 1 100%; font-weight: 600; }

.veri-tablo .basari-yazi { color: var(--basari); font-weight: 600; }
:is(.liste-panel, .alt-pencere) .panel-kart > .kart { margin: 0; border: 0; padding: 0; box-shadow: none; background: none; }
/* Adım renkleri temaya göre: açık temada koyulaştırılmış, koyu temada açılmış ton (renkler birbirinden ayrılsın) */
:root { --adim-yazi-ton: #2b2522; --adim-yazi-oran: 62%; --adim-zemin-oran: 24%; }
:root[data-tema="koyu"] { --adim-yazi-ton: #ffffff; --adim-yazi-oran: 80%; --adim-zemin-oran: 34%; }
.etiket.adim { color: color-mix(in srgb, var(--adim) var(--adim-yazi-oran), var(--adim-yazi-ton));
  background: color-mix(in srgb, var(--adim) var(--adim-zemin-oran), transparent); border-color: color-mix(in srgb, var(--adim) 60%, transparent); }
/* Hızlı arama (Ctrl + K) */
.yan-ara { display: none; }
@media (min-width: 1024px) {
  .yan-ara { display: flex; align-items: center; gap: .55rem; margin: 10px 8px 2px; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--yan-cizgi);
    background: none; color: var(--yan-ikon); cursor: pointer; font-size: .88rem; text-align: left; }
  .yan-ara:hover { color: var(--yan-uzeri-yazi); border-color: var(--altin); }
  .yan-ara .ikon { width: 1rem; height: 1rem; margin: 0; }
  .yan-ara span { flex: 1; }
  .yan-ara kbd { font: inherit; font-size: .72rem; border: 1px solid var(--yan-cizgi); border-radius: 4px; padding: 0 .3rem; }
  :root[data-yan="dar"] .yan-ara { justify-content: center; padding: 8px 0; }
}
.hizli-perde { align-items: flex-start !important; padding-top: 12vh; }
.hizli-pencere { max-width: 640px; border-radius: 14px !important; padding: 12px; }
.hizli-pencere > input { font-size: 1.05rem; }
.hizli-sonuc { max-height: 55vh; overflow-y: auto; margin-top: 8px; }
.hizli-grup { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--soluk); padding: 8px 8px 3px; }
.hizli-oge { display: flex; align-items: center; gap: .55rem; padding: 7px 8px; border-radius: 8px; color: var(--yazi); text-decoration: none; }
a.hizli-oge, a.hizli-oge:visited { color: var(--yazi); }
.hizli-oge .ikon { margin: 0; color: var(--soluk); }
.hizli-oge .hizli-ad { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.hizli-oge .soluk { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hizli-oge.secili, .hizli-oge:hover { background: color-mix(in srgb, var(--altin) 16%, transparent); }
.hizli-ipucu { font-size: .78rem; margin-top: 8px; text-align: right; }

/* ---- Telefon düzeni (30 Ekim; 1024 pikselden dar ekran). Bilgisayar düzeni değişmez ---- */
.ust-ara { display: none; }
@media (max-width: 1023px) {
  body.oturum::before { display: none; }   /* arka plandaki büyük logo yok (yazıyla karışıyordu) */
  .ust { gap: .45rem; padding-top: calc(.35rem + env(safe-area-inset-top)); padding-bottom: .35rem; min-height: 50px; }
  .ust .kisi { display: none; }            /* ad ve ünvan Menü'nün başında */
  .ust .marka { margin-right: auto; }
  .ust .marka img { height: 24px; }
  .ust .marka-ad { font-size: .95rem; }
  .ust .ust-ara { display: inline-flex; align-items: center; justify-content: center; padding: .25rem .55rem; }
  .ust .ust-ara .ikon { width: 1.15rem; height: 1.15rem; margin: 0; }
  /* Süzgeçler tek satırlık hap; uzun metin "…" ile kısalır */
  .btn.suzgec { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-radius: 999px; min-height: 38px; font-size: .88rem; }
  /* Sekme seçiciler tek satır, yana kayar */
  .sekme-secici { display: flex; flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
  .sekme-secici::-webkit-scrollbar { display: none; }
  .sekme-secici a { white-space: nowrap; flex: 0 0 auto; }
  /* Birim sayfaları (Üretim vb.): sekme / adım / kişi süzgeçleri tek satır küçük hap, yana kayar (ekranın yarısını kaplıyordu) */
  .cip-serit { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; margin-left: -1rem; margin-right: -1rem; padding: 0 1rem; }
  .cip-serit::-webkit-scrollbar { display: none; }
  .cip-serit > .btn { flex: 0 0 auto; white-space: nowrap; min-height: 34px; padding: .3rem .75rem; font-size: .85rem; border-radius: 999px; }
  .kisi-ozeti { padding: .35rem 0 !important; background: none; border: 0; box-shadow: none; margin-bottom: .4rem; }
  .kisi-ozeti > .soluk { display: none; }
  /* Bütün ekranlarda seçimli süzgeç / sekme düğme sıraları da tek satır, yana kayar (alt alta dizilip ekranı doldurmasın) */
  .satir:has(> .btn.kucuk.secili) { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
  .satir:has(> .btn.kucuk.secili)::-webkit-scrollbar { display: none; }
  .satir:has(> .btn.kucuk.secili) > .btn { flex: 0 0 auto; white-space: nowrap; }
  h1 { font-size: 1.15rem; }
}
/* İki satırlık kayıt listesi (telefonda listeler) */
.kayit-liste { background: var(--kart); border: 1px solid var(--kart-cizgi); border-radius: 14px; overflow: hidden; margin-bottom: .6rem; box-shadow: var(--golge); }
.kayit-liste > :not(.kayit) { margin: .5rem .7rem; }
.kayit { display: flex; gap: .6rem; align-items: center; padding: .55rem .8rem; min-height: 58px; cursor: pointer;
  border-bottom: 1px solid color-mix(in srgb, var(--cizgi) 75%, transparent); -webkit-tap-highlight-color: transparent; }
.kayit:last-child, .kayit:has(+ :not(.kayit)) { border-bottom: 0; }
.kayit:active { background: color-mix(in srgb, var(--altin) 10%, var(--kart)); }
.kayit:focus-visible { outline: 2px solid var(--altin); outline-offset: -2px; }
.kayit-ana { flex: 1; min-width: 0; }
.kayit-ust { font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; }
.kayit-alt { color: var(--soluk); font-size: .85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; margin-top: .1rem; }
.kayit-sag { flex: none; display: grid; justify-items: end; gap: .25rem; max-width: 42%; font-size: .78rem; color: var(--soluk); text-align: right; }
.kayit-sag .etiket { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: .74rem; }
.kayit-sag > span { white-space: nowrap; }
.kayit-nokta { width: 8px; height: 8px; border-radius: 50%; background: var(--altin); flex: none; }
/* Alttan açılan pencere: kaydın kartı / seçenekler */
.alt-pencere { max-height: 88vh; overflow-y: auto; display: flex; flex-direction: column; gap: .6rem; }
.alt-pencere .panel-kart > .kart, .alt-pencere > .kart { margin: 0; border: 0; padding: 0; box-shadow: none; background: none; }
.alt-pencere-baslik { font-weight: 700; padding-bottom: .2rem; }
.alt-secenek { display: block; width: 100%; text-align: left; background: none; border: 0; border-top: 1px solid var(--cizgi); color: var(--yazi);
  padding: .85rem .2rem; font-size: 1rem; cursor: pointer; }
.alt-secenek:first-of-type { border-top: 0; }
.alt-secenek.soluk { text-align: center; color: var(--soluk); }
/* Proje sayfası (telefon): üst kart + adım çubuğu + sekmeler + altta sabit ana düğme */
.proje-adimlar { margin-top: .7rem; }
.proje-adim-cizgi { display: flex; gap: 3px; }
.proje-adim-cizgi span { flex: 1; height: 5px; border-radius: 3px; background: var(--cizgi); }
.proje-adim-cizgi span.gecti { background: var(--altin); }
.proje-adim-cizgi span.simdi { background: color-mix(in srgb, var(--altin) 50%, var(--cizgi)); }
.proje-adim-adlar { display: flex; margin-top: .3rem; font-size: .68rem; color: var(--soluk); }
.proje-adim-adlar span { flex: 1; text-align: center; }
.proje-adim-adlar span.simdi { color: var(--yazi); font-weight: 700; }
.proje-sekmeler { margin: 0 0 .6rem; width: 100%; }
.proje-bolum > h2 { font-size: .95rem; margin: 1rem 0 .4rem; }
/* Görevlerim (telefon): özet kutuları iki sütun, sıkı */
@media (max-width: 1023px) {
  .ozet-kutular { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
  .ozet-kutu { padding: .45rem .55rem; min-height: 0; }
  .ozet-kutu .ikon { width: 1.25rem; height: 1.25rem; }
  .ozet-kutu b { font-size: .98rem; }
  .bolum-basligi { font-size: .95rem; }
}
/* Telefonda sağ altta "+" (yeni kayıt) */
.arti-dugme { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(var(--sekme-yuk, 0px) + 16px); z-index: 5;
  width: 54px; height: 54px; border-radius: 50%; border: 0; background: var(--ana-zemin); color: var(--ana-yazi); font-size: 2rem; line-height: 1; font-weight: 400;
  box-shadow: 0 3px 10px rgba(80,55,35,.22); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.arti-dugme:active { transform: scale(.95); }
body:has(.arti-dugme) .yukari-dugme { display: none !important; }
@media (min-width: 1024px) { .arti-dugme { display: none; } }
/* Menü (telefon): kişi kartı, arama, sık kullanılanlar, katlanır gruplar */
.menu-kisi { display: flex; gap: .7rem; align-items: center; padding: .6rem .7rem; border: 1px solid var(--cizgi); border-radius: 12px; margin-bottom: .6rem; }
.menu-kisi-harf { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; flex: none; font-weight: 700;
  background: color-mix(in srgb, var(--altin) 22%, var(--kart)); color: var(--yazi); }
.menu-kisi .soluk { font-size: .82rem; }
.menu-perde input[type="search"] { margin-bottom: .4rem; }
.menu-liste { display: flex; flex-direction: column; }
.menu-satir { display: flex; align-items: center; gap: .7rem; padding: .62rem .2rem; border-top: 1px solid color-mix(in srgb, var(--cizgi) 70%, transparent);
  text-decoration: none; color: var(--yazi); }
a.menu-satir, a.menu-satir:visited { color: var(--yazi); }
.menu-liste > .menu-satir:first-child { border-top: 0; }
.menu-satir .ikon { width: 1.2rem; height: 1.2rem; margin: 0; color: var(--vurgu); flex: none; }
.menu-katla { border-top: 1px solid var(--cizgi); }
.menu-katla > summary { list-style: none; cursor: pointer; padding: .65rem .2rem; display: flex; flex-direction: column; gap: .1rem; }
.menu-katla > summary::-webkit-details-marker { display: none; }
.menu-katla > summary .soluk { font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.menu-katla[open] > summary b { color: var(--vurgu); }
.menu-katla > .menu-liste { padding: 0 0 .4rem .4rem; }
body:has(.arti-dugme) .icerik { padding-bottom: calc(170px + env(safe-area-inset-bottom)); }
.kayit-alt .istasyon-yazi { color: var(--yazi); font-weight: 650; }
/* Personel servis programı haritası (servis_harita.js) */
.servis-harita { height: 420px; border-radius: 10px; overflow: hidden; margin-top: .5rem; background: #dce5ea; }
.servis-harita.koyu { background: #1c2226; }
.servis-harita.leaflet-grab, .servis-harita .leaflet-grab { cursor: default; } .servis-harita.leaflet-dragging .leaflet-grab { cursor: grabbing; } .servis-harita path.harita-secim { cursor: pointer; } .servis-harita path:focus, .servis-harita .leaflet-interactive:focus { outline: none; }
.harita-yer { width: 0; height: 0; pointer-events: none; }
.harita-yer span { position: absolute; white-space: nowrap; transform: translate(-50%, -50%); color: #6b5a48; text-shadow: 0 0 3px #f4efe7, 0 0 3px #f4efe7; }
.harita-yer.t1 span { font-size: 13px; font-weight: 600; } .harita-yer.t2 span { font-size: 11.5px; font-weight: 600; } .harita-yer.t3 span { font-size: 10px; color: #8a7a68; }
.servis-harita.koyu .harita-yer span { color: #c9b9a6; text-shadow: 0 0 3px #34312d, 0 0 3px #34312d; }
.servis-harita-bilgi { margin-top: .5rem; }
@media (max-width: 1023px) { .servis-harita { height: 320px; } }
.leaflet-container { font: inherit; }
/* Telefonda tek parmakla haritada kaydırınca: "iki parmakla kaydırın" (servis_harita.js dokunmaAyarla) */
.harita-ipucu { position: absolute; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; text-align: center;
  background: rgba(41, 49, 51, .55); color: #fff; font-size: var(--fs-sm, .9rem); font-weight: 600; pointer-events: none; opacity: 0; transition: opacity .2s; }
.harita-ipucu.acik { opacity: 1; }
/* Birimler: kişi × adım tablosu (31 Ekim) */
.veri-tablo.matris { width: auto; min-width: 100%; }
.veri-tablo.matris th, .veri-tablo.matris td { white-space: nowrap; padding: .3rem .5rem; }
.veri-tablo.matris thead th:not(:first-child) { white-space: normal; min-width: 4.5rem; max-width: 7.5rem; vertical-align: bottom; line-height: 1.2; text-align: center; }
.veri-tablo.matris td.sayi { text-align: center; }
.veri-tablo.matris th:first-child, .veri-tablo.matris td:first-child { position: sticky; left: 0; background: var(--kart); z-index: 1; }
.veri-tablo.matris tr.secili td:first-child { font-weight: 600; }
.matris-kutu { max-height: 60vh; overflow: auto; }
.veri-tablo.matris thead th { position: sticky; top: 0; z-index: 2; background: var(--kart); }
.veri-tablo.matris thead th:first-child { z-index: 3; }
.veri-tablo.matris td.matris-hucre { cursor: pointer; font-weight: 600; font-variant-numeric: tabular-nums; min-width: 3rem; }
.veri-tablo.matris td.matris-hucre:hover, .veri-tablo.matris td.tikla:hover { background: color-mix(in srgb, var(--vurgu, #c9a24b) 18%, transparent); }
.veri-tablo.matris td.matris-hucre.secili { background: color-mix(in srgb, var(--vurgu, #c9a24b) 32%, transparent); }
.veri-tablo.matris td.bos-hucre { color: var(--soluk, #999); opacity: .5; }
.veri-tablo.matris td.tikla { cursor: pointer; }
.veri-tablo.matris tr.matris-grup td { cursor: pointer; font-weight: 600; background: color-mix(in srgb, var(--cizgi) 45%, var(--kart)); position: static; }
/* Servis haritası: yön okları ve durak numaraları (31 Ekim) */
.harita-ok { pointer-events: none; }
.harita-durak span { position: absolute; transform: translate(-50%, -50%); white-space: nowrap; background: #fffdf9; border: 2px solid #8a7560; border-radius: 12px; padding: 0 6px; font-size: 12px; font-weight: 700; color: #3d3128; line-height: 18px; }
.harita-durak.bas span { background: #e6eee0; border-color: #5b7a4f; color: #2f4527; }
.harita-durak.son span { background: #f3e1d9; border-color: #9a5b45; color: #5a2f22; }

/* İşe alım formu (ise_alim_form.js; aday sayfası musteri/basvuru.html aynı sınıfları kendi stiliyle kullanır) */
.ia-grup { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; padding: 6px 16px 14px; margin-bottom: 12px; }
.ia-grup h3 { font-size: 1rem; margin: .8rem 0 .2rem; color: var(--altin-koyu); }
.ia-soru { margin-top: .9rem; }
.ia-etiket { font-weight: 600; margin-bottom: .35rem; }
.ia-ipucu { color: var(--soluk); font-size: .82rem; margin: -.2rem 0 .35rem; }
.ia-dugmeler { display: flex; flex-wrap: wrap; gap: .35rem; }
.ia-dugmeler.seviye { flex-direction: column; }
.ia-dugmeler.seviye.kucuk { flex-direction: row; }
.ia-dugme { text-align: start; border: 1px solid var(--cizgi); background: var(--kart); color: var(--yazi); border-radius: 10px; padding: .5rem .75rem; font: inherit; cursor: pointer; }
.ia-dugmeler.kucuk .ia-dugme { padding: .35rem .55rem; font-size: .85rem; flex: 1 1 140px; }
.ia-dugme.secili { border-color: var(--altin); background: color-mix(in srgb, var(--altin) 18%, var(--kart)); font-weight: 600; }
.ia-dugme b { color: var(--altin-koyu); }
.ia-kutular label { display: flex; gap: .5rem; align-items: center; font-weight: 500; margin: .3rem 0; }
.ia-kutular input, .ia-bilmiyorum input { width: 1.2rem; height: 1.2rem; min-height: auto; flex: 0 0 auto; }
.ia-sayi { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.ia-sayi input[type=number] { width: 9rem; }
.ia-bilmiyorum { display: flex; gap: .4rem; align-items: center; font-weight: 500; margin: 0; }
.ia-tel { display: flex; gap: .4rem; }
.ia-tel select { width: 8.5rem; flex: 0 0 auto; }
.ia-matris-satir { border-top: 1px dashed var(--cizgi); padding: .45rem 0; }
.ia-matris-ad { font-weight: 600; margin-bottom: .3rem; }

/* Sözleşme belgeleri: arkalı önlü tek yaprak (2 A4 sayfa) */
.sozlesme-belge { background: #fff; color: #1f2426; max-width: 800px; margin: 12px auto; padding: 22px 26px; font-size: 10pt; line-height: 1.25; box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.sozlesme-belge p { margin: 0 0 2.6pt; text-align: justify; }
.sozlesme-belge h2 { font-size: 10.5pt; margin: 5pt 0 2pt; padding: 1.5pt 4pt; background: #efe8df; }
.sozlesme-belge .szl-ust { display: flex; align-items: center; gap: 10px; margin-bottom: 4pt; }
.sozlesme-belge .szl-ust img { height: 26px; width: auto; }
.sozlesme-belge .szl-ust h1 { font-size: 13pt; margin: 0; }
.szl-bilgi { width: 100%; border-collapse: collapse; margin-bottom: 4pt; }
.szl-bilgi td { border: 1px solid #cfc6ba; padding: 1.5pt 4pt; width: 50%; vertical-align: top; }
.szl-imzalar { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 5pt; break-inside: avoid; }
.szl-imzalar > div { border: 1px solid #cfc6ba; padding: 4pt 6pt; min-height: 62pt; }
.zam-tablo { width: 100%; border-collapse: collapse; }
.zam-tablo th, .zam-tablo td { border: 1px solid #cfc6ba; padding: 1.15pt 4pt; }
.zam-tablo th { background: #efe8df; }
.zam-tablo .orta { text-align: center; width: 9%; }
.zam-satir { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .35rem 0; border-bottom: 1px dashed var(--cizgi, #ddd); flex-wrap: wrap; }
.zam-secim { display: flex; gap: .25rem; flex-wrap: wrap; }
.zam-secim .btn { min-width: 74px; }
@media print {
  body.belge-gorunum:has(.sozlesme-belge) #uygulama { overflow: visible !important; }
  .sozlesme-belge { box-shadow: none; margin: 0; max-width: none; padding: 0; font-size: 10pt; }
  @page { size: A4; margin: 11mm 13mm; }
}

/* Personel kartı evrak ızgarası */
.evrak-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .4rem; margin: .5rem 0; }
.evrak-kutu { display: flex; justify-content: space-between; gap: .4rem; align-items: center; border: 1px solid var(--cizgi); border-radius: 8px; padding: .4rem .55rem; }
.evrak-kutu.eksik { border-color: var(--tehlike); }

/* Ekran önerileri (0258): ekranın 3 × 3 haritası */
.iz-harita { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; max-width: 280px; margin: .4rem 0; }
.iz-harita span { aspect-ratio: 16 / 7; display: flex; align-items: center; justify-content: center; font-size: .72rem; border-radius: 5px; border: 1px solid var(--cizgi);
  background: color-mix(in srgb, var(--altin, #c9a227) calc(var(--yogun, 0) * 100%), transparent); }
.iz-harita span.iz-dugme { border: 2px solid var(--yazi, #333); font-weight: 600; }

/* ---- Sade ekranlar (kullanıcı onayı 5 Kasım): tek bakışta "şimdi ne yapacağım" ---- */
.bugun-ust { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; margin-bottom: .7rem; }
.bugun-ust h1 { margin: 0; font-size: 1.5rem; }
.bugun-gun { color: var(--soluk); }
.bugun-ust .btn { margin-left: auto; align-self: center; }
.bugun-sira { color: var(--soluk); font-weight: 600; margin: 1rem .1rem .35rem; }
.bugun-sira small { display: block; font-weight: 400; font-size: .88rem; }
.bugun-satirlar { margin-top: .6rem; }
.bugun-satir { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .8rem; min-height: 48px; padding: .6rem .15rem;
  border: 0; border-bottom: 1px solid var(--cizgi); background: none; color: var(--yazi); text-decoration: none; text-align: left; cursor: pointer; font: inherit; }
a.bugun-satir, a.bugun-satir:visited { color: var(--yazi); }
.bugun-satir:last-child { border-bottom: 0; }
.bugun-satir > span:first-child { min-width: 0; }
.bugun-satir > span:last-child { color: var(--soluk); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 55%; text-align: right; }
.bugun-satir.uyari > span:last-child { color: var(--vurgu); font-weight: 600; }
.bugun-satir.tehlike > span:first-child { color: var(--tehlike); font-weight: 600; }
.bugun-satir:hover { color: var(--vurgu); }
.kayit-liste + .btn-ince, .btn-ince { display: block; width: 100%; background: none; border: 0; color: var(--vurgu); font: inherit; font-weight: 600; padding: .55rem .2rem; cursor: pointer; text-align: center; text-decoration: none; }
@media (min-width: 1024px) {
  .bugun-duzen.iki { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0 28px; align-items: start; }
  .bugun-duzen.iki > .bugun-ana { grid-column: 1; grid-row: 1; }
  .bugun-duzen.iki > .bugun-ozet { grid-column: 1; grid-row: 2; }
  .bugun-duzen.iki > .bugun-sirada { grid-column: 2; grid-row: 1 / span 2; }
  .bugun-duzen.iki .bugun-sirada > .bugun-sira { margin-top: 0; }
}
.bugun-duzen:not(.iki) { max-width: 640px; }
/* İş kartı: küçük etiket, büyük başlık, tek büyük düğme */
.gorev-karti .is-ust { display: flex; align-items: center; gap: .4rem; min-height: 1.6rem; }
.gorev-karti .is-ust small { color: var(--soluk); font-size: .88rem; }
.gorev-karti .is-ust .etiket { margin-left: .2rem; }
.is-baslik { font-weight: 700; font-size: 1.2rem; line-height: 1.25; margin-top: .15rem; }
.is-musteri { margin-top: .1rem; }
.ipucu-dugme { margin-left: auto; flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; border: 1px solid var(--cizgi); background: none; color: var(--soluk); font: inherit; font-size: .88rem; font-weight: 700; cursor: pointer; line-height: 1; padding: 0; }
.gorev-eylemler > .btn:not(.ana):not(.tehlike) { background: none; border-color: transparent; color: var(--vurgu); box-shadow: none; }
a.btn:not(.ana):not(.tehlike).ince-dugme { color: var(--vurgu); }
.gorev-eylemler > .btn.ana { flex: 1 1 100%; min-height: 50px; font-size: 1.05rem; }
:root[data-yogunluk="siki"] .bugun-ana .gorev-eylemler > .btn.ana, :root[data-yogunluk="siki"] .alt-pencere .gorev-eylemler > .btn.ana { flex: 1 1 100%; min-height: 42px; }
.kart.gorev-karti .rehber { font-size: .92rem; }
/* Proje sayfası: üst bilgi, üç sekme */
.proje-sayfa { max-width: 860px; margin: 0 auto; }
.proje-ust { margin-bottom: .7rem; }
.proje-ust-baslik { font-weight: 700; font-size: 1.35rem; line-height: 1.25; }
.proje-sekmeler { display: flex; gap: 1.3rem; border: 0; border-radius: 0; overflow: visible; margin: 0 0 .8rem; border-bottom: 1px solid var(--cizgi); }
.proje-sekmeler a { padding: .45rem .1rem; font-size: 1rem; color: var(--soluk); margin-bottom: -1px; border-bottom: 2px solid transparent; }
.proje-sekmeler a.secili { background: none; box-shadow: none; color: var(--vurgu); border-bottom-color: var(--vurgu); }
.simdi-kart .simdi-etiket { color: var(--soluk); font-size: .88rem; }
.simdi-kart .simdi-yazi { font-size: 1.05rem; margin-top: .15rem; }
.simdi-kart .eylemler .btn.ana { flex: 1 1 100%; min-height: 50px; font-size: 1.05rem; justify-content: center; }
.proje-bagla { margin-top: .4rem; }
/* Kalem satırı: açınca kartın tamamı (bütün düğmeleriyle) */
.kalem-acilir { background: var(--kart); border: 1px solid var(--kart-cizgi); border-radius: 14px; box-shadow: var(--golge); margin-bottom: .5rem; }
.kalem-acilir > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .6rem; padding: .65rem .9rem; min-height: 54px; }
.kalem-acilir > summary::-webkit-details-marker { display: none; }
.kalem-acilir .kalem-ad { flex: 1; min-width: 0; font-weight: 600; }
.kalem-acilir .kalem-ad small { display: block; font-weight: 400; color: var(--soluk); font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kalem-acilir .kalem-durum { flex: none; max-width: 48%; color: var(--soluk); font-size: .92rem; text-align: right; }
.kalem-acilir > .kalem-govde { padding: 0 .9rem .8rem; }
.kalem-acilir[open] > summary { padding-bottom: .3rem; }
/* Sol menü ve telefon menüsü: "Tümü" */
.yan-tumu > summary { list-style: none; cursor: pointer; }
.yan-tumu > summary::-webkit-details-marker { display: none; }
.menu-tumu > summary { list-style: none; cursor: pointer; padding: .65rem .2rem; font-weight: 600; color: var(--vurgu); border-top: 1px solid var(--cizgi); }
.menu-tumu > summary::-webkit-details-marker { display: none; }
details.katlanir > .katlanir-icerik > .kart[style*="border-left"] { padding-left: .7rem; }
.menu-perde .satir:has(> .btn.kucuk.secili) { flex-wrap: wrap !important; overflow: visible; }
/* Üstte arama ve tek ana düğme (depo ve benzeri liste ekranları) */
.ust-arama { display: flex; gap: .5rem; align-items: stretch; flex-wrap: wrap; margin: .6rem 0 .3rem; }
.ust-arama > input { flex: 1 1 14rem; min-width: 0; }
.ust-arama > .btn { flex: 0 0 auto; }
@media (max-width: 639px) { .ust-arama > .btn { flex: 1 1 100%; min-height: 50px; } }
[hidden] { display: none !important; }
a.btn-ince, a.btn-ince:visited { color: var(--vurgu); }

/* ==== ORTAK TASARIM DİLİ (5 Kasım) ====
   Kural: renk ancak bir şey anlatıyorsa kullanılır. Yazılar ve çerçeveler nötr; vurgu rengi yalnız ana düğmede, seçili sekmede ve bağlantıda.
   Durum renkleri (uyarı, tehlike, başarı) soluk zeminli küçük etiketlerde. Bütün ekranlar aynı başlık, sekme, süzgeç, kart ve tablo düzenini kullanır.
   Dosyanın yukarısındaki eski kuralları bu blok ezer; yeni ekran yazarken bu sınıflar kullanılır. */
:root {
  --r: 10px; --r-kucuk: 8px;
  --fs-xs: .8rem; --fs-sm: .88rem;
  --sessiz: color-mix(in srgb, var(--yazi) 6%, transparent);
  --sessiz-guclu: color-mix(in srgb, var(--yazi) 11%, transparent);
  --cizgi-ince: color-mix(in srgb, var(--cizgi) 70%, transparent);
  --baglanti: var(--vurgu);
}

/* Başlıklar ve yazı */
h1 { font-size: 1.2rem; font-weight: 650; letter-spacing: -.005em; line-height: 1.3; margin: 0 0 .7rem; }
h2 { font-size: 1rem; font-weight: 600; margin: 1.1rem 0 .45rem; }
h3 { font-size: .95rem; font-weight: 600; }
.pencere h1 { font-size: 1.05rem; }
.bolum-basligi { font-size: var(--fs-sm); font-weight: 600; color: var(--soluk); margin: 1rem 0 .4rem; }
.soluk { font-size: var(--fs-sm); }
.kart .baslik, .kayit-ust { font-weight: 600; }
.kart .alt { font-size: var(--fs-sm); }

/* Bağlantılar: düz metin gibi, üstüne gelince altı çizili. Kart / liste içindeki blok bağlantılar yazı renginde */
a, a:visited { color: var(--baglanti); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 2px; }
a:has(b, .alt, .baslik, .kayit-ust), a:has(b, .alt, .baslik, .kayit-ust):visited { color: inherit; }
a.btn:hover, nav.sekmeler a:hover, .sekme-secici a:hover, .yan-oge:hover, .menu-satir:hover, .hizli-oge:hover, .marka:hover, .yan-marka:hover { text-decoration: none; }

/* Sayfa başlığı: solda ad, sağda sayfanın düğmeleri (app.js sayfaUstunuDuzenle bütün ekranlara uygular) */
.sayfa-ust { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .5rem; margin-bottom: .8rem; min-height: 2.1rem; }
.sayfa-ust > h1 { margin: 0 auto 0 0 !important; }
.sayfa-ust > .sag { margin-left: 0; }
.sayfa-ust > .sayfa-dugmeler { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.geri { margin-bottom: .35rem; font-size: var(--fs-sm); color: var(--soluk) !important; }

/* Kartlar: bütün ekranlarda aynı köşe, aynı boşluk */
.kart, details.katlanir, .tablo-kutu, .kayit-liste, .liste-panel, .ozet-kutu, .ia-grup { border-radius: var(--r); }
:root[data-yogunluk="siki"] .kart { border-radius: var(--r); padding: 11px 13px; }
.kart.tikla:hover { border-color: var(--cizgi); background: color-mix(in srgb, var(--kart) 96%, var(--yazi)); }
.kart[style*="border-left:4px"] { border-left-width: 3px !important; }
.ozet-kutu .ikon { color: var(--soluk); }
.ozet-kutu.uyari { border-color: color-mix(in srgb, var(--tehlike) 45%, var(--cizgi)); }
.rehber { background: var(--sessiz); color: var(--yazi); font-size: var(--fs-sm); border-radius: var(--r-kucuk); }

/* Etiketler: varsayılan nötr; renk yalnız uyarı / tehlike / başarı */
.etiket { background: var(--sessiz); color: var(--soluk); font-size: .76rem; font-weight: 500; padding: 1px 8px; border-radius: 6px; border: 0; }
.etiket.uyari { background: color-mix(in srgb, var(--uyari) 15%, transparent); color: var(--uyari); }
.etiket.tehlike { background: color-mix(in srgb, var(--tehlike) 14%, transparent); }
.etiket.basari { background: color-mix(in srgb, var(--basari) 14%, transparent); }
.etiket.adim { border: 0; font-weight: 500; }

/* Düğmeler: varsayılan sessiz çerçeveli, ana düğme tek renk */
.btn { font-weight: 500; background: transparent; border-color: var(--cizgi); border-radius: var(--r-kucuk); transition: background .12s, border-color .12s; }
.btn:hover { filter: none; background: var(--sessiz); }
.btn.ana { font-weight: 600; box-shadow: none; }
.btn.ana:hover { background: var(--ana-zemin); filter: brightness(1.06); }
.btn.tehlike { border-color: var(--cizgi); }
.btn.tehlike:hover { background: color-mix(in srgb, var(--tehlike) 10%, transparent); }
.btn.secili { background: var(--sessiz-guclu); border: 1px solid var(--cizgi); color: var(--yazi); font-weight: 600; }
.btn.kucuk { font-size: var(--fs-sm); }
.btn.hayalet { border-color: transparent; color: var(--soluk); }
:root[data-yogunluk="siki"] .btn { border-radius: var(--r-kucuk); }

/* Sekmeler: ekranın bölümleri arasında geçiş; altı çizgili tek tip */
.sekme-secici { display: flex; width: 100%; gap: .1rem; border: 0; border-bottom: 1px solid var(--cizgi); border-radius: 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; margin-bottom: .7rem; }
.sekme-secici::-webkit-scrollbar { display: none; }
.sekme-secici a { padding: .42rem .7rem; font-size: var(--fs-sm); font-weight: 500; color: var(--soluk); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.sekme-secici a:hover { color: var(--yazi); }
.sekme-secici a.secili { background: none; box-shadow: none; color: var(--yazi); font-weight: 600; border-bottom-color: var(--vurgu); }

/* Süzgeç sıraları: seçili olan hafif dolu, diğerleri sessiz */
.satir:has(> .btn.kucuk.secili) > .btn.kucuk:not(.ana):not(.suzgec) { border-color: transparent; background: none; color: var(--soluk); }
.satir:has(> .btn.kucuk.secili) > .btn.kucuk.secili:not(.ana):not(.suzgec) { background: var(--sessiz-guclu); color: var(--yazi); }
.btn.suzgec { text-align: left; }

/* Formlar */
input, select, textarea, :root[data-yogunluk="siki"] input, :root[data-yogunluk="siki"] select, :root[data-yogunluk="siki"] textarea { border-radius: var(--r-kucuk); }
input:focus, select:focus, textarea:focus { outline: 2px solid color-mix(in srgb, var(--vurgu) 35%, transparent); outline-offset: 0; border-color: var(--vurgu); }
label { font-weight: 500; font-size: var(--fs-sm); color: var(--soluk); }
.kart label, .pencere label { color: var(--yazi); }

/* Tablolar: tek başlık biçimi, tek satır çizgisi */
.fin-tablo, .veri-tablo { font-size: var(--fs-sm); }
.fin-tablo th, .veri-tablo th { font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0; color: var(--soluk); padding: .45rem .6rem; }
.fin-tablo td, .veri-tablo td { padding: .4rem .6rem; border-bottom: 1px solid var(--cizgi-ince); }
.fin-tablo tbody tr:last-child td { border-bottom: 0; }
.veri-tablo tbody tr:hover td { background: var(--sessiz); }
.veri-tablo tbody tr.secili td { background: var(--sessiz-guclu); }
.veri-tablo tbody tr.secili td:first-child { box-shadow: inset 2px 0 0 var(--vurgu); }
.veri-tablo .no { font-weight: 600; }
.veri-tablo.matris tr.matris-grup td { background: var(--sessiz); }
.veri-tablo.matris td.matris-hucre:hover, .veri-tablo.matris td.tikla:hover { background: var(--sessiz-guclu); }
.veri-tablo.matris td.matris-hucre.secili { background: var(--sessiz-guclu); box-shadow: inset 0 0 0 1px var(--vurgu); }
.kayit:active { background: var(--sessiz); }
.kayit-nokta { background: var(--vurgu); }
.hizli-oge.secili, .hizli-oge:hover { background: var(--sessiz-guclu); }

/* Sol menü ve üst bant */
.ust { box-shadow: none; }
.yan-grup { font-size: .68rem; letter-spacing: .08em; font-weight: 600; }
.menu-satir .ikon { color: var(--soluk); }
.menu-kisi-harf { background: var(--sessiz-guclu); }

/* İş listesi satırı (Ekibim ve benzeri): sıra, iş, durum, tarih, düğmeler */
.is-satir { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr) auto auto; gap: .15rem .7rem; align-items: center; padding: .5rem 0; border-top: 1px solid var(--cizgi-ince); }
.is-satir.askida { opacity: .62; }
.is-satir .is-sira { color: var(--soluk); font-size: var(--fs-xs); text-align: right; font-variant-numeric: tabular-nums; }
.is-satir .is-ad { min-width: 0; color: inherit; display: block; }
.is-satir .is-ad:hover { text-decoration: none; }
.is-satir .is-ad:hover .is-baslik { text-decoration: underline; text-underline-offset: 2px; }
.is-satir .is-baslik { font-weight: 550; font-size: .95rem; line-height: 1.3; }
.is-satir .is-bilgi { color: var(--soluk); font-size: var(--fs-xs); margin-top: .1rem; }
.is-satir .is-yan { display: flex; align-items: center; gap: .5rem; justify-content: flex-end; color: var(--soluk); font-size: var(--fs-xs); white-space: nowrap; }
.is-satir .is-dugmeler { display: flex; align-items: center; gap: .1rem; }
.is-satir .is-dugmeler .btn { min-width: 1.9rem; padding-inline: .3rem; }
.kisi-baslik { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .6rem; padding-bottom: .4rem; }
.kisi-baslik .baslik { margin-right: auto; }
.arac-cubugu { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .7rem; }
.arac-cubugu select { width: auto; max-width: 15rem; }
@media (max-width: 767px) {
  .is-satir { grid-template-columns: 1.3rem minmax(0, 1fr) auto; }
  .is-satir .is-yan { display: none; }
  .arac-cubugu select { flex: 1 1 8rem; width: 100%; max-width: none; }
}

/* Bilgisayar: bütün ekranlar aynı sol kenardan başlar; ana düğme tam satır değil, süzgeçler sığacak kadar */
@media (min-width: 1024px) {
  .icerik { margin: 0; max-width: 1240px; padding: 16px 28px 28px; }
  .icerik:has(.kart-izgara, .fin-tablo, .veri-tablo, .kesim-grid, .bolunmus) { max-width: 1760px; }
  .icerik .btn.ana[style*="width:100%"] { width: auto !important; min-height: 36px !important; padding-inline: 1.2rem; }
  .icerik > .satir > div[style*="flex:1"]:has(> select), .icerik > .satir > div[style*="flex:1"]:has(> .suzgec) { flex: 0 1 230px !important; min-width: 170px !important; }
}
@media (max-width: 767px) {
  .is-satir { grid-template-columns: 1.3rem minmax(0, 1fr); }
  .is-satir .is-dugmeler { grid-column: 2; justify-content: flex-end; }
}
@media (min-width: 1024px) {
  .proje-sayfa { margin: 0; max-width: 980px; }
  .simdi-kart .eylemler .btn.ana { flex: 0 1 auto; min-height: 38px; font-size: 1rem; padding-inline: 1.3rem; }
}
/* Yan panel: 1500 pikselden dar bilgisayar ekranında satıra basınca sağdan açılır */
.panel-kapat { display: none; }
@media (min-width: 1024px) and (max-width: 1499px) {
  .liste-panel.acik { display: flex; position: fixed; top: 0; right: 0; bottom: 0; width: min(400px, 42vw); max-height: none; z-index: 12; border-radius: 0; border: 0;
    border-left: 1px solid var(--cizgi); box-shadow: -10px 0 28px rgba(0,0,0,.28); animation: panel-ac .16s ease-out; }
  .panel-kapat { display: inline-flex; align-self: flex-end; align-items: center; justify-content: center; width: 30px; height: 30px; margin-bottom: -.4rem; flex: none;
    background: none; border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); color: var(--soluk); cursor: pointer; }
  .panel-kapat:hover { color: var(--yazi); background: var(--sessiz); }
  .bolunmus:not(:has(.liste-panel.acik)) .veri-tablo tbody tr.secili td { background: none; box-shadow: none; }
}
@keyframes panel-ac { from { transform: translateX(24px); opacity: .4; } to { transform: none; opacity: 1; } }
@media print { .panel-kapat { display: none !important; } }

/* Bilgisayar: sayfalar ekranı kullanır; proje sayfası geniş ekranda iki sütun (solda iş, sağda bilgiler ve geçmiş) */
@media (min-width: 1024px) {
  .icerik { max-width: 1600px; }
  .proje-sayfa { max-width: 1000px; }
}
@media (min-width: 1400px) {
  .icerik:has(.proje-sayfa) { max-width: none; }
  .proje-sayfa { max-width: none; }
  .proje-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 20px; align-items: start; }
  .proje-yan { position: sticky; top: 12px; max-height: calc(100vh - 24px); overflow-y: auto; scrollbar-width: thin; }
  .proje-yan .kart { margin-bottom: 10px; }
  .proje-yan h2 { margin: 0 0 .5rem; font-size: var(--fs-sm); color: var(--soluk); }
  .proje-yan .bilgi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Bugün: bilgisayarda yarım kalmasın; iş tek sütunsa yanında özet durur */
@media (min-width: 1024px) {
  .bugun-duzen:not(.iki) { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 28px; align-items: start; }
  .bugun-duzen:not(.iki):not(:has(> .bugun-ozet)) { display: block; }
  .bugun-duzen:not(.iki) > .bugun-ozet { margin-top: 0; }
}

/* Telefon: alt sekmedeki uzun ekran adı üç satıra taşıp çubuğu büyütmesin; kayıt satırının sağındaki yazı ekrandan taşmasın */
@media (max-width: 1023px) {
  nav.sekmeler a { line-height: 1.15; }
  nav.sekmeler a > span:not(.ikon):not(.sekme-uzun):not(.sekme-kisa) { display: block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
.kayit-sag > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1023px) { nav.sekmeler a .sekme-kisa { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }

/* Tablet ve yarım pencere (640–1023): sayfa ekranı kullanır, dar sütunda kalmaz */
@media (max-width: 1023px) {
  .icerik { max-width: none; }
  .bugun-duzen:not(.iki) { max-width: none; }
  .proje-sayfa { max-width: none; margin: 0; }
  .ust { padding-top: calc(.5rem + env(safe-area-inset-top)); padding-bottom: .45rem; }
  .zil-rozet { top: -4px; right: -4px; }
  nav.sekmeler a .ikon { flex: none; }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .icerik { padding: 16px 20px; }
  nav.sekmeler a { display: flex; align-items: center; justify-content: center; gap: .35rem; min-width: 0; }
}
@media (max-width: 899px) {
  nav.sekmeler .sekme-uzun { display: none; }
  nav.sekmeler .sekme-kisa { display: inline; }
}
@media (min-width: 760px) and (max-width: 1023px) {
  .kart-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
  .kart-izgara > .kart { margin: 0; }
  .kart-izgara > :not(.kart) { grid-column: 1 / -1; }
}
/* Yuvarlak düğmeler: işaret yazı karakteriyle değil çizimle, tam ortada */
.arti-dugme { font-size: 0; }
.arti-dugme::before, .arti-dugme::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--ana-yazi); border-radius: 1px; transform: translate(-50%, -50%); }
.arti-dugme::before { width: 20px; height: 2px; }
.arti-dugme::after { width: 2px; height: 20px; }
.yukari-dugme { font-size: 0; }
.yukari-dugme::before { content: ""; width: 10px; height: 10px; border-left: 2px solid currentColor; border-top: 2px solid currentColor; transform: translateY(2px) rotate(45deg); }
@media (min-width: 640px) and (max-width: 1023px) {
  .icerik .btn.ana[style*="width:100%"] { width: auto !important; padding-inline: 1.3rem; }
}

/* Ekran sadeleştirme (6 Kasım): kâr / performans / teklif ortak küçük sınıflar */
.yazi-xs { font-size: var(--fs-xs); }
.toplam-yazi { font-size: 1.1rem; }
.kar-satir { padding: .15rem 0; }
.kar-ad { flex: 1; min-width: 0; }
.kar-sutun { min-width: 6.6rem; text-align: right; }
.kar-kisi { padding-left: 1.2rem; font-size: var(--fs-sm); }
.kar-hucre { gap: .35rem; flex-wrap: nowrap; }
details.birim-kirilim > summary { cursor: pointer; }
.liste-satir { padding: .4rem 0; border-top: 1px solid var(--cizgi-ince); gap: .3rem .6rem; flex-wrap: wrap; align-items: center; }
.liste-satir.pasif { opacity: .55; }
.kdv-oran { min-width: 4rem; }
.ayar-satiri { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; padding: .45rem 0; border-top: 1px solid var(--cizgi-ince); font-weight: 500; }
.ayar-satiri.dikey { display: block; }
.ayar-satiri.dikey textarea, .ayar-satiri.dikey input { width: 100%; }
.ayar-ad { flex: 1; min-width: 180px; font-weight: 500; }
.ayar-girdi { flex: 1; min-width: 220px; }
.sayi-kutu { width: 6rem; }
.kutu-kucuk { width: auto; min-height: auto; }
.kucuk-secim { width: auto; min-height: auto; padding: .1rem .3rem; }
td.ortala, th.ortala { text-align: center; }
.menu-metin { white-space: pre-wrap; margin-top: .3rem; }
.ozet-kutu.tam-satir { grid-column: 1 / -1; }
.hafta-gezin { gap: .6rem; margin-bottom: .6rem; align-items: center; }
.kademe-ay { min-width: 110px; }

/* Telefonda Menü sekmesi: altında açık ekranın adı (kullanıcı kararı 7 Kasım) */
nav.sekmeler .sekme-ekran { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .68rem; font-weight: 500; line-height: 1.1; color: var(--vurgu); }
/* Belge ekranlarının üst çubuğu koyu zeminli: ikincil düğmeler açık yazılı */
.belge-arac .btn:not(.ana) { background: transparent; color: #f4ece3; border-color: rgba(244, 236, 227, .4); }
.belge-arac .btn:not(.ana):hover { background: rgba(244, 236, 227, .12); }

/* Görsel denetim 1 (7 Kasım): okunaklılık, telefon hedefleri, seçim oku, sabit Kaydet, ortak tablo */
:root { --soluk: #6f6155; --uyari: #875a30; --basari: #4f6a4d; --tehlike: #9c4f3e; --ust-soluk: #6f6155; }
:root[data-tema="koyu"] { --soluk: #ad9f90; --uyari: #e4b06e; --basari: #a5c98d; --tehlike: #ea8c76; --ust-soluk: #ad9f90; }
.etiket.adim { color: color-mix(in srgb, var(--adim) 20%, var(--yazi)); }
:root[data-tema="koyu"] .etiket.adim { color: color-mix(in srgb, var(--adim) 25%, #fff); }
.etiket.adim .adim-ek { background: color-mix(in srgb, var(--adim) 26%, transparent); }
.ust .kisi .unvan { opacity: 1; }
input[type=checkbox], input[type=radio] { accent-color: var(--vurgu); }

/* Telefonda parmak hedefleri */
@media (max-width: 1023px) {
  .btn.kucuk, summary.btn.kucuk { min-height: 44px; }
  .sekme-secici a { display: inline-flex; align-items: center; min-height: 44px; }
  .geri { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 0; }
  .ust .zil, .ust .ust-ara { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .sorun-dugme::after, .ipucu-dugme::after { content: ""; position: absolute; inset: -8px; }
  .ipucu-dugme { position: relative; }
  summary.soluk { min-height: 44px; display: flex; align-items: center; }
  label:has(> input[type=checkbox]) { min-height: 44px; display: flex; align-items: center; }

}

/* Aramalı seçim: seçim olduğu belli olsun */
.pencere button.btn[style*="text-align:left"], form button.btn[style*="text-align:left"], .kart button.btn[style*="text-align:left"] { justify-content: space-between; font-weight: 400; }
.pencere button.btn[style*="text-align:left"]::after, .kart button.btn[style*="text-align:left"]::after { content: "▾"; color: var(--soluk); margin-left: .5rem; }

/* Uzun formda Kaydet hep görünsün */
.pencere > .eylemler { position: sticky; bottom: -1rem; background: var(--kart); padding: .6rem 0 .8rem; border-top: 1px solid var(--cizgi); z-index: 2; }

/* Tablolar aynı dille: beyaz kart, sayılar sağda */
main .fin-tablo { background: var(--kart); border-radius: var(--r); }
main .fin-tablo thead th:last-child, main .fin-tablo tbody td:last-child { text-align: right; font-variant-numeric: tabular-nums; }

/* Proje sayfası: iç içe kaydırma çubuğu olmasın */
@media (min-width: 1024px) { .proje-yan { position: static; max-height: none; overflow: visible; } }

/* Görsel denetim 2 (7 Kasım): ortak davranışlar */
/* Telefonda proje satırı: adım kendi satırına iner (kısa adlar yetmediği için, kullanıcı kararı) */
@media (max-width: 1023px) {
  .kayit:has(.etiket.adim) { flex-wrap: wrap; row-gap: .3rem; }
  .kayit:has(.etiket.adim) .kayit-ana { flex-basis: 100%; }
  .kayit:has(.etiket.adim) .kayit-sag { flex-basis: 100%; max-width: none; display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
  .kayit:has(.etiket.adim) .kayit-sag .etiket { overflow: visible; max-width: none; }
}
.alan-hatali input, .alan-hatali select, .alan-hatali textarea, .alan-hatali button.btn { border-color: var(--tehlike); box-shadow: 0 0 0 1px var(--tehlike); }
.alan-hatali label { color: var(--tehlike); }
.sirala-dugme { all: unset; cursor: pointer; font: inherit; color: inherit; }
.sirala-dugme:focus-visible { outline: 2px solid var(--altin); outline-offset: 2px; }
th[aria-sort="ascending"] .sirala-dugme::after { content: " ▲"; }
th[aria-sort="descending"] .sirala-dugme::after { content: " ▼"; }
@media (max-width: 1279px) { .dar-gizle { display: none; } }
.veri-tablo.sabit td.sayi { overflow: visible; text-overflow: clip; }
.gizli-yazi { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.yukleniyor-iskelet { display: grid; gap: .7rem; padding: 1rem 0; }
.iskelet-satir { height: 2.6rem; border-radius: var(--r-kucuk); background: linear-gradient(90deg, var(--cizgi) 25%, var(--kart) 50%, var(--cizgi) 75%); background-size: 300% 100%; animation: iskelet-kay 1.3s linear infinite; opacity: .55; }
.iskelet-satir.kisa { width: 60%; }
@keyframes iskelet-kay { from { background-position: 100% 0; } to { background-position: 0 0; } }
button, a, summary, .kayit, .kart.tikla, input, select { touch-action: manipulation; }
.pencere:focus { outline: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
@supports (height: 100dvh) {
  body { min-height: 100dvh; }
  .liste-panel { max-height: calc(100dvh - 86px); }
}
/* Dokunmatik ekranda fare üzerine gelme izi kalmasın */
@media (hover: none) { .veri-tablo tbody tr:hover td { background: none; } }
/* Sağdan sola dillerde numara, ad gibi Latin veri baştan kesilmez; yazı kendi yönünde akar */
:root[dir="rtl"] .kayit-ust, :root[dir="rtl"] .kayit-alt, :root[dir="rtl"] td, :root[dir="rtl"] .etiket, :root[dir="rtl"] h1, :root[dir="rtl"] .bos { unicode-bidi: plaintext; }
:root[dir="rtl"] .veri-tablo th, :root[dir="rtl"] .veri-tablo td { text-align: right; }
:root[dir="rtl"] .veri-tablo .sayi { text-align: left; }
:root[dir="rtl"] .ikon { margin-inline-end: .35em; margin-right: 0; }
:root[dir="rtl"] .geri .ikon, :root[dir="rtl"] .kayit .ok { transform: scaleX(-1); }

.ay-gezinme { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; margin-bottom: .6rem; }
.ay-gezinme .ay-ad { min-width: 8rem; text-align: center; }
.uyari-serit { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; padding: .55rem .8rem; border-radius: var(--r-kucuk); background: color-mix(in srgb, var(--uyari) 12%, var(--kart)); color: var(--yazi); margin-bottom: .6rem; font-size: var(--fs-sm); }
.uyari-serit .sag { margin-left: auto; }

.sifre-kap { position: relative; }
.sifre-kap input { padding-right: 4.6rem; }
.sifre-goster { position: absolute; right: .35rem; top: 50%; transform: translateY(-50%); min-height: 36px; padding: 0 .5rem; background: none; border: 0; color: var(--giris-etiket, var(--soluk)); font: inherit; font-size: var(--fs-sm); text-decoration: underline; cursor: pointer; }
.etiket-satir { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.etiket-satir label { margin-bottom: .2rem; }
.yeni-ekle { background: none; border: 0; padding: .2rem 0; min-height: 28px; color: var(--vurgu); font: inherit; font-size: var(--fs-sm); text-decoration: underline; cursor: pointer; white-space: nowrap; }
@media (max-width: 1023px) { .yeni-ekle { min-height: 44px; } }

/* Görsel denetim 3 (7 Kasım): ekran ekran düzenlemeler */
/* Günlük işler: görsel denetim bulguları (rapor, plan, personel servis programı) */
/* Ek mesai tablosu: işaret kutusu; telefonda parmakla rahat basılsın */
.secim-kutu { display: inline-flex; align-items: center; justify-content: center; min-width: 2.2rem; min-height: 2.2rem; margin: -.3rem 0; cursor: pointer; }
.secim-kutu input { flex: none; width: 1.15rem; height: 1.15rem; min-height: 0; margin: 0; padding: 0; }
.mesai-kisi { display: inline-flex; align-items: center; gap: .3rem; }
.mesai-yuksek { color: var(--tehlike); }
/* Uzun içerikli hücre kesilmesin, satır sarsın (iş programında ekip, bildirim metni) */
.veri-tablo.sabit td.sar { white-space: normal; overflow-wrap: anywhere; }
/* Personel servis programı: onay düğmesinin yanındaki özet; dokununca ilgili yere iner */
.servis-ozet { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .9rem; margin-left: auto; font-size: var(--fs-sm); }
.ozet-baglanti { background: none; border: 0; padding: .3rem 0; min-height: 2rem; font: inherit; color: var(--vurgu); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.ozet-baglanti.tehlike-yazi { color: var(--tehlike); font-weight: 600; }

/* B: satış ve proje ekranları. İptal edilen projede adım çubuğu kaldığı aşamada durur. */
.proje-adim-cizgi span.durdu { background: var(--tehlike); }
.proje-adim-adlar span.durdu { color: var(--tehlike); font-weight: 700; }

/* Para ve liste ekranları (görsel denetim, C parçası) */
/* sayi-N: fin-tablo sayfaliTablo ile çizildiği için sütun sınıfı verilemiyor; N. sütun ve başlığı sağa dayalı, kesilmez */
.fin-tablo.sayi-2 th:nth-child(2), .fin-tablo.sayi-2 td:nth-child(2),
.fin-tablo.sayi-3 th:nth-child(3), .fin-tablo.sayi-3 td:nth-child(3),
.fin-tablo.sayi-4 th:nth-child(4), .fin-tablo.sayi-4 td:nth-child(4),
.fin-tablo.sayi-5 th:nth-child(5), .fin-tablo.sayi-5 td:nth-child(5),
.fin-tablo.sayi-6 th:nth-child(6), .fin-tablo.sayi-6 td:nth-child(6),
.fin-tablo.sayi-7 th:nth-child(7), .fin-tablo.sayi-7 td:nth-child(7),
.fin-tablo.sayi-8 th:nth-child(8), .fin-tablo.sayi-8 td:nth-child(8) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* son sütun yazıysa sola (ortak kural son sütunu sağa dayar) */
main .fin-tablo.son-sol thead th:last-child, main .fin-tablo.son-sol tbody td:last-child { text-align: left; font-variant-numeric: normal; }

/* Telefonda tutar sağda ve kesilmeden */
.kayit-tutar { font-size: var(--fs-sm); font-weight: 600; color: var(--yazi); white-space: nowrap; font-variant-numeric: tabular-nums; }
.kayit-tutar.basari-yazi { color: var(--basari); }
.kayit-sag:has(.kayit-tutar) { max-width: 62%; }
.kayit-ust.sar, .kayit-alt.sar { white-space: normal; overflow: visible; }
.kayit-ara { font-size: var(--fs-sm); font-weight: 700; margin: .9rem 0 .3rem; }
.kayit-ara .alt { font-weight: 400; }
.kayit-liste .kayit-ara:first-child { margin-top: .2rem; }
.kayit-toplam { border-top: 2px solid var(--cizgi); }

/* Stok kartı sayfası: Toplam / Ayrılmış / Serbest */
.stok-ozet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: .5rem; }
.stok-ozet > div { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); padding: .45rem .6rem; min-width: 0; }
.stok-ozet span { display: block; font-size: var(--fs-xs); }
.stok-ozet b { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Hammadde kartları: önek üst başlık, gruplar iki sütun */
.grup-baslik { font-size: var(--fs-sm); font-weight: 700; margin: .9rem 0 .4rem; }
.grup-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); gap: .6rem; align-items: start; }
.grup-izgara > details.kart { margin: 0; }

/* D çalışması: yönetim ve form ekranları */

/* Personel kartı: kısa alanlar ekranın tamamına yayılmasın */
.dar-form { max-width: 46rem; }

/* Personel kartı: Kaydet hep görünür, uzun sekmede altta durur */
.kart-kaydet { position: sticky; bottom: var(--sekme-yuk, 0px); z-index: 2; background: var(--kart); padding: .6rem .8rem; border-top: 1px solid var(--cizgi); }

/* Yemek menüsü: bilgisayarda hafta beş sütun */
@media (min-width: 1024px) {
  .yemek-hafta { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .6rem; align-items: stretch; }
  .yemek-hafta > .kart { margin: 0; min-width: 0; }
  .yemek-hafta textarea { min-height: 10rem; }
}

/* "Diğer ▾" açılır kutusu: stil.css'te kuralı yoktu */
details.diger { position: relative; display: inline-block; }
details.diger > summary { list-style: none; cursor: pointer; }
details.diger > summary::-webkit-details-marker { display: none; }
details.diger > .diger-icerik { position: absolute; z-index: 5; right: 0; top: calc(100% + .25rem); display: flex; flex-direction: column; gap: .3rem; min-width: 14rem; padding: .5rem; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r-kucuk); }
:root[dir="rtl"] details.diger > .diger-icerik { right: auto; left: 0; }

/* E çalışması: belge ailesi. uygulama/stil.css sonuna eklenecek. */

/* Ortak belge başı: logo solda, başlık soldan, sağda no ve tarih (teklif / sözleşmedeki .belge-ust düzeniyle aynı).
   Logolu bütün .ie-baslik başlıkları (form, servis, iş emri, hakediş, plan) bu düzene geçer; logosuz ara başlıklar ortada kalır. */
.ie-baslik:has(> .ie-logo) > div { text-align: left; }
.ie-baslik:has(> .ie-logo) > .ie-sayfa-no,
.ie-baslik:has(> .ie-logo) > .ortak-bas-sag { flex: 0 0 auto; text-align: right; font-size: 10.5px; font-weight: 600; letter-spacing: 0; color: #555; white-space: nowrap; }
.ortak-bas-sag:empty { display: none; }

/* Stok kodu ikiye bölünmesin: irsaliye tablosunda teklif.js bu sınıfı eklemeli (belge-tablo kodlu) */
.belge-tablo.kodlu td:first-child, .belge-tablo.kodlu th:first-child { white-space: nowrap; }
.belge-tablo.kodlu td:first-child { font-size: 11px; }


.sirala-dugme { display: inline-flex; align-items: center; min-height: 24px; }
nav.sekmeler a:last-child { flex: 1 1 0; min-width: 0; max-width: none; overflow: hidden; }
.takvim-gun.diger-ay .takvim-no, .takvim-no { opacity: 1; }
.etiket.uyari, .etiket.basari { filter: none; }
.geri, summary.soluk { min-height: 24px; }

/* Araçlar: canlı harita (arachart.js) */
:root { --arac-yol: #3f7a45; --arac-dur: #a04a39; }
.arac-harita-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: .6rem; align-items: start; }
.arac-harita { height: calc(100vh - 240px); min-height: 420px; border-radius: 10px; overflow: hidden; background: #dce5ea; }
.arac-liste { max-height: calc(100vh - 240px); min-height: 420px; overflow-y: auto; display: flex; flex-direction: column; gap: .3rem; padding-right: .15rem; }
.arac-liste > * { flex-shrink: 0; }
.arac-sayac { display: flex; flex-wrap: wrap; gap: .2rem .7rem; font-size: var(--fs-sm); padding: .3rem .1rem .5rem; position: sticky; top: 0; background: var(--zemin); z-index: 2; }
.arac-sayac .hareket b { color: var(--arac-yol); } .arac-sayac .duruyor b { color: var(--arac-dur); } .arac-sayac .cevrimdisi b { color: var(--soluk); }
.arac-grup-baslik { font-size: var(--fs-xs); color: var(--soluk); font-weight: 600; margin-top: .5rem; padding: 0 .2rem; }
.arac-satir { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: .5rem; align-items: center; width: 100%; height: auto !important; min-height: 56px; padding: .4rem .5rem; line-height: 1.3; white-space: normal; text-align: left; border: 1px solid var(--cizgi); border-radius: 8px; background: var(--kart); color: var(--yazi); cursor: pointer; }
.arac-satir.secili { border-color: var(--vurgu); }
.arac-satir small { display: block; font-size: var(--fs-xs); color: var(--soluk); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.arac-orta { min-width: 0; } .arac-sag { text-align: right; white-space: nowrap; font-size: var(--fs-sm); }
.arac-nokta { width: 10px; height: 10px; border-radius: 50%; background: var(--soluk); }
.arac-satir.hareket .arac-nokta { background: var(--arac-yol); } .arac-satir.duruyor .arac-nokta { background: var(--arac-dur); }
.arac-isaret-kap { width: 0; height: 0; }
.arac-isaret { position: absolute; transform: translate(-50%, -100%); padding: .12rem .4rem; border-radius: 6px; color: #fff; font-size: 12px; line-height: 1.2; white-space: nowrap; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); background: #6d645c; text-align: center; }
.arac-isaret b { display: block; font-size: 12px; } .arac-isaret span { font-size: 12px; }
.arac-isaret.hareket { background: var(--arac-yol); } .arac-isaret.duruyor { background: var(--arac-dur); }
.grup-satir { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .7rem; padding-block: .4rem; border-top: 1px solid var(--cizgi); }
.grup-ad { min-width: 180px; } .grup-goren { flex: 1; min-width: 160px; } .grup-dugme { display: flex; flex-wrap: wrap; gap: .25rem; margin-left: auto; }
@media (max-width: 1023px) { .arac-harita-duzen { grid-template-columns: minmax(0, 1fr); } .arac-harita { height: 55vh; min-height: 300px; } .arac-liste { max-height: none; min-height: 0; } }
@media (prefers-color-scheme: dark) { :root:not([data-tema="acik"]) { --arac-yol: #7fbf85; --arac-dur: #e39a87; } }
:root[data-tema="koyu"] { --arac-yol: #7fbf85; --arac-dur: #e39a87; }
.arac-isaret.hareket, .arac-isaret.duruyor { --arac-yol: #3f7a45; --arac-dur: #a04a39; }

/* UI / UX taraması (7 Kasım): kutucuk tam genişlik olmasın, dokunma hedefleri, en küçük yazı, tablo taşması */
input[type=checkbox], input[type=radio] { width: auto; min-height: 0; flex: none; }
.tablo-kaydir { overflow-x: auto; max-width: 100%; }
.sirala-dugme { min-width: 24px; }
nav.sekmeler .sekme-ekran { font-size: .75rem; }
.proje-adim-adlar { font-size: .75rem; }
.etiket.adim .adim-ek { font-size: 1em; }
:root { --uyari: #7d532b; --basari: #48634a; }
:root[data-tema="koyu"] { --uyari: #e4b06e; --basari: #a5c98d; }
@media (max-width: 1023px) {
  summary { min-height: 44px; display: flex; align-items: center; }
  .ust .marka { min-height: 44px; }
  input, select, textarea { font-size: max(16px, 1em); }
}
.yan-oge .yan-ad { font-size: max(12px, 1em); }
.yan-grup, .yan-grup .yan-ad { font-size: 12px; }
summary { min-height: 24px; }

/* Dar ekranda sütunları sığmayan tablolar: her satır bir kart, sayılar etiketli (sözleşme ürünleri, araç grupları) */
.kayit:not([role=button]) { cursor: default; }
@media (max-width: 640px) {
  .yigin-tablo thead { display: none; }
  .yigin-tablo, .yigin-tablo tbody, .yigin-tablo tr { display: block; width: 100%; }
  .yigin-tablo tr { padding: .6rem 0; border-bottom: 1px solid var(--kart-cizgi); }
  .yigin-tablo tr:last-child { border-bottom: 0; }
  .yigin-tablo td { display: block; padding: .15rem 0; border: 0; text-align: left; white-space: normal; }
  .yigin-tablo td[data-ad] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
  .yigin-tablo td[data-ad]:empty { display: none; }
  .yigin-tablo td[data-ad]::before { content: attr(data-ad); color: var(--soluk); font-size: var(--fs-sm); flex: none; }
  .yigin-tablo td select { width: 100%; min-width: 0; flex: 1; }
  .yigin-tablo .yigin-dugme { padding-top: .4rem; }
}

.ie-sayfa .bos { color: #555; }

/* Geniş pencere (tablo içeren pencereler: vazgeçme dökümü) */
.pencere.genis { max-width: 760px; }
.pencere .alt-baslik { font-size: var(--fs-sm); font-weight: 600; margin: .9rem 0 .35rem; color: var(--metin); }

/* ---------------------------------------------------------------- Teslim fişi (0313): ekranda imza, A5 / A4 yazdırma */
.teslim-belge { background: #fff; color: #2b231c; border: 1px solid var(--cizgi); border-radius: var(--r); padding: 18px 20px; max-width: 820px; }
.teslim-bas { display: flex; align-items: center; gap: 14px; border-bottom: 2px solid #c9ab93; padding-bottom: 8px; margin-bottom: 10px; }
.teslim-logo { height: 34px; }
.teslim-baslik { flex: 1; font-size: 1.15rem; font-weight: 700; letter-spacing: .02em; }
.teslim-alt-baslik { font-size: .9rem; font-weight: 500; color: #6b5a4e; }
.teslim-no { text-align: right; font-size: .85rem; }
.teslim-bilgi, .teslim-kalemler { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 6px 0; }
.teslim-bilgi th, .teslim-bilgi td, .teslim-kalemler th, .teslim-kalemler td { border: 1px solid #ddcfc3; padding: 4px 7px; text-align: left; vertical-align: top; }
.teslim-bilgi th, .teslim-kalemler th { background: #f4ebe2; font-weight: 600; white-space: nowrap; }
.teslim-kalemler td.sayi { text-align: right; white-space: nowrap; }
.teslim-tutar { font-size: 1.05rem; margin: 10px 0; padding: 8px 10px; background: #f7efe8; border-radius: 6px; }
.teslim-aciklama { font-size: .9rem; margin: 6px 0; }
.teslim-beyan { font-size: .88rem; font-style: italic; margin: 10px 0; line-height: 1.45; }
.teslim-imzalar { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 12px; }
.teslim-imza { border: 1px solid #ddcfc3; border-radius: 6px; padding: 8px 10px; min-height: 140px; display: flex; flex-direction: column; gap: 4px; }
.teslim-imza-ust { font-size: .78rem; font-weight: 700; letter-spacing: .05em; color: #6b5a4e; }
.teslim-imza-unvan { font-size: .8rem; color: #6b5a4e; }
.teslim-imza-resim { max-height: 90px; max-width: 100%; object-fit: contain; align-self: flex-start; }
.teslim-imza-bos { flex: 1; min-height: 70px; border-bottom: 1px solid #8a776a; }
.teslim-imza-zaman { font-size: .75rem; color: #6b5a4e; }
.teslim-iptal { margin-top: 10px; color: #a3392b; font-weight: 700; border: 2px solid #a3392b; border-radius: 6px; padding: 6px 10px; text-align: center; }
.teslim-alt { margin-top: 10px; font-size: .75rem; color: #7a6a5f; }
.imza-pencere { max-width: 720px; width: 100%; }
.imza-tuval { width: 100%; height: 220px; background: #fff; border: 2px dashed var(--cizgi-guclu, #c9ab93); border-radius: 8px; touch-action: none; display: block; cursor: crosshair; }
@media (max-width: 600px) { .teslim-imzalar { grid-template-columns: 1fr; } .teslim-belge { padding: 12px; } .imza-tuval { height: 200px; } }
@media print {
  @page { size: A4; margin: 12mm; }
  body.teslim-yazdir * { visibility: hidden !important; }
  body.teslim-yazdir .teslim-belge, body.teslim-yazdir .teslim-belge * { visibility: visible !important; }
  body.teslim-yazdir .teslim-belge { position: absolute; left: 0; top: 0; width: 100%; border: none; max-width: none; padding: 0; }
  body.teslim-yazdir .teslim-belge .btn { display: none !important; }
}

/* ---------------------------------------------------------------- Finansal durum (0312) */
.fd-kutular .fd-kutu { flex: 1; min-width: 200px; }
.fd-buyuk { font-size: 1.45rem; font-weight: 700; }
.fd-arti .fd-buyuk { color: var(--basari); }
.fd-eksi .fd-buyuk { color: var(--tehlike); }
.fd-iki { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
@media (max-width: 900px) { .fd-iki { grid-template-columns: 1fr; } }
.fd-bolum > summary { display: flex; gap: .6rem; align-items: baseline; }
.fd-bolum .fd-ad { flex: 1; min-width: 0; }
.fd-bolum .fd-tutar { font-weight: 700; white-space: nowrap; }
.fd-alt > summary { padding-left: 1rem; font-size: var(--fs-sm); }

/* ================= Raporlar (raporlar.js, rapor_baski.js) — 9 Kasım 2026 düzeni ================= */
/* Liste: gruplar, ikonlu satır kartları */
.rapor-grup { margin-bottom: 1.1rem; }
.rapor-grup-baslik { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--soluk); margin: 0 0 .45rem; }
.rapor-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: .55rem; }
.rapor-liste-kart { display: flex; align-items: center; gap: .8rem; padding: .8rem .9rem; min-height: 64px; background: var(--kart); border: 1px solid var(--cizgi);
  border-radius: var(--r, 12px); color: inherit; text-decoration: none; transition: border-color .15s, background .15s; }
.rapor-liste-kart:hover, .rapor-liste-kart:focus-visible { border-color: var(--vurgu); background: var(--ic-kart); }
.rapor-liste-ikon { flex: none; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--vurgu-acik); color: var(--vurgu); }
.rapor-liste-ikon .ikon { width: 20px; height: 20px; }
.rapor-liste-yazi { flex: 1; min-width: 0; display: grid; gap: .15rem; }
.rapor-liste-yazi b { font-size: 1rem; }
.rapor-liste-yazi > span { font-size: var(--fs-sm); color: var(--soluk); line-height: 1.35; }
.rapor-liste-ok { flex: none; font-size: 1.4rem; color: var(--soluk); }
@media (max-width: 700px) { .rapor-liste { grid-template-columns: 1fr; } }

/* Başlık: konum yolu, ad + açıklama solda, Excel / PDF sağda */
.rapor-yol { display: flex; gap: .4rem; align-items: center; font-size: var(--fs-sm); color: var(--soluk); margin-bottom: .25rem; }
.rapor-yol a { color: var(--soluk); text-decoration: none; padding: .35rem 0; }
.rapor-yol a:hover { color: var(--vurgu); text-decoration: underline; }
.rapor-ust { display: flex; gap: .8rem; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; margin-bottom: .7rem; }
.rapor-ust-yazi { flex: 1 1 320px; min-width: 0; }
.rapor-ust h1 { margin: 0; }
.rapor-aciklama { color: var(--soluk); font-size: var(--fs-sm); margin-top: .2rem; max-width: 70ch; }
.rapor-ust-arac { display: flex; gap: .4rem; flex: none; }
.rapor-ust-arac:empty { display: none; }

/* Süzgeç kutusu: dönem satırı + rapora özel süzgeçler tek kutuda */
.rapor-suzgec { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r, 12px); margin-bottom: .9rem; }
.rapor-suzgec-satir { display: flex; gap: .55rem .7rem; align-items: center; flex-wrap: wrap; padding: .6rem .75rem; }
.rapor-suzgec-etiket { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--soluk); }
.rapor-suzgec-satir input[type=month], .rapor-suzgec-satir input[type=date] { width: auto; min-height: 36px; padding: .25rem .5rem; }
.rapor-donem-cip { margin-left: auto; font-weight: 700; font-size: var(--fs-sm); white-space: nowrap; }
.rapor-suzgec-ic:empty { display: none; }
.rapor-suzgec-ic { border-top: 1px solid var(--cizgi); padding: .6rem .75rem; display: grid; gap: .55rem; }
.rapor-suzgec-ek { display: grid; gap: .5rem; }
.rapor-suzgec-ek > .satir { gap: .5rem; flex-wrap: wrap; align-items: center; }
.rapor-suzgec-ek select { width: auto; min-height: 36px; font-size: var(--fs-sm); }
.rapor-suzgec-ek .segment, .rapor-suzgec-ek > .segment { justify-self: start; }
.rapor-suzgec-ek .btn.suzgec { min-height: 36px; }
.rapor-suzgec-ek input[type=search] { min-height: 36px; }
/* segment: birbirine yapışık seçenek düğmeleri, seçili olan beyaz zeminli */
.segment.cip-serit { display: inline-flex !important; flex-wrap: nowrap !important; gap: 2px !important; padding: 3px; border-radius: 10px; background: var(--ic-kart); border: 1px solid var(--cizgi);
  overflow-x: auto; max-width: 100%; scrollbar-width: none; }
.segment.cip-serit::-webkit-scrollbar { display: none; }
.segment .btn { border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--soluk); min-height: 34px; padding: .3rem .75rem; border-radius: 8px; white-space: nowrap; font-weight: 600; }
.segment .btn:hover { color: var(--yazi); }
.segment .btn.secili { background: var(--kart) !important; color: var(--yazi); box-shadow: 0 1px 2px rgba(60, 40, 25, .14) !important; }
.segment.cip-serit { margin: 0 !important; }
@media (max-width: 1023px) { .segment .btn, .rapor-suzgec-ek .btn.suzgec, .rapor-suzgec-ek select, .rapor-suzgec-ek input[type=search], .rapor-ust-arac .btn { min-height: 44px; } .rapor-yol a { display: inline-flex; align-items: center; min-height: 44px; } }
@media (max-width: 700px) { .rapor-donem-cip { margin-left: 0; flex-basis: 100%; } .rapor-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rapor-kpi .rapor-kpi-deger { font-size: 1.15rem; } .rapor-suzgec-satir, .rapor-suzgec-ic { padding: .55rem; } }

/* Özet kutuları: eşit boy, büyük rakam */
.rapor-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .6rem; margin-bottom: 1rem; }
.rapor-kpi-kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r, 12px); padding: .75rem .9rem; display: grid; gap: .25rem; align-content: start; min-width: 0; }
.rapor-kpi-ad { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--soluk); }
.rapor-kpi-deger { font-size: 1.45rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.25; overflow-wrap: anywhere; }
.rapor-kpi-deger .birim { font-size: .62em; margin-left: .25em; }
.rapor-kpi-alt { font-size: var(--fs-sm); color: var(--soluk); }

/* Gövde: bölüm başlıkları, tablolar, ipucu, boş durum */
.rapor-govde h2 { font-size: 1rem; margin: 1.1rem 0 .45rem; display: flex; align-items: baseline; gap: .4rem; }
.rapor-govde > div > .satir:empty { display: none; }
.rapor-tablo-kutu { overflow: auto; max-height: 72vh; margin-bottom: .6rem; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r, 12px); }
.rapor-tablo { width: 100%; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
.rapor-tablo thead th { position: sticky; top: 0; z-index: 1; background: var(--ic-kart); font-size: var(--fs-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--soluk); padding: .55rem .7rem; border-bottom: 1px solid var(--cizgi); text-align: left; vertical-align: bottom; }
/* başlıklar iki satıra inebilir (geniş tutar sütunu başlığı tabloyu taşırmasın); kısa başlıklar tek satır kalır */
.rapor-tablo thead th.sayi { min-width: 7.5rem; }
.rapor-tablo :is(thead th, td) { white-space: normal; }   /* .veri-tablo nowrap kuralı raporlarda tabloyu taşırıyordu; tutar hücreleri .sayi ile tek satır */
.rapor-tablo td { padding: .55rem .7rem; border-bottom: 1px solid var(--cizgi); vertical-align: top; }
.rapor-tablo tbody tr:nth-child(even) > td { background: color-mix(in srgb, var(--ic-kart) 55%, transparent); }
.rapor-tablo tbody tr.tikla { cursor: pointer; }
.rapor-tablo tbody tr.tikla:hover > td { background: var(--vurgu-acik); }
.rapor-tablo tbody tr.tikla:focus-visible { outline: 2px solid var(--vurgu); outline-offset: -2px; }
.rapor-tablo :is(td, th).sayi { text-align: right; white-space: nowrap; }
.rapor-tablo td.ilk { font-weight: 600; }
.rapor-tablo tbody td:first-child, .rapor-tablo thead th:first-child, .rapor-tablo tfoot th:first-child { position: sticky; left: 0; z-index: 1; background: var(--kart); }
.rapor-tablo thead th:first-child, .rapor-tablo tfoot th:first-child { z-index: 2; background: var(--ic-kart); }
.rapor-tablo .birim { font-size: .78em; color: var(--soluk); margin-left: .3em; }
.rapor-tablo tfoot th { position: sticky; bottom: 0; background: var(--ic-kart); border-top: 2px solid var(--cizgi); padding: .6rem .7rem; font-weight: 700; text-align: left; }
.rapor-tablo tfoot th.sayi { text-align: right; }
.rapor-tablo tbody tr:last-child > td { border-bottom: 0; }
.rapor-govde .soluk.rapor-arac { font-size: var(--fs-sm); padding: .2rem .1rem; }
.rapor-govde .bos { border: 1px dashed var(--cizgi); border-radius: var(--r, 12px); padding: 1.4rem 1rem; text-align: center; color: var(--soluk); background: transparent; }
@media (max-width: 1023px) { .rapor-tablo tr.tikla > td { padding-top: .8rem; padding-bottom: .8rem; } .rapor-tablo-kutu { max-height: none; } }
/* grup başlığı / grup toplamı (Drive raporundaki harcama türleri), tutarsız satır, rapor altı not kutusu */
.rapor-tablo tr.rapor-ara > th { position: static; text-align: left; padding: .7rem .7rem .35rem; font-size: var(--fs-xs); font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--soluk); background: var(--ic-kart); border-bottom: 1px solid var(--cizgi); }
.rapor-tablo tr.rapor-ara-toplam > td { font-weight: 700; background: color-mix(in srgb, var(--ic-kart) 70%, transparent) !important; }
.rapor-tablo tr.soluk-satir > td { color: var(--soluk); }
.rapor-tablo .rapor-doviz { display: inline-block; margin-left: .4em; padding: 0 .35em; border-radius: 4px; font-size: .78em; font-weight: 600; background: var(--ic-kart); color: var(--soluk); }
.rapor-tablo .rapor-kod { display: block; font-size: .78em; font-weight: 400; color: var(--soluk); }
.rapor-dolu { display: inline-flex; gap: .45rem; align-items: center; font-weight: 400; margin: 0 0 .5rem; min-height: 44px; cursor: pointer; }
.rapor-dolu input { width: auto; min-height: auto; }
.rapor-not { margin-top: .7rem; display: grid; gap: .3rem; font-size: var(--fs-sm); }
/* Telefon: rapor tabloları kart listesine döner (yana kaydırma yok). Her hücre solda sütun adı, sağda değer;
   ilk hücre kartın başlığı; boş hücre gizli; grup başlığı ara başlık olur. Yazdırmada tablo kalır (yalnız ekran). */
@media screen and (max-width: 640px) {
  .rapor-tablo-kutu { overflow: visible; max-height: none; background: none; border: 0; border-radius: 0; }
  .rapor-tablo, .rapor-tablo > tbody, .rapor-tablo > tfoot { display: block; }
  .rapor-tablo > thead { display: none; }
  .rapor-tablo tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem .9rem; background: var(--kart); border: 1px solid var(--cizgi);
    border-radius: var(--r-kucuk, 10px); padding: .6rem .8rem; margin-bottom: .5rem; }
  .rapor-tablo tr > :is(td, th) { display: block; padding: 0; border: 0; position: static; background: none !important; text-align: left; white-space: normal; font-weight: 400; min-width: 0; }
  .rapor-tablo tr > :is(td, th)::before { content: attr(data-ad); display: block; color: var(--soluk); font-size: var(--fs-xs); line-height: 1.3; }
  .rapor-tablo tr > :is(td, th):first-child { grid-column: 1 / -1; font-weight: 700; font-size: 1rem; overflow-wrap: anywhere; }
  .rapor-tablo tr > :is(td, th).sayi, .rapor-tablo tfoot th.sayi { text-align: left; }
  .rapor-tablo tr.tikla > :is(td, th) { padding: 0; }
  .rapor-tablo tr > :is(td, th):first-child::before { content: none; }
  .rapor-tablo tr > :is(td, th).bos-hucre { display: none; }
  .rapor-tablo tr > :is(td, th) > .hd { min-width: 0; overflow-wrap: anywhere; }
  .rapor-tablo tr > :is(td, th).sayi > .hd { white-space: nowrap; font-weight: 600; }
  .rapor-tablo tr.rapor-ara { background: none; border: 0; padding: .7rem .1rem .25rem; margin: 0; }
  .rapor-tablo tr.rapor-ara > th { display: block; padding: 0; background: none; border: 0; }
  .rapor-tablo tr.rapor-ara-toplam { border-style: dashed; }
  .rapor-tablo > tfoot > tr { border-width: 2px; border-color: var(--vurgu); }
  .rapor-tablo tbody tr.tikla { position: relative; padding-right: 1.6rem; }
  .rapor-tablo tbody tr.tikla::after { content: '›'; position: absolute; right: .7rem; top: .55rem; color: var(--soluk); font-size: 1.2rem; }
}

/* ---------------- PDF (yazdırma) ---------------- */
.rapor-baski-ust { display: none; }
@media print {
  body.rapor-yazdir { background: #fff !important; color: #1d1712 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.rapor-yazdir :is(aside.yan-menu, nav.sekmeler, .ust, .rapor-arac, .alt-cubuk, .yukari-dugme, .sorun-dugme, #bildirim, .arti-dugme, .uyari-serit.bildirim) { display: none !important; }
  body.rapor-yazdir main.icerik { margin: 0 !important; padding: 0 !important; max-width: none !important; }
  body.rapor-yazdir :is(h1, h2, h3, td, th, div, span, b, a, summary) { color: #1d1712 !important; }
  body.rapor-yazdir .rapor-baski-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 6mm; padding-bottom: 3mm; margin-bottom: 4mm; border-bottom: .6mm solid #8a5f43; }
  body.rapor-yazdir .rb-sol { display: flex; gap: 2.5mm; align-items: center; }
  body.rapor-yazdir .rb-sol img { width: 11mm; height: auto; }
  body.rapor-yazdir .rb-firma { font-size: 13pt; font-weight: 800; letter-spacing: .12em; color: #74503a !important; }
  body.rapor-yazdir .rb-alt { font-size: 7.5pt; color: #6b5d50 !important; }
  body.rapor-yazdir .rb-sag { text-align: right; }
  body.rapor-yazdir .rb-baslik { font-size: 14pt; font-weight: 800; }
  body.rapor-yazdir :is(.rb-donem, .rb-suzgec, .rb-hazir) { font-size: 8pt; color: #4a3d32 !important; margin-top: .6mm; }
  body.rapor-yazdir .rb-donem { font-weight: 700; color: #1d1712 !important; }
  body.rapor-yazdir .rapor-ust h1, body.rapor-yazdir .rapor-ust { display: none !important; }
  body.rapor-yazdir .rapor-suzgec { display: none !important; }
  body.rapor-yazdir .rapor-kpi { grid-template-columns: repeat(4, 1fr); gap: 2.5mm; margin-bottom: 4mm; }
  body.rapor-yazdir .rapor-kpi-kart { border: .25mm solid #d9cbbd !important; border-radius: 2mm; padding: 2mm 3mm; background: #faf6f1 !important; break-inside: avoid; }
  body.rapor-yazdir .rapor-kpi-ad { font-size: 6.5pt; color: #6b5d50 !important; }
  body.rapor-yazdir .rapor-kpi-deger { font-size: 11.5pt; }
  body.rapor-yazdir .rapor-kpi-alt { font-size: 7pt; color: #4a3d32 !important; }
  body.rapor-yazdir .rapor-govde h2 { font-size: 10pt; margin: 4mm 0 1.5mm; break-after: avoid; }
  body.rapor-yazdir :is(.tablo-kutu, .rapor-tablo-kutu) { overflow: visible !important; max-height: none !important; border: 0 !important; border-radius: 0; background: none !important; }
  body.rapor-yazdir .veri-tablo { font-size: 8pt; width: 100%; border-collapse: collapse; }
  body.rapor-yazdir .veri-tablo thead { display: table-header-group; }
  body.rapor-yazdir .veri-tablo thead th { position: static; background: #efe5da !important; color: #3b2f25 !important; font-size: 6.8pt; padding: 1.4mm 1.6mm; border-bottom: .3mm solid #b99c82; }
  body.rapor-yazdir .veri-tablo td { padding: 1.2mm 1.6mm; border-bottom: .15mm solid #e2d6ca; background: #fff !important; }
  body.rapor-yazdir .veri-tablo tbody tr:nth-child(even) > td { background: #faf7f3 !important; }
  body.rapor-yazdir .veri-tablo tfoot th { position: static; background: #efe5da !important; border-top: .4mm solid #8a5f43; padding: 1.5mm 1.6mm; font-size: 8pt; }
  body.rapor-yazdir .veri-tablo tr { break-inside: avoid; }
  body.rapor-yazdir .rapor-tablo tr > td { padding: 1.1mm 1.6mm !important; vertical-align: top; }
  body.rapor-yazdir .rapor-tablo tr.soluk-satir { display: none !important; }   /* tutarı olmayan kalem basılmaz */   /* A4 genişliği dar ekran sayılıp telefon satır aralığı basılıyordu */
  body.rapor-yazdir .rapor-tablo tr.rapor-ara > th { padding: 2.2mm 1.6mm .8mm !important; font-size: 7pt; background: #fff !important; border-bottom: .3mm solid #b99c82; }
  body.rapor-yazdir .rapor-tablo tr.rapor-ara-toplam > td { background: #f3ebe2 !important; }
  body.rapor-yazdir .rapor-tablo .rapor-kod { display: inline; margin-left: 1.5mm; }
  body.rapor-yazdir .rapor-tablo .birim { color: #6b5d50 !important; }
  body.rapor-yazdir .bos { border: .2mm dashed #ccc; padding: 4mm; }
  body.rapor-yazdir details > summary { list-style: none; }
  body.rapor-yazdir details > summary::-webkit-details-marker { display: none; }
  body.rapor-yazdir .fd-kutular { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 3mm; }
  body.rapor-yazdir .fd-kutu { border: .25mm solid #d9cbbd !important; background: #faf6f1 !important; padding: 2.5mm 3mm !important; break-inside: avoid; }
  body.rapor-yazdir .fd-buyuk { font-size: 13pt; }
  body.rapor-yazdir .fd-iki { grid-template-columns: 1fr; gap: 2mm; }
  body.rapor-yazdir .fd-iki h2 { font-size: 11pt; margin: 3mm 0 1.5mm; border-bottom: .4mm solid #8a5f43; padding-bottom: 1mm; }
  body.rapor-yazdir .fd-bolum .katlanir-icerik { padding: 1mm 0 2mm; }
  body.rapor-yazdir .fd-bolum .alt { font-size: 7.5pt; }
  body.rapor-yazdir .fin-tablo { width: 100%; font-size: 7.8pt; border-collapse: collapse; }
  body.rapor-yazdir .fin-tablo th { background: #efe5da !important; font-size: 6.8pt; padding: 1.2mm 1.5mm; text-align: left; }
  body.rapor-yazdir .fin-tablo td { padding: 1mm 1.5mm; border-bottom: .15mm solid #e2d6ca; }
  body.rapor-yazdir .fin-tablo .sayi { text-align: right; white-space: nowrap; }
  body.rapor-yazdir .fin-tablo tr { break-inside: avoid; }
  body.rapor-yazdir .fd-kutu .alt { font-size: 7.5pt; }
  body.rapor-yazdir .fd-bolum { break-inside: avoid-page; margin-bottom: 2mm; }
  body.rapor-yazdir .fd-bolum > summary { border-bottom: .2mm solid #d9cbbd; padding: 1mm 0; font-size: 9pt; }
  body.rapor-yazdir .kart { box-shadow: none !important; border: .25mm solid #d9cbbd !important; background: #fff !important; }
  body.rapor-yazdir :is(.rehber, .katlanir:not(.fd-bolum)) { display: none !important; }
}
/* PDF ölçümü (rapor_baski.js): yazdırma kurallarının ekrandaki kopyası; rapor A4 genişliğinde bir an ölçülüp tek sayfaya sığdırma oranı bulunur.
   Yazdırma kuralı eklerken / değiştirirken bu kopyayı da aynı biçimde güncelleyin (kendiliğinden güncellenmez). */
@media screen {
  body.rapor-olcum { background: #fff !important; color: #1d1712 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.rapor-olcum :is(aside.yan-menu, nav.sekmeler, .ust, .rapor-arac, .alt-cubuk, .yukari-dugme, .sorun-dugme, #bildirim, .arti-dugme, .uyari-serit.bildirim) { display: none !important; }
  body.rapor-olcum main.icerik { margin: 0 !important; padding: 0 !important; max-width: none !important; width: var(--olcum-gen) !important; box-sizing: border-box; }
  body.rapor-olcum { visibility: hidden; }
  body.rapor-olcum :is(h1, h2, h3, td, th, div, span, b, a, summary) { color: #1d1712 !important; }
  body.rapor-olcum .rapor-baski-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 6mm; padding-bottom: 3mm; margin-bottom: 4mm; border-bottom: .6mm solid #8a5f43; }
  body.rapor-olcum .rb-sol { display: flex; gap: 2.5mm; align-items: center; }
  body.rapor-olcum .rb-sol img { width: 11mm; height: auto; }
  body.rapor-olcum .rb-firma { font-size: 13pt; font-weight: 800; letter-spacing: .12em; color: #74503a !important; }
  body.rapor-olcum .rb-alt { font-size: 7.5pt; color: #6b5d50 !important; }
  body.rapor-olcum .rb-sag { text-align: right; }
  body.rapor-olcum .rb-baslik { font-size: 14pt; font-weight: 800; }
  body.rapor-olcum :is(.rb-donem, .rb-suzgec, .rb-hazir) { font-size: 8pt; color: #4a3d32 !important; margin-top: .6mm; }
  body.rapor-olcum .rb-donem { font-weight: 700; color: #1d1712 !important; }
  body.rapor-olcum .rapor-ust h1, body.rapor-olcum .rapor-ust { display: none !important; }
  body.rapor-olcum .rapor-suzgec { display: none !important; }
  body.rapor-olcum .rapor-kpi { grid-template-columns: repeat(4, 1fr); gap: 2.5mm; margin-bottom: 4mm; }
  body.rapor-olcum .rapor-kpi-kart { border: .25mm solid #d9cbbd !important; border-radius: 2mm; padding: 2mm 3mm; background: #faf6f1 !important; break-inside: avoid; }
  body.rapor-olcum .rapor-kpi-ad { font-size: 6.5pt; color: #6b5d50 !important; }
  body.rapor-olcum .rapor-kpi-deger { font-size: 11.5pt; }
  body.rapor-olcum .rapor-kpi-alt { font-size: 7pt; color: #4a3d32 !important; }
  body.rapor-olcum .rapor-govde h2 { font-size: 10pt; margin: 4mm 0 1.5mm; break-after: avoid; }
  body.rapor-olcum :is(.tablo-kutu, .rapor-tablo-kutu) { overflow: visible !important; max-height: none !important; border: 0 !important; border-radius: 0; background: none !important; }
  body.rapor-olcum .veri-tablo { font-size: 8pt; width: 100%; border-collapse: collapse; }
  body.rapor-olcum .veri-tablo thead { display: table-header-group; }
  body.rapor-olcum .veri-tablo thead th { position: static; background: #efe5da !important; color: #3b2f25 !important; font-size: 6.8pt; padding: 1.4mm 1.6mm; border-bottom: .3mm solid #b99c82; }
  body.rapor-olcum .veri-tablo td { padding: 1.2mm 1.6mm; border-bottom: .15mm solid #e2d6ca; background: #fff !important; }
  body.rapor-olcum .veri-tablo tbody tr:nth-child(even) > td { background: #faf7f3 !important; }
  body.rapor-olcum .veri-tablo tfoot th { position: static; background: #efe5da !important; border-top: .4mm solid #8a5f43; padding: 1.5mm 1.6mm; font-size: 8pt; }
  body.rapor-olcum .veri-tablo tr { break-inside: avoid; }
  body.rapor-olcum .rapor-tablo tr > td { padding: 1.1mm 1.6mm !important; vertical-align: top; }
  body.rapor-olcum .rapor-tablo tr.soluk-satir { display: none !important; }   /* tutarı olmayan kalem basılmaz */   /* A4 genişliği dar ekran sayılıp telefon satır aralığı basılıyordu */
  body.rapor-olcum .rapor-tablo tr.rapor-ara > th { padding: 2.2mm 1.6mm .8mm !important; font-size: 7pt; background: #fff !important; border-bottom: .3mm solid #b99c82; }
  body.rapor-olcum .rapor-tablo tr.rapor-ara-toplam > td { background: #f3ebe2 !important; }
  body.rapor-olcum .rapor-tablo .rapor-kod { display: inline; margin-left: 1.5mm; }
  body.rapor-olcum .rapor-tablo .birim { color: #6b5d50 !important; }
  body.rapor-olcum .bos { border: .2mm dashed #ccc; padding: 4mm; }
  body.rapor-olcum details > summary { list-style: none; }
  body.rapor-olcum details > summary::-webkit-details-marker { display: none; }
  body.rapor-olcum .fd-kutular { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 3mm; }
  body.rapor-olcum .fd-kutu { border: .25mm solid #d9cbbd !important; background: #faf6f1 !important; padding: 2.5mm 3mm !important; break-inside: avoid; }
  body.rapor-olcum .fd-buyuk { font-size: 13pt; }
  body.rapor-olcum .fd-iki { grid-template-columns: 1fr; gap: 2mm; }
  body.rapor-olcum .fd-iki h2 { font-size: 11pt; margin: 3mm 0 1.5mm; border-bottom: .4mm solid #8a5f43; padding-bottom: 1mm; }
  body.rapor-olcum .fd-bolum .katlanir-icerik { padding: 1mm 0 2mm; }
  body.rapor-olcum .fd-bolum .alt { font-size: 7.5pt; }
  body.rapor-olcum .fin-tablo { width: 100%; font-size: 7.8pt; border-collapse: collapse; }
  body.rapor-olcum .fin-tablo th { background: #efe5da !important; font-size: 6.8pt; padding: 1.2mm 1.5mm; text-align: left; }
  body.rapor-olcum .fin-tablo td { padding: 1mm 1.5mm; border-bottom: .15mm solid #e2d6ca; }
  body.rapor-olcum .fin-tablo .sayi { text-align: right; white-space: nowrap; }
  body.rapor-olcum .fin-tablo tr { break-inside: avoid; }
  body.rapor-olcum .fd-kutu .alt { font-size: 7.5pt; }
  body.rapor-olcum .fd-bolum { break-inside: avoid-page; margin-bottom: 2mm; }
  body.rapor-olcum .fd-bolum > summary { border-bottom: .2mm solid #d9cbbd; padding: 1mm 0; font-size: 9pt; }
  body.rapor-olcum .kart { box-shadow: none !important; border: .25mm solid #d9cbbd !important; background: #fff !important; }
  body.rapor-olcum :is(.rehber, .katlanir:not(.fd-bolum)) { display: none !important; }
}
/* Araçlar haritası katmanları (0320): projeler ve şirket konumları; süzgeç */
.harita-nokta-kap { width: 0; height: 0; }
.harita-nokta { position: absolute; transform: translate(-50%, -50%); padding: .08rem .4rem; border-radius: 999px; font-size: 11px; line-height: 1.2; white-space: nowrap;
  background: var(--yuzey, #fff); color: var(--yazi, #2b2622); border: 2px solid #b0835c; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); }
.harita-nokta b { font-weight: 700; }
.harita-nokta.proje.alu { border-color: #5f7f8c; }
.harita-nokta.proje.bugun { border-width: 3px; border-color: #8a5f43; background: #f6e9dc; color: #33291f; font-weight: 700; }
.harita-nokta.konum { border-radius: 4px; border-color: #4f6a52; background: #4f6a52; color: #fff; }
.harita-nokta.konum.magaza { border-color: #7a5a7a; background: #7a5a7a; }
.harita-nokta.konum.lojman { border-color: #6f6040; background: #6f6040; }
.harita-suzgec-oge { border: 1px solid var(--cizgi); border-radius: 999px; padding: .3rem .7rem; font-size: var(--fs-sm); cursor: pointer; min-height: 36px; }
.harita-suzgec-oge.acik { background: var(--yuzey-2, transparent); }

/* Liste süzgeç çubuğu (Alış faturaları, 10 Kasım 2026): tek satır, dar ekranda sarar. Her süzgeç kendi adını taşır ("Döviz: TL");
   varsayılan dışı seçim vurgulu (.dolu). Yeni liste ekranlarında başlık + düğme satırları yerine bu çubuk kullanılır. */
.suzgec-cubuk { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin: .2rem 0 .8rem; }
.suzgec-cubuk .suzgec-ara { flex: 1 1 15rem; min-width: 0; min-height: 40px; }
.suzgec-cubuk .suzgec-sec { width: auto; min-height: 40px; padding: .35rem 2rem .35rem .7rem; border: 1px solid var(--cizgi); border-radius: 999px; background-color: var(--kart);
  color: var(--yazi); font: inherit; font-size: var(--fs-sm); cursor: pointer; max-width: 100%; text-overflow: ellipsis; }
.suzgec-cubuk button.suzgec-sec { padding-right: .8rem; white-space: nowrap; overflow: hidden; max-width: 18rem; }
.suzgec-cubuk .suzgec-sec.dolu { border-color: var(--vurgu); background-color: var(--vurgu-acik); font-weight: 600; }
.suzgec-cubuk .suzgec-temizle { min-width: 40px; min-height: 40px; border: 1px solid var(--cizgi); border-radius: 999px; background: var(--kart); color: var(--soluk); cursor: pointer; margin-left: -.3rem; }
.suzgec-cubuk .suzgec-tarih { display: inline-flex; gap: .3rem; align-items: center; }
.suzgec-cubuk .suzgec-tarih input { width: auto; min-height: 40px; }
@media (max-width: 640px) {
  .suzgec-cubuk { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .suzgec-cubuk :is(.suzgec-ara, .suzgec-tarih, .btn.hayalet) { grid-column: 1 / -1; }
  .suzgec-cubuk .suzgec-sec { width: 100%; min-width: 0; max-width: none; }
  .suzgec-cubuk .suzgec-temizle { display: none; }
  .suzgec-cubuk .btn.hayalet { justify-self: start; }
}
@media (max-width: 700px) { .rapor-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rapor-kpi .rapor-kpi-deger { font-size: 1.15rem; } }   /* rapor ve liste ekranlarında toplam kutuları telefonda iki sütun */
/* Kaşe ve banka bilgileri (0329): kopyalanacak metin, olduğu gibi (satır sonları korunur) */
.kase-blok { margin-top: .8rem; }
.kase-metin { white-space: pre-wrap; word-break: break-word; font: inherit; line-height: 1.6; margin: .6rem 0 0; padding: .7rem .9rem; border: 1px dashed var(--cizgi); border-radius: var(--r-kucuk); background: var(--zemin); user-select: all; }
/* Personel ve araç formları (0330): sabit tablo, zimmet tablosu, madde / işaret kutusu satırları */
.szl-tablo { width: 100%; border-collapse: collapse; margin: 3pt 0 6pt; }
.szl-tablo th, .szl-tablo td { border: 1px solid #cfc6ba; padding: 3pt 4pt; text-align: left; vertical-align: top; font-size: 9.5pt; }
.szl-tablo td { height: 15pt; }
.szl-tablo th { background: #f3eee8; font-weight: 600; }
.szl-madde { margin: 1.5pt 0 1.5pt 8pt; }
.kase-ana { display: flex; flex-wrap: wrap; gap: .6rem; margin: .8rem 0 .2rem; }
.kase-ana .btn { flex: 1 1 16rem; min-height: 52px; font-size: 1rem; }
/* İhtarname düzenleme (0334) */
.ihtar-baslik { font-weight: 600; margin: .6rem 0 .4rem; }
.ihtar-baslik:first-child { margin-top: 0; }
.ihtar-sablonlar { display: flex; flex-wrap: wrap; gap: .4rem; }
.ihtar-etiket { display: grid; gap: .25rem; margin-top: .6rem; font-size: var(--fs-sm); color: var(--soluk); }
.ihtar-konu { width: 100%; }
.ihtar-metin { width: 100%; min-height: 22rem; font: inherit; line-height: 1.55; resize: vertical; }
/* Araç kartı işlemleri: tek sıra, eşit görünüm; dar panelde alt alta tam genişlik */
.arac-eylemler { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .45rem; }
.arac-eylemler .btn { white-space: nowrap; justify-content: flex-start; }
.liste-panel .arac-eylemler { display: grid; grid-template-columns: 1fr; }
.liste-panel .arac-eylemler .btn { width: 100%; }

/* ---- İş emri belgesi: telefonda ekrana sığma, atlama şeridi, tam ekran çizim; baskıda sayfa sığdırma (12 Kasım) ---- */
@media screen {
  .ie-belge.sigdir { padding: 6px; }
  .ie-belge.sigdir .ie-sayfa.dikey { zoom: var(--ekran-olcek-d, 1); }
  .ie-belge.sigdir .ie-sayfa.yatay { zoom: var(--ekran-olcek-y, 1); }
  .ie-belge.sigdir .ie-sayfa { margin: 8px auto; }
  /* Küçültülmüş sayfada 1 px çizgi telefonda kayboluyordu: çizgi kalınlığı ölçeğe göre büyür (ekranda yine ~1 px görünür) */
  .ie-belge.sigdir .ie-sayfa.dikey :is(.ie-tablo th, .ie-tablo td, .ie-bilgi td) { border-width: calc(1px / var(--ekran-olcek-d, 1)); }
  .ie-belge.sigdir .ie-sayfa.yatay :is(.ie-tablo th, .ie-tablo td, .ie-bilgi td, .ie-uretim, .ie-uretim-sol, .ie-urun, .ie-atolye, .ie-sol-bas) { border-width: calc(1px / var(--ekran-olcek-y, 1)); }
  /* Ölçüm düzeni (isemri.js baskiOlc): baskıdaki genişlik ve yükseklik kuralları ekranda bir anlık uygulanır.
     Yazdırma kuralı (.ie-sayfa / .ie-uretim baskı yüksekliği) değişince burayı da değiştir. */
  .ie-belge.ie-olcum .ie-sayfa { box-shadow: none; margin: 0; padding: 0; min-height: 0 !important; zoom: 1 !important; }
  .ie-belge.ie-olcum .ie-sayfa.dikey { width: 194mm !important; }
  .ie-belge.ie-olcum .ie-sayfa.yatay { width: 281mm !important; height: auto; max-height: none; overflow: visible; padding-right: .4mm; }
  .ie-belge.ie-olcum .ie-sayfa.yatay .ie-uretim { flex: none; min-height: 0; height: 142mm; }
  .ie-belge.ie-olcum .ie-sayfa.yatay .ie-uretim.tam { height: 174mm; }
  .ie-belge.ie-baski .ie-cizim img { cursor: zoom-in; }
}
/* Sayfa listesi penceresi (Google E-Tablolar'daki tüm sayfalar gibi) */
.ie-belge.ie-baski .ie-sayfa { scroll-margin-top: 8px; }
/* Sade liste: düğmenin altında küçük açılır liste (perde neredeyse saydam) */
.perde.ie-sayfa-perde { background: rgba(20, 18, 16, .12); align-items: flex-start; justify-content: center; padding-left: 10px; padding-right: 10px; }
.perde.ie-sayfa-perde .pencere.ie-sayfa-listesi { width: 100%; max-width: 340px; max-height: min(60vh, 460px); overflow-y: auto; padding: 4px; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.22); animation: none; }
.ie-sayfa-satir { display: flex; align-items: center; gap: .55rem; width: 100%; text-align: left; padding: .3rem .5rem; min-height: 34px; border: 0; border-radius: 6px; background: transparent; color: var(--yazi); font: inherit; font-size: .88rem; cursor: pointer; }
.ie-sayfa-satir:hover { background: color-mix(in srgb, var(--vurgu) 10%, transparent); }
.ie-sayfa-satir.secili { background: color-mix(in srgb, var(--vurgu) 18%, transparent); font-weight: 600; }
.ie-sayfa-sira { flex: none; min-width: 1.6rem; text-align: center; color: var(--soluk); font-size: .78rem; font-variant-numeric: tabular-nums; }
.ie-sayfa-ad { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ie-sayfa-alt { flex: 0 1 auto; max-width: 45%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--soluk); font-size: .75rem; font-weight: 400; }
@media (pointer: coarse) { .ie-sayfa-satir { min-height: 40px; } }
/* Aşağı kaydırınca üstte kalan ince "Sayfalar" çubuğu (araç çubuğu ekrandan çıkınca görünür) */
.ie-sayfa-cubuk { position: fixed; top: max(8px, env(safe-area-inset-top, 0px)); left: 50%; transform: translate(-50%, -150%); z-index: 15; display: inline-flex; align-items: center; gap: .45rem; max-width: min(92vw, 420px); min-height: 36px; padding: .25rem .8rem; border: 1px solid rgba(244, 236, 227, .25); border-radius: 999px; background: var(--antrasit, #293133); color: #f4ece3; font: inherit; font-size: .85rem; box-shadow: 0 4px 14px rgba(0,0,0,.25); cursor: pointer; opacity: 0; pointer-events: none; transition: transform .18s ease-out, opacity .18s ease-out; }
.ie-sayfa-cubuk.gorunur { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.ie-sayfa-cubuk-ad { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ie-sayfa-cubuk-simge, .ie-sayfa-cubuk-ok { flex: none; opacity: .8; }
@media (prefers-reduced-motion: reduce) { .ie-sayfa-cubuk { transition: none; } }
@media print { .ie-sayfalar-dugme, .ie-sayfa-cubuk { display: none !important; } }
@media (max-width: 760px) { .belge-arac-not { display: none; } }
.ie-tam-gorsel { position: fixed; inset: 0; z-index: 80; background: rgba(20, 18, 16, .94); overflow: auto; display: flex; align-items: flex-start; justify-content: center; padding: max(12px, env(safe-area-inset-top, 0px)) 8px 12px; touch-action: pinch-zoom pan-x pan-y; }
.ie-tam-gorsel img { width: 100%; max-width: 1600px; height: auto; background: #fff; border-radius: 4px; }
.ie-tam-gorsel .btn { position: fixed; top: max(10px, env(safe-area-inset-top, 0px)); right: 10px; }
@media print {
  .ie-belge.ie-baski .ie-sayfa { zoom: var(--baski-zoom, 1); }
  /* boyahane / döşeme / kapı formu ve kapak uzunsa kesilmez, sonraki sayfaya akar (yalnız üretim formu tek sayfa) */
  .ie-belge.ie-baski .ie-sayfa.yatay:not(:has(.ie-uretim)) { max-height: none; overflow: visible; }
  .ie-belge.ie-baski thead { display: table-header-group; }
  .ie-tam-gorsel { display: none !important; }
}
/* Telefondan yazdırma (isemri.js yazdir): kâğıt dikey A4; yatay formlar tam genişlikte dizilip sayfaya küçülerek sığar.
   (Chrome yazdırma ortam sorgularını @page yönüne göre değil varsayılan kâğıda göre değerlendirdiği için yön JS ile seçilir.) */
@media print {
  .ie-belge.ie-telefon-baski .ie-sayfa.yatay { width: 281mm !important; max-width: none; }
}
@media (max-width: 760px) {
  body.belge-gorunum .belge-arac { padding: 6px 10px; gap: .35rem; }
  body.belge-gorunum .belge-arac .btn { min-height: 36px; padding: .2rem .6rem; font-size: .85rem; }
}
/* İş emri kapağı zebra satırları (yumuşak ten; telefonda küçültülmüş sayfada da seçilsin) */
.ie-tablo.kapak.zebra tbody tr:nth-child(even):not(:last-child) td { background: #efe4d6; }

/* Kaldığı yerden devam eden dosya yükleme: köşedeki ilerleme kutusu (yukleme.js) */
.yukleme-kutu { position: fixed; left: max(12px, env(safe-area-inset-left, 0px)); bottom: calc(12px + env(safe-area-inset-bottom, 0px) + var(--sekme-yuk, 0px));
  z-index: 70; width: min(320px, calc(100vw - 24px)); background: var(--kart); color: var(--yazi); border: 1px solid var(--cizgi);
  border-radius: var(--r, 10px); box-shadow: 0 4px 16px rgba(60,40,25,.18); padding: .6rem .75rem; cursor: pointer; font-size: var(--fs-sm, .9rem); }
.yukleme-baslik { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.yukleme-cubuk { height: 6px; border-radius: 3px; background: var(--vurgu-acik); margin: .45rem 0 .35rem; overflow: hidden; }
.yukleme-cubuk > span { display: block; height: 100%; background: var(--vurgu); transition: width .3s ease; }
.yukleme-not { color: var(--soluk); font-size: var(--fs-xs, .8rem); }
.yukleme-satir { display: flex; justify-content: space-between; gap: .5rem; margin-top: .3rem; font-size: var(--fs-xs, .8rem); }
.yukleme-satir > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
@media print { .yukleme-kutu { display: none; } }
