/* Sipariş tipi rozeti */
.tip-badge { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: var(--yazi-xs); font-weight: 700; }
.tip-badge.tip-kesin { color: var(--brand-dark); background: var(--brand-soft); border-color: var(--brand-line); }
.tip-badge.tip-ongorulen { color: var(--green); background: var(--green-bg); border-color: var(--green-line); }
.tip-badge.tip-geciken { color: var(--amber); background: var(--amber-bg); border-color: var(--amber-line); }

/* Modal → tam sayfa (C: pop-up yerine ayrı sayfa; sidebar görünür kalır) */
.modal { position: fixed; inset: 0 0 0 208px; background: var(--bg); z-index: 100; overflow-y: auto; }
.modal[hidden] { display: none; }
.modal-box { background: transparent; width: 100%; max-width: 1320px; margin: 0 auto; min-height: 100%; display: flex; flex-direction: column; box-shadow: none; border-radius: 0; }
.modal-head { display: flex; align-items: center; gap: 16px; padding: 0 24px; height: 52px; background: var(--panel); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; }
.modal-head h3 { margin: 0; font-size: var(--yazi-lg); font-weight: 700; }
.modal-close { border: 1px solid var(--line-strong); background: #fff; height: 30px; width: auto; padding: 0 12px; border-radius: var(--radius); cursor: pointer; font-size: var(--yazi-md); font-weight: 700; color: var(--ink); }
.modal-close:hover { background: #f4f4f2; }
.modal-body { padding: 20px 24px; overflow: visible; }
@media (max-width: 860px) { .modal { inset: 0; } .modal-head, .modal-body { padding-left: 12px; padding-right: 12px; } }
.modal-count { color: var(--muted); font-size: var(--yazi-md); margin-bottom: 8px; }
/* Modal liste: ürün grubu başlık satırı */
.grup-baslik td { background: #eef1f1; font-size: var(--yazi-md); border-top: 2px solid #cdd9d9; }
.grup-baslik:first-child td { border-top: 0; }
.grup-baslik.grup-gec td { background: #fef2f2; border-top-color: #fecaca; }
.grup-no { background: #cdd9d9 !important; font-weight: 700; color: #353535; text-align: center; }
.grup-gec .grup-no { background: #fecaca !important; }
.satir-no { color: var(--muted); font-weight: 700; }
.grup-mod { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
/* Excel düğmesi gruplama düğmelerinden ayrılsın — farklı bir iş yapıyor */
.grup-mod .modal-excel { margin-left: auto; }
/* Kart → liste tablosu (2026-09-29): "#" sütunu yok, grup bilgisi kendi
   sütununda, alt satırlarda aynı zeminle boş sürer. Genişlikler sabit — artan yer yalnız Ürün Tanımı'na
   gider; Miktar ile Sipariş Tipi, Sipariş Tipi ile Durum arası açılmaz. */
.modal-liste { table-layout: fixed; }
.modal-liste col.ml-urun { width: 170px; }
.modal-liste col.ml-tarih { width: 130px; }
.modal-liste col.ml-tarih-grup { width: 230px; }
.modal-liste col.ml-miktar { width: 90px; }
.modal-liste col.ml-tip { width: 130px; }
.modal-liste col.ml-durum { width: 130px; }
.modal-liste td { overflow: hidden; text-overflow: ellipsis; }
.modal-liste td.ml-tanim { white-space: normal; }
.modal-liste th.num, .modal-liste td.num { padding-right: 24px; }
.modal-liste tr.ml-ilk td { border-top: 2px solid var(--line-strong); }
.modal-liste tbody tr.ml-ilk:first-child td { border-top: 0; }
.modal-liste td.ml-grup { background: var(--panel-2); border-bottom-color: transparent; }
.modal-liste td.ml-grup.gec { background: var(--red-row); }

/* Yükleme özeti değişim renkleri */
.d-pos { color: var(--green); }
.d-upd { color: var(--brand); }
.d-neg { color: var(--red); }
.yuk-blok-baslik { margin: 14px 0 8px; font-size: var(--yazi-lg); }
.yuk-bos { margin-bottom: 10px; }
.ok { color: var(--brand); font-weight: 700; }
/* "Yeni Ürün" rozeti — VSRM Yüklemesi · Ürünler (Selim kararı B, 2026-10-02; eski
   Ne Değişti'deki görünüm). */
.d-rozet { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: var(--yazi-xs); font-weight: 700; }
.d-posb { color: var(--green); background: var(--green-bg); border-color: var(--green-line); }
.d-updb { color: var(--brand-dark); background: var(--brand-soft); border-color: var(--brand-line); }
.d-negb { color: var(--red); background: var(--red-bg); border-color: var(--red-line); }
.d-yeni { color: var(--amber); background: var(--amber-bg); border: 1px solid var(--amber-line); }
.d-yeni-txt { color: var(--amber-ink); }
.yeni-urun-satir td { background: #fefce8; }

/* "Ne değişti" — tablodaki tek eylem, düz metin gibi durmasın: sayı
   sütunlarından sonra göze çarpan tek tıklanacak şey o. Ok işareti hover'da
   ilerliyor; gideceğin yerin ayrı bir SAYFA olduğunu söylüyor (eskiden
   pop-up'tı, artık tam sayfa). */
.ne-degisti-hucre { text-align: right; white-space: nowrap; }
.ne-degisti-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: 999px; cursor: pointer;
  background: var(--brand-soft); border: 1px solid var(--brand-line);
  color: var(--brand-dark); font-size: var(--yazi-sm); font-weight: 700;
  transition: background .15s, border-color .15s, color .15s;
}
.ne-degisti-btn:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
/* Değişiklik yoksa düğme pasif (Selim 2026-09-29): açılacak sayfa boştu. */
.ne-degisti-btn:disabled,
.ne-degisti-btn:disabled:hover { background: var(--panel-2); border-color: var(--line); color: var(--faint); cursor: default; }
.ne-degisti-btn:disabled .nd-ok { transform: none; }
.ne-degisti-btn .nd-ok { font-size: var(--yazi-md); line-height: 1; transition: transform .15s; }
.ne-degisti-btn:hover .nd-ok { transform: translateX(3px); }

/* Yükleme Özeti tablosu ekrana sığar — yatay kaydırma yok. Sabit yerleşim tabloyu
   kabına kilitler; uzun dosya adı kırpılır (tam ad hover'da, title). Yalnız bu tabloya
   özel; num başlıkları gerekirse iki satıra sarar, gövde hücreleri tek satır. */
#yuklemeTablo { table-layout: fixed; width: 100%; }
#yuklemeTablo col.c-tarih { width: 9rem; }
#yuklemeTablo col.c-musteri { width: 6rem; }
#yuklemeTablo col.c-nd { width: 7.5rem; }
#yuklemeTablo th { white-space: normal; }
#yuklemeTablo tbody td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#yuklemeTablo td.dosya-hucre { color: var(--text); }

/* SABİT YERLEŞİM + GLOBAL `th nowrap` = dar sütunda başlık komşu sütuna taşar
   ve metinler İÇ İÇE GEÇER (Selim bildirimi 2026-09-10). table-layout:fixed olan
   her tabloda başlık sarsın, taşan içerik kırpılsın — bindirme imkânsız hâle
   gelir. Kısa başlıklar tek satır kalır; yalnız sütununa sığmayan uzun başlık
   iki satıra iner. */
#yuklemeTablo th,
.pm-tablo th, .tt-tablo th, .sip-tablo th {
  white-space: normal; overflow: hidden; text-overflow: clip; line-height: 1.15;
}
/* BAŞLIK KISALTILMAZ (Selim 2026-09-10: "GÜNCELL…" olmaz, aynen yazılır,
   gerekirse iki satır). Sayaç sütunlarının genişliği ve başlık düzeni (VSRM P2c)
   stiller/bilesen/10-vsrm-yukleme.css'te. */

/* Kod bağlantıları TEK görünüm: mamül, yarı mamül, satın alma ve iş emri —
   hepsi aynı işi yapıyor, koda tıkla detayı aç. Ayrışmışlardı: mamül teal ve
   600 ağırlıkta, yarı mamül/satın alma lacivert ve 900'dü. 900'ün sebebi kodun
   bazı yerlerde `<b>` içine yazılması: `bolder`, üstteki 600'ün üstüne binip
   900'e çıkıyordu. Üstelik `<b>` her yerde yok — aynı sınıf iki farklı
   kalınlıkta görünüyordu. */
.urun-link, .ie-link, .ym-link { color: var(--brand); font-weight: 700; text-decoration: none; }
.urun-link:hover, .ie-link:hover, .ym-link:hover { text-decoration: underline; color: var(--brand-dark); }
/* Ağırlığın tek kaynağı bağlantının kendisi; markup'taki `<b>` etkisiz kalır */
.urun-link b, .ie-link b, .ym-link b { font-weight: inherit; }

