/* ═══════════════════════════════════════════════════════════════════
   UI-K P5 — RAPOR / HARİTA / GRAFİK + ROL BAZLI AÇILIŞ (lane web-rapor-harita-rol-1009)
   ui-k.css'in ÜSTÜNE biner; yalnız `<html data-ui="k">` iken yüklenir (ui_k_kafa.blade.php, tek <link>).

   🔴 KURALLAR (kapı: tests/Unit/UiKRaporHaritaKapisiTest — ui-k.css kapısıyla AYNI disiplin)
   - Her kural `html[data-ui="k"]` önekli; bayrak kapalıyken bu dosya HİÇ yüklenmez (bugünkü görünüm).
   - HAM RENK YOK (hex/rgb/hsl/isimli): renk yalnız var(--af-*|--k-*) ve color-mix(...).
   - Cam (backdrop-filter) YOK.
   - text-transform: uppercase YOK (Türkçe i/İ). !important yalnız `!imp:` gerekçe yorumuyla.
   - HARİTA KAROSU KORUNUR: karo hep AÇIK (OSM); tema renkleri karoya/plaka etiketine BAĞLANMAZ
     (HaritaPlakaKoyuTemaKapisiTest). Yalnız KONTROLLER, balon ve işaretçi çerçevesi temaya uyar.
   - Renk tek başına anlam taşımaz: durum noktaları ŞEKİL + metin (lejant) ile birlikte gelir.
   ═══════════════════════════════════════════════════════════════════ */

/* ── A  ROL BAZLI AÇILIŞ ─────────────────────────────────────────── */
html[data-ui="k"] .k-acilis { margin-bottom: 24px; min-width: 0; }
html[data-ui="k"] .k-acilis-baslik {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px;
}
html[data-ui="k"] .k-acilis-aksiyon { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
html[data-ui="k"] .k-acilis-h {
  margin: 0; font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; color: var(--af-ink);
}
html[data-ui="k"] .k-acilis-h--kucuk { font-size: 17px; letter-spacing: -0.015em; font-weight: 650; }
html[data-ui="k"] .k-acilis-tumu {
  font-size: 13px; font-weight: 600; color: var(--k-vurgu-metin); text-decoration: none; padding: 6px 2px; border-bottom: 1px solid transparent;
}
html[data-ui="k"] .k-acilis-tumu:hover { border-bottom-color: currentColor; }
html[data-ui="k"] .k-acilis-ozet { font-family: var(--k-mono); font-size: 12px; color: var(--af-muted); margin-left: auto; }

/* hap sekmeler (dar ekran: Bugün|Harita, Liste|Harita) */
html[data-ui="k"] .k-sekmeler {
  display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--k-kenar-guclu); border-radius: var(--k-yaricap-hap);
  background: var(--af-surface);
}
html[data-ui="k"] .k-sekme {
  appearance: none; border: 0; background: transparent; color: var(--af-ink-2); font: inherit; font-size: 13px; font-weight: 600;
  min-height: 34px; padding: 0 16px; border-radius: var(--k-yaricap-hap); cursor: pointer;
  transition: background-color var(--k-hizli), color var(--k-hizli);
}
html[data-ui="k"] .k-sekme:hover { background: var(--k-secili); color: var(--af-ink); }
html[data-ui="k"] .k-sekme[aria-selected="true"] { background: var(--k-vurgu); color: var(--k-vurgu-ustu); }
html[data-ui="k"] .k-sekmeler--dar { margin-bottom: 16px; }

/* rozet (durum metni + saydam zemin; renk tek başına DEĞİL: her rozet metin taşır) */
html[data-ui="k"] .k-rozet {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: var(--k-yaricap-hap);
  font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; border: 1px solid var(--k-kenar);
  background: var(--k-secili); color: var(--af-ink-2);
}
html[data-ui="k"] .k-rozet--iyi { background: color-mix(in srgb, var(--af-good) 14%, transparent); color: var(--k-iyi-metin); border-color: color-mix(in srgb, var(--af-good) 30%, transparent); }
html[data-ui="k"] .k-rozet--uyari { background: color-mix(in srgb, var(--af-warn) 16%, transparent); color: var(--k-uyari-metin); border-color: color-mix(in srgb, var(--af-warn) 34%, transparent); }
html[data-ui="k"] .k-rozet--kritik { background: color-mix(in srgb, var(--af-crit) 13%, transparent); color: var(--k-kritik-metin); border-color: color-mix(in srgb, var(--af-crit) 32%, transparent); }
html[data-ui="k"] .k-mono { font-family: var(--k-mono); font-size: 12px; }

/* yük listesi */
html[data-ui="k"] .k-acilis-izgara { display: grid; gap: 16px; min-width: 0; }
html[data-ui="k"] .k-acilis--yuklerim .k-acilis-liste { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
html[data-ui="k"] .k-acilis-liste { display: grid; gap: 10px; align-content: start; min-width: 0; }
html[data-ui="k"] .k-yuk {
  display: grid; gap: 8px; align-content: start; padding: 14px 16px; background: var(--af-surface); color: var(--af-ink-2);
  border: 1px solid var(--k-kenar); border-radius: var(--k-yaricap); box-shadow: var(--k-parla); text-decoration: none; min-width: 0;
  transition: border-color var(--k-hizli), background-color var(--k-hizli);
}
html[data-ui="k"] .k-yuk:hover { border-color: var(--k-kenar-guclu); background: var(--k-yuzey-2); color: var(--af-ink-2); }
html[data-ui="k"] .k-yuk-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
html[data-ui="k"] .k-yuk-ref { font-family: var(--k-mono); font-size: 13px; font-weight: 600; color: var(--af-ink); overflow-wrap: anywhere; }
html[data-ui="k"] .k-yuk-rota { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 14px; color: var(--af-ink); font-weight: 550; min-width: 0; }
html[data-ui="k"] .k-yuk-rota > span { min-width: 0; overflow-wrap: anywhere; }
html[data-ui="k"] .k-yuk-rota > i { color: var(--af-muted); flex: none; }
html[data-ui="k"] .k-yuk-alt { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; font-size: 12.5px; color: var(--af-muted); }
html[data-ui="k"] .k-bos {
  margin: 0; padding: 28px 16px; text-align: center; color: var(--af-muted); font-size: 14px;
  border: 1px dashed var(--k-kenar-guclu); border-radius: var(--k-yaricap);
}

/* geniş: rol 0 liste | harita yan yana; liste kendi içinde kayar, harita sabit boy */
@media (min-width: 992px) {
  html[data-ui="k"] .k-acilis-izgara--harita { grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); align-items: start; }
  html[data-ui="k"] .k-acilis-izgara--harita .k-acilis-liste { max-height: 600px; overflow-y: auto; padding-right: 4px; }
  html[data-ui="k"] .k-acilis-izgara--harita .k-harita { height: 600px; }
  html[data-ui="k"] .k-acilis--harita-liste .k-sekmeler { display: none; }
}
/* dar: yalnız seçili sekme görünür (JS `data-k-aktif` yazar; JS yoksa ikisi alt alta) */
@media (max-width: 991.98px) {
  html[data-ui="k"] .k-acilis--harita-liste[data-k-aktif="liste"] [data-k-panel="harita"],
  html[data-ui="k"] .k-acilis--harita-liste[data-k-aktif="harita"] [data-k-panel="liste"] { display: none; }
  html[data-ui="k"] .k-acilis-izgara--harita .k-harita { height: 420px; }
}

/* rol 1/3: Bugün + sağ sabit harita */
html[data-ui="k"] .k-acilis--bugun-harita { display: block; }
html[data-ui="k"] .k-acilis-ana { min-width: 0; }
html[data-ui="k"] .k-acilis-harita-kutu {
  display: grid; gap: 10px; min-width: 0; padding: 14px; background: var(--af-surface);
  border: 1px solid var(--k-kenar); border-radius: var(--k-yaricap); box-shadow: var(--k-parla);
}
html[data-ui="k"] .k-acilis-harita-baslik { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
@media (min-width: 1200px) {
  html[data-ui="k"] .k-acilis--bugun-harita:not(.k-acilis--haritasiz) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; align-items: start; }
  html[data-ui="k"] .k-acilis--bugun-harita .k-sekmeler--dar { display: none; }
  html[data-ui="k"] .k-acilis-harita-kutu--yan { position: sticky; top: calc(var(--k-ust-yukseklik) + 36px); max-height: calc(100vh - var(--k-ust-yukseklik) - 56px); }
  html[data-ui="k"] .k-acilis-harita-kutu--yan .k-harita { height: min(560px, calc(100vh - var(--k-ust-yukseklik) - 190px)); min-height: 320px; }
}
@media (max-width: 1199.98px) {
  html[data-ui="k"] .k-acilis--bugun-harita[data-k-aktif="harita"] .k-acilis-ana,
  html[data-ui="k"] .k-acilis--bugun-harita[data-k-aktif="bugun"] .k-acilis-harita-kutu { display: none; }
  html[data-ui="k"] .k-acilis-harita-kutu--yan .k-harita { height: 440px; }
}

/* ── B  HARİTA KUTUSU, İŞARETÇİ, BALON, LEJANT, KONTROLLER ──────────── */
html[data-ui="k"] .k-harita {
  position: relative; width: 100%; min-height: 280px; border-radius: var(--k-yaricap-kontrol); overflow: hidden;
  border: 1px solid var(--k-kenar-guclu); isolation: isolate;      /* leaflet pane z-index'leri yapışkan üst barın altında kalsın */
}
html[data-ui="k"] .k-harita-mesaj {
  position: absolute; inset: auto 12px 12px 12px; z-index: 500; padding: 10px 14px; border-radius: var(--k-yaricap-kontrol);
  background: var(--af-surface); color: var(--af-ink-2); border: 1px solid var(--k-kenar-guclu); font-size: 13px; box-shadow: var(--k-parla);
}
html[data-ui="k"] .leaflet-container { isolation: isolate; border-radius: var(--k-yaricap-kontrol); }
/* kart içine gömülü haritalar (sefer güzergâhı, adres seçici): kartın kenarına oturur, köşeler ikiye bölünmez */
html[data-ui="k"] .card-body.p-0 > .leaflet-container, html[data-ui="k"] .card > .leaflet-container { border-radius: 0; }

/* işaretçi: ŞEKİL + dolgu (renk tek başına taşımaz; metin karşılığı lejant ve balonda) */
/* global `.leaflet-marker-icon{display:flex!important}` (style.css) noktayı sıkıştırıyor; kontrol kulesindeki kk-arac-ikonu ile AYNI çözüm. */
html[data-ui="k"] .leaflet-marker-icon.k-arac-ikonu { display: block !important; } /* !imp: style.css:876 global flex kuralını ezmek için */
html[data-ui="k"] .k-nokta {
  display: inline-block; width: 18px; height: 18px; flex: none; vertical-align: -3px; margin-right: 6px; box-sizing: border-box;
  background: var(--af-muted); border: 2px solid var(--af-surface); border-radius: 50%; box-shadow: 0 0 0 1px var(--k-sinir);
}
/* haritadaki işaretçinin KENDİSİ noktadır: Leaflet boyutu/konumu (width/height/margin/transform) satır içi yazar → burada boyut/transform YOK */
html[data-ui="k"] .k-nokta--yolda, html[data-ui="k"] .k-nokta--guncel { background: var(--af-good); }
html[data-ui="k"] .k-nokta--beklemede { background: var(--af-warn); border-radius: 4px; }
html[data-ui="k"] .k-nokta--molada { background: var(--k-vurgu); border: 0; border-radius: 0; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); box-shadow: none; }
html[data-ui="k"] .k-nokta--bosta { background: var(--af-muted); border-width: 5px; }
html[data-ui="k"] .k-nokta--konum_bayat, html[data-ui="k"] .k-nokta--bayat { background: color-mix(in srgb, var(--af-serious) 35%, var(--af-muted)); border: 2px dashed var(--af-serious); box-shadow: 0 0 0 1px var(--k-sinir); opacity: 0.85; }
html[data-ui="k"] .k-nokta--konum_yok { background: var(--k-yuzey-2); border-radius: 3px; width: 12px; height: 12px; margin: 3px 9px 3px 3px; }

html[data-ui="k"] .k-lejant { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0; padding: 0; list-style: none; font-size: 12.5px; color: var(--af-ink-2); }
html[data-ui="k"] .k-lejant:empty { display: none; }
html[data-ui="k"] .k-lejant li { display: inline-flex; align-items: center; }

/* balon: yüzey belirteçleri (karo açık kalır, balon temaya uyar) */
html[data-ui="k"] .leaflet-popup-content-wrapper {
  background: var(--af-surface); color: var(--af-ink); border-radius: var(--k-yaricap); border: 1px solid var(--k-kenar-guclu); box-shadow: var(--af-shadow);
}
html[data-ui="k"] .leaflet-popup-tip { background: var(--af-surface); border: 1px solid var(--k-kenar-guclu); }
html[data-ui="k"] .leaflet-popup-content { margin: 12px 16px; font-size: 13px; line-height: 1.45; }
html[data-ui="k"] .leaflet-popup-close-button { color: var(--af-muted); }
html[data-ui="k"] .leaflet-popup-close-button:hover { color: var(--af-ink); }
html[data-ui="k"] .k-balon-baslik { font-weight: 650; color: var(--af-ink); font-family: var(--k-mono); }
html[data-ui="k"] .k-balon-satir { color: var(--af-ink-2); }
html[data-ui="k"] .k-balon-baslik:empty, html[data-ui="k"] .k-balon-satir:empty { display: none; }
html[data-ui="k"] .k-balon-baglanti { display: inline-block; margin-top: 6px; font-weight: 600; color: var(--k-vurgu-metin); }

/* zoom / katman / ölçek / atıf kontrolleri */
html[data-ui="k"] .leaflet-bar { border: 1px solid var(--k-kenar-guclu); border-radius: var(--k-yaricap-kontrol); box-shadow: var(--af-shadow); overflow: hidden; }
html[data-ui="k"] .leaflet-bar a, html[data-ui="k"] .leaflet-bar a:hover {
  background-color: var(--af-surface); color: var(--af-ink); border-bottom-color: var(--k-kenar-guclu); width: 34px; height: 34px; line-height: 34px;
}
html[data-ui="k"] .leaflet-bar a:hover { background-color: var(--k-yuzey-2); }
html[data-ui="k"] .leaflet-bar a.leaflet-disabled { color: var(--af-muted); background-color: var(--k-yuzey-2); }
html[data-ui="k"] .leaflet-control-layers {
  background: var(--af-surface); color: var(--af-ink); border: 1px solid var(--k-kenar-guclu); border-radius: var(--k-yaricap-kontrol); box-shadow: var(--af-shadow);
}
html[data-ui="k"] .leaflet-control-attribution, html[data-ui="k"] .leaflet-control-scale-line {
  background: color-mix(in srgb, var(--af-surface) 86%, transparent); color: var(--af-ink-2); border-color: var(--k-sinir);
}
html[data-ui="k"] .leaflet-control-attribution a { color: var(--k-vurgu-metin); }
html[data-ui="k"] .leaflet-container a.leaflet-popup-close-button { color: var(--af-muted); }
html[data-ui="k"] .leaflet-container :focus-visible { outline: 2px solid var(--k-vurgu); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  html[data-ui="k"] .k-yuk, html[data-ui="k"] .k-sekme { transition: none; }
}

/* ── C  BUGÜN ŞERİDİ + KARAR KUTUSU + KPI KARTLARI ─────────────────── */
html[data-ui="k"] .bg-seridi {
  background: var(--af-surface); border: 1px solid var(--k-kenar); border-radius: var(--k-yaricap); box-shadow: var(--k-parla); padding: 20px;
}
html[data-ui="k"] .bg-h { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; color: var(--af-ink); }
html[data-ui="k"] .bg-tumu { color: var(--k-vurgu-metin); font-weight: 600; text-decoration: none; }
html[data-ui="k"] .bg-tumu:hover { text-decoration: underline; text-underline-offset: 3px; }
html[data-ui="k"] .bg-kart {
  background: var(--k-yuzey-2); border: 1px solid var(--k-kenar); border-left-width: 4px; border-radius: var(--k-yaricap-kontrol);
  transition: border-color var(--k-hizli), background-color var(--k-hizli);
}
html[data-ui="k"] a.bg-kart:hover { border-color: var(--k-kenar-guclu); border-left-color: var(--k-vurgu); background: var(--af-surface); }
html[data-ui="k"] .bg-ton-kritik { background: color-mix(in srgb, var(--af-crit) 9%, var(--af-surface)); }
html[data-ui="k"] .bg-etiket { color: var(--af-ink-2); font-size: 0.8125rem; font-weight: 500; }
html[data-ui="k"] .bg-deger { font-variant-numeric: tabular-nums; letter-spacing: -0.02em; color: var(--af-ink); }
html[data-ui="k"] .bg-detay { color: var(--af-muted); }
html[data-ui="k"] .bg-kpi { border-top-color: var(--k-kenar); }
html[data-ui="k"] .bg-kpi-etiket { color: var(--af-muted); }
html[data-ui="k"] .bg-kpi-deger { font-variant-numeric: tabular-nums; }
html[data-ui="k"] .bg-okunamadi { border-radius: var(--k-yaricap-kontrol); border-color: color-mix(in srgb, var(--af-warn) 55%, transparent); }

/* eski KPI şeridi (panel görünmeyen koltuk/rol): düz kart, kaydırma efekti yok */
html[data-ui="k"] .stat-card {
  background: var(--af-surface); border: 1px solid var(--k-kenar); border-radius: var(--k-yaricap); box-shadow: var(--k-parla);
  transition: border-color var(--k-hizli);
}
html[data-ui="k"] .stat-card:hover { transform: none; border-color: var(--k-kenar-guclu); box-shadow: var(--k-parla); }
html[data-ui="k"] .stat-card::after { display: none; }
html[data-ui="k"] .stat-value { color: var(--af-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
html[data-ui="k"] .stat-label { color: var(--af-ink-2); }
html[data-ui="k"] .stat-primary .stat-icon, html[data-ui="k"] .stat-info .stat-icon { background: var(--k-vurgu-yumusak); color: var(--k-vurgu-metin); }
html[data-ui="k"] .stat-success .stat-icon { background: color-mix(in srgb, var(--af-good) 13%, transparent); color: var(--k-iyi-metin); }
html[data-ui="k"] .stat-warning .stat-icon { background: color-mix(in srgb, var(--af-warn) 15%, transparent); color: var(--k-uyari-metin); }
html[data-ui="k"] .stat-danger .stat-icon { background: color-mix(in srgb, var(--af-crit) 13%, transparent); color: var(--k-kritik-metin); }
html[data-ui="k"] .stat-secondary .stat-icon { background: var(--k-secili); color: var(--af-ink-2); }

/* ── D  GÖSTERGE PANELİ (ap-*) + GRAFİKLER ────────────────────────── */
html[data-ui="k"] .ap-top { border-bottom-color: var(--k-kenar); }
html[data-ui="k"] .ap-h1 { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; }
html[data-ui="k"] .ap-seg { border-radius: var(--k-yaricap-hap); border-color: var(--k-kenar-guclu); padding: 2px; gap: 2px; }
html[data-ui="k"] .ap-seg button { border: 0; border-radius: var(--k-yaricap-hap); min-height: 32px; padding: 0 14px; font-weight: 600; }
html[data-ui="k"] .ap-seg button:hover { background: var(--k-secili); }
html[data-ui="k"] .ap-seg button[aria-pressed="true"] { background: var(--k-vurgu); color: var(--k-vurgu-ustu); }
html[data-ui="k"] .ap-chk { border-radius: var(--k-yaricap-hap); border-color: var(--k-kenar-guclu); min-height: 34px; }
html[data-ui="k"] .ap-chk[aria-pressed="true"] { background: var(--k-vurgu-yumusak); color: var(--k-vurgu-metin); border-color: var(--k-vurgu-orta); }
html[data-ui="k"] .ap-card {
  border-color: var(--k-kenar); border-radius: var(--k-yaricap); box-shadow: var(--k-parla); transition: border-color var(--k-hizli);
}
html[data-ui="k"] .ap-card:hover { border-color: var(--k-kenar-guclu); }
/* kart başlığı: mono mikro etiket; büyük harfe ÇEVRİLMEZ (Türkçe i/İ), metni çeviri taşır */
html[data-ui="k"] .ap-card h2 {
  font-family: var(--k-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: none; color: var(--af-ink-2);
}
html[data-ui="k"] .ap-val { font-variant-numeric: tabular-nums; letter-spacing: -0.03em; }
html[data-ui="k"] .ap-parcalar a, html[data-ui="k"] .ap-drill:hover .ap-val { color: var(--k-vurgu-metin); }
html[data-ui="k"] .ap-bar:focus-visible { outline: 2px solid var(--k-vurgu); outline-offset: 2px; }
/* grafik serileri: eğri/çubuk renkleri belirteçten; seri 1 = vurgu, 2-4 kategorik (renge ek: çizgi/kesik çizgi/etiket) */
html[data-ui="k"] .ap-panel { --ap-c1: var(--k-vurgu); --ap-accent: var(--k-vurgu-metin); --ap-accent-soft: var(--k-vurgu-yumusak); --ap-line: var(--k-kenar); }
html[data-ui="k"] .ap-panel svg text { font-family: var(--k-yazi); }
html[data-ui="k"] .ap-panel .ap-spark { overflow: visible; }

/* Bugün + sağ harita yan yanayken ana sütun dar: kart ızgarası KONTEYNER genişliğine göre toplanır (viewport'a değil) */
html[data-ui="k"] .k-acilis-ana { container-type: inline-size; container-name: k-ana; }
@container k-ana (max-width: 900px) {
  html[data-ui="k"] .ap-s3, html[data-ui="k"] .ap-s4 { grid-column: span 6; }
  html[data-ui="k"] .ap-s6, html[data-ui="k"] .ap-s8 { grid-column: span 12; }
  html[data-ui="k"] .ap-card h2 { overflow-wrap: anywhere; }
}
@container k-ana (max-width: 520px) {
  html[data-ui="k"] .ap-s3, html[data-ui="k"] .ap-s4, html[data-ui="k"] .ap-s6, html[data-ui="k"] .ap-s8 { grid-column: span 12; }
}

/* ── E  KONTROL KULESİ + FİLO HARİTASI SAYFASI ───────────────────── */
/* kontrol kulesi haritası: yükseklik artık sınıftan gelir (`.kk-harita-kutu`, ekrana sığar → ui-k-duzelt.css); burada yalnız köşe */
html[data-ui="k"] #kk-harita { border-radius: 0 0 var(--k-yaricap) var(--k-yaricap); }
html[data-ui="k"] #kk-harita.leaflet-container { background: var(--k-yuzey-2); }
html[data-ui="k"] .card > .card-body.p-0 > #kk-harita { border-radius: 0; }

/* filo haritası: yüzen kontrol kutusu + araç listesi + sağ panel belirteçlerle */
html[data-ui="k"] .map-controls {
  background: var(--af-surface); color: var(--af-ink); border: 1px solid var(--k-kenar-guclu); border-radius: var(--k-yaricap); box-shadow: var(--af-shadow);
}
html[data-ui="k"] .map-controls .btn { border-radius: var(--k-yaricap-kontrol); justify-content: flex-start; }
/* tek vurgu: yalnız birincil eylem (Verileri yenile) dolu mavi; yoğunluk/güzergâh ikincil (yüzey + sınır). Yeşil/turkuaz vurgu YOK. */
html[data-ui="k"] .map-controls .btn-info, html[data-ui="k"] .map-controls .btn-success {
  --bs-btn-color: var(--af-ink); --bs-btn-bg: var(--af-surface); --bs-btn-border-color: var(--k-sinir);
  --bs-btn-hover-color: var(--af-ink); --bs-btn-hover-bg: var(--k-secili); --bs-btn-hover-border-color: var(--af-ink);
  --bs-btn-active-color: var(--af-ink); --bs-btn-active-bg: var(--k-secili); --bs-btn-active-border-color: var(--af-ink);
  background-color: var(--af-surface); color: var(--af-ink); border-color: var(--k-sinir);
}
html[data-ui="k"] .map-controls .btn-info:hover, html[data-ui="k"] .map-controls .btn-success:hover { background-color: var(--k-secili); }
html[data-ui="k"] .map-controls .btn i { color: var(--k-vurgu-metin); }
html[data-ui="k"] .map-controls .btn-primary i { color: inherit; }
html[data-ui="k"] .map-controls .form-select { border: 1px solid var(--k-sinir); border-radius: var(--k-yaricap-kontrol); min-height: var(--k-kontrol); background-color: var(--af-surface); color: var(--af-ink); }
html[data-ui="k"] .arac-satiri { border-radius: var(--k-yaricap-kontrol); }
html[data-ui="k"] .arac-satiri:hover { background: var(--k-secili); }
html[data-ui="k"] .arac-satiri.secili { background: var(--k-vurgu-yumusak); border-color: var(--k-vurgu-orta); }
html[data-ui="k"] .arac-satiri-plaka { font-family: var(--k-mono); font-size: 12.5px; }
html[data-ui="k"] .side-panel { background: var(--af-surface); color: var(--af-ink); border-left: 1px solid var(--k-kenar-guclu); box-shadow: var(--af-shadow); }
html[data-ui="k"] .side-panel-header, html[data-ui="k"] .info-section { border-color: var(--k-kenar); }
html[data-ui="k"] .info-label, html[data-ui="k"] .telemetry-label { color: var(--af-muted); }
html[data-ui="k"] .info-value, html[data-ui="k"] .telemetry-value { color: var(--af-ink); font-variant-numeric: tabular-nums; }
html[data-ui="k"] .telemetry-item, html[data-ui="k"] .coordinates-box { background: var(--k-yuzey-2); border: 1px solid var(--k-kenar); border-radius: var(--k-yaricap-kontrol); }
html[data-ui="k"] .section-title { color: var(--af-ink-2); font-family: var(--k-mono); font-size: 12px; }
html[data-ui="k"] .status-moving { background: color-mix(in srgb, var(--af-good) 14%, transparent); color: var(--k-iyi-metin); }
html[data-ui="k"] .status-stopped { background: color-mix(in srgb, var(--af-warn) 16%, transparent); color: var(--k-uyari-metin); }
html[data-ui="k"] .weather-info-panel, html[data-ui="k"] .measurement-tools, html[data-ui="k"] .measurement-result {
  background: var(--af-surface); color: var(--af-ink); border: 1px solid var(--k-kenar-guclu); border-radius: var(--k-yaricap-kontrol);
}

/* ── F  TAKVİM (FullCalendar 6: --fc-* değişkenleri belirteçten) ───── */
html[data-ui="k"] .fc {
  --fc-border-color: var(--k-kenar-guclu);
  --fc-page-bg-color: var(--af-surface);
  --fc-neutral-bg-color: var(--k-yuzey-2);
  --fc-neutral-text-color: var(--af-muted);
  --fc-today-bg-color: var(--k-vurgu-yumusak);
  --fc-non-business-color: var(--k-yuzey-2);
  --fc-event-border-color: transparent;
  --fc-button-text-color: var(--af-ink);
  --fc-button-bg-color: var(--af-surface);
  --fc-button-border-color: var(--k-sinir);
  --fc-button-hover-bg-color: var(--k-secili);
  --fc-button-hover-border-color: var(--af-ink);
  --fc-button-active-bg-color: var(--k-vurgu);
  --fc-button-active-border-color: var(--k-vurgu);
  --fc-more-link-bg-color: var(--k-yuzey-2);
  --fc-list-event-hover-bg-color: var(--k-secili);
  font-family: var(--k-yazi); color: var(--af-ink);
}
html[data-ui="k"] .fc .fc-button { border-radius: var(--k-yaricap-hap); font-weight: 600; text-transform: none; box-shadow: none; min-height: 34px; }
html[data-ui="k"] .fc .fc-button-primary:not(:disabled):active, html[data-ui="k"] .fc .fc-button-primary:not(:disabled).fc-button-active { color: var(--k-vurgu-ustu); }
html[data-ui="k"] .fc .fc-button-primary:disabled { opacity: 0.5; }
html[data-ui="k"] .fc .fc-button:focus-visible { outline: 2px solid var(--k-vurgu); outline-offset: 2px; box-shadow: none; }
html[data-ui="k"] .fc .fc-toolbar-title { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; }
html[data-ui="k"] .fc .fc-col-header-cell-cushion, html[data-ui="k"] .fc .fc-daygrid-day-number { color: var(--af-ink-2); text-decoration: none; }
html[data-ui="k"] .fc .fc-day-today .fc-daygrid-day-number { color: var(--k-vurgu-metin); font-weight: 700; }
html[data-ui="k"] .fc .fc-day-other .fc-daygrid-day-number { color: var(--af-muted); opacity: 0.7; }
/* olay rengi: kaynak başına BELİRTEÇ (sunucudan gelen Bootstrap renkleri kullanılmaz); açık zemin + koyu yazı + sol çizgi → okunur ve renk tek başına taşımaz (başlık metni var) */
html[data-ui="k"] .fc .fc-event { --k-ev: var(--af-muted); border-radius: 6px; border-left-width: 3px; }
html[data-ui="k"] .fc .fc-event[class*="k-ev--"]:not(.k-ev--invoice_due):not(.k-ev--task) .fc-event-main { color: var(--af-ink); }
html[data-ui="k"] .fc .fc-event[class*="k-ev--"]:not(.k-ev--invoice_due):not(.k-ev--task) { background-color: color-mix(in srgb, var(--k-ev) 16%, var(--af-surface)) !important; border-color: var(--k-ev) !important; } /* !imp: FullCalendar olay rengini satır içi style ile yazar */
html[data-ui="k"] .fc .k-ev--position_appointment { --k-ev: var(--k-vurgu); }
html[data-ui="k"] .fc .k-ev--position_start { --k-ev: var(--af-c2); }
html[data-ui="k"] .fc .k-ev--driver_leave { --k-ev: var(--af-c4); }
html[data-ui="k"] .fc .k-ev--maintenance { --k-ev: var(--af-warn); }
html[data-ui="k"] .fc .k-ev--document_expiry { --k-ev: var(--af-serious); }
/* invoice_due ve task: sunucu rengi zaten sözleşme paleti (tahsilat = iyi yeşil, ödeme = ciddi turuncu, görev önceliği kritik/uyarı/gri; lejantla AYNI) — dokunulmaz */

/* ── G  RAPOR KARTLARI / ANALİZ SAYFALARI ─────────────────────────── */
html[data-ui="k"] .btn-outline-success {
  --bs-btn-color: var(--k-iyi-metin); --bs-btn-border-color: color-mix(in srgb, var(--af-good) 55%, transparent);
  --bs-btn-hover-color: var(--af-surface); --bs-btn-hover-bg: var(--af-good); --bs-btn-hover-border-color: var(--af-good);
  --bs-btn-active-color: var(--af-surface); --bs-btn-active-bg: var(--af-good); --bs-btn-active-border-color: var(--af-good);
}
html[data-ui="k"] .apexcharts-text, html[data-ui="k"] .apexcharts-legend-text { fill: var(--af-ink-2); color: var(--af-ink-2); font-family: var(--k-yazi); }
html[data-ui="k"] .apexcharts-gridline, html[data-ui="k"] .apexcharts-xaxis-tick { stroke: var(--k-kenar); }
html[data-ui="k"] .apexcharts-tooltip { background: var(--af-surface); color: var(--af-ink); border: 1px solid var(--k-kenar-guclu); box-shadow: var(--af-shadow); }

/* ── H  DAR EKRAN ───────────────────────────────────────────────── */
@media (max-width: 575.98px) {
  html[data-ui="k"] .k-acilis-baslik { align-items: flex-start; }
  html[data-ui="k"] .k-yuk { padding: 12px 14px; }
  html[data-ui="k"] .k-sekmeler { width: 100%; }
  html[data-ui="k"] .k-sekme { flex: 1 1 0; padding: 0 8px; }
  html[data-ui="k"] .bg-seridi { padding: 14px; }
  html[data-ui="k"] .k-acilis-izgara--harita .k-harita, html[data-ui="k"] .k-acilis-harita-kutu--yan .k-harita { height: 360px; }
  html[data-ui="k"] .map-controls { top: 8px; right: 8px; padding: 8px; gap: 6px; max-width: 184px; }
  html[data-ui="k"] .map-controls .btn { min-height: 34px; padding: 4px 10px; font-size: 0.8125rem; }
  html[data-ui="k"] .map-controls .form-select { min-height: 34px; padding: 4px 10px; font-size: 0.8125rem; }
}
