/* ==========================================================================
   Modül ve platform görünümleri — uyum, bildirim, harcama, randevu, ab, platform
   (gorunum/uyum.js, bildirim.js, harcama.js, randevu.js, ab.js, platform.js)
   Yalnız belirtec.css değişkenleri; sabit renk yok. Sınıf önekleri ekrana özel.
   ========================================================================== */

/* ---------------- ortak (md-*) ---------------- */
.md-sekme { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.md-sekme > .arac-cubugu { margin-bottom: 0; }
.md-sekme > .bb-ozet { margin: 0; }
.md-ayar { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.md-ayar .alan[data-hedef] { border-radius: 10px; animation: md-hedef 2.4s var(--egri) forwards; }
@keyframes md-hedef {
  0%, 60% { box-shadow: 0 0 0 4px var(--surface), 0 0 0 6px color-mix(in srgb, var(--champagne) 70%, transparent); }
  100% { box-shadow: 0 0 0 4px var(--surface), 0 0 0 6px transparent; }
}
.md-tablo { padding: 4px 8px 8px; }
.md-tablo td.birincil { overflow-wrap: break-word; }   /* gövdedeki "anywhere" sütunu harf genişliğine indirmesin */
.md-tablo > .tablo-kap { overflow-x: auto; }
.md-tablo tr[data-gecikti] td { background: color-mix(in srgb, var(--danger) 5%, var(--surface)); }
.md-tablo tr[data-askida] td { background: color-mix(in srgb, var(--warning) 6%, var(--surface)); }
@container (max-width: 640px) {
  .md-tablo tr[data-gecikti] td, .md-tablo tr[data-askida] td { background: none; }
  .md-tablo tr[data-gecikti] { background: color-mix(in srgb, var(--danger) 5%, var(--surface)); }
  .md-tablo tr[data-askida] { background: color-mix(in srgb, var(--warning) 6%, var(--surface)); }
}
.md-not-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 6px !important; color: var(--text-2); }
.md-sekme .alan > .bolumlu, .kip .alan > .bolumlu { align-self: flex-start; }
/* göstergeler: satır tam dolsun (yarım satırda --border renkli boş hücre kalmasın) */
.md-kpi-4 .kpi-serit { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.md-kpi-5 .kpi-serit { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@container icerik (max-width: 900px) {
  .md-kpi-4 .kpi-serit, .md-kpi-5 .kpi-serit { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md-kpi-5 .kpi-serit > :last-child { grid-column: 1 / -1; }
}
@container icerik (max-width: 440px) {
  .md-kpi-4 .kpi-serit, .md-kpi-5 .kpi-serit { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Uyum Merkezi (uy-*)
   ========================================================================== */
.uy-duzen { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr); align-items: start; gap: 20px; }
.uy-sol, .uy-sag { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@container icerik (max-width: 980px) { .uy-duzen { grid-template-columns: minmax(0, 1fr); } }

.uy-sayaclar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.uy-sayac {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px 0 10px;
  border-radius: var(--r-tam);
  background: var(--surface);
  box-shadow: inset 0 0 0 1px var(--border);
  font-size: 13px;
  color: var(--text-2);
}
.uy-sayac strong { color: var(--text); font-size: 14px; font-weight: 680; }
.uy-sayac[data-durum="tamam"] .ikon { color: var(--success); }
.uy-sayac[data-durum="uyari"] .ikon { color: var(--warning); }
.uy-sayac[data-durum="kapali"] .ikon { color: var(--text-3); }
.uy-sayac[data-durum="hata"] .ikon { color: var(--danger); }
.uy-sayac[data-sifir] { filter: grayscale(1); }   /* soluk durum: saydamlık yerine gri ton — metin kontrastı AA altına düşmesin (durum ayrıca metin/anahtarla verilir) */
.uy-sayac[data-sifir] strong { color: var(--text-2); }

.uy-maddeler { display: flex; flex-direction: column; gap: 8px; }
.uy-madde {
  --madde: var(--border-guclu);
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: start;
  gap: 4px 14px;
  padding: 14px 16px 14px 18px;
  border-radius: var(--r-2);
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--golge-1);
  overflow: hidden;
}
.uy-madde::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--madde); }
.uy-madde[data-durum="tamam"] { --madde: var(--success); }
.uy-madde[data-durum="uyari"] { --madde: var(--warning); }
.uy-madde[data-durum="hata"] { --madde: var(--danger); border-color: color-mix(in srgb, var(--danger) 30%, var(--border)); }
.uy-madde-ikon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: color-mix(in srgb, var(--madde) 12%, var(--surface)); color: var(--madde); }
.uy-madde[data-durum="kapali"] .uy-madde-ikon { background: var(--surface-2); color: var(--text-3); }
.uy-madde-govde { min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 2px; }
.uy-madde-ust { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.uy-madde-baslik { font-size: 15px; font-weight: 620; line-height: 1.3; }
.uy-madde-aciklama { margin: 0; font-size: 13.5px; color: var(--text-2); text-wrap: pretty; }
.uy-madde-eylem { align-self: center; }
@container icerik (max-width: 620px) {
  .uy-madde { grid-template-columns: 32px minmax(0, 1fr); }
  .uy-madde-ikon { width: 32px; height: 32px; }
  .uy-madde-eylem { grid-column: 2; align-self: start; margin-left: -10px; }
}

.uy-not { display: flex; align-items: flex-start; gap: 6px; margin: 12px 0 8px; font-size: 12.5px; color: var(--text-3); }
.uy-not .ikon { margin-top: 2px; flex: none; }
.uy-imha { display: flex; flex-direction: column; }
.uy-imha-oge { padding: 10px 0; border-bottom: 1px solid var(--border); }
.uy-imha-oge:first-child { padding-top: 0; }
.uy-imha-oge:last-child { border-bottom: 0; padding-bottom: 0; }
.uy-imha-ust { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 13.5px; }
.uy-imha-ust time { font-size: 12px; color: var(--text-3); white-space: nowrap; }
.uy-imha-kural { margin: 2px 0 0; font-size: 12.5px; color: var(--text-2); overflow-wrap: anywhere; }
.uy-imha-yapan { margin: 2px 0 0; font-size: 12px; color: var(--text-3); }

/* kişi verisi */
.uy-kisi { display: flex; flex-direction: column; gap: 16px; max-width: 920px; }
.uy-arama-kart { padding: 20px 22px; gap: 18px; }
.uy-arama-bas { display: flex; align-items: flex-start; gap: 14px; }
.uy-arama-bas p { margin: 4px 0 0; max-width: 70ch; }
.uy-arama-ikon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--champagne-soft); color: var(--champagne-text); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--champagne) 35%, transparent); }
.uy-arama-baslik { font-family: var(--font-serif); font-size: 24px; font-weight: 650; line-height: 1.15; }
.uy-arama { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; }
.uy-arama-eylem { padding-top: 25px; }
@container icerik (max-width: 560px) {
  .uy-arama { grid-template-columns: minmax(0, 1fr); }
  .uy-arama-eylem { padding-top: 0; }
  .uy-arama-eylem .dugme { width: 100%; }
}
.uy-sonuc:empty { display: none; }
.uy-bulunan { overflow: hidden; }
.uy-bulunan-bas { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 4px; }
.uy-bulunan-ozet { margin: 4px 0 0; font-size: 14px; color: var(--text-2); }
.uy-bulunan-ozet strong { color: var(--text); font-weight: 680; }
.uy-bulunan-liste { display: flex; flex-direction: column; padding: 8px 20px; }
.uy-bulunan-oge { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.uy-bulunan-oge:last-child { border-bottom: 0; }
.uy-bulunan-metin { flex: 1 1 180px; min-width: 0; display: flex; flex-direction: column; line-height: 1.35; }
.uy-bulunan-metin strong { font-size: 14px; font-weight: 600; }
.uy-bulunan-metin small { font-size: 12px; color: var(--text-3); }
.uy-bulunan-baglanti { display: flex; gap: 2px; }
.uy-bulunan-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--border); background: color-mix(in srgb, var(--surface-2) 45%, var(--surface)); }

/* başvurular */
.uy-bv { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.uy-bv-ikon { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 9px; background: var(--surface-2); color: var(--text-2); }
.uy-bv-metin { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.uy-bv-metin strong { font-weight: 600; }
.uy-bv-metin small { font-size: 12px; color: var(--text-3); letter-spacing: .02em; }

/* ==========================================================================
   Bildirimler (bl-*)
   ========================================================================== */
.bl-ust { display: flex; flex-direction: column; gap: 10px; }
.bl-ust:empty { display: none; }
.bl-ust .uyari-kutu .dugme { margin-left: auto; align-self: center; }
.bl-kanallar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@container icerik (max-width: 860px) { .bl-kanallar { grid-template-columns: minmax(0, 1fr); } }
.bl-kanal { position: relative; gap: 14px; padding: 18px 20px; overflow: hidden; }
.bl-kanal[data-ayarli] { border-color: color-mix(in srgb, var(--accent) 30%, var(--border)); }
.bl-kanal[data-ayarli]::before { content: ""; position: absolute; left: 20px; right: 20px; top: 0; height: 2px; border-radius: 0 0 2px 2px; background: var(--accent); }
.bl-kanal-bas { display: flex; align-items: center; gap: 12px; }
.bl-kanal-ust { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.bl-kanal-ikon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 11px; background: var(--surface-2); color: var(--text-2); }
.bl-kanal[data-ayarli] .bl-kanal-ikon { background: var(--accent-soft); color: var(--accent); }
.bl-kanal-ad { font-size: 16px; font-weight: 650; line-height: 1.25; }
.bl-kanal-aciklama { margin: -4px 0 0; font-size: 13px; color: var(--text-2); }
.bl-kanal-tanim { grid-template-columns: minmax(92px, max-content) minmax(0, 1fr); font-size: 13px; }
.bl-kanal-tanim code { font-size: 12px; color: var(--text); overflow-wrap: anywhere; }
.bl-alicilar { display: inline-flex; flex-wrap: wrap; gap: 4px 8px; }
.bl-kayitli { display: inline-flex; align-items: center; gap: 5px; color: var(--success); font-weight: 560; }
.bl-kanal-eksik { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 12.5px; color: var(--text-2); }
.bl-kanal-eksik .ikon { margin-top: 2px; flex: none; color: var(--info); }
.bl-kanal-son { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 0; font-size: 12.5px; color: var(--text-3); }
.bl-kanal-sonuc:empty { display: none; }
.bl-sonuc { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 10px; font-size: 13px; background: var(--surface-2); color: var(--text); overflow-wrap: anywhere; }
.bl-sonuc .ikon { flex: none; margin-top: 1px; }
.bl-sonuc .donen { flex: none; width: 14px; height: 14px; margin-top: 2px; }
.bl-sonuc[data-ton="basari"] { background: var(--success-soft); }
.bl-sonuc[data-ton="basari"] .ikon { color: var(--success); }
.bl-sonuc[data-ton="tehlike"] { background: var(--danger-soft); }
.bl-sonuc[data-ton="tehlike"] .ikon { color: var(--danger); }
.bl-kanal-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 4px; }
.bl-ipucu { font-size: 12px; color: var(--text-3); }
.bl-olaylar { display: flex; flex-direction: column; }
.bl-olay { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 13.5px; }
.bl-olay:last-child { border-bottom: 0; }
.bl-olay-ikon { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 9px; background: var(--surface-2); color: var(--text-3); }
.bl-olay[data-acik] .bl-olay-ikon { color: var(--accent); background: var(--accent-soft); }
.bl-gizlilik { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--surface-2); font-size: 13px; color: var(--text-2); }
.bl-gizlilik .ikon { flex: none; color: var(--text-3); }

.bl-basarisiz { overflow: hidden; border-color: color-mix(in srgb, var(--danger) 30%, var(--border)); }
.bl-basarisiz-bas { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px; padding: 16px 20px; background: color-mix(in srgb, var(--danger) 5%, var(--surface)); border-bottom: 1px solid var(--border); }
.bl-basarisiz-bas p { margin: 2px 0 0; font-size: 13px; }
.bl-basarisiz-ikon { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: var(--danger-soft); color: var(--danger); }
.bl-basarisiz-baslik { font-size: 15px; font-weight: 650; }
.bl-basarisiz-liste { display: flex; flex-direction: column; padding: 4px 20px; }
.bl-basarisiz-oge { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.bl-basarisiz-oge:last-child { border-bottom: 0; }
.bl-basarisiz-metin { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.bl-basarisiz-metin p { margin: 0; }
.bl-basarisiz-ad { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 13.5px; }
.bl-basarisiz-meta { font-size: 12px; color: var(--text-3); }
.bl-hata { font-size: 12.5px; color: var(--danger); overflow-wrap: anywhere; }
.bl-baglanti { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; }
.bl-olay-hucre, .bl-kanal-hucre { display: inline-flex; align-items: center; gap: 7px; }
.bl-olay-hucre .ikon, .bl-kanal-hucre .ikon { color: var(--text-3); flex: none; }

/* ==========================================================================
   Harcama (hr-*)
   ========================================================================== */
.hr-izgara { display: grid; gap: 20px; min-width: 0; }
.hr-izgara > div:empty { display: none; }
.hr-ikili { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 20px; }
.hr-ikili > * { min-width: 0; }
@container icerik (max-width: 900px) { .hr-ikili { grid-template-columns: minmax(0, 1fr); } }
.hr-metre { display: flex; flex-direction: column; gap: 6px; width: 100%; margin-top: 6px; }
.hr-metre-iz { position: relative; display: block; }
.hr-metre-iz .cubuk { display: block; height: 8px; }
.hr-esik { position: absolute; top: -3px; width: 2px; height: 14px; margin-left: -1px; border-radius: 1px; background: var(--text-2); box-shadow: 0 0 0 1.5px var(--surface); }
.hr-metre-alt { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--text-3); }
.hr-dipnot { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 12.5px; color: var(--text-3); }
.hr-dipnot .ikon { flex: none; margin-top: 2px; }
.hr-kaynak { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.hr-model { font-size: 11.5px; color: var(--text-3); }
.hr-pay { width: 26%; }
.hr-pay-hucre { display: grid; grid-template-columns: minmax(60px, 1fr) 44px; align-items: center; gap: 10px; text-align: right; }

/* ==========================================================================
   Randevu takvimi (rv-*)
   ========================================================================== */
.rv-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.rv-gezinme { display: inline-flex; align-items: center; gap: 6px; }
.rv-hafta-bilgi { display: flex; flex-direction: column; min-width: 0; }
.rv-hafta-ad { font-family: var(--font-serif); font-size: 26px; font-weight: 650; line-height: 1.15; }
.rv-ozet { margin: 2px 0 0; font-size: 13px; color: var(--text-2); }
.rv-ozet strong { color: var(--text); font-weight: 680; }
.rv-govde { min-width: 0; }
.rv-hafta { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; transition: opacity var(--t-orta); }
.rv-hafta[data-yukleniyor] { opacity: .55; pointer-events: none; }
.rv-gun {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  min-height: 188px;
  padding: 10px;
  border-radius: var(--r-2);
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--golge-1);
}
.rv-gun[data-gecmis] { background: color-mix(in srgb, var(--surface-2) 55%, var(--surface)); }
.rv-gun[data-bugun] { border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); box-shadow: inset 0 2px 0 var(--accent), var(--golge-1); }
.rv-gun-bas { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-height: 28px; }
.rv-gun-baslik { display: flex; align-items: baseline; gap: 6px; margin-right: auto; }
.rv-gun-ad { font-size: 11.5px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.rv-gun-no { font-size: 20px; font-weight: 650; line-height: 1; color: var(--text); }
.rv-gun[data-gecmis] .rv-gun-no { color: var(--text-3); }
.rv-gun[data-bugun] .rv-gun-no, .rv-gun[data-bugun] .rv-gun-ad { color: var(--accent); }
.rv-talepler { display: flex; flex-direction: column; gap: 6px; }
.rv-talep {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 9px;
  border-radius: 8px;
  background: var(--accent-ince);
  box-shadow: inset 2px 0 0 var(--accent);
  color: var(--text);
  text-decoration: none;
  transition: background-color var(--t-hizli);
}
.rv-talep:hover { background: var(--accent-soft); color: var(--text); }
.rv-talep:focus-visible { outline-offset: 1px; }
.rv-saat { font-family: var(--font-mono); font-size: 12px; font-weight: 650; color: var(--accent); font-variant-numeric: tabular-nums; }
.rv-talep-metin { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.rv-talep-metin strong { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-talep-metin small { font-size: 12px; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-talep .asama-rozet { align-self: flex-start; height: 20px; padding: 0 6px; font-size: 11.5px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.rv-bos { margin: 0; font-size: 12.5px; color: var(--text-3); }
.rv-sunulan { margin-top: auto; font-size: 12px; color: var(--text-3); }
.rv-sunulan summary { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; min-height: 24px; border-radius: 5px; list-style: none; }
.rv-sunulan summary::-webkit-details-marker { display: none; }
.rv-sunulan summary:hover { color: var(--accent); }
.rv-sunulan-sayi { margin-left: auto; font-variant-numeric: tabular-nums; }
.rv-saatler { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.rv-saatler li { padding: 2px 6px; border-radius: 6px; background: var(--surface-2); font: 500 11.5px/1.5 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-2); }
.rv-saatler li[data-talep] { background: var(--accent-soft); color: var(--accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent); }
.rv-sunulan-yok { display: flex; align-items: center; gap: 5px; margin: auto 0 0; font-size: 12px; color: var(--text-3); }
.rv-bos-not { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; font-size: 13px; color: var(--text-3); }
.rv-bos-not .ikon { flex: none; margin-top: 2px; }
@container icerik (max-width: 900px) {
  .rv-hafta { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .rv-gun { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: start; gap: 6px 12px; min-height: 0; padding: 12px; }
  .rv-gun-bas { grid-row: 1 / span 2; flex-direction: column; align-items: flex-start; gap: 6px; }
  .rv-gun-baslik { flex-direction: column; gap: 2px; margin-right: 0; }
  .rv-gun-no { font-size: 22px; }
  .rv-talepler, .rv-bos, .rv-sunulan, .rv-sunulan-yok { grid-column: 2; }
  .rv-bos { align-self: center; }
  .rv-sunulan, .rv-sunulan-yok { margin-top: 0; }
}

/* ==========================================================================
   A/B testi (ab-*)
   ========================================================================== */
.ab-deney { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.ab-deney-sayi { font-size: 13px; color: var(--text-2); }
.ab-karar { --karar: var(--text-2); --karar-bg: var(--surface-2); flex-direction: row; align-items: flex-start; gap: 16px; padding: 20px 22px; }
.ab-karar[data-ton="basari"] { --karar: var(--success); --karar-bg: var(--success-soft); border-color: color-mix(in srgb, var(--success) 35%, var(--border)); }
.ab-karar[data-ton="uyari"] { --karar: var(--warning); --karar-bg: var(--warning-soft); border-color: color-mix(in srgb, var(--warning) 35%, var(--border)); }
.ab-karar[data-ton="bilgi"] { --karar: var(--info); --karar-bg: var(--info-soft); }
.ab-karar-ikon { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 13px; background: var(--karar-bg); color: var(--karar); }
.ab-karar-metin { min-width: 0; }
.ab-karar-metin .kucuk-baslik { margin: 0 0 4px; }
.ab-karar-baslik { font-family: var(--font-serif); font-size: 26px; font-weight: 650; line-height: 1.15; }
.ab-karar-aciklama { margin: 8px 0 0; font-size: 14.5px; color: var(--text-2); max-width: 78ch; text-wrap: pretty; }
.ab-kol { display: inline-flex; align-items: center; gap: 10px; min-width: 150px; }
.ab-kol-harf { display: grid; place-items: center; flex: none; width: 26px; height: 26px; border-radius: 7px; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 700; }
.ab-tablo tr[data-kontrol] .ab-kol-harf { background: var(--surface-3); color: var(--text-2); }
.ab-oran { width: 20%; }
.ab-oran-hucre { display: grid; grid-template-columns: minmax(48px, 1fr) 48px; align-items: center; gap: 8px; text-align: right; }
.ab-tablo tr[data-kontrol] .cubuk-dolu { background: var(--text-3); }
.ab-fark { display: inline-flex; align-items: center; gap: 5px; font-weight: 620; color: var(--text-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ab-fark span { font-size: 9px; }
.ab-fark[data-anlamli][data-yon="artis"] { color: var(--success); }
.ab-fark[data-anlamli][data-yon="azalis"] { color: var(--danger); }
.ab-nasil { padding: 12px 16px; border-radius: var(--r-2); background: var(--surface); box-shadow: inset 0 0 0 1px var(--border); }
.ab-nasil summary { display: inline-flex; align-items: center; gap: 8px; min-height: 24px; font-size: 13.5px; font-weight: 560; color: var(--text-2); border-radius: 5px; }
.ab-nasil summary:hover { color: var(--accent); }
.ab-nasil-liste { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; font-size: 13.5px; color: var(--text-2); }
.ab-nasil-liste li { position: relative; padding-left: 16px; }
.ab-nasil-liste li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 5px; height: 5px; transform: rotate(45deg); background: var(--champagne); }
.ab-nasil-liste strong { color: var(--text); }
@container icerik (max-width: 560px) {
  .ab-karar { flex-direction: column; gap: 12px; }
  .ab-karar-baslik { font-size: 23px; }
}

/* ==========================================================================
   Platform (pf-*)
   ========================================================================== */
.pf-ikili { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); align-items: start; gap: 20px; }
.pf-ikili > * { min-width: 0; }
@container icerik (max-width: 900px) { .pf-ikili { grid-template-columns: minmax(0, 1fr); } }
/* Adres ve marka kipi (kurum panel adresi + giriş logosu) */
.pf-marka { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pf-marka-dene { margin: -8px 0 0; color: var(--text-3); font-size: 13px; overflow-wrap: anywhere; }
.pf-marka-dene:empty { display: none; }
.pf-logo { display: flex; flex-direction: column; gap: 10px; }
.pf-logo-onizleme { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 8px 12px; border: 1px dashed var(--border); border-radius: var(--r-2); background: #FFFFFF; }
.pf-logo-onizleme img { display: block; height: 48px; width: auto; max-width: 100%; min-width: 0; object-fit: contain; }
/* ana ekran simgesi önizlemesi (telefon simgesi gibi yuvarlatılmış kare) */
.pf-logo-onizleme img.pf-simge { flex: none; width: 48px; border-radius: 12px; box-shadow: 0 0 0 1px #DADDE3, 0 2px 6px rgb(0 0 0 / .12); }
.pf-logo-onizleme .metin-3 { color: #5B6170; font-size: 13px; }
.pf-saglik { display: flex; flex-direction: column; }
.pf-saglik-oge { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: start; gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.pf-saglik-oge:first-child { padding-top: 2px; }
.pf-saglik-oge:last-child { border-bottom: 0; padding-bottom: 0; }
.pf-saglik-ikon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--surface-2); color: var(--text-2); }
.pf-saglik-metin { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pf-saglik-ad { font-size: 14px; font-weight: 600; }
.pf-saglik-deger { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 13px; color: var(--text-2); }
.pf-saglik-not { margin: 2px 0 0; font-size: 12.5px; color: var(--text-3); text-wrap: pretty; }
.pf-saglik-oge > .rozet { align-self: center; }
.pf-anahtarlar { display: inline-flex; flex-wrap: wrap; gap: 6px; min-width: 0; max-width: 100%; }
.pf-saglik-deger { max-width: 100%; }
.pf-saglik-deger > *, .pf-anahtarlar > * { max-width: 100%; overflow-wrap: anywhere; }
@container icerik (max-width: 520px) {
  .pf-saglik-oge { grid-template-columns: 34px minmax(0, 1fr); }
  .pf-saglik-oge > .rozet { grid-column: 2; justify-self: start; }
}
.pf-site { display: inline-flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.pf-site-ad { font-weight: 600; }
.pf-site small { font-size: 12px; color: var(--text-3); }
.pf-site code { font-size: 11.5px; color: var(--text-2); }
.pf-alan { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.pf-alan code { font-size: 12px; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
.pf-alan small { font-size: 11.5px; color: var(--text-3); }
.pf-buay { display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1.35; }
.pf-buay small { font-size: 11.5px; color: var(--text-3); }
@container (max-width: 640px) {
  .pf-buay { align-items: flex-start; }
  .md-tablo td.pf-islem { position: absolute; top: 10px; right: 8px; }
}
.pf-alan-liste { display: flex; flex-direction: column; gap: 4px; }
.pf-alan-liste code { font-size: 12.5px; overflow-wrap: anywhere; }

.pf-yeni { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(250px, 1fr); align-items: start; gap: 20px; }
@container icerik (max-width: 900px) { .pf-yeni { grid-template-columns: minmax(0, 1fr); } }
.pf-form { gap: 18px; padding: 22px 24px; }
.pf-form-baslik { font-family: var(--font-serif); font-size: 24px; font-weight: 650; line-height: 1.15; }
.pf-form-alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.pf-adimlar { display: flex; flex-direction: column; gap: 12px; counter-reset: pf-adim; font-size: 13.5px; color: var(--text-2); }
.pf-adimlar li { position: relative; padding-left: 34px; counter-increment: pf-adim; }
.pf-adimlar li::before { content: counter(pf-adim); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--champagne-soft); color: var(--champagne-text); font-size: 12px; font-weight: 700; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--champagne) 35%, transparent); }
.pf-adimlar strong { color: var(--text); }
.pf-sonuc { gap: 20px; padding: 24px; max-width: 880px; }
.pf-sonuc-bas { display: flex; align-items: flex-start; gap: 14px; }
.pf-sonuc-bas p { margin: 4px 0 0; }
.pf-sonuc-ikon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 14px; background: var(--success-soft); color: var(--success); }
.pf-sonuc-baslik { font-family: var(--font-serif); font-size: 30px; font-weight: 650; line-height: 1.1; }
.pf-sonuc-baslik:focus-visible { outline: none; }
.pf-sonuc-alanlar { display: flex; flex-direction: column; gap: 16px; }
.pf-sonuc-alt { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding-top: 16px; border-top: 1px solid var(--border); }

.pf-gunluk-bilgi { font-size: 12.5px; white-space: nowrap; }
.pf-gunluk { overflow: hidden; transition: opacity var(--t-orta); }
.pf-gunluk[data-yukleniyor] { opacity: .55; }
.pf-gunluk-liste { max-height: min(70dvh, 720px); overflow: auto; padding: 4px 0; overscroll-behavior: contain; }
.pf-gunluk-liste:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.pf-satir { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 10px; padding: 6px 16px; border-bottom: 1px solid var(--border); }
.pf-satir:last-child { border-bottom: 0; }
.pf-satir-seviye { display: grid; place-items: center; height: 18px; color: var(--text-3); }
.pf-satir[data-seviye="hata"] { background: color-mix(in srgb, var(--danger) 5%, var(--surface)); }
.pf-satir[data-seviye="hata"] .pf-satir-seviye { color: var(--danger); }
.pf-satir[data-seviye="uyari"] .pf-satir-seviye { color: var(--warning); }
.pf-satir-metin { font-size: 12px; line-height: 1.55; color: var(--text); white-space: pre-wrap; overflow-wrap: anywhere; }

/* ---------------- SSS ve llms.txt (sss-) ---------------- */
.sss-sekme { display: flex; flex-direction: column; gap: 14px; }
.sss-durum { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.sss-iki { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 14px; align-items: start; }
.sss-secili { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sss-secili-oge { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: var(--r-2); background: var(--surface-2); }
.sss-no { flex: none; width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: var(--r-tam); background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 600; }
.sss-soru { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.sss-eylem { display: inline-flex; gap: 2px; flex: none; }
.sss-havuz { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; max-height: 560px; overflow: auto; }
.sss-havuz small { overflow-wrap: anywhere; }
.sss-onizleme { display: flex; flex-direction: column; gap: 16px; }
.sss-onizleme h3 { margin: 0 0 6px; font-size: 16px; }
.sss-onizleme details { border-bottom: 1px solid var(--border); padding: 8px 0; }
.sss-onizleme summary { cursor: pointer; font-weight: 500; }
.sss-onizleme p { margin: 8px 0 0; color: var(--text-2); overflow-wrap: anywhere; }

/* ---------------- Ürün kataloğu (ktl-) ---------------- */
.ktl-tablo { padding: 4px 8px 8px; }
.ktl-urun { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.ktl-gorsel { flex: none; width: 40px; height: 40px; border-radius: var(--r-1); object-fit: cover; background: var(--surface-2); }
.ktl-gorsel.bos { display: inline-grid; place-items: center; color: var(--text-3); }
.ktl-urun-metin { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.ktl-bag { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--accent); }
.ktl-adres { overflow-wrap: anywhere; }
.tablo tr[data-pasif] .ktl-urun-metin strong { color: var(--text-3); }

/* ---------------- Google E-Tablolar (etb-) ---------------- */
.etb-adres { overflow-wrap: anywhere; }
.etb-ayar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: var(--r-2); background: var(--surface-2); }
.etb-ayar-metin { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.etb-adimlar { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; color: var(--text-2); }
.etb-adimlar strong { color: var(--text); font-weight: 600; }
.etb-sonuc { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; overflow-wrap: anywhere; }

/* ---------------- Çok dil / Çeviriler (dl-) ---------------- */
.dl-diller { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 12px; }
.dl-sayilar { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.dl-alt { align-items: center; gap: 8px 14px; }
.dl-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dl-oge { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 10px 16px; padding: 14px; border: 1px solid var(--border); border-radius: var(--r-3); background: var(--surface); }
.dl-kaynak { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dl-kaynak p { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.dl-ceviri { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.dl-ceviri .satir { align-items: center; gap: 8px; }

/* ---------------- Dış API (da-) ---------------- */
.da-ornek-bas { margin: 0 0 6px; }
.da-ad { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.da-ad code { overflow-wrap: anywhere; }
.da-rozetler { display: flex; flex-wrap: wrap; gap: 4px; }
.da-url { font-size: 12px; overflow-wrap: anywhere; }
.da-durum { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.da-durum small { max-width: 32ch; overflow-wrap: anywhere; }
.da-eylem { gap: 4px; }
.da-kume { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.da-yollar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 16px 24px; }
.da-yollar h3 { margin: 0 0 8px; }
.da-adimlar { margin: 0; padding-inline-start: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; color: var(--text-2); }
.da-adimlar code { overflow-wrap: anywhere; }

/* ---------------- Hazır cevaplar (hc-) ---------------- */
.hc-grup { display: flex; flex-direction: column; gap: 8px; }
.hc-grup h2 { margin: 4px 0 0; }
.hc-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.hc-oge { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--r-3); background: var(--surface); }
.hc-bas { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.hc-kisayol { font-size: 12px; padding: 1px 6px; border-radius: 6px; background: var(--surface-2); }
.hc-metin { margin: 0; color: var(--text-2); white-space: pre-wrap; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hc-degiskenler { display: flex; flex-wrap: wrap; gap: 4px; }

/* kalite denetçisi (#/kalite) */
.kl-ozet { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--r-3); background: var(--surface); }
.kl-ozet-oge { display: flex; flex-direction: column; gap: 2px; min-width: 120px; }
.kl-ozet-oge strong { font-size: 20px; color: var(--text); }
.kl-puan { display: inline-flex; align-items: center; gap: 8px; }
.kl-ozet-not { flex-basis: 100%; margin: 0; }
.kl-arac { flex-wrap: wrap; gap: 10px 16px; }
.kl-turler { display: flex; flex-wrap: wrap; gap: 6px; }
.kl-turler-not { align-self: center; margin-right: 2px; }
.kl-tur { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text-2); font: inherit; font-size: 13px; cursor: pointer; }
.kl-tur[aria-pressed="true"] { border-color: var(--accent); color: var(--text); box-shadow: inset 0 0 0 1px var(--accent); }
.kl-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.kl-oge { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--r-3); background: var(--surface); min-width: 0; }
.kl-oge[data-puan="1"], .kl-oge[data-puan="2"] { border-left: 3px solid var(--danger); }
.kl-oge[data-puan="3"] { border-left: 3px solid var(--warning, var(--accent)); }
.kl-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
.kl-konu { font-weight: 600; color: var(--text); text-decoration: none; overflow-wrap: anywhere; }
.kl-konu:hover { text-decoration: underline; }
.kl-zaman { margin-left: auto; font-size: 12px; color: var(--text-3); }
.kl-ozet-metin { margin: 0; color: var(--text-2); overflow-wrap: anywhere; }
.kl-sorunlar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.kl-sorunlar li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; overflow-wrap: anywhere; }
.kl-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.kl-eylem { margin-left: auto; display: inline-flex; flex-wrap: wrap; gap: 6px; }

/* ---------------- Stok (stk-; gorunum/stok.js, stok-kart.js) ---------------- */
.stk-lot { font-family: var(--font-mono); font-size: 12.5px; overflow-wrap: anywhere; }
.stk-miktar { white-space: nowrap; font-variant-numeric: tabular-nums; }
.stk-miktar[data-yon="giren"] { color: var(--iyi); }
.stk-kalem { display: inline-flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.stk-alt { display: block; font-size: 12px; overflow-wrap: anywhere; }
.stk-birim { font-size: 12.5px; }
.stk-miktar-girdi { max-width: 14ch; }
.stk-bilgi:empty { display: none; }
.stk-suzgec > .secim { flex: 1 1 160px; min-width: 0; max-width: 260px; }
.stk-tarih { flex: 1 1 280px; flex-wrap: wrap; min-width: 0; }
.stk-tarih > .girdi { flex: 1 1 120px; min-width: 0; }
.stk-sonuc { min-width: 0; }
.tablo tr[data-pasif] .stk-kalem { color: var(--text-3); }
.tablo tr[data-ters] .stk-miktar, .tablo tr[data-ters] .stk-kalem { text-decoration: line-through; text-decoration-color: var(--text-3); }
.stk-bugun-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.stk-bugun-liste li { padding-left: 10px; border-left: 3px solid var(--border); overflow-wrap: anywhere; }
.stk-bugun-liste li[data-ton="uyari"] { border-left-color: var(--uyari); }
.stk-bugun-liste li[data-ton="tehlike"] { border-left-color: var(--danger); }
.stk-gecmis { margin-top: 4px; }
/* ---------------- Mobil (≤759 px): ad ve etiket kesilmez, harf kuyruğu kırpılmaz, dokunma hedefi ≥ 40 px ---------------- */
@media (max-width: 759px) {
  /* randevu talepleri (haftalık liste): hasta adı ve görüşme türü "…" ile kesilmez */
  .rv-talep-metin strong, .rv-talep-metin small { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; line-height: 1.35; }
  .rv-talep .asama-rozet { height: auto; min-height: 20px; padding-block: 2px; overflow: visible; text-overflow: clip; white-space: normal; line-height: 1.25; }
  .rv-sunulan summary { min-height: 40px; }
  /* platform: alan adı (code) ve günlük bilgisi */
  .pf-alan code { max-width: none; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .pf-gunluk-bilgi { white-space: normal; }
  /* hazır cevaplar: metin 3 satırda "…" ile kesilmesin */
  .hc-metin { display: block; -webkit-line-clamp: none; line-clamp: none; overflow: visible; line-height: 1.45; }
  /* kalite denetçisi, SSS, A/B: dokunma hedefleri */
  .kl-tur { min-height: 40px; }
  .sss-eylem .dugme { min-width: 40px; min-height: 40px; }
  .ab-nasil summary { min-height: 40px; }
  .uy-madde-baslik, .bl-kanal-ad, .mgz-ad { line-height: 1.35; }
}
