/* Biletinbu · site stilleri (müşteri ve ofis). Telefon önce; 360 px'te yana taşma yok, dokunma alanı en az 44 px. */
:root {
    --zemin: #f4f4f6; --kart: #ffffff; --yazi: #363636; --yazi-2: #5f5f66; --yazi-3: #6e6e76;
    --cizgi: #e4e4e9; --cizgi-2: #cfcfd6; --pembe: #fc0067; --pembe-koyu: #c80052; --pembe-acik: #ffe3ee;
    --hata: #b3002d; --hata-zemin: #fdecef; --uyari-zemin: #fff6dc; --uyari: #5c4300;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--zemin); color: var(--yazi);
    font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
a { color: var(--pembe-koyu); }
h1 { margin: 0 0 8px; font-size: 26px; line-height: 1.2; }

.ust { background: #fff; border-bottom: 1px solid var(--cizgi); }
.ust-ic { max-width: 1080px; margin: 0 auto; padding: 0 16px; height: 64px; display: flex; align-items: center; gap: 8px; }
.logo { display: flex; align-items: center; min-height: 44px; margin-right: auto; }
.logo img { height: 28px; width: auto; display: block; }
.ust-etiket { padding: 4px 10px; border-radius: 999px; background: var(--pembe-acik); color: var(--pembe-koyu); font-size: 13px; font-weight: 800; }
.ust-form { margin: 0; }
.ust-bag { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border: 0; background: none; font: inherit;
    font-weight: 700; color: var(--yazi); text-decoration: none; cursor: pointer; border-radius: 12px; }
.ust-bag.cerceve { border: 1.5px solid var(--cizgi-2); min-height: 40px; }
.alan-ofis .ust { border-bottom: 3px solid #1c1a1e; }
.alan-ofis .ust-etiket { background: #1c1a1e; color: #fff; }

.icerik { flex: 1; width: 100%; max-width: 1080px; margin: 0 auto; padding: 24px 16px 48px; }
.kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 18px; padding: 24px 20px; }
.kart.dar { max-width: 440px; margin: 16px auto 0; }
.aciklama { margin: 0 0 16px; color: var(--yazi-2); }
.etiket { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; font-size: 14px; font-weight: 700; }
.girdi { width: 100%; min-height: 52px; padding: 0 14px; border-radius: 12px; border: 1.5px solid var(--cizgi-2); background: #fff;
    color: var(--yazi); font: inherit; font-size: 16px; }
.girdi:focus { border-color: var(--pembe); outline: 3px solid var(--pembe-acik); outline-offset: 0; }
.girdi.kod { font-size: 26px; font-weight: 800; letter-spacing: .35em; text-align: center; }
.dugme { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 22px; border: 0; border-radius: 14px;
    background: var(--pembe); color: #fff; font: inherit; font-size: 17px; font-weight: 800; text-decoration: none; cursor: pointer; }
.dugme:hover { background: var(--pembe-koyu); }
.dugme:disabled { opacity: .5; cursor: wait; }
.dugme.tam { width: 100%; }
.bag { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; padding: 0 4px; border: 0; background: none;
    font: inherit; font-weight: 700; color: var(--pembe-koyu); text-decoration: underline; cursor: pointer; }
.hata { margin: -4px 0 14px; padding: 10px 12px; border-radius: 12px; background: var(--hata-zemin); color: var(--hata); font-weight: 700; }
.deneme { margin: 0 0 14px; padding: 10px 12px; border-radius: 12px; background: var(--uyari-zemin); color: var(--uyari); }
.sayac { margin: 0 0 14px; color: var(--yazi-2); }
.yeniden { margin-top: 12px; }
.bilgi { color: var(--yazi-2); }

/* alt bilgi (plan 42): koyu zemin, ince altın çizgi, Cinegold logosu */
.alt { margin-top: 32px; border-top: 3px solid #c39a0c; background: #141418; }
.alt-ic { max-width: 1080px; margin: 0 auto; padding: 24px 16px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; font-size: 13px; color: #a6a6ae; }
.alt-logo { display: block; width: auto; height: 52px; }
.alt-yazi { letter-spacing: .02em; }
@media (min-width: 640px) {
    .alt-ic { flex-direction: row; justify-content: space-between; text-align: left; }
    .alt-logo { height: 60px; }
}
/* personel ekranlarında (iş ekranı) alt bilgi sade kalır: logo giriş kartında */
body.alan-ofis .alt { margin-top: 0; border-top: 1px solid var(--cizgi); background: #fff; }
body.alan-ofis .alt-ic { flex-direction: row; padding: 14px 16px; color: var(--yazi-3); }
body.alan-ofis .alt-logo { display: none; }
/* ana sayfa marka bandı (plan 42) */
.marka-bant { position: relative; display: flex; align-items: center; justify-content: center; margin: 0 0 16px; padding: 18px 16px; border-radius: 18px; overflow: hidden;
    background: radial-gradient(120% 140% at 50% 0%, #2c2a24 0%, #17171b 55%, #0f0f12 100%); box-shadow: inset 0 -2px 0 #c39a0c; }
.marka-logo { display: block; width: auto; height: 64px; max-width: 100%; object-fit: contain; }
@media (min-width: 640px) {
    .marka-bant { padding: 22px 24px; }
    .marka-logo { height: 84px; }
}
/* giriş kartlarında logo */
.giris-marka { display: flex; justify-content: center; margin: -4px 0 14px; padding-bottom: 14px; border-bottom: 1px solid var(--cizgi); }
.giris-logo { display: block; width: auto; height: 60px; max-width: 100%; }
.bildirim { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); max-width: 92vw; padding: 12px 18px; border-radius: 12px;
    background: #363636; color: #fff; font-weight: 600; }
@media (min-width: 640px) { .kart { padding: 32px; } h1 { font-size: 30px; } }

/* ofis paneli: modül kartları */
.moduller { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin: 16px 0; }
.modul { display: flex; flex-direction: column; gap: 4px; min-height: 84px; padding: 16px; border: 1.5px solid var(--cizgi-2); border-radius: 16px;
    color: var(--yazi); text-decoration: none; background: #fff; }
.modul:hover { border-color: var(--pembe); }
.modul b { font-size: 18px; }
.modul small { color: var(--yazi-2); }

/* gişe: solda seanslar, sağda şema + panel (telefonda alt alta) */
.alan-ofis .icerik { max-width: 1400px; }
/* geniş tablolu sayfalar (raporlar, muhasebe, program) büyük ekranda bütün genişliği kullanır; tablo yana daha az kayar (20 Ekim 2026) */
.alan-ofis .icerik:has(#rapor, #muhasebe, #program) { max-width: 1880px; }
.gise { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.gise > * { min-width: 0; }
@media (min-width: 1000px) { .gise { grid-template-columns: 360px minmax(0, 1fr); align-items: start; } .gise-sol { position: sticky; top: 12px; } }
.gise .kart { padding: 16px; }
.gunler { display: flex; gap: 8px; overflow-x: auto; margin: 4px -4px 12px; padding: 0 4px 4px; scrollbar-width: thin; }
.gun { flex: 0 0 auto; min-width: 74px; min-height: 52px; padding: 4px 10px; border: 1.5px solid var(--cizgi-2); border-radius: 12px; background: #fff;
    font: inherit; color: var(--yazi); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15; }
.gun small { color: var(--yazi-3); font-size: 12px; }
.gun.secili { background: var(--yazi); border-color: var(--yazi); color: #fff; }
.gun.secili small { color: #ddd; }
.film { padding: 10px 0; border-top: 1px solid var(--cizgi); }
.film h3 { margin: 0 0 8px; font-size: 16px; }
.film h3 small { padding: 1px 6px; border-radius: 6px; background: #eee; font-size: 12px; }
.saatler { display: flex; flex-wrap: wrap; gap: 8px; }
.saat { min-width: 92px; min-height: 52px; padding: 4px 10px; border: 1.5px solid var(--cizgi-2); border-radius: 12px; background: #fff; font: inherit;
    color: var(--yazi); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15; }
.saat b { font-size: 18px; }
.saat small { font-size: 11.5px; color: var(--yazi-3); }
.saat:hover { border-color: var(--pembe); }
.saat.dolu { opacity: .55; }
.seans-bas h2 { margin: 0; font-size: 22px; }
.basari { margin: 0 0 12px; padding: 12px 14px; border-radius: 12px; background: #e3f5ea; color: #0d5c33; border: 1px solid #9fd8b8; }

/* salon şeması: dar ekranda yatay kaydırılır (sayfa taşmaz) */
#gise-plan-kutu { margin: 12px 0; }
.perde { margin: 10px auto 0; max-width: 520px; padding: 4px; border-radius: 40px 40px 0 0; background: #e7e7ec; text-align: center; font-size: 11px; font-weight: 800;
    letter-spacing: .3em; color: var(--yazi-3); }
.sema { display: flex; flex-direction: column; gap: 4px; overflow-x: auto; padding: 4px 0 8px; }
.sira { display: flex; gap: 3px; align-items: center; justify-content: center; min-width: max-content; margin: 0 auto; }
.harf { width: 18px; text-align: center; font-size: 11px; font-weight: 800; color: var(--yazi-3); flex: 0 0 auto; }
.k { width: 30px; height: 30px; flex: 0 0 auto; padding: 0; border: 1.5px solid var(--cizgi-2); border-radius: 7px 7px 4px 4px; background: #fff;
    font: inherit; font-size: 11px; font-weight: 700; color: var(--yazi); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.k.cift { width: 63px; }
.k.bosluk { border: 0; background: none; cursor: default; }
.k.engelli { border-color: #3d6bd8; color: #3d6bd8; }
.k.benim { background: #16a34a; border-color: #16a34a; color: #fff; }
.k.tutulu { background: #ffd84d; border-color: #e0a800; color: #4a3500; cursor: not-allowed; }
.k.satildi { background: #d9d9de; border-color: #d9d9de; color: #8a8a92; cursor: not-allowed; }
button.k:hover { border-color: var(--pembe); }
@media (pointer: coarse) { .k { width: 34px; height: 34px; } .k.cift { width: 71px; } }
.lejant { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: var(--yazi-2); margin-top: 6px; }
.lejant span { display: inline-flex; align-items: center; gap: 6px; }
.lejant i.k { width: 16px; height: 16px; cursor: default; }
.secim { margin: 10px 0 0; }
.arac-satir { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 8px 0 16px; }
.en-iyi { display: flex; align-items: flex-end; gap: 8px; margin: 0; }
.etiket.yatay { margin: 0; }
.girdi.kisa { width: 72px; text-align: center; }
.dugme.ikinci { background: #fff; color: var(--yazi); border: 1.5px solid var(--cizgi-2); font-size: 15px; min-height: 48px; }
.dugme.ikinci:hover { border-color: var(--pembe); background: #fff; }
.sat-form h3 { margin: 18px 0 8px; font-size: 16px; }
.turler { display: grid; gap: 8px; }
.tur { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 12px; }
.tur span { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.tur small { color: var(--yazi-3); font-size: 12.5px; }
.girdi.adet { width: 72px; min-height: 48px; text-align: center; font-weight: 800; flex: 0 0 auto; }
.ek { margin-top: 10px; }
.musteri { margin: 14px 0 0; }
.musteri summary, .son-satislar summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; }
.odeme { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.secenek { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px; border: 1.5px solid var(--cizgi-2); border-radius: 12px; cursor: pointer; font-weight: 700; }
.secenek input { width: 18px; height: 18px; accent-color: var(--pembe); }
.toplam { font-size: 18px; margin: 12px 0; }
.toplam b { font-size: 24px; }
.son-satislar { margin-top: 18px; border-top: 1px solid var(--cizgi); padding-top: 6px; }
.son-satislar ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.son-satislar li { display: grid; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--cizgi); font-size: 14px; }
.iptal-form { display: flex; flex-wrap: wrap; gap: 6px; }
.iptal-form .girdi { min-height: 44px; flex: 1 1 160px; }
.satir-form { margin: 0; }

/* rezervasyon ve menü */
.k.rezerve { background: #dfe8ff; border-color: #8aa6ea; color: #24408f; cursor: not-allowed; }
.rez, .menuler { margin: 14px 0 0; }
.rez summary, .menuler summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; }
.rez-form { display: grid; gap: 4px; margin-bottom: 10px; }
.rez-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rez-liste li { display: grid; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--cizgi); font-size: 14px; }
.dugmeler { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.girdi.madet { width: 72px; min-height: 48px; text-align: center; font-weight: 800; flex: 0 0 auto; }

/* bilet çıktısı (80 mm termal): ekranda önizleme, yazdırırken yalnız bilet */
#gise-cikti:empty { display: none; }
.bilet-cikti { width: 72mm; max-width: 100%; margin: 16px auto 0; padding: 10px; background: #fff; color: #000; border: 1px dashed #bbb;
    font: 12px/1.35 "DejaVu Sans", Arial, sans-serif; }
.bilet-cikti .tph { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.bilet-cikti .tph img { height: 26px; filter: grayscale(1); }
.bilet-cikti .tpf { display: flex; flex-direction: column; align-items: center; text-align: center; margin: 8px 0; gap: 1px; }
.bilet-cikti .tpf > b { font-size: 16px; }
.bilet-cikti .tpsal { font-weight: 800; font-size: 14px; }
.bilet-cikti .tps { display: grid; grid-template-columns: 1fr 3fr; gap: 6px; border-top: 1px dashed #000; border-bottom: 1px dashed #000; padding: 6px 0; }
.bilet-cikti .tps div { display: flex; flex-direction: column; }
.bilet-cikti .tps b { font-size: 14px; word-break: break-word; }
.bilet-cikti .tpb { padding: 6px 0; border-bottom: 1px dashed #000; }
.bilet-cikti .tpb div { display: flex; justify-content: space-between; gap: 8px; }
.bilet-cikti .tpb .tt { font-weight: 800; margin-top: 4px; }
.bilet-cikti .tpq { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 8px 0; border-bottom: 1px dashed #000; gap: 4px; }
.bilet-cikti .ql { font-weight: 800; letter-spacing: .1em; }
.bilet-cikti .karekod { width: 34mm; height: 34mm; }
.bilet-cikti .tpm { display: flex; flex-direction: column; }
.bilet-cikti .ebnot { margin: 4px 0 0; font-size: 10px; }
.bilet-cikti .tpad { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 6px 0; border-bottom: 1px dashed #000; }
.bilet-cikti .tpl p { margin: 4px 0; font-size: 10.5px; }
.bilet-cikti .tpk { display: flex; justify-content: space-between; gap: 6px; font-size: 10.5px; border-top: 1px dashed #000; padding-top: 4px; }
.bilet-cikti .tpa { text-align: center; margin: 6px 0 0; font-size: 10.5px; }
.bilet-cikti code { font-size: 12px; font-weight: 700; }
.yazdir-dugme { margin-top: 10px; }
@media print {
    @page { size: 80mm auto; margin: 0; }
    body * { visibility: hidden; }
    .bilet-cikti, .bilet-cikti * { visibility: visible; }
    .bilet-cikti { position: absolute; left: 0; top: 0; width: 76mm; margin: 0; border: 0; padding: 2mm; }
    .yazdir-dugme { display: none; }
}

/* yönetici modülü */
.yonetici { padding: 16px; }
.sekmeler { display: flex; gap: 6px; overflow-x: auto; margin: -4px -4px 16px; padding: 4px 4px 8px; border-bottom: 1px solid var(--cizgi); scrollbar-width: thin; }
.sekme { flex: 0 0 auto; min-height: 44px; padding: 0 14px; border: 0; border-radius: 10px; background: none; font: inherit; font-weight: 700; color: var(--yazi-2); cursor: pointer; }
.sekme:hover { background: #f1f1f4; }
.sekme.secili { background: var(--yazi); color: #fff; }
.yon-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 12px; }
.yon-bas h2 { margin: 0; font-size: 22px; }
.yon-bas .bag { margin-top: 0; }
.suzgec { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.cip { min-height: 40px; padding: 0 14px; border: 1.5px solid var(--cizgi-2); border-radius: 999px; background: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.cip.secili { background: var(--yazi); border-color: var(--yazi); color: #fff; }
.liste { list-style: none; margin: 0; padding: 0; }
.satir-k { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--cizgi); }
.satir-k.soluk .satir-bilgi { opacity: .6; }
.satir-bilgi { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.satir-bilgi small { color: var(--yazi-2); overflow-wrap: anywhere; }
.satir-k .dugme { flex: 0 0 auto; }
.etiket-k { display: inline-block; margin: 2px 4px 0 0; padding: 1px 8px; border-radius: 999px; background: #eee; color: var(--yazi-2); font-size: 12px; font-weight: 700; }
.etiket-k.pasif { background: var(--hata-zemin); color: var(--hata); }
.etiket-k.tam { background: var(--pembe-acik); color: var(--pembe-koyu); }
.yon-form h3 { margin: 20px 0 6px; font-size: 16px; }
.alan-izgara { display: grid; gap: 0 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.kutular { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.kutu { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; border: 1.5px solid var(--cizgi-2); border-radius: 12px; background: #fff; cursor: pointer; font-weight: 600; }
.kutu input { width: 20px; height: 20px; accent-color: var(--pembe); margin: 0; }
.kutu:has(input:checked) { border-color: var(--pembe); background: var(--pembe-acik); }
.kutu:has(input:disabled) { opacity: .6; cursor: not-allowed; }
.sube-kasalar { display: grid; gap: 8px; }
.sube-kasa { display: grid; gap: 8px; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
.sube-kasa.soluk .kutu { opacity: .6; }
.sube-kasa .girdi { min-height: 48px; }
.yon-alt { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--cizgi); }
.etiket.buyu { flex: 1 1 240px; }
.kayit-liste li { padding: 10px 0; border-top: 1px solid var(--cizgi); }
.kayit-bas { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.kayit-bas time { margin-left: auto; color: var(--yazi-3); font-size: 13px; }
.kayit-liste small { display: block; color: var(--yazi-2); overflow-wrap: anywhere; font-size: 13px; }
@media (max-width: 640px) {
    .sube-kasa { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .sube-kasa .kutu { grid-column: 1 / -1; }
    .satir-k { align-items: flex-start; }
}
.tam-not { display: none; margin: 8px 0; padding: 10px 12px; border-radius: 12px; background: var(--pembe-acik); color: var(--pembe-koyu); font-weight: 700; }
.yon-form:has(input[name=bln_tam]:checked) .tam-not { display: block; }
.yon-form:has(input[name=bln_tam]:checked) .tam-gizle { opacity: .45; }
.sube-kasa:not(:has(input[type=checkbox]:checked)) .girdi { display: none; }
.sube-kasa:not(:has(input[type=checkbox]:checked)) { grid-template-columns: minmax(0, 1fr); }
.satir-dugmeler { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; flex: 0 0 auto; }
.sema-metin { min-height: 260px; padding: 12px 14px; font: 14px/1.5 ui-monospace, "DejaVu Sans Mono", Consolas, monospace; white-space: pre; overflow-x: auto; resize: vertical; }
.sema-yardim { margin: 0 0 14px; padding: 10px 14px; border: 1px solid var(--cizgi); border-radius: 12px; background: #fafafb; }
.sema-yardim summary { cursor: pointer; font-weight: 700; min-height: 32px; display: flex; align-items: center; }
.sema-yardim p { margin: 6px 0; color: var(--yazi-2); }

/* program ve tanımlar */
.hafta-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 4px 0 12px; }
.hafta-nav b { font-size: 16px; }
.izgara-kutu { overflow-x: auto; border: 1px solid var(--cizgi); border-radius: 12px; }
.izgara { border-collapse: collapse; min-width: 980px; width: 100%; font-size: 13px; }
.izgara th, .izgara td { border-bottom: 1px solid var(--cizgi); border-right: 1px solid var(--cizgi); padding: 6px; vertical-align: top; text-align: left; }
.izgara thead th { background: #f6f6f8; font-size: 13px; position: sticky; top: 0; }
.izgara thead th small, .izgara tbody th small { display: block; color: var(--yazi-3); font-weight: 600; }
.izgara thead th.bugun { background: var(--pembe-acik); }
.izgara tbody th { width: 110px; background: #fafafb; }
.seans-cip { display: block; margin: 0 0 4px; padding: 3px 6px; border-left: 4px solid var(--renk, #999); border-radius: 6px; background: #f3f3f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.seans-cip.kapali { opacity: .5; text-decoration: line-through; }
.hucre-dugme { width: 100%; min-height: 36px; margin-top: 2px; border: 1.5px dashed var(--cizgi-2); border-radius: 8px; background: #fff; font: inherit; font-size: 12.5px; font-weight: 700; color: var(--yazi-2); cursor: pointer; }
.hucre-dugme:hover { border-color: var(--pembe); color: var(--pembe-koyu); }
.seans-satirlar { display: grid; gap: 8px; margin-bottom: 8px; }
.seans-satir { display: grid; gap: 8px; grid-template-columns: 90px minmax(0, 2fr) minmax(0, 1fr) 90px 130px 160px 140px 80px; align-items: center; }
@media (min-width: 761px) and (max-width: 1300px) { .seans-satir { grid-template-columns: 90px minmax(0, 2fr) minmax(0, 1fr) 90px; } .seans-satir.bas { display: none; } }
.saat-girdi { text-align: center; font-weight: 800; font-variant-numeric: tabular-nums; }
.seans-satir.bas { font-size: 12.5px; font-weight: 800; color: var(--yazi-2); }
.seans-satir.korunur { background: #fff7e6; border-radius: 10px; padding: 4px; }
.seans-satir .girdi { min-height: 46px; }
.kutu.kucuk { min-height: 46px; padding: 0 10px; font-size: 14px; }
.satir-film { display: flex; gap: 12px; align-items: center; min-width: 0; }
.afis-yok { background: var(--renk, #777); }
.satir-film img, .afis-yok { width: 44px; height: 64px; object-fit: cover; border-radius: 6px; flex: 0 0 auto; }
.afis-alan { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; }
.afis-alan img { width: 96px; height: 140px; object-fit: cover; border-radius: 8px; border: 1px solid var(--cizgi); }
.girdi.uzun { min-height: 96px; padding: 10px 14px; line-height: 1.5; resize: vertical; }
.tur-kartlar { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }
.tur-kart { padding: 14px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.tur-kart.soluk { opacity: .65; }
.tur-bas { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }
.tur-bas small { color: var(--yazi-2); }
.alan-izgara.dar { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
.gunler-kutu .kutu { flex: 1 1 90px; }
@media (max-width: 760px) {
    .seans-satir { grid-template-columns: 1fr 1fr; padding: 8px; border: 1px solid var(--cizgi); border-radius: 12px; }
    .seans-satir.bas { display: none; }
    .seans-satir select[name^="int_film"] { grid-column: 1 / -1; }
}

/* gişe: sorgu, satışlar, kasam */
.gise-ust { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.gise-sorgu { display: flex; gap: 8px; flex: 1 1 100%; margin: 0; }
.gise-sorgu .girdi { min-height: 48px; }
.gise-ust > .dugme { flex: 1 1 0; }
.ayrinti { display: grid; grid-template-columns: minmax(90px, max-content) minmax(0, 1fr); gap: 6px 14px; margin: 0 0 14px; }
.ayrinti dt { font-weight: 800; color: var(--yazi-2); font-size: 14px; }
.ayrinti dd { margin: 0; overflow-wrap: anywhere; }
.kasa-kartlar { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); margin-bottom: 16px; }
.kasa-kartlar > div { display: flex; flex-direction: column; gap: 2px; padding: 12px; border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; }
.kasa-kartlar b { font-size: 22px; font-variant-numeric: tabular-nums; }
.kasa-kartlar small { color: var(--yazi-2); }
.on-satis { background: var(--pembe) !important; color: #fff; }

/* muhasebe raporları */
.rapor-secim { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.rapor-secim .girdi { width: auto; min-width: 150px; min-height: 48px; }
.rapor-baslik { margin: 8px 0 12px; font-size: 18px; letter-spacing: .02em; }
.tablo-kutu { overflow-x: auto; margin: 0 0 14px; border: 1px solid var(--cizgi); border-radius: 12px; }
.rapor { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.rapor th, .rapor td { padding: 8px 10px; border-bottom: 1px solid var(--cizgi); text-align: right; white-space: nowrap; }
.rapor th:first-child, .rapor td:first-child { text-align: left; }
.rapor thead th { background: #f6f6f8; font-size: 13px; color: var(--yazi-2); }
.rapor.kucuk { font-size: 13px; }
.rapor.ozet td:first-child { white-space: normal; }
.rapor tr.tt td { font-weight: 800; background: #fafafb; }
.rapor .eksi { color: var(--hata); }

/* ---------------------------------------------------------------- müşteri sitesi (eski web/AnaSayfa.vue, SinemaSec.vue, FilmSayfasi.vue) */
.ust-bag.personel { font-weight: 700; color: var(--yazi-2); }
.web { width: 100%; max-width: 1080px; margin: 0 auto; }
.web-baslik { margin: 0 0 16px; font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.w-sekmeler { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; margin-bottom: 16px; border-radius: 14px; background: #ececef; }
.w-sekme { min-height: 44px; border: 0; border-radius: 11px; background: none; font: inherit; font-size: 15px; font-weight: 800; color: var(--yazi-2); cursor: pointer; }
.w-sekme span { font-weight: 600; color: var(--yazi-3); }
.w-sekme.secili { background: #fff; color: var(--yazi); box-shadow: 0 1px 3px rgba(20, 20, 30, .12); }
.w-afisler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
/* ana sayfa: solda Vizyondaki / Gelecek filmler sekmeleri (Bulut Bey, 3 Kasım 2026); telefonda üstte yan yana */
.w-duzen .web-baslik { margin-top: 0; }
.w-fiyat { margin: 4px 0 10px; font-size: 15px; font-weight: 800; color: var(--yazi); } /* film sayfası: Tam / Öğrenci fiyatı (3 Kasım 2026) */
.saat-fiyat { display: block; margin-top: 2px; font-size: 12px; font-weight: 700; color: var(--pembe-koyu); }
.w-sekme b { display: block; font-weight: inherit; }
.w-sekme span { display: block; font-size: 12px; }
@media (max-width: 899px) { .w-duzen .web-baslik { display: none; } }
@media (min-width: 900px) {
  .w-duzen { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 24px; align-items: start; }
  .w-yan-sekmeler { position: sticky; top: 88px; grid-template-columns: 1fr; gap: 4px; margin: 0; }
  .w-yan-sekmeler .w-sekme { padding: 10px 14px; text-align: left; }
  .w-yan-sekmeler .w-sekme span { font-size: 13px; }
}
.film-kutu { min-width: 0; }
.film-dugme { display: block; width: 100%; padding: 0; border: 0; background: none; font: inherit; color: var(--yazi); text-align: left; cursor: pointer; }
.film-dugme:hover .w-afis { box-shadow: 0 0 0 2px var(--pembe), 0 6px 16px rgba(20, 20, 30, .14); }
.film-dugme small { display: block; font-size: 13px; color: var(--yazi-3); }
.film-ad { display: -webkit-box; margin-top: 6px; font-size: 15px; line-height: 1.3; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* afiş üstündeki "Bilet al" / "İncele" (hafif, silik): her cihazda hep görünür (Bulut Bey, 13 Ekim 2026 16:53) */
.film-kutu { position: relative; }
.afis-dugmeler { position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 2 / 3; display: flex; align-items: flex-end; gap: 6px; padding: 8px;
    border-radius: 14px; pointer-events: none; background: linear-gradient(to top, rgba(10, 10, 16, .55) 0%, rgba(10, 10, 16, 0) 38%); transition: opacity .2s ease; }
.afis-dugme-sar { display: flex; flex: 1; min-width: 0; }
.afis-dugme { flex: 1; min-width: 0; min-height: 44px; padding: 0 6px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 700; color: #fff;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; pointer-events: auto;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background-color .15s ease, opacity .15s ease; }
.afis-dugme.bilet { border: 0; background: rgba(252, 0, 103, .72); }
.afis-dugme.bilet:hover { background: rgba(252, 0, 103, .9); }
.afis-dugme.incele { border: 1px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .14); }
.afis-dugme.incele:hover { background: rgba(255, 255, 255, .26); }
.afis-dugme:disabled { opacity: .45; cursor: not-allowed; }
.afis-dugme:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ilde-yok { margin-top: 2px; font-weight: 700; color: #8a5a00 !important; font-size: 12.5px !important; }
.w-afis { position: relative; overflow: hidden; aspect-ratio: 2 / 3; padding: 8px; border-radius: 14px; color: #fff; display: flex; flex-direction: column; justify-content: space-between;
    background: linear-gradient(165deg, var(--renk, #555) 0%, color-mix(in srgb, var(--renk, #555) 55%, #111) 100%); box-shadow: 0 6px 16px rgba(20, 20, 30, .14); }
.w-afis img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.w-afis.buyuk { width: 150px; margin: 0 auto; padding: 12px; }
.afis-ust { position: relative; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.afis-yas { padding: 2px 6px; border-radius: 6px; background: rgba(0, 0, 0, .45); font-size: 11px; font-weight: 800; }
.afis-yakinda { align-self: flex-start; padding: 2px 6px; border-radius: 6px; background: #ffd84d; color: #3d2c00; font-size: 11px; font-weight: 800; }
.afis-ad { position: relative; display: -webkit-box; font-size: 15px; line-height: 1.2; font-weight: 800; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.w-afis.buyuk .afis-ad { font-size: 18px; }
/* ön satış rozeti: yanıp söner (hareket azaltma tercihinde sabit) */
.w-yanip { display: block; align-self: stretch; padding: 4px 6px; border-radius: 8px; background: #e3002b; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .02em;
    text-align: center; line-height: 1.2; animation: w-yanip 1.1s ease-in-out infinite; }
.w-yanip span { display: block; }
.w-yanip span:first-child { font-size: 12px; }
.w-yanip.satir { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12.5px; }
@keyframes w-yanip { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(227, 0, 43, .55); } 50% { opacity: .55; box-shadow: 0 0 0 6px rgba(227, 0, 43, 0); } }
@media (prefers-reduced-motion: reduce) { .w-yanip { animation: none; } }
.bos-kart { text-align: center; color: var(--yazi-2); }
.ortala { margin: 20px 0 0; text-align: center; }
/* pencere (alttan açılır; geniş ekranda ortada) */
body.pencere-acik { overflow: hidden; }
.pencere { position: fixed; inset: 0; z-index: 70; display: flex; align-items: flex-end; justify-content: center; background: rgba(0, 0, 0, .45); }
.pencere-kutu { width: 100%; max-height: 88vh; display: flex; flex-direction: column; background: #fff; border-radius: 22px 22px 0 0; box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
    outline: none; padding-bottom: env(safe-area-inset-bottom); }
.pencere-bas { display: flex; align-items: center; gap: 12px; padding: 16px 20px 12px; border-bottom: 1px solid var(--cizgi); }
.pencere-bas h2 { flex: 1; margin: 0; font-size: 20px; font-weight: 800; }
.kapat { width: 44px; height: 44px; margin-right: -8px; border: 0; border-radius: 999px; background: none; font-size: 28px; line-height: 1; color: var(--yazi-2); cursor: pointer; }
.kapat:hover { background: #f2f2f4; }
.pencere-ic { overflow-y: auto; }
.pencere-uyari { margin: 0; padding: 12px 20px; background: #fff6dc; border-bottom: 1px solid #efd58a; font-size: 14.5px; font-weight: 600; color: #5c4300; }
.pencere-bos { margin: 0; padding: 32px 20px; text-align: center; color: var(--yazi-2); }
.sube-satir { width: 100%; min-height: 58px; padding: 0 20px; display: flex; align-items: center; gap: 12px; border: 0; border-top: 1px solid var(--cizgi); background: #fff;
    font: inherit; text-align: left; color: var(--yazi); cursor: pointer; }
.pencere-ic .sube-satir:first-child, .pencere-uyari + .sube-satir { border-top: 0; }
.sube-satir:hover { background: #fafafb; }
.sube-satir b { flex: 1; min-width: 0; font-size: 16.5px; }
.isaret { font-size: 22px; color: var(--yazi-3); }
.isaret.secili { color: var(--pembe); font-weight: 800; }
/* film sayfası */
.geri { margin: 0 0 8px; }
.film-bas { display: grid; gap: 20px; align-items: start; }
.film-bilgi { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.film-bilgi .web-baslik { margin: 0; font-size: 26px; line-height: 1.15; }
.rozetler { display: flex; flex-wrap: wrap; gap: 8px; }
.w-rozet { padding: 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 800; }
.w-rozet.mavi { background: #eef0ff; color: #2b3a9c; }
.w-rozet.sari { background: #fff1c2; color: #5c4300; }
.film-alt { margin: -6px 0 0; font-size: 15px; color: var(--yazi-2); }
.film-uyari { margin: 0; padding: 8px 12px; border-radius: 12px; background: #fdecef; color: #8a0022; font-size: 14px; font-weight: 600; }
.film-ozet { margin: 0; font-size: 15.5px; line-height: 1.6; }
/* film künyesi (yönetmen, oyuncular, yazar, vizyon, süre, tür): telefonda etiket üstte, geniş ekranda yan yana */
.film-kunye { display: flex; flex-direction: column; gap: 8px; margin: 0; font-size: 15px; line-height: 1.45; }
.film-kunye div { display: grid; grid-template-columns: 1fr; gap: 0; }
.film-kunye dt { font-size: 13px; font-weight: 700; color: var(--yazi-3); }
.film-kunye dd { margin: 0; color: var(--yazi); overflow-wrap: anywhere; }
@media (min-width: 640px) {
    .film-kunye div { grid-template-columns: 110px 1fr; gap: 12px; }
    .film-kunye dt { font-size: 15px; }
}
.film-bilgi .dugme.ikinci { align-self: flex-start; }
/* fragman (plan 40.2): 16:9, kapakta afiş; basınca oynatıcı aynı yere gelir */
.fragman { position: relative; width: 100%; max-width: 640px; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #111; }
.fragman iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fragman-kapak { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none;
    background: radial-gradient(circle at 50% 50%, #3a3a40 0%, #111 75%); }
.fragman-kapak img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: .55; }
.fragman-oynat { position: relative; width: 68px; height: 68px; border-radius: 50%; background: var(--pembe); box-shadow: 0 4px 18px rgba(0, 0, 0, .45); }
.fragman-oynat::after { content: ""; position: absolute; left: 27px; top: 21px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent #fff; }
.fragman-yazi { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; background: linear-gradient(transparent, rgba(0, 0, 0, .7)); font-size: 15px; font-weight: 700; }
.fragman-kapak:hover .fragman-oynat, .fragman-kapak:focus-visible .fragman-oynat { background: var(--pembe-koyu); }
.fragman-kapak:focus-visible { outline: 3px solid var(--pembe); outline-offset: -3px; }
.film-seans { margin-top: 28px; }
/* seanslar başlığın altında, belirgin kutu (16 Ekim 2026); fragman sayfanın altında tam genişlik */
.film-seans.ust { margin-top: 2px; padding: 14px; border: 2px solid var(--pembe); border-radius: 16px; background: var(--pembe-acik); }
.film-seans.ust h2 { font-size: 19px; }
.film-seans.ust .bos-kart { margin: 0; }
.film-fragman { margin-top: 28px; }
.film-fragman h2 { margin: 0 0 10px; font-size: 20px; font-weight: 800; }
.film-fragman .fragman { max-width: 960px; }
.film-seans h2 { margin: 0 0 8px; font-size: 20px; font-weight: 800; }
.film-seans > .pencere-uyari { margin-bottom: 12px; border: 1px solid #efd58a; border-radius: 12px; }
.secili-sube { display: flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 12px; }
.secili-sube b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15.5px; }
.w-gunler { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 12px; scrollbar-width: none; }
.w-gun { flex: 0 0 auto; min-width: 76px; min-height: 56px; padding: 0 12px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; font: inherit; color: var(--yazi);
    text-align: center; line-height: 1.2; cursor: pointer; }
.w-gun.secili { background: var(--yazi); border-color: var(--yazi); color: #fff; }
.gun-ad { display: block; font-size: 15px; font-weight: 800; }
.gun-no { display: block; font-size: 12.5px; color: var(--yazi-3); }
.w-gun.secili .gun-no { color: rgba(255, 255, 255, .8); }
.w-saatler { display: flex; flex-wrap: wrap; gap: 8px; }
.w-saat { min-width: 86px; min-height: 52px; padding: 6px 12px; border: 1.5px solid var(--cizgi-2); border-radius: 12px; background: #fff; font: inherit; color: var(--yazi);
    display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.2; cursor: pointer; }
.w-saat:hover { border-color: var(--pembe); }
.w-saat.kapali { opacity: .45; cursor: not-allowed; }
.w-saat-no { font-size: 18px; font-weight: 800; }
.saat-ek { font-size: 11.5px; font-weight: 600; color: var(--yazi-3); }
@media (min-width: 560px) { .w-afisler { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 640px) {
    .pencere { align-items: center; }
    .pencere-kutu { width: 440px; border-radius: 22px; }
    .film-bas { grid-template-columns: 220px 1fr; gap: 32px; }
    .w-afis.buyuk { width: 220px; margin: 0; }
    .w-afis.buyuk .afis-ad { font-size: 22px; }
    .film-bilgi .web-baslik { font-size: 34px; }
    .web-baslik { font-size: 28px; }
}
@media (min-width: 768px) { .w-afisler { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .w-afisler { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .w-icerik .w-afisler { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* SGM bağlantısı kutusu (SGM ve e-bilet ekranı) */
.sgm-kutu { margin: 12px 0 16px; padding: 14px 16px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.sgm-kutu > .dugme { margin-top: 8px; }
.sgm-kutu h3 { margin: 16px 0 6px; font-size: 16px; }
.sgm-kutu > small { display: block; margin-top: 4px; font-size: 14px; color: var(--yazi-2); }
/* veri tablosu (Program → Filmler, SGM'den film ekle): şerit, tablo, kart görünümü, sayfalar. Telefonda kart (375 px), dokunma 44 px */
.vt-serit { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.vt-serit .vt-ara { flex: 1 1 220px; min-width: 0; }
.vt-serit select.girdi { flex: 1 1 130px; width: auto; min-width: 0; max-width: 220px; min-height: 44px; }
.vt-yon { min-width: 44px; min-height: 44px; padding: 0 12px; }
.vt-gorunum { display: inline-flex; gap: 4px; margin-left: auto; }
.vt-gorunum .dugme { min-height: 44px; padding: 0 14px; }
.vt-gorunum .dugme[aria-pressed="true"] { background: var(--yazi); border-color: var(--yazi); color: #fff; }
.vt-kutu { overflow-x: auto; border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; }
.vt-tablo { width: 100%; border-collapse: collapse; font-size: 14px; }
.vt-tablo th, .vt-tablo td { padding: 8px 10px; text-align: left; vertical-align: middle; border-top: 1px solid var(--cizgi); }
.vt-tablo thead th { border-top: 0; background: var(--zemin); white-space: nowrap; font-size: 13px; color: var(--yazi-2); }
.vt-tablo tr[hidden] { display: none; }
.vt-tablo tr.soluk td:not(.vt-islem) { opacity: .6; }
.vt-th { min-height: 44px; padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: inherit; cursor: pointer; }
th[aria-sort="ascending"] .vt-th::after { content: " ↑"; }
th[aria-sort="descending"] .vt-th::after { content: " ↓"; }
.vt-afis img, .vt-afis .afis-yok { display: block; width: 44px; height: 66px; object-fit: cover; border-radius: 6px; }
.vt-afis .afis-yok { background: var(--renk, var(--cizgi)); }
.vt-ad b { display: block; }
.vt-ad small { display: block; font-size: 13px; color: var(--yazi-2); }
.vt-ozet { display: -webkit-box; margin-top: 4px; max-width: 60ch; font-size: 13px; line-height: 1.4; color: var(--yazi-3); -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vt.kart .vt-ozet { -webkit-line-clamp: 3; }
.vt-islem { text-align: right; white-space: nowrap; }
.vt-islem .dugme { min-height: 44px; }
.vt-bos { margin: 12px 0; color: var(--yazi-2); }
.vt-sayfalar { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; font-size: 14px; }
.vt-sayfalar .dugme { min-height: 44px; min-width: 44px; white-space: nowrap; }
.vt-git-yazi { margin: 0 4px; }
@media (max-width: 479px) { .vt-git-yazi { display: none; } }
.vt-orta { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 10px; text-align: center; }
.vt-orta select.girdi { width: auto; min-height: 44px; }
#vt-bildirim-sgm:empty, #vt-bildirim-film:empty { display: none; }
.vt-cikti { color: var(--yazi-2); font-style: italic; }
.vt-tablo td.vt-dar { white-space: nowrap; }
.vt-not { display: block; margin-top: 4px; font-size: 13px; color: var(--hata); }
/* kart görünümü: aynı satırlar afişli kart ızgarası olur (telefonda 2, tablette 4, geniş ekranda 6 sütun) */
.vt.kart .vt-kutu { overflow: visible; border: 0; background: none; }
.vt.kart .vt-tablo, .vt.kart .vt-tablo tbody { display: block; }
.vt.kart .vt-tablo thead { display: none; }
.vt.kart .vt-tablo tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vt.kart .vt-tablo tr { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 8px; border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; }
.vt.kart .vt-tablo tr[hidden] { display: none; }
.vt.kart .vt-tablo td { display: block; padding: 0; border: 0; font-size: 13px; }
.vt.kart .vt-tablo td:not(.vt-afis):not(.vt-ad):not(.vt-islem)::before { content: attr(data-baslik) ": "; color: var(--yazi-2); }
.vt.kart .vt-tablo td[data-durum]:not(.vt-afis):not(.vt-ad):not(.vt-islem)::before { content: none; }
.vt.kart .vt-tablo td[data-durum]:empty { display: none; }
.vt.kart .vt-tablo td.vt-dar { white-space: normal; overflow-wrap: anywhere; }
.vt.kart .vt-afis img, .vt.kart .vt-afis .afis-yok { width: 100%; height: auto; aspect-ratio: 2 / 3; }
.vt.kart .vt-ad b { font-size: 14px; line-height: 1.25; overflow-wrap: anywhere; }
.vt.kart .vt-islem { margin-top: auto; text-align: left; }
.vt.kart .vt-islem .dugme { width: 100%; }
.vt.kart .ikon-dugmeler { display: flex; }
.vt.kart .ikon-dugme { flex: 1 1 0; width: auto; }
.vt.kart .vt-islem > .ikon-dugme { width: 100%; }
/* simgeli Ekle (+) / Çıkar (−): açık olan dolu, kapalı olan saydam */
.ikon-dugmeler { display: inline-flex; gap: 6px; }
.ikon-dugme { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 2px solid var(--pembe); border-radius: 10px; background: var(--pembe); color: #fff; cursor: pointer; }
.ikon-dugme.cikar { border-color: var(--yazi); background: var(--yazi); }
.ikon-dugme.ayar { border-color: var(--cizgi-2); background: #fff; color: var(--yazi); }
.ikon-dugme.ayar:not(:disabled):hover { filter: none; border-color: var(--yazi); }
.ikon-dugme svg { width: 22px; height: 22px; }
.ikon-dugme:disabled { background: transparent; color: var(--pembe); opacity: .35; cursor: default; }
.ikon-dugme.cikar:disabled { color: var(--yazi); }
.ikon-dugme:not(:disabled):hover { filter: brightness(.92); }
.ikon-dugme:focus-visible { outline: 3px solid var(--pembe-acik); outline-offset: 2px; }
@media (min-width: 640px) { .vt.kart .vt-tablo tbody { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .vt.kart .vt-tablo tbody { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* seans hücresi film kutusu: öneri listesi */
.film-ara { position: relative; min-width: 0; }
.film-ara > .girdi { width: 100%; padding-right: 46px; }
.film-ok { position: absolute; top: 50%; right: 4px; transform: translateY(-50%); width: 40px; height: 40px; border: 0; border-radius: 10px; background: transparent; color: var(--yazi-2); font-size: 18px; line-height: 1; cursor: pointer; }
.film-ok:hover { background: var(--pembe-acik); color: var(--pembe-koyu); }
@media (max-width: 640px) { .film-ok { width: 44px; height: 44px; } }
.film-oneri { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); max-height: 320px; overflow-y: auto; background: #fff; border: 1px solid var(--cizgi-2);
    border-radius: 12px; box-shadow: 0 12px 30px rgba(20, 20, 30, .18); }
.oneri-satir { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 6px 12px; border: 0; border-top: 1px solid var(--cizgi); background: #fff; font: inherit; text-align: left; color: var(--yazi); cursor: pointer; }
.oneri-satir:first-child { border-top: 0; }
.oneri-satir:hover, .oneri-satir:focus { background: var(--pembe-acik); outline: none; }
.oneri-satir b { display: block; font-size: 14.5px; }
.oneri-satir small { display: block; font-size: 12px; color: var(--yazi-3); }
.oneri-satir.sgm small { color: #2b3a9c; }
.oneri-bos { margin: 0; padding: 10px 12px; font-size: 13.5px; color: var(--yazi-2); }
/* plan 54: küçük afişli film listesi */
.film-oneri { max-height: 380px; }
.oneri-baslik { margin: 0; padding: 8px 12px 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--yazi-3); background: #fafafb; position: sticky; top: 0; z-index: 1; }
.oneri-afis { flex: 0 0 auto; width: 34px; height: 50px; border-radius: 6px; object-fit: cover; background: #e9e9ee; box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
.oneri-afis.bos { display: grid; place-items: center; background: #8a8a94; color: #fff; font-weight: 800; font-size: 16px; }
.oneri-yazi { min-width: 0; }
.oneri-yazi b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 3B salon (sys/js/salon.js; eski sistemin 3B salon ölçü ve renkleri). Düz şema yedek olarak yerinde kalır, gizlenir. */
.s3-gizli { display: none !important; }
.h3scroll { overflow-x: auto; border-radius: 18px; margin: 0 0 8px; }
.h3stage { position: relative; background: #000; border-radius: 18px; overflow: hidden; }
.h3stage canvas { display: block; width: 100%; height: 100%; }
.h3hits { position: absolute; inset: 0; }
.h3hit { position: absolute; background: transparent; border: 0; padding: 0; display: grid; place-items: center; border-radius: 7px; font: inherit; font-weight: 800; color: #fff; }
button.h3hit { cursor: pointer; }
.h3hit span { text-shadow: 0 1px 3px rgba(0, 0, 0, .95); }
button.h3hit.satildi, button.h3hit.tutulu, button.h3hit.rezerve { cursor: not-allowed; }

button.h3hit.bos:hover { outline: 2px solid rgba(255, 255, 255, .85); }
.h3hit.benim { outline: 2.5px solid #fff; box-shadow: 0 0 14px 2px rgba(34, 197, 94, .9); }
.h3hit:focus-visible { outline: 2px solid #fff; }
.h3scr { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); color: rgba(255, 255, 255, .75); font-weight: 800; font-size: 11.5px; letter-spacing: .3em;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), transparent); padding: 4px 40px; pointer-events: none; white-space: nowrap; }
.s3 .lejant i.k { border-color: transparent; background: #8e0c18; }
.s3 .lejant i.k.benim { background: #22c55e; }
.s3 .lejant i.k.tutulu { background: #ffc400; }
.s3 .lejant i.k.rezerve { background: #6a52cf; }
.s3 .lejant i.k.satildi { background: #8d8a90; }

/* müşteri sitesi reklamları (Bulut Bey, 12 Ekim 2026): başlıkta, sol ve sağ yanlarda */
.rk { position: relative; display: block; line-height: 0; }
.rk small { position: absolute; top: 2px; right: 4px; z-index: 1; padding: 0 5px; border-radius: 4px; background: rgba(255, 255, 255, .85); color: var(--yazi-3); font-size: 10px; line-height: 15px; font-weight: 700; }
.rk a { display: block; }
.rk img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ust-ic:has(.rk-ust) .logo { margin-right: 0; }
.rk-ust { flex: 0 1 auto; min-width: 0; height: 56px; margin: 0 auto; padding: 0 12px; }
.rk-ust a { height: 56px; }
.rk-ust img { height: 56px; width: auto; max-width: 100%; }
.rk-yan { position: fixed; top: 88px; z-index: 5; display: none; flex-direction: column; gap: 16px; width: clamp(160px, calc((100vw - 1080px) / 2 - 48px), 300px); }
.rk-yan.rk-sol { left: 24px; }
.rk-yan.rk-sag { right: 24px; }
.rk-yan .rk { border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--cizgi); }
.rk-sol_kare, .rk-sag_kare { aspect-ratio: 300 / 250; }
.rk-sol_uzun, .rk-sag_uzun { aspect-ratio: 300 / 600; max-height: calc(100vh - 88px - 24px - (clamp(160px, calc((100vw - 1080px) / 2 - 48px), 300px) * 250 / 300) - 16px); }
@media (min-width: 1440px) { .rk-yan { display: flex; } }
@media (max-width: 760px) { .rk-ust { display: none; } }

/* Web Yönetim: film sırası (3 Kasım 2026) */
.wy-sira { list-style: none; margin: 0 0 18px; padding: 0; }
.wy-sira-satir { gap: 12px; }
.wy-sira-no { flex: 0 0 auto; min-width: 30px; height: 30px; border-radius: 999px; background: #1c1a1e; color: #fff; font-weight: 800; display: grid; place-items: center; }
.w-afis.wy-sira-afis { flex: 0 0 auto; width: 42px; aspect-ratio: 2 / 3; border-radius: 6px; }
.w-afis.wy-sira-afis .afis-ust, .w-afis.wy-sira-afis .afis-ad { display: none; }
.wy-sira-dugmeler { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
/* Web Yönetim: reklam alanları */
.wy-sema { display: grid; grid-template-columns: 1fr 2.4fr 1fr; grid-template-areas: "ust ust ust" "sol orta sag"; gap: 8px; max-width: 560px; margin: 8px 0 20px; }
.wy-sema > .wy-ust { grid-area: ust; }
.wy-sema > .wy-yan:nth-of-type(2) { grid-area: sol; }
.wy-sema > .wy-orta { grid-area: orta; display: grid; place-items: center; border: 1.5px dashed var(--cizgi-2); border-radius: 10px; color: var(--yazi-3); font-size: 13px; font-weight: 700; min-height: 150px; }
.wy-sema > .wy-yan:last-child { grid-area: sag; }
.wy-yan { display: grid; grid-template-rows: auto 1fr; gap: 8px; }
.wy-yer { display: grid; gap: 2px; padding: 8px 10px; border: 1.5px solid var(--cizgi-2); border-radius: 10px; background: #fff; font-size: 12.5px; }
.wy-yer small { color: var(--yazi-3); font-weight: 700; }
.wy-yer.dolu { border-color: var(--pembe); background: var(--pembe-acik); }
.wy-yer.wy-sol_uzun, .wy-yer.wy-sag_uzun { min-height: 90px; }
.wy-h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 22px 0 4px; font-size: 17px; }
.wy-h3 small { color: var(--yazi-3); font-size: 13px; font-weight: 600; }
.wy-h3 .dugme { margin-left: auto; min-height: 40px; font-size: 14px; }
.wy-bos { margin: 4px 0 8px; }
.wy-kucuk { flex: none; height: 48px; width: auto; max-width: 180px; object-fit: contain; border: 1px solid var(--cizgi); border-radius: 8px; background: #fff; }
.wy-onizleme { display: block; max-width: 100%; max-height: 220px; margin: 0 0 12px; border: 1px solid var(--cizgi); border-radius: 10px; }
.wy-dugmeler { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.wy-sil, .wy-sil-evet { color: var(--hata); }
.wy-sil-evet { background: var(--hata); color: #fff; }
#web-yonetim .satir-k .satir-bilgi { flex: 1; }
/* web koltuk seçimi (plan 17.11; Bulut Bey, 12 Ekim 2026) */
.ws-adimlar { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 12px; padding: 0; list-style: none; font-size: 14px; font-weight: 700; color: var(--yazi-3); }
.ws-adimlar li.simdi { padding: 2px 10px; border-radius: 999px; background: var(--yazi); color: #fff; }
.ws-baslik { margin: 0; }
.ws-alt { margin: 2px 0 16px; color: var(--yazi-2); font-size: 15px; }
.ws-mesaj { margin: 0 0 14px; border-radius: 12px; }
.ws-izgara { display: grid; gap: 20px; align-items: start; }
.ws-sol { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.ws-sure { margin: 0; align-self: flex-start; padding: 8px 14px; border-radius: 10px; background: #fff1c2; color: #5c4300; font-weight: 800; }
.ws-kisi { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ws-kisi b { margin-right: 4px; font-size: 15px; }
.ws-kisi button { min-width: 44px; height: 44px; border: 1.5px solid var(--cizgi-2); border-radius: 10px; background: #fff; font: inherit; font-weight: 800; color: var(--yazi); cursor: pointer; }
.ws-kisi button:hover { border-color: var(--pembe); }
.ws-kisi button[aria-pressed="true"] { background: var(--yazi); border-color: var(--yazi); color: #fff; }
.ws-kisi small { flex-basis: 100%; color: var(--yazi-3); font-size: 13px; }
.ws-salon { min-width: 0; }
.ws-lejant { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--yazi-2); }
.ws-lejant li { display: inline-flex; align-items: center; gap: 7px; }
.ws-lejant i { width: 16px; height: 16px; border-radius: 5px; }
.ws-lejant .r-bos { background: #c81e3a; }
.ws-lejant .r-sec { background: #16a34a; box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #16a34a; }
.ws-lejant .r-dolu { background: #8d8a90; }
.ws-lejant .r-tut { background: #ffc400; }
.ws-lejant .r-eng { background: #2f5fc8; }
.ws-sepet { display: flex; flex-direction: column; gap: 10px; padding: 20px; }
.ws-sepet h2 { margin: 6px 0 0; font-size: 13px; font-weight: 800; color: var(--yazi-3); text-transform: uppercase; letter-spacing: .04em; }
.ws-cipler { display: flex; flex-wrap: wrap; gap: 6px; min-height: 30px; }
.ws-cip { padding: 5px 10px; border: 0; border-radius: 8px; background: var(--pembe-acik); color: var(--pembe-koyu); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
span.ws-cip { cursor: default; }
.ws-yok { color: var(--yazi-3); font-size: 14px; }
.ws-tur { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px dashed var(--cizgi); }
.ws-tur.kapali { color: var(--yazi-3); }
.ws-tur-ad { min-width: 0; display: flex; flex-direction: column; }
.ws-tur-ad small { color: var(--yazi-3); font-size: 12.5px; }
.ws-tur-not { font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.ws-adet { display: flex; align-items: center; gap: 6px; }
.ws-adet button { width: 40px; height: 40px; border: 1.5px solid var(--cizgi-2); border-radius: 10px; background: #fff; font: inherit; font-size: 20px; color: var(--yazi); cursor: pointer; }
.ws-adet button:disabled { opacity: .4; cursor: default; }
.ws-adet b, .ws-adet-n { min-width: 24px; text-align: center; font-size: 17px; font-weight: 800; }
.ws-toplam { margin: 6px 0 0; padding-top: 10px; border-top: 1px solid var(--cizgi); display: flex; flex-direction: column; gap: 4px; font-size: 14.5px; }
.ws-toplam div { display: flex; justify-content: space-between; gap: 12px; color: var(--yazi-2); }
.ws-toplam dt, .ws-toplam dd { margin: 0; }
.ws-toplam .ws-genel { margin-top: 4px; color: var(--yazi); font-weight: 800; align-items: baseline; }
.ws-toplam .ws-genel dd { font-size: 26px; }
.ws-sepet .dugme:disabled { opacity: .5; cursor: default; }
.ws-kucuk { margin: 0; font-size: 12.5px; color: var(--yazi-3); }
.ws-bilgi { display: flex; flex-direction: column; gap: 12px; }
.ws-bilgi h2 { margin: 0; font-size: 22px; }
.ws-bilgi .aciklama { margin: 0; }
.ws-bilgi .etiket { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 14px; }
.ws-iki { display: grid; gap: 12px; }
.ws-onay { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--yazi-2); }
.ws-onay input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--pembe); flex: 0 0 auto; }
.ws-dugmeler { display: flex; flex-wrap: wrap; gap: 10px; }
.ws-dugmeler .dugme { width: auto; padding: 0 22px; }
.ws-doldu { margin-top: 16px; text-align: center; }
@media (min-width: 640px) { .ws-iki { grid-template-columns: 1fr 1fr; } }
@media (min-width: 960px) { .ws-izgara { grid-template-columns: minmax(0, 1fr) 340px; } .ws-sepet { position: sticky; top: 12px; } }
.ws-menu-ac { align-self: flex-start; }
.ws-menu .pencere-kutu { max-width: 760px; }
.ws-mq-alt { margin: 0; padding: 12px 20px 0; color: var(--yazi-2); font-weight: 700; }
.ws-mq-liste { display: grid; gap: 12px; padding: 12px 20px; }
.ws-mq { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 6px 14px; align-items: center; padding: 10px; border: 1.5px solid var(--cizgi-2); border-radius: 16px; background: #fff; }
.ws-mq.secili { border-color: var(--pembe); box-shadow: 0 0 0 3px var(--pembe-acik); }
.ws-mq-resim { position: relative; grid-row: span 2; width: 96px; height: 96px; border-radius: 12px; overflow: hidden; background: #f1eef3; display: grid; place-items: center; font-size: 40px; }
.ws-mq-resim img { width: 100%; height: 100%; object-fit: cover; }
.ws-mq-rib { position: absolute; left: 0; right: 0; top: 0; padding: 2px 4px; background: var(--pembe); color: #fff; font-size: 10.5px; font-weight: 800; text-align: center; }
.ws-mq-ucuz { position: absolute; left: 0; right: 0; bottom: 0; padding: 2px 4px; background: #0d7a45; color: #fff; font-size: 10.5px; font-weight: 800; text-align: center; }
.ws-mq-bilgi { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ws-mq-bilgi small { color: var(--yazi-3); font-size: 13px; }
.ws-mq-fiyat s { color: var(--yazi-3); font-size: 13px; }
.ws-mq-fiyat em { font-style: normal; font-size: 18px; font-weight: 800; }
.ws-mq .ws-adet { justify-self: start; }
.ws-mq-not { padding: 0 20px 12px; }
.ws-mq-cubuk { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; padding: 12px 20px 16px; border-top: 1px solid var(--cizgi); }
.ws-mq-cubuk .dugme { width: auto; }
.ws-mq-cubuk .dugme:disabled { opacity: .5; cursor: default; }
@media (min-width: 640px) { .ws-mq-liste { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); } .ws-mq { grid-template-columns: 1fr; text-align: left; } .ws-mq-resim { grid-row: auto; width: 100%; height: 120px; } }

/* kullanıcı yetkileri (bilet_plan.md 32): bölüm kartları, büyük dokunma alanlı kutucuklar */
.yt-h3 { margin: 22px 0 8px; font-size: 17px; }
.yt-not { display: block; margin-top: 4px; color: var(--yazi-3); font-size: 12.5px; font-weight: 500; }
.yt-sifre { display: flex; align-items: center; gap: 8px; }
.yt-sifre .girdi { flex: 1; min-width: 0; }
.yt-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0 0 12px; }
.yt-sablonlar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.yt-sablonlar > span { font-size: 13px; font-weight: 700; color: var(--yazi-2); }
.yt-tumu { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.yt-tumu .dugme { min-height: 40px; padding: 0 14px; font-size: 14px; width: auto; }
.yt-sayac { font-size: 14px; color: var(--yazi-2); }
.yt-bolumler { display: grid; gap: 12px; }
.yt-bolum { margin: 0; padding: 0; border: 1.5px solid var(--cizgi); border-radius: 16px; background: #fff; overflow: hidden; }
.yt-bolum.dolu { border-color: var(--cizgi-2); }
.yt-bolum legend { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 10px 14px; background: #f7f7f9; border-bottom: 1px solid var(--cizgi); float: left; box-sizing: border-box; }
.yt-bolum legend + * { clear: both; }
.yt-bolum-bas { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 16px; }
.yt-bolum-bas input, .yt-madde input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: var(--pembe); }
.yt-bolum legend small { color: var(--yazi-3); font-weight: 700; font-size: 13px; }
.yt-maddeler { display: grid; gap: 0; }
.yt-madde { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--cizgi); cursor: pointer; }
.yt-madde:first-child { border-top: 0; }
.yt-madde:hover { background: #fafafb; }
.yt-madde input { margin-top: 2px; }
.yt-madde span { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.yt-madde b { font-size: 14.5px; }
.yt-madde small { color: var(--yazi-3); font-size: 12.5px; line-height: 1.35; }
.yt-madde.kapali { cursor: not-allowed; opacity: .55; }
.yt-madde:has(input:checked) b { color: var(--pembe-koyu); }
.yt-kaydet { position: sticky; bottom: 0; padding: 10px 0; background: linear-gradient(transparent, var(--kart) 30%); }
.etiket-k.uyari { background: #fff1c2; color: #5c4300; }
@media (min-width: 760px) { .yt-maddeler { grid-template-columns: 1fr 1fr; } .yt-madde:nth-child(2) { border-top: 0; } .yt-madde:nth-child(odd) { border-right: 1px solid var(--cizgi); } }
@media (min-width: 1200px) { .yt-bolumler { grid-template-columns: 1fr 1fr; } .yt-maddeler { grid-template-columns: 1fr; } .yt-madde:nth-child(2) { border-top: 1px solid var(--cizgi); } .yt-madde:nth-child(odd) { border-right: 0; } }
/* şube fiyatları (bilet_plan.md 33; eski sistem: her şubenin hafta içi / hafta sonu fiyatı) */
.sube-fiyat { margin: 10px 0; border: 1px solid var(--cizgi); border-radius: 12px; background: #fafafb; }
.sube-fiyat summary { padding: 10px 12px; font-weight: 700; cursor: pointer; }
.sube-fiyat .aciklama { margin: 0 12px 8px; font-size: 13px; }
.sube-fiyat-tablo { width: 100%; border-collapse: collapse; font-size: 14px; }
.sube-fiyat-tablo th, .sube-fiyat-tablo td { padding: 4px 8px; text-align: left; border-top: 1px solid var(--cizgi); }
.sube-fiyat-tablo th[scope=row] { font-weight: 600; }
.sube-fiyat-tablo tr.soluk { opacity: .6; }
.sube-fiyat-tablo .girdi { min-height: 38px; padding: 0 8px; font-size: 15px; width: 100%; max-width: 120px; }

/* programı Excel'den yükleme (bilet_plan.md 34) */
.xl-adim { margin: 0 0 16px; padding-left: 22px; color: var(--yazi-2); }
.xl-adim li { margin: 4px 0; }
.xl-form { max-width: 560px; }
.xl-form input[type=file].girdi { padding: 12px 14px; }
.xl-bolum { margin: 22px 0 0; padding: 16px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px; }
.xl-bolum h3 { margin: 0 0 10px; font-size: 17px; }
.xl-bolum p { margin: 6px 0; }
.xl-liste { margin: 6px 0; padding-left: 20px; }
.xl-liste li { margin: 3px 0; }
.xl-sayilar { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.xl-sayi { display: flex; flex-direction: column; min-width: 120px; padding: 10px 14px; border-radius: 12px; background: var(--kart); border: 1px solid var(--cizgi); color: var(--yazi-2); font-size: 13.5px; }
.xl-sayi b { font-size: 26px; color: var(--yazi); }
.xl-sayi.iyi { border-color: #8bc79a; background: #eef8f0; }
.xl-sayi.kotu { border-color: var(--hata); background: var(--hata-zemin); }
.xl-sayi.kotu b { color: var(--hata); }
.xl-secim { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 6px; padding: 12px 14px; border: 1.5px solid var(--pembe); border-radius: 12px; background: var(--pembe-acik); font-weight: 700; cursor: pointer; }
.xl-secim input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; }
.xl-tablo td, .xl-tablo th { text-align: left; }
.xl-tablo tr.xl-yeni td { background: var(--uyari-zemin); }
.xl-uyari { background: var(--uyari-zemin); color: var(--uyari); }
p.xl-uyari { padding: 8px 12px; border-radius: 10px; }
.xl-kotu { color: var(--hata); font-weight: 700; font-size: 13px; }
.xl-sube { margin: 8px 0; border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; }
.xl-sube > summary { padding: 12px 14px; cursor: pointer; }
.xl-sube[open] > summary { border-bottom: 1px solid var(--cizgi); }
.xl-sube .izgara-kutu { margin: 0; }
.xl-ayrinti summary { cursor: pointer; font-weight: 700; margin: 8px 0; }
/* plan 43: bırakma alanı, özet kartı, toplu kaldır */
.xl-birak { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 132px; margin: 8px 0 6px; padding: 18px 16px;
    border: 2px dashed var(--cizgi-2); border-radius: 16px; background: #fff; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.xl-birak:hover, .xl-birak:focus-within, .xl-birak.uzerinde { border-color: var(--pembe); background: var(--pembe-acik); }
.xl-birak b { font-size: 16.5px; color: var(--yazi); }
.xl-birak span { font-size: 14px; color: var(--yazi-2); }
.xl-birak small { font-size: 13.5px; font-weight: 700; color: var(--pembe-koyu); overflow-wrap: anywhere; }
.xl-birak small:empty { display: none; }
.xl-dosya { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }
.xl-birak-ikon { width: 36px; height: 36px; border-radius: 10px; background: #1d6f42; position: relative; margin-bottom: 4px; }
.xl-birak-ikon::after { content: "X"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: 18px; }
.xl-birak-ipucu { margin: 0 0 4px; font-size: 13.5px; color: var(--yazi-2); }
.xl-hafta { margin: 0 0 12px; }
.xl-hafta > summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; font-size: 14px; font-weight: 700; color: var(--pembe-koyu); }
.xl-hafta .etiket { max-width: 320px; }
.xl-ozet { margin: 12px 0; padding: 16px; border: 1px solid var(--cizgi); border-radius: 16px; background: #fff; }
.xl-ozet-bas { display: flex; flex-direction: column; gap: 2px; }
.xl-ozet-bas b { font-size: 17px; }
.xl-ozet .xl-sayilar { margin-top: 12px; }
.xl-sayi.dikkat { border-color: #e7b65c; background: #fff7e6; }
.xl-sayi.uyari { border-color: var(--cizgi-2); background: var(--zemin); }
.xl-kural { margin: 12px 0 0; font-size: 14px; color: var(--yazi-2); }
.xl-uyari-satir { margin: 8px 0 0; padding: 8px 12px; border-radius: 10px; background: var(--uyari-zemin); color: var(--uyari); font-size: 14px; }
.dugme.buyuk { min-height: 52px; padding: 0 28px; font-size: 17px; }
details.xl-bolum > summary { cursor: pointer; font-weight: 800; font-size: 16px; min-height: 28px; }
details.xl-bolum[open] > summary { margin-bottom: 8px; }
.xl-alt-baslik { margin: 12px 0 4px; font-size: 14.5px; }
.xl-kaldir { margin: 20px 0 0; padding: 4px 16px 8px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.xl-kaldir > summary { display: flex; align-items: center; min-height: 48px; cursor: pointer; font-weight: 800; font-size: 16px; }
.xl-kaldir-form { max-width: 520px; }
.tk-ozet p { margin: 4px 0; }
.dugme.tehlike { background: var(--hata); border-color: var(--hata); color: #fff; }
@media (max-width: 480px) {
    .xl-sayi { min-width: calc(50% - 5px); }
    .dugme.buyuk { width: 100%; }
}
/* plan 47: sistemde olmayan filmler */
.xl-yeni-film { margin: 14px 0 0; padding: 14px; border: 1.5px solid #e7b65c; border-radius: 14px; background: #fff7e6; }
.xl-yeni-film h4 { margin: 0 0 4px; font-size: 16px; }
.xl-yf-liste { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; }
.xl-yf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 8px 10px; border-radius: 10px; background: #fff; }
.xl-yf > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.xl-yf small { color: var(--yazi-3); font-size: 12.5px; }
.xl-yf-sure { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.xl-yf-sure .girdi { width: 96px; min-height: 44px; font-size: 16px; }
/* plan 46: uygulanacak program ızgarası */
.xl-program { margin: 12px 0; }
.xl-program h3 { margin: 0 0 6px; font-size: 17px; }
.xl-lejant { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.xl-lejant .xl-cip { display: inline-block; }
.xl-izgara td { vertical-align: top; min-width: 132px; }
.xl-izgara th small { display: block; font-weight: 400; }
.xl-cip { display: block; margin: 2px 0; padding: 3px 7px; border-radius: 7px; font-size: 12.5px; line-height: 1.35; background: #f6f6f8; color: var(--yazi-2); border-left: 3px solid var(--cizgi-2); }
.xl-cip small { color: var(--yazi-3); font-size: 11px; }
.xl-cip.yeni { background: #e9f7ed; color: #1d5e31; border-left-color: #2e9b4f; }
.xl-cip.kalir { background: #eef0ff; color: #2b3a9c; border-left-color: #5b6be0; }
.xl-cip.kalkar { background: var(--hata-zemin); color: var(--hata); border-left-color: var(--hata); text-decoration: line-through; }
.xl-cip.atla { background: #fff; color: var(--yazi-3); border: 1px dashed var(--cizgi-2); border-left-width: 3px; }
.xl-son { position: sticky; bottom: 0; margin: 18px 0 0; padding: 12px 0; background: var(--zemin); align-items: center; flex-wrap: wrap; }
.xl-son p.hata { margin: 0; }

/* telefon uyumu (bilet_plan.md 35; kalıcı kural: her ekran önce 375 px telefonda) */
.ust-bag { white-space: nowrap; }
.h3yakin { display: flex; justify-content: flex-end; gap: 8px; margin: 0 0 8px; }
.h3yakin button { width: 44px; height: 44px; border: 1.5px solid var(--cizgi-2); border-radius: 12px; background: #fff; font: inherit; font-size: 24px; font-weight: 800; line-height: 1; color: var(--yazi); cursor: pointer; }
.h3yakin button:disabled { opacity: .35; cursor: default; }
.ws-cip { min-height: 40px; }
.ws-adet button { width: 44px; height: 44px; }
.yt-bolum-bas { min-height: 40px; }
.ws-mobil-bar { display: none; }
@media (max-width: 959px) {
    .ws-form:has(.ws-mobil-bar) { padding-bottom: 88px; }
    .ws-mobil-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 12px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--cizgi); box-shadow: 0 -6px 18px rgba(0, 0, 0, .08); }
    .ws-mobil-bar span { display: flex; flex-direction: column; min-width: 0; }
    .ws-mobil-bar small { color: var(--yazi-2); font-size: 13px; font-weight: 700; }
    .ws-mobil-bar b { font-size: 22px; }
    .ws-mobil-bar .dugme { width: auto; flex: 0 0 auto; padding: 0 20px; }
}
@media (max-width: 760px) {
    .ust-ic:has(.rk-ust) .logo { margin-right: auto; }
    input:not([type=checkbox]):not([type=radio]):not([type=file]), select, textarea { font-size: 16px; }
    .saat-ek, .ws-tur-ad small, .ws-tur-not, .ws-kucuk { font-size: 13px; }
    .ws-mq-ucuz, .ws-mq-rib { font-size: 12px; }
    .ws-dugmeler .dugme:last-child { flex: 1 1 auto; }
}
@media (max-width: 400px) {
    .ust-ic { gap: 4px; padding: 0 12px; }
    .ust-bag { padding: 0 8px; font-size: 14px; }
    .logo img { height: 24px; }
}
/* plan 48: Web Yönetim → Gişe Ekran */
.wy-gise { margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid var(--cizgi); }
.wy-gise .wy-h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.wy-gise-ekranlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }
.wy-gise-ekran { margin: 0; display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.wy-gise-ekran img { width: 100%; height: auto; display: block; border-radius: 8px; background: #000; }
.wy-gise-ekran figcaption { display: flex; flex-direction: column; gap: 8px; }
.wy-gise-indir { display: flex; flex-wrap: wrap; gap: 8px; }
.wy-gise-indir .dugme { min-height: 44px; }

/* Haftalık program ızgarası: seans kartı ve sürükle bırak (plan 50) */
.izgara[data-prg-duz] .seans-cip { width: 100%; max-width: none; border: 0; border-left: 4px solid var(--renk, #999); font: inherit; font-size: 12.5px; text-align: left; color: inherit; cursor: grab; transition: background .12s, box-shadow .12s, transform .12s; }
.izgara[data-prg-duz] .seans-cip:hover { background: #fff; box-shadow: 0 2px 8px rgba(20, 20, 40, .12); transform: translateY(-1px); }
.izgara[data-prg-duz] .seans-cip:focus-visible { outline: 2px solid var(--pembe); outline-offset: 1px; }
.izgara[data-prg-duz] .seans-cip.secik { background: #fff; box-shadow: 0 0 0 2px var(--pembe); }
.izgara[data-prg-duz] .seans-cip.tasiniyor { opacity: .45; }
.izgara.surukleniyor td.birak-olur { background: #fff7fb; box-shadow: inset 0 0 0 2px rgba(230, 0, 126, .25); }
.izgara.surukleniyor td.uzerinde { background: var(--pembe-acik); box-shadow: inset 0 0 0 2px var(--pembe); }
.prg-kart { position: fixed; z-index: 1000; width: 288px; max-width: calc(100vw - 16px); display: grid; gap: 10px; padding: 16px; background: #fff; border: 1px solid var(--cizgi); border-radius: 16px; box-shadow: 0 14px 36px rgba(20, 20, 40, .18); }
.prg-kart > b { font-size: 15px; padding-right: 36px; line-height: 1.3; }
.prg-kart .prg-x { position: absolute; right: 6px; top: 6px; width: 36px; height: 36px; border: 0; border-radius: 10px; background: transparent; font-size: 22px; line-height: 1; color: var(--yazi-2); cursor: pointer; }
.prg-kart .prg-x:hover { background: #f3f3f6; }
.prg-kart .prg-sil { min-height: 44px; border: 1px solid #f1b5bc; border-radius: 12px; background: #fff; color: #c4202f; font: inherit; font-weight: 800; font-size: 14px; cursor: pointer; }
.prg-kart .prg-sil:hover { background: #fdf1f2; }
.prg-kart .prg-sil.onay { background: #c4202f; border-color: #c4202f; color: #fff; }
.prg-kart .uyari { margin: 0; padding: 10px 12px; border-radius: 12px; background: #fdecee; color: #9b1c2c; font-size: 13px; font-weight: 600; line-height: 1.4; }
.prg-kart small { color: var(--yazi-2); font-weight: 700; font-size: 12.5px; }
.prg-gunler { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.prg-gunler button { min-height: 44px; padding: 0 4px; border: 1px solid var(--cizgi-2); border-radius: 10px; background: #fff; font: inherit; font-size: 12px; font-weight: 700; color: var(--yazi); cursor: pointer; }
.prg-gunler button:hover:not(:disabled) { border-color: var(--pembe); color: var(--pembe-koyu); background: #fff7fb; }
.prg-gunler button:disabled { opacity: .35; cursor: default; }
.izgara[data-prg-duz] .seans-cip.secili { background: #fff0f7; box-shadow: 0 0 0 2px var(--pembe); }
.izgara[data-prg-duz] .seans-cip.secili[data-prg-korunur="1"], .izgara[data-prg-duz] .seans-cip.engel { background: #fdecee; box-shadow: 0 0 0 2px #c4202f; }
.izgara[data-prg-duz] tbody td { user-select: none; -webkit-user-select: none; }
body.prg-seciliyor, body.prg-seciliyor * { cursor: crosshair !important; user-select: none !important; }
.prg-cerceve { position: fixed; z-index: 999; border: 1.5px solid var(--pembe); background: rgba(230, 0, 126, .08); border-radius: 4px; pointer-events: none; }
.prg-kart .prg-sec { min-height: 40px; border: 1px solid var(--cizgi-2); border-radius: 12px; background: #fff; font: inherit; font-weight: 700; font-size: 13.5px; color: var(--yazi); cursor: pointer; }
.prg-kart .prg-sec:hover { border-color: var(--pembe); color: var(--pembe-koyu); }
.prg-secim-bar { position: fixed; z-index: 1001; left: 0; right: 0; bottom: 16px; margin: 0 auto; width: max-content; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; max-width: calc(100vw - 24px); padding: 10px 12px 10px 18px; background: #1f1d24; color: #fff; border-radius: 16px; box-shadow: 0 14px 36px rgba(20, 20, 40, .28); }
.prg-secim-bar .say { font-weight: 800; font-size: 14.5px; }
.prg-secim-bar .engel-not { font-size: 13px; font-weight: 700; color: #ffb3bc; }
.prg-secim-bar button { min-height: 40px; padding: 0 14px; border-radius: 11px; font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer; }
.prg-secim-bar button.ikincil { border: 1px solid rgba(255, 255, 255, .25); background: transparent; color: #fff; }
.prg-secim-bar button.ikincil:hover { background: rgba(255, 255, 255, .1); }
.prg-secim-bar button.sil { border: 0; background: #fff; color: #c4202f; }
.prg-secim-bar button.sil.onay { background: #e0263a; color: #fff; }
.prg-secim-bar button:disabled { opacity: .4; cursor: default; }
.prg-kart .prg-gise { min-height: 48px; border: 0; border-radius: 12px; background: #c4202f; color: #fff; font: inherit; font-weight: 800; font-size: 14.5px; cursor: pointer; }
.prg-kart .prg-gise:hover { background: #a51a27; }
.izgara[data-prg-duz] .seans-cip.engel { cursor: pointer; }
/* tüm şubeler görünümü: şube başlık satırı (plan 52) */
.izgara tr.sube-bas th { background: #1f1d24; color: #fff; font-size: 13.5px; letter-spacing: .02em; position: static; }
/* seans satış yeri etiketi (plan 53) */
.seans-cip .kanal-etiket { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 6px; font-style: normal; font-size: 10.5px; font-weight: 800; letter-spacing: .02em; vertical-align: 1px; }
.seans-cip .kanal-gise { background: #fff1c2; color: #6a4b00; }
.seans-cip .kanal-web { background: #e3ecff; color: #1f4fa8; }
/* plan 56: kurala uymayan seanslar uyarısı */
.prg-ihlal { padding: 12px 14px; border-radius: 12px; }
.izgara .seans-cip.ihlal { background: #fdecee; box-shadow: 0 0 0 2px #c4202f; }
.prg-ihlal ul { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 3px; font-size: 13.5px; }
/* plan 57: programda geçmiş günler / seanslar soluk; geçmişi göster düğmesi; geçmişe ekleme onayı */
.izgara thead th.gecmis { background: #eceef1; color: var(--yazi-3); }
.izgara td.gecmis { background: #f7f7f9; }
.seans-cip.gecmis { opacity: .45; filter: grayscale(.6); }
.seans-cip.gecmis:hover, .seans-cip.gecmis:focus-visible { opacity: .85; }
.prg-gecmis-dugme.acik { border-color: var(--pembe); color: var(--pembe-koyu); }
p.prg-gecmis-onay { margin: -4px 0 12px; }
.prg-gecmis-bos { padding: 18px 14px; border: 1.5px dashed var(--cizgi-2); border-radius: 12px; text-align: center; }
/* plan 59: Excel'i kaldır, Film ekle */
.xl-kaldir { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin: 0 0 6px; padding: 0 14px; border: 1.5px solid var(--cizgi-2); border-radius: 10px; background: #fff; font: inherit; font-size: 14px; font-weight: 700; color: var(--yazi-2); cursor: pointer; }
.xl-kaldir:hover { border-color: var(--kirmizi, #c0392b); color: var(--kirmizi, #c0392b); }
.xl-kaldir[hidden] { display: none; }
.xl-yf-sure .dugme { min-height: 44px; margin-left: 6px; }
/* plan 60: Film ekle onay kartı */
.xl-yf-kart { border: 1.5px solid var(--pembe); box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.xl-yf-excel { flex-basis: 100%; }
.xl-yf-bulunan { display: flex; align-items: center; gap: 10px; min-width: 0; }
.xl-yf-bulunan > span { display: flex; flex-direction: column; }
.xl-yf-bulunan .oneri-afis { width: 44px; height: 64px; border-radius: 6px; object-fit: cover; }
.xl-yf-dugmeler { display: flex; flex-wrap: wrap; gap: 8px; }
.xl-yf-dugmeler .dugme { min-height: 44px; }
/* plan 61: Gişe Ekran gün seçimi */
.wy-gtv-tarih { align-items: center; flex-wrap: wrap; margin: 0 0 16px; }
.wy-gtv-tarih .girdi { min-height: 44px; }
.wy-gise-ekran figcaption small { color: var(--yazi-3); }
/* program Excel'i · Kontrol kutusu (17 Ekim 2026) */
.xl-kontrol { margin: 12px 0 4px; padding: 14px; border: 2px solid #e7b65c; border-radius: 14px; background: #fff7e6; display: grid; gap: 10px; }
.xl-kontrol h4 { margin: 0; font-size: 17px; color: #8a4b00; }
.xl-kontrol > .bilgi { margin: -4px 0 0; }
.xl-kt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 340px); gap: 8px 14px; align-items: center; background: #fff; border: 1px solid #f0d9a8; border-radius: 12px; padding: 10px 12px; }
.xl-kt.tamam { border-color: #9ed6b2; }
.xl-kt-ne { display: grid; gap: 2px; min-width: 0; }
.xl-kt-ne b { font-size: 15px; overflow-wrap: anywhere; }
.xl-kt-ne small { color: #6b5a4a; font-size: 13px; }
.xl-kt.tamam .xl-kt-ne small { color: #157a3c; }
.xl-kt-sec { display: grid; gap: 6px; }
.xl-kt-sec select, .xl-kt-sec .dugme { width: 100%; min-height: 44px; }
.xl-kt-sec .dugme { font-size: 15px; padding: 8px 12px; }
@media (max-width: 640px) { .xl-kt { grid-template-columns: 1fr; } }
/* bilet türleri ve fiyatlar (17 Ekim 2026): bölüm düğmeleri, tek fiyat tablosu, tür / grup satırları */
.tur-bolumler, .tur-subeler { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 12px; }
.tur-bolumler button, .tur-subeler button { min-height: 44px; padding: 0 16px; border: 1px solid var(--cizgi-2); border-radius: 12px; background: #fff; font: inherit; font-weight: 800; font-size: 14px; color: var(--yazi-2); cursor: pointer; }
.tur-bolumler button.secili, .tur-subeler button.secili { border-color: var(--pembe); background: #ffe8f1; color: var(--pembe-koyu); }
.tur-subeler button b { margin-left: 6px; background: var(--pembe); color: #fff; border-radius: 999px; padding: 1px 7px; font-size: 12px; }
.tur-uyari summary { cursor: pointer; }
.ft-kutu { overflow-x: auto; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; max-height: calc(100vh - 260px); }
.ft-tablo { border-collapse: separate; border-spacing: 0; min-width: 100%; }
.ft-tablo th, .ft-tablo td { padding: 6px 8px; border-bottom: 1px solid var(--cizgi); vertical-align: middle; }
.ft-tablo thead th { position: sticky; top: 0; z-index: 2; background: #faf7f8; font-size: 13px; text-align: left; white-space: nowrap; }
.ft-tablo thead th small, .ft-tablo tbody th small { display: block; font-weight: 600; font-size: 11.5px; color: var(--yazi-2); }
.ft-tablo tbody th { position: sticky; left: 0; z-index: 1; background: #fff; text-align: left; min-width: 150px; font-size: 14px; }
.ft-tablo thead th:first-child { left: 0; z-index: 3; }
.ft-tablo tr.soluk th b, .ft-tablo tr.soluk td { opacity: .6; }
.ft-tablo td.ft-genel { background: #fff7fb; }
.ft-tablo td.ft-ozel { background: #eef8f1; }
.ft-hucre { display: grid; gap: 4px; width: 92px; }
.ft-hucre .girdi { min-height: 36px; padding: 4px 8px; text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.ft-hucre .girdi + .girdi { background: #fbfafb; font-weight: 600; }
.ft-alt { padding: 10px 0 0; }
.ft-hucre .girdi::placeholder { color: #c2b6bb; font-weight: 600; }
.tur-liste { display: grid; gap: 8px; margin-bottom: 16px; }
.tur-satir { border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; }
.tur-satir.soluk { opacity: .7; }
.tur-satir > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 52px; padding: 8px 14px; cursor: pointer; }
.tur-satir > summary b { font-size: 15.5px; }
.tur-satir > summary span { color: var(--yazi-2); font-size: 13.5px; flex: 1 1 200px; }
.tur-satir .tur-form, .tur-satir .tur-sil { padding: 0 14px 12px; }
.tur-satir .tur-form { display: grid; gap: 10px; }
.gr-turler .kutu { flex: 1 1 180px; }
@media (max-width: 640px) { .ft-hucre { width: 78px; } .ft-tablo tbody th { min-width: 110px; font-size: 13px; } }
.kanal-etiket.grup-etiket { background: #efe9ff; color: #5a3fc0; }
/* haftalık program: gün başlığında bilet grubu kutusu ve seçme penceresi (17 Ekim 2026) */
.izgara thead th .gun-grup { display: block; width: 100%; margin-top: 6px; min-height: 36px; padding: 4px 8px; border: 1.5px dashed var(--pembe); border-radius: 10px; background: #fff;
    font: inherit; font-size: 12.5px; font-weight: 800; color: var(--pembe-koyu); cursor: pointer; text-align: center; white-space: normal; line-height: 1.2; }
.izgara thead th .gun-grup.secili { border-style: solid; background: #efe9ff; border-color: #b9a6f2; color: #5a3fc0; }
.izgara thead th .gun-grup:hover { background: #ffe8f1; }
@media (min-width: 900px) { .gg-pencere { align-items: center; } .gg-pencere .pencere-kutu { width: min(620px, 94vw); border-radius: 22px; } }
.gg-secenek { border-top: 1px solid var(--cizgi); }
.gg-secenek .sube-satir { border-top: 0; min-height: 52px; }
.gg-secenek.secili { background: #fff5f9; }
.gg-turler { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 20px 14px 54px; }
.gg-tur { padding: 4px 10px; border-radius: 999px; background: #f4f1f3; font-size: 13px; color: var(--yazi-2); }
.gg-tur b { color: var(--yazi); }
.gg-tur.bos { background: #fff6dc; }
.gg-not { margin: 0; padding: 12px 20px; font-size: 13px; color: var(--yazi-2); border-top: 1px solid var(--cizgi); }
.gg-secenek.secili .sube-satir { background: transparent; }
/* yönetici · prim (18 Ekim 2026) */
.prim-suz { align-items: flex-end; flex-wrap: wrap; }
.prim-suz .etiket { flex: 1 1 160px; }
.prim-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 10px; margin: 8px 0 12px; }
.prim-kutu { display: grid; gap: 2px; padding: 14px 16px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.prim-kutu span { font-size: 13.5px; font-weight: 700; color: var(--yazi-2); }
.prim-kutu b { font-size: 24px; font-variant-numeric: tabular-nums; }
.prim-kutu small { color: var(--yazi-2); }
.prim-kutu.toplam { border-color: var(--pembe); background: #fff5f9; }
.prim-kutu.toplam b { color: var(--pembe-koyu); }
.prim-tablo td.r, .prim-tablo th.r { text-align: right; font-variant-numeric: tabular-nums; }
.prim-tablo .girdi.prim-ozel { max-width: 120px; min-height: 40px; text-align: right; }
.prim-ayar form { margin-top: 10px; }
/* prim: menü oranı ve üç aralık (00:20) — büyük, renkli, az yazı */
.prim-oran { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 12px; align-items: stretch; margin: 6px 0 14px; }
.prim-oran-sayi { display: grid; align-content: center; gap: 2px; padding: 14px 16px; border-radius: 14px; background: #f4f1f3; }
.prim-oran-sayi span { font-weight: 700; color: var(--yazi-2); font-size: 14px; }
.prim-oran-sayi b { font-size: 34px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.prim-oran-sayi small { color: var(--yazi-2); }
.prim-bantlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.prim-bantlar.tek { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
.prim-bant { display: grid; gap: 6px; align-content: start; padding: 14px 16px; border: 2px solid transparent; border-radius: 14px; }
.prim-bant span { font-weight: 700; font-size: 15px; }
.prim-bant > b { font-size: 20px; }
.prim-bant i { font-style: normal; font-weight: 800; font-size: 13px; }
.prim-bant.b1 { background: #fff1e6; color: #8a4b00; }
.prim-bant.b2 { background: #fff8d6; color: #6b5300; }
.prim-bant.b3 { background: #e7f7ec; color: #12633a; }
.prim-bant.b0 { background: #eef2ff; color: #2c3f8f; }
.prim-bant.secili { border-color: currentColor; box-shadow: 0 4px 14px rgba(0, 0, 0, .08); }
.prim-bant label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-weight: 700; }
.prim-bant .girdi.prim-buyuk { width: 96px; min-height: 52px; font-size: 22px; font-weight: 800; text-align: center; background: #fff; }
.prim-bant .girdi.prim-buyuk.yuzde { width: 76px; }
.prim-ayar h4 { margin: 18px 0 6px; font-size: 16px; }
.prim-sonuc td small { display: block; color: var(--yazi-2); font-size: 12px; }
.prim-sonuc tr.toplam td { font-weight: 800; font-size: 16px; background: #fff5f9; }
@media (max-width: 760px) { .prim-oran, .prim-bantlar { grid-template-columns: minmax(0, 1fr); } }
.prim-gece { margin: 0 0 10px; border-radius: 12px; }

/* Muhasebe → Bordro (film şirketi bordrosu; 18 Ekim 2026). Liste sade ve büyük; belge eski şablonun okunaklı hali. */
.ipucu { margin: 0 0 12px; color: var(--yazi-2); font-size: 14px; }
.bos-durum { margin: 18px 0; padding: 22px 18px; border: 1.5px dashed var(--cizgi-2); border-radius: 14px; text-align: center; color: var(--yazi-2); }
.brd-sekmeler { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.brd-sekmeler .dugme.secili { background: var(--yazi); color: #fff; border-color: var(--yazi); }
.brd-hafta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 12px; }
.brd-hafta-ad { display: grid; text-align: center; min-width: 230px; }
.brd-hafta-ad b { font-size: 19px; }
.brd-hafta-ad small { color: var(--yazi-2); font-weight: 700; }
.brd-suz { align-items: flex-end; flex-wrap: wrap; }
.brd-suz .etiket { flex: 1 1 180px; margin-bottom: 0; }
.brd-uyari { margin: 0 0 12px; border-radius: 12px; }
.brd-araclar { margin: 0 0 18px; gap: 10px; flex-wrap: wrap; }
.brd-araclar form { margin: 0; }
.brd-grup { margin: 0 0 18px; border: 1px solid var(--cizgi); border-radius: 16px; overflow: hidden; background: #fff; }
.brd-grup-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px 16px; background: #f7f6f8; border-bottom: 1px solid var(--cizgi); }
.brd-grup-bas h3 { margin: 0; font-size: 19px; }
.brd-grup-bas .ipucu { margin: 2px 0 0; }
.brd-grup-bas form { margin: 0; }
.brd-kod { padding: 2px 8px; border-radius: 8px; background: #fff; border: 1px solid var(--cizgi-2); font-size: 13px; font-weight: 700; color: var(--yazi-2); vertical-align: middle; }
.brd-satir { display: grid; grid-template-columns: minmax(0, 2.2fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.3fr) auto; gap: 10px 14px; align-items: center; padding: 12px 16px; border-top: 1px solid var(--cizgi); }
.brd-satir:first-child { border-top: 0; }
.brd-satir.bos { background: #fbfbfc; }
.brd-satir.bos .brd-ad b, .brd-satir.bos .brd-sayi-k b { color: var(--yazi-3); }
.brd-ad { display: grid; min-width: 0; }
.brd-ad b { font-size: 17px; overflow-wrap: anywhere; }
.brd-ad span { color: var(--yazi-2); font-size: 14px; }
.brd-sayi-k { display: grid; text-align: right; }
.brd-sayi-k span { font-size: 12.5px; font-weight: 700; color: var(--yazi-2); }
.brd-sayi-k b { font-size: 17px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.brd-sayi-k.vurgu b { color: var(--pembe-koyu); }
.brd-durum { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.brd-durum.yok { background: #f1f1f4; color: var(--yazi-2); }
.brd-durum.tamam { background: #e3f5ea; color: #0d5c33; }
.brd-durum.hata { background: var(--hata-zemin); color: var(--hata); }
.brd-ac { min-height: 46px; padding: 0 22px; }
.brd-ata { margin: 0 0 18px; padding: 14px 16px; border: 2px solid #f2c94c; border-radius: 16px; background: #fffbea; }
.brd-ata h3 { margin: 0 0 4px; }
.brd-ata-satir { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.4fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid #f0e2a8; margin: 0; }
.brd-ata-satir .girdi { min-height: 48px; }
.brd-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; }
.brd-arac form { margin: 0; }
.brd-kime { margin: 0 0 14px; }
.brd-epostalar { font-size: 13px; color: var(--yazi-2); }
.brd-hesap-form { max-width: 640px; }
.brd-hesap-form textarea.girdi { min-height: 96px; padding: 12px 14px; line-height: 1.5; }
.brd-unvan { max-width: 520px; }
.brd-bilgi-tablo { min-width: 860px; }
.brd-bilgi-tablo .girdi { min-height: 42px; font-size: 14px; }
.dugme.kucuk { min-height: 40px; padding: 0 14px; font-size: 14px; }
/* belge */
.brd-kagit { padding: 20px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); color: #1c1a1e; }
.brd-logo img { display: block; height: 40px; width: auto; margin: 0 0 14px; }
.brd-t { border-collapse: collapse; width: 100%; font-size: 14px; }
.brd-t th, .brd-t td { border: 1px solid #b9b9c1; padding: 6px 10px; text-align: left; }
.brd-t th { background: #ececf0; text-align: center; font-size: 15px; }
.brd-t td:first-child { background: #f6f6f8; color: #444450; width: 42%; }
.brd-t td + td { font-weight: 700; }
.brd-t .r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.brd-bilgi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 40px; margin: 0 0 18px; }
.brd-kaydir { overflow-x: auto; margin: 0 0 18px; border: 1px solid #b9b9c1; border-radius: 8px; }
.brd-izelge { border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; min-width: 100%; }
.brd-izelge th, .brd-izelge td { border: 1px solid #c9c9d0; padding: 3px 1px; text-align: center; white-space: nowrap; min-width: 20px; }
.brd-izelge .brd-ayir { border-left: 2px solid #55555f; }
.brd-izelge .brd-tarih { position: sticky; left: 0; z-index: 1; min-width: 84px; padding: 3px 6px; background: #f6f6f8; }
.brd-salon th { background: #ececf0; }
.brd-salon th[colspan] { background: #1c1a1e; color: #fff; font-size: 14px; }
.brd-no th { background: #f3f3f6; }
.brd-alt-bas th { background: #f8f8fa; font-size: 10px; color: #333340; }
.brd-saat td { font-weight: 800; font-size: 13.5px; }
.brd-sayi td.s0 { color: #b4b4bc; }
.brd-sayi td.v { background: #ffe6f0; font-weight: 800; color: #111; }
.brd-izelge .brd-top { background: #f6f6f8; font-weight: 800; min-width: 44px; padding: 3px 6px; }
.brd-izelge .brd-top.r { text-align: right; min-width: 96px; }
.brd-genel th, .brd-genel td { background: #1c1a1e; color: #fff; font-weight: 800; font-size: 14px; }
.brd-genel th { text-align: left; padding-left: 10px; }
.brd-izelge .brd-genel .brd-top { background: #1c1a1e; color: #fff; font-size: 14px; } /* genel toplam: kişi ve tutar görünür (28 Ekim 2026) */
.brd-genel th span { position: sticky; left: 10px; }
.brd-izelge .brd-top { position: sticky; right: 112px; z-index: 1; width: 58px; min-width: 58px; box-sizing: border-box; box-shadow: -2px 0 0 #55555f; } /* Adet / Tutar sağda sabit: tablo kayınca da görünür (28 Ekim 2026) */
.brd-izelge .brd-top.r { right: 0; width: 112px; min-width: 112px; box-shadow: none; }
.brd-izelge th.brd-top.r { text-align: center; }
.brd-alt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr); gap: 16px 24px; align-items: start; }
.brd-fiyat th { font-size: 13px; }
.brd-fiyat td:first-child { width: auto; }
.brd-odenecek td { background: #ffe6f0 !important; color: #9e0042; font-weight: 800; font-size: 16px; border-color: #9e0042; }
.brd-imza { display: flex; justify-content: flex-end; gap: 60px; margin: 28px 20px 4px 0; font-size: 15px; }
@media (max-width: 900px) {
    .brd-satir { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .brd-satir .brd-ad { grid-column: 1 / -1; }
    .brd-satir .brd-durum-k { grid-column: 1 / 3; }
    .brd-satir .brd-ac { grid-column: 3; }
    .brd-sayi-k { text-align: left; }
    .brd-bilgi, .brd-alt { grid-template-columns: minmax(0, 1fr); }
    .brd-ata-satir { grid-template-columns: minmax(0, 1fr); }
    .brd-hafta-ad { order: -1; width: 100%; text-align: left; }
    .brd-kagit { padding: 12px; }
    .brd-imza { justify-content: space-between; gap: 12px; margin-right: 0; font-size: 14px; }
}
@media (max-width: 420px) {
    .brd-satir { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .brd-satir .brd-sayi-k.vurgu { grid-column: 1 / -1; }
    .brd-satir .brd-durum-k { grid-column: 1; }
    .brd-satir .brd-ac { grid-column: 2; }
    .brd-arac .dugme, .brd-arac form { flex: 1 1 100%; }
    .brd-arac form .dugme { width: 100%; }
}
.brd-oto { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0 0 14px; padding: 12px 16px; border-radius: 14px; background: #f4f4f6; border: 1.5px solid var(--cizgi-2); }
.brd-oto.acik { background: #e9f7ef; border-color: #9fd8b8; }
.brd-oto > div { display: grid; gap: 2px; min-width: 0; flex: 1 1 320px; }
.brd-oto b { font-size: 16px; }
.brd-oto small { color: var(--yazi-2); font-size: 13.5px; }
.brd-oto form { margin: 0; }
.brd-kopya { max-width: 640px; margin: 0 0 18px; padding: 12px 16px; border: 1.5px solid var(--cizgi-2); border-radius: 14px; }
.brd-kopya legend { padding: 0 6px; font-weight: 800; }
.brd-kopya textarea.girdi { min-height: 84px; padding: 10px 14px; line-height: 1.5; }
.brd-logo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; }
.brd-logo img { margin: 0; }
.brd-logo img + img { height: 42px; }

/* müşteri sitesi alt bölümü (18 Ekim 2026): marka, bağlantılar, sinemalarımız */
.alt-zengin .alt-ic { display: grid; grid-template-columns: 1fr; gap: 26px; text-align: left; align-items: start; padding: 32px 16px 20px; }
.alt-zengin .alt-marka p { margin: 12px 0 0; max-width: 34ch; line-height: 1.55; color: #c9c9d0; font-size: 14px; }
.alt-zengin .alt-bolum h2 { margin: 0 0 10px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #e8c766; }
.alt-zengin .alt-bolum ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.alt-zengin .alt-bolum a { color: #f1f1f4; text-decoration: none; }
.alt-zengin .alt-bolum a:hover, .alt-zengin .alt-bolum a:focus-visible { color: #fff; text-decoration: underline; }
.alt-zengin .alt-not { margin: 14px 0 0; font-size: 12.5px; line-height: 1.5; color: #9a9aa3; max-width: 36ch; }
.alt-zengin .alt-subeler ul { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px 18px; align-items: start; }
.alt-zengin .alt-subeler li { display: grid; gap: 2px; font-size: 13px; line-height: 1.4; }
.alt-zengin .alt-subeler b { color: #f1f1f4; font-weight: 700; }
.alt-zengin .alt-subeler span { color: #9a9aa3; font-size: 12px; }
.alt-zengin .alt-subeler a { font-size: 12.5px; color: #e8c766; }
.alt-son { border-top: 1px solid #26262c; }
.alt-son span { display: block; max-width: 1080px; margin: 0 auto; padding: 14px 16px; font-size: 12.5px; color: #8a8a93; }
@media (min-width: 760px) {
    .alt-zengin .alt-ic { grid-template-columns: minmax(220px, 1.1fr) minmax(180px, .9fr) 2.4fr; gap: 36px; flex-direction: initial; }
}
/* web satışı adımlarında (koltuk, bilgiler) Cinegold şeridi gizlenir: müşteri koltuklara hemen ulaşır (Bulut Bey, 18 Ekim 2026 08:28) */
body:has(#ws) .marka-bant { display: none; }
/* eski sistem şemaları (Yönetici → Salonlar) */
.es-not { display: block; color: #9a5b00; }
.es-onizle { border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px 14px; margin: 10px 0 16px; background: #fff; overflow-x: auto; }
.liste li.secili { outline: 2px solid var(--vurgu, #fc0067); outline-offset: -2px; border-radius: 10px; }
/* arızalı koltuk (yönetici → salonlar → arızalı koltuklar; sema 039) */
.ariza-sema .k { cursor: pointer; border: 1.5px solid #c9c9d1; background: #fff; border-radius: 7px 7px 4px 4px; font: inherit; font-weight: 700; }
.ariza-sema .k.engelli { border-color: #3d6bd8; color: #3d6bd8; }
.sema .k.kapali, .ariza-sema .k.kapali { background: #fde3dd; color: #b3122e; font-weight: 800; box-shadow: inset 0 0 0 2px #e9a596; }
.ariza-ozet { margin: 6px 0 10px; }
.hata-yazi { color: #b3122e; display: block; }
.ariza-sema { display: flex; flex-direction: column; gap: 5px; overflow-x: auto; padding: 4px 0 8px; }
.ariza-sema .k { width: 36px; height: 36px; }
.ariza-sema .k.cift { width: 75px; }
/* destek talepleri */
.dst-mesajlar { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.dst-mesajlar li { border: 1px solid var(--cizgi); border-radius: 12px; padding: 10px 14px; background: #fff; }
.dst-kim { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.dst-kim small { color: var(--yazi-3); }
.dst-metin { white-space: normal; overflow-wrap: anywhere; }
.dst-onay { margin: 16px 0; padding: 12px 14px; border-radius: 12px; background: #eefaf2; border: 1px solid #bfe6cc; }
.dst-onay p { margin: 0 0 8px; }
/* özet paneli (ofis ana sayfası) */
.kart.ozet { margin-top: 16px; }
.kart.ozet .yon-bas small { color: var(--yazi-3); }
.oz-kartlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 8px 0 16px; }
.oz-kartlar > div { display: grid; gap: 2px; padding: 14px 16px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.oz-kartlar span { font-size: 13px; font-weight: 700; color: var(--yazi-2); }
.oz-kartlar b { font-size: 24px; font-variant-numeric: tabular-nums; }
.oz-kartlar .vurgu { border-color: var(--pembe); background: #fff5f9; }
.oz-art { color: #0d7a3e; font-weight: 700; } .oz-az { color: #b3122e; font-weight: 700; }
.oz-iki { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 16px; align-items: start; }
.oz-grafik svg { width: 100%; height: auto; display: block; }
.oz-cubuk { fill: #f3b6cf; } .oz-bugun { fill: var(--pembe); }
.oz-sayi { font-size: 12px; font-weight: 800; text-anchor: middle; fill: var(--yazi); }
.oz-gun { font-size: 11px; text-anchor: middle; fill: var(--yazi-3); }
.oz-filmler ol { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.oz-filmler li { display: flex; justify-content: space-between; gap: 10px; }
.oz-filmler li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 800px) { .oz-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); } .oz-iki { grid-template-columns: minmax(0, 1fr); } .oz-kartlar b { font-size: 20px; } }

/* Kasa Kapanış (18 Ekim 2026): telefonda tek sütun, büyük dokunma alanları */
.kas { display: flex; flex-direction: column; gap: 14px; }
.kas-secim { flex-wrap: wrap; }
.kas-durum { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 12px 14px; border-radius: 12px; background: #f1f1f4; font-size: 15px; }
.kas-durum-gonderildi { background: #eef4ff; }
.kas-durum-duzeltme { background: var(--uyari-zemin); color: var(--uyari); }
.kas-durum-onayli { background: var(--pembe-acik); }
.etiket-k.kas-d-tam { background: #dff3e4; color: #135c2a; }
.etiket-k.kas-d-bekle { background: #dde8ff; color: #1d3f8f; }
.etiket-k.kas-d-uyari { background: #fff1c2; color: #5c4300; }
.etiket-k.kas-d-pasif { background: #eee; color: var(--yazi-2); }
.etiket-k.kas-d-yok { background: var(--hata-zemin); color: var(--hata); }
.kas-bolum { padding: 14px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.kas-bolum h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 18px; }
.kas-bolum > .aciklama { margin: 0 0 10px; }
.kas-no { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: var(--pembe); color: #fff; font-size: 15px; font-weight: 800; }
.kas-satir-form, .kas-ek-form { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); align-items: end; }
.kas-satir-form .etiket, .kas-ek-form .etiket, .kas-belge-form .etiket { margin: 0; }
.kas-foto { position: relative; cursor: pointer; }
.kas-foto:focus-within { outline: 3px solid var(--pembe-acik); outline-offset: 2px; }
.gizli-dosya { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.kas-yukle.yukleniyor .kas-foto { opacity: .65; pointer-events: none; }
.kas-belge { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--cizgi); }
.kas-belge:first-of-type { border-top: 0; }
.kas-belge.onayli .kas-belge-sol { box-shadow: 0 0 0 3px #bfe6c8; border-radius: 10px; }
.kas-belge-sol { flex: 0 0 96px; }
.kas-belge-sag { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.kas-belge-sag p { margin: 0; }
.kas-kucuk { display: flex; align-items: center; justify-content: center; width: 96px; height: 128px; padding: 0; border: 1px solid var(--cizgi-2); border-radius: 10px; background: #fafafa; overflow: hidden; cursor: zoom-in; }
.kas-kucuk img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.kas-kucuk.fissiz { cursor: default; font-size: 13px; color: var(--yazi-2); text-align: center; }
.kas-pdf { font-weight: 800; color: var(--hata); }
.kas-belge-form { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); align-items: end; }
.kas-belge-form .arac-satir, .kas-belge-form .kas-onay { grid-column: 1 / -1; }
.kas-onay { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 700; }
.kas-onay input { width: 24px; height: 24px; accent-color: var(--pembe); }
.kas-okuma { color: var(--yazi-2); }
.kas-okuma.iyi { color: #135c2a; }
.kas-okuma.kotu, .kas-uyari { color: var(--uyari); }
.kas-uyari { margin: 0; padding: 6px 10px; border-radius: 8px; background: var(--uyari-zemin); font-size: 14px; }
.secim-k { min-height: 44px; padding: 8px 12px; border: 1px solid var(--cizgi-2); border-radius: 10px; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.secim-k.secili { border-color: var(--pembe); background: var(--pembe-acik); }
.kas-pos-yok { margin-top: 10px; }
.kas-kupurler { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.kas-kupur { display: grid; grid-template-columns: 64px 1fr; grid-template-rows: auto auto; align-items: center; gap: 2px 8px; padding: 8px; border: 1px solid var(--cizgi); border-radius: 10px; }
.kas-kupur span { font-weight: 800; }
.kas-kupur .girdi { min-width: 0; text-align: right; }
.kas-kupur small { grid-column: 2; text-align: right; color: var(--yazi-2); min-height: 1em; }
.kas-sayim-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 12px; padding: 12px; border-radius: 12px; background: #f6f6f8; }
.kas-sayim-alt b { font-size: 24px; font-variant-numeric: tabular-nums; flex: 1; }
.kas-kupur-dokum { display: flex; flex-wrap: wrap; gap: 6px; }
.kas-kupur-dokum span { padding: 2px 8px; border-radius: 999px; background: #f1f1f4; font-size: 14px; }
.kas-eksik { margin: 0 0 12px; padding-left: 20px; color: var(--uyari); }
.kas-eksik li { margin: 4px 0; }
.basari.kucuk { font-size: 14px; }
.kas-tablo td { white-space: nowrap; }
.kas-tablo .arti, .kas-mut .arti { color: #1d3f8f; font-weight: 700; }
.kas-tablo .eksi, .kas-mut .eksi { color: var(--hata); font-weight: 700; }
.kas-tamam { color: #135c2a; font-weight: 700; }
.kas-bilinmiyor { color: var(--yazi-3); font-style: italic; }
.kas-u span { display: inline-block; margin-right: 4px; padding: 0 6px; border-radius: 999px; background: var(--uyari-zemin); color: var(--uyari); font-size: 12px; font-weight: 700; }
.kas-tablo tr.kas-yok td { background: #fff8f8; }
.kas-mut td small { display: block; color: var(--yazi-2); font-size: 13px; }
.kas-fark-satir td { font-size: 18px; }
.kas-bilgi { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.kas-bilgi li { padding: 8px 12px; border-radius: 10px; background: #f6f6f8; }
.kas-bilgi li.uyari { background: var(--uyari-zemin); color: var(--uyari); }
.kas-bilgi li.kotu { background: var(--hata-zemin); color: var(--hata); }
.kas-islemler { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.kas-ac { border: 1px solid var(--cizgi); border-radius: 10px; padding: 0 12px; }
.kas-ac summary { min-height: 44px; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.kas-ac form { display: flex; flex-direction: column; gap: 8px; padding-bottom: 12px; }
.kas-cozum { margin: 0; padding: 8px 12px; border-radius: 10px; background: #dff3e4; color: #135c2a; }
.kas-belgeler .kas-belge:first-child { border-top: 0; }
.kas-pencere { max-width: 900px; }
.kas-buyuk { display: block; width: 100%; height: auto; }
.kas-pencere .pencere-bas form { margin: 0; }
.kas-adimlar { margin: 0 0 12px; padding-left: 22px; }
.kas-adimlar li { margin: 4px 0; }
.kas-durum-satir { margin: 0 0 10px; }
@media (min-width: 760px) {
    .pencere-kutu.kas-pencere { border-radius: 22px; margin: auto; }
}
@media (max-width: 520px) {
    .kas-belge { flex-direction: column; }
    .kas-belge-sol { flex-basis: auto; }
    .kas-kucuk { width: 100%; height: 180px; }
    .kas-sayim-alt .dugme { width: 100%; }
}

/* Haftalık program taslağı (18 Ekim 2026) */
.tsl { display: flex; flex-direction: column; gap: 12px; }
.tsl-son { padding: 4px 12px; border-radius: 999px; background: var(--uyari-zemin); color: var(--uyari); font-size: 14px; font-weight: 700; }
.tsl-son.gecti { background: var(--hata-zemin); color: var(--hata); }
.tsl-hafta { align-items: center; }
.tsl-hafta b { font-size: 17px; }
.tsl-adimlar { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
.tsl-adim { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 12px; border: 1px solid var(--cizgi-2); border-radius: 12px; background: #fff; font: inherit; font-size: 14px; white-space: nowrap; cursor: pointer; }
.tsl-adim em { font-style: normal; }
.tsl-adim span { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #eee; font-weight: 800; }
.tsl-adim.tamam span { background: #dff3e4; color: #135c2a; }
.tsl-adim.secili { border-color: var(--pembe); background: var(--pembe-acik); font-weight: 700; }
.tsl-adim.secili span { background: var(--pembe); color: #fff; }
.tsl-giris { padding: 14px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.tsl-adim-liste { margin: 8px 0; padding-left: 22px; }
.tsl-filmler { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.tsl-film { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; }
.tsl-film.secili { border-color: var(--pembe); }
.tsl-film > div:first-child { flex: 1 1 260px; display: flex; flex-direction: column; gap: 2px; }
.tsl-film small { color: var(--yazi-2); }
.tsl-film .tsl-oneri { color: var(--pembe-koyu); font-weight: 700; }
.tsl-film select.girdi { flex: 0 0 200px; }
.tsl-yeni-alan { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tsl-yeni-alan .girdi { width: 160px; }
.tsl-saat { width: 96px; text-align: center; }
.tsl-sayi { width: 72px; text-align: center; min-height: 44px; }
.tsl-matris td, .tsl-matris th { text-align: center; }
.tsl-matris td:first-child, .tsl-matris th:first-child { text-align: left; white-space: normal; min-width: 160px; }
.tsl-alt { display: flex; justify-content: space-between; gap: 10px; margin-top: 6px; }
.tsl-sube { padding: 12px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.tsl-sube h3 { margin: 0 0 8px; }
.tsl-sube h3 small { color: var(--yazi-2); font-weight: 600; }
.tsl-trk { margin: 10px 0; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.tsl-trk summary { min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; cursor: pointer; }
.tsl-trk summary small { color: var(--yazi-2); }
.tsl-trk h4 { margin: 12px 0 6px; }
.tsl-trk-yok td { color: var(--yazi-2); }
.tsl-trk table td, .tsl-trk table th { padding-left: 6px; padding-right: 6px; }
.tsl-trk table td:first-child { white-space: normal; min-width: 110px; }
.tsl-trk-zayif { color: var(--hata); font-weight: 700; }
.tsl-trk-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; }
.tsl-trk-form .etiket { flex: 1 1 200px; }
.tsl-film .tsl-trk-satir { color: #1d4f7a; }
.tsl-izgara { display: flex; flex-direction: column; gap: 6px; }
.tsl-salon { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; border-top: 1px solid var(--cizgi); }
.tsl-salon > b { flex: 0 0 90px; display: flex; flex-direction: column; font-size: 14px; }
.tsl-salon > b small { color: var(--yazi-3); font-weight: 600; }
.tsl-seanslar { display: flex; flex-wrap: wrap; gap: 6px; }
.tsl-seans { display: inline-flex; align-items: center; gap: 4px; padding: 4px 4px 4px 10px; border-radius: 10px; background: #f1f1f4; font-size: 13.5px; }
.tsl-seans.altin { background: #fff1c2; }
.tsl-seans small { color: var(--yazi-2); }
.tsl-sil { min-width: 32px; min-height: 32px; border: 0; border-radius: 8px; background: transparent; font-size: 18px; cursor: pointer; color: var(--yazi-2); }
.tsl-sil:hover { background: var(--hata-zemin); color: var(--hata); }
.tsl-eksik { margin: 0; padding-left: 18px; }
@media (max-width: 520px) {
    .tsl-salon { flex-direction: column; gap: 4px; }
    .tsl-film select.girdi { flex: 1 1 100%; }
    .tsl-alt .dugme { flex: 1; }
    .tsl-adim:not(.secili) em { display: none; }
}
.tsl-trk-kapsam { flex: 1 1 100%; display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 12px; }
.tsl-trk-kapsam legend { font-weight: 700; padding: 0 4px; }
.trk-donemler { flex-wrap: wrap; gap: 6px; }
.trk-rapor { margin-top: 10px; padding: 12px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.trk-rapor h3 { margin: 14px 0 6px; }
.trk-rapor h3:first-child { margin-top: 0; }
.trk-ozet, .trk-liste { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.trk-tablo td:first-child { white-space: normal; min-width: 110px; }
.trk-tablo td, .trk-tablo th { padding-left: 6px; padding-right: 6px; }
.yz-kart { margin: 12px 0; padding: 12px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.yz-kart h3 { margin: 0 0 6px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.yz-kart h3 small { font-size: 13px; font-weight: 600; color: var(--yazi-2); }
.yz-kart h3 small.tamam { color: #135c2a; }
.yz-nasil summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; color: var(--yazi-2); }
.yz-ay { margin: 6px 0 0; font-size: 13px; color: var(--yazi-2); }
.yz-butce-satir { padding: 8px 12px; border-radius: 12px; background: var(--pembe-acik); font-weight: 700; }
.yz-butce-satir.dolu { background: var(--hata-zemin); color: var(--hata); }
.yz-basarisiz td { color: var(--hata); }

/* ---- Haftalık taslak (yeniden: Sinema Dünyası düzeni, açık tema; 19 Ekim 2026) ---- */
.tsl { --tsl-yesil: #2b8a3e; --tsl-yesil-z: #e7f6ea; --tsl-amber: #8a5a00; --tsl-amber-z: #fff3d6; --tsl-altin: #f2b705; --tsl-altin-z: #fff8e0; display: flex; flex-direction: column; gap: 12px; }
.tsl h3 { margin: 0; font-size: 17px; }
.tsl-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
.tsl-bas h2 { margin: 0; }
.tsl-bas small { color: var(--yazi-2); }
.tsl-kart { padding: 14px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.tsl-kart-bas { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.tsl-kart-bas > span { font-size: 22px; line-height: 1; }
.tsl-kart-bas small, .tsl-alt-yazi { display: block; color: var(--yazi-2); font-size: 13px; font-weight: 500; }
/* pano */
.tsl-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.tsl-kpi-kart { display: flex; flex-direction: column; gap: 6px; padding: 14px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; min-width: 0; }
.tsl-kpi-kart > small { text-transform: uppercase; letter-spacing: .06em; font-size: 11px; font-weight: 800; color: var(--yazi-3); }
.tsl-kpi-kart > span { font-size: 13px; color: var(--yazi-2); }
.tsl-kpi-kart.vurgu { border-color: var(--pembe); background: linear-gradient(160deg, #fff 55%, var(--pembe-acik)); }
.tsl-kpi-kart.tutuyor { border-color: var(--tsl-yesil); box-shadow: 0 0 0 1px var(--tsl-yesil) inset; }
.tsl-kpi-kart.tutuyor > small { color: var(--tsl-yesil); }
.tsl-kpi-sayi { font-size: 34px; line-height: 1.1; font-weight: 800; color: var(--yazi); font-variant-numeric: tabular-nums; }
.tsl-kpi-sayi.bos { color: var(--yazi-3); }
.tsl-kpi-yazi { font-size: 22px; font-weight: 800; color: var(--pembe-koyu); }
.tsl-kpi-kart .arti { color: var(--tsl-yesil); font-weight: 700; }
.tsl-kpi-kart .eksi { color: var(--hata); font-weight: 700; }
.tsl-cubuk { display: block; height: 8px; border-radius: 99px; background: #eceef2; overflow: hidden; }
.tsl-cubuk i { display: block; height: 100%; width: var(--oran, 0%); background: var(--pembe); border-radius: 99px; }
.tsl-cubuk.yesil i { background: var(--tsl-yesil); }
.tsl-kpi-kart form { margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--cizgi); }
.tsl-kpi-kart .etiket { margin: 0; }
.tsl-hedef-satir { display: flex; gap: 6px; }
.tsl-hedef-satir .girdi { flex: 1; min-width: 0; }
.tsl-uyari-kart { display: flex; gap: 10px; padding: 12px 14px; border: 1px solid #f3d27a; border-left: 4px solid var(--tsl-altin); border-radius: 12px; background: var(--tsl-altin-z); }
.tsl-uyari-kart p { margin: 2px 0 0; font-size: 14px; }
.tsl-basla { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 18px; border: 1px solid var(--pembe); border-radius: 16px; background: linear-gradient(120deg, var(--pembe-acik), #fff 70%); }
.tsl-basla > div { flex: 1 1 280px; }
.tsl-basla h3 { font-size: 22px; color: var(--pembe-koyu); }
.tsl-basla p { margin: 4px 0 0; color: var(--yazi-2); }
.tsl-basla-simge { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: #fff; border: 1px solid var(--cizgi); font-size: 26px; }
.tsl-basla form { margin: 0; }
.tsl-bek-tablo td:first-child { white-space: normal; min-width: 140px; }
.tsl-bek-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0 10px; align-items: end; margin-top: 12px; }
.tsl-bek-form .genis { grid-column: span 2; }
.tsl-bek-form .dugme { margin-bottom: 14px; }
.tsl-gecmis summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
/* adım şeridi */
.tsl-adim-kutu { display: flex; flex-direction: column; gap: 8px; padding: 10px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.tsl-adim-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tsl-adim-ust small { color: var(--yazi-3); font-variant-numeric: tabular-nums; }
.tsl-adim.tamam span { background: var(--tsl-yesil-z); color: var(--tsl-yesil); }
/* öneri / hazır şeridi */
.tsl-serit { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 14px; border: 1px solid #f0cf6b; border-radius: 14px; background: linear-gradient(120deg, var(--tsl-altin-z), #fff 80%); }
.tsl-serit.hazir { border-color: #9fd8ab; background: linear-gradient(120deg, var(--tsl-yesil-z), #fff 80%); }
.tsl-serit-simge { flex: 0 0 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--tsl-altin); color: #3b2a00; font-weight: 900; font-size: 18px; }
.tsl-serit.hazir .tsl-serit-simge { background: var(--tsl-yesil); color: #fff; }
.tsl-serit-yazi { flex: 1 1 300px; min-width: 0; }
.tsl-serit-yazi > b { color: var(--tsl-amber); font-size: 14px; }
.tsl-serit.hazir .tsl-serit-yazi > b { color: var(--tsl-yesil); }
.tsl-serit-yazi p { margin: 2px 0 0; font-size: 15px; }
.tsl-serit-dugme form { margin: 0; }
/* saat tablosu */
.tsl-saat-tablo td, .tsl-saat-tablo th { text-align: center; }
.tsl-saat-tablo td:first-child, .tsl-saat-tablo th:first-child { text-align: left; white-space: normal; min-width: 130px; }
.tsl-saat { width: 84px; text-align: center; font-variant-numeric: tabular-nums; }
/* film kartları */
.tsl-kartlar { display: flex; flex-direction: column; gap: 10px; }
.tsl-film-kart { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 12px 14px 12px 20px; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; }
.tsl-film-kart::before { content: ""; position: absolute; left: 8px; top: 12px; bottom: 12px; width: 5px; border-radius: 4px; background: var(--renk, var(--cizgi-2)); }
.tsl-film-kart:has(input[value="cik"]:checked), .tsl-film-kart:has(input[value="alma"]:checked) { border-color: #f1c0cb; background: #fffafb; }
.tsl-film-kart:has(input[value="cik"]:checked) .tsl-film-ad, .tsl-film-kart:has(input[value="alma"]:checked) .tsl-film-ad { opacity: .65; }
.tsl-film-ust { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.tsl-film-ad { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tsl-film-ad b { font-size: 16px; }
.tsl-film-ad small { color: var(--yazi-2); }
.tsl-dk { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 6px; background: var(--tsl-altin-z); color: var(--tsl-amber); font-size: 12px; font-weight: 800; vertical-align: 2px; }
.tsl-film-sayi { flex: 0 1 220px; display: flex; flex-direction: column; font-variant-numeric: tabular-nums; }
.tsl-film-sayi small { color: var(--yazi-2); }
.tsl-film-sayi small.arti { color: var(--tsl-yesil); }
.tsl-film-sayi small.eksi { color: var(--hata); }
.tsl-seg { display: inline-flex; border: 1px solid var(--cizgi-2); border-radius: 12px; overflow: hidden; background: #fff; }
.tsl-seg label { position: relative; display: flex; }
.tsl-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tsl-seg span { display: flex; align-items: center; min-height: 44px; padding: 0 14px; font-weight: 700; font-size: 14px; cursor: pointer; border-left: 1px solid var(--cizgi); }
.tsl-seg label:first-child span { border-left: 0; }
.tsl-seg input:focus-visible + span { outline: 3px solid var(--pembe-acik); outline-offset: -3px; }
.tsl-seg .s-kal input:checked + span { background: var(--tsl-yesil); color: #fff; }
.tsl-seg .s-azalt input:checked + span { background: #e8a200; color: #2b1d00; }
.tsl-seg .s-cik input:checked + span { background: var(--hata); color: #fff; }
.tsl-seg input:checked + span::before { content: "✓ "; white-space: pre; }
p.tsl-trk-satir { margin: 0; font-size: 13px; color: #1d4f7a; }
.tsl-neden summary { cursor: pointer; font-size: 13px; font-weight: 700; color: var(--pembe-koyu); min-height: 32px; display: flex; align-items: center; }
.tsl-neden p, .tsl-neden ul { margin: 4px 0 0; font-size: 13px; color: var(--yazi-2); }
.tsl-neden ul { padding-left: 18px; }
.tsl-kural { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding-top: 8px; border-top: 1px dashed var(--cizgi-2); font-size: 13px; }
.tsl-kural-bas { flex: 1 1 100%; }
.tsl-kural-bas b { color: var(--tsl-amber); }
.tsl-kural code { padding: 1px 6px; border: 1px solid #b9d6ea; border-radius: 6px; background: #f1f8fd; color: #1d4f7a; font-size: 12px; }
.tsl-kural-alan { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.tsl-kural-alan label { display: flex; align-items: center; gap: 6px; }
.tsl-kural small { color: var(--yazi-3); }
.tsl-sayi { width: 72px; min-height: 40px; text-align: center; font-variant-numeric: tabular-nums; }
.tsl-taahhut { flex: 1 1 100%; margin: 0; color: var(--tsl-amber); font-weight: 700; }
.tsl-film-kart:has(input[value="cik"]:checked) .tsl-taahhut { color: var(--hata); }
.tsl-yeni-alan { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 10px; }
.tsl-yeni-alan .etiket { margin-bottom: 4px; }
.tsl-yeni-alan .girdi { width: 100%; }
/* ileri bakış */
.tsl-ileri > summary { display: flex; gap: 10px; align-items: center; min-height: 44px; cursor: pointer; }
.tsl-ileri > summary > span:last-child { display: flex; flex-direction: column; }
.tsl-ileri > summary small { color: var(--yazi-2); }
.tsl-ileri-hafta { padding: 8px 0; border-top: 1px solid var(--cizgi); }
.tsl-ileri-hafta small { color: var(--yazi-2); }
.tsl-ileri-hafta ul { margin: 4px 0 0; padding-left: 18px; font-size: 14px; }
.tsl-ileri-hafta li.buyuk { font-weight: 800; color: var(--pembe-koyu); }
/* lokasyon */
.tsl-film-cip { margin: 8px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 16px; }
.tsl-film-cip li { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--cizgi); font-size: 14px; }
.tsl-film-cip li::before { content: ""; flex: 0 0 10px; height: 10px; border-radius: 3px; background: var(--renk, var(--cizgi-2)); }
.tsl-film-cip b { flex: 1; min-width: 0; }
.tsl-film-cip em { font-style: normal; font-size: 12px; padding: 0 6px; border: 1px solid var(--cizgi-2); border-radius: 6px; color: var(--yazi-2); white-space: nowrap; }
.tsl-matris th { vertical-align: bottom; }
.tsl-matris th .tsl-m-sube { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; white-space: normal; min-width: 92px; }
.tsl-matris th small { display: block; color: var(--yazi-3); font-weight: 500; }
.tsl-m-yuk { display: inline-block; margin-top: 4px; padding: 1px 6px; border: 1px solid var(--tsl-altin); border-radius: 6px; font-size: 12px; white-space: nowrap; }
.tsl-m-yuk.asim { border-color: var(--hata); color: var(--hata); }
.tsl-matris td { text-align: center; }
.tsl-matris td:first-child, .tsl-matris th:first-child { text-align: left; white-space: normal; min-width: 150px; }
.tsl-matris td.kural-alti { background: var(--uyari-zemin); }
.tsl-oynar { display: inline-flex; position: relative; margin-bottom: 4px; }
.tsl-oynar input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tsl-oynar span { display: none; align-items: center; justify-content: center; min-height: 36px; min-width: 88px; padding: 0 10px; border-radius: 10px; font-size: 13px; font-weight: 800; cursor: pointer; }
.tsl-oynar input:checked ~ .evet { display: inline-flex; background: var(--tsl-yesil-z); color: var(--tsl-yesil); border: 1px solid #9fd8ab; }
.tsl-oynar input:not(:checked) ~ .hayir { display: inline-flex; background: #f4f4f6; color: var(--yazi-3); border: 1px solid var(--cizgi); }
.tsl-oynar input:focus-visible ~ span { outline: 3px solid var(--pembe-acik); }
.tsl-matris td:has(.tsl-oynar input:not(:checked)) .tsl-sayi { opacity: .35; }
.tsl-matris .tsl-sayi { display: block; margin: 0 auto; width: 64px; min-height: 36px; }
/* dağıtım */
.tsl-sure { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.tsl-sure form { display: contents; }
.tsl-sure label { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.tsl-sure > small, .tsl-sure small { flex: 1 1 100%; color: var(--yazi-3); }
.tsl-sube-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.tsl-sube-kart { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 56px; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; font: inherit; text-align: left; cursor: pointer; color: var(--yazi); }
.tsl-sube-kart small { color: var(--yazi-2); font-size: 12px; }
.tsl-sube-kart.secili { border-color: var(--pembe); background: var(--pembe-acik); }
.tsl-sube-kart.secili b { color: var(--pembe-koyu); }
.tsl-sube-saat { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
.tsl-sube-saat > small { color: var(--yazi-3); }
.tsl-duzenle summary { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid var(--pembe); border-radius: 10px; color: var(--pembe-koyu); font-weight: 800; font-size: 13px; cursor: pointer; }
.tsl-duzenle[open] { flex: 1 1 100%; }
.tsl-saat-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0 10px; margin-top: 8px; }
.tsl-saat-form .dugme { margin-bottom: 14px; }
.tsl-gun-sec { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.tsl-gun-sec > small { flex: 1 1 300px; color: var(--yazi-2); font-size: 13px; }
.tsl-seg-dugme { display: inline-flex; border: 1px solid var(--cizgi-2); border-radius: 12px; overflow: hidden; }
.tsl-seg-dugme button { min-height: 44px; padding: 0 16px; border: 0; border-left: 1px solid var(--cizgi); background: #fff; font: inherit; font-weight: 700; cursor: pointer; color: var(--yazi); }
.tsl-seg-dugme button:first-child { border-left: 0; }
.tsl-seg-dugme button.secili { background: var(--pembe); color: #fff; }
.tsl-sube-islem { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.tsl-sube-islem form { margin: 0; }
.tsl-nasil small, .tsl-gerekce > small { text-transform: uppercase; letter-spacing: .06em; font-size: 11px; font-weight: 800; color: var(--yazi-3); }
.tsl-nasil p { margin: 4px 0 0; font-size: 14px; }
.tsl-panel { border-color: var(--pembe); }
.tsl-panel-alan { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 10px; align-items: end; }
.tsl-panel-alan .dugme { margin-bottom: 14px; }
.tsl-ekle > summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; font-weight: 800; color: var(--pembe-koyu); }
/* zaman çizelgesi */
.tsl-gantt { overflow-x: auto; border: 1px solid var(--cizgi); border-radius: 14px; background: #fff; -webkit-overflow-scrolling: touch; }
.tsl-gantt:focus-visible { outline: 3px solid var(--pembe-acik); }
.tsl-g-ic { min-width: 940px; padding: 6px 10px 10px; }
.tsl-g-satir { display: grid; grid-template-columns: 104px 1fr; align-items: stretch; border-top: 1px solid var(--cizgi); }
.tsl-g-satir.tsl-g-eksen { border-top: 0; }
.tsl-g-eksen .tsl-g-yol { height: 34px; }
.tsl-g-yol { position: relative; height: 62px; }
.tsl-g-saat { position: absolute; left: var(--sol, 0); top: 4px; transform: translateX(-50%); font-size: 11px; color: var(--yazi-3); font-variant-numeric: tabular-nums; }
.tsl-g-altin { position: absolute; left: var(--sol, 0); width: var(--gen, 0); top: 0; bottom: 0; background: var(--tsl-altin-z); border-left: 1px dashed var(--tsl-altin); border-right: 1px dashed var(--tsl-altin); }
.tsl-g-eksen .tsl-g-altin { top: 18px; bottom: 2px; border: 1px solid var(--tsl-altin); border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.tsl-g-altin em { font-style: normal; font-size: 11px; font-weight: 800; color: var(--tsl-amber); white-space: nowrap; }
.tsl-g-salon { display: flex; flex-direction: column; justify-content: center; padding-right: 6px; }
.tsl-g-salon b { font-size: 14px; }
.tsl-g-salon small { font-size: 11px; color: var(--yazi-3); }
.tsl-blok { position: absolute; left: var(--sol, 0); width: var(--gen, 10%); top: 5px; bottom: 5px; display: flex; flex-direction: column; justify-content: center; gap: 1px; padding: 2px 6px;
    border: 1px solid var(--renk, #888); border-left-width: 4px; border-radius: 8px; background: color-mix(in srgb, var(--renk, #888) 14%, #fff); color: var(--yazi); font: inherit; text-align: left; cursor: pointer; overflow: hidden; }
.tsl-blok:hover, .tsl-blok:focus-visible { background: color-mix(in srgb, var(--renk, #888) 26%, #fff); z-index: 2; outline: none; }
.tsl-blok.secili { box-shadow: 0 0 0 3px var(--pembe); z-index: 3; }
.tsl-blok.altin { border-top: 2px solid var(--tsl-altin); }
.tsl-blok.kilit { border-style: solid; border-color: var(--yazi); border-left-color: var(--renk, #888); }
.tsl-blok-ust { display: flex; justify-content: space-between; gap: 4px; white-space: nowrap; }
.tsl-blok-ust b { font-size: 11px; font-variant-numeric: tabular-nums; }
.tsl-blok-ust small { font-size: 10px; color: var(--yazi-2); }
.tsl-blok-ad { font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* 5. adım */
.tsl-onizle-ust form { margin: 0; flex: 0 1 280px; }
.tsl-onizle-ust select { width: 100%; }
.tsl-gunler { display: flex; gap: 6px; overflow-x: auto; }
.tsl-gun { display: flex; flex-direction: column; align-items: center; min-width: 76px; min-height: 48px; padding: 4px 8px; border: 1px solid var(--cizgi); border-radius: 10px; background: #fff; font: inherit; cursor: pointer; color: var(--yazi); }
.tsl-gun b { font-size: 13px; }
.tsl-gun small { font-size: 11px; color: var(--yazi-3); white-space: nowrap; }
.tsl-gun.secili { border-color: var(--pembe); background: var(--pembe-acik); }
.tsl-hatirlat { border-left: 4px solid #1c7ed6; }
.tsl-hatirlat ul, .tsl-gerekce ul { margin: 6px 0 0; padding-left: 18px; font-size: 14px; }
.tsl-gerekce h3 { margin-top: 4px; }
.tsl-gerekce p { margin: 4px 0 0; color: var(--yazi-2); }
.tsl-yayin { border-color: var(--tsl-yesil); }
/* alt şerit yapışkan */
.tsl .tsl-alt { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: space-between; gap: 10px; margin-top: 4px; padding: 10px; border: 1px solid var(--cizgi); border-radius: 14px;
    background: rgba(255, 255, 255, .96); box-shadow: 0 -6px 18px rgba(0, 0, 0, .06); }
.tsl-yayin .tsl-alt { position: static; box-shadow: none; }
@media (max-width: 640px) {
    .tsl-kpi-sayi { font-size: 28px; }
    .tsl-film-sayi { flex: 1 1 100%; }
    .tsl-seg { width: 100%; }
    .tsl-seg label { flex: 1; }
    .tsl-seg span { flex: 1; justify-content: center; padding: 0 6px; }
    .tsl-bek-form .genis { grid-column: auto; }
    .tsl .tsl-alt .dugme { flex: 1; }
    .tsl-basla .dugme, .tsl-basla form { width: 100%; }
    .tsl-serit-dugme { flex: 1 1 100%; }
    .tsl-serit-dugme .dugme { width: 100%; }
}
.tsl-yeni-alan .girdi, .tsl-panel-alan .girdi, .tsl-bek-form .girdi, .tsl-saat-form .girdi { min-height: 42px; padding-top: 6px; padding-bottom: 6px; font-size: 15px; }
.tsl-kural .tsl-sayi { min-height: 36px; padding: 4px; font-size: 15px; }
.tsl-eksik-kutu { border-color: #f0cf6b; background: var(--uyari-zemin); }
.tsl-eksik-kutu summary { min-height: 36px; display: flex; align-items: center; cursor: pointer; font-weight: 800; color: var(--uyari); }
.tsl-eksik-kutu ul { margin: 6px 0 0; padding-left: 18px; font-size: 14px; }
@media (max-width: 640px) { .tsl-sube-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tsl-sube-kart { padding: 8px 10px; } }
/* bilet fiyatı hücresi: kutuların solunda "H. içi" / "H. sonu" (20 Ekim 2026) */
.ft-hucre { width: 134px; }
.ft-k { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 4px; margin: 0; }
.ft-k small { font-size: 10.5px; font-weight: 800; color: var(--yazi-2); line-height: 1.1; white-space: nowrap; }
.ft-k.hs small { color: #9a5b00; }
.ft-k.hs .girdi { background: #fffaf0; }
@media (max-width: 640px) { .ft-hucre { width: 122px; } .ft-k { grid-template-columns: 40px minmax(0, 1fr); } .ft-k small { font-size: 10px; } }
/* yeni bilet türü / grubu: listenin üstünde açılır kutu (20 Ekim 2026) */
.tur-yeni { margin: 0 0 14px; }
.tur-yeni > summary { list-style: none; display: inline-flex; cursor: pointer; }
.tur-yeni > summary::-webkit-details-marker { display: none; }
.tur-yeni[open] > summary { margin-bottom: 10px; }
.tur-yeni > form { padding: 14px; border: 1.5px solid var(--cizgi-2); border-radius: 14px; background: #fff; }
/* SGM eşleştirmeleri ve gönderim kaydı (20 Ekim 2026) */
.sgm-salon { display: inline-flex; align-items: center; gap: 6px; margin: 2px 12px 2px 0; white-space: nowrap; font-size: 13px; }
.sgm-salon .girdi.kisa { width: 96px; }
.sgm-ham pre { white-space: pre-wrap; word-break: break-all; max-height: 240px; overflow: auto; background: #f6f6f8; border: 1px solid var(--cizgi); border-radius: 8px; padding: 8px; font-size: 12px; }
.sgm-ham summary { cursor: pointer; font-size: 13px; color: var(--yazi-2); }
.sgm-mod-canli { background: #e7f6ed; border-color: #9fd8b8; }
.sgm-mod-kapali { background: #f4f4f6; }
/* bilet türü sırası (21 Ekim 2026) */
.tur-sira-satir { display: flex; gap: 8px; align-items: flex-start; }
.tur-sira-satir > details { flex: 1 1 auto; min-width: 0; }
.tur-sira { display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }
.tur-sira .dugme { min-width: 40px; min-height: 22px; padding: 0 8px; line-height: 1; }
/* bilet grubunda tür sırası (23 Ekim 2026) */
.gr-sirali { display: grid; gap: 6px; max-width: 560px; }
.gr-tur { display: flex; align-items: center; gap: 6px; }
.gr-tur > .kutu { flex: 1 1 auto; margin: 0; }
.gr-tur .dugme.kucuk { min-width: 40px; padding: 0 8px; }
.gr-sirali { counter-reset: grsira; }
.gr-tur:has(input:checked) > .kutu span::before { counter-increment: grsira; content: counter(grsira) ". "; font-weight: 800; color: var(--pembe, #d6005c); }
/* bordro deneme dönemi (23 Ekim 2026) */
.brd-deneme { margin: 6px 0 2px; padding: 8px 12px; border-radius: 10px; background: #fff7e6; border: 1px solid #f0d9a8; font-size: 13.5px; line-height: 1.45; }
.brd-deneme b { font-size: 13.5px; color: #8a5a00; }
.brd-oto form.arac-satir { align-items: flex-end; }
.brd-oto form.arac-satir .etiket { flex: 1 1 280px; }

/* telefonda "ana ekrana indir" penceresi (3 Kasım 2026): altta açılan kart */
.uyg-pencere { position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-end; justify-content: center; background: rgba(10, 10, 14, .45); padding: 12px; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
.uyg-pencere[hidden] { display: none; }
.uyg-kutu { position: relative; width: 100%; max-width: 440px; padding: 20px 18px 16px; border-radius: 20px; background: #fff; box-shadow: 0 10px 40px rgba(0, 0, 0, .3); animation: uyg-gel .25s ease-out; }
@keyframes uyg-gel { from { transform: translateY(30px); opacity: 0; } to { transform: none; opacity: 1; } }
.uyg-kutu .kapat { position: absolute; top: 8px; right: 10px; width: 36px; height: 36px; border: 0; background: none; font-size: 26px; line-height: 1; color: var(--yazi-3); cursor: pointer; }
.uyg-ust { display: flex; gap: 14px; align-items: center; padding-right: 28px; }
.uyg-ust img { flex: 0 0 auto; width: 64px; height: 64px; border-radius: 14px; }
.uyg-ust h2 { margin: 0 0 4px; font-size: 18px; }
.uyg-ust p { margin: 0; font-size: 14px; color: var(--yazi-2); }
.uyg-yol { margin: 14px 0 0; padding: 10px 12px; border-radius: 12px; background: #f4f4f6; font-size: 14px; }
.uyg-dugmeler { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.uyg-dugmeler .dugme[hidden] { display: none; }
.uyg-dugmeler:has([data-uyg-indir][hidden]) { grid-template-columns: 1fr; }
.alt-uyg { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; }

/* e-bilet sayfası (/e; 4 Kasım 2026) */
.eb-sayfa { max-width: 560px; margin: 0 auto; }
.eb-kart { padding: 22px 20px; }
.eb-ust { margin: 0 0 4px; font-size: 12px; font-weight: 800; letter-spacing: .12em; color: var(--pembe-koyu); }
.eb-kart .web-baslik { margin: 0 0 14px; }
.eb-bilgi { display: grid; gap: 10px; margin: 0 0 16px; }
.eb-bilgi div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; }
.eb-bilgi dt { color: var(--yazi-3); font-size: 14px; }
.eb-bilgi dd { margin: 0; font-weight: 700; }
.eb-durum { display: grid; gap: 6px; padding: 14px 16px; border-radius: 14px; background: #f4f4f6; }
.eb-durum.tamam { background: #e6f6ea; }
.eb-durum.bekliyor { background: #fff6dd; }
.eb-durum small { color: var(--yazi-2); }
.eb-durum .dugme { justify-self: start; margin-top: 6px; }
/* web rezervasyonu (online ödeme kapalıyken) */
.ws-rez-bant { margin: 0 0 14px; padding: 12px 16px; border: 1px solid #efd58a; border-radius: 12px; background: #fff6dc; color: #5c4300; font-size: 14.5px; font-weight: 600; }
.ws-rez-kod { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--cizgi, #e5e5ea); }
.ws-rez-kod p { margin: 0 0 10px; font-size: 14.5px; }
.ws-rez-kod .kod { letter-spacing: .3em; font-size: 20px; text-align: center; }
.ws-rez-tamam { max-width: 560px; margin: 0 auto; padding: 28px; }
.ws-rez-tamam h1 { margin: 4px 0 14px; font-size: 26px; }
.ws-rez-no { margin: 0 0 16px; padding: 14px; border-radius: 12px; background: #f4f4f6; text-align: center; }
.ws-rez-no small { display: block; color: #6b6b73; }
.ws-rez-no b { font-size: 28px; letter-spacing: .08em; }
/* sinema seçimi ve sinema bandı (4 Kasım 2026) */
.w-sinema-sec { max-width: 720px; margin: 0 auto; }
.w-sinemalar { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin: 16px 0 20px; }
.w-sinema { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 14px 16px; border: 1px solid #e3e3e8; border-radius: 14px; background: #fff; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.w-sinema:hover, .w-sinema:focus-visible { border-color: #e6005c; }
.w-sinema span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.w-sinema b { font-size: 17px; }
.w-sinema small { color: #6b6b73; font-size: 13.5px; }
.w-sinema i { font-style: normal; font-size: 20px; color: #9a9aa2; }
.w-sinema.secili { border-color: #e6005c; background: #fff2f7; }
.w-sinema.secili i { color: #e6005c; }
.w-sinema-bant { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; padding: 10px 14px; border: 1px solid #e3e3e8; border-radius: 14px; background: #fff; }
.w-sinema-bant span { display: flex; flex-direction: column; min-width: 0; }
.w-sinema-bant small { color: #6b6b73; font-size: 12.5px; }
.w-sinema-bant b { font-size: 15.5px; line-height: 1.3; }
.w-sinema-bant .dugme { flex: none; }
/* uygulama indirme sayfası */
.uyg-sayfa { max-width: 520px; margin: 0 auto; }
.us-kart { padding: 28px 22px; text-align: center; }
.us-ikon { width: 112px; height: 112px; border-radius: 26px; box-shadow: 0 6px 22px rgba(0,0,0,.18); }
.us-kart h1 { margin: 18px 0 6px; font-size: 25px; }
.us-sinema { margin: 0 0 8px; font-weight: 700; color: #e6005c; }
.us-metin { margin: 0 0 18px; color: #4a4a52; }
.us-durum { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 16px; border-radius: 14px; background: #f4f4f6; text-align: left; }
.us-durum[hidden] { display: none; }
.us-durum.uyari { background: #fff6dc; border: 1px solid #efd58a; color: #5c4300; }
.us-durum ol { margin: 0; padding-left: 22px; align-self: stretch; }
.us-durum li { margin: 6px 0; }
.us-durum small { color: #6b6b73; }
.us-buyuk { width: 100%; padding: 16px; font-size: 18px; }
.us-karekod .karekod { width: 220px; height: 220px; }
.us-site { margin: 18px 0 0; }
/* Web Yönetim → Paylaşım */
.pl-kart { margin: 0 0 14px; padding: 16px 18px; }
.pl-kart h3 { margin: 0 0 10px; }
.pl-kart h3 small { color: #6b6b73; font-weight: 500; }
.pl-form { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin: 0 0 12px; }
.pl-girdi { display: flex; align-items: center; gap: 4px; }
.pl-girdi > span { color: #6b6b73; font-size: 14px; white-space: nowrap; }
.pl-girdi .girdi { width: 220px; }
.pl-ic { display: flex; gap: 18px; flex-wrap: wrap; align-items: flex-start; }
.pl-baglar { flex: 1 1 320px; display: flex; flex-direction: column; gap: 10px; }
.pl-bag { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: center; }
.pl-bag small { grid-column: 1 / -1; color: #6b6b73; }
.pl-bag a { overflow-wrap: anywhere; font-weight: 600; }
.pl-kodlar { display: flex; gap: 14px; flex-wrap: wrap; }
.pl-kod { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pl-kod .karekod { width: 132px; height: 132px; border: 1px solid #e3e3e8; border-radius: 8px; }
.pl-kod figcaption { font-size: 13px; color: #6b6b73; }
/* üst çubukta yanıp sönen "Uygulamayı indir" (4 Kasım 2026; "Son dakika" rozetiyle aynı yanıp sönme) */
.ust-uyg { display: inline-flex; align-items: center; gap: 4px; padding: 7px 12px; border-radius: 999px; background: #e3002b; color: #fff; font-size: 14px; font-weight: 800;
    text-decoration: none; white-space: nowrap; animation: w-yanip 1.1s ease-in-out infinite; }
.ust-uyg:hover, .ust-uyg:focus-visible { color: #fff; animation-play-state: paused; opacity: 1; }
.ust-uyg[hidden] { display: none; }
/* dikkat çeksin: yanıp sönme + hafif büyüyüp küçülme */
.ust-uyg { animation: w-yanip 1.1s ease-in-out infinite, uyg-nefes 2.2s ease-in-out infinite; }
@keyframes uyg-nefes { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
/* telefonda üst çubuğun altında, ortada, büyük */
.uyg-serit { display: none; }
.uyg-serit[hidden] { display: none !important; }
@media (max-width: 560px) {
    .ust-ic > .ust-uyg { display: none; }
    .uyg-serit { display: flex; justify-content: center; padding: 10px 16px; background: #fff; border-bottom: 1px solid var(--cizgi); }
    .ust-uyg.buyuk { padding: 10px 22px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .ust-uyg { animation: none; } }
@media (max-width: 420px) { .ust-ic { gap: 6px; padding: 0 12px; } .ust-ic .ust-bag { padding: 0 10px; } .ust-ic > * { flex-shrink: 0; } }
/* personel girişi: yuvarlak çerçeveli anahtar simgesi (4 Kasım 2026) */
.ust-ic .ust-bag.ust-simge { justify-content: center; width: 42px; min-height: 42px; height: 42px; padding: 0; border: 1.5px solid var(--cizgi-2); border-radius: 50%; color: var(--yazi-2); }
.ust-ic .ust-bag.ust-simge:hover, .ust-ic .ust-bag.ust-simge:focus-visible { color: var(--yazi, #1d1d22); border-color: currentColor; }
@media (max-width: 420px) { .ust-ic .ust-bag.ust-simge { width: 38px; height: 38px; min-height: 38px; } }
/* AVM ciro bildirimi (4 Kasım 2026) */
.crb-tablo td small { display: block; color: var(--yazi-2); font-size: 12.5px; }
.crb-tablo tfoot th { background: #f4f4f6; }
.crb-tablo .crb-toplam { font-size: 17px; color: #9e0042; }
.crb-sd { margin-top: 14px; align-items: flex-end; }
.crb-indir { margin: 16px 0 6px; gap: 10px; flex-wrap: wrap; }
.crb-indir form { margin: 0; }
.crb-ayar { margin-top: 18px; border: 1px solid var(--cizgi); border-radius: 12px; padding: 10px 14px; }
.crb-ayar summary { cursor: pointer; font-weight: 700; }
.crb-ayar-form { display: grid; gap: 10px; margin-top: 12px; max-width: 640px; }
