/* Panolar (pn-; gorunum/pano.js). Renkler yalnız belirteçlerden (Gündüz; kurum rengi --vurgu, ısı tonları --isi*), yeni palet ya da font yok.
   Sakin "okuma masası": gösterge kutuları (iri Reddit Mono sayı + metin), ince çubuklar, sütun grafiği (sıfır çizgisi, değer metni), yatay çubuk listesi.
   Renk tek başına bilgi taşımaz: her çubuğun ve sütunun yanında değer metni, grafiklerin tablo karşılığı. Kırmızı yalnız "kritik" hazırlık işaretinde.
   Dar ekran (≤ 640 px): araç çubuğu alt alta, seçiciler tam satır, dokunma hedefi ≥ 44 px; tablolar bilesen.css kapsayıcı sorgusuyla kart görünümüne düşer. */

/* ---------------- kap, araç çubuğu ---------------- */
.pn-baslik-alt { overflow-wrap: anywhere; }
.pn-kap, .pn-panel, .pn-kap > .sekme-panel { min-width: 0; max-width: 100%; }
.pn-kap { display: flex; flex-direction: column; gap: 12px; }
.pn-kap > .uyari-kutu { margin: 0; }
.pn-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 16px; min-width: 0; }
.pn-donem { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-width: 0; flex: 1 1 auto; }
.pn-donem .bolumlu { flex: 0 1 auto; min-width: 0; }
.pn-ozel { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; min-width: 0; }
.pn-ozel[hidden] { display: none; }
.pn-ozel .girdi { width: auto; min-width: 0; max-width: 170px; }
.pn-suzgec { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-width: 0; }
.pn-suzgec:empty, .pn-sube-yer:empty, .pn-kaynak-yer:empty { display: none; }
.pn-sube-yer, .pn-kaynak-yer { display: contents; }
.pn-sec-kutu { position: relative; display: inline-flex; align-items: center; gap: 8px; flex: 0 1 260px; min-width: 0; max-width: 100%; }
.pn-sec-kutu .secim { width: 100%; min-width: 0; }
.pn-sec-etiket { font-size: 12.5px; font-weight: 600; color: var(--metin2); white-space: nowrap; }

/* ---------------- gövde, bilgi satırı ---------------- */
.pn-govde { display: flex; flex-direction: column; gap: 16px; min-width: 0; transition: opacity var(--t-hizli); }
.pn-govde[aria-busy="true"] > :not(.iskelet-kap) { opacity: .62; }
.pn-bilgi { margin: 0; display: flex; align-items: flex-start; gap: 6px; font-size: 12.5px; color: var(--metin2); overflow-wrap: anywhere; }
.pn-bilgi > .ikon { margin-top: 1px; color: var(--metin3); flex: none; }
.pn-tanim { margin: 0; font-size: 12.5px; overflow-wrap: anywhere; }

/* ---------------- gösterge kutuları ---------------- */
.pn-ust { display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; min-width: 0; }
.pn-gosterge { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; padding: 14px 18px; border-radius: var(--r-uzam, 14px);
  background: var(--yuzey); border: 1px solid var(--cizgi); }
.pn-gosterge[data-buyuk] { border-left: 4px solid var(--vurgu); }
.pn-gosterge-ad { font-size: 13px; font-weight: 620; color: var(--metin2); }
.pn-gosterge-deger { font-family: var(--f-sayi); font-size: 26px; font-weight: 600; line-height: 1.1; color: var(--metin); font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere; letter-spacing: -.01em; }
.pn-gosterge[data-buyuk] .pn-gosterge-deger { font-size: 36px; }
.pn-gosterge[data-ton="uyari"] .pn-gosterge-deger { color: var(--uyari); }
.pn-gosterge .cubuk { margin: 4px 0 2px; }
.pn-gosterge-alt, .pn-gosterge-ipucu { font-size: 12.5px; color: var(--metin3); overflow-wrap: anywhere; }
.pn-sayaclar, .pn-bg-sayac { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); }
.pn-sayaclar .bg-sayac-ad, .pn-bg-sayac .bg-sayac-ad { overflow-wrap: anywhere; }

/* ---------------- ızgara, kartlar ---------------- */
.pn-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 16px; min-width: 0; }
.pn-izgara:empty { display: none; }
.pn-kart { min-width: 0; }
.pn-kart .kart-govde { min-width: 0; }
.pn-tablo-kart .kart-govde { padding-inline: 0; }
.pn-tablo-kart .tablo-kap { padding-inline: 4px; }
.tablo tr[data-toplam] td { font-weight: 650; background: var(--yuzey2); }
.pn-kaynak { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.pn-kaynak > span { overflow-wrap: anywhere; }
.pn-kaynak .metin-3 { font-size: 12px; font-weight: 450; }
.pn-oran-hucre { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.pn-oran-hucre .cubuk { width: 64px; flex: none; }
.pn-tablo-kart .tablo .rakam { white-space: nowrap; }
/* çok sütunlu tablolar kartın içine sığsın: başlıklar sarar (kesilmez), sayılar sarmaz */
.pn-tablo-kart .tablo th { white-space: normal; overflow-wrap: normal; word-break: normal; letter-spacing: .03em; height: auto; padding-block: 8px; line-height: 1.3;
  vertical-align: bottom; }
.pn-tablo-kart .tablo td, .pn-tablo-kart .tablo th { padding-inline: 10px; }
@container (min-width: 641px) {
  .pn-tablo-kart .tablo td.birincil { min-width: 180px; }
}
.pn-sube-ad { overflow-wrap: anywhere; }

/* ---------------- sütun grafiği ---------------- */
.pn-sg-kap { min-width: 0; }
.pn-sg-sahne { position: relative; min-width: 0; }
.pn-sg { position: relative; display: grid; grid-template-columns: repeat(var(--n, 7), minmax(0, 1fr)); gap: 3px; height: 170px; padding-top: 18px;
  border-radius: 8px; min-width: 0; }
.pn-sg:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 4px; }
.pn-sg-sifir { position: absolute; left: 0; right: 0; bottom: var(--sifir, 0%); height: 1px; background: var(--cizgi2); pointer-events: none; }
.pn-sg-sutun { position: relative; display: block; min-width: 0; height: 100%; border-radius: 4px; cursor: default; }
.pn-sg-sutun:hover, .pn-sg-sutun[data-secili] { background: color-mix(in oklab, var(--vurgu) 7%, transparent); }
.pn-sg-cubuk { position: absolute; left: 12%; right: 12%; border-radius: 3px 3px 1px 1px; background: var(--vurgu); }
.pn-sg-sutun[data-eksi] .pn-sg-cubuk { border-radius: 1px 1px 3px 3px; background: var(--uyari); }
.pn-sg-sutun[data-bos] .pn-sg-cubuk { height: 8px; background: repeating-linear-gradient(135deg, var(--yuzey2) 0 4px, var(--yuzey3) 4px 6px); }
.pn-sg-sutun[data-secili] .pn-sg-cubuk { box-shadow: 0 0 0 2px var(--yuzey), 0 0 0 3.5px var(--metin2); }
.pn-sg-deger { position: absolute; left: 50%; transform: translateX(-50%); font-size: 11px; font-weight: 600; color: var(--metin2); white-space: nowrap;
  pointer-events: none; }
.pn-sg-sutun[data-bos] .pn-sg-deger { color: var(--metin3); font-weight: 500; }
.pn-sg-eksen { display: grid; grid-template-columns: repeat(var(--n, 7), minmax(0, 1fr)); gap: 3px; margin-top: 6px; font-size: 11px; color: var(--metin3);
  font-variant-numeric: tabular-nums; }
.pn-sg-eksen > span { min-width: 0; text-align: center; white-space: nowrap; overflow: visible; }
.pn-sg-ipucu { min-height: 20px; margin: 10px 0 0; font-size: 13px; color: var(--metin2); overflow-wrap: anywhere; }

/* ---------------- yatay çubuk listesi ---------------- */
.pn-cl { margin: 0; min-width: 0; }
.pn-cl-baslik { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-bottom: 8px; font-size: 13.5px; font-weight: 650; color: var(--metin); }
.pn-cl-aciklama { font-size: 12px; font-weight: 450; color: var(--metin3); }
.pn-cl-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pn-cl-satir { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(64px, 1fr) auto; align-items: center; gap: 4px 12px; min-width: 0; font-size: 13px; }
.pn-cl-etiket { min-width: 0; overflow-wrap: anywhere; color: var(--metin); }
.pn-cl-iz { display: block; height: 8px; border-radius: 6px; background: var(--yuzey3); overflow: hidden; min-width: 0; }
.pn-cl-dolu { display: block; height: 100%; border-radius: inherit; background: var(--vurgu); }
.pn-cl[data-ton="uyari"] .pn-cl-dolu { background: var(--uyari); }
.pn-cl[data-ton="notr"] .pn-cl-dolu { background: var(--metin3); }
.pn-cl-yok { display: block; height: 100%; background: repeating-linear-gradient(135deg, var(--yuzey2) 0 4px, var(--yuzey3) 4px 6px); }
.pn-cl-deger { justify-self: end; font-weight: 620; color: var(--metin); white-space: nowrap; text-align: right; }
.pn-kucukler { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; min-width: 0; }
.pn-kucukler > .pn-cl { padding: 14px 16px; border-radius: var(--r-uzam, 14px); background: var(--yuzey); border: 1px solid var(--cizgi); }

/* ---------------- ısı haritası (js/grafik.js isiHaritasi; saat sütunları) ---------------- */
.pn-isi { min-width: 0; }
.pn-isi .ih-sutun { font-size: 11px; }
/* hafta günü × saat ızgarası (12+ sütun) Uzam'da da DÜZ çizilir: döndürülmüş düzlemde sayılar okunmuyor ve açıklama satırının üstüne taşıyordu */
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne { height: auto; perspective: none; display: block; overflow: visible; }
:root:not([data-efekt="sade"]) .pn-isi .ih { width: 100%; gap: 4px; transform: none; transform-style: flat; transition: none; }
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-hucre { height: 34px; background-color: transparent; }
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-on, :root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-yan { display: none; }
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-ust, :root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-hucre:hover .ih-ust,
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-hucre[data-secili] .ih-ust { transform: none; transition: none; box-shadow: none; }
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-hucre[data-secili] .ih-ust { box-shadow: 0 0 0 2px var(--yuzey), 0 0 0 3.5px var(--metin2); }
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne :is(.ih-kose, .ih-sutun) { order: 0; padding-top: 0; }
:root:not([data-efekt="sade"]) .pn-isi .ih-sahne .ih-satir { text-align: left; }

/* ---------------- boş saatler ---------------- */
.pn-bos { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pn-bos-gun { min-width: 0; }
.pn-bos-baslik { margin: 0 0 6px; font-size: 13.5px; font-weight: 650; color: var(--metin); }
.pn-bos-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 6px 12px; }
.pn-bos-oge { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; min-width: 0; padding: 6px 8px 6px 10px;
  border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey); }
.pn-bos-saat { font-family: var(--f-sayi); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--metin); }
.pn-bos-kaynak { min-width: 0; font-size: 12.5px; color: var(--metin2); overflow-wrap: anywhere; }

/* ---------------- Bugünüm ---------------- */
.pn-gezinti { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-width: 0; }
.pn-gun { font-size: 15px; font-weight: 650; min-width: 0; overflow-wrap: anywhere; padding: 0 4px; }
.pn-hekim { flex: 0 1 340px; }
.pn-siradaki { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 12px 16px; border-radius: var(--r-uzam, 14px);
  background: var(--vurgu-zemin); border: 1px solid color-mix(in oklab, var(--vurgu) 30%, var(--cizgi)); min-width: 0; }
.pn-siradaki-ad { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 650; color: var(--vurgu); }
.pn-siradaki-saat { font-family: var(--f-sayi); font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pn-siradaki-hasta { font-size: 15px; font-weight: 650; color: var(--metin); min-width: 0; overflow-wrap: anywhere; min-height: 32px; display: inline-flex; align-items: center; }
.pn-siradaki-hasta:hover { color: var(--vurgu); }
.pn-siradaki .metin-3 { font-size: 12px; }
.pn-bg-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; min-width: 0; }
.pn-bg-satir { --pn-kenar: transparent; display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 4px 14px; align-items: start; padding: 12px 6px 12px 10px;
  border-top: 1px solid var(--cizgi); min-width: 0; box-shadow: inset 3px 0 0 var(--pn-kenar); }
.pn-bg-satir:first-child { border-top: 0; }
.pn-bg-satir[data-siradaki] { --pn-kenar: var(--vurgu); background: color-mix(in oklab, var(--vurgu-zemin) 60%, transparent); }
.pn-bg-satir[data-durum="tamam"] .pn-bg-zaman strong, .pn-bg-satir[data-durum="gelmedi"] .pn-bg-zaman strong { color: var(--metin3); }
.pn-bg-zaman { display: flex; flex-direction: column; gap: 1px; }
.pn-bg-zaman strong { font-family: var(--f-sayi); font-size: 19px; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pn-bg-zaman small { font-size: 11.5px; color: var(--metin3); }
.pn-bg-icerik { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pn-bg-icerik p { margin: 0; overflow-wrap: anywhere; }
.pn-bg-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.pn-bg-ad { font-weight: 650; color: var(--metin); text-decoration: none; min-width: 0; overflow-wrap: anywhere; min-height: 28px; display: inline-flex; align-items: center; }
.pn-bg-ad:hover { color: var(--vurgu); text-decoration: underline; text-underline-offset: 3px; }
.pn-bg-dosya { font-size: 12.5px; }
.pn-bg-alt { font-size: 13px; color: var(--metin2); }
.pn-bg-not { display: flex; align-items: flex-start; gap: 6px; font-size: 12.5px; color: var(--metin2); white-space: pre-line; }
.pn-bg-not > .ikon { margin-top: 2px; color: var(--metin3); flex: none; }
.pn-bg-durum { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; min-width: 0; }
.pn-hz { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.pn-hz-oge { display: flex; align-items: flex-start; gap: 6px; font-size: 12.5px; color: var(--metin2); overflow-wrap: anywhere; }
.pn-hz-oge > .ikon { margin-top: 1px; flex: none; color: var(--metin3); }
.pn-hz-oge[data-ton="uyari"] > .ikon { color: var(--uyari); }
.pn-hz-oge[data-ton="kritik"] { color: var(--kritik); }
.pn-hz-oge[data-ton="kritik"] > .ikon { color: var(--kritik); }

/* ---------------- dar ekran ---------------- */
@media (max-width: 900px) {
  .pn-ust { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pn-ust > .pn-gosterge[data-buyuk] { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .pn-arac { flex-direction: column; align-items: stretch; }
  .pn-donem, .pn-suzgec { width: 100%; }
  .pn-donem .bolumlu[data-tur="hap"] .bolumlu-oge { min-height: 44px; }
  .pn-ozel .girdi { flex: 1 1 130px; max-width: none; min-height: 44px; }
  .pn-ozel .dugme { min-height: 44px; }
  .pn-sec-kutu, .pn-hekim, .pn-suzgec .sube-secici { flex: 1 1 100%; width: 100%; }
  .pn-sec-kutu { flex-wrap: wrap; gap: 4px; }
  .pn-sec-kutu .secim, .pn-suzgec .secim { min-height: 44px; }
  .pn-gezinti { width: 100%; justify-content: space-between; }
  .pn-gezinti .ikon-dugme, .pn-gezinti .dugme, .pn-arac a.dugme, [data-id="pn-tazele"] { min-width: 44px; min-height: 44px; }
  .pn-bos > .dugme { min-height: 44px; }
  .pn-ust { grid-template-columns: minmax(0, 1fr); }
  .pn-gosterge[data-buyuk] .pn-gosterge-deger { font-size: 30px; }
  .pn-bg-satir { grid-template-columns: 52px minmax(0, 1fr); gap: 6px 10px; padding-left: 8px; }
  .pn-bg-zaman strong { font-size: 15.5px; }
  .pn-bg-durum { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .pn-bg-ad, .pn-siradaki-hasta { min-height: 44px; }
  /* dar ekranda: ad tam satır (kelime ortasından bölünmez), altında çubuk ve değer yan yana; uzun değer kendi sütununda sarar */
  .pn-cl-satir { grid-template-columns: minmax(48px, 1fr) auto; gap: 2px 10px; }
  .pn-cl-etiket { grid-column: 1 / -1; overflow-wrap: break-word; }
  .pn-cl-iz { grid-column: 1; grid-row: 2; }
  .pn-cl-deger { grid-column: 2; grid-row: 2; white-space: normal; max-width: 62vw; overflow-wrap: break-word; }
  .pn-bos-oge { grid-template-columns: auto minmax(0, 1fr); }
  .pn-bos-oge > .dugme { grid-column: 1 / -1; min-height: 44px; justify-self: start; }
  .pn-sg { height: 140px; gap: 2px; }
  .pn-sg-eksen { gap: 2px; font-size: 10px; }
  .pn-sg-deger { font-size: 10px; }
  /* saat sütunları dar: hücre yüzdesi küçük yazı */
  .pn-isi .ih { gap: 3px; }
  .pn-isi .ih-ust { font-size: 9.5px; }
  .pn-isi .ih-sutun { font-size: 9.5px; }
}
@media (pointer: coarse) {
  .pn-bos-oge > .dugme, .pn-gezinti .ikon-dugme { min-height: 44px; }
}

/* ---------------- efekt ve erişilebilirlik ---------------- */
:root:not([data-efekt="sade"]) :is(.pn-gosterge, .pn-kucukler > .pn-cl) { background: var(--cam, var(--yuzey)); backdrop-filter: var(--cam-bulanik);
  -webkit-backdrop-filter: var(--cam-bulanik); border-color: var(--cam-kenar, var(--cizgi)); box-shadow: var(--golge-uzam); }
@media (forced-colors: active) {
  .pn-sg-cubuk, .pn-cl-dolu { forced-color-adjust: none; background: CanvasText; }
  .pn-sg-sutun[data-bos] .pn-sg-cubuk, .pn-cl-yok { background: GrayText; }
  .pn-bg-satir[data-siradaki] { border-left: 3px solid CanvasText; box-shadow: none; }
}
