/* Psikoterapi (tp-; gorunum/terapi.js, terapi-kart.js). Renkler yalnız belirteçlerden (Gündüz). Dar ekranda (375 px) taşma yok:
   her esnek kapta min-width: 0 ve uzun metinde overflow-wrap. */

/* ---------------- seans listesi ---------------- */
.tp-dosya { min-width: 0; }
.tp-seanslar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tp-seans { border: 1px solid var(--cizgi); border-radius: var(--r-k); padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; min-width: 0; background: var(--yuzey); }
.tp-seans[data-iptal] { background: var(--yuzey2); }
.tp-seans-bas { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.tp-seans-ad { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.tp-no { flex: none; display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 6px; border-radius: var(--r-tam);
  background: var(--vurgu-zemin); color: var(--vurgu); font-family: var(--f-sayi); font-weight: 700; font-size: 13px; }
.tp-no[data-iptal] { background: var(--yuzey3); color: var(--metin3); }
.tp-baglar { margin: 0; overflow-wrap: anywhere; }
.tp-ozet { border-left: 3px solid var(--cizgi2); padding: 2px 0 2px 10px; min-width: 0; }
.tp-ozet p { margin: 0; }
.tp-metin { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.tp-eylemler { gap: 4px 6px; }

/* ---------------- gizli not ---------------- */
.tp-gizli-kutu { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: var(--r-k); background: var(--vurgu-zemin); color: var(--metin);
  font-size: .8125rem; min-width: 0; overflow-wrap: anywhere; }
.tp-gizli-kutu .ikon { color: var(--vurgu); flex: none; }
.tp-gizli-alan { border: 1px dashed var(--cizgi2); border-radius: var(--r-k); padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.tp-gizli-bas { display: flex; align-items: center; gap: 6px; margin: 0; }
.tp-gizli-bas .ikon, .tp-gizli-bilgi .ikon { color: var(--vurgu); }
.tp-gizli-bilgi { margin: 0; padding: 8px 10px; border-radius: var(--r-k); background: var(--vurgu-zemin); font-size: .8125rem; overflow-wrap: anywhere; }
.tp-gizli-metin { padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: var(--r-k); background: var(--yuzey2); }
.tp-surumler { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 10px; }
.tp-surumler p { margin: 0 0 2px; }

/* ---------------- ödev ---------------- */
.tp-odevler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tp-odev { border: 1px solid var(--cizgi); border-radius: var(--r-k); padding: 8px 10px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tp-odev[data-durum="iptal"] { background: var(--yuzey2); }
.tp-odev p { margin: 0; }
.tp-odev-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.tp-odev-ad { overflow-wrap: anywhere; min-width: 0; }

/* ---------------- puan ---------------- */
.tp-puan { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tp-puan-bas { margin: 0; overflow-wrap: anywhere; }
.tp-puan .grafik { min-width: 0; max-width: 100%; }
.tp-puan-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.tp-puan-liste li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }

/* ---------------- idari görünüm (sekreter) ---------------- */
.tp-idari { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.tp-idari li { display: flex; flex-direction: column; gap: 2px; padding: 6px 0; border-bottom: 1px solid var(--cizgi); min-width: 0; overflow-wrap: anywhere; }

/* ---------------- menü ekranı ---------------- */
.tp-suzgec { flex-wrap: wrap; }
.tp-hasta { overflow-wrap: anywhere; }
.tp-alt { display: block; }
.tp-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.tp-pasif { background: var(--yuzey2); }
.tp-gecmis { margin: 0; padding-left: 1.1em; font-size: .8125rem; }
.tp-ayar-satir { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; min-width: 0; }
.tp-ayar-ad { flex: 1 1 240px; min-width: 0; }
.tp-ayar-ad p { margin: 2px 0 0; }
.tp-ayar-satir .girdi[type="number"] { width: 8ch; }
