/* azatech – Finans / Rapor / Acenta / Hedef ekranları: üçüncü tasarım katmanı (Stripe-Bitrix24 düzeyi, sade, lacivert).
 * Kapsam: .th-app (Tahsilat) · .hk-app (Hakediş) · .rp-app (Raporlar) · .fn-app (Tahsilat tahmini) · .ac-app/.ah-app (Acenta) · .hf-app (Hedef) · .fg-app (Fiyat/kur geçmişi).
 * Tek aralık ölçeği: 4 · 8 · 12 · 16 · 24. Renk tanımlamaz (tema değişkenleri). PDF/yazdır (.rp-pg, .rp-pdf) etkilenmez:
 * kurallar kök sınıflara (.rp-app vb.) bağlıdır; PDF sayfası (.rp-pg) bu köklerin dışında kurulur, etkilenmez. finans-tasarim/ekran/finans2 üzerine yüklenir. */

/* ---- sayfa gövdesi: bölümler arası tek ritim ---- */
:is(.th-app, .hk-app, .rp-app, .fn-app, .ac-app, .ah-app, .fg-app) { --f3-s: 16px; }

/* ---- araç çubuğu: tek beyaz şerit (süzgeç + eylem birlikte) ---- */
:is(.rp-app, .hk-app, .th-app, .ac-app, .fn-app) .tk-bar {
  background: var(--panel, #fff); border: 1px solid var(--line); border-radius: var(--r-lg, 12px);
  padding: 8px 12px; box-shadow: var(--g-1, 0 1px 2px rgba(0, 0, 0, .06)); margin-bottom: var(--f3-s);
}
:is(.rp-app, .hk-app, .th-app, .ac-app, .fn-app) .tk-bar select, :is(.rp-app, .hk-app, .th-app, .ac-app, .fn-app) .tk-bar input[type=search] { height: 36px; font-size: 14px; }
.rp-app .tk-bar .help { padding-inline: 4px; }
.rp-app .tk-bar:has(.chips) + .tk-bar { margin-top: calc(-1 * var(--f3-s) + 8px); }

/* ---- istatistik kartları: üstte renkli ince şerit ile anlam (renk yalnız değerde değil, kenarda da) ---- */
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi, .rp-card) { position: relative; padding: 16px 20px; }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi, .rp-card) > b { font-weight: 700; letter-spacing: -.01em; }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-kotu, .rp-card.is-kotu)::before,
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-uyari, .rp-card.is-uyari)::before,
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-iyi, .rp-card.is-iyi)::before { content: ""; position: absolute; inset-inline-start: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: var(--red); }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-uyari, .rp-card.is-uyari)::before { background: var(--amber, #a86a00); }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-iyi, .rp-card.is-iyi)::before { background: var(--green, #1a7f4b); }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi, .rp-card)::before { content: ""; position: absolute; inset-inline-start: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: color-mix(in srgb, var(--navy) 55%, var(--panel, #fff)); }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-kotu, .rp-card.is-kotu)::before { background: var(--red); }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-uyari, .rp-card.is-uyari)::before { background: var(--amber, #a86a00); }
:is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi.is-iyi, .rp-card.is-iyi)::before { background: var(--green, #1a7f4b); }
.rp-app .rp-cards { gap: 12px; }
.rp-app .rp-card { min-height: 0; justify-content: flex-start; }

/* ---- raporlarda bölüm başlığı: sol lacivert şerit + ince alt çizgi ---- */
.rp-app #rB2 > h3 { display: flex; align-items: center; gap: 8px; margin: 24px 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.rp-app #rB2 > h3::before { content: ""; width: 4px; height: 16px; border-radius: 2px; background: var(--navy); flex: none; }
.rp-app #rB2 > h3:first-child { margin-top: 0; }

/* ---- çubuk listeleri (huni, stok, kayıp, itiraz): tek kart gibi görünen satır grubu ---- */
.rp-app #rB2 > .rp-bar { background: var(--panel, #fff); border: 1px solid var(--line); border-top-width: 0; margin: 0; padding: 10px 16px; max-width: none; }
.rp-app #rB2 > :is(h3, .help, .rp-cards, .tbl-x, p) + .rp-bar { border-top-width: 1px; border-radius: var(--r-lg, 12px) var(--r-lg, 12px) 0 0; }
.rp-app #rB2 > .rp-bar:has(+ :not(.rp-bar)), .rp-app #rB2 > .rp-bar:last-child { border-radius: 0 0 var(--r-lg, 12px) var(--r-lg, 12px); }
.rp-app #rB2 > :is(h3, .help, .rp-cards, .tbl-x, p) + .rp-bar:has(+ :not(.rp-bar)), .rp-app #rB2 > :is(h3, .help, .rp-cards, .tbl-x, p) + .rp-bar:last-child { border-radius: var(--r-lg, 12px); }
.rp-app #rB2 > .rp-bar .hd-track { height: 10px; }
.rp-app #rB2 > .rp-bar > b { min-width: 6ch; }
.rp-app #rB2 > .rp-bar:first-of-type { margin-top: 0; }
.rp-app #rB2 > .help { margin: 12px 0 0; }

/* ---- günlük temas grafiği: kart içinde ---- */
.rp-app .rp-gun { background: var(--panel, #fff); border: 1px solid var(--line); border-radius: var(--r-lg, 12px); padding: 16px; height: 120px; box-sizing: content-box; gap: 6px; align-items: flex-end; overflow-x: auto; }
.rp-app .rp-gun div { flex: 1 1 0; min-width: 14px; }
.rp-app .rp-gun i { width: 100%; max-width: 22px; background: var(--navy); border-radius: 4px 4px 0 0; }

/* ---- tablolar: sade başlık, sık satır, sağda rakam ---- */
:is(.rp-app, .hk-app, .th-app, .fn-app, .ac-app, .ah-app, .fg-app) .tbl-x { overflow-x: auto; }
:is(.rp-app, .hk-app, .th-app, .fn-app, .ac-app) table.tk thead th { padding: 10px 14px; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 1; }
:is(.rp-app, .hk-app, .th-app, .fn-app, .ac-app) table.tk td.none { padding: 40px 16px; font-size: 14px; }
@media (min-width: 641px) { :is(.rp-app, .hk-app, .th-app, .fn-app, .ac-app) table.tk td.none::before { content: ""; display: block; width: 36px; height: 36px; margin: 0 auto 8px; border-radius: 50%; background: color-mix(in srgb, var(--navy) 8%, var(--panel, #fff)); } }
/* yalnız sekme içeren çubuk kutu içine alınmaz (sekmeler sayfanın başlığına bağlı durur) */
:is(.rp-app, .hk-app, .th-app, .ac-app) .tk-bar:has(> .chips:only-child) { background: transparent; border: 0; box-shadow: none; padding: 0; }

/* ---- Tahsilat ---- */
.th-app .th-body { display: grid; grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 380px); gap: 16px; align-items: start; }
.th-app .th-t tbody tr { cursor: pointer; }
.th-app .th-t tbody tr.on td { background: color-mix(in srgb, var(--navy) 7%, var(--panel, #fff)); }
.th-app .th-t tbody tr.late td:first-child { box-shadow: inset 3px 0 0 var(--red); }
.th-app .th-t td:first-child { min-width: 84px; }
.th-side { position: sticky; top: 72px; 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: 16px; box-sizing: border-box; min-width: 0; }
.th-side .side-empty { color: var(--mut); text-align: center; padding: 32px 8px; font-size: 14px; }
.f3-durum { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 1.6; white-space: nowrap; }
.f3-durum.f3-kotu { color: var(--red); background: color-mix(in srgb, var(--red) 10%, var(--panel, #fff)); }
.f3-durum.f3-iyi { color: var(--green, #1a7f4b); background: color-mix(in srgb, var(--green, #1a7f4b) 11%, var(--panel, #fff)); }
.f3-ilerleme { display: block; height: 4px; margin-top: 6px; border-radius: 999px; background: color-mix(in srgb, var(--navy) 10%, var(--panel, #fff)); position: relative; overflow: hidden; min-width: 72px; }
.f3-ilerleme::after { content: ""; position: absolute; inset: 0; width: var(--p, 0%); background: var(--navy); border-radius: inherit; }
[dir=rtl] .f3-ilerleme::after { inset-inline-start: 0; }
@media (max-width: 1100px) { .th-app .th-body { grid-template-columns: minmax(0, 1fr); } .th-side { position: static; } .th-side:has(.side-empty) { display: none; } }

/* ---- Hakediş: sekmeler ve kartlar ---- */
.hk-app .hd-baslik { margin-bottom: 12px; }
.hk-app > .tk-bar:first-of-type { background: transparent; border: 0; box-shadow: none; padding: 0; }

/* ---- Acenta / Hedef: kartlar ve araç satırı ---- */
.ac-app .tk-bar { row-gap: 8px; }
.ac-app .tk-bar > .primary { order: -1; }

/* ---- mobil: tek sütun, kart başlıkta durum + sağda tutar; kartlar sıkı ---- */
@media (max-width: 640px) {
  :is(.rp-app, .hk-app, .th-app, .ac-app, .fn-app) .tk-bar { padding: 8px; }
  :is(.th-app, .hk-app, .rp-app, .fn-app) :is(.kpi, .rp-card) { padding: 12px 14px; }
  .th-app .th-t tbody tr.late td:first-child { box-shadow: none; }
  .th-app .th-t tbody tr.late { box-shadow: inset 3px 0 0 var(--red); }
  .f3-ilerleme { margin-inline-start: auto; width: 96px; }
  .rp-app #rB2 > .rp-bar { padding: 8px 12px; }
}
/* yinelenen başlık (sayfa başlığı zaten var) ve boş grafik */
.rp-app > .hd-baslik:first-child { display: none; }
.rp-app .rp-gun:has(.help) { height: auto; min-height: 0; padding: 24px 16px; }
.rp-app .rp-cards { align-items: start; }
@media (prefers-reduced-motion: no-preference) { .th-app .th-t tbody tr td { transition: background-color .12s; } }
