/* Vardiya ve izin (vr-; gorunum/vardiya.js, gorunum/vardiya-ortak.js; moduller/vardiya).
   Yalnız Gündüz belirteçleri, sabit renk yok: şablon tonu kurum renginden türeyen --isi1..5 zemin / --isi-y1..5 yazı çiftidir (js/renk.js, en az
   4,5:1). 375 px'te yatay taşma yok: çizelge kabı 780 px'ten darken tablo gizlenir, güne göre liste görünür; uzun ad ve metin sarar. */

/* ---------------- araç çubuğu ---------------- */
.vr-eylemler { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.vr-eylemler:empty { display: none; }
.vr-arac { gap: 10px 16px; }
.vr-hafta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.vr-hafta-ad { font-family: var(--f-baslik); font-size: var(--fs-16); font-weight: 600; min-width: 0; }
.vr-durum { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-left: auto; min-width: 0; font-size: var(--fs-13); overflow-wrap: anywhere; }
.vr-bag { font-size: var(--fs-13); }
.vr-uyarilar { margin-bottom: 16px; }
.vr-uyarilar:empty, .vr-uyarilar > div:empty { display: none; }
.vr-cakisma { margin: 4px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 2px; overflow-wrap: anywhere; }

/* ---------------- çizelge: tablo (geniş kap) ---------------- */
.vr-cizelge-kap { container-type: inline-size; min-width: 0; }
.vr-tablo-kap { border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey); overflow: hidden; }
.vr-tablo { width: 100%; border-collapse: collapse; table-layout: fixed; }
.vr-tablo th, .vr-tablo td { padding: 4px; border-right: 1px solid var(--cizgi); border-bottom: 1px solid var(--cizgi); vertical-align: top; text-align: left; }
.vr-tablo tr > :last-child { border-right: 0; }
.vr-tablo tbody tr:last-child > * { border-bottom: 0; }
.vr-tablo thead th { padding: 8px 6px; background: var(--yuzey2); color: var(--metin2); font-size: var(--fs-12); font-weight: 600; }
.vr-tablo thead th[data-bugun] { color: var(--vurgu); box-shadow: inset 0 -2px 0 var(--vurgu); }
.vr-tablo td[data-bugun] { background: color-mix(in srgb, var(--vurgu-zemin) 55%, var(--yuzey)); }
.vr-tablo .vr-tablo-kisi { width: 168px; }
.vr-gun-bas { display: flex; align-items: baseline; gap: 4px; }
.vr-kisi { display: flex; flex-direction: column; gap: 2px; padding: 4px; min-width: 0; overflow-wrap: anywhere; }
.vr-kisi-ad { font-size: var(--fs-13); }
.vr-kisi-alt, .vr-kisi-kaynak { color: var(--metin3); font-size: var(--fs-12); font-weight: 400; }
.vr-kisi-alt .rozet { margin-right: 4px; }
.vr-kisi-kaynak { display: inline-flex; align-items: center; gap: 3px; }

/* hücre düğmesi: bütün hücre tek düğme, açılır menüyle düzenlenir */
.vr-hucre { display: flex; flex-direction: column; align-items: stretch; gap: 4px; width: 100%; min-height: 56px; padding: 4px; border: 1px solid transparent;
  border-radius: var(--r-k); background: none; color: var(--metin); font: inherit; text-align: left; cursor: pointer; }
.vr-hucre:hover { border-color: var(--cizgi2); background: var(--yuzey2); }
.vr-hucre:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 1px; }
.vr-hucre[aria-expanded="true"] { border-color: var(--vurgu); }
.vr-hucre[data-bos] { flex-direction: row; align-items: center; justify-content: center; gap: 4px; color: var(--metin3); }
.vr-hucre-bos { font-size: var(--fs-12); }

/* çipler */
.vr-cip { display: flex; flex-direction: column; min-width: 0; padding: 4px 6px; border-radius: var(--r-k); font-size: var(--fs-12); line-height: 1.3; overflow-wrap: anywhere; }
.vr-cip-ad { font-weight: 600; }
.vr-cip-saat { font-family: var(--f-sayi); font-variant-numeric: tabular-nums; }
.vr-cip[data-tur="vardiya"] { background: var(--isi3); color: var(--isi-y3); }
.vr-cip[data-tur="vardiya"][data-ton="1"], .vr-ton-ornek > [data-ton="1"] { background: var(--isi1); color: var(--isi-y1); }
.vr-cip[data-tur="vardiya"][data-ton="2"], .vr-ton-ornek > [data-ton="2"] { background: var(--isi2); color: var(--isi-y2); }
.vr-cip[data-tur="vardiya"][data-ton="3"], .vr-ton-ornek > [data-ton="3"] { background: var(--isi3); color: var(--isi-y3); }
.vr-cip[data-tur="vardiya"][data-ton="4"], .vr-ton-ornek > [data-ton="4"] { background: var(--isi4); color: var(--isi-y4); }
.vr-cip[data-tur="vardiya"][data-ton="5"], .vr-ton-ornek > [data-ton="5"] { background: var(--isi5); color: var(--isi-y5); }
.vr-cip[data-tur="tatil"] { background: var(--yuzey3); color: var(--metin2); }
.vr-cip[data-tur="izin"] { flex-direction: row; align-items: center; gap: 4px; background: var(--uyari-zemin); color: var(--uyari); }
.vr-cip[data-tur="baska"] { flex-direction: row; align-items: center; gap: 4px; border: 1px dashed var(--cizgi2); background: var(--yuzey2); color: var(--metin2); }
.vr-cip[data-cakisma] { box-shadow: 0 0 0 2px var(--kritik); }
.vr-cip[data-kucuk] { flex-direction: row; flex-wrap: wrap; gap: 0 6px; padding: 2px 6px; }
tr[data-durum="iptal"] .vr-cip, tr[data-durum="pasif"] .vr-cip { background: var(--yuzey3); color: var(--metin3); }

/* ---------------- çizelge: güne göre liste (dar kap) ---------------- */
.vr-gunler { display: none; }
@container (max-width: 780px) {
  .vr-tablo-kap { display: none; }
  .vr-gunler { display: flex; flex-direction: column; gap: 12px; }
}
.vr-gun { min-width: 0; padding: 12px; border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey); }
.vr-gun-baslik { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 8px; font-family: var(--f-baslik); font-size: var(--fs-14); }
.vr-gun-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.vr-gun-liste > li { display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); gap: 8px; align-items: start; padding-top: 6px; border-top: 1px solid var(--cizgi); }
.vr-gun-liste > li:first-child { padding-top: 0; border-top: 0; }
.vr-gun-kisi { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; padding-top: 8px; font-size: var(--fs-13); overflow-wrap: anywhere; }
.vr-gun-liste .vr-hucre { min-height: 44px; border-color: var(--cizgi); }
@container (max-width: 340px) {
  .vr-gun-liste > li { grid-template-columns: minmax(0, 1fr); }
  .vr-gun-kisi { padding-top: 0; }
}

/* ---------------- alt kartlar: geçmiş, yansıma, vardiya dışı randevular ---------------- */
.vr-alt-kart, .vr-disinda { margin-top: 16px; }
.vr-uyarilar .vr-disinda { margin-top: 0; }
.vr-gecmis summary { min-height: 24px; font-weight: 600; cursor: pointer; overflow-wrap: anywhere; }
.vr-gecmis-liste { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-13); }
.vr-gecmis-liste > li { display: flex; flex-direction: column; gap: 2px; padding: 6px 10px; border-left: 3px solid var(--cizgi2); border-radius: var(--r-k); background: var(--yuzey2);
  overflow-wrap: anywhere; }
.vr-gecmis-liste > li[data-olay="yayin"] { border-left-color: var(--iyi); }
.vr-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vr-liste > li { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding-left: 10px; border-left: 3px solid var(--cizgi); overflow-wrap: anywhere; }
.vr-disinda .vr-liste > li { border-left-color: var(--uyari); }
.vr-liste-ana { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-width: 0; }
.vr-liste-metin { display: block; min-width: 0; overflow-wrap: anywhere; }
.vr-liste-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; color: var(--metin2); font-size: var(--fs-12); }

/* ---------------- kipler ---------------- */
.vr-ikili { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.vr-ozel[hidden] { display: none; }
.vr-not { margin: 0; font-size: var(--fs-12); }
.vr-ton-kap { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vr-ton-sec { display: flex; width: 100%; max-width: 100%; }
.vr-ton-sec > .bolumlu-oge { flex: 1 1 0; justify-content: center; }
.vr-ton-ornek { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.vr-ton-ornek > span { display: block; padding: 2px 0; border-radius: 4px; font-size: var(--fs-12); text-align: center; }
@media (max-width: 420px) {
  .vr-ikili { grid-template-columns: minmax(0, 1fr); }
}

/* ---------------- izinler ve şablonlar ---------------- */
.vr-hucre-metin { display: inline-flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.vr-eksi { color: var(--kritik); }
.vr-islem { gap: 4px; }

/* ---------------- Vardiyam ---------------- */
.vr-benim { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.vr-benim .vr-arac { margin-bottom: 0; }
.vr-benim-gunler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey); }
.vr-benim-gun { display: grid; grid-template-columns: minmax(0, 10rem) minmax(0, 1fr); gap: 8px 16px; padding: 12px 14px; border-top: 1px solid var(--cizgi); min-width: 0; }
.vr-benim-gun:first-child { border-top: 0; }
.vr-benim-gun[data-bugun] { box-shadow: inset 3px 0 0 var(--vurgu); }
.vr-benim-tarih { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.vr-benim-ic { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vr-benim-ic > p { margin: 0; }
.vr-benim-satir { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; font-size: var(--fs-13); overflow-wrap: anywhere; }
.vr-benim-satir .vr-cip { flex-direction: row; flex-wrap: wrap; gap: 0 6px; }
.vr-benim-not { display: flex; align-items: center; gap: 4px; color: var(--metin2); font-size: var(--fs-12); }
@media (max-width: 559px) {
  .vr-benim-gun { grid-template-columns: minmax(0, 1fr); }
  .vr-durum { margin-left: 0; }
}

/* ---------------- Bugün kartı ---------------- */
.vr-bugun-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vr-bugun-liste > li { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding-left: 10px; border-left: 3px solid var(--cizgi); overflow-wrap: anywhere; }
.vr-bugun-liste > li[data-simdi] { border-left-color: var(--iyi); }
.vr-bugun-vardiyalar { display: flex; flex-wrap: wrap; gap: 4px; }
.vr-bugun-izin { margin: 0; font-size: var(--fs-13); overflow-wrap: anywhere; }

/* ---------------- Mobil (≤759 px): izin tabloları ---------------- */
@media (max-width: 759px) {
  /* İzinler (bakiye ve kayıtlar): işlem hücresindeki düğme ("Hakkı düzenle", "İptal et") tablo kipinde sütunu daraltıp kesilmesin;
     kart kipinde (kapsayıcı ≤ 640 px) hücre tüm satırı kaplar (gorunum.css: td:has(> .dugme)) */
  .tablo td[data-etiket="İşlem"]:not(.pf-islem, .cnl-islem) { min-width: 8.5rem; }
  .vr-hucre-metin { line-height: 1.4; }
}
