/* metintur yonetim paneli: sol menu + ust bar (Bootstrap 5 uzerine ince katman) */
:root {
	--menu-genislik: 250px;
	--ustbar-yukseklik: 56px;
}
body { background: #f4f6f9; }
.panel-ustbar { height: var(--ustbar-yukseklik); z-index: 1030; }
.panel-ustbar .okul-sec { max-width: 220px; }
.panel-ustbar .okul-rozet { font-size: .85rem; font-weight: 500; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }

.panel-menu .menu-grup {
	font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
	color: #9aa4b2; padding: .9rem 1.25rem .35rem;
}
.panel-menu .nav-link { color: #d5dbe3; padding: .55rem 1.25rem; border-left: 3px solid transparent; }
.panel-menu .nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.panel-menu .nav-link.active { color: #fff; background: rgba(13,110,253,.25); border-left-color: #0d6efd; }
.panel-menu .nav-link .badge { font-size: .62rem; font-weight: 500; }

@media (min-width: 992px) {
	.panel-menu {
		position: fixed; top: var(--ustbar-yukseklik); bottom: 0; left: 0;
		width: var(--menu-genislik); overflow-y: auto;
	}
	.panel-menu .offcanvas-header { display: none; }
	.panel-icerik { margin-left: var(--menu-genislik); }
}
@media (max-width: 991.98px) {
	.panel-menu { --bs-offcanvas-width: 270px; }
}

.giris-govde { background: linear-gradient(160deg, #eef2f7 0%, #dfe7f1 100%); }
.giris-logo {
	width: 56px; height: 56px; border-radius: 14px; margin: 0 auto;
	display: flex; align-items: center; justify-content: center;
	background: #0d6efd; color: #fff; font-size: 1.6rem;
}
.table-responsive .table { margin-bottom: 0; }
.kart-sayi { font-size: 1.6rem; font-weight: 600; }

/* ---------- FAZ 1A ---------- */
.sinif-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: .25rem .75rem; }
.gezi-afis-kucuk { max-height: 90px; }
.kontenjan-ek { width: 72px; }
.satir-girdi { width: 80px; }
.gezi-metrik .fw-semibold { font-size: .95rem; }

/* Koltuk krokisi (sketch-* siniflari; PLAN 4.4). Tanimadigi tip "empty" gibi cizilir. */
.koltuk-kroki { --kroki-hucre: 40px; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
.koltuk-kroki.kroki-kucuk { --kroki-hucre: 24px; }
.kroki-izgara {
	display: grid; gap: 4px; grid-auto-rows: var(--kroki-hucre); width: max-content;
	padding: 8px; background: #f8f9fa; border: 1px solid #e3e6ea; border-radius: 12px 12px 6px 6px;
}
.kroki-hucre {
	display: flex; align-items: center; justify-content: center; min-width: 0;
	border-radius: 6px; border: 1px solid transparent; padding: 0; margin: 0;
	font-size: .78rem; font-weight: 600; line-height: 1; white-space: nowrap; overflow: hidden;
	background: transparent; color: inherit; user-select: none;
}
.kroki-kucuk .kroki-hucre { font-size: .58rem; border-radius: 4px; }
.koltuk-kroki:not(.kroki-kucuk) .kroki-hucre:not(.sketch-seat):not(.sketch-reserved) {
	white-space: normal; text-align: center; line-height: 1.05; word-break: break-word; padding: 1px;
}
button.kroki-hucre { cursor: pointer; }
button.kroki-hucre:focus-visible { outline: 2px solid #0d6efd; outline-offset: 1px; }
.kroki-hucre.sketch-seat     { background: #d1e7dd; border-color: #75b798; color: #0f5132; }
.kroki-hucre.sketch-reserved { background: #ffe5d0; border-color: #fd9843; color: #984c0c; }
.kroki-hucre.sketch-empty    { border: 1px dashed #adb5bd; }
.kroki-hucre.sketch-driver   { background: #343a40; color: #fff; }
.kroki-hucre.sketch-attendant { background: #6c757d; color: #fff; font-size: .62rem; }
.kroki-hucre.sketch-wc, .kroki-hucre.sketch-stairs, .kroki-hucre.sketch-door, .kroki-hucre.sketch-facility {
	background: #dee2e6; border-color: #ced4da; color: #495057; font-size: .6rem; font-weight: 500;
}
.kroki-kucuk .kroki-hucre.sketch-wc, .kroki-kucuk .kroki-hucre.sketch-stairs, .kroki-kucuk .kroki-hucre.sketch-door, .kroki-kucuk .kroki-hucre.sketch-facility,
.kroki-kucuk .kroki-hucre.sketch-attendant { font-size: .45rem; }
.kroki-hucre.occupied { background: #cfe2ff; border-color: #6ea8fe; color: #052c65; }
.kroki-hucre.girl     { background: #f7d6e6; border-color: #e685b5; color: #801f4f; }
.kroki-hucre.boy      { background: #cfe2ff; border-color: #6ea8fe; color: #052c65; }
.kroki-hucre.guest    { background: #fff3cd; border-color: #ffc107; color: #664d03; }
.kroki-hucre.mine     { background: #198754; border-color: #146c43; color: #fff; }
.kroki-hucre.selected { box-shadow: 0 0 0 3px #198754; }
.kroki-hucre.gender-blocked { background: #e9ecef; border-color: #dee2e6; color: #adb5bd; }
.kroki-hucre.locked   { box-shadow: inset 0 0 0 2px #212529; }
.kroki-hucre.vurgu    { box-shadow: 0 0 0 3px #0dcaf0; }

/* Editor */
.kroki-duzenle .kroki-hucre.sketch-aisle, .kroki-duzenle .kroki-hucre.sketch-ghost { border: 1px dotted #ced4da; }
.kroki-duzenle .kroki-hucre.sketch-aisle::after { content: "·"; color: #adb5bd; }
.ke-arac { display: inline-flex; align-items: center; gap: .3rem; transition: none; }
.ke-arac.active { background: #0d6efd; border-color: #0d6efd; color: #fff; }
.ke-ornek { display: inline-block; width: 12px; height: 12px; border-radius: 3px; border: 1px solid #ced4da; }
.ke-ornek.sketch-seat { background: #d1e7dd; } .ke-ornek.sketch-reserved { background: #ffe5d0; }
.ke-ornek.sketch-empty { border-style: dashed; } .ke-ornek.sketch-aisle { border-style: dotted; }
.ke-ornek.sketch-ghost { border-color: transparent; background: #f1f3f5; }
.ke-ornek.sketch-driver { background: #343a40; } .ke-ornek.sketch-attendant { background: #6c757d; }
.ke-ornek.sketch-wc, .ke-ornek.sketch-stairs, .ke-ornek.sketch-door, .ke-ornek.sketch-facility { background: #dee2e6; }
.ke-girdi { width: auto; max-width: 300px; }
.ke-girdi-no { max-width: 170px; }
@media (max-width: 575.98px) {
	.koltuk-kroki { --kroki-hucre: 36px; }
	.ke-araclar .ke-arac { font-size: .75rem; padding: .2rem .4rem; }
}

/* ---------- FAZ 1B: veli ekrani (mobil oncelikli) ---------- */
.veli-dar { max-width: 560px; }
.veli-logo { max-height: 72px; }
.veli-gezi-kart:hover { box-shadow: 0 .5rem 1rem rgba(0,0,0,.08) !important; }
.veli-afis { max-height: 260px; object-fit: contain; }
.veli-cok-satir { white-space: pre-line; }
.veli-lejant { display: flex; flex-wrap: wrap; gap: .25rem .75rem; }
.veli-lejant .lj { display: inline-block; width: 14px; height: 14px; border-radius: 3px; border: 1px solid #ced4da; vertical-align: -2px; margin-right: .25rem; }
.lj.sketch-seat { background: #d1e7dd; border-color: #75b798; } .lj.sketch-reserved { background: #ffe5d0; border-color: #fd9843; }
.lj.girl { background: #f7d6e6; border-color: #e685b5; } .lj.boy { background: #cfe2ff; border-color: #6ea8fe; }
.lj.guest { background: #fff3cd; border-color: #ffc107; } .lj.mine { background: #198754; border-color: #146c43; }
.lj.gender-blocked { background: #e9ecef; }
.veli-kroki { --kroki-hucre: 42px; }
.veli-kroki button.kroki-hucre.sketch-seat:hover { background: #a3cfbb; }
.veli-kaydet-bar { position: sticky; bottom: 0; background: #fff; padding: .5rem 0; border-top: 1px solid #e9ecef; }
@media (max-width: 575.98px) {
	.veli-kroki { --kroki-hucre: 40px; }
}
/* Basvurular / islem ekrani */
.satir-borclu > td { background: #fff3cd !important; }
.basvuru-ozet .fw-semibold { font-size: 1.05rem; }
.admin-kroki { --kroki-hucre: 34px; }
.yoklama-tablo td.kutu { width: 36px; }
@media print {
	.panel-menu, .panel-ustbar, .yazdirma-gizle { display: none !important; }
	.panel-icerik { margin-left: 0 !important; }
}
/* Raporlar (FAZ 2) */
.rapor-tablo th { white-space: nowrap; }
.rapor-tablo tfoot td { background: #f8f9fa; }
.rapor-menu .nav-link:not(.active) { color: #495057; background: #fff; }
.rapor-kroki { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
.rapor-kroki .kroki-on { text-align: center; font-size: .75rem; color: #6c757d; border: 1px solid #ced4da; border-bottom: 0; border-radius: 12px 12px 0 0; padding: 2px; min-width: 360px; }
.kroki-tablo { width: 100%; min-width: 360px; table-layout: fixed; border-collapse: separate; border-spacing: 3px; border: 1px solid #ced4da; font-size: .72rem; }
.kroki-tablo td { border: 1px solid #adb5bd; border-radius: 4px; text-align: center; vertical-align: middle; height: 44px; padding: 1px 2px; line-height: 1.15; overflow: hidden; word-break: break-word; }
.kroki-tablo td.k-yok { border: 0; }
.kroki-tablo .k-no, .kroki-tablo .k-isaret { font-weight: 600; }
.kroki-tablo .k-sinif { color: #6c757d; }
.k-kiz { background: #f7d6e6; } .k-erkek { background: #cfe2ff; } .k-misafir { background: #fff3cd; } .k-dolu { background: #e2e3e5; }
.k-ayrilmis { background: #ffe5d0; color: #7a3d00; } .k-bos { background: #fff; color: #6c757d; } .k-diger { background: #dee2e6; font-weight: 600; font-size: .65rem; }
.rapor-kroki-lejant .k-ornek { display: inline-block; min-width: 18px; border: 1px solid #adb5bd; border-radius: 3px; text-align: center; font-size: .7rem; margin-left: .5rem; }
/* Basvuru Linki / QR modali (FAZ 1 duzeltme D5) */
.qr-tuval { max-width: 100%; height: auto; image-rendering: pixelated; background: #fff; }
#basvuruLinkiAdres { font-size: .8rem; }
/* ---------- FAZ 3: veli portali, odeme, bildirim ---------- */
.veli-ust-menu .nav-link { border-radius: 999px; }
.veli-rezervasyon-kart:hover { box-shadow: 0 .5rem 1rem rgba(0,0,0,.08) !important; }
.veli-kalem-tablo td, .veli-odeme-gecmisi td { vertical-align: middle; }
.veli-rezervasyon details > summary { cursor: pointer; }
.odeme-iframe { display: block; width: 100%; min-height: 680px; border: 0; background: #fff; }
.test-odeme { border-top: 4px solid #ffc107 !important; }
.bildirim-icerik { min-width: 220px; max-width: 420px; }
.pano-uyari:hover { filter: brightness(.97); }
@media (max-width: 575.98px) {
	.odeme-iframe { min-height: 760px; }
}

/* ---------- 007 (karsi gorus): cinsiyet kurali ornegi, kapasite asimi, iade ---------- */
.ornek-sira { display: inline-flex; gap: 3px; align-items: center; flex-wrap: nowrap; }
.ornek-koltuk { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border: 1px solid #adb5bd; border-radius: 4px; font-size: .75rem; font-weight: 600; background: #fff; color: #495057; }
.ornek-koltuk.k { background: #f7d6e6; border-color: #e685b5; color: #801f4f; }
.ornek-koltuk.e { background: #cfe2ff; border-color: #6ea8fe; color: #052c65; }
.ornek-koltuk.bos { border-style: dashed; color: #adb5bd; }
.ornek-ayrac { width: 6px; }
.ornek-satir { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; margin-bottom: .35rem; }
.kapasite-asimi-uyari ul { max-height: 16rem; overflow-y: auto; }
.iade-tablo td { vertical-align: middle; }
.iade-tablo td.iade-aciklama { min-width: 14rem; }

/* ---------- Tur 9 (012): kesin kabul dusus onayi (odeme silme satiri) ---------- */
.odeme-tablo .odeme-sil-onay { white-space: normal; min-width: 13rem; max-width: 18rem; margin-left: auto; }
