/* azatech – STANDART KUTU BİLEŞENLERİ (Stripe tarzı sade, tek tip)
 * Kullanıcı kararı (5 Kasım): bütün sayfalarda kutu/istatistik kartı AYNI görünsün. Örnek alınan: Ekip uyumu ve Resepsiyon raporu kartları.
 *
 *   .kutu            panel kutusu (beyaz zemin, 1px çizgi, 12px köşe, hafif gölge, 16–20px iç boşluk)
 *   .kutu-bas        kutu başlığı satırı (solda başlık h3, sağda eylem/düğme; düğmeler arasında boşluk)
 *   .stat-grid       istatistik kartı ızgarası (kartlar eşit boy, taşmaz)
 *   .stat            istatistik kartı: <small> etiket, <b> değer, <span> alt açıklama
 *   .stat.is-uyari / .is-iyi / .is-kotu   yalnız değerin rengi (kart zemini değişmez)
 *   .btn-satir       yan yana düğmeler: aralarında 8px boşluk, sarar, hizalı
 *   .sayfa-araci     liste üstü araç çubuğu (arama + süzgeç + eylem)
 *
 * Eski istatistik sınıfları (.kpi, .rp-card, .hd-kpi > div) AYNI görünüme bağlandı (Bugün ekranının birleşik .kk-kpi şeridi hariç): sayfalar tek tek taşınana kadar da tek tip görünür.
 * Renk TANIMLAMAZ: yalnız mevcut değişkenler (--panel, --line, --mut, --ink, --navy, --red, --green...). PDF/yazdır (.rp-pdf, .rp-pg) etkilenmez. */

/* ---- panel kutusu ---- */
.kutu {
  background: var(--panel, #fff); border: 1px solid var(--line); border-radius: var(--r-lg, 12px);
  box-shadow: var(--g-1, 0 1px 2px rgba(0, 0, 0, .06)); padding: var(--b-4, 16px) 20px; box-sizing: border-box; min-width: 0;
}
.kutu + .kutu, .kutu + .stat-grid, .stat-grid + .kutu { margin-top: var(--b-3, 12px); }
.kutu-bas { display: flex; align-items: center; justify-content: space-between; gap: var(--b-3, 12px); flex-wrap: wrap; margin: 0 0 var(--b-3, 12px); }
.kutu-bas h2, .kutu-bas h3 { margin: 0; font-size: var(--yz-lg, 16px); font-weight: 650; line-height: 1.3; color: var(--ink); }
.kutu-bas small { color: var(--mut); font-size: var(--yz-xs, 12px); }

/* ---- istatistik kartı (Ekip uyumu / Resepsiyon raporu görünümü) ----
 * Sıra: ilk çocuk = ETİKET (small ya da span; eski sayfalar span, yeni sayfalar small kullanır), <b> = DEĞER, kalan çocuklar = ALT AÇIKLAMA.
 * Çoklu para birimli değerde (<b><span class="ap-ana">ana</span> <span class="ap-ikinci">kırılım</span></b>) ana tutar büyük, kırılım altta küçük ve gri. */
.stat-grid, .sgrid, .kpis:not(.rp-pdf *):not(.rp-pg *), .hd-kpi, .rp-cards:not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 188px), 1fr)); gap: var(--b-3, 12px); margin: 0 0 var(--b-3, 12px); align-items: stretch;
}
.stat, .sgrid > div, .kpi:not(.rp-pdf *):not(.rp-pg *), .hd-kpi > div, .rp-card:not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) {
  background: var(--panel, #fff); border: 1px solid var(--line); border-top: 1px solid var(--line); border-radius: var(--r-lg, 12px);
  box-shadow: var(--g-1, 0 1px 2px rgba(0, 0, 0, .06)); padding: 14px 16px; box-sizing: border-box; min-width: 0; display: flex; flex-direction: column; gap: 3px; justify-content: flex-start;
}
:is(.stat, .sgrid > div, .kpi, .hd-kpi > div, .rp-card):not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) > :first-child:not(b) { order: 0; display: block; font-size: var(--yz-xs, 12px); font-weight: 600; color: var(--mut); letter-spacing: 0; line-height: 1.3; text-transform: none; opacity: 1; }
:is(.stat, .sgrid > div, .kpi, .hd-kpi > div, .rp-card):not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) > b { order: 1; display: block; font-size: clamp(20px, 1.4vw + 6px, 26px); line-height: 1.2; font-weight: 650; color: var(--ink); font-variant-numeric: tabular-nums; margin: 0; overflow-wrap: break-word; }
/* değer, kartın gerçek genişliğine göre küçülür: "10.300,00" gibi sayı hiçbir zaman ortasından bölünmez (kart kendi kapsayıcısıdır) */
:is(.stat, .sgrid > div, .kpi, .hd-kpi > div, .rp-card):not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) { container-type: inline-size; }
:is(.stat, .sgrid > div, .kpi, .hd-kpi > div, .rp-card):not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) > b { font-size: clamp(18px, 16cqi, 26px); }
/* değeri sayı değil ad/metin olan kart (ör. "Getiren acenta"): küçük punto, tek satır, uzunsa üç nokta (tamamı title/altında) */
.stat.stat-metin:not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) > b { font-size: var(--yz-lg, 16px); line-height: 1.4; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-block: 3px; }
/* kart sayısı 6 ise (JS yokken de): en çok 3 sütun, tek başına kalan kart olmasın */
.stat-grid:has(> :nth-child(6):last-child) { grid-template-columns: repeat(auto-fit, minmax(max(188px, calc((100% - 24px) / 3)), 1fr)); }
:is(.stat, .sgrid > div, .kpi, .hd-kpi > div, .rp-card):not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) > :not(:first-child):not(b) { order: 2; display: block; font-size: var(--yz-xs, 12px); font-weight: 400; color: var(--mut); line-height: 1.35; opacity: 1; }
:is(.stat, .sgrid > div, .kpi, .rp-card) > b span { opacity: 1; }   /* eski ".rp-card span { opacity: .7 }" değerin içindeki tutarı soluklaştırmasın */
:is(.stat, .sgrid > div, .kpi, .rp-card) > b .coklu { display: flex; flex-direction: column; gap: 2px; font-size: 17px; line-height: 1.3; }
:is(.stat, .sgrid > div, .kpi, .rp-card) > b .coklu > span { display: block; }
:is(.stat, .sgrid > div, .kpi, .rp-card) > b .ap-ana { font-weight: inherit; font-size: inherit; color: inherit; display: inline; white-space: nowrap; }
:is(.stat, .sgrid > div, .kpi, .rp-card) > b .ap-ikinci { display: block; font-size: var(--yz-xs, 12px); font-weight: 400; color: var(--mut); line-height: 1.4; margin-top: 3px; }
:is(.stat, .kpi) > b.ap-ana { font-size: inherit; font-weight: 650; }
.stat.is-iyi b, .kpi.is-iyi b, .rp-card.is-iyi b { color: var(--green, #1a7f4b); }
.stat.is-uyari b, .kpi.is-uyari b, .rp-card.is-uyari b { color: var(--amber, #a86a00); }
.stat.is-kotu b, .kpi.is-kotu b, .rp-card.is-kotu b, .sgrid > .bad b { color: var(--red); }
.stat.is-vurgu b, .sgrid > .hl b { color: var(--navy); }
@media (max-width: 600px) { .stat-grid, .sgrid, .kpis:not(.rp-pdf *):not(.rp-pg *), .rp-cards:not(.rp-pdf *):not(.rp-pg *):not(.kk-kpi *) { grid-template-columns: repeat(2, minmax(0, 1fr)); } :is(.stat, .kpi, .rp-card) > b { font-size: 20px; } }

/* ---- düğme ve araç çubuğu aralıkları (yazıya yapışan düğme sorunu) ---- */
.btn-satir { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-2, 8px); }
.sayfa-araci { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-2, 8px) var(--b-3, 12px); margin: 0 0 var(--b-3, 12px); }
.sayfa-araci > input[type=search], .sayfa-araci > input[type=text] { flex: 1 1 220px; min-width: 0; max-width: 420px; }
.kutu > * + .btn-satir, .kutu > p + button, .kutu > label + button { margin-top: var(--b-3, 12px); }

/* ---- kaydırma çubukları: KULLANICI KARARI (5 Kasım): "zorunda kalmadıkça olmasın, zorundaysak olsun".
 * İlke 1: gereksiz iç kaydırma ÜRETME (kutu içinde sabit yükseklik + overflow yerine sayfa akışı / sayfalama).
 * İlke 2: kaçınılmaz iç kaydırmada çubuk yalnız kaydırırken / üzerine gelince belirir (hayalet çubuk), aksi hâlde görünmez; sayfanın kendi çubuğu normal kalır. */
html { scrollbar-width: auto; }
*:not(html):not(body) { scrollbar-width: thin; scrollbar-color: transparent transparent; }
*:not(html):not(body):hover { scrollbar-color: color-mix(in srgb, var(--navy) 38%, var(--line)) transparent; }
*:not(html):not(body)::-webkit-scrollbar { width: 10px; height: 10px; }
*:not(html):not(body)::-webkit-scrollbar-track { background: transparent; }
*:not(html):not(body)::-webkit-scrollbar-thumb { background: transparent; border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
*:not(html):not(body):hover::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--navy) 34%, var(--line)); background-clip: padding-box; }
*:not(html):not(body)::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--navy) 55%, var(--line)); background-clip: padding-box; }
*::-webkit-scrollbar-corner { background: transparent; }
/* sayfanın kendi çubuğu: ince ve tema uyumlu */
html::-webkit-scrollbar, body::-webkit-scrollbar { width: 12px; height: 12px; }
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--navy) 28%, var(--line)); border-radius: 999px; border: 3px solid transparent; background-clip: padding-box; }
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track { background: transparent; }
