/* Vücut ölçümleri (ol-; gorunum/olcum-kart.js, olcum-grafik.js, olcum-portal.js). Aynı dosya hasta kartında ve hastanın ölçüm sayfasında
   (genel/hasta/olcum) kullanılır; renkler yalnız belirteçlerden (Gündüz). 375 px'te taşma yok: ızgaralar min(100%, …), tablo kapları kendi
   içinde kayar. Grafik işaretleri renkten bağımsız da ayrışır (daire / kare / baklava, düz / kesikli / noktalı çizgi). */

.ol-gorunmez { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.ol-rakam { font-family: var(--f-sayi); font-variant-numeric: tabular-nums; }
.ol-sag { text-align: right; }

/* ---------------- zaman çizelgesi ---------------- */
.ol-grafik { margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ol-grafik-yer { min-width: 0; }
.ol-grafik-alan { position: relative; width: 100%; min-width: 0; }
.ol-svg { display: block; width: 100%; height: 100%; overflow: visible; touch-action: pan-y; }
.ol-svg:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 4px; border-radius: 6px; }
.ol-izgara line { stroke: var(--cizgi); stroke-width: 1; shape-rendering: crispEdges; }
.ol-eksen { fill: var(--metin3); font: 500 11px var(--f-govde); font-variant-numeric: tabular-nums; }
.ol-cizgi { fill: none; stroke: var(--grafik-1); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.ol-cizgi[data-kaynak="hasta"] { stroke: var(--grafik-2); stroke-dasharray: 5 4; }
.ol-nokta { fill: var(--grafik-1); stroke: var(--yuzey); stroke-width: 2; }
.ol-kare { fill: var(--yuzey); stroke: var(--grafik-2); stroke-width: 2; }
.ol-hedef-cizgi { fill: none; stroke: var(--metin2); stroke-width: 1.6; stroke-dasharray: 1.5 4.5; stroke-linecap: round; }
.ol-hedef-gun { stroke: var(--cizgi2); stroke-width: 1; stroke-dasharray: 3 3; }
.ol-hedef-elmas { fill: var(--yuzey); stroke: var(--metin2); stroke-width: 2; }
.ol-hedef-yazi, .ol-deger { font: 650 11.5px var(--f-govde); paint-order: stroke; stroke: var(--yuzey); stroke-width: 3px; stroke-linejoin: round; font-variant-numeric: tabular-nums; }
.ol-hedef-yazi { fill: var(--metin2); }
.ol-deger { fill: var(--metin); }
.ol-imlec { stroke: var(--cizgi2); stroke-width: 1; shape-rendering: crispEdges; }
.ol-secili { fill: none; stroke: var(--metin); stroke-width: 2; }
.ol-vurucu { cursor: crosshair; }
.ol-ipucu {
  position: absolute; top: 0; left: 0; z-index: 5; display: flex; flex-direction: column; gap: 2px;
  min-width: 128px; max-width: min(220px, 70%); padding: 8px 10px; border-radius: 10px;
  background: var(--yuzey); border: 1px solid var(--cizgi); box-shadow: var(--golge);
  font-size: 12.5px; line-height: 1.45; pointer-events: none;
}
.ol-ipucu[hidden] { display: none; }
.ol-ipucu-bas, .ol-ipucu-alt { color: var(--metin3); font-size: 12px; }
.ol-ipucu strong { color: var(--metin); font-size: 14px; font-weight: 680; }
.ol-lejant { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 12.5px; color: var(--metin2); }
.ol-lejant li { display: inline-flex; align-items: center; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.ol-lejant-isaret { flex: none; overflow: visible; }
.ol-bos { margin: 0; color: var(--metin3); }

/* grafiğin veri tablosu */
.ol-veri summary { cursor: pointer; display: inline-flex; align-items: center; min-height: 24px; color: var(--metin2); font-size: 13px; }
.ol-veri-kap { margin-top: 8px; max-height: 260px; overflow: auto; border: 1px solid var(--cizgi); border-radius: var(--r-k); background: var(--yuzey); }
.ol-veri-tablo { width: 100%; border-collapse: collapse; font-size: 13px; }
.ol-veri-tablo th, .ol-veri-tablo td { padding: 6px 10px; border-bottom: 1px solid var(--cizgi); text-align: left; vertical-align: top; }
.ol-veri-tablo .ol-rakam { white-space: nowrap; }
.ol-veri-tablo thead th { position: sticky; top: 0; background: var(--yuzey2); color: var(--metin2); font-weight: 600; font-size: 12px; }
.ol-veri-tablo tbody th, .ol-veri-tablo tfoot th { font-weight: 500; color: var(--metin); }
.ol-veri-tablo tfoot td, .ol-veri-tablo tfoot th { color: var(--metin2); border-bottom: 0; }
.ol-veri-tablo tr[data-kaynak="hasta"] td:last-child { color: var(--metin2); }
.ol-veri-tablo .ol-sag { text-align: right; }

/* ---------------- hasta kartı bölümü ---------------- */
.ol-dosya { min-width: 0; }
.ol-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 128px), 1fr)); gap: 10px; }
.ol-ozet-oge { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey2); }
.ol-ozet-ad { font-size: 12px; color: var(--metin3); }
.ol-ozet-deger { font-size: 20px; font-weight: 650; color: var(--metin); }
.ol-ozet-alt { font-size: 12px; color: var(--metin2); overflow-wrap: anywhere; }
.ol-bolum { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ol-hedefler, .ol-eski { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ol-hedef { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px 12px; min-width: 0; padding: 10px 12px;
  border: 1px dashed var(--cizgi2); border-radius: var(--r); }
.ol-hedef-metin { display: flex; flex-direction: column; gap: 3px; flex: 1 1 220px; min-width: 0; overflow-wrap: anywhere; }
.ol-grafik-bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 12px; }
.ol-grafik-bas .hs-alt-baslik { margin: 0; }
.ol-secim { flex: 0 1 260px; min-width: min(100%, 200px); }
/* çok sütunlu kayıt tablosu geniş ekranda kendi içinde kayar (sayfa yatay kaymaz) */
.ol-kayitlar { overflow-x: auto; }
.ol-kayitlar tr[data-gecersiz] td { color: var(--metin3); }
/* dar ekranda kart görünümü: o kayıtta ölçülmeyen alanlar ("—") gösterilmez */
@container (max-width: 640px) { .ol-kayitlar td:has(> span.metin-3:only-child) { display: none; } }
.ol-kayitlar tr[data-gecersiz] .ol-rakam { text-decoration: line-through; }
.ol-not { white-space: pre-wrap; overflow-wrap: anywhere; }
.ol-durum { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.ol-acilir summary { cursor: pointer; color: var(--metin2); min-height: 24px; }
.ol-eski { margin-top: 8px; }
.ol-eski li, .ol-kaynak { overflow-wrap: anywhere; }

/* ölçüm formu (kip) */
.ol-grup { min-width: 0; margin: 0; padding: 0; border: 0; }
.ol-grup legend { padding: 0; margin-bottom: 8px; font-size: 13px; font-weight: 600; color: var(--metin2); }
.ol-alanlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 10px 14px; }
.ol-alanlar > .alan { min-width: 0; }
.ol-onizleme { margin: 0; padding: 8px 10px; border-radius: var(--r-k); background: var(--vurgu-zemin); color: var(--metin); font-size: 13px; }
.ol-onizleme:empty { display: none; }

/* ---------------- hastanın ölçüm sayfası (genel/hasta/olcum) ---------------- */
.ol-sayfa .hf-kart { min-width: 0; }
.ol-geri { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; text-decoration: none; margin-left: -10px; }
.ol-secim-hasta { min-height: 44px; }
.ol-ev-form { display: flex; flex-direction: column; gap: 12px; }
.ol-ev-satir { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 12px; }
.ol-ev-liste .hf-dug.hayalet { min-height: 40px; }
.ol-tamam { margin: 0; padding: 10px 12px; border-radius: var(--r-k); background: var(--iyi-zemin); color: var(--iyi); font-weight: 600; }
.ol-tamam:focus { outline: none; }
.ol-sayfa .ol-veri-tablo { font-size: 14px; }

@media (forced-colors: active) {
  .ol-cizgi, .ol-hedef-cizgi, .ol-hedef-gun { stroke: CanvasText; }
  .ol-nokta { fill: CanvasText; stroke: Canvas; }
  .ol-kare, .ol-hedef-elmas { fill: Canvas; stroke: CanvasText; }
  .ol-hedef-yazi, .ol-deger, .ol-eksen { fill: CanvasText; }
}
