@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* ============================================================
   MedVis UI — Tasarım Sistemi  ·  Yön: "Data Console" (1b)
   ------------------------------------------------------------
   TEK MERKEZ. Tüm renk / tipografi / boşluk / yarıçap / gölge
   kararları buradaki değişkenlerden gelir. Tema değiştirmek =
   yalnızca bu değişkenleri değiştirmek. Koyu tema için kök
   elemana  data-theme="dark"  ekleyin (<html data-theme="dark">).

   Sınıflar  mv-  önekiyle namespace'lidir; mevcut CSS'inizle
   (Bootstrap / Tailwind / saf) çakışmaz. Bileşenler DOM'daki
   id ve JS-bağlı class'lara dokunmadan, yalnız görsel katmanı
   giydirir.
   ============================================================ */

:root {
  /* ---- Renk · Zemin & yüzey ---- */
  --mv-app-bg:       oklch(0.972 0.005 265);
  --mv-surface:      #ffffff;
  --mv-surface-elev: oklch(0.975 0.005 265);
  --mv-border:       oklch(0.90 0.012 265);
  --mv-border-soft:  oklch(0.95 0.006 265);

  /* ---- Renk · Metin ---- */
  --mv-text:   oklch(0.24 0.02 268);   /* birincil */
  --mv-text-2: oklch(0.50 0.02 268);   /* ikincil / muted */
  --mv-text-3: oklch(0.64 0.015 268);  /* soluk / etiket */

  /* ---- Renk · Vurgu (indigo) ---- */
  --mv-accent:          oklch(0.48 0.15 278);  /* link / aktif / metin vurgu */
  --mv-accent-solid:    oklch(0.48 0.15 278);  /* dolu buton zemini */
  --mv-accent-strong:   oklch(0.42 0.15 278);  /* dolu buton :hover */
  --mv-accent-on:       #ffffff;               /* dolu buton metni */
  --mv-accent-soft:     oklch(0.96 0.03 278);  /* yumuşak buton zemini */
  --mv-accent-soft-fg:  oklch(0.48 0.15 278);  /* yumuşak buton metni */
  --mv-accent-soft-hov: oklch(0.93 0.04 278);

  /* ---- Renk · Anlamsal ---- */
  --mv-pos: oklch(0.52 0.12 150);  /* iyi skor / 100% / yayında */
  --mv-neg: oklch(0.56 0.15 35);   /* düşük skor / askıya / uyarı */
  --mv-track: oklch(0.93 0.008 265);

  /* ---- Renk · Rozetler ---- */
  --mv-badge-green-bg: oklch(0.95 0.03 150); --mv-badge-green-fg: oklch(0.42 0.09 150);
  --mv-badge-blue-bg:  oklch(0.95 0.03 265); --mv-badge-blue-fg:  oklch(0.45 0.12 275);
  --mv-badge-amber-bg: oklch(0.95 0.04 60);  --mv-badge-amber-fg: oklch(0.50 0.12 45);
  --mv-badge-red-bg:   oklch(0.95 0.03 25);  --mv-badge-red-fg:   oklch(0.52 0.15 28);

  /* ---- Tipografi ---- */
  --mv-font-sans: 'IBM Plex Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --mv-font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --mv-fs-2xs: 10px;    /* tablo başlığı / kicker */
  --mv-fs-xs:  10.5px;
  --mv-fs-sm:  12px;
  --mv-fs-md:  13px;
  --mv-fs-base:14.5px;  /* hekim adı */
  --mv-fs-lg:  16px;    /* kart başlığı */
  --mv-fs-xl:  19px;    /* logo */
  --mv-fs-score: 17px;
  --mv-lh: 1.5;

  /* ---- Boşluk ---- */
  --mv-sp-1: 4px;  --mv-sp-2: 8px;  --mv-sp-3: 12px; --mv-sp-4: 16px;
  --mv-sp-5: 20px; --mv-sp-6: 22px; --mv-sp-7: 26px;

  /* ---- Yarıçap ---- */
  --mv-r-sm: 6px; --mv-r-md: 8px; --mv-r-lg: 12px; --mv-r-pill: 999px;

  /* ---- Gölge ---- */
  --mv-shadow-card: 0 1px 3px oklch(0.5 0.02 265 / 0.06), 0 24px 60px oklch(0.5 0.02 265 / 0.07);

  /* ---- Yerleşim · Hekim tablosu kolonları (tek merkez) ---- */
  --mv-doctable-cols: minmax(300px, 1fr) 80px 56px 80px 124px 150px;
}

[data-theme="dark"] {
  --mv-app-bg:       oklch(0.185 0.014 265);
  --mv-surface:      oklch(0.255 0.017 265);
  --mv-surface-elev: oklch(0.29 0.018 265);
  --mv-border:       oklch(0.34 0.02 265);
  --mv-border-soft:  oklch(0.30 0.015 265);

  --mv-text:   oklch(0.94 0.01 265);
  --mv-text-2: oklch(0.66 0.015 265);
  --mv-text-3: oklch(0.55 0.015 265);

  --mv-accent:          oklch(0.72 0.15 278);
  --mv-accent-solid:    oklch(0.55 0.16 278);
  --mv-accent-strong:   oklch(0.60 0.16 278);
  --mv-accent-on:       #ffffff;
  --mv-accent-soft:     oklch(0.32 0.06 278);
  --mv-accent-soft-fg:  oklch(0.82 0.14 278);
  --mv-accent-soft-hov: oklch(0.37 0.07 278);

  --mv-pos: oklch(0.74 0.13 150);
  --mv-neg: oklch(0.74 0.15 40);
  --mv-track: oklch(0.32 0.02 265);

  --mv-badge-green-bg: oklch(0.34 0.06 150); --mv-badge-green-fg: oklch(0.82 0.13 150);
  --mv-badge-blue-bg:  oklch(0.34 0.05 265); --mv-badge-blue-fg:  oklch(0.82 0.12 275);
  --mv-badge-amber-bg: oklch(0.36 0.06 60);  --mv-badge-amber-fg: oklch(0.85 0.12 70);
  --mv-badge-red-bg:   oklch(0.34 0.06 25);  --mv-badge-red-fg:   oklch(0.82 0.13 28);

  --mv-shadow-card: 0 30px 70px oklch(0.12 0.02 265 / 0.55);
}

/* ============================================================
   BİLEŞENLER
   ============================================================ */

/* ---- Uygulama kabuğu ---- */
.mv-app {
  background: var(--mv-app-bg);
  color: var(--mv-text);
  font-family: var(--mv-font-sans);
  line-height: var(--mv-lh);
}
/* Uygulama içi hiçbir link altı çizili görünmez (renk dokunulmaz; nav/isim linkleri düz metin gibi) */
.mv-app a { text-decoration: none; }

/* Mono, tablo hizalı rakamlar için yardımcı */
.mv-num { font-family: var(--mv-font-mono); font-variant-numeric: tabular-nums; }
.mv-right { text-align: right; }

/* ---- Üst menü ---- */
.mv-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px var(--mv-sp-7);
  background: var(--mv-surface);
  border-bottom: 1px solid var(--mv-border);
}
.mv-nav__brand { display: flex; align-items: center; gap: 11px; }
.mv-nav__logo {
  font-family: var(--mv-font-sans); font-weight: 700;
  font-size: var(--mv-fs-xl); letter-spacing: -0.01em; color: var(--mv-text);
}
.mv-nav__tag {
  font-family: var(--mv-font-mono); font-size: var(--mv-fs-2xs);
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--mv-text-3);
  white-space: nowrap;
}
.mv-nav__links {
  display: flex; align-items: center; gap: 18px;
  flex-wrap: nowrap; white-space: nowrap;   /* menü kırılmaz — istenen davranış */
}
.mv-nav__link {
  font-size: var(--mv-fs-md); color: var(--mv-text-2);
  text-decoration: none; cursor: pointer;
}
.mv-nav__link:hover { color: var(--mv-text); }
.mv-nav__link--active { color: var(--mv-accent); font-weight: 600; }

/* Bağlantı durumu rozeti (Google Bağlı) */
.mv-tag-conn {
  font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-pos);
  border: 1px solid color-mix(in oklab, var(--mv-pos) 45%, transparent);
  padding: 4px 9px; border-radius: var(--mv-r-sm);
}

/* ---- Kart ---- */
.mv-card {
  background: var(--mv-surface);
  border: 1px solid var(--mv-border);
  border-radius: var(--mv-r-lg);
  overflow: hidden;
}
.mv-card--pad { padding: var(--mv-sp-5) var(--mv-sp-6); }
.mv-card--shadow { box-shadow: var(--mv-shadow-card); }
.mv-card__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: var(--mv-sp-4);
}
.mv-kicker {
  font-family: var(--mv-font-mono); font-size: var(--mv-fs-xs);
  letter-spacing: 0.10em; text-transform: uppercase; color: var(--mv-accent);
}
.mv-card__title {
  font-size: var(--mv-fs-lg); font-weight: 600; color: var(--mv-text);
  margin: 3px 0 0;
}
/* Eski .card h2 vb. kuralların koyu temada başlığı ezmesini önle (token kazansın) */
.mv-app .mv-card__title { color: var(--mv-text); }

/* ---- Butonlar ---- */
.mv-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font-family: var(--mv-font-sans); font-weight: 600; font-size: var(--mv-fs-md);
  padding: 9px 15px; border: 1px solid transparent; border-radius: var(--mv-r-md);
  cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.mv-btn--primary { background: var(--mv-accent-solid); color: var(--mv-accent-on); }
.mv-btn--primary:hover { background: var(--mv-accent-strong); }
.mv-btn--soft {
  background: var(--mv-accent-soft); color: var(--mv-accent-soft-fg);
  font-size: var(--mv-fs-sm); padding: 7px 12px; border-radius: var(--mv-r-sm);
}
.mv-btn--soft:hover { background: var(--mv-accent-soft-hov); }
.mv-btn--ghost {
  background: transparent; color: var(--mv-text-2); border-color: var(--mv-border);
  font-weight: 500; font-size: var(--mv-fs-sm); padding: 7px 11px; border-radius: var(--mv-r-sm);
}
.mv-btn--ghost:hover { border-color: var(--mv-neg); color: var(--mv-neg); }
/* Buton/aksiyon grubu (tablo satırının aksiyon kolonu vb.) */
.mv-btn-group { display: inline-flex; align-items: center; justify-content: flex-end; gap: 7px; }

/* ---- Rozetler ---- */
.mv-badge {
  display: inline-flex; align-items: center;
  font-family: var(--mv-font-mono); font-size: var(--mv-fs-xs); font-weight: 500;
  padding: 2px 8px; border-radius: 5px;
}
.mv-badge--green { background: var(--mv-badge-green-bg); color: var(--mv-badge-green-fg); }
.mv-badge--blue  { background: var(--mv-badge-blue-bg);  color: var(--mv-badge-blue-fg); }
.mv-badge--amber { background: var(--mv-badge-amber-bg); color: var(--mv-badge-amber-fg); }
.mv-badge--red   { background: var(--mv-badge-red-bg);   color: var(--mv-badge-red-fg); }

/* ---- Hekim tablosu ---- */
.mv-table { width: 100%; }
.mv-table__head {
  display: grid; grid-template-columns: var(--mv-doctable-cols); gap: 12px;
  padding: 9px var(--mv-sp-6);
  background: var(--mv-surface-elev);
  border-top: 1px solid var(--mv-border); border-bottom: 1px solid var(--mv-border);
  font-family: var(--mv-font-mono); font-size: var(--mv-fs-2xs);
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--mv-text-3);
}
.mv-table__row {
  display: grid; grid-template-columns: var(--mv-doctable-cols); gap: 12px;
  align-items: center; padding: 13px var(--mv-sp-6);
  border-bottom: 1px solid var(--mv-border-soft);
}
/* Satırı saran link (isim/meta/rozet tek bir <a> ise) düz metin gibi görünsün */
.mv-table__row a { color: inherit; text-decoration: none; }
.mv-table__row a:hover .mv-doc__name { color: var(--mv-accent); }
.mv-doc__name { font-size: var(--mv-fs-base); font-weight: 600; color: var(--mv-text); }
.mv-doc__meta { font-size: var(--mv-fs-sm); color: var(--mv-text-2); margin-top: 2px; }
.mv-doc__badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }

/* Metrik hücresi (değer + birim) */
.mv-metric { font-family: var(--mv-font-mono); text-align: right; }
.mv-metric__val  { font-size: 14px; font-weight: 600; color: var(--mv-text); }
.mv-metric__unit { font-size: var(--mv-fs-2xs); color: var(--mv-text-3); }

/* Skor */
.mv-score { font-family: var(--mv-font-mono); font-size: var(--mv-fs-score); font-weight: 600; }
.mv-score--good { color: var(--mv-pos); }     /* >= 80 */
.mv-score--mid  { color: var(--mv-accent); }  /* 70–79.9 */
.mv-score--low  { color: var(--mv-neg); }     /* < 70 */

/* Durum noktası */
.mv-status--on  { color: var(--mv-pos); }
.mv-status--off { color: var(--mv-text-3); }

/* ---- Bar (çalışma dağılımı) ---- */
.mv-bar { display: grid; grid-template-columns: 150px 1fr 34px; align-items: center; gap: 12px; padding: 2.5px 0; }
.mv-bar__label { font-size: var(--mv-fs-sm); color: var(--mv-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-bar a { color: inherit; text-decoration: none; }
.mv-bar__track { height: 7px; background: var(--mv-track); border-radius: 2px; overflow: hidden; }
.mv-bar__fill  { height: 100%; background: var(--mv-accent-solid); border-radius: 2px; }
.mv-bar__val   { font-family: var(--mv-font-mono); font-size: 11.5px; text-align: right; color: var(--mv-text-2); }

/* ---- Tema anahtarı · her sayfada köşe (medvis-theme.js ile) ---- */
.mv-theme-toggle {
  position: fixed; right: 20px; bottom: 20px; z-index: 9999;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 44px; padding: 0 16px;
  background: var(--mv-surface); color: var(--mv-text);
  border: 1px solid var(--mv-border); border-radius: var(--mv-r-pill);
  font-family: var(--mv-font-mono); font-size: 12px; font-weight: 500;
  cursor: pointer; box-shadow: var(--mv-shadow-card);
  transition: border-color .15s ease, color .15s ease, transform .15s ease;
}
.mv-theme-toggle:hover { border-color: var(--mv-accent); color: var(--mv-accent); transform: translateY(-1px); }
.mv-theme-toggle__icon  { font-size: 15px; line-height: 1; }
.mv-theme-toggle__label { letter-spacing: 0.02em; }

/* ============================================================
   FORM · SEKME · RADYO — Ekran 2 (içerik editörü) bileşenleri
   ============================================================ */
:root {
  --mv-label:        oklch(0.40 0.02 268);
  --mv-input-bg:     #ffffff;
  --mv-input-border: oklch(0.88 0.012 265);
  --mv-focus-ring:   oklch(0.48 0.15 278 / 0.12);
}
[data-theme="dark"] {
  --mv-label:        oklch(0.72 0.015 265);
  --mv-input-bg:     oklch(0.225 0.015 265);
  --mv-input-border: oklch(0.40 0.02 265);
  --mv-focus-ring:   oklch(0.72 0.15 278 / 0.28);
}

/* Sayfa başlığı */
.mv-page-head { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 22px 26px; }
.mv-page-head__back { font-size: 12.5px; color: var(--mv-accent); text-decoration: none; font-weight: 500; }
.mv-page-head__title { font-size: 22px; font-weight: 700; letter-spacing: -0.01em; margin: 8px 0 5px; color: var(--mv-text); }
.mv-page-head__sub { font-size: 13px; color: var(--mv-text-2); }

/* Birincil sekmeler */
.mv-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--mv-border); }
.mv-tab { font-size: 13.5px; color: var(--mv-text-2); padding: 11px 16px; cursor: pointer; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.mv-tab:hover { color: var(--mv-text); }
.mv-tab--active { font-weight: 600; color: var(--mv-accent); border-bottom-color: var(--mv-accent); }

/* İkincil sekmeler (pill) */
.mv-subtabs { display: flex; flex-wrap: wrap; gap: 6px; }
.mv-subtab { font-size: 12.5px; color: var(--mv-text-2); padding: 7px 13px; border-radius: var(--mv-r-pill); cursor: pointer; text-decoration: none; }
.mv-subtab:hover { background: var(--mv-surface-elev); }
.mv-subtab--active { font-weight: 600; color: var(--mv-accent); background: var(--mv-accent-soft); }

/* Form alanları */
.mv-field { margin-bottom: 18px; }
.mv-field__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.mv-field-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
/* Ana alan geniş + yan alan dar (Konu / Kaç Post gibi) */
.mv-field-grid-main { display: grid; grid-template-columns: 1fr 140px; gap: 16px; }
.mv-label { display: block; font-size: 12px; font-weight: 600; color: var(--mv-label); margin-bottom: 6px; }
.mv-field__head .mv-label { margin-bottom: 0; }
.mv-hint { font-size: 11px; font-weight: 400; color: var(--mv-text-3); margin-left: 6px; }
.mv-input, .mv-textarea {
  width: 100%; padding: 10px 12px;
  border: 1px solid var(--mv-input-border); border-radius: var(--mv-r-md);
  font-size: 13.5px; font-family: var(--mv-font-sans); color: var(--mv-text);
  background: var(--mv-input-bg); outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.mv-input:focus, .mv-textarea:focus { border-color: var(--mv-accent); box-shadow: 0 0 0 3px var(--mv-focus-ring); }
.mv-input::placeholder, .mv-textarea::placeholder { color: var(--mv-text-3); }
.mv-input--mono { font-family: var(--mv-font-mono); }
.mv-textarea { resize: vertical; line-height: 1.55; min-height: 60px; }

/* İç not bloğu (hekime gösterilmez) */
.mv-note { padding: 16px 18px; background: var(--mv-surface-elev); border: 1px dashed var(--mv-border); border-radius: var(--mv-r-lg); }
.mv-tag-hidden { font-family: var(--mv-font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--mv-neg); margin-left: 6px; }

/* Radyo kartları */
.mv-radio-group { display: flex; flex-wrap: wrap; gap: 12px; }
.mv-radio-card { flex: 1 1 220px; display: flex; gap: 10px; align-items: flex-start; padding: 13px 15px; border: 1.5px solid var(--mv-border); background: var(--mv-surface); border-radius: var(--mv-r-lg); cursor: pointer; }
.mv-radio-card:has(input:checked) { border-color: var(--mv-accent); background: var(--mv-accent-soft); }
.mv-radio-card input[type="radio"] { accent-color: var(--mv-accent); width: 15px; height: 15px; margin-top: 2px; flex: none; }
.mv-radio-card__title { font-size: 13.5px; font-weight: 600; color: var(--mv-text); }
.mv-radio-card__desc { font-size: 12px; color: var(--mv-text-2); margin-top: 2px; }

/* ============================================================
   LİSTE AİLESİ — Videolar · Yazılar · Sosyal Medya
   ============================================================ */
:root {
  --mv-youtube:      oklch(0.55 0.19 27);
  --mv-youtube-hov:  oklch(0.49 0.19 27);
  --mv-badge-teal-bg: oklch(0.95 0.03 200); --mv-badge-teal-fg: oklch(0.45 0.09 220);
}
[data-theme="dark"] {
  --mv-youtube:      oklch(0.58 0.19 27);
  --mv-youtube-hov:  oklch(0.63 0.19 27);
  --mv-badge-teal-bg: oklch(0.34 0.05 210); --mv-badge-teal-fg: oklch(0.82 0.1 210);
}

/* Kart başlığı: başlık + alt yazı + sağ aksiyon */
.mv-card__titlebar { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.mv-card__sub { font-size: 12.5px; color: var(--mv-text-2); margin-top: 2px; }

/* Buton: anlamsal varyantlar */
.mv-btn--danger  { background: var(--mv-youtube); color: #fff; }
.mv-btn--danger:hover { background: var(--mv-youtube-hov); }
.mv-btn--success { background: var(--mv-pos); color: #fff; }
.mv-btn--success:hover { filter: brightness(0.93); }

/* Styled native <select> */
.mv-select-wrap { position: relative; display: inline-block; width: 100%; }
.mv-select {
  width: 100%; padding: 10px 34px 10px 12px;
  border: 1px solid var(--mv-input-border); border-radius: var(--mv-r-md);
  font-size: 13.5px; font-family: var(--mv-font-sans); color: var(--mv-text);
  background: var(--mv-input-bg); outline: none; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.mv-select:focus { border-color: var(--mv-accent); box-shadow: 0 0 0 3px var(--mv-focus-ring); }
.mv-select-wrap::after {
  content: "▼"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  pointer-events: none; font-size: 9px; color: var(--mv-text-3);
}
.mv-select--sm { padding: 3px 22px 3px 9px; font-size: 11.5px; border-radius: var(--mv-r-sm); }
.mv-select-wrap--sm::after { right: 9px; font-size: 8px; }

/* Filtre pill'leri (sayaçlı) */
.mv-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.mv-filter {
  font-size: 12px; font-weight: 500; color: var(--mv-text-2);
  border: 1px solid var(--mv-input-border); background: transparent;
  padding: 5px 13px; border-radius: var(--mv-r-pill); cursor: pointer; text-decoration: none;
}
.mv-filter:hover { border-color: var(--mv-text-3); }
.mv-filter--active { font-weight: 600; color: #fff; background: var(--mv-accent-solid); border-color: var(--mv-accent-solid); }

/* Liste satırı (video / yazı / geçmiş post) */
.mv-list { display: flex; flex-direction: column; gap: 8px; }
.mv-list-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 13px 14px; border: 1px solid var(--mv-border-soft); border-radius: 9px;
}
.mv-list-row__main { min-width: 0; }
.mv-list-row__title { font-size: 14px; font-weight: 600; color: var(--mv-text); }
.mv-list-row__titleline { display: flex; align-items: center; gap: 8px; }
.mv-list-row__titleline .mv-list-row__title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-list-row__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 5px; }
.mv-list-row__snippet { font-size: 12.5px; color: var(--mv-text-2); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-meta-link { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-accent); text-decoration: none; }
.mv-meta-dim  { font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-text-3); }
.mv-list-row__actions { display: flex; gap: 6px; flex: none; }
/* Satır içi küçük aksiyon butonu (buton floor'una ek boyut) */
.mv-btn--xs { font-size: 11.5px; padding: 6px 12px; border-radius: var(--mv-r-sm); }

/* Durum satırı (renkli tek satır) */
.mv-status-line { font-family: var(--mv-font-mono); font-size: 12px; margin: 12px 0 4px; }
.mv-status-line--ok { color: var(--mv-pos); }

/* Boş durum */
.mv-empty { text-align: center; padding: 26px 16px; border: 1px dashed var(--mv-border); border-radius: var(--mv-r-lg); }
.mv-empty__icon { font-size: 26px; opacity: 0.4; margin-bottom: 8px; }
.mv-empty__text { font-size: 13px; color: var(--mv-text-2); }

/* Onay çubuğu (inline confirm) */
.mv-confirm { background: var(--mv-surface-elev); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 16px 18px; }
.mv-confirm__q { font-size: 13.5px; font-weight: 600; margin-bottom: 12px; color: var(--mv-text); }
.mv-confirm__actions { display: flex; gap: 8px; }

/* Satır-içi ekleme formu paneli */
.mv-form-panel { background: var(--mv-surface-elev); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 18px 20px; }
.mv-form-panel__actions { display: flex; gap: 8px; }

/* Kompakt satır-içi radyo (Post Tipi) */
.mv-radio-inline { display: flex; flex-wrap: wrap; gap: 16px; }
.mv-radio-inline label { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--mv-text); cursor: pointer; }
.mv-radio-inline input[type="radio"] { accent-color: var(--mv-accent); width: 15px; height: 15px; }

/* Üretilen post çıktısı */
.mv-post-output { }
.mv-post-output__index { font-family: var(--mv-font-mono); font-size: 11px; font-weight: 600; color: var(--mv-accent); margin-bottom: 10px; }
.mv-post-output__title { font-size: 15px; font-weight: 600; margin-bottom: 8px; color: var(--mv-text); }
.mv-post-output__body { font-size: 13px; line-height: 1.65; color: var(--mv-text-2); margin: 0 0 14px; white-space: pre-wrap; }
.mv-post-output__actions { display: flex; gap: 8px; margin-bottom: 14px; }

/* Görsel Brief callout (amber sol-şerit) */
.mv-callout {
  background: var(--mv-badge-amber-bg);
  border-left: 3px solid oklch(0.7 0.12 75);
  border-radius: 0 var(--mv-r-md) var(--mv-r-md) 0;
  padding: 12px 15px; font-size: 12px; line-height: 1.6; color: var(--mv-badge-amber-fg);
}
.mv-callout strong { font-weight: 600; }

/* Tip rozetleri (fikir / teknik / yanılsama) — liste satırında */
.mv-badge--teal { background: var(--mv-badge-teal-bg); color: var(--mv-badge-teal-fg); }

/* ============================================================
   FORM AİLESİ — İçerik Üret (dikey radyo listesi · onay kutusu · alt-panel)
   ============================================================ */

/* Dikey radyo listesi (başlık + tire açıklama) */
.mv-radio-list { display: flex; flex-direction: column; gap: 2px; }
.mv-radio-list label { display: flex; align-items: flex-start; gap: 10px; padding: 9px 11px; border-radius: var(--mv-r-md); cursor: pointer; }
.mv-radio-list label:hover { background: var(--mv-surface-elev); }
.mv-radio-list input[type="radio"] { accent-color: var(--mv-accent); width: 15px; height: 15px; margin-top: 2px; flex: none; }
.mv-radio-list__text { font-size: 13.5px; line-height: 1.5; color: var(--mv-text-2); }
.mv-radio-list__text strong { font-weight: 600; color: var(--mv-text); }

/* Onay kutusu satırı */
.mv-check { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--mv-border); border-radius: 9px; background: var(--mv-surface-elev); cursor: pointer; }
.mv-check input[type="checkbox"] { accent-color: var(--mv-accent); width: 16px; height: 16px; flex: none; }
.mv-check__label { font-size: 13px; color: var(--mv-text); }

/* Koşullu alt-panel (JSON Üret vb. açılan alanlar) */
.mv-subpanel { background: var(--mv-surface-elev); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 18px 20px; }
.mv-subpanel__hint { font-size: 11.5px; color: var(--mv-text-3); margin-top: 8px; line-height: 1.5; }

/* ============================================================
   CLUSTER ÇEKİRDEĞİ — İçerik Planı · Cluster detay · Mimari
   ============================================================ */
:root {
  --mv-st-ok-bg:      oklch(0.95 0.03 150); --mv-st-ok-fg:      oklch(0.42 0.11 150);
  --mv-st-pending-bg: oklch(0.95 0.04 75);  --mv-st-pending-fg: oklch(0.5 0.11 65);
  --mv-st-review-bg:  oklch(0.95 0.03 265); --mv-st-review-fg:  oklch(0.45 0.12 275);
  --mv-st-danger-bg:  oklch(0.95 0.03 25);  --mv-st-danger-fg:  oklch(0.52 0.15 28);
  --mv-st-neutral-bg: oklch(0.94 0.008 265);--mv-st-neutral-fg: oklch(0.5 0.02 268);
  --mv-st-info-bg:    oklch(0.95 0.03 200); --mv-st-info-fg:    oklch(0.45 0.09 220);
  --mv-reject-fg:     oklch(0.52 0.15 30);  --mv-reject-border: oklch(0.85 0.05 30);  --mv-reject-hov: oklch(0.97 0.03 30);
  --mv-callout-danger-bg: oklch(0.97 0.02 25); --mv-callout-danger-fg: oklch(0.45 0.1 30); --mv-callout-danger-bar: oklch(0.62 0.15 28);
  --mv-slug-fg:       oklch(0.5 0.11 145);
}
[data-theme="dark"] {
  --mv-st-ok-bg:      oklch(0.34 0.06 150); --mv-st-ok-fg:      oklch(0.82 0.13 150);
  --mv-st-pending-bg: oklch(0.36 0.06 75);  --mv-st-pending-fg: oklch(0.85 0.12 75);
  --mv-st-review-bg:  oklch(0.34 0.05 265); --mv-st-review-fg:  oklch(0.82 0.12 275);
  --mv-st-danger-bg:  oklch(0.34 0.06 25);  --mv-st-danger-fg:  oklch(0.82 0.13 28);
  --mv-st-neutral-bg: oklch(0.32 0.012 265);--mv-st-neutral-fg: oklch(0.7 0.015 265);
  --mv-st-info-bg:    oklch(0.34 0.05 210); --mv-st-info-fg:    oklch(0.82 0.1 210);
  --mv-reject-fg:     oklch(0.75 0.15 30);  --mv-reject-border: oklch(0.5 0.1 30);    --mv-reject-hov: oklch(0.32 0.06 30);
  --mv-callout-danger-bg: oklch(0.3 0.05 25); --mv-callout-danger-fg: oklch(0.82 0.12 30); --mv-callout-danger-bar: oklch(0.6 0.15 28);
  --mv-slug-fg:       oklch(0.72 0.12 145);
}

/* Durum etiketi (anlamsal pill) */
.mv-status-pill { display: inline-flex; align-items: center; gap: 5px; font-family: var(--mv-font-mono); font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: var(--mv-r-pill); }
.mv-status-pill--ok      { background: var(--mv-st-ok-bg);      color: var(--mv-st-ok-fg); }
.mv-status-pill--pending { background: var(--mv-st-pending-bg); color: var(--mv-st-pending-fg); }
.mv-status-pill--review  { background: var(--mv-st-review-bg);  color: var(--mv-st-review-fg); }
.mv-status-pill--danger  { background: var(--mv-st-danger-bg);  color: var(--mv-st-danger-fg); }
.mv-status-pill--neutral { background: var(--mv-st-neutral-bg); color: var(--mv-st-neutral-fg); }
.mv-status-pill--info    { background: var(--mv-st-info-bg);    color: var(--mv-st-info-fg); }

/* Tip rozeti (pillar/supporting/faq) — anlamsal renkler */
.mv-type-pill { display: inline-flex; align-items: center; font-family: var(--mv-font-mono); font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: var(--mv-r-pill); }
.mv-type-pill--pillar     { background: var(--mv-st-review-bg);  color: var(--mv-st-review-fg); }
.mv-type-pill--supporting { background: var(--mv-st-info-bg);    color: var(--mv-st-info-fg); }
.mv-type-pill--faq        { background: var(--mv-st-neutral-bg); color: var(--mv-st-neutral-fg); }

/* Reddet butonu (kırmızı çerçeve — yıkıcı ama sakin) */
.mv-btn--reject { background: transparent; color: var(--mv-reject-fg); border-color: var(--mv-reject-border); }
.mv-btn--reject:hover { background: var(--mv-reject-hov); }

/* Uyarı callout — kırmızı varyant (kapsam uyarısı) */
.mv-callout--danger { background: var(--mv-callout-danger-bg); border-left-color: var(--mv-callout-danger-bar); color: var(--mv-callout-danger-fg); }

/* Cluster başlığı bloğu (öneri kartı + detay) */
.mv-cluster-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.mv-cluster-head__badges { display: flex; align-items: center; gap: 8px; }
.mv-cluster-head__date { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-text-3); }
.mv-cluster__title { font-size: 17px; font-weight: 600; margin: 0 0 8px; color: var(--mv-text); }
.mv-cluster__title a, .mv-cluster-item__title a { color: inherit; }
.mv-cluster__title--lg { font-size: 19px; }
.mv-cluster__strategy { font-size: 13px; line-height: 1.6; color: var(--mv-text-2); margin: 0 0 14px; }

/* Araç çubuğu (İçerik Öğeleri toolbar) */
.mv-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.mv-toolbar__title { font-size: 14px; font-weight: 600; margin-right: 8px; color: var(--mv-text); }
.mv-toolbar__note { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-text-3); margin: 0 4px; }

/* Micro-batch üretim paneli */
.mv-microbatch { background: var(--mv-surface-elev); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 16px 18px; }
.mv-microbatch__title { font-size: 13.5px; font-weight: 600; margin-bottom: 4px; color: var(--mv-text); }
.mv-microbatch__meta { font-size: 11.5px; color: var(--mv-st-pending-fg); margin-bottom: 12px; }
.mv-microbatch__row { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid var(--mv-border-soft); }
.mv-microbatch__row .mv-type-pill { min-width: 78px; justify-content: center; }
.mv-microbatch__label { flex: 1; min-width: 0; font-size: 12.5px; color: var(--mv-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Cluster öğe satırı (pillar/supporting/faq kalem) */
.mv-cluster-item { border: 1px solid var(--mv-border-soft); border-radius: var(--mv-r-lg); padding: 15px 16px; }
.mv-cluster-item__row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.mv-cluster-item__titleline { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 5px; }
.mv-cluster-item__title { font-size: 14px; font-weight: 600; color: var(--mv-text); }
.mv-cluster-item__actions { display: flex; align-items: center; gap: 8px; flex: none; }
.mv-id { font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-text-3); background: var(--mv-surface-elev); padding: 1px 7px; border-radius: 5px; }
.mv-slug { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-slug-fg); }
.mv-slug span { color: var(--mv-text-2); }

/* ============================================================
   ANALİTİK ÇEKİRDEK — İç Link · Topical Authority · Site Odak
   ============================================================ */
:root {
  --mv-stat-indigo-bg: oklch(0.97 0.03 278); --mv-stat-indigo-bd: oklch(0.92 0.04 278); --mv-stat-indigo-fg: oklch(0.48 0.15 278);
  --mv-stat-blue-bg:   oklch(0.97 0.03 235); --mv-stat-blue-bd:   oklch(0.92 0.04 235); --mv-stat-blue-fg:   oklch(0.5 0.12 240);
  --mv-stat-green-bg:  oklch(0.97 0.03 155); --mv-stat-green-bd:  oklch(0.92 0.04 155); --mv-stat-green-fg:  oklch(0.48 0.11 150);
  --mv-stat-red-bg:    oklch(0.97 0.02 25);  --mv-stat-red-bd:    oklch(0.92 0.04 25);  --mv-stat-red-fg:    oklch(0.55 0.15 30);
  --mv-score-ok: oklch(0.5 0.12 150); --mv-score-warn: oklch(0.62 0.15 55); --mv-score-danger: oklch(0.55 0.15 30);
  --mv-priority-bg: oklch(0.98 0.03 90); --mv-priority-bd: oklch(0.9 0.05 85); --mv-priority-fg: oklch(0.42 0.08 70); --mv-priority-num: oklch(0.62 0.15 55);
}
[data-theme="dark"] {
  --mv-stat-indigo-bg: oklch(0.3 0.05 278); --mv-stat-indigo-bd: oklch(0.38 0.06 278); --mv-stat-indigo-fg: oklch(0.78 0.14 278);
  --mv-stat-blue-bg:   oklch(0.3 0.05 235); --mv-stat-blue-bd:   oklch(0.38 0.06 235); --mv-stat-blue-fg:   oklch(0.78 0.12 240);
  --mv-stat-green-bg:  oklch(0.3 0.05 155); --mv-stat-green-bd:  oklch(0.38 0.06 155); --mv-stat-green-fg:  oklch(0.78 0.13 150);
  --mv-stat-red-bg:    oklch(0.3 0.05 25);  --mv-stat-red-bd:    oklch(0.38 0.06 25);  --mv-stat-red-fg:    oklch(0.78 0.14 30);
  --mv-score-ok: oklch(0.72 0.13 150); --mv-score-warn: oklch(0.75 0.14 60); --mv-score-danger: oklch(0.72 0.15 30);
  --mv-priority-bg: oklch(0.32 0.05 85); --mv-priority-bd: oklch(0.42 0.06 82); --mv-priority-fg: oklch(0.85 0.1 80); --mv-priority-num: oklch(0.68 0.14 60);
}

/* Metrik kartları */
.mv-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.mv-stat { border-radius: var(--mv-r-lg); padding: 20px; text-align: center; background: var(--mv-stat-indigo-bg); border: 1px solid var(--mv-stat-indigo-bd); }
.mv-stat__num { font-family: var(--mv-font-mono); font-size: 30px; font-weight: 600; color: var(--mv-stat-indigo-fg); }
.mv-stat__label { font-size: 12px; color: var(--mv-text-2); margin-top: 4px; }
.mv-stat--indigo { background: var(--mv-stat-indigo-bg); border-color: var(--mv-stat-indigo-bd); } .mv-stat--indigo .mv-stat__num { color: var(--mv-stat-indigo-fg); }
.mv-stat--blue   { background: var(--mv-stat-blue-bg);   border-color: var(--mv-stat-blue-bd); }   .mv-stat--blue .mv-stat__num   { color: var(--mv-stat-blue-fg); }
.mv-stat--green  { background: var(--mv-stat-green-bg);  border-color: var(--mv-stat-green-bd); }  .mv-stat--green .mv-stat__num  { color: var(--mv-stat-green-fg); }
.mv-stat--red    { background: var(--mv-stat-red-bg);    border-color: var(--mv-stat-red-bd); }    .mv-stat--red .mv-stat__num    { color: var(--mv-stat-red-fg); }
.mv-stat--neutral { background: var(--mv-surface-elev); border-color: var(--mv-border); } .mv-stat--neutral .mv-stat__num { color: var(--mv-text-2); }

/* Skor kartları (eşik rengi) */
.mv-score-card { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 18px 20px; }
.mv-score-card__head { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--mv-text-2); }
.mv-score-card__num { font-family: var(--mv-font-mono); font-size: 32px; font-weight: 600; margin: 6px 0 2px; color: var(--mv-text); }
.mv-score-card__num--ok { color: var(--mv-score-ok); } .mv-score-card__num--warn { color: var(--mv-score-warn); } .mv-score-card__num--danger { color: var(--mv-score-danger); }
.mv-score-card__desc { font-size: 11.5px; color: var(--mv-text-3); }

/* Satır-içi mini bar (tablo hücresi / otorite ilerleme) */
.mv-bar-mini { height: 7px; background: var(--mv-track); border-radius: 999px; overflow: hidden; }
.mv-bar-mini__fill { display: block; height: 100%; background: var(--mv-accent-solid); border-radius: 999px; }
.mv-progress { height: 6px; background: var(--mv-track); border-radius: 999px; overflow: hidden; }
.mv-progress__fill { display: block; height: 100%; border-radius: 999px; background: var(--mv-accent-solid); }
.mv-progress__fill--ok { background: var(--mv-score-ok); } .mv-progress__fill--danger { background: var(--mv-score-danger); } .mv-progress__fill--warn { background: var(--mv-score-warn); }

/* Öncelik callout'u (amber, numaralı) */
.mv-priority { background: var(--mv-priority-bg); border: 1px solid var(--mv-priority-bd); border-radius: var(--mv-r-lg); padding: 18px 20px; }
.mv-priority__title { font-size: 13.5px; font-weight: 600; color: var(--mv-priority-fg); margin-bottom: 12px; }
.mv-priority__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; }
.mv-priority__num { width: 20px; height: 20px; border-radius: 50%; background: var(--mv-priority-num); color: #fff; font-size: 11px; font-weight: 600; display: flex; align-items: center; justify-content: center; flex: none; }

/* Otorite satırı + GSC fırsat çipleri */
.mv-authority__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.mv-authority__title { font-size: 15px; font-weight: 600; margin: 0; color: var(--mv-text); }
.mv-authority__badges { display: flex; align-items: center; gap: 8px; flex: none; }
.mv-gsc-badge { font-family: var(--mv-font-mono); font-size: 10.5px; font-weight: 600; color: var(--mv-stat-blue-fg); background: var(--mv-stat-blue-bg); padding: 2px 8px; border-radius: 5px; }
.mv-chip-list { font-size: 11.5px; color: var(--mv-text-2); margin-top: 6px; }
.mv-chip { display: inline-block; font-family: var(--mv-font-mono); font-size: 10.5px; color: var(--mv-accent); background: var(--mv-accent-soft); padding: 2px 8px; border-radius: 5px; margin-right: 4px; }

/* Kategori çipi (sayaçlı) */
.mv-cat-chip { font-size: 12.5px; color: var(--mv-text-2); border: 1px solid var(--mv-border); padding: 6px 13px; border-radius: var(--mv-r-pill); }
.mv-cat-chip strong { font-weight: 600; color: var(--mv-text); }

/* İçerik Önerileri — numaralı öneri satırı + ülke dağılımı ızgarası */
.mv-sugg { border: 1px solid var(--mv-border-soft); border-radius: var(--mv-r-lg); padding: 15px 16px; }
.mv-sugg__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mv-sugg__title { font-size: 14px; font-weight: 600; color: var(--mv-text); }
.mv-sugg__rel { font-size: 12.5px; color: var(--mv-text-2); margin-top: 3px; }
.mv-sugg__action-text { font-size: 12.5px; color: var(--mv-accent); margin-top: 4px; }
.mv-sugg__meta { font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-text-3); margin-top: 4px; }
.mv-country-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.mv-country-card { border: 1px solid var(--mv-border); border-radius: var(--mv-r-md); padding: 12px 14px; }
.mv-country-card--active { border-color: var(--mv-accent); background: var(--mv-accent-soft); }
.mv-country-card__name { font-size: 12px; color: var(--mv-text-2); }
.mv-country-card__pct { font-family: var(--mv-font-mono); font-size: 18px; font-weight: 600; color: var(--mv-text); margin: 2px 0; }
.mv-country-card__clicks { font-size: 11px; color: var(--mv-text-3); }

/* Metin alanı — mono varyant (menü/kod metni) */
.mv-textarea--mono { font-family: var(--mv-font-mono); font-size: 12.5px; }

/* ============================================================
   RAPOR/TABLO AİLESİ — Check-Up (deterministik teşhis raporu)
   ============================================================ */
:root {
  --mv-rep-red-bg:   oklch(0.975 0.02 25);  --mv-rep-red-bd:   oklch(0.88 0.06 28);  --mv-rep-red-fg:   oklch(0.55 0.19 28);
  --mv-rep-amber-bg: oklch(0.98 0.03 90);   --mv-rep-amber-bd: oklch(0.88 0.06 82);  --mv-rep-amber-fg: oklch(0.45 0.09 70);
  --mv-rep-green-bg: oklch(0.975 0.02 155); --mv-rep-green-bd: oklch(0.88 0.05 150); --mv-rep-green-fg: oklch(0.45 0.13 150);
  --mv-num-crit: oklch(0.55 0.15 30); --mv-num-warn: oklch(0.55 0.13 55); --mv-num-zero: oklch(0.62 0.015 268);
}
[data-theme="dark"] {
  --mv-rep-red-bg:   oklch(0.3 0.05 25);  --mv-rep-red-bd:   oklch(0.42 0.08 28);  --mv-rep-red-fg:   oklch(0.78 0.16 28);
  --mv-rep-amber-bg: oklch(0.32 0.05 85); --mv-rep-amber-bd: oklch(0.42 0.06 82);  --mv-rep-amber-fg: oklch(0.85 0.1 80);
  --mv-rep-green-bg: oklch(0.3 0.05 155); --mv-rep-green-bd: oklch(0.42 0.06 150); --mv-rep-green-fg: oklch(0.8 0.13 150);
  --mv-num-crit: oklch(0.75 0.15 30); --mv-num-warn: oklch(0.78 0.13 60); --mv-num-zero: oklch(0.55 0.015 268);
}

/* Genel durum bandı (severity) */
.mv-report-banner { border-radius: var(--mv-r-lg); padding: 20px 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.mv-report-banner--red   { background: var(--mv-rep-red-bg);   border: 1px solid var(--mv-rep-red-bd); }
.mv-report-banner--amber { background: var(--mv-rep-amber-bg); border: 1px solid var(--mv-rep-amber-bd); }
.mv-report-banner--green { background: var(--mv-rep-green-bg); border: 1px solid var(--mv-rep-green-bd); }
.mv-report-banner__status { font-size: 20px; font-weight: 700; letter-spacing: 0.02em; margin-bottom: 12px; }
.mv-report-banner--red   .mv-report-banner__status { color: var(--mv-rep-red-fg); }
.mv-report-banner--amber .mv-report-banner__status { color: var(--mv-rep-amber-fg); }
.mv-report-banner--green .mv-report-banner__status { color: var(--mv-rep-green-fg); }
.mv-report-banner__counts { display: flex; flex-wrap: wrap; gap: 8px; }
.mv-report-banner__meta { text-align: right; font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-text-3); line-height: 1.6; flex: none; }

/* Sayaç pill'i (banner) */
.mv-count-pill { font-family: var(--mv-font-mono); font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: var(--mv-r-pill); border: 1px solid var(--mv-border); background: var(--mv-surface); color: var(--mv-text-2); }
.mv-count-pill--crit  { color: var(--mv-st-danger-fg);  border-color: color-mix(in oklab, var(--mv-st-danger-fg) 40%, transparent);  background: var(--mv-st-danger-bg); }
.mv-count-pill--warn  { color: var(--mv-st-pending-fg); border-color: color-mix(in oklab, var(--mv-st-pending-fg) 40%, transparent); background: var(--mv-st-pending-bg); }

/* Bulgu satırı */
.mv-finding { display: flex; gap: 12px; padding: 14px 16px; background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); }
.mv-finding__badge { font-family: var(--mv-font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; padding: 3px 8px; border-radius: 5px; height: fit-content; flex: none; }
.mv-finding__badge--crit { background: var(--mv-st-danger-bg);  color: var(--mv-st-danger-fg); }
.mv-finding__badge--warn { background: var(--mv-st-pending-bg); color: var(--mv-st-pending-fg); }
.mv-finding__code { font-family: var(--mv-font-mono); font-size: 12.5px; font-weight: 600; color: var(--mv-text); }
.mv-finding__rule { font-size: 12.5px; color: var(--mv-text-2); }
.mv-finding__desc { font-size: 12.5px; line-height: 1.55; color: var(--mv-text-2); margin-top: 4px; }

/* Accordion blok */
.mv-block { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); overflow: hidden; }
.mv-block__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; cursor: pointer; }
.mv-block__head--open { border-bottom: 1px solid var(--mv-border); background: var(--mv-surface-elev); }
.mv-block__head--chevron::after { content: "\25BE"; margin-left: 10px; flex: none; color: var(--mv-text-3); font-size: 11px; transition: transform 0.2s ease; }
.mv-block__head--chevron.mv-block__head--open::after { transform: rotate(180deg); }
.mv-block__title { font-size: 14.5px; font-weight: 600; color: var(--mv-text); }
.mv-block__badge { font-family: var(--mv-font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; color: var(--mv-st-danger-fg); background: var(--mv-st-danger-bg); padding: 2px 8px; border-radius: 5px; }
.mv-block__arrow { color: var(--mv-text-3); font-size: 12px; }
.mv-block__body { padding: 22px 24px; }

/* Rapor stat çifti */
.mv-rep-stats { display: flex; flex-wrap: wrap; gap: 12px; }
.mv-rep-stat { border-radius: var(--mv-r-md); padding: 14px 22px; text-align: center; min-width: 130px; border: 1px solid var(--mv-border); background: var(--mv-surface-elev); }
.mv-rep-stat__num { font-family: var(--mv-font-mono); font-size: 24px; font-weight: 600; color: var(--mv-text); }
.mv-rep-stat__label { font-size: 11.5px; color: var(--mv-text-2); margin-top: 2px; }
.mv-rep-stat--green { border-color: var(--mv-rep-green-bd); background: var(--mv-rep-green-bg); } .mv-rep-stat--green .mv-rep-stat__num { color: var(--mv-rep-green-fg); }
.mv-rep-stat--indigo .mv-rep-stat__num { color: var(--mv-accent); }
.mv-rep-stat--crit .mv-rep-stat__num { color: var(--mv-num-crit); }
.mv-rep-stat--warn .mv-rep-stat__num { color: var(--mv-num-warn); }

/* Disclosure (neden? · bağlam) */
.mv-disclosure { font-size: 11.5px; color: var(--mv-accent); cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }

/* Key-value tablosu + nested */
.mv-kv { display: flex; align-items: center; justify-content: space-between; padding: 7px 2px; border-bottom: 1px solid var(--mv-border-soft); font-size: 12.5px; }
.mv-kv__k { color: var(--mv-text-2); }
.mv-kv__v { font-family: var(--mv-font-mono); color: var(--mv-text); }
.mv-kv--nested { padding-left: 24px; } .mv-kv--nested .mv-kv__k { color: var(--mv-text-3); }
.mv-kv__v--crit { color: var(--mv-num-crit); font-weight: 600; } .mv-kv__v--warn { color: var(--mv-num-warn); font-weight: 600; }
.mv-rep-note { font-size: 11px; font-style: italic; color: var(--mv-text-3); margin-top: 10px; }

/* Rapor tablosu (dağılım / çok-kolon) */
.mv-rep-table__caption { font-family: var(--mv-font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mv-text-3); margin-bottom: 8px; }
.mv-rep-table__head, .mv-rep-table__row { display: grid; gap: 8px; padding: 7px 2px; }
.mv-rep-table__head { font-family: var(--mv-font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mv-text-3); border-bottom: 1px solid var(--mv-border); }
.mv-rep-table__row { border-bottom: 1px solid var(--mv-border-soft); font-size: 12.5px; }
.mv-rep-table__cell-num { font-family: var(--mv-font-mono); text-align: right; }
.mv-num--crit { color: var(--mv-num-crit); font-weight: 600; } .mv-num--warn { color: var(--mv-num-warn); font-weight: 600; } .mv-num--zero { color: var(--mv-num-zero); }

/* Bayrak satırı */
.mv-flag { display: flex; align-items: center; gap: 8px; background: var(--mv-st-danger-bg); border: 1px solid color-mix(in oklab, var(--mv-st-danger-fg) 35%, transparent); border-radius: var(--mv-r-md); padding: 9px 13px; }
.mv-flag__text { font-size: 12.5px; font-weight: 600; color: var(--mv-st-danger-fg); }

/* Kısıtlı mod callout'u */
.mv-limited { background: var(--mv-rep-amber-bg); border: 1px solid var(--mv-rep-amber-bd); border-radius: var(--mv-r-lg); padding: 18px 20px; }
.mv-limited__title { font-size: 13px; font-weight: 600; color: var(--mv-rep-amber-fg); margin-bottom: 8px; }
.mv-limited__body { font-size: 12.5px; line-height: 1.6; color: var(--mv-rep-amber-fg); }

/* ============================================================
   HOSTING — aylık gruplu finansal tablo · yıl özeti · müşteri listesi
   ============================================================ */
:root {
  --mv-fin-month-bg: oklch(0.97 0.02 278); --mv-fin-month-bd: oklch(0.92 0.02 278); --mv-fin-month-fg: oklch(0.4 0.1 278);
  --mv-fin-sub-bg:   oklch(0.985 0.02 90);  --mv-fin-sub-bd:  oklch(0.9 0.03 85);   --mv-fin-sub-fg:  oklch(0.42 0.08 70);
  --mv-fin-net-bg:   oklch(0.96 0.04 155);  --mv-fin-net-bd:  oklch(0.88 0.06 150); --mv-fin-net-fg:  oklch(0.42 0.13 150);
  --mv-fin-neg:      oklch(0.55 0.15 30);
  --mv-pay-paid-bg: oklch(0.95 0.03 155); --mv-pay-paid-fg: oklch(0.42 0.11 150);
  --mv-pay-wait-bg: oklch(0.95 0.04 80);  --mv-pay-wait-fg: oklch(0.5 0.11 65);
  --mv-pay-unpaid-bg: oklch(0.95 0.03 25); --mv-pay-unpaid-fg: oklch(0.52 0.15 28);
  --mv-yr-bg: oklch(0.98 0.02 278); --mv-yr-bd: oklch(0.9 0.04 278); --mv-yr-fg: oklch(0.38 0.12 278);
}
[data-theme="dark"] {
  --mv-fin-month-bg: oklch(0.3 0.05 278); --mv-fin-month-bd: oklch(0.4 0.05 278); --mv-fin-month-fg: oklch(0.82 0.12 278);
  --mv-fin-sub-bg:   oklch(0.32 0.05 85); --mv-fin-sub-bd:  oklch(0.42 0.05 82);  --mv-fin-sub-fg:  oklch(0.85 0.1 80);
  --mv-fin-net-bg:   oklch(0.3 0.06 155); --mv-fin-net-bd:  oklch(0.42 0.07 150); --mv-fin-net-fg:  oklch(0.8 0.14 150);
  --mv-fin-neg:      oklch(0.75 0.15 30);
  --mv-pay-paid-bg: oklch(0.34 0.06 150); --mv-pay-paid-fg: oklch(0.82 0.13 150);
  --mv-pay-wait-bg: oklch(0.36 0.06 80);  --mv-pay-wait-fg: oklch(0.85 0.12 75);
  --mv-pay-unpaid-bg: oklch(0.34 0.06 25); --mv-pay-unpaid-fg: oklch(0.82 0.13 28);
  --mv-yr-bg: oklch(0.3 0.05 278); --mv-yr-bd: oklch(0.4 0.05 278); --mv-yr-fg: oklch(0.82 0.12 278);
}

/* Finansal tablo kabı + ay grubu */
.mv-fin { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); overflow: hidden; }
.mv-fin__month { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--mv-fin-month-bg); border-bottom: 1px solid var(--mv-fin-month-bd); border-top: 1px solid var(--mv-fin-month-bd); }
.mv-fin__month-name { font-size: 14px; font-weight: 600; color: var(--mv-fin-month-fg); }
.mv-fin__month-count { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-fin-month-fg); }
/* Satır grid'i — kolon şablonu inline verilir (raporun kolonlarına göre) */
.mv-fin__head, .mv-fin__row, .mv-fin__subtotal { display: grid; gap: 10px; align-items: center; padding: 9px 14px; }
.mv-fin__head { font-family: var(--mv-font-mono); font-size: 10px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mv-text-3); background: var(--mv-surface-elev); border-bottom: 1px solid var(--mv-border); }
.mv-fin__row { border-bottom: 1px solid var(--mv-border-soft); font-size: 12.5px; }
.mv-fin__row-name { color: var(--mv-text); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-fin__row-cust { color: var(--mv-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-money { font-family: var(--mv-font-mono); text-align: right; color: var(--mv-text); }
.mv-money--dim { color: var(--mv-text-2); }
.mv-money--strong { font-weight: 600; }
.mv-money--neg { color: var(--mv-fin-neg); }
/* Alt toplam / kesinti / net kâr satırları */
.mv-fin__subtotal { font-size: 12px; }
.mv-fin__subtotal--sum { background: var(--mv-fin-sub-bg); border-top: 1px solid var(--mv-fin-sub-bd); }
.mv-fin__subtotal--sum .mv-fin__subtotal-label { font-weight: 600; color: var(--mv-fin-sub-fg); }
.mv-fin__subtotal--sum .mv-money { font-weight: 600; color: var(--mv-fin-sub-fg); }
.mv-fin__subtotal--cost { background: var(--mv-surface-elev); }
.mv-fin__subtotal--cost .mv-fin__subtotal-label { color: var(--mv-text-2); }
.mv-fin__subtotal--net { background: var(--mv-fin-net-bg); border-top: 1px solid var(--mv-fin-net-bd); }
.mv-fin__subtotal--net .mv-fin__subtotal-label { font-size: 13px; font-weight: 700; color: var(--mv-fin-net-fg); }
.mv-fin__subtotal--net .mv-money { font-size: 14px; font-weight: 700; color: var(--mv-fin-net-fg); }

/* Ödeme durumu pill'i */
.mv-pay-pill { font-family: var(--mv-font-mono); font-size: 10.5px; font-weight: 600; padding: 2px 8px; border-radius: var(--mv-r-pill); }
.mv-pay-pill--paid   { background: var(--mv-pay-paid-bg);   color: var(--mv-pay-paid-fg); }
.mv-pay-pill--wait   { background: var(--mv-pay-wait-bg);   color: var(--mv-pay-wait-fg); }
.mv-pay-pill--unpaid { background: var(--mv-pay-unpaid-bg); color: var(--mv-pay-unpaid-fg); }

/* Yıl özeti bloğu */
.mv-year { background: var(--mv-yr-bg); border: 1px solid var(--mv-yr-bd); border-radius: var(--mv-r-lg); padding: 22px 24px; }
.mv-year__title { font-size: 16px; font-weight: 700; color: var(--mv-yr-fg); margin-bottom: 16px; }
.mv-year__row { display: flex; align-items: center; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--mv-yr-bd); }
.mv-year__label { font-size: 13px; color: var(--mv-text-2); }
.mv-year__meta { font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-text-3); margin-left: 10px; }
.mv-year__val { font-family: var(--mv-font-mono); font-size: 13.5px; font-weight: 600; color: var(--mv-text); }
.mv-year__val--neg { color: var(--mv-fin-neg); }
.mv-year__total { display: flex; align-items: center; justify-content: space-between; padding: 14px 0 2px; margin-top: 6px; }
.mv-year__total-label { font-size: 15px; font-weight: 700; color: var(--mv-text); }
.mv-year__total-val { font-family: var(--mv-font-mono); font-size: 20px; font-weight: 700; color: var(--mv-fin-net-fg); }

/* KPI özet şeridi (sayfa üstü — 4 metrik) */
.mv-stat-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; background: var(--mv-border); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); overflow: hidden; }
.mv-stat { background: var(--mv-surface); padding: 16px 20px; }
.mv-stat__label { font-family: var(--mv-font-mono); font-size: 10.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mv-text-3); }
.mv-stat__val { font-family: var(--mv-font-mono); font-size: 22px; font-weight: 700; color: var(--mv-text); margin-top: 5px; }
.mv-stat__val--pos { color: var(--mv-fin-net-fg); }
.mv-stat__val--neg { color: var(--mv-fin-neg); }
.mv-stat__sub { font-size: 11.5px; color: var(--mv-text-2); margin-top: 2px; }

/* ============================================================
   GÖREVLER — hekim-gruplu görev listesi
   ============================================================ */
:root {
  --mv-dot-done: oklch(0.55 0.13 150); --mv-dot-progress: oklch(0.55 0.13 55); --mv-dot-wait: oklch(0.62 0.015 268);
  --mv-prio-high: oklch(0.55 0.15 30); --mv-prio-mid: oklch(0.55 0.13 55); --mv-prio-low: oklch(0.55 0.02 268);
  --mv-grp-count-bg: oklch(0.95 0.03 155); --mv-grp-count-fg: oklch(0.42 0.11 150);
}
[data-theme="dark"] {
  --mv-dot-done: oklch(0.7 0.14 150); --mv-dot-progress: oklch(0.72 0.14 60); --mv-dot-wait: oklch(0.55 0.015 268);
  --mv-prio-high: oklch(0.75 0.15 30); --mv-prio-mid: oklch(0.78 0.13 60); --mv-prio-low: oklch(0.6 0.015 268);
  --mv-grp-count-bg: oklch(0.34 0.06 150); --mv-grp-count-fg: oklch(0.82 0.13 150);
}

/* Hekim grup başlığı */
.mv-task-group { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; background: var(--mv-surface-elev); border: 1px solid var(--mv-border); border-radius: var(--mv-r-md); }
.mv-task-group__name { font-size: 15px; font-weight: 600; color: var(--mv-text); }
.mv-task-group__domain { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-text-2); margin-left: 10px; }
.mv-task-group__count { font-size: 12px; font-weight: 600; color: var(--mv-grp-count-fg); background: var(--mv-grp-count-bg); padding: 3px 10px; border-radius: var(--mv-r-pill); }

/* Görev satırı */
.mv-task { background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 16px 18px; }
.mv-task__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.mv-task__titleline { display: flex; align-items: center; gap: 9px; }
.mv-task__dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--mv-dot-wait); }
.mv-task__dot--done { background: var(--mv-dot-done); } .mv-task__dot--progress { background: var(--mv-dot-progress); } .mv-task__dot--wait { background: var(--mv-dot-wait); }
.mv-task__title { font-size: 14.5px; font-weight: 600; color: var(--mv-text); }
.mv-task__subtitle { font-size: 13px; font-weight: 600; color: var(--mv-text-2); margin: 4px 0 0 17px; }
.mv-task__url { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-accent); margin: 4px 0 0 17px; }
.mv-task__desc { font-size: 12.5px; line-height: 1.55; color: var(--mv-text-2); margin: 5px 0 0 17px; }
.mv-task__actions { display: flex; align-items: center; gap: 12px; flex: none; }
.mv-task__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 12px 0 0 17px; }
.mv-task__meta-cat { font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-text-2); }
.mv-task__meta-prio { font-family: var(--mv-font-mono); font-size: 11px; font-weight: 600; }
.mv-task__meta-prio--high { color: var(--mv-prio-high); } .mv-task__meta-prio--mid { color: var(--mv-prio-mid); } .mv-task__meta-prio--low { color: var(--mv-prio-low); }
.mv-task__meta-due { font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-text-3); }
.mv-task__report { font-size: 11px; font-weight: 600; color: var(--mv-grp-count-fg); background: var(--mv-grp-count-bg); padding: 3px 10px; border-radius: var(--mv-r-sm); }

/* ============================================================
   RAPORLAR — rapor satırı + Lead Kayıtları tablosu
   ============================================================ */
:root {
  --mv-btn-link-bg: oklch(0.52 0.12 155); --mv-btn-link-hov: oklch(0.46 0.12 155);
  --mv-btn-pdf-bg:  oklch(0.32 0.015 265); --mv-btn-pdf-hov: oklch(0.26 0.015 265);
  --mv-lead-susp: oklch(0.55 0.15 28);
  --mv-suspbtn-bg: oklch(0.97 0.03 80); --mv-suspbtn-bd: oklch(0.88 0.06 75); --mv-suspbtn-fg: oklch(0.5 0.11 65); --mv-suspbtn-hov: oklch(0.95 0.05 78);
}
[data-theme="dark"] {
  --mv-btn-link-bg: oklch(0.55 0.13 155); --mv-btn-link-hov: oklch(0.6 0.13 155);
  --mv-btn-pdf-bg:  oklch(0.4 0.015 265); --mv-btn-pdf-hov: oklch(0.46 0.015 265);
  --mv-lead-susp: oklch(0.75 0.15 28);
  --mv-suspbtn-bg: oklch(0.34 0.05 80); --mv-suspbtn-bd: oklch(0.44 0.06 78); --mv-suspbtn-fg: oklch(0.85 0.12 75); --mv-suspbtn-hov: oklch(0.38 0.06 80);
}

/* Buton varyantları */
.mv-btn--link { background: var(--mv-btn-link-bg); color: #fff; }
.mv-btn--link:hover { background: var(--mv-btn-link-hov); }
.mv-btn--pdf { background: var(--mv-btn-pdf-bg); color: #fff; }
.mv-btn--pdf:hover { background: var(--mv-btn-pdf-hov); }
.mv-btn--suspect { background: var(--mv-suspbtn-bg); color: var(--mv-suspbtn-fg); border: 1px solid var(--mv-suspbtn-bd); }
.mv-btn--suspect:hover { background: var(--mv-suspbtn-hov); }
/* Dolu kırmızı (yıkıcı toplu aksiyon — Hariç Tut) */
.mv-btn--danger { background: var(--mv-neg); color: #fff; }
.mv-btn--danger:hover { filter: brightness(0.92); }

/* Rapor satırı */
.mv-report-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; border-bottom: 1px solid var(--mv-border-soft); }
.mv-report-row__month { font-size: 14px; font-weight: 600; color: var(--mv-text); }
.mv-report-row__activity { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-text-3); margin-top: 2px; }
.mv-report-row__actions { display: flex; align-items: center; gap: 10px; flex: none; }
.mv-report-row__seen { font-family: var(--mv-font-mono); font-size: 11px; }
.mv-report-row__seen--unseen { color: var(--mv-prio-mid); } .mv-report-row__seen--seen { color: var(--mv-grp-count-fg); }
/* rapor sayacı çipi (accordion başlığında) */
.mv-count-chip { font-size: 11.5px; color: var(--mv-text-2); background: var(--mv-surface-elev); padding: 2px 9px; border-radius: var(--mv-r-pill); }

/* Lead Kayıtları tablosu */
.mv-lead-toolbar { display: flex; align-items: center; gap: 10px; }
.mv-lead__head, .mv-lead__row { display: grid; gap: 10px; align-items: center; }
.mv-lead__head { padding: 8px 6px; font-family: var(--mv-font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mv-text-3); border-bottom: 1px solid var(--mv-border); }
.mv-lead__row { padding: 9px 6px; border-bottom: 1px solid var(--mv-border-soft); }
.mv-lead__row--excluded { opacity: 0.55; }
.mv-lead__cell { font-family: var(--mv-font-mono); font-size: 12px; color: var(--mv-text-2); }
.mv-lead__cell--date { color: var(--mv-text); }
.mv-lead__cell--page { color: var(--mv-accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-lead__cell--ip { font-size: 11.5px; text-align: right; }
.mv-lead__cell--ip.is-suspect { color: var(--mv-lead-susp); }
.mv-lead__status-cell { text-align: right; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.mv-lead-pill { font-family: var(--mv-font-mono); font-size: 10.5px; font-weight: 600; padding: 2px 8px; border-radius: var(--mv-r-pill); }
.mv-lead-pill--counted { background: var(--mv-pay-paid-bg); color: var(--mv-pay-paid-fg); }
.mv-lead-pill--excluded { background: var(--mv-surface-elev); color: var(--mv-text-2); }
.mv-lead__checkbox { accent-color: var(--mv-accent); width: 14px; height: 14px; }
input[type="checkbox"].mv-checkbox { accent-color: var(--mv-accent); width: 14px; height: 14px; }

/* ============================================================
   HEKİM DETAY — detay başlığı · lead-tracking · script · analiz geçmişi
   ============================================================ */
:root {
  --mv-lead-card-bg1: oklch(0.97 0.03 160); --mv-lead-card-bg2: oklch(0.98 0.02 200); --mv-lead-card-bd: oklch(0.88 0.05 160); --mv-lead-card-bar: oklch(0.55 0.13 155); --mv-lead-card-fg: oklch(0.3 0.06 160); --mv-lead-card-num: oklch(0.42 0.13 155);
  --mv-code-bg: oklch(0.2 0.015 265); --mv-code-fg: oklch(0.85 0.05 145);
}
[data-theme="dark"] {
  --mv-lead-card-bg1: oklch(0.3 0.05 160); --mv-lead-card-bg2: oklch(0.3 0.04 210); --mv-lead-card-bd: oklch(0.42 0.06 160); --mv-lead-card-bar: oklch(0.6 0.14 155); --mv-lead-card-fg: oklch(0.85 0.1 160); --mv-lead-card-num: oklch(0.78 0.14 155);
  --mv-code-bg: oklch(0.16 0.012 265); --mv-code-fg: oklch(0.82 0.12 145);
}

/* Detay başlığı */
.mv-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.mv-detail-head__title { font-size: 22px; font-weight: 700; letter-spacing: -0.01em; margin: 0 0 5px; color: var(--mv-text); }
.mv-detail-head__sub { font-size: 13px; color: var(--mv-text-2); }
.mv-detail-head__connected { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-pos); margin-top: 6px; }
.mv-detail-head__actions { display: flex; gap: 8px; flex: none; flex-wrap: wrap; justify-content: flex-end; }

/* kv satırı (detay/site sağlığı) */
.mv-kv-row { display: flex; align-items: center; padding: 8px 0; font-size: 13px; }
.mv-kv-row__key { width: 140px; color: var(--mv-text-2); font-weight: 500; }
.mv-kv-row__val { color: var(--mv-text); }
.mv-kv-row__val--mono { font-family: var(--mv-font-mono); }
.mv-kv-row__val--ok { font-family: var(--mv-font-mono); color: var(--mv-pos); }

/* Lead Tracking vurgulu kart */
.mv-lead-card { background: linear-gradient(135deg, var(--mv-lead-card-bg1), var(--mv-lead-card-bg2)); border: 1px solid var(--mv-lead-card-bd); border-left: 4px solid var(--mv-lead-card-bar); border-radius: var(--mv-r-lg); padding: 20px 24px; }
.mv-lead-card__head { display: flex; align-items: flex-start; justify-content: space-between; }
.mv-lead-card__title { font-size: 16px; font-weight: 600; margin: 0 0 2px; color: var(--mv-lead-card-fg); }
.mv-lead-card__meta { font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-lead-card-fg); opacity: 0.8; }
.mv-lead-card__num { font-family: var(--mv-font-mono); font-size: 30px; font-weight: 700; color: var(--mv-lead-card-num); text-align: right; }
.mv-lead-card__breakdown { display: flex; gap: 16px; margin-top: 14px; font-size: 12.5px; color: var(--mv-lead-card-fg); }

/* Script kutusu */
.mv-script-box { border-left: 4px solid var(--mv-accent); }
.mv-code { background: var(--mv-code-bg); border-radius: var(--mv-r-md); padding: 12px 15px; font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-code-fg); overflow-x: auto; white-space: nowrap; }

/* Analiz geçmişi satırı */
.mv-history-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--mv-border-soft); }
.mv-history-row__desc { font-size: 13.5px; color: var(--mv-text-3); }
.mv-history-row__desc--hl { color: var(--mv-text); font-weight: 600; }
.mv-history-row__meta { font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-text-3); margin-top: 3px; }
.mv-history-row__score { font-family: var(--mv-font-mono); font-size: 20px; font-weight: 600; text-align: right; }
.mv-history-row__score--good { color: var(--mv-score-ok); } .mv-history-row__score--mid { color: var(--mv-accent); } .mv-history-row__score--low { color: var(--mv-score-danger); }
.mv-history-row__max { font-family: var(--mv-font-mono); font-size: 10px; color: var(--mv-text-3); text-align: right; }

/* GA trafik kaynağı satırı */
.mv-source-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--mv-border-soft); font-size: 12.5px; }
.mv-source-row__name { font-weight: 500; color: var(--mv-text); }
.mv-source-row__stats { display: flex; gap: 16px; font-family: var(--mv-font-mono); font-size: 11.5px; }
.mv-chart-placeholder { height: 140px; background: var(--mv-surface-elev); border: 1px dashed var(--mv-border); border-radius: var(--mv-r-lg); display: flex; align-items: center; justify-content: center; font-size: 12.5px; color: var(--mv-text-3); }

/* Nav kartı (Hosting Takip landing) */
.mv-nav-card { display: block; background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); padding: 20px 22px; text-decoration: none; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.mv-nav-card:hover { border-color: var(--mv-accent); transform: translateY(-2px); box-shadow: var(--mv-shadow-card); }
.mv-nav-card__label { font-size: 13px; color: var(--mv-text-2); }
.mv-nav-card__num { font-family: var(--mv-font-mono); font-size: 30px; font-weight: 700; color: var(--mv-text); margin: 6px 0; }
.mv-nav-card__cta { font-size: 12px; color: var(--mv-accent); }
.mv-nav-card--disabled { opacity: 0.5; pointer-events: none; }
.mv-nav-card--disabled .mv-nav-card__num { color: var(--mv-text-3); }
.mv-nav-card--disabled .mv-nav-card__cta { color: var(--mv-text-3); }

/* Kullanıcılar tablosu + rol yetki matrisi + Giriş ekranı */
.mv-user-table__head, .mv-user-table__row { display: grid; grid-template-columns: 36px 1.4fr 90px 80px 120px 1fr; gap: 12px; align-items: center; }
.mv-user-table__head { padding: 8px 6px; font-family: var(--mv-font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mv-text-3); border-bottom: 1px solid var(--mv-border); }
.mv-user-table__row { padding: 11px 6px; border-bottom: 1px solid var(--mv-border-soft); }
.mv-user-table__name { font-weight: 600; color: var(--mv-text); }
.mv-role-pill { font-family: var(--mv-font-mono); font-size: 10.5px; font-weight: 600; padding: 2px 9px; border-radius: var(--mv-r-pill); background: var(--mv-accent-soft); color: var(--mv-accent-soft-fg); }
/* Rol yetki matrisi ✓/✗ */
.mv-perm-yes { color: var(--mv-pos); font-weight: 600; }
.mv-perm-no  { color: var(--mv-neg); font-weight: 600; }
/* Giriş (login) kartı */
.mv-login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--mv-app-bg); }
.mv-login-card { width: 100%; max-width: 380px; background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: var(--mv-r-lg); box-shadow: var(--mv-shadow-card); padding: 34px 32px; }
.mv-login-card__brand { text-align: center; font-size: 26px; font-weight: 700; color: var(--mv-text); }
.mv-login-card__tag { text-align: center; font-size: 13px; color: var(--mv-text-2); margin-top: 4px; margin-bottom: 24px; }

/* Analiz akışı — yükleme durumu (adımlar) + rapor boyut barı */
/* NOT: .mv-progress / .mv-progress__fill kanonik tanımı yukarıda (skor bölümünde, --ok/--warn/--danger varyantlı) — burada tekrar tanımlanmaz. */
.mv-steps { display: flex; flex-direction: column; gap: 14px; }
.mv-step { display: flex; align-items: center; gap: 11px; }
.mv-step__icon { font-size: 16px; width: 22px; text-align: center; }
.mv-step__label { font-size: 13.5px; font-weight: 500; color: var(--mv-text-3); }
.mv-step--done .mv-step__label { color: var(--mv-text); }
.mv-step--done .mv-step__check { margin-left: auto; font-family: var(--mv-font-mono); font-size: 11px; color: var(--mv-pos); }
.mv-step--active .mv-step__label { font-weight: 600; color: var(--mv-accent); }
.mv-step--active .mv-step__icon { animation: mv-pulse 1.2s ease-in-out infinite; }
.mv-step--pending .mv-step__icon { opacity: 0.5; }
@keyframes mv-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.45; } }
/* Rapor boyut barı (skor + açıklama + italik öneri) */
.mv-dim { margin-bottom: 16px; }
.mv-dim__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 5px; }
.mv-dim__name { font-size: 13.5px; font-weight: 600; color: var(--mv-text); }
.mv-dim__score { font-family: var(--mv-font-mono); font-size: 12.5px; font-weight: 600; }
.mv-dim__desc { font-size: 12.5px; color: var(--mv-text-2); line-height: 1.5; }
.mv-dim__sug { font-size: 12px; font-style: italic; color: var(--mv-accent); margin-top: 3px; }

/* Analiz — CC'nin bildirdiği 4 eksik sınıf */
/* 1) Yükleniyor butonu — spinner + soluk (disabled ile birlikte) */
.mv-btn--loading { position: relative; opacity: 0.75; cursor: default; pointer-events: none; padding-left: 38px; }
.mv-btn--loading::before {
  content: ""; position: absolute; left: 16px; top: 50%; width: 14px; height: 14px; margin-top: -7px;
  border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
  animation: mv-spin 0.7s linear infinite;
}
@keyframes mv-spin { to { transform: rotate(360deg); } }
/* 2) Skor dairesinin altındaki hekim adı */
.mv-score__name { display: block; text-align: center; font-size: 15px; font-weight: 600; color: var(--mv-text); margin-top: 6px; }
.mv-score__sub { display: block; text-align: center; font-family: var(--mv-font-mono); font-size: 11.5px; color: var(--mv-text-3); margin-top: 2px; }
/* 3) Güçlü Yönler ✓ listesi */
.mv-check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.mv-check-list li { position: relative; padding-left: 26px; font-size: 13.5px; line-height: 1.5; color: var(--mv-text); }
.mv-check-list li::before {
  content: "\2713"; position: absolute; left: 0; top: 0.5px;
  width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; color: var(--mv-pos); background: var(--mv-badge-green-bg);
}
/* 4) Kritik fırsat callout'u — amber (baz .mv-callout zaten amber; anlamsal alias) */
.mv-callout--warn { /* baz .mv-callout ile aynı amber; ayrı hook için tanımlı */ }

/* ============================================================
   CANLI ZİYARETÇİ BİLDİRİMLERİ — mv-toast (6 olay tipi)
   Yalnız görsel katman. Zaman/ses/süre mantığı JS'te KALIR.
   Süreyi görsel eşlemek için: satır-içi style="--mv-toast-dur:6s"
   ============================================================ */
:root {
  --mv-toast-acc:  var(--mv-accent-solid);
  --mv-toast-chip: oklch(0.95 0.03 265);
  --mv-toast-dur:  6s;
  /* olay tipi vurgu + chip tini (açık) */
  --mv-tt-map-acc:   oklch(0.55 0.16 250); --mv-tt-map-chip:   oklch(0.95 0.04 250);
  --mv-tt-form-acc:  oklch(0.48 0.15 278); --mv-tt-form-chip:  oklch(0.95 0.04 278);
  --mv-tt-social-acc:oklch(0.52 0.11 195); --mv-tt-social-chip:oklch(0.94 0.04 195);
  --mv-tt-phone-acc: oklch(0.52 0.13 150); --mv-tt-phone-chip: oklch(0.94 0.05 155);
  --mv-tt-wa-acc:    oklch(0.55 0.15 152); --mv-tt-wa-chip:    oklch(0.95 0.06 152);
  --mv-tt-mail-acc:  oklch(0.58 0.15 55);  --mv-tt-mail-chip:  oklch(0.95 0.05 65);
}
.mv-dark, .mv-app[data-theme="dark"] {
  --mv-tt-map-acc:   oklch(0.72 0.14 250); --mv-tt-map-chip:   oklch(0.32 0.06 250);
  --mv-tt-form-acc:  oklch(0.74 0.13 278); --mv-tt-form-chip:  oklch(0.32 0.06 278);
  --mv-tt-social-acc:oklch(0.74 0.11 195); --mv-tt-social-chip:oklch(0.32 0.05 200);
  --mv-tt-phone-acc: oklch(0.74 0.13 150); --mv-tt-phone-chip: oklch(0.32 0.06 155);
  --mv-tt-wa-acc:    oklch(0.76 0.15 152); --mv-tt-wa-chip:    oklch(0.33 0.07 152);
  --mv-tt-mail-acc:  oklch(0.78 0.14 60);  --mv-tt-mail-chip:  oklch(0.33 0.06 60);
}

/* yığın kabı — sağ üstte, üst üste */
.mv-toast-stack {
  position: fixed; top: 20px; right: 20px; z-index: 10000;
  display: flex; flex-direction: column; gap: 12px; align-items: flex-end;
  pointer-events: none;
}
.mv-toast-stack > * { pointer-events: auto; }

/* kart */
.mv-toast {
  position: relative; width: 340px; max-width: calc(100vw - 40px);
  background: var(--mv-surface); border: 1px solid var(--mv-border); border-radius: 14px;
  box-shadow: 0 1px 2px oklch(0.4 0.02 265/0.04), 0 12px 30px oklch(0.4 0.03 265/0.10);
  padding: 15px 16px 0; overflow: hidden;
  animation: mv-toast-in 0.5s cubic-bezier(0.22,1,0.36,1) both;
}
.mv-dark .mv-toast, .mv-app[data-theme="dark"] .mv-toast { box-shadow: 0 12px 34px oklch(0 0 0/0.4); }
/* koyu temada sol vurgu şeridi */
.mv-dark .mv-toast::before, .mv-app[data-theme="dark"] .mv-toast::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--mv-toast-acc);
}
.mv-toast.mv-toast--out { animation: mv-toast-out 0.35s ease forwards; }
@keyframes mv-toast-in  { from { opacity: 0; transform: translateX(28px) scale(0.97); } to { opacity: 1; transform: none; } }
@keyframes mv-toast-out { to { opacity: 0; transform: translateX(28px) scale(0.97); } }

.mv-toast__row  { display: flex; gap: 13px; align-items: flex-start; padding-bottom: 15px; }
.mv-toast__chip {
  flex: none; width: 42px; height: 42px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  background: var(--mv-toast-chip); color: var(--mv-toast-acc);
}
.mv-toast__chip svg { width: 20px; height: 20px; }
.mv-toast__body { min-width: 0; flex: 1; }
.mv-toast__head { display: flex; align-items: center; gap: 7px; }
.mv-toast__dot  { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--mv-toast-acc); animation: mv-live-pulse 1.6s ease-in-out infinite; }
.mv-toast__name { font-size: 15px; font-weight: 600; color: var(--mv-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-toast__time { margin-left: auto; flex: none; font-family: var(--mv-font-mono); font-size: 10.5px; color: var(--mv-text-3); }
.mv-toast__event{ font-size: 13px; color: var(--mv-text-2); margin-top: 3px; line-height: 1.45; }
.mv-toast__bar  { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; transform-origin: left; background: var(--mv-toast-acc); animation: mv-toast-count var(--mv-toast-dur) linear both; }
@keyframes mv-live-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.35; transform: scale(0.8); } }
@keyframes mv-toast-count { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* olay tipi modifier'ları — vurgu + chip tinini set eder */
.mv-toast--map      { --mv-toast-acc: var(--mv-tt-map-acc);    --mv-toast-chip: var(--mv-tt-map-chip); }
.mv-toast--form     { --mv-toast-acc: var(--mv-tt-form-acc);   --mv-toast-chip: var(--mv-tt-form-chip); }
.mv-toast--social   { --mv-toast-acc: var(--mv-tt-social-acc); --mv-toast-chip: var(--mv-tt-social-chip); }
.mv-toast--phone    { --mv-toast-acc: var(--mv-tt-phone-acc);  --mv-toast-chip: var(--mv-tt-phone-chip); }
.mv-toast--whatsapp { --mv-toast-acc: var(--mv-tt-wa-acc);     --mv-toast-chip: var(--mv-tt-wa-chip); }
.mv-toast--email    { --mv-toast-acc: var(--mv-tt-mail-acc);   --mv-toast-chip: var(--mv-tt-mail-chip); }
