/* Fizik tedavi (fz-; gorunum/fizik.js, fizik-kart.js, fizik-ortak.js, fizik-plan.js, fizik-grafik.js). Renkler yalnız belirteçlerden (Gündüz).
   Dar ekran (375 px): her ızgara min(100%, …) ile tek sütuna iner, metin kırılır; yatay taşma yok. Plan önizlemesi randevu kipinin rv-seri-* sınıflarıdır. */

/* ---------------- hasta kartı ---------------- */
.fz-dosya { min-width: 0; container-type: inline-size; }
.fz-protokol .kart-alt { overflow-wrap: anywhere; }
.fz-ilerleme { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; }
.fz-ilerleme-sayi { white-space: nowrap; color: var(--metin2); font-size: 13px; }
.fz-ilerleme-sayi strong { font-family: var(--f-sayi); font-size: 1.25rem; color: var(--metin); }
.fz-ilerleme .cubuk { height: 8px; }
.fz-eylemler { gap: 6px; }

.fz-seanslar { list-style: none; margin: 0; padding: 0 0 0 14px; display: flex; flex-direction: column; gap: 10px; border-left: 2px solid var(--cizgi); }
.fz-seans { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey); }
.fz-seans::before { content: ''; position: absolute; left: -21px; top: 15px; width: 10px; height: 10px; border-radius: var(--r-tam); background: var(--vurgu); border: 2px solid var(--yuzey); }
.fz-seans[data-gecersiz] { background: var(--yuzey2); }
.fz-seans[data-gecersiz]::before { background: var(--cizgi2); }
.fz-seans[data-gecersiz] .fz-seans-zaman { text-decoration: line-through; text-decoration-color: var(--metin3); }
.fz-seans p { margin: 0; }
.fz-seans-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
.fz-seans-sira { font-family: var(--f-sayi); font-size: 1rem; min-width: 3.2em; }
.fz-seans-zaman { overflow-wrap: anywhere; }
.fz-rozetler { display: inline-flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.fz-agri { font-size: 13.5px; }
.fz-agri strong { font-family: var(--f-sayi); }
.fz-cipler { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.fz-cip { display: inline-block; max-width: 100%; padding: 2px 9px; border-radius: var(--r-tam); background: var(--yuzey3); color: var(--metin2); font-size: 12.5px; overflow-wrap: anywhere; }
.fz-olcumler { font-size: 13px; color: var(--metin2); overflow-wrap: anywhere; }
.fz-not { white-space: pre-line; font-size: 13px; overflow-wrap: anywhere; }
.fz-seans-alt { font-size: 12px; overflow-wrap: anywhere; }

.fz-plan-liste, .fz-gecmis, .fz-eski-program, .fz-kayit-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13px; overflow-wrap: anywhere; }
.fz-plan-oge { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 4px 0; border-top: 1px solid var(--cizgi); min-width: 0; }
.fz-plan-oge:first-child { border-top: 0; }
.fz-plan-oge[data-gecmis] > .rakam { color: var(--metin3); }

/* grafik */
.fz-grafik-izgara { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; min-width: 0; }
@container (min-width: 760px) { .fz-grafik-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fz-grafik { min-width: 0; }
.fz-grafik-baslik { margin: 0 0 8px; font-size: 13px; font-weight: 650; color: var(--metin2); }
.fz-grafik .grafik-tablo-kap { max-height: 240px; overflow: auto; }
/* veri tablosu: dar kapta da gerçek tablo kalır (çekirdek .tablo kart görünümüne döner, burada sütun başlığı gerekir) */
.fz-veri-tablo { width: 100%; border-collapse: collapse; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.fz-veri-tablo th, .fz-veri-tablo td { padding: 6px 8px; border-bottom: 1px solid var(--cizgi); text-align: left; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.fz-veri-tablo thead th { position: sticky; top: 0; background: var(--yuzey); color: var(--metin3); font-weight: 650; font-size: 11.5px; white-space: normal; vertical-align: bottom; }
.fz-veri-tablo tbody th { font-weight: 560; color: var(--metin); }
.fz-veri-tablo .sag { text-align: right; }
.fz-veri-tablo tbody tr:last-child > * { border-bottom: 0; }
.fz-grafik-sec { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
.fz-grafik-sec .secim { flex: 1 1 200px; min-width: 0; max-width: 100%; }

/* ev programı */
.fz-program-meta { margin: 0; font-size: 12.5px; overflow-wrap: anywhere; }
.fz-program { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fz-program-satir { display: flex; flex-direction: column; gap: 3px; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: var(--r-k); background: var(--yuzey); min-width: 0; }
.fz-program-satir p { margin: 0; overflow-wrap: anywhere; }
.fz-program-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; overflow-wrap: anywhere; }
.fz-video { align-self: flex-start; font-size: 13px; overflow-wrap: anywhere; }
.fz-serit-kap { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fz-serit { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 3px; max-width: 420px; }
.fz-serit-gun { display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 4px; border: 1px solid var(--cizgi2); background: var(--yuzey); font-family: var(--f-sayi);
  font-size: 10px; color: var(--metin3); min-width: 0; overflow: hidden; }
.fz-serit-gun[data-dolu="kismi"] { background: linear-gradient(to top, var(--vurgu-zemin) 50%, var(--yuzey) 50%); border-color: var(--vurgu); color: var(--metin2); }
.fz-serit-gun[data-dolu="tam"] { background: var(--vurgu); border-color: var(--vurgu); color: var(--vurgu-ustu); }
.fz-serit-not { margin: 0; font-size: 12px; }

/* ---------------- kipler ---------------- */
.fz-kip .kip-govde { container-type: inline-size; }
.fz-seans-no { margin: 0; font-size: 14px; color: var(--metin2); overflow-wrap: anywhere; }
.fz-seans-no strong { font-family: var(--f-sayi); font-size: 1.1rem; color: var(--metin); }
.fz-mod-liste { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.fz-mod-satir { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "mod sil" "sure sure" "bolge bolge"; gap: 6px 8px; align-items: center;
  padding: 8px; border: 1px dashed var(--cizgi2); border-radius: var(--r-k); min-width: 0; }
.fz-mod-satir > select { grid-area: mod; min-width: 0; }
.fz-mod-satir > .fz-mod-sure { grid-area: sure; }
.fz-mod-satir > input { grid-area: bolge; min-width: 0; }
.fz-mod-satir > .ikon-dugme { grid-area: sil; }
@container (min-width: 620px) {
  .fz-mod-satir { grid-template-columns: minmax(0, 1.2fr) 7.5em minmax(0, 1fr) auto; grid-template-areas: "mod sure bolge sil"; }
}
.fz-mod-sure { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.fz-mod-sure .girdi { width: 6ch; min-width: 0; }
.fz-mod-bos { margin: 0; }
.fz-olcum-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 8px 12px; min-width: 0; }
.fz-olcum { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border: 1px solid var(--cizgi); border-radius: var(--r-k); min-width: 0; }
.fz-olcum-ad { min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.fz-olcum-girdi { display: inline-flex; align-items: center; gap: 4px; flex: none; }
.fz-olcum-girdi .girdi { width: 6.5ch; }
.fz-surumler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.fz-surum { display: flex; flex-direction: column; gap: 3px; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: var(--r-k); overflow-wrap: anywhere; }
.fz-surum p { margin: 0; font-size: 13px; }

.fz-gunler { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.fz-gun { padding: 4px 8px; border: 1px solid var(--cizgi); border-radius: var(--r-k); background: var(--yuzey); }
.fz-gun:has(input:checked) { border-color: var(--vurgu); background: var(--vurgu-zemin); }

.fz-program-sec { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; max-height: 50vh; overflow-y: auto; }
.fz-program-oge { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid var(--cizgi); border-radius: var(--r-k); min-width: 0; }
.fz-program-ayar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 120px), 1fr)); gap: 6px 8px; align-items: end; min-width: 0; }
.fz-program-ayar[hidden] { display: none; }
.fz-kucuk-alan { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--metin2); min-width: 0; }
.fz-kucuk-alan .girdi { min-width: 0; }

.fz-uclu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px; }
@media (max-width: 420px) { .fz-uclu { grid-template-columns: 1fr; } }
.fz-gorsel-duzen { display: grid; grid-template-columns: minmax(0, 140px) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 420px) { .fz-gorsel-duzen { grid-template-columns: 1fr; } }
.fz-dosya-sec { max-width: 100%; font-size: 13px; }

/* ---------------- görsel ve yer tutucu ---------------- */
.fz-gorsel-kap, .fz-gorsel-sec { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--r-k); overflow: hidden; background: var(--yuzey2); border: 1px solid var(--cizgi); }
.fz-gorsel { display: block; width: 100%; height: 100%; object-fit: cover; }
.fz-gorsel-yer { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--metin3); font-size: 12px;
  background: repeating-linear-gradient(135deg, var(--yuzey2) 0 10px, var(--yuzey3) 10px 20px); }

/* ---------------- menü ekranı ---------------- */
.fz-ekran { min-width: 0; }
.fz-hasta { overflow-wrap: anywhere; }
.fz-alt { display: block; font-size: 12px; overflow-wrap: anywhere; }
.fz-liste-ilerleme { display: inline-flex; flex-direction: column; gap: 4px; min-width: 64px; }
.fz-suzgec > .secim { flex: 1 1 160px; min-width: 0; max-width: 260px; }
.fz-tanim-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 10px; }
.fz-tanim { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: var(--r-k); background: var(--yuzey); min-width: 0; }
.fz-tanim p { margin: 0; overflow-wrap: anywhere; }
.fz-tanim[data-pasif] .fz-tanim-bas strong, .fz-egzersiz[data-pasif] .fz-tanim-bas strong { color: var(--metin3); }
.fz-tanim-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; overflow-wrap: anywhere; }
.fz-egzersizler { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.fz-egzersiz { display: grid; grid-template-columns: minmax(0, 110px) minmax(0, 1fr); gap: 10px 12px; padding: 10px; border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey); min-width: 0; }
@media (max-width: 420px) { .fz-egzersiz { grid-template-columns: 1fr; } .fz-egzersiz .fz-gorsel-kap { max-width: 200px; } }
.fz-egzersiz-metin { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fz-egzersiz-metin p { margin: 0; overflow-wrap: anywhere; }

.fz-bugun-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.fz-bugun-liste li { padding-left: 10px; border-left: 3px solid var(--cizgi); overflow-wrap: anywhere; }
.fz-bugun-liste li[data-ton="uyari"] { border-left-color: var(--uyari); }
.fz-bugun-liste li[data-ton="vurgu"] { border-left-color: var(--vurgu); }
.fz-bugun-liste li[data-ton="basari"] { border-left-color: var(--iyi); }

@media (forced-colors: active) {
  .fz-serit-gun[data-dolu="tam"] { background: Highlight; color: HighlightText; }
  .fz-seans::before { background: CanvasText; }
}
