/* ============================================================
   CrazyPoint — "Analist Terminali" tasarım sistemi (Yön D)
   Tüm renk / boşluk / font token'ları burada; TEK YERDEN değişir.

   RENK KURALI: Yeni renk gerekince buraya ekle, koda/başka satıra gömme.
   AÇIK TEMA: en aşağıdaki ":root[data-tema=acik]" bloğunu doldurmak yeterli;
   başka hiçbir yeri elden geçirmene gerek kalmaz (şu an sadece KOYU tema aktif).
   ============================================================ */
:root {
  /* ============================================================
     "TERMİNAL × KOMUTA" PALETİ (koyu varsayılan). Renk isimleri KORUNDU
     (var(--pos) vb. tüm koda dokunmadan re-skin); yalnız DEĞERLER yenilendi.
     Yeni rol token'ları (accent/track/grid/surface…) ADDITIVE — Adım 2 için.
     ============================================================ */
  /* ---- Zeminler ---- */
  --bg: #080c16; /* en arka zemin */
  --panel: #101724; /* panel / kart (=surface) */
  --panel2: #172132; /* ikincil panel / şerit (=raised) */

  /* ---- Çizgiler ---- */
  --line: #223049; /* ana ayraç (=border) */
  --line2: #1a2236; /* ince ayraç (=grid) */

  /* ---- Metin tonları (koyudan açığa) ---- */
  --ink: #eaf1fb; /* birincil metin */
  --ink2: #c3cee0;
  --ink3: #a3b0c6;
  --mut: #8393ad; /* soluk metin (=muted) */
  --faint: #5c6a85; /* en soluk / etiket */

  /* ---- Anlam / vurgu renkleri ---- */
  --pos: #2dd4a7; /* destek / teal (=good) */
  --neg: #fb5c7d; /* karşı / uyarı — ROSE (negatif ANLAM; vurgu artık --accent) */
  --neu: #6b7684; /* nötr */
  --konu: #2a3346; /* konu dışı */
  --amber: #f5a524; /* uyarı / premium (=accent2) */
  --neg2: #f0774f; /* rose-amber ara ton (neden barları) */

  /* ---- Kategorik grafik renkleri (anlatı / ton / taraf) ---- */
  --c1: #2dd4a7; /* teal */
  --c2: #26d7ea; /* cyan */
  --c3: #9b7ff0; /* mor */
  --c4: #f5a524; /* amber */
  --c5: #fb5c7d; /* rose */
  --kisi: #5c6a85; /* slope: kişi noktası (sönük) */
  --etk: #fb5c7d; /* slope: etkileşim noktası (vurgu) */
  --r8: 8px; /* zengin infografik kartları (global --r'ye dokunmadan) */

  /* ---- YENİ ROL TOKEN'LARI (Terminal × Komuta) — additive ---- */
  --accent: #26d7ea; /* BİRİNCİL VURGU (aktif menü + ANALİZ ET) — cyan */
  --accent2: #f5a524; /* ikincil vurgu — amber */
  --pop: #fb5c7d; /* rose */
  --good: #2dd4a7; /* teal */
  --surface: #101724;
  --raised: #172132;
  --border: #223049;
  --muted: #8393ad;
  --track: #1a2740; /* ilerleme/bar zemin rayı */
  --grid: #172236; /* grafik ızgara çizgileri */
  --axis: #6a7996; /* grafik eksen çizgi/etiketi */
  --radius: 12px; /* yeni köşe yarıçapı (kartlar; Adım 2 uygular) */
  --on-accent: #06121a; /* cyan/accent buton üstü koyu metin */
  --accent-ink: #06121a; /* accent üstü metin (spec adı; = --on-accent) */
  --shadow: 0 18px 44px rgba(0, 0, 0, 0.44); /* kart gölgesi */
  --glow: 0 0 18px rgba(38, 215, 234, 0.18); /* koyu temada hafif parıltı */
  --fglow: drop-shadow(0 0 4px rgba(45, 212, 167, 0.55)); /* grafik çizgi/spark drop-shadow (mockup) */

  /* ---- Yarı saydam tonlar (rozet zeminleri, hover) ---- */
  --pos-a: rgba(45, 212, 167, 0.14);
  --neg-a: rgba(251, 92, 125, 0.14);
  --neu-a: rgba(131, 147, 173, 0.16);
  --pos-a2: rgba(45, 212, 167, 0.1); /* buton hover */
  --accent-a: rgba(38, 215, 234, 0.14); /* cyan rozet/hover zemini */

  /* ---- Renkli buton üstü metin (zemine göre sabit kontrast) ---- */
  --on-neg: #170a10; /* rose buton üstündeki koyu metin */
  --on-wa: #06210f; /* WhatsApp yeşili üstündeki metin */

  /* ---- Sabit marka renkleri (temadan bağımsız) ---- */
  --wa: #25d366; /* WhatsApp yeşili */

  /* ---- Font ---- */
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;
  --display: "Archivo", "IBM Plex Sans", system-ui, sans-serif; /* iri başlık/rakam */

  /* ---- Boşluk / ölçü ---- */
  --maxw: 760px; /* okuma sütunu genişliği */
  --sidebar: 232px; /* sol kenar çubuğu genişliği */
  --pad: 16px 18px;
  --r: 9px; /* köşe (mockup küçük-öğe/nav standardı 9px; büyük kartlar --radius:12px) */
}

/* ============================================================
   AÇIK TEMA (light mode) — <html data-tema="acik"> olunca devreye girer.
   Sadece token değerleri değişir; başka hiçbir kural elden geçmez.

   Renk seçimi: PDF raporunun (baskıya uygun, açık zeminli) KANITLANMIŞ paleti
   temel alındı. Teal/kırmızı, koyu temadaki parlak tonların açık zemine göre
   KOYULAŞTIRILMIŞ/doygunlaştırılmış hâlidir (ters çevirme değil) — böylece
   ekran açık modu ile PDF aynı profesyonel dilde durur.
   Koyu tema VARSAYILANDIR; bu blok yalnızca kullanıcı açığa geçince uygulanır.
   ============================================================ */
:root[data-tema="acik"] {
  /* Zeminler — açık (Terminal × Komuta açık varyantı) */
  --bg: #eef2f8; /* en arka zemin */
  --panel: #ffffff; /* panel / kart (=surface) */
  --panel2: #f4f7fc; /* ikincil panel / şerit (=raised) */

  /* Çizgiler — açık gri */
  --line: #dde5f0; /* (=border) */
  --line2: #e6ecf5; /* (=grid) */

  /* Metin — koyu (açıktan koyuya okunur kontrast) */
  --ink: #101a2b; /* birincil metin */
  --ink2: #34435a;
  --ink3: #4a5972;
  --mut: #5b6a83; /* soluk metin (=muted) */
  --faint: #8a97ab; /* en soluk / etiket */

  /* Anlam / vurgu — açık zemine göre koyulaştırılmış (glow kapalı) */
  --pos: #0f9d77; /* destek / koyu teal (=good) */
  --neg: #e0396a; /* karşı / uyarı — koyu ROSE (negatif anlam) */
  --neu: #8a94a3; /* nötr */
  --konu: #cbd2da; /* konu dışı */
  --amber: #c1770f; /* uyarı / premium (=accent2) */
  --neg2: #d9663f; /* rose-amber ara ton */

  /* Kategorik grafik renkleri — açık zemine göre koyulaştırılmış */
  --c1: #0f9d77; /* teal */
  --c2: #0a97b0; /* cyan */
  --c3: #5b4dd1; /* mor */
  --c4: #c1770f; /* amber */
  --c5: #e0396a; /* rose */
  --kisi: #8a97ab; /* slope: kişi noktası */
  --etk: #e0396a; /* slope: etkileşim noktası */
  /* --r8/--radius/--display temadan bağımsız; koyu blokta tanımlı */

  /* YENİ ROL TOKEN'LARI — açık varyant */
  --accent: #0a97b0; /* BİRİNCİL VURGU — koyu cyan */
  --accent2: #c1770f;
  --pop: #e0396a;
  --good: #0f9d77;
  --surface: #ffffff;
  --raised: #f4f7fc;
  --border: #dde5f0;
  --muted: #5b6a83;
  --track: #e7edf6;
  --grid: #e6ecf5;
  --axis: #93a0b5; /* grafik eksen — açık */
  --on-accent: #ffffff; /* koyu cyan buton üstü beyaz metin */
  --accent-ink: #ffffff;
  --shadow: 0 14px 34px rgba(30, 48, 80, 0.1); /* kart gölgesi — açık */
  --glow: none; /* açık temada parıltı KAPALI */
  --fglow: none; /* açık temada grafik parıltısı KAPALI */
  --accent-a: rgba(10, 151, 176, 0.12);

  /* Yarı saydam tonlar — açık zemin için yeniden ayarlandı */
  --pos-a: rgba(15, 157, 119, 0.13);
  --neg-a: rgba(224, 57, 106, 0.12);
  --neu-a: rgba(138, 148, 163, 0.18);
  --pos-a2: rgba(15, 157, 119, 0.12);

  /* Renkli buton üstü metin — açık temada BEYAZ (koyu rose/teal/cyan üstünde) */
  --on-neg: #ffffff;
  /* --on-wa ve --wa (WhatsApp) sabit marka rengi; iki temada da aynı */
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.m {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
}
.gizli {
  display: none !important;
}

.shell {
  max-width: var(--maxw);
  margin: 0 auto;
  min-height: 100vh;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

/* ---------------- Üst bar ---------------- */
.appbar {
  background: var(--panel);
  border-bottom: 1px solid var(--line);
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand {
  display: flex;
  align-items: center;
  gap: 9px;
}
/* Marka işareti (logo) — koyu tema varsayılan (beyaz işaret); açık temada siyah.
   Kırmızı CSS kare kaldırıldı; gerçek logo SVG'si (kendi kırmızısı içinde). */
.brand .sq {
  width: 13px;
  height: 16px;
  background: url("logo-koyu.svg") center / contain no-repeat;
}
:root[data-tema="acik"] .brand .sq {
  background-image: url("logo-acik.svg");
}
.brand .bm {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
}
.user {
  display: flex;
  align-items: center;
  gap: 12px;
}
.kota {
  font-size: 11px;
  color: var(--mut);
  border: 1px solid var(--line);
  padding: 4px 9px;
  border-radius: var(--r);
}
.kota b {
  color: var(--pos);
}
.avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--panel2);
  object-fit: cover;
  border: 1px solid var(--line);
}
.lnk {
  background: none;
  border: none;
  color: var(--faint);
  font-size: 11px;
  cursor: pointer;
  letter-spacing: 0.05em;
}
.lnk:hover {
  color: var(--neg);
}

/* ============================================================
   UYGULAMA DÜZENİ — sol kenar çubuğu (sidebar) + içerik
   Masaüstü: sidebar sabit solda. Mobil: hamburger ile açılır çekmece.
   ============================================================ */
.layout {
  display: flex;
  min-height: 100vh;
}

/* --- Kenar çubuğu --- */
.sidebar {
  width: var(--sidebar);
  flex: none;
  background: var(--panel);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 16px 14px;
  z-index: 40;
}
.sb-marka {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 4px 6px 16px;
}
.sb-marka .sq {
  width: 13px;
  height: 16px;
  background: url("logo-koyu.svg") center / contain no-repeat;
}
:root[data-tema="acik"] .sb-marka .sq {
  background-image: url("logo-acik.svg");
}
.sb-marka .bm {
  font-family: var(--display); /* Archivo — marka adı (token egzersizi; kapsamlı başlık/rakam = Adım 2) */
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: var(--ink);
}

.sb-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sb-link {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  border-left: 2px solid transparent;
  color: var(--ink3);
  font-family: var(--sans);
  font-size: 13.5px;
  padding: 10px 11px;
  border-radius: var(--r);
  cursor: pointer;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.sb-link .sb-ikon {
  font-family: var(--mono);
  color: var(--faint);
  font-size: 12px;
}
.sb-link:hover {
  background: var(--panel2);
  color: var(--ink);
}
.sb-link.etkin {
  color: var(--ink);
  background: var(--panel2);
  border-left-color: var(--accent); /* BİRİNCİL VURGU → cyan */
}
.sb-link.etkin .sb-ikon {
  color: var(--accent);
  text-shadow: 0 0 9px rgba(38, 215, 234, 0.55); /* Adım 2b: aktif menü cyan parıltı (koyu) */
}
:root[data-tema="acik"] .sb-link.etkin .sb-ikon {
  text-shadow: none; /* açık temada parıltı kapalı */
}

/* --- Alt bölüm: kota / dil / tema / kullanıcı / çıkış --- */
.sb-alt {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 14px;
}
.sb-kota {
  font-size: 11px;
  color: var(--mut);
  border: 1px solid var(--line);
  padding: 6px 9px;
  border-radius: var(--r);
  text-align: center;
}
.sb-kota b {
  color: var(--pos);
}
.sb-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.sb-etik {
  font-size: 10px;
  color: var(--faint);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--mono);
}
.sb-diller {
  display: flex;
  gap: 4px;
}
.sb-dil {
  background: none;
  border: 1px solid var(--line);
  color: var(--mut);
  font-family: var(--mono);
  font-size: 11px;
  padding: 3px 9px;
  border-radius: var(--r);
  cursor: pointer;
  transition: border-color 0.12s, color 0.12s, background 0.12s;
}
.sb-dil:hover {
  border-color: var(--pos);
  color: var(--ink2);
}
.sb-dil.etkin {
  background: var(--neg);
  border-color: var(--neg);
  color: var(--on-neg);
}
.sb-tema {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: none;
  border: 1px solid var(--line);
  color: var(--mut);
  font-size: 11px;
  padding: 8px;
  border-radius: var(--r);
  cursor: pointer;
  letter-spacing: 0.03em;
  transition: border-color 0.12s, color 0.12s, background 0.12s;
}
.sb-tema:hover {
  border-color: var(--amber);
  color: var(--ink2);
  background: var(--panel2);
}
.sb-user {
  display: flex;
  align-items: center;
  gap: 9px;
  border-top: 1px solid var(--line2);
  padding-top: 12px;
}
.sb-mail {
  font-size: 11.5px;
  color: var(--ink3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sb-cikis {
  background: none;
  border: 1px solid var(--line);
  color: var(--mut);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.05em;
  padding: 8px;
  border-radius: var(--r);
  cursor: pointer;
  text-transform: uppercase;
}
.sb-cikis:hover {
  border-color: var(--neg);
  color: var(--neg);
}

/* --- İçerik alanı (okuma sütunu) --- */
.content {
  flex: 1;
  min-width: 0;
}
.content-ic {
  max-width: var(--maxw);
  margin: 0 auto;
  min-height: 100vh;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

/* --- Hamburger (yalnız mobil) + çekmece zemini --- */
.hamburger {
  display: none;
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 60;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--r);
  color: var(--ink);
  font-size: 17px;
  cursor: pointer;
}
.sb-backdrop {
  display: none;
}

@media (max-width: 860px) {
  .hamburger {
    display: flex;
  }
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 268px;
    transform: translateX(-100%);
    transition: transform 0.22s ease;
    z-index: 70;
  }
  .layout.acik .sidebar {
    transform: translateX(0);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
  }
  .layout.acik .sb-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(6, 8, 11, 0.62);
    z-index: 65;
  }
  .content-ic {
    border-left: none;
    border-right: none;
  }
  .content {
    padding-top: 56px;
  }
}

/* ---------------- Giriş ekranı ---------------- */
.giris {
  min-height: 100vh;
  max-width: 560px;
  margin: 0 auto;
  padding: 60px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.giris .sq-big {
  width: 36px;
  height: 44px;
  background: url("logo-koyu.svg") center / contain no-repeat;
  margin: 0 auto 22px;
}
:root[data-tema="acik"] .giris .sq-big {
  background-image: url("logo-acik.svg");
}
.giris .kick {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--faint);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.giris h1 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
}
.giris h1 b {
  color: var(--pos);
}
.giris .lead {
  color: var(--mut);
  font-size: 14px;
  max-width: 420px;
  margin: 0 auto 26px;
  line-height: 1.6;
}
.giris .feats {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--ink3);
  max-width: 340px;
  margin: 0 auto 28px;
  text-align: left;
  display: grid;
  gap: 9px;
}
.giris .feats div:before {
  content: "› ";
  color: var(--pos);
}
.btn-google {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--panel);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 12px 22px;
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.btn-google:hover {
  border-color: var(--pos);
  background: var(--panel2);
}
.btn-google svg {
  width: 17px;
  height: 17px;
}
.giris .mini {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--faint);
  margin-top: 18px;
}

/* ---------------- Konsol (girdi) ---------------- */
.konsol {
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}
.konsol-h {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--faint);
  text-transform: uppercase;
  margin-bottom: 11px;
}
.satir {
  display: flex;
  align-items: center;
  gap: 9px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 0 10px;
}
.satir:focus-within {
  border-color: var(--pos);
}
.satir .prompt {
  color: var(--pos);
  font-size: 14px;
}
#urlGirdi {
  flex: 1;
  background: none;
  border: none;
  color: var(--ink);
  font-family: var(--mono);
  font-size: 13px;
  padding: 12px 0;
  outline: none;
}
#urlGirdi::placeholder {
  color: var(--faint);
}
.btn {
  background: var(--accent); /* BİRİNCİL EYLEM (ANALİZ ET vb.) → cyan */
  color: var(--on-accent);
  border: none;
  border-radius: var(--r);
  padding: 8px 15px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: var(--glow); /* Adım 2: koyu temada hafif cyan parıltı; açık temada none */
}
.btn:hover {
  filter: brightness(1.08);
}
.btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.ipucu {
  font-size: 11px;
  color: var(--faint);
  margin-top: 10px;
}

/* ---------------- Durum ekranları ---------------- */
.durum {
  padding: 22px 18px;
  font-family: var(--mono);
  font-size: 13px;
  border-bottom: 1px solid var(--line);
}
.durum .satirlog {
  color: var(--faint); /* henüz başlamamış adım — soluk */
  margin-bottom: 6px;
  transition: color 0.2s;
}
.durum .satirlog.aktif {
  color: var(--ink2); /* o an çalışan adım — okunur */
}
.durum .satirlog.ok {
  color: var(--pos); /* tamamlanan adım — yeşil */
}
.durum .satirlog.ok::after {
  content: " ✓";
}
.durum .satirlog.hata {
  color: var(--neg); /* başarısız adım — kırmızı (Karşılaştırma: bir taraf hata verirse) */
}
.durum .satirlog.hata::after {
  content: " ✕";
}
.cursor {
  display: inline-block;
  width: 8px;
  height: 14px;
  background: var(--pos);
  vertical-align: -2px;
  margin-left: 3px;
  animation: blink 1s steps(1) infinite;
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}

.bos {
  padding: 50px 22px;
  text-align: center;
  color: var(--mut);
}
.bos .big {
  font-family: var(--display); /* Adım 2b: Archivo iri boş-durum başlığı */
  font-weight: 700;
  color: var(--faint);
  font-size: 34px;
  margin-bottom: 14px;
}
.bos .t {
  font-size: 14px;
  color: var(--ink2);
  margin-bottom: 6px;
}
.bos .s {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--faint);
}

.uyari {
  padding: 18px;
  border-bottom: 1px solid var(--line);
}
.uyari .box {
  border-left: 2px solid var(--amber);
  background: var(--panel);
  padding: 13px 15px;
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--ink2);
  line-height: 1.55;
}
.uyari.err .box {
  border-left-color: var(--neg);
}
.uyari .box b {
  color: var(--amber);
}
.uyari.err .box b {
  color: var(--neg);
}

.kotafull {
  padding: 40px 22px;
  text-align: center;
}
.kotafull .h {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--neg);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.kotafull .cnt {
  font-family: var(--mono);
  font-size: 40px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 8px;
}
.kotafull .msg {
  color: var(--mut);
  font-size: 13.5px;
  max-width: 380px;
  margin: 0 auto 20px;
  line-height: 1.6;
}
.kotafull .up {
  display: inline-block;
  border: 1px solid var(--pos);
  color: var(--pos);
  background: none;
  font-family: var(--mono);
  font-size: 12px;
  padding: 10px 20px;
  border-radius: var(--r);
  cursor: pointer;
}
.kotafull .up:hover {
  background: var(--pos-a2);
}

/* ---------------- Sonuç bölümleri ---------------- */
.sub {
  background: var(--panel2);
  border-bottom: 1px solid var(--line);
  padding: 8px 18px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--mut);
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.sub b {
  color: var(--ink);
  font-weight: 500;
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px; /* Adım 2: hairline-tile → yüzen kart aralığı (mockup) */
}
.cell {
  background: var(--surface); /* Adım 2: yüzen kart (surface+border+radius+shadow) */
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: var(--pad);
}
.cell.full {
  grid-column: 1 / 3;
}
/* ANLATI HARİTASI (ekran) — tema-duyarlı; mobilde yatay kaydırma. */
.harita-cell .harita-sar {
  overflow-x: auto;
  margin-top: 6px;
}
.anlati-harita {
  display: block;
  width: 100%; /* konteynere fit-to-width (viewBox meet ile ölçeklenir; metin kesilmez) */
  max-width: 700px;
  height: auto;
  margin: 0 auto;
}
/* İnteraktif düğüm: tıklanabilir kutu + seçili vurgu (inline stroke'u !important ile ez). */
.hm-kutu {
  cursor: pointer;
}
.hm-kutu rect {
  transition: stroke 0.12s, stroke-width 0.12s;
}
.hm-kutu:hover rect {
  stroke: var(--pos) !important;
  stroke-width: 1.7 !important;
}
.hm-kutu.hm-sec rect {
  stroke: var(--pos) !important;
  stroke-width: 2.2 !important;
}
.hm-ipucu {
  margin-top: 3px;
  color: var(--faint);
}
/* Düğüm paneli — haritanın altında; açıklama + kanıt gönderileri. */
.hm-panel {
  position: relative;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel2);
}
.hm-panel.gizli {
  display: none;
}
.hm-panel-bas {
  font-size: 13px;
  padding-right: 22px;
  margin-bottom: 4px;
}
.hm-aciklama {
  font-size: 12.5px;
  color: var(--ink2);
  line-height: 1.45;
  margin-bottom: 8px;
}
.hm-aciklama.hm-bos {
  color: var(--faint);
}
.hm-kanit-h {
  color: var(--mut);
  margin-bottom: 5px;
}
.hm-fb {
  color: var(--faint);
}
.hm-gonderiler {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hm-kanit-bos {
  color: var(--faint);
}
.hm-kapat {
  position: absolute;
  top: 6px;
  right: 8px;
  border: none;
  background: transparent;
  color: var(--mut);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 4px;
}
.hm-kapat:hover {
  color: var(--ink);
}
.h {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--faint);
  text-transform: uppercase;
  margin-bottom: 11px;
}

.verdict {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.35;
}
.verdict b {
  color: var(--neg);
}
.verdict b.pos {
  color: var(--pos);
}
.signal {
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--ink2);
  line-height: 1.55;
  margin-top: 12px;
  padding: 11px 13px;
  background: var(--panel);
  border-left: 2px solid var(--neg);
}
.signal b {
  color: var(--neg);
  font-weight: 600;
}

.topic {
  font-size: 13.5px;
  color: var(--ink2);
  line-height: 1.6;
}
.topic em {
  color: var(--amber);
  font-style: normal;
}

/* Örneklem bilgi satırı + tıkla-göster teknik detay */
.gonderi-bilgi {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--mut);
  margin-top: 12px;
}
.detay-ac {
  display: inline;
}
.detay-ac summary {
  display: inline;
  list-style: none;
  cursor: pointer;
  color: var(--faint);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 6px;
  margin-left: 7px;
  font-size: 11px;
}
.detay-ac summary::-webkit-details-marker {
  display: none;
}
.detay-ac[open] summary {
  color: var(--ink2);
  border-color: var(--mut);
}
.detay {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  color: var(--faint);
}

h4 {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--mut);
  margin: 0 0 7px;
  font-weight: 400;
}
h4:not(:first-child) {
  margin-top: 16px;
}
.bar {
  display: flex;
  height: 18px;
  background: var(--panel2);
  overflow: hidden;
  margin-bottom: 5px;
}
.bar span {
  display: block;
}
.drow {
  display: flex;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--mut);
  margin-bottom: 6px;
}
.legend {
  display: flex;
  gap: 14px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--mut);
  margin-top: 8px;
  flex-wrap: wrap;
}
.legend i {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 5px;
  vertical-align: middle;
}

.kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px; /* Adım 2: yüzen KPI kart aralığı */
}
.kpi {
  background: var(--surface); /* Adım 2: yüzen KPI kartı */
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 13px 14px;
}
.kpi .k {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--faint);
  text-transform: uppercase;
  margin-bottom: 7px;
}
.kpi .v {
  font-family: var(--mono);
  font-size: 19px;
  font-weight: 600;
  color: var(--ink);
}
.kpi .v.pos {
  color: var(--pos);
}
.kpi .v.neg {
  color: var(--neg);
}
.kpi .v.amb {
  color: var(--amber);
}
.kpi .s {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--faint);
  margin-top: 3px;
}

.rowbars .r {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
}
.rowbars .r:last-child {
  margin-bottom: 0;
}
.rowbars .r .lab {
  font-family: var(--mono);
  font-size: 12px;
  width: 130px;
  flex: none;
  color: var(--ink2);
  /* Sığmayan etiket kesilmesin, ALT SATIRA sarsın (kesme "…" yok). */
  line-height: 1.3;
  overflow-wrap: break-word;
  word-break: break-word;
}
.rowbars .r .track {
  flex: 1;
  height: 8px;
  background: var(--panel2);
}
.rowbars .r .track i {
  display: block;
  height: 100%;
}
.rowbars .r .p {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--mut);
  width: 36px;
  text-align: right;
}

/* Tweet kartları (en etkili sesler) */
.tweet {
  display: flex;
  gap: 11px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line2);
  position: relative;
}
.tweet:first-of-type {
  padding-top: 2px;
}
.tweet:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}
.tweet .av {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex: none;
  object-fit: cover;
  background: var(--panel2);
  display: grid;
  place-items: center;
  font-family: var(--mono);
  font-size: 15px;
  color: var(--mut);
  overflow: hidden;
}
.tweet .body {
  flex: 1;
  min-width: 0;
}
.tweet .top {
  display: flex;
  align-items: center;
  gap: 5px;
  padding-right: 70px;
  flex-wrap: wrap;
}
/* Tutum rozeti olmayan (gündem) kartta sağdaki rozet payına gerek yok. */
.tweet.tutumsuz .top {
  padding-right: 0;
}
.tweet .nm {
  font-weight: 600;
  font-size: 13.5px;
  color: var(--ink);
}
.tweet .vf {
  color: var(--pos);
  font-size: 12px;
}
.tweet .meta {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--faint);
}
.tweet .badge {
  position: absolute;
  top: 12px;
  right: 0;
  font-family: var(--mono);
  font-size: 10px;
  padding: 2px 7px;
  border-radius: var(--r);
}
.badge.neg {
  background: var(--neg-a);
  color: var(--neg);
}
.badge.pos {
  background: var(--pos-a);
  color: var(--pos);
}
.badge.neu {
  background: var(--neu-a);
  color: var(--neu);
}
.tweet .txt {
  font-size: 13px;
  color: var(--ink3);
  line-height: 1.45;
  margin: 4px 0 8px;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.tweet .eng {
  display: flex;
  gap: 18px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--faint);
}
.tweet .eng span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.tweet .eng svg {
  width: 13px;
  height: 13px;
  stroke: var(--faint);
  fill: none;
}

.colc h5 {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  margin-bottom: 9px;
  text-transform: uppercase;
}
.colc.p h5 {
  color: var(--pos);
}
.colc.n h5 {
  color: var(--neg);
}
.colc.u h5 {
  color: var(--amber);
}
.colc ul {
  list-style: none;
}
.colc li {
  font-size: 12px;
  color: var(--ink3);
  line-height: 1.4;
  padding: 5px 0 5px 13px;
  position: relative;
  border-bottom: 1px solid var(--line2);
}
.colc li:last-child {
  border-bottom: none;
}
.colc li:before {
  content: "›";
  position: absolute;
  left: 0;
  color: var(--faint);
}

.quote {
  padding: 18px 20px;
}
.quote blockquote {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
}
.quote blockquote:before {
  content: "> ";
  color: var(--neg);
  font-family: var(--mono);
}
.quote cite {
  display: block;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--faint);
  margin-top: 9px;
  font-style: normal;
}

.note {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--faint);
  padding: 16px 18px;
  line-height: 1.5;
}

/* ============================================================
   PLANI YÜKSELT — tam ekran katman + plan tablosu
   ============================================================ */
.plan-ekran {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(6, 8, 11, 0.86);
  backdrop-filter: blur(3px);
  overflow-y: auto;
  padding: 24px 16px 48px;
}
/* SAYFA MODU — modal değil, içerik alanında sayfa gibi açılır (sidebar'ı örtmez).
   z30 → sidebar (z40) ve hamburger (z60) üstte kalır (tıklanabilir). Backdrop yok. */
.plan-ekran.sayfa {
  inset: 0 0 0 var(--sidebar);
  z-index: 30;
  background: var(--bg);
  backdrop-filter: none;
}
.plan-ekran.sayfa .plan-kapat {
  display: none;
}
@media (max-width: 860px) {
  .plan-ekran.sayfa {
    inset: 0;
    padding-top: 60px; /* mobil: hamburger için üst boşluk */
  }
}
.plan-panel {
  max-width: 1000px;
  margin: 0 auto;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r);
}
.plan-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
  position: sticky;
  top: 0;
  z-index: 2;
}
.plan-title {
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--neg);
  text-transform: uppercase;
}
.plan-kapat {
  background: none;
  border: 1px solid var(--line);
  color: var(--mut);
  width: 28px;
  height: 28px;
  border-radius: var(--r);
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
}
.plan-kapat:hover {
  border-color: var(--neg);
  color: var(--neg);
}
.plan-giris {
  padding: 22px 22px 4px;
  text-align: center;
}
.plan-giris h2 {
  font-size: 21px;
  font-weight: 600;
  margin-bottom: 8px;
}
.plan-giris p {
  color: var(--mut);
  font-size: 13.5px;
  max-width: 440px;
  margin: 0 auto;
  line-height: 1.55;
}
.plan-mesaj {
  margin: 16px 22px 0;
  border-left: 2px solid var(--pos);
  background: var(--panel);
  padding: 11px 14px;
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--ink2);
  line-height: 1.5;
}
.plan-tablo {
  display: grid;
  /* Görünür plan sayısına göre uyum sağlar: 2 kart → ortalanmış çift, 4 kart → sıra.
     (Bireysel/Pro gizlendiği için şu an 2 kart; sabit repeat(4) sola sıkıştırıyordu.) */
  grid-template-columns: repeat(auto-fit, minmax(200px, 260px));
  justify-content: center;
  align-items: start; /* kartlar üstten hizalı — kısa kart uzun karta stretch olmaz */
  gap: 12px;
  padding: 22px;
}
.plan-dip {
  text-align: center;
  font-size: 11px;
  color: var(--faint);
  padding: 0 22px 22px;
}

/* --- Plan kartı --- */
.pk {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 20px 16px 16px;
}
.pk.one {
  border-color: var(--pos);
  box-shadow: 0 0 0 1px var(--pos) inset;
}
.pk.prem {
  border-color: var(--amber);
  background: linear-gradient(180deg, rgba(240, 169, 74, 0.06), var(--panel) 60%);
}
.pk-rozet {
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--pos);
  color: var(--on-neg);
  font-weight: 600;
}
.pk-rozet.prem {
  background: var(--amber);
}
.pk-ad {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink);
}
.pk-ozet {
  font-size: 11.5px;
  color: var(--mut);
  margin-top: 3px;
  min-height: 28px;
}
.pk-fiyat {
  margin: 10px 0 14px;
  font-family: var(--mono);
  color: var(--ink);
}
.pk-fiyat b {
  font-size: 26px;
  font-weight: 700;
}
.pk-fiyat span {
  font-size: 12px;
  color: var(--mut);
}
.pk-fiyat.ozel {
  font-size: 15px;
  font-weight: 600;
  color: var(--amber);
}
.pk-oz {
  list-style: none;
  flex: 1;
  margin-bottom: 16px;
}
.pk-oz li {
  display: flex;
  gap: 8px;
  font-size: 12.5px;
  color: var(--ink3);
  line-height: 1.4;
  padding: 6px 0;
  border-bottom: 1px solid var(--line2);
}
.pk-oz li:last-child {
  border-bottom: none;
}
.pk-oz li .tik {
  color: var(--faint);
  font-family: var(--mono);
  flex: none;
}
.pk-oz li.vurgu {
  color: var(--ink);
  font-weight: 600;
}
.pk-oz li.vurgu .tik {
  color: var(--pos);
}
.pk-oz li.tali {
  color: var(--mut);
}
.pk-oz li em {
  font-style: normal;
  color: var(--faint);
  font-size: 11px;
}
/* Vurgulu değer cümlesi (özetin altı, fiyatın üstü) — Ajans hero kartı */
.pk-tagline {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--amber);
}
/* Zengin özellik maddesi: kalın başlık + soluk açıklama */
.pk-oz li.pk-oz-z {
  align-items: flex-start;
}
.pk-oz-metin {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pk-oz-metin b {
  color: var(--ink);
  font-weight: 700;
  font-size: 12.5px;
}
.pk-oz-ack {
  color: var(--mut);
  font-size: 11px;
  line-height: 1.4;
}
/* Tesisat satırı: tek satır, sıkıştırılmış özet */
.pk-oz li.pk-oz-tesisat {
  color: var(--mut);
  font-size: 11.5px;
}
.pk-oz li.pk-oz-tesisat .tik {
  color: var(--pos);
}
.pk-cta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pk-btn {
  display: block;
  text-align: center;
  border-radius: var(--r);
  padding: 10px 12px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  border: 1px solid var(--line);
  background: none;
  color: var(--ink);
  text-decoration: none;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.pk-btn.yukselt {
  background: var(--neg);
  border-color: var(--neg);
  color: var(--on-neg);
}
.pk-btn.yukselt:hover {
  filter: brightness(1.08);
}
.pk-btn.mevcut {
  color: var(--mut);
  cursor: default;
  border-style: dashed;
}
.pk-btn.wa {
  background: var(--wa);
  border-color: var(--wa);
  color: var(--on-wa);
}
.pk-btn.wa:hover {
  filter: brightness(1.06);
}
.pk-btn.mail:hover {
  border-color: var(--amber);
  color: var(--amber);
}

@media (max-width: 780px) {
  .plan-tablo {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 460px) {
  .plan-tablo {
    grid-template-columns: 1fr;
  }
}

/* ---------------- Geçmişim (katman içeriği) ---------------- */
.gecmis-liste {
  display: grid;
  gap: 10px;
  padding: 20px 22px 26px;
}
.gecmis-baslik {
  padding: 20px 22px 0;
  font-size: 12.5px;
  color: var(--mut);
}
.gk {
  display: block;
  width: 100%;
  text-align: left;
  background: var(--panel);
  border: 1px solid var(--line);
  border-left: 2px solid var(--line);
  border-radius: var(--r);
  padding: 13px 15px;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.15s, background 0.15s;
}
.gk:hover {
  border-color: var(--pos);
  border-left-color: var(--pos);
  background: var(--panel2);
}
.gk-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 6px;
}
.gk-at {
  font-weight: 600;
  font-size: 13.5px;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gk-tar {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--faint);
  flex: none;
}
.gk-ozet {
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--ink2);
  margin-bottom: 4px;
}
.gk-konu {
  font-size: 12px;
  color: var(--mut);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Geçmiş: platform rozeti (X / Instagram / TikTok / Gündem) */
.gk-pf {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--mono);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 1px 7px 1px 5px;
  border-radius: 999px;
  margin-right: 7px;
  vertical-align: middle;
  border: 1px solid var(--line);
  color: var(--mut);
}
.gk-pf-ik {
  display: inline-flex;
  width: 11px;
  height: 11px;
}
.gk-pf-ik svg {
  width: 100%;
  height: 100%;
}
.gk-pf.x {
  color: var(--ink2);
}
.gk-pf.instagram {
  color: #c13584;
  border-color: rgba(193, 53, 132, 0.4);
  background: rgba(193, 53, 132, 0.08);
}
.gk-pf.tiktok {
  color: #0aa3a3;
  border-color: rgba(10, 163, 163, 0.4);
  background: rgba(10, 163, 163, 0.08);
}

/* Geçmiş: platform filtre çubuğu (üstte, amblem + sayı) */
.gecmis-filtre {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 22px 0;
}
.gf-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink3);
  font-family: var(--sans);
  font-size: 12.5px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.gf-btn:hover {
  border-color: var(--mut);
  color: var(--ink);
}
.gf-btn .gf-ik {
  display: inline-flex;
  width: 15px;
  height: 15px;
}
.gf-btn .gf-ik svg {
  width: 100%;
  height: 100%;
}
.gf-btn .gf-say {
  font-size: 11px;
  color: var(--faint);
}
.gf-btn.etkin {
  border-color: var(--neg);
  background: var(--neg-a);
  color: var(--ink);
}
.gf-btn.etkin .gf-say {
  color: var(--neg);
}

/* Sidebar kota: platform bazlı kompakt tek satır ("bu ay  X 12/45 · IG 3/10 · TT 0/10") */
.sb-kota {
  line-height: 1.5;
}
.sb-kota .kota-ay {
  color: var(--faint);
  margin-right: 3px;
}
.sb-kota .kota-pl {
  font-family: var(--mono);
  color: var(--ink2);
  letter-spacing: -0.01em;
}

.gecmis-bos {
  padding: 56px 24px;
  text-align: center;
  color: var(--mut);
}
.gecmis-bos .big {
  font-family: var(--display); /* Adım 2b: Archivo iri boş-durum başlığı */
  font-weight: 700;
  color: var(--faint);
  font-size: 32px;
  margin-bottom: 14px;
}
.gecmis-bos .t {
  font-size: 15px;
  color: var(--ink2);
  margin-bottom: 6px;
}
.gecmis-bos .s {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--faint);
  line-height: 1.6;
}
.gecmis-yukleniyor {
  padding: 44px 24px;
  text-align: center;
  font-family: var(--mono);
  font-size: 13px;
  color: var(--mut);
}

/* ============================================================
   YÖNETİM PANELİ (admin) — D temasının devamı
   ============================================================ */
.shell-genis {
  max-width: 1140px;
}
.yon-etiket {
  font-size: 9px;
  letter-spacing: 0.12em;
  color: var(--bg);
  background: var(--amber);
  padding: 2px 6px;
  border-radius: 999px;
  margin-left: 4px;
  font-weight: 700;
}
.yon-not {
  font-size: 11px;
  color: var(--faint);
  padding: 10px 18px 0;
  line-height: 1.5;
}

/* --- Kullanıcı tablosu --- */
.yon-tablo-sar {
  padding: 16px 18px 26px;
  overflow-x: auto;
}
.yon-tablo {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.yon-tablo thead th {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--faint);
  text-align: left;
  font-weight: 400;
  padding: 0 10px 8px;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.yon-tablo td {
  padding: 10px;
  border-bottom: 1px solid var(--line2);
  vertical-align: middle;
}
.yon-satir {
  cursor: pointer;
  transition: background 0.12s;
}
.yon-satir:hover {
  background: var(--panel);
}
.yon-mail {
  color: var(--ink);
  font-weight: 500;
  white-space: nowrap;
}
.yon-ad {
  font-size: 11px;
  color: var(--mut);
  white-space: nowrap;
}
.yon-uid {
  font-size: 10px;
  color: var(--faint);
  white-space: nowrap;
}
.yon-kimlik .ad {
  font-size: 12.5px;
  color: var(--mut);
  margin-top: 2px;
}
.yon-tablo .say {
  color: var(--ink2);
  white-space: nowrap;
}
.yon-tablo .say .sn {
  color: var(--faint);
}
.yon-tablo .ince {
  color: var(--mut);
  font-size: 11px;
  white-space: nowrap;
}
.yon-bos {
  text-align: center;
  color: var(--mut);
  padding: 40px 0 !important;
}
.rz {
  font-family: var(--mono);
  font-size: 9.5px;
  padding: 2px 7px;
  border-radius: 999px;
  white-space: nowrap;
}
.rz.plan {
  background: var(--pos-a);
  color: var(--pos);
}
.rz.acik {
  color: var(--mut);
  border: 1px solid var(--line);
}
.rz.kapali {
  background: var(--neg-a);
  color: var(--neg);
}

/* --- Detay --- */
.yon-detay {
  padding: 0 0 22px;
}
.yon-kimlik {
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--line);
}
.yon-kimlik .mail {
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
}
.yon-kimlik .uid {
  font-size: 11px;
  color: var(--faint);
  margin-top: 3px;
}
.yon-mudahale {
  padding: 20px 22px;
  border-bottom: 1px solid var(--line);
}
.yon-mudahale .h,
.yon-gecmis .h {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--faint);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.yon-mudahale .plan-mesaj {
  margin: 0 0 14px;
}
.satir-alan {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.satir-alan:last-child {
  margin-bottom: 0;
}
.satir-alan label {
  font-size: 11px;
  color: var(--mut);
  width: 130px;
  flex: none;
}
.yon-input {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r);
  color: var(--ink);
  font-size: 12.5px;
  padding: 8px 10px;
  outline: none;
  min-width: 130px;
}
.yon-input:focus {
  border-color: var(--pos);
}
/* Admin persona editörü */
.yon-persona {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
  max-width: 560px;
}
.yon-persona .yon-input {
  width: 100%;
}
.yon-textarea {
  resize: vertical;
  line-height: 1.5;
  font-family: inherit;
}
.yon-persona-aktif {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink2);
  cursor: pointer;
}
.yon-persona-aktif input {
  width: 15px;
  height: 15px;
  accent-color: var(--pos);
}
.yon-ikincil {
  background: none;
  border: 1px solid var(--line);
  color: var(--mut);
  border-radius: var(--r);
  padding: 8px 13px;
  font-size: 11px;
  cursor: pointer;
}
.yon-ikincil:hover {
  border-color: var(--pos);
  color: var(--pos);
}
.yon-tehlike {
  background: none;
  border: 1px solid var(--neg);
  color: var(--neg);
  border-radius: var(--r);
  padding: 8px 13px;
  font-size: 11px;
  cursor: pointer;
}
.yon-tehlike:hover {
  background: var(--neg-a);
}

/* --- Yönetim: platform bazlı kota satırları --- */
.pf-baslik {
  font-size: 11px;
  color: var(--mut);
  margin: 8px 0 10px;
}
.pf-satir label {
  width: 82px;
  font-weight: 600;
  color: var(--ink);
}
.pf-satir .pf-etik {
  font-size: 10.5px;
  color: var(--faint);
}
.pf-satir .yon-input {
  min-width: 66px;
  width: 66px;
}
/* Kullanıcı listesinde platform bazlı kullanım özeti (tek satır) */
.pf-ozet {
  white-space: nowrap;
}

/* --- Detaydaki analiz listesi --- */
.yon-gecmis {
  padding: 20px 22px 0;
}
.yon-analiz {
  padding: 10px 0;
  border-bottom: 1px solid var(--line2);
}
.yon-analiz:last-child {
  border-bottom: none;
}
.yon-analiz-ust {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}
.yon-analiz .at {
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
}
.yon-analiz .tar {
  font-size: 11px;
  color: var(--faint);
  flex: none;
}
.yon-analiz .ozet {
  font-size: 12px;
  color: var(--ink2);
  margin: 3px 0;
}
.yon-analiz .konu {
  font-size: 11.5px;
  color: var(--mut);
  line-height: 1.4;
}
.yon-analiz .link {
  display: inline-block;
  font-size: 11px;
  color: var(--faint);
  text-decoration: none;
  margin-top: 5px;
}
.yon-analiz .link:hover {
  color: var(--pos);
}

@media (max-width: 700px) {
  .satir-alan label {
    width: 100%;
  }
}

/* ---------------- PDF indir butonu (ekran) ---------------- */
.sonuc-arac {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}
/* İZLEME (Adım 1/3) — kontroller + liste. Tema-duyarlı; mobilde sarar. */
.izle-arac {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.izle-siklik {
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 5px 8px;
  font-family: var(--mono);
  font-size: 11px;
}
.izle-btn {
  background: var(--pos);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  font-family: var(--mono);
  font-size: 11px;
  cursor: pointer;
}
.izle-btn.ikincil {
  background: none;
  color: var(--ink);
  border: 1px solid var(--line);
}
.izle-btn:disabled {
  opacity: 0.6;
  cursor: default;
}
.izlemeler-kutu {
  border-bottom: 1px solid var(--line);
  background: var(--bg);
  padding: 8px 18px;
}
.izle-bos {
  color: var(--mut);
  padding: 8px 0;
}
.izle-satir {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line2);
}
.izle-satir:last-child {
  border-bottom: none;
}
/* Sonlandırılmış izleme satırı — sönük (veri korunur, açılabilir) */
.izle-satir.izle-sonlandi .izle-konu b,
.izle-satir.izle-sonlandi .izle-meta {
  opacity: 0.7;
}
/* Durum filtre çubuğu (Aktif / Sonlandırılmış / Hepsi) — liste üstünde */
.izle-durum-filtre {
  margin-bottom: 10px;
}
.izle-konu {
  flex: 1 1 220px;
  color: var(--ink);
  font-size: 13px;
}
.izle-meta {
  flex: 1 1 260px;
  color: var(--mut);
  font-size: 11px;
}
.izle-btnlar {
  display: inline-flex;
  gap: 6px;
}
.izle-mini {
  background: none;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 4px 9px;
  font-family: var(--mono);
  font-size: 10px;
  cursor: pointer;
}
.izle-mini.sil {
  color: var(--neg);
  border-color: var(--neg);
}
/* GÜNDEM TAKİBİ sayfası (overlay içinde) — ekle formu + liste. */
.takip-govde {
  padding: 4px 22px 22px;
}
.takip-ekle {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
  background: var(--panel);
}
.takip-ekle-h {
  color: var(--mut);
  margin-bottom: 8px;
  letter-spacing: 0.04em;
}
.takip-input {
  width: 100%;
  box-sizing: border-box;
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 8px;
  font-family: var(--sans);
  font-size: 13px;
}
.takip-ekle-alt {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.takip-uyari {
  margin-top: 8px;
  color: var(--amber);
}
/* Takip listesi satırı: konu tıklanınca trend açılır. */
.takip-tikla {
  cursor: pointer;
}
.takip-tikla:hover {
  color: var(--pos);
}
.takip-ok {
  color: var(--faint);
}
/* TREND görünümü (Adım 2) — takip overlay içinde. */
.takip-trend {
  padding: 4px 22px 22px;
}
.trend-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.trend-konu {
  font-size: 14px;
  color: var(--ink);
}
.trend-bar-btnlar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.btn.ikincil {
  background: none;
  color: var(--ink);
  border: 1px solid var(--line);
}
.trend-bos {
  color: var(--mut);
  padding: 14px 0;
}
.trend-alt {
  color: var(--mut);
  margin-top: 6px;
}
.tl-lejant {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.tl-lej {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--mut);
}
.tl-liste {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 6px;
}
.tl-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 5px;
  flex-wrap: wrap;
}
.tl-row.degisti {
  background: rgba(240, 169, 74, 0.14); /* faint amber — vurgulanan değişim satırı (her iki tema) */
}
.tl-zaman {
  color: var(--faint);
  min-width: 88px;
}
.tl-anlati {
  color: var(--ink);
  font-size: 13px;
}
.tl-degisim {
  color: var(--amber);
}
/* İZLEME DETAY ZENGİN GÖRÜNÜM — yönetici özeti + neler değişti + karar + anlatılar. */
.ta-bolum {
  margin-bottom: 12px;
}
/* HESAP TAKİBİ — "ne paylaştı" gönderileri + bölüm başlığı. */
.ta-bolum-baslik {
  color: var(--ink);
  font-weight: 600;
  font-size: 13px;
  margin: 14px 0 6px;
  padding-top: 10px;
  border-top: 1px dashed var(--line);
}
.nd-gonderi {
  padding: 8px 10px;
  margin-bottom: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel2);
}
/* Tıklanabilir tweet kartı (X'te açılır) — metin rengi korunur, tıklanabilir görünür */
a.nd-link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, background 0.15s;
}
a.nd-link:hover {
  border-color: var(--pos);
  background: var(--pos-a2);
}
.nd-git {
  color: var(--pos);
  margin-left: auto;
  white-space: nowrap;
}
a.nd-link .nd-meta {
  display: flex;
  gap: 6px;
  align-items: center;
}
/* Mesaj Hattı (Modül 1) — alt-başlık + üslup profili metni */
.mh-alt {
  color: var(--mut);
  font-weight: 600;
  font-size: 12px;
  margin: 0 0 5px;
}
.mh-ton {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
  padding: 8px 10px;
  border-left: 3px solid var(--pos);
  background: var(--panel2);
  border-radius: 0 6px 6px 0;
}
/* B1 — hesabın KENDİ taşıdığı anlatı satırı */
.kendi-anlati {
  font-size: 13px;
  line-height: 1.5;
  padding: 5px 10px;
  margin-bottom: 4px;
  border-left: 3px solid var(--accent);
  background: var(--panel2);
  border-radius: 0 6px 6px 0;
}
/* B2 — yankı odası rozeti + B3 şişirme rozeti (ortak rozet stili) */
.yanki-bar, .sisirme-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.yanki-rozet, .sisirme-rozet {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
}
.yanki-yanki { color: var(--pop); border-color: var(--pop); }
.yanki-tartismali { color: var(--good); border-color: var(--good); }
.yanki-karisik { color: var(--accent2); border-color: var(--accent2); }
.sisirme-temiz { color: var(--good); border-color: var(--good); }
.sisirme-dusuk { color: var(--accent); border-color: var(--accent); }
.sisirme-orta { color: var(--accent2); border-color: var(--accent2); }
.sisirme-yuksek { color: var(--pop); border-color: var(--pop); }
/* B3 — somut eşgüdüm kümesi kartı */
.esg-kume {
  padding: 7px 10px;
  margin-bottom: 5px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel2);
}
.esg-ornek { font-size: 12.5px; color: var(--ink); line-height: 1.45; }
.esg-meta { font-size: 11px; margin-top: 3px; }
/* Destekçi & Muhalif Haritası (Modül 2) — iki sütun + koordinasyon yönü */
.dm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 4px;
}
.dm-kolon {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
}
.dm-kolon.dm-destek {
  border-left: 3px solid var(--pos);
}
.dm-kolon.dm-muhalif {
  border-left: 3px solid var(--neg);
}
.dm-baslik {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 6px;
  color: var(--ink);
}
.dm-destek .dm-baslik {
  color: var(--pos);
}
.dm-muhalif .dm-baslik {
  color: var(--neg);
}
/* Hesap satırı (röntgen destek/muhalif · karşılaştırma · en etkili alıntılayanlar —
   HEPSİ bu sınıfları kullanır, tek yerden çözülür).
   BUG (2026-09-25): uzun aktör rozeti (".aktor-rz" nowrap) tüm genişliği kapıyor,
   @handle sütunu ~0'a sıkışıyor ve `overflow-wrap: anywhere` yüzünden harf harf
   DİKEY diziliyordu (@ k a s a p o g l u). Çözüm: handle asla kırılmaz/küçülmez,
   rozet gerekirse ALT SATIRA sarar. */
/* Hesap satırı — İKİ SATIRLI YAPI:
     satır 1 (.dm-ust)  : @handle (sol, tek satır) + takipçi/etkileşim (sağ)
     satır 2 (.dm-meta) : aktör rozeti — tam genişlik, serbestçe sarar
   Neden: aktör rozeti tek parça uzun bir "pill". Yan yana flex düzeninde handle'a
   genişlik bırakmıyor, handle harf harf DİKEY diziliyordu. Rozeti kendi satırına
   almak bu davranıştan tamamen bağımsız KESİN çözümdür. */
.dm-hesap {
  display: block;
  padding: 5px 0;
  border-top: 1px solid var(--line);
}
.dm-hesap:first-of-type {
  border-top: none;
}
.dm-ust {
  display: flex;
  justify-content: space-between;
  align-items: baseline; /* farklı punto (12.5/11px) — taban hizası */
  gap: 8px;
  min-width: 0;
}
.dm-user {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  flex: 0 1 auto;
  min-width: 0;
}
/* @handle: TEK SATIR, ASLA harf harf kırılmaz. Aşırı uzunsa "…" ile kısalır
   (X'te kullanıcı adı tavanı 15 karakter → pratikte kesilme olmaz, güvenlik ağı). */
.dm-user .eh-user {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Aktör rozeti kendi satırında: tam genişlik, uzun meta kelime sınırında sarar
   (global `.aktor-rz { white-space: nowrap }` YALNIZ burada gevşetilir). */
.dm-meta {
  margin-top: 3px;
  min-width: 0;
}
.dm-meta .aktor-rz {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  text-align: left;
  margin-left: 0;
}
/* Takipçi/etkileşim sayısı — üst satırın SAĞ ucunda, tek satır, asla küçülmez. */
.dm-metr {
  color: var(--faint);
  font-size: 11px;
  flex: 0 0 auto;
  margin-left: auto;
  white-space: nowrap;
  text-align: right;
}
.dm-bos {
  color: var(--faint);
  padding: 4px 0;
}
/* "takipçiye göre sıralı" notu — başlık ile liste arası küçük ölçüt bilgisi. */
.dm-sira {
  color: var(--faint);
  font-size: 11.5px;
  margin: 0 0 8px;
}
/* "alıntı" rozeti — bu hesap yanıt vermedi, alıntıladı (duruş alıntı metninden). */
.dm-alinti {
  display: inline-block;
  font-size: 10px;
  line-height: 1.6;
  padding: 0 5px;
  border-radius: 999px;
  color: var(--c2);
  background: rgba(75, 159, 240, 0.14);
  vertical-align: middle;
}
.dm-koord {
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  background: var(--panel2);
  color: var(--mut);
  line-height: 1.45;
}
@media (max-width: 560px) {
  .dm-grid {
    grid-template-columns: 1fr;
  }
}
/* Zayıf Nokta (Modül 3) — saldırı yüzeyi, amber uyarı vurgusu */
.zn-cell {
  border-left: 3px solid var(--amber);
}
.zn-ad {
  color: var(--ink);
  font-size: 14px;
  margin-top: 2px;
}
.zn-ozet {
  color: var(--mut);
  line-height: 1.5;
  margin-top: 4px;
}
/* Çelişki (Modül 4) — Mesaj Hattı içinde uyarı satırı */
.mh-celiski {
  color: var(--ink);
  line-height: 1.5;
  padding: 8px 10px;
  margin-bottom: 8px;
  border-left: 3px solid var(--amber);
  background: rgba(240, 169, 74, 0.1);
  border-radius: 0 6px 6px 0;
}
/* Momentum (Modül 4) — yön göstergesi */
.mo-satir {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
}
.mo-ikon {
  font-size: 20px;
  font-weight: 700;
}
.mo-yukselen {
  color: var(--pos);
}
.mo-sonen {
  color: var(--neg);
}
.mo-sabit {
  color: var(--mut);
}
.mo-yuzde {
  color: var(--faint);
  font-size: 13px;
}
.mo-alt {
  color: var(--mut);
  margin-top: 4px;
  line-height: 1.45;
}
/* HESAP RÖNTGENİ (tek seferlik) — giriş + üst bar + anlık etki + CTA */
.rontgen-giris {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.rontgen-giris .takip-input {
  flex: 1;
  min-width: 180px;
}
.rontgen-bekle {
  color: var(--mut);
  padding: 20px 0;
  text-align: center;
}
.rontgen-sonuc {
  margin-top: 6px;
}
.rontgen-ust {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 8px 0 12px;
}
.rontgen-hesap {
  font-size: 15px;
  color: var(--ink);
}
.rontgen-stat {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.rs-kutu {
  flex: 1;
  min-width: 90px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--panel2);
  text-align: center;
}
.rs-say {
  font-family: var(--display); /* Adım 2: Archivo iri rakam */
  font-size: 21px;
  font-weight: 700;
  color: var(--ink);
}
.rs-et {
  color: var(--mut);
  font-size: 11px;
  margin-top: 2px;
}

/* ===== KARŞILAŞTIRMA (A vs B) ===== */
.gurultu-not {
  color: var(--mut);
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  background: transparent;
}
.kmp-tur-toggle {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}
.kmp-tur {
  border: none;
  background: transparent;
  color: var(--mut);
  font-size: 12.5px;
  padding: 6px 16px;
  cursor: pointer;
  font-family: inherit;
}
.kmp-tur.etkin {
  background: var(--c1);
  color: #fff;
  font-weight: 600;
}
.kmp-konu-ozet {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12.5px;
  text-align: left;
}
.kmp-ko-r {
  color: var(--ink2);
}
.kmp-giris {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.kmp-giris .takip-input {
  flex: 1;
  min-width: 150px;
}
.kmp-vs-etiket {
  color: var(--mut);
  font-weight: 700;
}
.kmp-hafif-sat {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  color: var(--mut);
  cursor: pointer;
}
.kmp-sonuc-sar {
  margin-top: 10px;
}
.kmp-ilerleme {
  color: var(--mut);
  padding: 20px 0;
  text-align: center;
}
.kmp-basliksatir {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  margin: 6px 0 12px;
}
.kmp-col-h {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.kmp-a-r {
  text-align: right;
}
.kmp-b-r {
  text-align: left;
}
.kmp-vs-orta {
  color: var(--mut);
  font-weight: 700;
  text-align: center;
}
.kmp-hata {
  color: var(--neg);
  font-weight: 400;
}
.kmp-boyut {
  border-top: 1px solid var(--line);
  padding: 8px 0;
}
.kmp-boyut-h {
  color: var(--mut);
  text-align: center;
  margin-bottom: 4px;
  letter-spacing: 0.02em;
}
.kmp-satir {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}
.kmp-deg {
  font-size: 14px;
  color: var(--ink);
}
.kmp-deg.kmp-a-r {
  text-align: right;
}
.kmp-deg.kmp-b-r {
  text-align: left;
}
.kmp-deg.kmp-lider {
  color: var(--pos);
  font-weight: 700;
}
.kmp-ok {
  color: var(--pos);
  font-size: 11px;
}
.kmp-not {
  text-align: center;
  color: var(--faint);
  font-size: 11px;
  min-width: 90px;
}
.kmp-nitel .kmp-deg {
  font-size: 12.5px;
  line-height: 1.4;
}
.kmp-chip {
  display: inline-block;
  font-size: 11px;
  color: var(--ink2);
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 1px 8px;
  margin: 2px 2px 0;
}
.kmp-evet {
  color: var(--pos);
  font-weight: 700;
}
.kmp-kalici {
  color: #2f7fd6;
  font-weight: 700;
}
.kmp-mom-up {
  color: var(--pos);
  font-weight: 700;
}
.kmp-mom-down {
  color: var(--neg);
  font-weight: 700;
}
.kmp-mom-flat {
  color: var(--mut);
  font-weight: 700;
}
.kmp-hayir {
  color: var(--mut);
}
/* Genel skor kartı */
.kmp-skorkart {
  margin: 4px 0 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel2);
  text-align: center;
}
.kmp-rozet {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.kmp-skor-satir {
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: baseline;
  margin-top: 5px;
  font-size: 12.5px;
  flex-wrap: wrap;
}
.kmp-skor-a {
  color: var(--c1);
}
.kmp-skor-b {
  color: var(--etk);
}
.kmp-skor-orta {
  color: var(--faint);
}
/* Radar */
.kmp-radar-cell {
  text-align: center;
}
.kmp-radar-sar {
  overflow-x: auto;
  margin-top: 4px;
}
.kmp-radar {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  margin: 0 auto;
}
.kmp-legend {
  display: flex;
  justify-content: center;
  gap: 14px;
  font-size: 12px;
  margin-top: 2px;
}
.kmp-lg {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.kmp-lg::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 2px;
  display: inline-block;
}
.kmp-lg-a {
  color: var(--c1);
}
.kmp-lg-a::before {
  background: var(--c1);
}
.kmp-lg-b {
  color: var(--etk);
}
.kmp-lg-b::before {
  background: var(--etk);
}
.kmp-hukum {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel2);
  font-size: 13px;
  color: var(--ink);
}
/* B4 — İlişkisel ayrışma paneli */
.kmp-ayrisma .ayr-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 620px) { .kmp-ayrisma .ayr-grid { grid-template-columns: 1fr; } }
.ayr-blok {
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel2);
}
.ayr-h { font-size: 12px; font-weight: 700; color: var(--mut); margin-bottom: 5px; }
.ayr-metrik { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.ayr-buyuk { font-size: 20px; font-weight: 800; color: var(--accent); font-family: var(--display, inherit); }
.ayr-hesaplar { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.ayr-rozet { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line); }
.ayr-uyari { color: var(--pop); border-color: var(--pop); }
.ayr-temiz { color: var(--good); border-color: var(--good); }
.kmp-hukum-h {
  color: var(--mut);
  margin-bottom: 4px;
}
.kmp-bilgi {
  margin-top: 10px;
}
.rontgen-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  border-left: 3px solid var(--pos);
}
.rc-metin {
  color: var(--ink);
  line-height: 1.5;
  flex: 1;
  min-width: 220px;
}
.nd-metin {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
}
.nd-meta {
  color: var(--faint);
  font-size: 11px;
  margin-top: 5px;
}
.ta-ozet-metin {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.55;
  margin-top: 4px;
}
.ta-fark {
  color: var(--mut);
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
}
.ta-manset {
  color: var(--ink);
  font-weight: 600;
  font-size: 14px;
  margin: 2px 0 6px;
}
.ta-degisim-metin {
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.55;
  padding: 8px 10px;
  border-left: 3px solid var(--amber);
  background: rgba(240, 169, 74, 0.1);
  border-radius: 0 5px 5px 0;
}
.ta-degisim-yok {
  color: var(--mut);
  font-style: italic;
}
.ta-karar-liste {
  margin: 6px 0 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ta-karar-liste li {
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.5;
}
.ta-karar {
  border-left: 3px solid var(--pos);
  padding-left: 12px;
}
.ta-anlati-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
  margin-top: 6px;
}
.ta-anlati {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--panel2);
}
.ta-anlati-ust {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-size: 13px;
}
.ta-anlati-ozet {
  color: var(--mut);
  margin: 5px 0 8px;
  line-height: 1.45;
}
.ta-bar {
  height: 6px;
  border-radius: 4px;
  background: var(--line);
  overflow: hidden;
}
.ta-bar-dolu {
  display: block;
  height: 100%;
  border-radius: 4px;
}
.ta-bar-alt {
  color: var(--faint);
  margin-top: 5px;
  font-size: 11px;
}
.trend-birikiyor {
  color: var(--mut);
  padding: 16px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: var(--panel2);
}
/* UYARI (Adım 3) — üst bar, kanal ayarları, rozet, liste. */
.takip-ust-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 0 0 12px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--line2);
}
.takip-kanal {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--mut);
  cursor: pointer;
}
.uyari-sayi,
.sb-rozet {
  display: inline-block;
  min-width: 16px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--neg);
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
  font-family: var(--mono);
}
.sb-rozet {
  margin-left: 6px;
  vertical-align: middle;
}
.izle-mini.sustur {
  border-color: var(--line);
}
.uyari-liste {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
}
.uyari-satir {
  padding: 10px 12px;
  border: 1px solid var(--line2);
  border-radius: 8px;
  background: var(--bg);
  cursor: pointer;
}
.uyari-satir:hover {
  border-color: var(--pos);
}
.uyari-satir.yeni {
  border-left: 3px solid var(--amber);
}
.uyari-ust {
  color: var(--ink);
  font-size: 13px;
  margin-bottom: 4px;
}
.uyari-mesaj {
  color: var(--ink3, var(--mut));
  font-size: 12px;
  line-height: 1.5;
}
.uyari-tetik {
  color: var(--faint);
  font-size: 11px;
  margin-top: 4px;
}
.pdf-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  color: var(--ink2);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 8px 14px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}
.pdf-btn:hover {
  border-color: var(--pos);
  color: var(--pos);
}
.pdf-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
}

/* PDF şablonu ekranda tamamen gizli — sadece yazdırırken görünür */
#pdfAlani {
  display: none;
}

/* ============================================================
   YAZDIRMA / PDF — açık zemin, profesyonel, baskıya uygun
   ============================================================ */
@media print {
  @page {
    margin: 16mm 14mm;
  }
  html,
  body {
    background: #ffffff !important;
  }
  /* Ekran arayüzünü TAMAMEN gizle — yazdırmada SADECE #pdfAlani (veriden inşa edilen
     rapor) görünür. SAĞLAM kural: #pdfAlani DIŞINDAKİ tüm body çocuklarını gizle. Böylece
     giriş/uygulama + TÜM .sayfa panelleri (röntgen/tecrit/arşiv/aktör) + modallar otomatik
     kapsanır; sonradan panel eklense de PDF'e ekran çöpü (scrollbar/buton/başlık) karışmaz. */
  body > *:not(#pdfAlani) {
    display: none !important;
  }
  /* PDF şablonunu göster */
  #pdfAlani {
    display: block !important;
    position: relative;
    color: #17202e;
    font-family: var(--sans);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  /* Filigran — her sayfada ortada, metnin ARKASINDA (opaklık PNG'de zaten var) */
  #pdfFiligran {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 46%;
    height: auto;
    z-index: 0;
    pointer-events: none;
  }
  #pdfIcerik {
    position: relative;
    z-index: 1;
  }
  #pdfAlani * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* --- Başlık şeridi --- */
  .pdf-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: 2px solid #17202e;
    padding-bottom: 10px;
    margin-bottom: 16px;
  }
  .pdf-head .marka {
    display: flex;
    align-items: center;
    gap: 9px;
  }
  .pdf-head .marka .kare {
    width: 13px;
    height: 13px;
    background: #e0344b;
    border-radius: 2px;
  }
  /* WHITE-LABEL: admin'in yüklediği marka logosu (varsa .kare yerine). */
  .pdf-head .marka .marka-logo {
    height: 34px;
    max-width: 150px;
    object-fit: contain;
    display: block;
  }
  .pdf-head .marka .ad {
    font-family: var(--mono);
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.02em;
    color: #17202e;
  }
  .pdf-head .marka .alt {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    color: #6e7a8a;
    text-transform: uppercase;
  }
  .pdf-head .meta {
    text-align: right;
    font-family: var(--mono);
    font-size: 11px;
    color: #6e7a8a;
    line-height: 1.7;
  }
  .pdf-head .meta b {
    color: #17202e;
  }
  /* ANLATI HARİTASI (PDF) — A4 dikeye sığsın; kesilmesin (atomik blok). */
  .pdf-harita {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .pdf-harita .anlati-harita {
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    margin: 6px auto 0;
  }

  /* --- Bölüm başlıkları --- */
  .pdf-h {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    color: #9aa3b0;
    text-transform: uppercase;
    margin: 0 0 8px;
    /* Başlık tek başına sayfa dibinde kalmasın; ardından geleni yanına çeksin. */
    break-after: avoid;
    page-break-after: avoid;
  }
  /* Bölümler sayfayı DOLDURSUN: büyük bloklara (ör. yarışan anlatılar) blanket
     "avoid" verilirse sığmayınca komple sonraki sayfaya atlar, arkada yarım boş
     sayfa bırakır. İçerik doğal aksın; bölünmezlik yalnız küçük atomik
     parçalarda (aşağıda + satır-içi .pdf-atom). */
  .pdf-blok {
    margin-bottom: 16px;
  }
  /* Küçük, bölünürse çirkin duracak parçalar tek parça kalsın. */
  .pdf-head,
  .pdf-verdict,
  .pdf-metrik,
  .pdf-signal,
  .pdf-durust,
  .pdf-atom {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .pdf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-bottom: 16px;
  }

  /* --- Değerlendirme --- */
  .pdf-verdict {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    color: #17202e;
  }
  .pdf-signal {
    font-family: var(--mono);
    font-size: 12px;
    line-height: 1.55;
    color: #3b4757;
    margin-top: 10px;
    padding: 9px 12px;
    border-left: 3px solid #e0344b;
    background: #faf2f3;
  }
  .pdf-signal b {
    color: #e0344b;
  }
  .pdf-topic {
    font-size: 13px;
    line-height: 1.6;
    color: #3b4757;
  }

  /* --- Dağılım barları --- */
  .pdf-h4 {
    font-family: var(--mono);
    font-size: 11px;
    color: #6e7a8a;
    font-weight: 400;
    margin: 12px 0 6px;
  }
  .pdf-h4:first-of-type {
    margin-top: 0;
  }
  .pdf-bar {
    display: flex;
    height: 18px;
    border-radius: 2px;
    overflow: hidden;
    border: 1px solid #e2e6ec;
  }
  .pdf-bar span {
    display: block;
  }
  .pdf-drow {
    display: flex;
    justify-content: space-between;
    font-family: var(--mono);
    font-size: 11px;
    color: #6e7a8a;
    margin-top: 4px;
  }
  .pdf-legend {
    display: flex;
    gap: 16px;
    font-family: var(--mono);
    font-size: 11px;
    color: #6e7a8a;
    margin-top: 10px;
  }
  .pdf-legend i {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 2px;
    margin-right: 5px;
    vertical-align: middle;
  }

  /* --- KPI --- */
  .pdf-kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 16px;
  }
  .pdf-kpi {
    border: 1px solid #e2e6ec;
    border-radius: 3px;
    padding: 10px 12px;
  }
  .pdf-kpi .k {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.1em;
    color: #9aa3b0;
    text-transform: uppercase;
    margin-bottom: 6px;
  }
  .pdf-kpi .v {
    font-family: var(--mono);
    font-size: 17px;
    font-weight: 600;
    color: #17202e;
  }
  .pdf-kpi .v.pos {
    color: #12a06f;
  }
  .pdf-kpi .v.neg {
    color: #e0344b;
  }
  .pdf-kpi .v.amb {
    color: #c77a16;
  }
  .pdf-kpi .s {
    font-family: var(--mono);
    font-size: 9px;
    color: #9aa3b0;
    margin-top: 2px;
  }

  /* --- Zengin PDF grafik kartları (gauge / stat) --- */
  .pdf-kc {
    border: 1px solid #e2e6ec;
    border-radius: 3px;
    padding: 9px 10px 11px;
    break-inside: avoid;
    page-break-inside: avoid;
    display: flex;
    flex-direction: column;
  }
  .pdf-kc-l {
    font-family: var(--mono);
    font-size: 8.5px;
    letter-spacing: 0.09em;
    color: #9aa3b0;
    text-transform: uppercase;
    margin-bottom: 4px;
  }
  .pdf-kc-g {
    display: flex;
    justify-content: center;
    margin-top: 2px;
  }
  .pdf-kpi-not {
    margin: -8px 0 14px;
    padding: 5px 8px;
    border-top: 1px solid #e2e6ec;
    font-size: 8.5px;
    line-height: 1.4;
    color: #7a8494;
  }
  .pdf-gauge {
    width: 88px;
    height: 88px;
  }
  .pdf-kc-big {
    font-family: var(--mono);
    font-weight: 600;
    font-size: 21px;
    color: #17202e;
  }
  .pdf-kc-s {
    font-family: var(--mono);
    font-size: 9px;
    color: #9aa3b0;
    margin-top: 2px;
  }
  .pdf-kc-s2 {
    font-family: var(--mono);
    font-size: 8.5px;
    color: #6e7a8a;
    margin-top: 4px;
  }
  .pdf-seg {
    display: flex;
    height: 7px;
    border-radius: 2px;
    overflow: hidden;
    gap: 2px;
    margin-top: 7px;
    background: #e6e9ee;
  }
  .pdf-seg span {
    display: block;
  }

  /* --- PDF donut + liste --- */
  .pdf-donut-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .pdf-donut {
    width: 120px;
    height: 120px;
    flex: 0 0 auto;
  }
  .pdf-d-list {
    flex: 1;
    min-width: 130px;
  }
  .pdf-d-row {
    font-family: var(--mono);
    font-size: 10.5px;
    color: #333b47;
    padding: 2.5px 0;
  }
  .pdf-d-ust {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
  }
  .pdf-d-row b {
    color: #17202e;
    flex: 0 0 auto;
  }
  .pdf-d-hedef {
    margin: 1.5px 0 0 15px;
    color: #6b7686;
    font-size: 9px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  /* PDF ikili sütun (Tartışmanın Tarafları) — lejant + "nasıl okunur" */
  .pdf-ik-lej {
    display: flex;
    gap: 16px;
    font-family: var(--mono);
    font-size: 9px;
    color: #6b7686;
    margin: 3px 0 2px;
  }
  .pdf-ik-lej span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }
  .pdf-ik-sw {
    display: inline-block;
    width: 11px;
    height: 9px;
    border-radius: 2px;
  }
  .pdf-ik-sw.kisi {
    background: rgba(120, 130, 145, 0.25);
    border: 1.4px solid #7a8492;
  }
  .pdf-ik-sw.etk {
    background: #7a8492;
  }
  .pdf-ik-oku {
    font-family: var(--mono);
    font-size: 9px;
    line-height: 1.45;
    color: #5b6675;
    margin: 3px 0 6px;
  }
  .pdf-chip {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 2px;
    margin-right: 6px;
    vertical-align: middle;
  }

  /* --- PDF gruplu bar (tutum) --- */
  .pdf-gs-not {
    font-family: var(--mono);
    font-size: 9.5px;
    color: #9aa3b0;
    margin-bottom: 9px;
  }
  .pdf-gs-item {
    margin-bottom: 9px;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .pdf-gs-item .ad {
    font-size: 11.5px;
    font-weight: 600;
    color: #17202e;
    margin-bottom: 4px;
  }
  .pdf-gs-item .rows {
    display: grid;
    grid-template-columns: 34px 1fr 38px;
    gap: 5px 8px;
    align-items: center;
    font-family: var(--mono);
    font-size: 9.5px;
  }
  .pdf-gs-item .rows .l {
    color: #9aa3b0;
  }
  .pdf-gs-item .rows .tk {
    height: 9px;
    background: #e6e9ee;
    border-radius: 2px;
    overflow: hidden;
  }
  .pdf-gs-item .rows .tk i {
    display: block;
    height: 100%;
  }
  .pdf-gs-item .rows .v {
    text-align: right;
    color: #333b47;
  }

  /* --- PDF sıralı bar (nedenler / terim) --- */
  .pdf-b2-row {
    display: grid;
    grid-template-columns: 1.1fr 2fr 38px;
    gap: 9px;
    align-items: center;
    margin-bottom: 8px;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .pdf-b2-row .l {
    font-size: 10.5px;
    color: #333b47;
    line-height: 1.25;
  }
  .pdf-b2-row .tk {
    height: 9px;
    background: #e6e9ee;
    border-radius: 2px;
    overflow: hidden;
  }
  .pdf-b2-row .tk i {
    display: block;
    height: 100%;
  }
  .pdf-b2-row .v {
    font-family: var(--mono);
    font-size: 10px;
    color: #6e7a8a;
    text-align: right;
  }

  /* --- PDF alan grafiği + slope --- */
  .pdf-area {
    display: block;
    width: 100%;
    height: 104px;
  }
  .pdf-slope {
    display: block;
    width: 100%;
    height: auto;
    margin: 2px 0 8px;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* --- PDF sıra numaralı bar (taşıyanlar) --- */
  .pdf-rank-row {
    display: grid;
    grid-template-columns: 20px 1.2fr 2fr minmax(38px, max-content);
    gap: 9px;
    align-items: center;
    margin-bottom: 7px;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .pdf-rank-row .rn {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: #eef1f4;
    border: 1px solid #e2e6ec;
    font-family: var(--mono);
    font-size: 9.5px;
    color: #333b47;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .pdf-rank-row .ad {
    font-family: var(--mono);
    font-size: 10.5px;
    color: #17202e;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pdf-rank-row .ad .vfx {
    width: 12px;
    height: 12px;
    vertical-align: -2px;
  }
  .pdf-rank-row .tk {
    height: 9px;
    background: #e6e9ee;
    border-radius: 2px;
    overflow: hidden;
  }
  .pdf-rank-row .tk i {
    display: block;
    height: 100%;
  }
  .pdf-rank-row .v {
    white-space: nowrap;
    font-family: var(--mono);
    font-size: 10px;
    color: #6e7a8a;
    text-align: right;
  }
  .pdf-ses .vfx {
    width: 12px;
    height: 12px;
    vertical-align: -2px;
  }

  /* --- Satır barları (ton / nedenler) --- */
  .pdf-r {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
  }
  .pdf-r .lab {
    font-family: var(--mono);
    font-size: 11px;
    width: 130px;
    flex: none;
    color: #3b4757;
    /* Basılı raporda da etiket kesilmesin, alt satıra sarsın. */
    line-height: 1.3;
    overflow-wrap: break-word;
    word-break: break-word;
  }
  .pdf-r .track {
    flex: 1;
    height: 8px;
    background: #eef1f4;
    border-radius: 2px;
    overflow: hidden;
  }
  .pdf-r .track i {
    display: block;
    height: 100%;
  }
  .pdf-r .p {
    font-family: var(--mono);
    font-size: 11px;
    color: #6e7a8a;
    width: 34px;
    text-align: right;
  }

  /* --- En etkili sesler --- */
  .pdf-ses {
    padding: 9px 0;
    border-bottom: 1px solid #eef1f4;
    page-break-inside: avoid;
  }
  .pdf-ses:last-child {
    border-bottom: none;
  }
  .pdf-ses .top {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 3px;
  }
  .pdf-ses .nm {
    font-weight: 600;
    font-size: 13px;
    color: #17202e;
  }
  .pdf-ses .vf {
    color: #12a06f;
    font-size: 11px;
  }
  .pdf-ses .mt {
    font-family: var(--mono);
    font-size: 10.5px;
    color: #9aa3b0;
  }
  .pdf-ses .rozet {
    margin-left: auto;
    font-family: var(--mono);
    font-size: 9.5px;
    padding: 1px 7px;
    border-radius: 2px;
  }
  .pdf-ses .rozet.pos {
    background: #e5f5ee;
    color: #12a06f;
  }
  .pdf-ses .rozet.neg {
    background: #fbe9ec;
    color: #e0344b;
  }
  .pdf-ses .rozet.neu {
    background: #eef1f4;
    color: #6e7a8a;
  }
  .pdf-ses .txt {
    font-size: 12.5px;
    color: #3b4757;
    line-height: 1.45;
    white-space: pre-wrap;
    word-wrap: break-word;
  }
  .pdf-ses .eng {
    font-family: var(--mono);
    font-size: 10px;
    color: #9aa3b0;
    margin-top: 4px;
  }

  /* --- Argüman sütunları --- */
  .pdf-col h5 {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 8px;
  }
  .pdf-col.p h5 {
    color: #12a06f;
  }
  .pdf-col.n h5 {
    color: #e0344b;
  }
  .pdf-col.u h5 {
    color: #c77a16;
  }
  .pdf-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .pdf-col li {
    font-size: 12px;
    color: #3b4757;
    line-height: 1.45;
    padding: 4px 0 4px 13px;
    position: relative;
    border-bottom: 1px solid #eef1f4;
  }
  .pdf-col li:last-child {
    border-bottom: none;
  }
  .pdf-col li:before {
    content: "›";
    position: absolute;
    left: 0;
    color: #9aa3b0;
  }

  /* --- Öne çıkan alıntı --- */
  .pdf-quote {
    border: 1px solid #e2e6ec;
    border-left: 3px solid #e0344b;
    border-radius: 3px;
    padding: 14px 16px;
    margin-bottom: 16px;
    page-break-inside: avoid;
  }
  .pdf-quote blockquote {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    color: #17202e;
    margin: 0;
  }
  .pdf-quote cite {
    display: block;
    font-family: var(--mono);
    font-size: 11px;
    color: #9aa3b0;
    margin-top: 8px;
    font-style: normal;
  }

  /* --- Alt bilgi / not --- */
  .pdf-not {
    font-family: var(--mono);
    font-size: 11px;
    color: #6e7a8a;
    border-top: 1px solid #e2e6ec;
    padding-top: 10px;
    margin-top: 4px;
    line-height: 1.5;
  }
  .pdf-foot {
    display: flex;
    justify-content: space-between;
    font-family: var(--mono);
    font-size: 10px;
    color: #9aa3b0;
    margin-top: 8px;
  }
  .pdf-foot b {
    color: #e0344b;
  }
}

/* ---------------- Mobil ---------------- */
@media (max-width: 600px) {
  .shell {
    border-left: none;
    border-right: none;
  }
  .grid {
    grid-template-columns: 1fr;
  }
  .cell.full,
  .cell {
    grid-column: auto;
  }
  .kpis {
    grid-template-columns: 1fr 1fr;
  }
  .rowbars .r .lab {
    width: 110px;
  }
  .kota {
    display: none;
  }
}

/* ===================================================================
   GÜNDEM ANALİZİ — konsol (iki kutu + aralık) + rapor bileşenleri
   =================================================================== */
.gundem-satir {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
}
.gundem-etik {
  width: 66px;
  flex: none;
  font-size: 11px;
  color: var(--mut);
}
.gundem-input {
  flex: 1;
  min-width: 0;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r);
  color: var(--ink);
  font-size: 13.5px;
  padding: 9px 11px;
  outline: none;
}
.gundem-input:focus {
  border-color: var(--pos);
}
/* Konu kutusu ipucu (C): konu "veya", bağlam "ve". Etiket genişliği (66px) + boşluk (10px) kadar içeriden. */
.gundem-ipucu {
  margin: -4px 0 10px 76px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--mut);
}
@media (max-width: 560px) {
  .gundem-ipucu {
    margin-left: 0;
  }
}
/* KAPSAM UYARISI (C) — rapor başında; tema değişkeni --amber iki temada da tanımlı. */
.kapsam-uyari {
  border: 1px solid var(--amber);
  border-left-width: 3px;
  border-radius: 8px;
  padding: 10px 14px;
  margin: 10px 0 14px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
}
.kapsam-uyari p {
  margin: 4px 0;
}
.kapsam-uyari-h {
  color: var(--amber);
  font-size: 11.5px;
  letter-spacing: 0.02em;
  margin-bottom: 2px;
}
.kapsam-uyari-btn {
  margin-top: 8px;
  max-width: 100%;
  white-space: normal;
  text-align: left;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--amber);
  border-radius: var(--r);
  padding: 7px 12px;
  font-size: 12.5px;
  cursor: pointer;
}
.kapsam-uyari-btn:hover,
.kapsam-uyari-btn:focus-visible {
  background: var(--amber);
  color: var(--bg);
}
@media (max-width: 560px) {
  .kapsam-uyari-btn {
    width: 100%;
  }
}
/* Ülke dropdown (v2) — gundem-input ile aynı yüzey/temalı; kompakt (etiket+bayrak). */
.gundem-ulke {
  flex: 1;
  min-width: 0;
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--r);
  font-size: 13.5px;
  padding: 9px 11px;
  outline: none;
  cursor: pointer;
}
.gundem-ulke:focus {
  border-color: var(--pos);
}
/* Hızlı konu çipleri (v2.1) — ülke modunda; sabit Türkçe kategoriler. */
.cip-serit {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.cip {
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 11px;
  font-size: 12px;
  cursor: pointer;
  transition: border-color .12s, color .12s;
}
.cip:hover {
  border-color: var(--pos);
  color: var(--pos);
}
/* Çevrilen yerel terim gösterimi (köprü şeffaflığı) */
.gundem-ceviri {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  margin: 8px 0 2px;
  font-size: 12px;
}
.gundem-ceviri .cev-bas {
  color: var(--mut);
}
.gundem-ceviri .cev-dil b {
  color: var(--pos);
  font-weight: 600;
}
.gundem-alt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.gundem-aralik {
  display: flex;
  gap: 6px;
}
.gar {
  background: none;
  border: 1px solid var(--line);
  color: var(--mut);
  border-radius: var(--r);
  padding: 7px 12px;
  font-size: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.gar:hover {
  border-color: var(--pos);
}
.gar.etkin {
  border-color: var(--pos);
  color: var(--pos);
  background: var(--pos-a2);
}
.gar-kilit {
  font-size: 9px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 1px 6px;
  color: var(--faint);
}
.gar-kilitli .gar-kilit {
  color: #e0a020;
  border-color: rgba(224, 160, 32, 0.4);
}
.gundem-uyari {
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid var(--neg);
  border-radius: var(--r);
  color: var(--neg);
  font-size: 12.5px;
  background: var(--neg-a);
}

/* Hacim eğrisi */
.hacim-cizim {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 96px;
  padding: 8px 0 18px;
  overflow-x: auto;
}
.hc-bar {
  position: relative;
  flex: 1;
  min-width: 6px;
  height: 100%;
  display: flex;
  align-items: flex-end;
}
.hc-fill {
  width: 100%;
  background: var(--pos);
  border-radius: 2px 2px 0 0;
  opacity: 0.85;
}
.hc-x {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 9px;
  color: var(--faint);
  white-space: nowrap;
}
.hc-alt {
  font-size: 10.5px;
  color: var(--faint);
}
.hc-yogun {
  font-size: 10.5px;
  color: var(--faint);
  font-style: italic;
  margin-top: 4px;
  line-height: 1.45;
}

/* Yarışan anlatılar */
.an-not,
.gundem-metrik + .an-not {
  font-size: 11px;
  color: var(--faint);
  margin-bottom: 12px;
}
.anlati {
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.anlati:first-of-type {
  border-top: none;
}
.an-ust {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
}
.an-nokta {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: none;
}
.an-ad {
  font-weight: 600;
  font-size: 13.5px;
  color: var(--ink);
}
.an-ozet {
  font-size: 12.5px;
  color: var(--mut);
  line-height: 1.45;
  margin-bottom: 8px;
}
.an-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.an-et {
  width: 64px;
  flex: none;
  font-size: 10.5px;
  color: var(--faint);
}
.an-track {
  flex: 1;
  height: 8px;
  background: var(--line);
  border-radius: 4px;
  overflow: hidden;
}
.an-fill {
  display: block;
  height: 100%;
  border-radius: 4px;
}
.an-yuzde {
  width: 42px;
  flex: none;
  text-align: right;
  font-size: 11px;
  color: var(--ink2);
}

/* Ton + terim kırılımı (ortak bar satırı) */
.ton-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.ton-et {
  width: 108px;
  flex: none;
  font-size: 12px;
  color: var(--ink2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ton-track {
  flex: 1;
  height: 8px;
  background: var(--line);
  border-radius: 4px;
  overflow: hidden;
}
.ton-fill {
  display: block;
  height: 100%;
  background: var(--neg);
  border-radius: 4px;
}
.ton-fill.terim {
  background: #4b9ff0;
}
.ton-yuzde {
  width: 42px;
  flex: none;
  text-align: right;
  font-size: 11px;
  color: var(--ink2);
}

/* Gündemi taşıyanlar */
.tas-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 0;
  border-bottom: 1px solid var(--line);
}
.tas-row:last-child {
  border-bottom: none;
}
.tas-ad {
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
}
.tas-vf {
  color: var(--pos);
}
.tas-pay {
  font-size: 11px;
  color: var(--mut);
  white-space: nowrap;
}

/* Dürüst satır */
/* (Sayı zinciri) kapsam satırının altında tek satır; (çekim durma nedeni) yalnız yönetici. Mobilde kelime sınırından kırılır. */
.sayi-zinciri,
.durma-satiri {
  font-size: 12px;
  line-height: 1.5;
  margin: 6px 0 14px;
  overflow-wrap: anywhere;
}
.durma-satiri {
  border-left: 2px solid var(--line);
  padding-left: 8px;
}
.pdf-zincir {
  font-size: 9.5px;
}
.gundem-durust {
  margin-top: 14px;
  font-size: 11px;
  color: var(--faint);
  text-align: center;
  line-height: 1.5;
}

/* --- Yönetici Özeti + Karar Katmanı (yalnız Ajans) ---------------------- */
.karar-blok {
  display: grid;
  gap: 12px;
  margin: 14px 0 4px;
}
.ozet-kart,
.karar-kart {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;
  background: var(--panel);
}
.ozet-kart {
  border-left: 3px solid var(--c2);
}
.ozet-etiket,
.karar-etiket {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--faint);
}
.ozet-baslik {
  font-size: 17px;
  font-weight: 700;
  margin: 4px 0 6px;
  line-height: 1.3;
}
.ozet-durum {
  font-size: 13px;
  color: var(--ink2);
  line-height: 1.55;
}
.ozet-bulg-h,
.karar-alt-h {
  font-size: 12px;
  font-weight: 700;
  margin: 10px 0 4px;
  color: var(--ink2);
}
.ozet-bulg,
.karar-liste {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.55;
}
.ozet-bulg li,
.karar-liste li {
  margin: 2px 0;
}
.karar-ust {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.karar-rozet {
  font-size: 11px;
  font-weight: 700;
  border: 1.5px solid;
  border-radius: 20px;
  padding: 2px 10px;
  letter-spacing: 0.02em;
}
.karar-durus {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink2);
}
.karar-gerekce {
  font-size: 13px;
  color: var(--ink2);
  line-height: 1.55;
  margin-top: 8px;
}
.karar-iki {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 6px;
}
.karar-alt-h.iyi {
  color: var(--pos);
}
.karar-alt-h.kotu {
  color: var(--neg);
}
.karar-not {
  font-size: 11px;
  font-weight: 400;
  color: var(--faint);
}
.karar-taslak {
  font-size: 13px;
  color: var(--ink2);
  line-height: 1.55;
  border-left: 2px solid var(--line);
  padding: 3px 0 3px 10px;
  margin-top: 6px;
}
.karar-kart.karar-hata {
  border-color: var(--amber);
}
.karar-hata-msg {
  font-size: 13px;
  color: var(--amber);
  line-height: 1.5;
  margin-top: 6px;
}
/* "Yeni taslak üret" araç çubuğu + biriken partiler */
.taslak-arac {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}
.taslak-ton {
  flex: 1 1 200px;
  min-width: 160px;
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 10px;
  color: var(--ink);
  font-size: 12.5px;
  font-family: inherit;
}
.taslak-ton:focus {
  outline: none;
  border-color: var(--c2);
}
.taslak-btn {
  background: none;
  border: 1px solid var(--c2);
  color: var(--c2);
  border-radius: 8px;
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.taslak-btn:hover:not(:disabled) {
  background: rgba(75, 159, 240, 0.1);
}
.taslak-btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.taslak-durum {
  font-size: 11.5px;
  color: var(--faint);
}
.taslak-durum.hata {
  color: var(--neg);
}
.taslak-parti {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
}
.taslak-parti-ton {
  font-size: 11px;
  color: var(--faint);
  margin-bottom: 4px;
}
@media (max-width: 640px) {
  .karar-iki {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* --- AKTÖR HARİTASI (Faz 2.1): rozet / tıklanabilir isim / tweet linkleri ------ */
/* Yazar adı/avatar → aktör dosyası (Ajans) */
.aktor-tik {
  cursor: pointer;
  border-radius: 6px;
  transition: color 0.12s, background 0.12s;
}
.nm.aktor-tik:hover,
.r-ad.aktor-tik:hover,
b.aktor-tik:hover {
  color: var(--c2);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.aktor-tik:focus-visible {
  outline: 2px solid var(--c2);
  outline-offset: 2px;
}
/* Aktör rozeti (tanıma etiketi) */
.aktor-rz {
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  line-height: 1.4;
  color: var(--c2);
  background: rgba(75, 159, 240, 0.1);
  border: 1px solid rgba(75, 159, 240, 0.28);
  border-radius: 20px;
  padding: 1px 8px;
  margin-left: 2px;
  cursor: pointer;
  white-space: nowrap;
}
.aktor-rz.yeni {
  color: var(--faint);
  background: var(--neu-a);
  border-color: var(--line);
  cursor: default;
}
.aktor-rz:hover:not(.yeni) {
  background: rgba(75, 159, 240, 0.18);
}
/* Şüphe bayraklı aktör rozeti (dikkat) */
.aktor-rz.aktor-rz-uyari {
  color: var(--amber);
  background: rgba(199, 122, 22, 0.12);
  border-color: rgba(199, 122, 22, 0.3);
}
/* Dalga tipi rozeti (hacim eğrisi başlığında) */
.olay-tip-rz {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--c2);
  background: rgba(75, 159, 240, 0.1);
  border: 1px solid rgba(75, 159, 240, 0.25);
  border-radius: 20px;
  padding: 1px 8px;
  margin-left: 6px;
  vertical-align: middle;
}
/* KÜMÜLATİF HAFIZA — dossier "Hafıza özeti" bloğu */
.hf-eg-ad {
  font-weight: 700;
  font-size: 14px;
}
.hf-eg-destekleyici { color: var(--pos); }
.hf-eg-elestirel { color: var(--neg); }
.hf-eg-karisik { color: var(--mut); }
.hf-guven {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hf-guven-bar {
  display: inline-block;
  width: 70px;
  height: 6px;
  border-radius: 4px;
  background: var(--panel2);
  overflow: hidden;
}
.hf-guven-dolu {
  display: block;
  height: 100%;
  background: var(--c2);
  border-radius: 4px;
}
.hf-rol {
  display: inline-block;
  font-weight: 700;
  font-size: 13px;
  padding: 2px 9px;
  border-radius: 20px;
  /* Artık "Rol" satırının içinde bir rozet → alt boşluk gerekmiyor (eski blok düzeninden kaldı). */
}
.hf-rol-erken_atesleyici { color: #7a5fd0; background: rgba(122, 95, 208, 0.14); }
.hf-rol-buyutucu { color: var(--c2); background: rgba(75, 159, 240, 0.12); }
/* Faz 3 M2 — dalga-seviyesi erken uyarı şeridi */
.erken-uyari {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(122, 95, 208, 0.35);
  background: rgba(122, 95, 208, 0.1);
  border-radius: 10px;
  font-size: 13px;
  color: var(--ink2);
  line-height: 1.45;
}
.erken-uyari .eu-ik { font-size: 16px; }
.hf-yetersiz {
  color: var(--mut);
  padding: 4px 0;
}
.hf-metin {
  color: var(--mut);
  line-height: 1.5;
  padding: 4px 0 2px;
  font-size: 12.5px;
}
/* Hafıza kartı — etiketli satırlar (Rol · Eğilim · Konular). Mobilde etiket üste geçer. */
.hf-satir {
  display: flex;
  gap: 10px;
  align-items: baseline;
  padding: 5px 0;
  border-top: 1px solid var(--line);
}
.hf-satir:first-child { border-top: none; }
.hf-et {
  flex: 0 0 74px;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.hf-deger {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  line-height: 1.5;
}
.hf-rozetler {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.hf-konu-kalan { font-size: 11.5px; align-self: center; }
/* Eğilim taraması (hesabın kendi son gönderilerinden) — metin + kaynak notu. */
.hf-eg-metin {
  flex: 1 1 100%;
  line-height: 1.5;
}
.hf-eg-anlati { flex: 1 1 100%; }
/* Tarama anındaki biyografi — eğilim metninin altında, karşılaştırma için kısa satır. */
.hf-eg-bio {
  flex: 1 1 100%;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.hf-eg-kaynak {
  flex: 1 1 100%;
  font-size: 11px;
  font-style: italic;
}
/* Eğilim taraması sürüm 2 — savunduğu / eleştirdiği hedefler + kanıt linkleri. */
.hf-hedef-sat {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.hf-hedef-et {
  font-size: 11.5px;
  flex: 0 0 auto;
}
a.hf-hedef {
  text-decoration: none;
  transition: filter 0.15s;
}
a.hf-hedef:hover { filter: brightness(1.25); }
.hf-h-destek { color: var(--pos); background: var(--pos-a, rgba(45, 212, 167, 0.12)); }
.hf-h-karsi { color: var(--neg); background: var(--neg-a, rgba(251, 92, 125, 0.12)); }
.hf-pozisyon {
  flex: 1 1 100%;
  font-size: 12px;
  line-height: 1.45;
}
/* "yeniden tara" — kaynak notunun yanında sade metin düğmesi. */
.hf-tazele {
  background: none;
  border: none;
  padding: 0 2px;
  margin-left: 4px;
  font: inherit;
  font-style: normal;
  color: var(--accent);
  cursor: pointer;
  text-decoration: underline dotted;
}
.hf-tazele:hover { filter: brightness(1.25); }
.hf-tazele:disabled { opacity: 0.5; cursor: default; text-decoration: none; }
@media (max-width: 640px) {
  .hf-satir { flex-direction: column; gap: 3px; }
  .hf-et { flex: 0 0 auto; }
}
.hf-degisti {
  color: var(--amber);
  font-size: 12.5px;
  margin: 4px 0;
}
.hf-bayrak {
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 20px;
}
.hf-b-supheli { color: var(--amber); background: rgba(199, 122, 22, 0.14); }
.hf-b-buyuk_hesap { color: var(--c2); background: rgba(75, 159, 240, 0.12); }
.hf-b-sinir_asan { color: var(--neg); background: var(--neg-a); }
.hf-ibare {
  color: var(--faint);
  font-size: 10.5px;
  font-style: italic;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed var(--line);
}
/* Tweet linkleri (herkes) — metin gibi görünsün, tıklanınca gerçek tweet */
.txt-tw,
.meta-tw {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.txt-tw {
  display: block; /* div.txt yerine geçiyor → dikey margin uygulanabilsin */
}
.txt-tw:hover,
.meta-tw:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.tw-git {
  margin-left: auto;
  color: var(--c2);
  text-decoration: none;
  font-size: 11px;
  white-space: nowrap;
}
.tw-git:hover {
  text-decoration: underline;
}

/* --- AKTÖR DİZİNİ (liste) --------------------------------------------------- */
.aktor-liste {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* KÜMÜLATİF HAFIZA Faz 4 — Özet şeridi + Olay Arşivi */
.hz-ozet {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel2);
  font-size: 12.5px;
  color: var(--mut);
}
.hz-ozet-b b { color: var(--ink); font-size: 14px; }
.olay-liste {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.olay-kart {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  cursor: pointer;
  transition: border-color 0.15s;
}
.olay-kart:hover { border-color: var(--c2); }
.ol-ust {
  display: flex;
  align-items: baseline;
  gap: 8px;
  justify-content: space-between;
}
.ol-konu { font-weight: 600; font-size: 14px; }
.ol-tar { color: var(--faint); font-size: 11px; white-space: nowrap; }
.ol-rozetler {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.ol-rz {
  font-size: 10.5px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 20px;
  background: var(--panel2);
  color: var(--mut);
}
.ol-rz.ol-tip { color: var(--c2); background: rgba(75, 159, 240, 0.1); }
.ol-rz.ol-sicra { color: #2f7fd6; background: rgba(47, 127, 214, 0.12); }
.ol-rz.ol-bot { color: var(--amber); background: rgba(199, 122, 22, 0.12); }
.ol-rz.ol-son { color: var(--faint); }
.ol-rz.ol-aktif { color: var(--pos); background: var(--pos-a); }
.ol-detay {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
.ol-profil { color: var(--faint); margin-bottom: 6px; }
.ol-blok { margin-top: 6px; }
.ol-blok-h { color: var(--mut); margin-bottom: 4px; }
.ak-satir {
  text-align: left;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px 14px;
  cursor: default;
  transition: border-color 0.12s, transform 0.06s;
}
.ak-satir.ak-tiklanir { cursor: pointer; }
.ak-satir:hover {
  border-color: var(--c2);
}
/* Faz 4 M2 — elle hesap ekleme + önemli işareti */
.ak-ekle { margin-bottom: 8px; }
.ak-arac-sat {
  display: flex;
  align-items: center;
  gap: 10px 14px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.ak-arac-sat .arsiv-arac { flex: 1; min-width: 160px; margin: 0; }
.ak-onemli-fltr {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--mut);
  cursor: pointer;
  white-space: nowrap;
}
.ak-onemli-rz {
  font-size: 10px;
  font-weight: 700;
  color: #7a5fd0;
  background: rgba(122, 95, 208, 0.14);
  padding: 1px 7px;
  border-radius: 20px;
  margin-left: 6px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.ak-onemli-sil {
  margin-left: auto;
  color: var(--neg);
  cursor: pointer;
  font-size: 14px;
  padding: 0 4px;
  line-height: 1;
}
.ak-satir.ak-gorulmedi { opacity: 0.85; border-style: dashed; }
.ak-satir:active {
  transform: translateY(1px);
}
.ak-ust {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.ak-ad {
  font-weight: 700;
  font-size: 14px;
  color: var(--ink);
}
.ak-h {
  color: var(--mut);
  font-size: 12px;
}
.ak-alt {
  margin-top: 3px;
  font-size: 12px;
  color: var(--mut);
}

/* --- AKTÖR DOSYASI (modal) -------------------------------------------------- */
.aktor-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(2px);
}
.aktor-modal.gizli {
  display: none;
}
.aktor-modal-ic {
  position: relative;
  width: 100%;
  max-width: 440px;
  max-height: 86vh;
  overflow-y: auto;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.4);
}
.aktor-modal-x {
  position: absolute;
  top: 12px;
  right: 12px;
}
.ak-baslik {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-right: 28px;
}
.ak-av {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--c2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  flex: none;
}
.ak-baslik-ad {
  font-weight: 700;
  font-size: 17px;
  color: var(--ink);
}
.ak-baslik-h {
  color: var(--mut);
  font-size: 13px;
}
.ak-statlar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.ak-stat {
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 9px 6px;
  text-align: center;
}
.ak-stat-v {
  font-weight: 700;
  font-size: 15px;
  color: var(--ink);
}
.ak-stat-e {
  font-size: 10.5px;
  color: var(--faint);
  margin-top: 2px;
}
.ak-blok {
  margin-bottom: 12px;
}
.ak-blok-h {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--faint);
  margin-bottom: 6px;
}
.ak-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ak-chip {
  font-size: 12px;
  color: var(--ink2);
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 2px 10px;
}
.ol-aktor {
  font-size: 12px;
  color: var(--c1);
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 2px 10px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.ol-aktor:hover,
.ol-aktor:focus-visible {
  border-color: var(--c1);
  background: var(--panel);
  outline: none;
}
.ak-xlink {
  display: inline-block;
  margin-top: 6px;
  color: var(--c2);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}
.ak-xlink:hover {
  text-decoration: underline;
}

/* --- PERSONA modalı (form) -------------------------------------------------- */
.persona-h {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--mut);
  margin-bottom: 8px;
  padding-right: 28px;
}
.persona-aciklama {
  font-size: 12px;
  color: var(--faint);
  line-height: 1.5;
  margin-bottom: 14px;
}
.persona-lbl {
  display: block;
  font-size: 12px;
  color: var(--ink2);
  margin: 10px 0 4px;
}
.persona-input,
.persona-textarea {
  width: 100%;
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 11px;
  color: var(--ink);
  font-size: 13px;
  font-family: inherit;
}
.persona-textarea {
  resize: vertical;
  line-height: 1.5;
}
.persona-input:focus,
.persona-textarea:focus {
  outline: none;
  border-color: var(--c2);
}
.persona-aktif {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink2);
  margin: 14px 0 6px;
  cursor: pointer;
}
.persona-aktif input {
  width: 16px;
  height: 16px;
  accent-color: var(--c2);
}
.persona-durum {
  font-size: 12px;
  min-height: 16px;
  margin: 4px 0 8px;
  color: var(--faint);
}
.persona-durum.ok {
  color: var(--pos);
}
.persona-durum.hata {
  color: var(--neg);
}
#personaKaydet {
  width: 100%;
}

/* --- YENİLİKLER penceresi ------------------------------------------------- */
.yeni-h {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  padding-right: 28px;
}
.yeni-alt {
  font-size: 12.5px;
  color: var(--faint);
  margin: 2px 0 14px;
}
.yeni-liste {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.yeni-madde {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.yeni-ik {
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--panel2);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  color: var(--c2);
}
.yeni-b {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.yeni-d {
  font-size: 12.5px;
  color: var(--ink2);
  line-height: 1.5;
  margin-top: 2px;
}
.yeni-ajans {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--amber);
  background: rgba(240, 169, 74, 0.12);
  border: 1px solid var(--amber);
  border-radius: 20px;
  padding: 1px 8px;
}
.yeni-madde.yeni-kilit .yeni-ik,
.yeni-madde.yeni-kilit .yeni-b {
  opacity: 0.72;
}
.yeni-upsell {
  margin-top: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--amber);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.yeni-upsell:hover {
  text-decoration: underline;
}
.yeni-dipnot {
  font-size: 11.5px;
  color: var(--faint);
  line-height: 1.5;
  margin: 16px 0 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
#yeniliklerTamam {
  width: 100%;
}

/* --- Yardım Merkezi sekmeleri (Yenilikler | Yasal) ------------------------ */
.ym-sekmeler {
  display: flex;
  gap: 6px;
  margin: 2px 0 14px;
  padding-right: 28px;
}
.ym-sekme {
  background: none;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
  cursor: pointer;
}
.ym-sekme.etkin {
  color: var(--c2);
  border-color: var(--c2);
  background: rgba(75, 159, 240, 0.1);
}
.ym-panel.gizli {
  display: none;
}

/* --- Yasal metinler (accordion) ------------------------------------------ */
.yasal-not {
  font-size: 11.5px;
  color: var(--faint);
  margin-bottom: 12px;
}
.yasal-acc {
  border: 1px solid var(--line);
  border-radius: 10px;
  margin-bottom: 8px;
  background: var(--panel2);
}
.yasal-acc > summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  position: relative;
}
.yasal-acc > summary::-webkit-details-marker {
  display: none;
}
.yasal-acc > summary::after {
  content: "+";
  position: absolute;
  right: 14px;
  color: var(--mut);
  font-weight: 400;
}
.yasal-acc[open] > summary::after {
  content: "−";
}
.yasal-govde {
  padding: 0 14px 14px;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink2);
}
.yasal-govde p {
  margin: 8px 0;
}
.yasal-govde ul {
  margin: 8px 0;
  padding-left: 18px;
}
.yasal-govde li {
  margin: 5px 0;
}
.yasal-govde strong {
  color: var(--ink);
}

/* --- Footer (telif + yasal linkler) -------------------------------------- */
.app-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 14px;
  padding: 16px 12px 20px;
  font-size: 11px;
  color: var(--faint);
  text-align: center;
}
.app-footer a {
  color: var(--mut);
  text-decoration: none;
}
.app-footer a:hover {
  color: var(--c2);
  text-decoration: underline;
}
/* Giriş ekranı yasal onay satırı */
.giris-yasal {
  margin-top: 14px;
  max-width: 420px;
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--faint);
  text-align: center;
}
.giris-yasal a {
  color: var(--mut);
  text-decoration: underline;
}
.giris-yasal a:hover {
  color: var(--c2);
}
/* Ses profili durum satırı */
.persona-ses {
  font-size: 12px;
  line-height: 1.45;
  margin: 6px 0 2px;
  color: var(--faint);
}
.persona-ses.ok {
  color: var(--pos);
}
.persona-ses.hata {
  color: var(--neg);
  background: var(--neg-a);
  border: 1px solid var(--neg);
  border-radius: 8px;
  padding: 8px 10px;
}
.persona-ses.uyari {
  color: var(--amber);
}
/* "Çıktığı Analizler" (aktör dosyası) */
.ak-analiz-liste {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ak-analiz-bos {
  font-size: 12px;
  color: var(--faint);
  line-height: 1.45;
}
.ak-analiz {
  text-align: left;
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  cursor: pointer;
  transition: border-color 0.12s;
}
.ak-analiz:hover {
  border-color: var(--c2);
}
.ak-analiz-ust {
  display: flex;
  align-items: center;
  gap: 7px;
}
.ak-analiz-bas {
  font-size: 13px;
  color: var(--ink);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ak-analiz-rozet {
  font-size: 10px;
  font-weight: 700;
  border-radius: 20px;
  padding: 1px 7px;
  flex: none;
}
.ak-analiz-rozet.tek {
  color: var(--c2);
  background: rgba(75, 159, 240, 0.12);
}
.ak-analiz-rozet.gundem {
  color: #9b7ff0;
  background: rgba(155, 127, 240, 0.12);
}
.ak-analiz-alt {
  font-size: 11px;
  color: var(--mut);
  margin-top: 3px;
}
.ak-analiz-rol {
  margin-left: 8px;
  color: var(--faint);
}
.yon-ses-durum {
  font-size: 12px;
  color: var(--mut);
  margin: 2px 0;
}

/* Geçmiş rozeti — Gündem */
.gk-pf.gundem {
  color: #9b7ff0;
  border-color: rgba(155, 127, 240, 0.4);
  background: rgba(155, 127, 240, 0.08);
}

/* PDF gündem blokları */
.pdf-metrik {
  font-size: 12px;
  color: #333;
  line-height: 1.6;
}
.pdf-anlati {
  margin-bottom: 8px;
  font-size: 12px;
}
.pdf-anlati-oz {
  color: #555;
  font-size: 11.5px;
}
.pdf-uyari {
  margin: 0 0 12px;
  padding: 8px 12px;
  border: 1px solid #c1770f;
  border-left-width: 3px;
  border-radius: 6px;
  font-size: 11.5px;
  line-height: 1.5;
  color: #333;
  break-inside: avoid;
  page-break-inside: avoid;
}
.pdf-durust {
  margin-top: 10px;
  font-size: 10.5px;
  color: #777;
  text-align: center;
}

/* --- ⓘ Açıklama (tooltip) sistemi — ekran-only, tema-duyarlı ------------- */
.infotip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-left: 5px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--ink3);
  font-family: var(--mono);
  font-size: 9px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  opacity: 0.55;
  vertical-align: middle;
  transition: opacity 0.12s, color 0.12s, border-color 0.12s;
}
.infotip:hover,
.infotip:focus-visible {
  opacity: 1;
  color: var(--pos);
  border-color: var(--pos);
  outline: none;
}
.infotip-pop {
  position: absolute;
  z-index: 200;
  max-width: 260px;
  padding: 9px 11px;
  background: var(--panel);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.28);
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.5;
}
@media print {
  .infotip,
  .infotip-pop {
    display: none !important;
  }
}

/* ===========================================================================
   ZENGİN İNFOGRAFİK BİLEŞENLERİ (ekran) — gauge · donut · trend · slope · alan
   Sadece ekran; PDF (#pdfAlani) ayrı stillenir. Renkler token → iki tema.
   =========================================================================== */

/* --- KPI kartları (gauge / trend / stat) --- */
.kcards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px; /* Adım 2: hairline → yüzen KPI kart aralığı (mockup) */
}
.kcard {
  background: var(--surface); /* Adım 2: yüzen KPI kartı */
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 15px 15px 16px;
  display: flex;
  flex-direction: column;
  min-height: 168px;
  min-width: 0; /* grid hücresinde uzun metin kartı genişletmesin */
  container-type: inline-size; /* .kbig yazı boyutu kart genişliğine göre (cqi) */
}
/* Ortak iskelet: ana değer alanı SABİT yükseklikte (gauge = 116px) ve içerik dikeyde ortada → büyük sayılar
   (Hacim/İvme) ile gauge'un orta sayısı aynı hizada. Alt bölge (.kalt) kartın dibine yaslanır. */
.kmain {
  height: 116px;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.kmain .gwrap {
  margin-top: 0;
}
.kmain .kbig {
  margin-top: 0;
}
.kalt {
  margin-top: auto;
  padding-top: 8px;
}
.kalt .segbar {
  margin-top: 0;
}
.kalt .sparkwrap {
  margin-top: 0;
  padding-top: 0;
}
.kcard .kl {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--faint);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 5px;
}
.gwrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
}
.gauge {
  width: 116px;
  height: 116px;
}
.gauge .g-big {
  font-family: var(--display); /* Adım 2: Archivo iri rakam */
  font-weight: 700;
}
.gauge .g-small {
  font-family: var(--mono);
  font-size: 9px;
}
.kbig {
  font-family: var(--display); /* Archivo iri rakam (mockup .kpi .val) */
  font-weight: 800;
  font-size: 28px; /* container query desteklemeyen tarayıcı için */
  /* Kart iç genişliği ÷ (karakter sayısı × ~0,86em; geniş harfler Ö/Ü/M payıyla) — uzun değer küçülür, en çok 28px, en az 14px.
     --n, app.js kbigN ile değerin karakter sayısından gelir. */
  font-size: clamp(14px, calc(100cqi / (var(--n, 5) * 0.86)), 28px);
  white-space: nowrap;
  overflow: hidden; /* son güvenlik: yine de sığmazsa kesilir, komşu kutuya TAŞMAZ */
  text-overflow: ellipsis;
  max-width: 100%;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  margin-top: 8px;
  line-height: 1.1;
}
.ksmall {
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--faint);
  margin-top: 3px;
}
.ksmall2 {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--mut);
  margin-top: 5px;
}
.sparkwrap {
  margin-top: auto;
  padding-top: 8px;
}
.spark {
  display: block;
  width: 100%;
  height: 44px;
  filter: var(--fglow); /* Adım 2: KPI sparkline koyu-tema parıltısı */
}
.segbar {
  display: flex;
  height: 8px;
  border-radius: 3px;
  overflow: hidden;
  gap: 2px;
  margin-top: 10px;
  background: var(--panel2);
}
.segbar span {
  display: block;
}

/* --- Merkezli donut + yan liste --- */
.donut-wrap {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.donut-svg {
  flex: 0 0 auto;
}
.donut {
  width: 150px;
  height: 150px;
}
.donut .d-big {
  font-family: var(--display); /* Adım 2: Archivo iri rakam */
  font-weight: 700;
  font-size: 22px;
}
.donut .d-small {
  font-family: var(--mono);
  font-size: 10px;
}
.d-list {
  flex: 1;
  min-width: 140px;
}
.d-row {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--ink2);
  padding: 4px 0;
}
.d-row + .d-row {
  border-top: 1px solid var(--line);
}
.d-ust {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.d-row b {
  color: var(--ink);
  font-weight: 600;
  flex: 0 0 auto;
}
.d-et {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  overflow-wrap: anywhere;
}
/* Hedef: yeni satır, girintili (chip+gap kadar), küçük + soluk, düzgün sarar. */
.d-hedef {
  margin: 3px 0 0 17px;
  color: var(--faint);
  font-size: 10.5px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.chip {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex: 0 0 auto;
  display: inline-block;
}

/* --- Gruplu bar (tutum dağılımı) --- */
.gs-not {
  font-size: 11px;
  color: var(--faint);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 13px;
}
.gs-item {
  margin-bottom: 14px;
}
.gs-item:last-child {
  margin-bottom: 0;
}
.gs-ad {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 6px;
}
.gs-rows {
  display: grid;
  grid-template-columns: 40px 1fr 44px;
  gap: 7px 9px;
  align-items: center;
  font-family: var(--mono);
  font-size: 11px;
}
.ge-lab {
  color: var(--faint);
}
.ge-track {
  height: 10px;
  background: var(--panel2);
  border-radius: 3px;
  overflow: hidden;
}
.ge-track i {
  display: block;
  height: 100%;
  border-radius: 3px;
}
.ge-val {
  text-align: right;
  color: var(--ink2);
}

/* --- Sıralı yatay bar (nedenler / terim) --- */
.blist2 > * + * {
  margin-top: 11px;
}
.b2-row {
  display: grid;
  grid-template-columns: 1.1fr 2fr 42px;
  gap: 10px;
  align-items: center;
}
.b2-lab {
  font-size: 12.5px;
  color: var(--ink2);
  line-height: 1.3;
  overflow-wrap: break-word;
  word-break: break-word;
}
.b2-track {
  height: 11px;
  background: var(--panel2);
  border-radius: 3px;
  overflow: hidden;
}
.b2-track i {
  display: block;
  height: 100%;
  border-radius: 3px;
}
.b2-val {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--mut);
  text-align: right;
}

/* --- Alan grafiği (hacim eğrisi) --- */
.area-wrap {
  padding: 4px 0 2px;
  position: relative; /* saat ekseni/tooltip/zirve-dip etiketleri overlay için */
}
.areachart {
  display: block;
  width: 100%;
  height: 120px;
}
.areachart path[fill="none"] {
  filter: var(--fglow); /* Adım 2: hacim eğrisi çizgisine koyu-tema parıltısı (mockup) */
}
/* Hacim/trend grafiği — saat ekseni + tooltip + zirve/dip etiketi overlay */
.hc-grafik {
  position: relative;
}
.hc-imlec {
  position: absolute;
  top: 4px;
  height: 120px;
  width: 1px;
  background: var(--faint);
  opacity: 0.55;
  pointer-events: none;
  z-index: 2;
}
.hc-tt {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  background: var(--panel);
  border: 1px solid var(--line);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 6px;
  white-space: nowrap;
  pointer-events: none;
  z-index: 4;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.hc-tt.hc-tt-sag { transform: translateX(-100%); }
.hc-tt.hc-tt-sol { transform: translateX(0); }
.hc-etiket {
  position: absolute;
  transform: translateX(-50%);
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--panel2);
  white-space: nowrap;
  pointer-events: none;
  z-index: 3;
}
.hc-etiket.hc-zirve { top: 1px; color: var(--pos); font-weight: 600; }
.hc-etiket.hc-dip { bottom: 1px; color: var(--mut); }
.hc-etiket.hc-e-l { transform: translateX(0); }
.hc-etiket.hc-e-r { transform: translateX(-100%); }
.hc-eksen {
  position: relative;
  height: 15px;
  margin-top: 3px;
}
.hc-tick {
  position: absolute;
  transform: translateX(-50%);
  font-family: var(--mono);
  font-size: 10px;
  color: var(--faint);
  white-space: nowrap;
}
.hc-tick.hc-e-l { transform: translateX(0); }
.hc-tick.hc-e-r { transform: translateX(-100%); }

/* --- Eğim (slope) grafiği (tartışmanın tarafları) --- */
.slope-scroll {
  overflow-x: auto;
  margin: 4px 0 6px;
}
.slope {
  display: block;
  width: 100%;
  min-width: 640px;
  height: 254px;
}
/* İKİLİ SÜTUN (Tartışmanın Tarafları) — kişi% içi-boş + etkileşim% dolu */
.ik-scroll {
  overflow-x: auto;
  margin: 4px 0 4px;
}
.ik-svg {
  display: block;
  width: 100%;
  min-width: 520px;
  height: 250px;
}
.ik-grid {
  font-size: 10px;
  font-family: var(--mono);
}
.ik-val {
  font-size: 11px;
  font-family: var(--mono);
  font-weight: 600;
}
.ik-ad {
  font-size: 11px;
}
.ik-lejant {
  display: flex;
  gap: 16px;
  margin: 2px 0 8px;
}
.ik-lej {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--mut);
  font-size: 12px;
}
.ik-sw {
  display: inline-block;
  width: 14px;
  height: 11px;
  border-radius: 2px;
}
.ik-sw-kisi {
  background: rgba(120, 130, 145, 0.22);
  border: 1.6px solid var(--mut);
}
.ik-sw-etk {
  background: var(--mut);
}
.ik-oku {
  color: var(--mut);
  line-height: 1.5;
  margin: 0 0 10px;
  padding: 8px 10px;
  background: var(--panel2);
  border-radius: 6px;
}
.slope .sl-grid {
  font-family: var(--mono);
  font-size: 9px;
}
.slope .sl-axis {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.slope .sl-val {
  font-family: var(--mono);
  font-size: 11px;
}
.slope .sl-name {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
}
/* Taraf listesi (slope altında ad + özet) */
.side-list {
  margin-top: 6px;
}
.side-row {
  padding: 9px 0;
  border-top: 1px solid var(--line);
}
.side-row:first-child {
  border-top: none;
}
.side-ad {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
  margin-bottom: 3px;
}
.side-ozet {
  font-size: 12.5px;
  color: var(--mut);
  line-height: 1.45;
}

/* --- ETKİLİ HESAPLAR (kim sürüyor) --- */
.eh-anlati {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.eh-anlati:first-child {
  border-top: none;
  margin-top: 4px;
  padding-top: 0;
}
.eh-anlati-bas {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink);
  margin-bottom: 6px;
}
.eh-liste {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.eh-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.eh-kim {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 13px;
}
.eh-user {
  color: var(--pos);
  text-decoration: none;
  font-weight: 600;
}
.eh-user:hover {
  text-decoration: underline;
}
.eh-dogr {
  color: #1d9bf0;
  font-weight: 700;
}
.eh-name {
  color: var(--mut);
  font-size: 12px;
}
.eh-metr {
  color: var(--faint);
  font-size: 11.5px;
}
/* Etkili Hesaplar — gönderi kanıtı (açılır): satır tıklanınca o hesabın gönderileri ayrı linklerle. */
.eh-det {
  margin-top: 1px;
}
.eh-sum {
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  user-select: none;
}
.eh-sum::-webkit-details-marker {
  display: none;
}
.eh-sum:hover {
  color: var(--mut);
}
.eh-ac {
  color: var(--c1);
  font-weight: 600;
}
.eh-ok {
  color: var(--c1);
  transition: transform 0.15s;
  font-size: 10px;
}
.eh-det[open] .eh-ok {
  transform: rotate(180deg);
}
.eh-gonderiler {
  margin: 6px 0 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.eh-artik {
  color: var(--faint);
  font-size: 11px;
  padding-left: 2px;
}

/* --- OLASI KOORDİNELİ KÜMELER --- */
.kk-cell {
  border: 1px solid rgba(224, 52, 75, 0.25);
}
.kk-kart {
  margin-top: 8px;
  padding: 9px 11px;
  border-left: 3px solid var(--neg);
  background: var(--neg-a);
  border-radius: 0 6px 6px 0;
}
.kk-ornek {
  font-size: 12.5px;
  color: var(--ink);
  font-style: italic;
  line-height: 1.4;
}
.kk-ipuc {
  color: var(--mut);
  font-size: 11.5px;
  margin: 4px 0 6px;
}
.kk-hesaplar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.kk-hesap {
  font-size: 12px;
  color: var(--ink);
}
.kk-hesap.eh-dusuk {
  opacity: 0.7;
}
.kk-hesap.eh-dusuk::after {
  content: " ⚠";
  color: var(--amber);
}
/* --- AYNI METNİ PAYLAŞAN HESAP KÜMELERİ (eşgüdüm) — NÖTR: kırmızı/uyarı görünümü yok --- */
/* Metrik kutularının ALTINDA, aynı bloğa ait tam genişlikte not şeridi (Eşgüdüm: …) — mobilde kırılır, taşmaz */
.kc-serit {
  margin-top: 8px;
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel2);
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--mut);
  overflow-wrap: anywhere;
}
.esg-cell {
  border: 1px solid var(--line, rgba(127, 127, 127, 0.25));
}
.kk-kart.esg-kart {
  border-left-color: var(--amber);
  background: transparent;
}
.esg-daha {
  margin-top: 6px;
  font-size: 12px;
}
.esg-haber {
  margin-top: 12px;
}
.esg-haber-satir {
  margin-top: 6px;
  font-size: 12.5px;
}
/* TASLAK DENETİMİ uyarısı — kesin değil, "gözden geçirin" (sarı, küçük; mobilde kırılır) */
.taslak-uyari {
  margin: 8px 0 -2px;
  padding: 5px 8px;
  border-left: 3px solid var(--amber);
  background: rgba(214, 160, 30, 0.1);
  border-radius: 0 6px 6px 0;
  font-size: 11.5px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.karar-liste li .taslak-uyari {
  margin: 4px 0 2px;
}
/* SINIRI AŞAN HESAPLAR — kategori-gruplu, kanıtlı */
.sa-cell {
  border: 1px solid rgba(224, 52, 75, 0.28);
}
.sa-alt {
  color: var(--mut);
  margin: 0 0 8px;
  line-height: 1.45;
}
.sa-bos {
  color: var(--mut);
  padding: 6px 0;
}
.sa-grup {
  margin-top: 10px;
}
.sa-grup-b {
  font-weight: 700;
  font-size: 12.5px;
  margin-bottom: 5px;
}
.sa-b-tehdit {
  color: var(--neg);
}
.sa-b-iftira {
  color: var(--neg);
}
.sa-b-hakaret {
  color: var(--amber);
}
.sa-satir {
  padding: 6px 0;
  border-top: 1px solid var(--line);
}
.sa-satir:first-of-type {
  border-top: none;
}
.sa-ust {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 13px;
}
.sa-metr {
  color: var(--faint);
  font-size: 11px;
  margin-left: auto;
}
.sa-kanit {
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.5;
  margin-top: 3px;
  padding: 5px 9px;
  border-left: 3px solid var(--line);
  background: var(--panel2);
  border-radius: 0 5px 5px 0;
  overflow-wrap: anywhere;
}
.sa-kanit.sa-orta {
  border-left-color: var(--amber);
}
.sa-kanit.sa-agir {
  border-left-color: var(--neg);
}
/* Tıklanabilir kanıt gönderisi (X'te açılır) */
a.sa-kanit-link {
  display: block;
  text-decoration: none;
  transition: background 0.15s;
}
a.sa-kanit-link:hover {
  background: var(--pos-a2);
}
.sa-git {
  color: var(--pos);
  font-size: 11px;
  white-space: nowrap;
}
.sa-ibare {
  color: var(--faint);
  font-size: 11px;
  line-height: 1.45;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
  font-style: italic;
}

/* ORGANİKLİK / ŞÜPHELİ HESAPLAR — dalga seviyesi göstergesi + şüpheli hesap listesi */
.org-cell {
  border: 1px solid rgba(199, 122, 22, 0.28);
}
.org-seviye {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin: 4px 0 6px;
}
.org-sev-et {
  font-weight: 700;
  font-size: 14px;
}
.org-s-yuksek .org-sev-et {
  color: var(--neg);
}
.org-s-orta .org-sev-et {
  color: var(--amber);
}
.org-s-dusuk .org-sev-et {
  color: var(--mut);
}
.org-s-temiz .org-sev-et {
  color: var(--pos);
}
.org-sev-agirlik {
  color: var(--faint);
  font-size: 11.5px;
}
.org-bar {
  height: 7px;
  border-radius: 4px;
  background: var(--panel2);
  overflow: hidden;
  margin: 0 0 8px;
}
.org-bar-dolu {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s;
}
.org-bar-dolu.org-s-yuksek {
  background: var(--neg);
}
.org-bar-dolu.org-s-orta {
  background: var(--amber);
}
.org-bar-dolu.org-s-dusuk {
  background: var(--mut);
}
.org-bar-dolu.org-s-temiz {
  background: var(--pos);
}
.org-yorum {
  color: var(--ink2);
  font-size: 12.5px;
  line-height: 1.5;
  margin-bottom: 10px;
}
.org-liste-b {
  color: var(--faint);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 2px;
}
.org-satir {
  padding: 6px 0;
  border-top: 1px solid var(--line);
}
.org-satir:first-of-type {
  border-top: none;
}
.org-ust {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 13px;
}
.org-bant {
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.org-b-yuksek {
  color: var(--neg);
  background: var(--neg-a);
}
.org-b-orta {
  color: var(--amber);
  background: rgba(199, 122, 22, 0.14);
}
.org-b-dusuk {
  color: var(--mut);
  background: var(--panel2);
}
.org-gerekce {
  color: var(--faint);
  font-size: 11.5px;
  line-height: 1.45;
  margin-top: 2px;
}

/* ANA-AKIM SIÇRAMA */
.aa-cell.aa-sicradi {
  border: 1px solid rgba(47, 127, 214, 0.35);
}
.aa-durum {
  font-weight: 700;
  font-size: 14px;
  color: #2f7fd6;
  margin: 4px 0 8px;
}
.aa-satir {
  padding: 6px 0;
  border-top: 1px solid var(--line);
}
.aa-satir:first-of-type {
  border-top: none;
}
.aa-ust {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 13px;
}
.aa-kaynak {
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.aa-k-liste {
  color: #2f7fd6;
  background: rgba(47, 127, 214, 0.14);
}
.aa-k-esik {
  color: var(--pos);
  background: var(--pos-a);
}
/* KÜMÜLATİF HAFIZA Faz 3 — Kaynak / erken hareket edenler */
.kh-cell {
  border: 1px solid rgba(122, 95, 208, 0.28);
}
.kh-satir {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 6px 0;
  border-top: 1px solid var(--line);
}
.kh-satir:first-of-type {
  border-top: none;
}
.kh-user {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  font-size: 13px;
}
.kh-meta {
  color: var(--faint);
  font-size: 11px;
  margin-left: auto;
}
/* KÜMÜLATİF HAFIZA Faz 3 · M1 — Kıyas + gidişat ("bunu daha önce gördük") */
.ky-cell {
  border: 1px solid rgba(122, 95, 208, 0.32);
}
.ky-guven {
  font-weight: 600;
  color: var(--c3, #7a5fd0);
}
.ky-satir {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  border-top: 1px solid var(--line);
}
.ky-satir:first-of-type {
  border-top: none;
}
.ky-konu {
  font-size: 13px;
  font-weight: 600;
}
.ky-ortak {
  color: var(--mut);
  font-size: 11px;
}
.ky-skor {
  color: var(--faint);
  font-size: 11px;
  margin-left: auto;
}
.ky-gidisat {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--panel2);
  font-size: 12.5px;
  color: var(--ink2);
  line-height: 1.5;
}
/* Önemli Hesaplar yönetimi (Ana-Akım listesi) */
.onemli-kutu {
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel2);
}
.onemli-giris {
  display: flex;
  gap: 8px;
  margin: 8px 0;
  flex-wrap: wrap;
}
.onemli-giris input {
  flex: 1;
  min-width: 140px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  font-size: 13px;
}
.onemli-cipler {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.onemli-cip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px 3px 10px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--panel);
  font-size: 12.5px;
}
.onemli-cip button {
  border: none;
  background: none;
  color: var(--neg);
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  padding: 0 2px;
}

/* --- Sıra numaralı bar (gündemi taşıyanlar) --- */
.rlist > * + * {
  margin-top: 10px;
}
.rrow {
  display: grid;
  grid-template-columns: 24px 1.2fr 2fr minmax(44px, max-content);
  gap: 10px;
  align-items: center;
}
.rank {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--panel2);
  border: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.r-ad {
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.r-track {
  height: 11px;
  background: var(--panel2);
  border-radius: 3px;
  overflow: hidden;
}
.r-track i {
  display: block;
  height: 100%;
  border-radius: 3px;
}
.r-val {
  white-space: nowrap;
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--mut);
  text-align: right;
}

/* --- Doğrulama rozeti (X mavi) — metin ✓ yerine --- */
.vfx {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  vertical-align: -2px;
}

/* --- Öne çıkan yanıt (tweet kartı vurgulu) --- */
.tweet.one {
  border: 1px solid var(--line);
  border-left: 3px solid var(--neg);
  border-radius: var(--r8);
  background: var(--panel);
  padding: 13px 14px;
  margin-top: 4px;
}
.tweet.one .badge.one-badge {
  background: var(--neg-a);
  color: var(--neg);
  top: 13px;
  right: 13px;
  letter-spacing: 0.06em;
}

/* --- Mobil --- */
@media (max-width: 640px) {
  .kcards {
    grid-template-columns: repeat(2, 1fr);
  }
  .donut-wrap {
    justify-content: center;
  }
}

/* Arşiv arama kutusu (Ajans) — geçmiş katmanının içinde */
.arsiv-arac {
  padding: 16px 22px 0;
}
.arsiv-input {
  width: 100%;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--r8, 8px);
  color: var(--ink);
  font-size: 13px;
  padding: 10px 12px;
  outline: none;
}
.arsiv-input:focus {
  border-color: var(--neg);
}
.arsiv-input::placeholder {
  color: var(--faint);
}

/* ============================================================
   KURUM RADARI — sayfa + rapor (iki tema değişkenlerle; mobil tek sütun; yazdırma)
   ============================================================ */
#radarIcerik { padding: 16px 18px 28px; }
.rd-giris { display: grid; gap: 10px; margin-bottom: 14px; }
.rd-aciklama { color: var(--ink2); line-height: 1.5; }
.rd-uret { display: flex; gap: 8px; flex-wrap: wrap; }
.rd-secim { flex: 1 1 220px; min-width: 0; background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: var(--r8); padding: 9px 10px; font: inherit; }
.rd-btn { background: var(--accent); color: #04121a; border: 0; border-radius: var(--r8); padding: 9px 16px; font-weight: 700; cursor: pointer; }
.rd-btn.ikincil { background: transparent; color: var(--ink); border: 1px solid var(--line); font-weight: 600; }
.rd-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.rd-not { color: var(--mut); font-size: 0.86rem; line-height: 1.45; margin: 4px 0; }
.rd-uyari { border: 1px solid var(--amber); color: var(--ink); background: color-mix(in srgb, var(--amber) 10%, transparent); border-radius: var(--r8); padding: 9px 12px; font-size: 0.9rem; }
.rd-yarim { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; border: 1px solid var(--line); background: var(--panel); border-radius: var(--r8); padding: 12px; margin-bottom: 12px; }
.rd-yarim-btn { display: flex; gap: 8px; }
.rd-ilerleme { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 10px 0 6px; }
.rd-adim { display: flex; gap: 6px; align-items: center; border: 1px solid var(--line); border-radius: var(--r8); padding: 8px; font-size: 0.85rem; color: var(--mut); background: var(--panel); }
.rd-adim-n { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--line); font-size: 0.75rem; flex: none; }
.rd-adim.bitti { color: var(--ink); border-color: var(--good); }
.rd-adim.bitti .rd-adim-n { background: var(--good); color: #04121a; border-color: var(--good); }
.rd-adim.suruyor { color: var(--ink); border-color: var(--accent); }
.rd-adim.suruyor .rd-adim-n { border-color: var(--accent); animation: rdNabiz 1.2s ease-in-out infinite; }
.rd-adim.hata { border-color: var(--neg); color: var(--ink); }
@keyframes rdNabiz { 50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent); } }
.rd-bolum-h { font-weight: 800; letter-spacing: 0.02em; margin: 22px 0 10px; padding-bottom: 6px; border-bottom: 1px solid var(--line); color: var(--ink); }
.rd-gecmis { display: grid; gap: 6px; }
.rd-gecmis-oge { display: flex; justify-content: space-between; gap: 10px; align-items: center; background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: var(--r8); padding: 10px 12px; cursor: pointer; text-align: left; font: inherit; }
.rd-gecmis-oge.pasif { cursor: default; opacity: 0.7; }
.rd-gecmis-oge .m { color: var(--mut); font-size: 0.85rem; }
.rd-rz { display: inline-block; font-size: 0.74rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink2); white-space: nowrap; }
.rd-rz-hazir, .rd-d-yeni, .rd-k-resmi { border-color: var(--good); color: var(--good); }
.rd-d-hizli { border-color: var(--accent); color: var(--accent); }
.rd-d-zirve, .rd-k-bagli { border-color: var(--c3); color: var(--c3); }
.rd-d-sonuyor, .rd-d-az, .rd-d-sabit, .rd-k-yok, .rd-k-dogrulanamadi, .rd-rz-iptal { color: var(--mut); }
.rd-rz-hata { border-color: var(--neg); color: var(--neg); }
.rd-rz-resmi { border-color: var(--good); color: var(--good); }
.rd-rz-bagli { border-color: var(--c3); color: var(--c3); }
.rd-rz-adina, .rd-k-aktarilan { border-color: var(--accent2); color: var(--accent2); }
.rd-rz-aktarilan { border-color: var(--amber); color: var(--amber); white-space: normal; }
.rd-rz-orgut { border-color: var(--neg2); color: var(--neg2); }
.rd-serit { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; border: 1px solid var(--line); background: var(--panel2); border-radius: var(--r8); padding: 10px 12px; color: var(--ink2); font-size: 0.9rem; }
.rd-serit .rd-btn { margin-left: auto; }
.rd-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rd-kart { border: 1px solid var(--line); background: var(--panel); border-radius: var(--r8); padding: 12px; min-width: 0; }
.rd-kart-ust { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.rd-kart-h { font-weight: 700; color: var(--ink); line-height: 1.35; margin-bottom: 6px; overflow-wrap: anywhere; }
.rd-ozet { color: var(--ink2); line-height: 1.5; font-size: 0.92rem; margin-bottom: 8px; }
.rd-sayilar { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--mut); font-size: 0.82rem; margin: 4px 0; }
.rd-kanit { border-left: 2px solid var(--line); padding: 4px 0 4px 10px; margin: 8px 0; font-size: 0.86rem; }
.rd-kanit-e { color: var(--faint); font-size: 0.72rem; text-transform: uppercase; margin-right: 6px; }
.rd-kim { color: var(--ink); font-weight: 600; }
.rd-saat { color: var(--mut); font-size: 0.78rem; }
.rd-metin { color: var(--ink2); line-height: 1.45; margin: 3px 0; overflow-wrap: anywhere; }
.rd-link { color: var(--accent); font-size: 0.78rem; text-decoration: none; }
.rd-alt-h { font-weight: 700; color: var(--ink); margin: 10px 0 4px; font-size: 0.9rem; }
.rd-liste { margin: 4px 0 8px 18px; padding: 0; color: var(--ink2); font-size: 0.88rem; line-height: 1.5; }
.rd-liste .m { color: var(--mut); }
.rd-talep { border: 1px solid var(--line); background: var(--panel); border-radius: var(--r8); padding: 10px 12px; margin-bottom: 8px; }
.rd-talep-ust { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rd-talep-ust .m { color: var(--mut); font-size: 0.82rem; white-space: nowrap; }
.rd-talep-ad { font-weight: 700; color: var(--ink); overflow-wrap: anywhere; }
.rd-cubuk { height: 6px; background: var(--track); border-radius: 999px; margin: 6px 0; overflow: hidden; }
.rd-cubuk span { display: block; height: 100%; background: var(--accent); border-radius: 999px; }
.rd-detay { margin: 6px 0; }
.rd-detay summary { cursor: pointer; color: var(--ink2); font-size: 0.86rem; }
.rd-fark { border: 1px dashed var(--c3); border-radius: var(--r8); padding: 10px 12px; color: var(--ink2); font-size: 0.88rem; margin-bottom: 10px; display: grid; gap: 4px; }
.rd-ibare { margin-top: 22px; color: var(--mut); font-size: 0.82rem; font-style: italic; border-top: 1px solid var(--line); padding-top: 10px; }
.rd-uretim { margin-top: 18px; border: 1px dashed var(--line); border-radius: var(--r8); padding: 8px 12px; display: grid; gap: 4px; }
@media (max-width: 860px) {
  .rd-grid { grid-template-columns: 1fr; }
  .rd-ilerleme { grid-template-columns: 1fr; }
  .rd-serit .rd-btn { margin-left: 0; }
}
/* Radar PDF'i Gündem'in markalı motorunu kullanır (#pdfAlani; radarPdf.js). Kanıt bloklarında arka plan/gölge yok. */
@media print {
  #pdfIcerik .pdf-rd-kanit, #pdfIcerik .pdf-rd-kanit * { background: transparent !important; box-shadow: none !important; filter: none !important; opacity: 1 !important; }
  /* Radar PDF: sayfa geneline uygulanan HİÇBİR resim/katman yok (filigran, doku, ışıma, fixed arka plan). Gündem PDF'i etkilenmez. */
  body.radar-pdf #pdfFiligran { display: none !important; }
  html:has(body.radar-pdf), body.radar-pdf, body.radar-pdf #pdfAlani, body.radar-pdf #pdfIcerik { background: #ffffff !important; background-image: none !important; }
  body.radar-pdf #pdfAlani, body.radar-pdf #pdfAlani * { background-image: none !important; box-shadow: none !important; filter: none !important; backdrop-filter: none !important; mix-blend-mode: normal !important; opacity: 1 !important; }
  body.radar-pdf::before, body.radar-pdf::after, body.radar-pdf #pdfAlani::before, body.radar-pdf #pdfAlani::after, body.radar-pdf #pdfAlani *::before, body.radar-pdf #pdfAlani *::after { content: none !important; background: none !important; }
}
/* Kurum profili formu (Radar sayfası içinde) */
.rp-form { display: grid; gap: 12px; }
.rp-alan { display: grid; gap: 4px; }
.rp-alan > span:first-child { font-weight: 700; color: var(--ink); font-size: 0.9rem; }
.rp-alan textarea.rd-secim { resize: vertical; font-family: var(--sans); }
.rp-hesap { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; border: 1px solid var(--line); border-radius: var(--r8); padding: 6px 8px; background: var(--panel); }
.rp-hesap .rd-btn { padding: 4px 9px; margin-left: auto; }

/* (İş 0) Modelin doğrudan verdiği sayı: "tahmin" işareti */
.tahmin-is { display: inline-block; margin-left: 6px; padding: 0 5px; font-size: 10px; font-weight: 600; line-height: 16px; border-radius: 4px; color: var(--amber); border: 1px solid currentColor; opacity: .85; vertical-align: middle; text-transform: lowercase; }
/* (İş 1) Ruh hâli: tıklanabilir satır + örnek gönderiler */
.d-row.d-row-tik { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; }
.d-row.d-row-tik:hover .d-et, .d-row.d-row-tik:focus-visible .d-et { text-decoration: underline; }
.d-row-tik .d-tik { font-size: 10.5px; opacity: .7; }
.ton-ornek { margin: 4px 0 8px; }
/* (İş 2) Küme bağlantıları */
.kk-git { margin-left: 2px; font-size: 11px; text-decoration: none; opacity: .75; }
.kk-git:hover { opacity: 1; }
.kk-temsilci { margin-left: 6px; white-space: nowrap; }

/* (İş 3) Arşiv: kart + sil, daha eski, kilitli arama notu */
.gk-sar { display: flex; align-items: stretch; gap: 6px; }
.gk-sar .gk { flex: 1; min-width: 0; }
.gk-sil { flex: 0 0 auto; align-self: center; background: none; border: 1px solid var(--line); color: var(--mut); border-radius: 8px; padding: 6px 10px; font-size: 11.5px; cursor: pointer; }
.gk-sil:hover, .gk-sil:focus-visible { color: var(--neg); border-color: var(--neg); }
.gk-sil:disabled { opacity: .5; cursor: default; }
.arsiv-daha { display: block; margin: 12px auto 4px; background: none; border: 1px solid var(--line); color: var(--ink); border-radius: 8px; padding: 8px 16px; cursor: pointer; }
.arsiv-input:disabled { opacity: .6; cursor: not-allowed; }
.arsiv-kilit-not { margin-top: 6px; font-size: 12px; color: var(--mut); }
.arsiv-plan-btn { margin-left: 6px; background: none; border: 1px solid var(--amber); color: var(--amber); border-radius: 6px; padding: 2px 8px; font-size: 11.5px; cursor: pointer; }
@media (max-width: 560px) { .gk-sar { flex-direction: column; } .gk-sil { align-self: flex-end; } }

/* (Dürüst sayılar 2 · C) Örnekli çubuk satırı (karşı çıkma nedenleri) — düğme sıfırlama */
.b2-row.d-row-tik { width: 100%; text-align: left; background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; }
.b2-row.d-row-tik:hover .b2-lab, .b2-row.d-row-tik:focus-visible .b2-lab { text-decoration: underline; }

/* (İş E) Arşive kaydedilemedi uyarısı + kırpılmış kayıt notu + bağlantısız aktör satırı */
.arsiv-not { margin: 8px 0 10px; padding: 9px 12px; border-radius: 8px; border: 1px solid var(--line); background: var(--panel2); font-size: 13px; line-height: 1.45; color: var(--ink2); }
.arsiv-not.uyar { border-color: var(--amber); color: var(--ink); }
.ak-analiz.arsivsiz { cursor: default; opacity: .8; }
.ak-analiz.arsivsiz:hover { border-color: var(--line); }

/* (Yerleşim B1) Ruh hâli kartı — tam genişlik; donut solda, lejant ızgarası sağda; mobilde alt alta.
   Etiket kelime ortasından KIRILMAZ (yalnız "/" sonrası <wbr> ya da boşlukta). */
.donut-svg { position: relative; }
.d-merkez { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 30px; pointer-events: none; }
.d-merkez b { font-family: var(--display); font-weight: 700; font-size: 22px; line-height: 1.1; color: var(--ink); }
.d-merkez span { margin-top: 3px; font-family: var(--mono); font-size: 10px; line-height: 1.25; color: var(--faint); overflow-wrap: normal; word-break: normal; }
.d-row, .d-row.d-row-tik { font: inherit; color: var(--ink2); display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; column-gap: 9px; row-gap: 3px; align-items: baseline; }
.d-row .chip { align-self: center; }
.d-row .d-et { display: block; min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.d-row .d-yz { white-space: nowrap; text-align: right; }
.d-alt { grid-column: 2 / 4; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; font-size: 10.5px; color: var(--faint); }
.d-alt .d-hedef { margin: 0; }
.d-list .ton-ornek { margin: 4px 0 10px; }
.ton-kart .donut-wrap { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 26px; align-items: start; }
.ton-kart .d-list { min-width: 0; }
.kart-dipnot { margin-top: 10px; font-size: 11px; color: var(--faint); }
@media (max-width: 600px) {
  .ton-kart .donut-wrap { grid-template-columns: 1fr; justify-items: center; gap: 14px; }
  .ton-kart .d-list { width: 100%; }
}
/* (Yerleşim B2) Terim payı kartı — sıkı yükseklik */
.terim-kart .an-not { margin-bottom: 6px; }
.terim-kart .blist2 > * + * { margin-top: 6px; }
.terim-kart .b2-track { height: 8px; }
/* (Yerleşim B5) adet/payda gösterilen listelerde sağ sütun sabit, tek satır */
.b2-val { white-space: nowrap; }
.blist2.b2-n .b2-row { grid-template-columns: 1.1fr 2fr 84px; }
@media print {
  .pdf-b2-n .pdf-b2-row { grid-template-columns: 1.1fr 2fr 70px; }
  .pdf-b2-row .v { white-space: nowrap; }
}

/* (Yerleşim B4) PDF sayfa bölme — tek gönderi + Gündem + Röntgen ORTAK (#pdfAlani; Radar PDF'i hariç).
   Kısa parçalar bölünmez (madde, ses kartı, satır); uzun kartlar doğal akar ve sayfa arasında bölünür;
   başlık sayfa dibinde yalnız kalmaz (ardından gelen ilk satırlarla birlikte); paragraflar en az 2 satır.
   Anlatı haritası tek görseldir (bölünemez) → bir sayfaya sığacak yükseklikle sınırlanır, başlığıyla birlikte kalır. */
@media print {
  body:not(.radar-pdf) #pdfAlani li,
  body:not(.radar-pdf) #pdfAlani .pdf-col li { break-inside: avoid; page-break-inside: avoid; }
  body:not(.radar-pdf) #pdfAlani p,
  body:not(.radar-pdf) #pdfAlani .pdf-verdict,
  body:not(.radar-pdf) #pdfAlani blockquote { orphans: 2; widows: 2; }
  body:not(.radar-pdf) #pdfAlani .pdf-h,
  body:not(.radar-pdf) #pdfAlani .pdf-col h5 { break-after: avoid; page-break-after: avoid; }
  body:not(.radar-pdf) #pdfAlani .pdf-harita .anlati-harita { max-height: 215mm; }
}

/* (Gizlilik notu) Her raporun en üstünde tek satır — ekranda tema-duyarlı şerit, mobilde sarar (taşmaz);
   PDF'te gri zeminli ince şerit. Sayfa alt bilgisi (kısa not) yazdırma anında @page kenar kutusuyla eklenir (gizlilik.js). */
.gizlilik-not { margin: 6px 0 10px; padding: 6px 10px; border-radius: 6px; border: 1px solid var(--line); border-left: 3px solid var(--amber); background: var(--panel2); color: var(--ink2); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.pdf-gizlilik { margin: -8px 0 12px; padding: 3px 8px; background: #eef0f3; border: 1px solid #dfe3e8; border-radius: 3px; color: #3c4655; font-size: 9.5px; line-height: 1.35; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
/* PDF: aktör rozeti tıklanamaz kısa metin. */
.pdf-aktor-rz { font-size: 8.5px; color: #6e7a8a; white-space: nowrap; }

/* (Tam havuz) Tutum dağılımında kesin sayı ("%62 · 255 / 412") — sağ sütun içeriğe göre genişler, mobilde çubuk daralır. */
.gstance.gs-n .gs-rows { grid-template-columns: 40px minmax(0, 1fr) auto; }
.gstance.gs-n .ge-val { white-space: nowrap; }
.tek-zincir { overflow-wrap: anywhere; }
.tek-durma { margin-top: 4px; font-size: 11px; }
.tek-durma .tek-uyari { color: var(--amber); font-weight: 600; }
.rontgen-zincir { display: block; margin-top: 10px; font-size: 11.5px; line-height: 1.5; }
.side-sayi { font-size: 11px; font-weight: 400; white-space: nowrap; }
@media print {
  .pdf-gs.pdf-gs-n .pdf-gs-item .rows { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .pdf-gs.pdf-gs-n .pdf-gs-item .rows .v { white-space: nowrap; }
}
