/* Uygun Muhasebe - Tabler üzerine küçük eklemeler */

[x-cloak] { display: none !important; }
/* Platform > Aboneler: sahibin ek işletmeleri ana satırın altında (yonetim/aboneler.html) */
.abone-tablosu > tbody + tbody { border-top-width: 0; }
.alt-isletme > td { background: var(--tblr-bg-surface-secondary); }
.alt-isletme > td:first-child { padding-left: 2.75rem; }
.alt-ac { --tblr-btn-hover-bg: rgba(var(--tblr-secondary-rgb), .12); --tblr-btn-active-bg: rgba(var(--tblr-secondary-rgb), .18);
  --tblr-btn-hover-color: var(--tblr-body-color); --tblr-btn-active-color: var(--tblr-body-color); }
.alt-ac .ti { transition: transform .15s ease; }
.alt-ac[aria-expanded="true"] .ti { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) { .alt-ac .ti { transition: none; } }

.tezgah-logo { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; letter-spacing: -.01em;
  color: inherit; text-decoration: none; }
.tezgah-logo:hover { text-decoration: none; }
.tezgah-logo-isaret { display: inline-block; width: 2rem; height: 2rem; flex-shrink: 0; }
.tezgah-firma-adi { padding: .25rem 1.5rem .5rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em;
  color: var(--tblr-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Liste */
.satir-link { cursor: pointer; }
.arama-kutusu { min-width: 240px; flex: 0 1 320px; }
.filtre-secimi .form-select, .filtre-secimi .form-control { min-width: 150px; }
.tarih-filtresi { width: auto; }
.tarih-filtresi .form-control { width: 150px; }
.empty-icon .ti { font-size: 3rem; }

/* Belge formu */
.kalem-tablosu td { vertical-align: top; }
.kalem-tablosu .form-control, .kalem-tablosu .form-select { padding-left: .5rem; padding-right: .5rem; }
.toplam-tablosu td { padding: .25rem .5rem; }

/* Raporlar */
.rapor-cubugu { height: 8px; border-radius: 4px; background: var(--tblr-bg-surface-secondary); overflow: hidden; }
.rapor-cubugu > div { height: 100%; border-radius: 4px; }
.lejant { display: inline-block; width: 10px; height: 10px; border-radius: 2px; vertical-align: middle; }

/* Halka grafik (conic-gradient) ve aylık sütunlar: grafik kütüphanesi olmadan */
.halka-grafik { width: 180px; aspect-ratio: 1; flex: none; border-radius: 50%; position: relative;
  display: grid; place-items: center; }
.halka-grafik::before { content: ""; position: absolute; inset: 22%; border-radius: 50%; background: var(--tblr-bg-surface); }
.halka-grafik span { position: relative; font-size: 1.5rem; font-weight: 600; line-height: 1; text-align: center; }
.halka-grafik small { display: block; font-size: .75rem; font-weight: 400; color: var(--tblr-secondary); }
.aylik-sutunlar { display: flex; align-items: flex-end; gap: .5rem; height: 200px; }
.aylik-sutun { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; }
.aylik-sutun-cubuk { border-radius: 4px 4px 0 0; min-height: 2px; }
.aylik-sutun-ad { font-size: .7rem; text-align: center; color: var(--tblr-secondary); margin-top: .25rem; }

/* Yazdırma */
.yazdir-sayfasi { background: #f1f3f5; }
.yazdir-logo { max-height: 64px; max-width: 160px; object-fit: contain; }
.yazdir-kase { max-height: 90px; max-width: 200px; object-fit: contain; }
/* Mutabakat mektubu: cevap verildikten sonra üstte teşekkür kutusu */
.mutabakat-cevap-kutusu { max-width: 210mm; margin: 0 auto 1rem; }
/* Tahsilat makbuzu fiş boyu: 80 mm termal yazıcı */
.fis-boyu .yazdir-arac { max-width: 80mm; flex-wrap: wrap; gap: .5rem; }
.fis-boyu .a4 { max-width: 80mm; min-height: auto; padding: 5mm 4mm; font-size: 12px; }
.fis-boyu .table th, .fis-boyu .table td { padding: .2rem .25rem; }
.yazdir-arac { max-width: 210mm; margin: 1rem auto; display: flex; justify-content: space-between; }
/* Yazdırılan tablolarda hücre çizgileri (cari ekstresi, sözleşme, servis formu): sütunlar birbirine karışmasın */
.yazdir-tablo > :not(caption) > * > * { border: 1px solid #c9d1db; }
.yazdir-tablo > thead > tr > th { background: #f1f3f5; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.yazdir-imza { break-inside: avoid; }
.yazdir-imza-cizgisi { display: inline-block; min-width: 14rem; margin-top: 3rem; padding-top: .25rem; border-top: 1px solid #9aa4b2; }
.yazdir-imza.text-end .yazdir-imza-cizgisi { text-align: center; }
.sozlesme-maddeleri { list-style: none; }
.sozlesme-maddeleri > li { break-inside: avoid; }
@media screen and (max-width: 767.98px) {
  .yazdir-arac { margin: .5rem; flex-wrap: wrap; gap: .5rem; }
  .yazdir-arac form { flex-wrap: wrap; }
  .a4 { padding: 1.1rem .9rem; min-height: 0; overflow-x: auto; }
  .a4 > .d-flex:first-child { flex-wrap: wrap; gap: 1rem; }
  .a4 > .d-flex:first-child > .text-end { text-align: left !important; }
  .a4 > .d-flex:first-child > .text-end table { margin-left: 0 !important; }
  .a4 .h1 { font-size: 1.35rem; }
}
.a4 { background: #fff; color: #1d273b; max-width: 210mm; min-height: 297mm; margin: 0 auto 2rem; padding: 18mm 16mm;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08); }
/* Telefon alt menüsü (lg altı): Pano, modül kısayolu, "+ Yeni", Ara, Menü */
.mobil-alt-menu {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
  display: flex; align-items: stretch; justify-content: space-around;
  background: var(--tblr-bg-surface); border-top: 1px solid var(--tblr-border-color);
  padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -2px 8px rgba(0, 0, 0, .04);
}
.mobil-alt-menu > a, .mobil-alt-menu > button:not(.mobil-yeni) {
  flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  min-height: 3.5rem; padding: .25rem 0; border: 0; background: none;
  color: var(--tblr-secondary); font-size: .7rem; text-decoration: none;
}
.mobil-alt-menu i { font-size: 1.35rem; }
.mobil-alt-menu .aktif { color: var(--tblr-primary); font-weight: 600; }
.mobil-alt-menu .mobil-yeni {
  flex: 0 0 auto; width: 3.25rem; height: 3.25rem; margin: -.9rem .25rem .25rem; border-radius: 50%; border: 0;
  background: var(--tblr-primary); color: #fff; box-shadow: 0 4px 12px rgba(32, 107, 196, .35);
}
.mobil-alt-menu .mobil-yeni i { font-size: 1.6rem; }
@media (max-width: 991.98px) {
  .mobil-menulu .page-wrapper { padding-bottom: calc(4rem + env(safe-area-inset-bottom)); }
}
.offcanvas.mobil-yeni-sayfa { height: auto; max-height: 80vh; border-radius: 1rem 1rem 0 0; }
.mobil-yeni-oge {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; height: 100%;
  padding: .85rem .25rem; border: 1px solid var(--tblr-border-color); border-radius: .75rem;
  color: var(--tblr-body-color); text-align: center; font-size: .8rem; line-height: 1.2; text-decoration: none;
}
.mobil-yeni-oge i { font-size: 1.6rem; color: var(--tblr-primary); }
.mobil-yeni-oge:hover, .mobil-yeni-oge:active { background: var(--tblr-primary-lt); text-decoration: none; }

/* Yapay zekâ kısayolu (AI ile fiş okut): mor-mavi geçişli, öteki kısayollardan ayrı dursun */
.ai-kisayol-ikon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.25rem;
  height: 2.25rem; border-radius: .7rem; background: linear-gradient(135deg, #7c5cff 0%, #2f6fe4 100%); color: #fff; }
.ai-kisayol-ikon i { font-size: 1.2rem; color: #fff; }
.dropdown-item.ai-kisayol { display: flex; align-items: center; gap: .65rem; margin: .15rem .35rem; width: auto;
  border-radius: .6rem; background: linear-gradient(135deg, rgba(124, 92, 255, .1) 0%, rgba(47, 111, 228, .08) 100%); }
.dropdown-item.ai-kisayol:hover { background: linear-gradient(135deg, rgba(124, 92, 255, .18) 0%, rgba(47, 111, 228, .14) 100%); }
.mobil-yeni-ai { display: flex; align-items: center; gap: .8rem; padding: .85rem 1rem; border-radius: .9rem;
  background: linear-gradient(135deg, #7c5cff 0%, #2f6fe4 100%); color: #fff; text-decoration: none;
  box-shadow: 0 8px 20px -10px rgba(76, 70, 230, .8); }
.mobil-yeni-ai:hover, .mobil-yeni-ai:active { color: #fff; text-decoration: none; filter: brightness(1.06); }
.mobil-yeni-ai .ai-kisayol-ikon { background: rgba(255, 255, 255, .2); }
.mobil-yeni-ai .small { opacity: .85; }
.mobil-yeni-ai > .ti-chevron-right { font-size: 1.25rem; opacity: .8; }
.btn-ai { --tblr-btn-color: #fff; --tblr-btn-hover-color: #fff; --tblr-btn-active-color: #fff; border: 0; color: #fff;
  background: linear-gradient(135deg, #7c5cff 0%, #2f6fe4 100%); box-shadow: 0 6px 16px -8px rgba(76, 70, 230, .8); }
.btn-ai:hover, .btn-ai:focus-visible { color: #fff; filter: brightness(1.07); }
.ai-isaret { display: inline-flex; align-items: center; gap: .15rem; margin-left: .35rem; padding: 0 .4rem; border-radius: 99px;
  font-size: .65rem; font-weight: 700; line-height: 1.5; color: #fff; background: linear-gradient(135deg, #7c5cff 0%, #2f6fe4 100%); }
.ai-isaret i { font-size: .7rem; }
@media print { .mobil-alt-menu { display: none !important; } }

/* Listelerde toplu seçim: kutu hücresi tıklanabilir alan, seçim çubuğu ekranın altında sabit */
.toplu-kutu-hucre { width: 1%; padding-right: 0 !important; }
.toplu-kutu { display: flex; align-items: center; justify-content: center; margin: -.5rem; padding: .5rem; cursor: pointer; }
.toplu-cubuk {
  position: sticky; bottom: 0; z-index: 5; padding: .6rem 1rem;
  background: var(--tblr-bg-surface); border-top: 1px solid var(--tblr-border-color);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, .06); border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius);
}
@media (max-width: 991.98px) {
  .mobil-menulu .toplu-cubuk { bottom: calc(3.6rem + env(safe-area-inset-bottom)); }
}

/* Tutarları gizle: işaretli alanlar bulanıklaşır (yazdırırken gerçek değerler çıkar) */
.tutarlar-gizli .gizlenebilir { filter: blur(7px); user-select: none; }
@media print { .tutarlar-gizli .gizlenebilir { filter: none; } }

/* Genel arama: üst çubukta kutu ve açılır sonuç listesi */
.genel-arama { position: relative; flex: 0 1 26rem; }
.genel-arama-sonuc { position: absolute; top: 100%; left: 0; right: 0; max-height: 70vh; overflow-y: auto; z-index: 1050; }

/* Sayfa başlığı: eylem düğmeleri çoğalınca başlığın üstüne binmesin, alt satıra insin */
.page-header .row > .col { min-width: min(100%, 16rem); }

/* Ürün fotoğrafı: detay kartının üstünde, oranı bozulmadan */
.urun-gorseli { max-height: 260px; object-fit: contain; background: var(--tblr-bg-surface-secondary); }

/* Etiket kutusu: rozetler ve yazma alanı tek kutuda */
.etiket-kutusu { display: flex; flex-wrap: wrap; gap: .25rem; align-items: center; min-height: 2.25rem; cursor: text; }
.etiket-kutusu .badge { font-weight: 500; }
/* Esnek satırdaki rozet daralıp yazısını kesmesin ("5 gün kal", "letild"); yer gerekirse yanındaki yazı kaydırılır */
.d-flex > .badge, .list-group-item.d-flex > .badge { flex-shrink: 0; }
.d-flex > .flex-fill { min-width: 0; }
.etiket-girisi { border: 0; outline: 0; background: transparent; color: inherit; flex: 1 1 8rem; min-width: 6rem; padding: 0; }

@media print {
  .yazdir-sayfasi { background: #fff; }
  .a4 { box-shadow: none; margin: 0; padding: 0; min-height: auto; max-width: none; }
  .page-wrapper { margin: 0 !important; }
  .card { box-shadow: none; border: 1px solid #ddd; }
}

/* Tanıtım sitesi: static/css/tanitim.css */

/* Firma değiştirici: çok işletmeli (mali müşavir) listede kaydırma */
.firma-degistirici { min-width: 18rem; }
.firma-degistirici .firma-listesi { max-height: 60vh; overflow-y: auto; }

/* ================================================================ Grafikler (cekirdek/grafik.py)
   Seri renkleri sabit sırayla; açık ve koyu tema için ayrı, doğrulanmış adımlar. */
:root {
  --seri-1: #2a78d6; --seri-2: #eb6834; --seri-3: #1baf7a; --seri-4: #eda100;
  --seri-5: #e87ba4; --seri-6: #008300; --seri-7: #4a3aa7; --seri-8: #e34948;
  --grafik-izgara: #e8e7e3; --grafik-eksen: #6b6a66; --grafik-yuzey: var(--tblr-bg-surface, #fff);
}
[data-bs-theme="dark"] {
  --seri-1: #3987e5; --seri-2: #d95926; --seri-3: #199e70; --seri-4: #c98500;
  --seri-5: #d55181; --seri-6: #008300; --seri-7: #9085e9; --seri-8: #e66767;
  --grafik-izgara: #34342f; --grafik-eksen: #a8a79f;
}
.grafik { position: relative; }
.grafik-svg { width: 100%; height: auto; display: block; overflow: visible; }
.grafik-izgara { stroke: var(--grafik-izgara); stroke-width: 1; }
.grafik-taban { stroke: var(--grafik-eksen); stroke-opacity: .35; }
.grafik-eksen { fill: var(--grafik-eksen); font-size: 11px; font-variant-numeric: tabular-nums; }
.grafik-vurgu { fill: var(--tblr-primary); opacity: 0; transition: opacity .12s; }
.grafik-vurgu.aktif { opacity: .06; }
.grafik-cizgi { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.grafik-imlec { stroke: var(--grafik-eksen); stroke-opacity: .45; stroke-width: 1; }
.grafik-nokta { stroke: var(--grafik-yuzey); stroke-width: 2; }
.grafik-ipucu { position: absolute; top: 0; z-index: 5; min-width: 11rem; pointer-events: none; font-size: .8125rem;
  background: var(--tblr-bg-surface); border: 1px solid var(--tblr-border-color); border-radius: 10px;
  padding: .5rem .65rem; box-shadow: 0 8px 24px -8px rgba(16, 24, 40, .25); }
.grafik-lejant { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .8125rem; color: var(--tblr-secondary);
  margin-bottom: .35rem; }
.grafik-lejant > span { display: inline-flex; align-items: center; gap: .4rem; }
.grafik-anahtar { display: inline-block; width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.grafik-halka { position: relative; width: 172px; height: 172px; }
.grafik-halka-orta .fw-bold { font-size: .8125rem; }
.grafik-halka svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.grafik-halka-iz { fill: none; stroke: var(--grafik-izgara); stroke-width: 12; }
.grafik-halka-dilim { fill: none; stroke-width: 12; transition: stroke-width .12s; }
.grafik-halka-dilim:hover { stroke-width: 15; }
.grafik-halka-orta { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
  justify-content: center; text-align: center; font-size: .8125rem; line-height: 1.2; }
.grafik-kivilcim-cizgi { fill: none; stroke: var(--seri-1); stroke-width: 1.75; stroke-linejoin: round; }
.grafik-kivilcim-dolgu { fill: var(--seri-1); opacity: .1; }
.grafik-kivilcim-son { fill: var(--seri-1); stroke: var(--grafik-yuzey); stroke-width: 1.5; }
.grafik-kivilcim.soluk .grafik-kivilcim-cizgi { stroke: var(--grafik-eksen); }
.grafik-kivilcim.soluk .grafik-kivilcim-dolgu { fill: var(--grafik-eksen); }
.grafik-dolu-1 { fill: var(--seri-1); } .grafik-cizgi-1 { stroke: var(--seri-1); } .grafik-alan-1 { fill: var(--seri-1); opacity: .1; } .grafik-seri-1 { background: var(--seri-1); }
.grafik-dolu-2 { fill: var(--seri-2); } .grafik-cizgi-2 { stroke: var(--seri-2); } .grafik-alan-2 { fill: var(--seri-2); opacity: .1; } .grafik-seri-2 { background: var(--seri-2); }
.grafik-dolu-3 { fill: var(--seri-3); } .grafik-cizgi-3 { stroke: var(--seri-3); } .grafik-alan-3 { fill: var(--seri-3); opacity: .1; } .grafik-seri-3 { background: var(--seri-3); }
.grafik-dolu-4 { fill: var(--seri-4); } .grafik-cizgi-4 { stroke: var(--seri-4); } .grafik-alan-4 { fill: var(--seri-4); opacity: .1; } .grafik-seri-4 { background: var(--seri-4); }
.grafik-dolu-5 { fill: var(--seri-5); } .grafik-cizgi-5 { stroke: var(--seri-5); } .grafik-alan-5 { fill: var(--seri-5); opacity: .1; } .grafik-seri-5 { background: var(--seri-5); }
.grafik-dolu-6 { fill: var(--seri-6); } .grafik-cizgi-6 { stroke: var(--seri-6); } .grafik-alan-6 { fill: var(--seri-6); opacity: .1; } .grafik-seri-6 { background: var(--seri-6); }
.grafik-dolu-7 { fill: var(--seri-7); } .grafik-cizgi-7 { stroke: var(--seri-7); } .grafik-alan-7 { fill: var(--seri-7); opacity: .1; } .grafik-seri-7 { background: var(--seri-7); }
.grafik-dolu-8 { fill: var(--seri-8); } .grafik-cizgi-8 { stroke: var(--seri-8); } .grafik-alan-8 { fill: var(--seri-8); opacity: .1; } .grafik-seri-8 { background: var(--seri-8); }

/* ================================================================ Arayüz cilası (kart, stat kartı, düğme, boş durum) */
.card { border-radius: 12px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.card-link, a.card { transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.card-link:hover, a.card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(16, 24, 40, .28);
  border-color: color-mix(in srgb, var(--tblr-primary) 35%, var(--tblr-border-color)); }
.btn { border-radius: 8px; transition: transform .08s ease, box-shadow .15s ease, background-color .15s ease; }
.btn:active { transform: translateY(1px); }
.btn-primary { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 2px rgba(16, 24, 40, .12); }
.btn-primary:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 4px 12px -4px color-mix(in srgb, var(--tblr-primary) 60%, transparent); }
.btn:focus-visible, .form-control:focus, .form-select:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--tblr-primary) 22%, transparent); }
.form-control, .form-select { border-radius: 8px; }

/* Stat kartı: etiket + ikon çipi, büyük değer, değişim rozeti ve kıvılcım çizgisi */
.stat-karti .card-body { padding: 1rem 1.1rem; }
.stat-karti .stat-etiket { font-size: .8125rem; color: var(--tblr-secondary); font-weight: 500; }
.stat-karti .stat-deger { font-size: 1.5rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.2;
  font-variant-numeric: tabular-nums; margin-top: .15rem; }
.stat-karti .stat-ikon { width: 2rem; height: 2rem; border-radius: 9px; display: inline-flex; align-items: center;
  justify-content: center; font-size: 1.05rem; flex-shrink: 0; }
.stat-karti .stat-alt { font-size: .75rem; color: var(--tblr-secondary); }
.degisim { display: inline-flex; align-items: center; gap: .15rem; font-size: .75rem; font-weight: 600;
  padding: .1rem .4rem; border-radius: 999px; }
.degisim.iyi { color: #137a3f; background: #dcf5e6; }
.degisim.kotu { color: #b42318; background: #fde4e1; }
.degisim.notr { color: var(--tblr-secondary); background: var(--tblr-bg-surface-secondary); }
[data-bs-theme="dark"] .degisim.iyi { color: #6fdc9b; background: rgba(47, 179, 68, .16); }
[data-bs-theme="dark"] .degisim.kotu { color: #ff9a8f; background: rgba(214, 57, 57, .18); }

/* Boş durum: yumuşak halkalı ikon */
.empty-icon .ti { font-size: 1.75rem; }
.empty .empty-icon { width: 4rem; height: 4rem; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; color: var(--tblr-primary); margin-bottom: 1rem;
  background: color-mix(in srgb, var(--tblr-primary) 10%, transparent);
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--tblr-primary) 5%, transparent); }
.empty-title { font-weight: 600; }

/* Yönetim panelleri: süzgeç çipleri, durum dağılım çubuğu, iş kuyruğu, küçük boş durum */
.suzgec-cipleri { display: flex; flex-wrap: wrap; gap: .4rem; }
.suzgec-cipi { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .75rem; border-radius: 999px;
  border: 1px solid var(--tblr-border-color); background: var(--tblr-bg-surface); color: var(--tblr-body-color);
  font-size: .8125rem; font-weight: 500; text-decoration: none; transition: border-color .15s, background .15s; }
.suzgec-cipi:hover { border-color: var(--tblr-primary); text-decoration: none; color: var(--tblr-body-color); }
.suzgec-cipi .sayi { color: var(--tblr-secondary); font-variant-numeric: tabular-nums; }
.suzgec-cipi.secili { background: var(--tblr-body-color); border-color: var(--tblr-body-color); color: var(--tblr-bg-surface); }
.suzgec-cipi.secili .sayi { color: inherit; opacity: .7; }
.suzgec-cipi .tutar { font-weight: 600; font-variant-numeric: tabular-nums; }
.lejant-nokta { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; margin-right: .35rem; vertical-align: .05em; }
.dagilim-cubugu { display: flex; height: .75rem; border-radius: 999px; overflow: hidden; gap: 2px; background: var(--tblr-bg-surface-secondary); }
.dagilim-cubugu a { display: block; min-width: 4px; transition: opacity .15s; }
.dagilim-cubugu a:hover { opacity: .8; }
.yapilacaklar .list-group-item { padding-top: .7rem; padding-bottom: .7rem; }
.yapilacaklar .stat-ikon { width: 2rem; height: 2rem; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.yapilacak-sayi { font-weight: 700; font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.bos-durum { text-align: center; padding: 2.5rem 1rem; }
.bos-durum > .ti { font-size: 2rem; color: var(--tblr-secondary); display: block; margin-bottom: .5rem; }
.ust-arama { min-width: 18rem; }
@media (max-width: 767.98px) { .ust-arama { min-width: 0; width: 100%; } }
.ozet-kutu { display: flex; flex-direction: column; height: 100%; padding: .8rem 1rem; border-radius: var(--tblr-border-radius-lg, 8px);
  border: 1px solid var(--tblr-border-color); background: var(--tblr-bg-surface); color: var(--tblr-body-color); text-decoration: none;
  transition: border-color .15s, box-shadow .15s; }
.ozet-kutu:hover { border-color: var(--tblr-primary); text-decoration: none; color: var(--tblr-body-color); }
.ozet-kutu.secili { border-color: var(--tblr-primary); box-shadow: 0 0 0 1px var(--tblr-primary) inset; }
.ozet-kutu .etiket { font-size: .8125rem; color: var(--tblr-secondary); font-weight: 500; }
.ozet-kutu .deger { font-size: 1.5rem; font-weight: 700; line-height: 1.25; font-variant-numeric: tabular-nums; }
.ozet-kutu .alt { font-size: .75rem; color: var(--tblr-secondary); }

/* Sade pano: bekleyen iş şeridi, "diğer göstergeler" düğmesi, alttaki hızlı işlem çubuğu */
.bekleyen-seridi { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.bekleyen-is { display: flex; align-items: center; gap: .65rem; padding: .7rem 1rem; color: var(--tblr-body-color); text-decoration: none;
  border-right: 1px solid var(--tblr-border-color); border-bottom: 1px solid var(--tblr-border-color); margin: 0 -1px -1px 0; transition: background .15s; }
.bekleyen-is:hover { background: var(--tblr-bg-surface-secondary); color: var(--tblr-body-color); text-decoration: none; }
.bekleyen-is .stat-ikon { width: 2rem; height: 2rem; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bekleyen-deger { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.diger-dugmesi { border: 1px dashed var(--tblr-border-color); color: var(--tblr-secondary); }
.hizli-cubuk { position: sticky; bottom: 1.25rem; z-index: 1020; width: max-content; max-width: 100%; margin: 1.75rem auto 0;
  align-items: center; gap: .25rem; padding: .45rem .5rem .45rem 1.1rem; border-radius: 18px; background: var(--tblr-bg-surface);
  border: 1px solid var(--tblr-border-color); box-shadow: 0 16px 40px -14px rgba(24, 36, 51, .35), 0 2px 6px rgba(24, 36, 51, .06); }
/* başta yazı yerine küçük "i": üstüne gelince (ya da dokununca) ne işe yaradığını anlatır */
.hizli-cubuk-bilgi { position: relative; display: inline-flex; align-items: center; align-self: stretch; margin-right: .3rem;
  padding: 0 .7rem 0 .1rem; border-right: 1px solid var(--tblr-border-color); color: var(--tblr-secondary); font-size: 1.2rem;
  cursor: help; outline: none; }
.hizli-cubuk-bilgi:hover, .hizli-cubuk-bilgi:focus-visible { color: var(--tblr-primary); }
.hizli-cubuk-ipucu { position: absolute; bottom: calc(100% + .9rem); left: -.6rem; width: 17rem; padding: .6rem .75rem; border-radius: 10px;
  background: var(--tblr-gray-800, #1f2937); color: #fff; font-size: .8rem; line-height: 1.45; box-shadow: 0 8px 24px rgba(0,0,0,.18);
  opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .15s, transform .15s, visibility .15s; pointer-events: none; }
.hizli-cubuk-ipucu::after { content: ""; position: absolute; top: 100%; left: 1.1rem; border: 6px solid transparent;
  border-top-color: var(--tblr-gray-800, #1f2937); }
.hizli-cubuk-bilgi:hover .hizli-cubuk-ipucu, .hizli-cubuk-bilgi:focus .hizli-cubuk-ipucu { opacity: 1; visibility: visible; transform: none; }
.hizli-cubuk-dugme { cursor: pointer; }
.hizli-cubuk-dugme:not(:hover):not([aria-expanded="true"]) { background: var(--tblr-bg-surface-secondary); }
/* Ayarlar > Modüller: işletme türüne göre hazır şablon kartları */
.modul-sablonu { display: flex; flex-direction: column; padding: .9rem 1rem; border: 1px solid var(--tblr-border-color); border-radius: 12px; }
.modul-sablonu.secili { border-color: var(--tblr-green); box-shadow: 0 0 0 1px var(--tblr-green) inset; }
.modul-sablonu-moduller { display: flex; flex-wrap: wrap; gap: .3rem; }
.modul-sablonu-moduller span { font-size: .75rem; padding: .1rem .45rem; border-radius: 99px; background: var(--tblr-bg-surface-secondary);
  color: var(--tblr-secondary); }
/* sitenin soru penceresi (ortak/temel.html #tezgah-soru) */
.soru-metni { white-space: pre-line; }
.hizli-cubuk-dugme { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1rem; border-radius: 12px; border: 0;
  background: transparent; color: var(--tblr-body-color); font-size: 1rem; font-weight: 500; text-decoration: none; }
.hizli-cubuk-dugme > .ti:first-child { font-size: 1.35rem; color: var(--tblr-primary); }
.hizli-cubuk-dugme .ok { font-size: .95rem; color: var(--tblr-secondary); transition: transform .15s; }
.hizli-cubuk-dugme:hover, .hizli-cubuk-dugme[aria-expanded="true"] { background: var(--tblr-primary-lt); color: var(--tblr-body-color); text-decoration: none; }
.hizli-cubuk-dugme[aria-expanded="true"] .ok { transform: rotate(180deg); }
.hizli-cubuk-menu { min-width: 15rem; padding: .4rem; border-radius: 14px; }
.hizli-cubuk-menu .dropdown-item { display: flex; align-items: center; gap: .6rem; border-radius: 9px; font-size: 1rem; padding: .6rem .75rem; }
.hizli-cubuk-menu .dropdown-item .ti { font-size: 1.3rem; color: var(--tblr-secondary); }

/* Sol menüde işletme seçici (üstte) ve profil (altta, menü uzasa da ekranın altında sabit) */
@media (min-width: 992px) {
  .sade-menu .navbar-collapse { display: flex !important; flex-direction: column; min-height: calc(100vh - 5.5rem); }
  .sade-menu .navbar-collapse > .navbar-nav { flex: 1 0 auto; }
}
.sol-firma { padding: 0 .5rem .35rem; }
.sol-profil { position: sticky; bottom: 0; margin-top: auto; padding: .5rem; background: var(--tblr-bg-surface);
  border-top: 1px solid var(--tblr-border-color); z-index: 2; }
.sol-kutu-dugme { display: flex; align-items: center; gap: .6rem; width: 100%; padding: .45rem .5rem; border: 0; border-radius: 10px;
  background: transparent; color: var(--tblr-body-color); text-align: start; }
.sol-firma .sol-kutu-dugme { border: 1px solid var(--tblr-border-color); }
.sol-kutu-dugme:hover, .sol-kutu-dugme[aria-expanded="true"] { background: var(--tblr-bg-surface-secondary); }
.sol-kutu-yazi { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.25; }
/* Tabler kenar menüdeki açılır menüleri yerinde genişletir (position: static): profil menüsü açılınca profili yukarı
   iterdi. Firma ve profil menüsü düğmenin altında (firma) ya da üstünde (profil) yüzer, düğme yerinden kaymaz. */
.sol-firma { position: relative; }
.sade-menu .navbar-collapse .sol-firma .dropdown-menu, .sade-menu .navbar-collapse .sol-profil .dropdown-menu {
  position: absolute; left: .5rem; right: .5rem; width: auto; min-width: 0; margin: 0; padding: .35rem; z-index: 1030;
  background: var(--tblr-bg-surface); border: 1px solid var(--tblr-border-color); border-radius: 12px;
  box-shadow: 0 16px 40px -12px rgba(15, 23, 42, .35); transform: none !important; }
.sade-menu .navbar-collapse .sol-firma .dropdown-menu { top: calc(100% - .1rem) !important; bottom: auto !important;
  max-height: 70vh; overflow-y: auto; }
.sade-menu .navbar-collapse .sol-profil .dropdown-menu { top: auto !important; bottom: calc(100% + .25rem) !important; }
.sade-menu .navbar-collapse .sol-firma .dropdown-menu .dropdown-item,
.sade-menu .navbar-collapse .sol-profil .dropdown-menu .dropdown-item { padding: .45rem .65rem; border-radius: 8px;
  color: var(--tblr-body-color); white-space: normal; line-height: 1.3; }

/* Sade kenar menü (açık): az öğe, grup içinde "Diğer", başlıkta "+" kısayolu */
.sade-menu { background: var(--tblr-bg-surface); border-right: 1px solid var(--tblr-border-color); }
.sade-menu .navbar-brand { padding: .9rem 0; }
.sade-menu .tezgah-logo { color: var(--tblr-body-color); }
.sade-menu .navbar-nav { gap: .1rem; padding-left: .5rem; padding-right: .5rem; }
.sade-menu .nav-link { border-radius: 8px; color: var(--tblr-body-color); font-weight: 500; padding: .5rem .65rem; width: 100%;
  background: transparent; border: 0; text-align: left; }
.sade-menu .nav-link .nav-link-icon { color: var(--tblr-secondary); }
.sade-menu .nav-link:hover { background: var(--tblr-bg-surface-secondary); }
.sade-menu .nav-item.active > .menu-satiri > .nav-link, .sade-menu .nav-item.active > .nav-link { color: var(--tblr-primary); }
.sade-menu .nav-item.active > .menu-satiri > .nav-link .nav-link-icon, .sade-menu .nav-item.active > .nav-link .nav-link-icon { color: var(--tblr-primary); }
.sade-menu .nav-item:not(.menu-grubu).active > .menu-satiri > .nav-link, .sade-menu .nav-item:not(.menu-grubu).active > .nav-link {
  background: var(--tblr-primary-lt); }
.menu-satiri { display: flex; align-items: center; width: 100%; }
.menu-satiri .nav-link { flex: 1; min-width: 0; }
.menu-ok { margin-left: auto; font-size: .9rem; color: var(--tblr-secondary); transition: transform .15s; }
.menu-ok.acik { transform: rotate(180deg); }
.menu-ekle { flex-shrink: 0; width: 1.75rem; height: 1.75rem; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center;
  color: var(--tblr-secondary); margin-left: .15rem; }
.menu-ekle:hover { background: var(--tblr-primary-lt); color: var(--tblr-primary); text-decoration: none; }
.menu-alt { margin: .1rem 0 .35rem 1.55rem; padding-left: .6rem; border-left: 1px solid var(--tblr-border-color); }
.menu-alt-oge { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: .35rem .6rem; border-radius: 7px;
  color: var(--tblr-secondary); font-size: .875rem; text-decoration: none; background: transparent; border: 0; text-align: left; }
.menu-alt-oge:hover { background: var(--tblr-bg-surface-secondary); color: var(--tblr-body-color); text-decoration: none; }
.menu-alt-oge.active { background: var(--tblr-primary-lt); color: var(--tblr-primary); font-weight: 600; }
.menu-diger { font-size: .8125rem; }
/* "Diğer"den öne çıkarılan öğe: × ile Diğer'e döner (fareyle üstüne gelince görünür; dokunmatik ekranda hep) */
.menu-alt-satir { position: relative; display: flex; align-items: center; }
.menu-alt-satir .menu-alt-oge { padding-right: 1.9rem; }
.menu-geri { position: absolute; right: .2rem; top: 50%; transform: translateY(-50%); display: inline-flex;
  align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; padding: 0; border: 0; border-radius: 6px;
  background: transparent; color: var(--tblr-secondary); opacity: 0; transition: opacity .12s ease, background-color .12s ease; }
.menu-alt-satir:hover .menu-geri, .menu-geri:focus-visible { opacity: 1; }
.menu-geri:hover { background: var(--tblr-bg-surface-secondary); color: var(--tblr-body-color); }
@media (hover: none) { .menu-geri { opacity: .7; } }

/* Ayarlar: sekmeli üst gezinme */
.ayar-sekmeleri { display: flex; gap: .25rem; overflow-x: auto; border-bottom: 1px solid var(--tblr-border-color); margin-bottom: .25rem;
  scrollbar-width: thin; }
.ayar-sekmeleri a { white-space: nowrap; padding: .55rem .85rem; color: var(--tblr-secondary); font-weight: 500; border-bottom: 2px solid transparent;
  margin-bottom: -1px; text-decoration: none; }
.ayar-sekmeleri a:hover { color: var(--tblr-body-color); }
.ayar-sekmeleri a.active { color: var(--tblr-primary); border-bottom-color: var(--tblr-primary); }
@media (max-width: 575.98px) {
  .stat-karti .stat-deger { font-size: 1.1rem; }
  .stat-karti .card-body { padding: .8rem; }
  .stat-karti .stat-ikon { display: none; }
}

/* Okunabilirlik: her yaştan kullanıcı ilk bakışta anlasın (daha büyük yazı, ikon ve dokunma alanı) */
:root { --tblr-body-font-size: .9375rem; }
.btn { --tblr-btn-font-size: .9375rem; --tblr-btn-padding-y: .55rem; }
.btn-sm { --tblr-btn-font-size: .875rem; }
.form-control, .form-select { font-size: .9375rem; }
.dropdown-item { font-size: .9375rem; padding-top: .5rem; padding-bottom: .5rem; }
.sade-menu .tezgah-logo { font-size: 1.25rem; gap: .55rem; }
.sade-menu .tezgah-logo-isaret { width: 2.6rem; height: 2.6rem; }
.sade-menu .nav-link { font-size: 1rem; padding: .6rem .7rem; }
.sade-menu .nav-link-icon { --tblr-nav-link-icon-size: 1.5rem; width: 1.5rem; height: 1.5rem; margin-inline-end: .7rem; }
.sade-menu .nav-link-icon .ti { font-size: 1.4rem; }
.sade-menu .menu-ekle { width: 2rem; height: 2rem; font-size: 1.1rem; }
.menu-alt-oge { font-size: .9375rem; padding: .45rem .65rem; }
.stat-karti .stat-etiket { font-size: .9rem; }
.stat-karti .stat-ikon { width: 2.6rem; height: 2.6rem; border-radius: 12px; font-size: 1.4rem; }
.stat-karti .stat-alt { font-size: .8125rem; }
.bekleyen-is { font-size: .9375rem; }
.bekleyen-is .small { font-size: .9375rem !important; }
.bekleyen-is .stat-ikon { width: 2.5rem; height: 2.5rem; font-size: 1.3rem; }
.card-title { font-size: 1.05rem; }
.page-title { font-size: 1.5rem; }

/* Modüller sayfası: anahtarlı satırlar ve onay penceresi */
.modul-grup-basligi { font-size: 1.15rem; font-weight: 700; margin: 0 0 .75rem; display: flex; align-items: center; gap: .5rem; }
.modul-grup-basligi .ti { color: var(--tblr-primary); font-size: 1.4rem; }
.modul-tasi { width: 3rem; height: 3rem; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 1.6rem; }
.modul-satiri { display: flex; align-items: flex-start; gap: 1rem; padding: 1.1rem 1.25rem; }
.modul-satiri.acik { background: color-mix(in srgb, var(--tblr-primary) 3%, transparent); }
.modul-adi { font-size: 1.1rem; font-weight: 700; margin: 0; }
.modul-aciklama { color: var(--tblr-secondary); margin: .25rem 0 0; font-size: .9375rem; max-width: 52rem; }
.modul-bag { margin-top: .45rem; font-size: .875rem; color: var(--tblr-body-color); }
.modul-bag .ti { color: var(--tblr-primary); }
.modul-anahtari { display: inline-flex; flex-direction: column; align-items: center; gap: .3rem; border: 0; background: transparent;
  padding: .25rem; cursor: pointer; min-width: 4.5rem; }
.modul-anahtari-yuva { width: 3.5rem; height: 2rem; border-radius: 999px; background: var(--tblr-border-color); position: relative;
  transition: background .2s; }
.modul-anahtari-top { position: absolute; top: .25rem; left: .25rem; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .2s; }
.modul-anahtari.acik .modul-anahtari-yuva { background: var(--tblr-primary); }
.modul-anahtari.acik .modul-anahtari-top { transform: translateX(1.5rem); }
.modul-anahtari-yazi { font-size: .8125rem; font-weight: 600; color: var(--tblr-secondary); }
.modul-anahtari.acik .modul-anahtari-yazi { color: var(--tblr-primary); }
.modul-anahtari:focus-visible { outline: 3px solid color-mix(in srgb, var(--tblr-primary) 45%, transparent); border-radius: 12px; }
.modul-pencere-bolum { border: 1px solid var(--tblr-border-color); border-radius: 12px; padding: .9rem 1rem; margin-bottom: 1rem; }
.modul-pencere-bolum.uyari { border-color: color-mix(in srgb, var(--tblr-orange) 45%, transparent);
  background: color-mix(in srgb, var(--tblr-orange) 6%, transparent); }
.modul-pencere-satir { display: flex; align-items: flex-start; gap: .65rem; padding: .45rem 0; }
.modul-pencere-satir > .ti { font-size: 1.35rem; color: var(--tblr-primary); margin-top: .05rem; }
.modul-pencere-satir.secilebilir { cursor: pointer; border-radius: 8px; padding: .45rem .5rem; margin: 0 -.5rem; }
.modul-pencere-satir.secilebilir:hover { background: var(--tblr-bg-surface-secondary); }
@media (max-width: 575.98px) { .modul-satiri { gap: .75rem; padding: 1rem; } .modul-tasi { width: 2.5rem; height: 2.5rem; font-size: 1.3rem; } }

/* Pano göstergeleri: sıralama çubukları, kısayol düğmeleri, başlarken adımları */
.siralama-satiri { display: flex; align-items: flex-start; gap: .75rem; padding: .55rem 0; color: var(--tblr-body-color); text-decoration: none;
  border-bottom: 1px solid var(--tblr-border-color); }
.siralama-satiri:last-child { border-bottom: 0; }
a.siralama-satiri[href]:hover { color: var(--tblr-primary); text-decoration: none; }
.siralama-no { width: 1.6rem; height: 1.6rem; border-radius: 8px; background: var(--tblr-bg-surface-secondary); color: var(--tblr-secondary);
  font-weight: 700; font-size: .8125rem; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: .1rem; }
.siralama-cubugu { display: block; height: .4rem; border-radius: 999px; background: var(--tblr-bg-surface-secondary); margin: .35rem 0 .2rem; overflow: hidden; }
.siralama-cubugu > span { display: block; height: 100%; border-radius: 999px; background: var(--tblr-primary); }
.min-w-0 { min-width: 0; }
.kisayol-izgarasi { display: grid; grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)); gap: .6rem; }
.kisayol-dugmesi { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; text-align: center;
  padding: .9rem .5rem; border-radius: 12px; border: 1px solid var(--tblr-border-color); color: var(--tblr-body-color);
  font-weight: 500; text-decoration: none; min-height: 5.5rem; transition: border-color .15s, background .15s; }
.kisayol-dugmesi .ti { font-size: 1.7rem; color: var(--tblr-primary); }
.kisayol-dugmesi:hover { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); color: var(--tblr-body-color); text-decoration: none; }
.adim-satiri { display: flex; align-items: center; gap: .65rem; padding: .5rem .25rem; border-radius: 8px; color: var(--tblr-body-color);
  text-decoration: none; }
.adim-satiri:hover { background: var(--tblr-bg-surface-secondary); text-decoration: none; color: var(--tblr-body-color); }
.adim-satiri > .ti:first-child { font-size: 1.35rem; color: var(--tblr-secondary); }
.adim-satiri.tamam { color: var(--tblr-secondary); text-decoration: line-through; }
.adim-satiri.tamam > .ti:first-child { color: var(--tblr-green); }
/* Başlarken adımının yaklaşık süresi ("2 dk"): küçük, gri; tamamlanan adımda gösterilmez */
.adim-suresi { flex-shrink: 0; font-size: .75rem; line-height: 1.4; color: var(--tblr-secondary); white-space: nowrap;
  background: var(--tblr-bg-surface-secondary); border-radius: 999px; padding: .05rem .5rem; }

/* Ayarlar > Pano */
.pano-ikon { width: 2.5rem; height: 2.5rem; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  background: var(--tblr-primary-lt); color: var(--tblr-primary); font-size: 1.3rem; }
.pano-katalog-karti { height: 100%; display: flex; flex-direction: column; padding: 1rem; border-radius: 14px; border: 1px solid var(--tblr-border-color);
  background: var(--tblr-bg-surface); transition: border-color .15s, box-shadow .15s; }
.pano-katalog-karti p { flex: 1; }
.pano-katalog-karti.secili { border-color: var(--tblr-primary); box-shadow: 0 0 0 1px var(--tblr-primary) inset; }
@media (min-width: 992px) { .pano-secili-kart { position: sticky; top: 1rem; } }
.pano-kaydet-cubugu { position: sticky; bottom: 1rem; z-index: 1010; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-top: 1.5rem; padding: .75rem 1rem; border-radius: 16px; background: var(--tblr-bg-surface); border: 1px solid var(--tblr-border-color);
  box-shadow: 0 16px 40px -14px rgba(24, 36, 51, .35); }

/* İnsan kaynakları */
.ik-kutu { border: 1px solid var(--tblr-border-color); border-radius: 12px; padding: .75rem .9rem; height: 100%; }
.ik-kutu.vurgulu { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
.ik-etiket { font-size: .8125rem; color: var(--tblr-secondary); }
.ik-deger { font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.ik-alt { font-size: .8125rem; color: var(--tblr-secondary); }
.ik-bordro { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; padding: .75rem 1rem; border-radius: 12px;
  background: var(--tblr-bg-surface-secondary); }
.ik-bordro > div { display: flex; flex-direction: column; }
.ik-bordro > a { margin-left: auto; }

/* Kayıt formu: üç bölüm, işletme türü, hesap türü kartları, detay penceresi (iki panel: giriş sayfası bölümünde) */
.kayit-bolum { border-top: 1px solid var(--tblr-border-color); }
.kayit-bolum:last-of-type { border-bottom: 1px solid var(--tblr-border-color); }
.kayit-bolum-bas { display: flex; align-items: center; gap: .85rem; width: 100%; padding: 1.15rem 0; border: 0; background: none;
  font-size: 1.2rem; font-weight: 600; color: inherit; text-align: left; }
.kayit-no { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%;
  background: var(--tblr-bg-surface-secondary); color: var(--tblr-secondary); font-size: 1rem; font-weight: 700; flex-shrink: 0; }
.kayit-bolum.acik .kayit-no { background: var(--tblr-primary); color: #fff; }
.kayit-ok { font-size: 1.4rem; color: var(--tblr-secondary); transition: transform .2s; }
.kayit-bolum.acik .kayit-ok { transform: rotate(180deg); }
.kayit-bolum-ic { padding: .25rem 0 1.5rem; }
.kayit-bolum-ic .form-control, .kayit-bolum-ic .form-select { min-height: 3rem; font-size: 1.05rem; }
.sifre-kurallari { list-style: none; padding: 0; margin: 0 0 1rem; color: var(--tblr-secondary); }
.sifre-kurallari li { display: flex; align-items: center; gap: .45rem; padding: .1rem 0; }
.sifre-kurallari li.tamam { color: var(--tblr-green); }
.tur-secici { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); border: 1px solid var(--tblr-border-color);
  border-radius: 10px; overflow: hidden; }
.tur-secenek { position: relative; display: flex; align-items: center; gap: .6rem; padding: .85rem 1rem; cursor: pointer; margin: 0;
  border-right: 1px solid var(--tblr-border-color); }
.tur-secenek:last-child { border-right: 0; }
.tur-secenek input { width: 1.15rem; height: 1.15rem; accent-color: var(--tblr-primary); flex-shrink: 0; }
.tur-secenek span { display: flex; flex-direction: column; line-height: 1.25; }
.tur-secenek small { color: var(--tblr-secondary); font-size: .8rem; }
.tur-secenek:has(input:checked) { background: var(--tblr-primary-lt); }
.hesap-kartlari { display: grid; gap: .75rem; }
.hesap-karti { display: block; margin: 0; cursor: pointer; }
.hesap-karti input { position: absolute; opacity: 0; pointer-events: none; }
.hesap-karti-ic { display: block; padding: 1rem 1.15rem .6rem; border: 1.5px solid var(--tblr-border-color); border-radius: 12px;
  transition: border-color .15s, background .15s; }
.hesap-karti:hover .hesap-karti-ic { border-color: var(--tblr-primary); }
.hesap-karti input:checked + .hesap-karti-ic { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
.hesap-karti input:focus-visible + .hesap-karti-ic { outline: 2px solid var(--tblr-primary); outline-offset: 2px; }
.hesap-ikon { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border-radius: 10px;
  background: var(--tblr-primary-lt); color: var(--tblr-primary); font-size: 1.4rem; flex-shrink: 0; }
.hesap-ikon.buyuk { width: 3.6rem; height: 3.6rem; border-radius: 50%; font-size: 1.8rem; box-shadow: 0 0 0 8px var(--tblr-primary-lt); }
.hesap-karti input:checked + .hesap-karti-ic .hesap-ikon { background: var(--tblr-primary); color: #fff; }
.hesap-ust { display: block; font-size: .8rem; font-weight: 600; color: var(--tblr-primary); }
.hesap-ad { display: block; font-size: 1.1rem; font-weight: 700; }
.hesap-tik { font-size: 1.6rem; color: var(--tblr-border-color); }
.hesap-karti input:checked + .hesap-karti-ic .hesap-tik { color: var(--tblr-primary); }
.hesap-etiketler { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: .6rem 0 0 3.6rem; color: var(--tblr-secondary); font-size: .9rem; }
.hesap-etiketler span { display: inline-flex; align-items: center; gap: .3rem; }
.hesap-incele { display: block; margin-left: auto; font-weight: 600; }
/* Kayıtta ayrı ürünler (Restoran, Market): grup başlığı ve kartın altındaki fiyat-deneme satırı */
.hesap-grup-baslik { display: flex; align-items: center; gap: .4rem; margin-top: .5rem; font-weight: 700; color: var(--tblr-secondary); }
.hesap-grup-baslik i { color: var(--tblr-primary); font-size: 1.2rem; }
.hesap-not { display: block; margin: .45rem 0 .1rem 3.6rem; font-size: .85rem; color: var(--tblr-secondary); }
.kayit-gonder { min-height: 3.5rem; font-size: 1.2rem; }
.kayit-perde { position: fixed; inset: 0; z-index: 1060; display: flex; align-items: center; justify-content: center; padding: 1rem;
  background: rgba(15, 23, 42, .55); }
.kayit-pencere { width: 100%; max-width: 620px; max-height: calc(100vh - 2rem); overflow-y: auto; padding: 2rem;
  background: var(--tblr-bg-surface); border-radius: 16px; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.pencere-liste { list-style: none; padding: 0; margin: 0; }
.pencere-liste li { display: flex; gap: .55rem; padding: .3rem 0; font-size: 1.05rem; }
.pencere-liste i { font-size: 1.3rem; flex-shrink: 0; }
.pencere-cipler { display: flex; flex-wrap: wrap; gap: .5rem; }
.pencere-cipler > span { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .7rem; border-radius: 99px;
  background: var(--tblr-bg-surface-secondary); font-size: .95rem; }
.pencere-cipler i { color: var(--tblr-primary); }
@media (max-width: 575.98px) {
  .tur-secenek { border-right: 0; border-bottom: 1px solid var(--tblr-border-color); }
  .tur-secenek:last-child { border-bottom: 0; }
  .hesap-etiketler, .hesap-not { margin-left: 0; }
}

/* Dar ekran: kart başlığındaki düğme ve rozetler alt satıra geçsin; geniş boşluklu satırlar taşmasın */
@media (max-width: 575.98px) {
  .card-header { flex-wrap: wrap; row-gap: .5rem; }
  .card-actions { flex-wrap: wrap; }
  .row.g-4, .row.gx-4, .row.g-5, .row.gx-5 { --tblr-gutter-x: 1rem; }
}

/* e-Fatura'ya geçiş sihirbazı */
.gecis-adimlar { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.gecis-adim { display: flex; align-items: center; gap: .5rem; font-weight: 600; color: var(--tblr-secondary); }
.gecis-adim.tamam { color: var(--tblr-green); }
.gecis-no { display: inline-flex; align-items: center; justify-content: center; width: 1.9rem; height: 1.9rem; border-radius: 50%;
  background: var(--tblr-bg-surface-secondary); font-weight: 700; }
.gecis-adim.tamam .gecis-no { background: var(--tblr-green); color: #fff; }
.gecis-kart h2 { font-size: 1.6rem; }
.gecis-buyuk-ikon { display: inline-flex; align-items: center; justify-content: center; width: 4.5rem; height: 4.5rem; border-radius: 50%;
  font-size: 2.3rem; }
.gecis-buyuk-ikon.kucuk { width: 3rem; height: 3rem; font-size: 1.5rem; }
.gecis-liste { font-size: 1.05rem; padding-left: 1.2rem; }
.gecis-liste li { padding: .2rem 0; }
.gecis-secenekler { display: grid; gap: .75rem; }
.gecis-secenek { display: flex; gap: .8rem; align-items: flex-start; margin: 0; padding: 1rem 1.1rem; cursor: pointer;
  border: 1.5px solid var(--tblr-border-color); border-radius: 12px; }
.gecis-secenek input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; accent-color: var(--tblr-primary); flex-shrink: 0; }
.gecis-secenek b { display: block; font-size: 1.1rem; }
.gecis-secenek small { display: block; color: var(--tblr-secondary); font-size: .9rem; }
.gecis-secenek:has(input:checked) { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
/* e-İmza paketleri (geçiş sayfası ve sipariş) */
.eimza-paket { display: flex; align-items: center; gap: .75rem; padding: .8rem .9rem; margin-bottom: .6rem; color: inherit;
  text-decoration: none; border: 1.5px solid var(--tblr-border-color); border-radius: 12px; line-height: 1.3; }
.eimza-paket:hover { border-color: var(--tblr-primary); color: inherit; text-decoration: none; }
.eimza-paket.one-cikan { border-color: var(--tblr-primary); }
.eimza-paket b { font-size: 1.05rem; }
label.eimza-paket { cursor: pointer; }
label.eimza-paket input { width: 1.2rem; height: 1.2rem; accent-color: var(--tblr-primary); flex-shrink: 0; }
label.eimza-paket:has(input:checked) { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
.eimza-durum-adim { display: flex; gap: .6rem; padding: .35rem 0; color: var(--tblr-secondary); }
.eimza-durum-adim i { font-size: 1.15rem; }
.eimza-durum-adim.tamam { color: var(--tblr-body-color); }
.eimza-durum-adim.tamam i { color: var(--tblr-green); }
.eimza-durum-adim.simdi { color: var(--tblr-body-color); font-weight: 600; }
.eimza-durum-adim.simdi i { color: var(--tblr-primary); }

/* Öğretici (static/js/ogretici.js): perde tıklamayı keser, ışık hedefi açıkta bırakıp çevresini karartır */
.ogr-perde { position: fixed; inset: 0; z-index: 1085; background: transparent; transition: background-color .2s ease; }
.ogr-perde.koyu { background: rgba(15, 23, 42, .55); }
.ogr-isik { position: fixed; z-index: 1086; display: none; pointer-events: none; border-radius: 10px;
  box-shadow: 0 0 0 3px var(--tblr-primary), 0 0 0 200vmax rgba(15, 23, 42, .55);
  transition: left .25s ease, top .25s ease, width .25s ease, height .25s ease; }
.ogr-kutu { position: fixed; z-index: 1087; left: 0; top: 0; width: 23.5rem; max-width: calc(100vw - 24px);
  padding: .9rem 1.1rem 1rem; border-radius: 14px; background: var(--tblr-bg-surface); color: var(--tblr-body-color);
  border: 1px solid var(--tblr-border-color); box-shadow: 0 18px 50px rgba(15, 23, 42, .3); outline: none; }
.ogr-kutu.ogr-kart { width: 27rem; text-align: center; padding: 1.4rem 1.5rem 1.2rem; }
.ogr-kutu.ogr-karsilama { width: 32rem; }
.ogr-kutu.ogr-telefon { width: calc(100vw - 24px); }
.ogr-ust { display: flex; align-items: center; gap: .5rem; margin-bottom: .35rem; }
.ogr-ders { flex: 1; min-width: 0; font-size: .8rem; font-weight: 600; color: var(--tblr-primary); overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
.ogr-ders-gec { border: 0; background: none; padding: 0; font-size: .8rem; color: var(--tblr-secondary); white-space: nowrap; }
.ogr-ders-gec:hover { color: var(--tblr-primary); }
.ogr-kapat { flex-shrink: 0; width: .7rem; height: .7rem; }
.ogr-baslik { font-size: 1.15rem; font-weight: 700; margin: 0 0 .4rem; }
.ogr-metin p { margin: 0 0 .45rem; font-size: .95rem; line-height: 1.5; }
.ogr-metin p:last-child { margin-bottom: 0; }
.ogr-kart .ogr-baslik { font-size: 1.35rem; margin-top: .6rem; }
.ogr-kart .ogr-metin p { font-size: 1rem; }
.ogr-rozet { display: inline-flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; border-radius: 50%;
  font-size: 1.7rem; }
.ogr-ilerleme { height: 4px; margin: .8rem 0 .7rem; border-radius: 4px; overflow: hidden; background: var(--tblr-bg-surface-secondary); }
.ogr-ilerleme span { display: block; height: 100%; border-radius: 4px; background: var(--tblr-primary); transition: width .25s ease; }
.ogr-alt { display: flex; align-items: center; gap: .5rem; }
.ogr-kart .ogr-alt { margin-top: .9rem; }
.ogr-sayac { margin-left: auto; font-size: .8rem; color: var(--tblr-secondary); white-space: nowrap; }
.ogr-dersler { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; margin: .9rem 0 .2rem; }
.ogr-dersler span { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .6rem; border-radius: 99px; font-size: .8rem;
  background: var(--tblr-primary-lt); color: var(--tblr-primary); }
.ogr-not { margin-top: .75rem; font-size: .8rem; color: var(--tblr-secondary); }
.ogr-karsilama .ogr-ilerleme { display: none; }
.ogr-yukleniyor { display: flex; align-items: center; gap: .6rem; font-weight: 500; }
.ogr-ok { position: absolute; display: none; width: 14px; height: 14px; background: inherit; border: inherit; transform: rotate(45deg); }
.ogr-kutu[data-yer] .ogr-ok { display: block; }
.ogr-kutu[data-yer="alt"] .ogr-ok { top: -8px; border-right: 0; border-bottom: 0; }
.ogr-kutu[data-yer="ust"] .ogr-ok { bottom: -8px; border-left: 0; border-top: 0; }
.ogr-kutu[data-yer="sag"] .ogr-ok { left: -8px; border-top: 0; border-right: 0; }
.ogr-kutu[data-yer="sol"] .ogr-ok { right: -8px; border-bottom: 0; border-left: 0; }
.ogr-titret { animation: ogr-titret .35s ease; }
@keyframes ogr-titret { 25% { translate: -5px 0; } 75% { translate: 5px 0; } }
.ogr-hap, .ogr-bildirim { position: fixed; z-index: 1080; display: flex; align-items: center; gap: .6rem; border-radius: 99px;
  background: var(--tblr-bg-surface); border: 1px solid var(--tblr-border-color); box-shadow: 0 10px 30px rgba(15, 23, 42, .2); }
.ogr-hap { left: 1rem; bottom: 1rem; padding: .35rem .6rem .35rem .9rem; max-width: calc(100vw - 2rem); }
.ogr-hap-metin { font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ogr-bildirim { left: 50%; bottom: 1.25rem; transform: translateX(-50%); padding: .6rem 1rem; width: max-content;
  max-width: calc(100vw - 2rem); font-size: .9rem; border-radius: 12px; transition: opacity .4s ease; }
.ogr-bildirim.gidiyor { opacity: 0; }
@media (max-width: 991.98px) {
  .ogr-hap, .ogr-bildirim { bottom: calc(4.75rem + env(safe-area-inset-bottom)); } /* telefon alt menüsünün üstünde */
}
:root[data-bs-theme="dark"] .ogr-perde.koyu { background: rgba(0, 0, 0, .65); }
:root[data-bs-theme="dark"] .ogr-isik { box-shadow: 0 0 0 3px var(--tblr-primary), 0 0 0 200vmax rgba(0, 0, 0, .65); }
@media (prefers-reduced-motion: reduce) {
  .ogr-perde, .ogr-isik, .ogr-ilerleme span, .ogr-bildirim { transition: none; }
  .ogr-titret { animation: none; }
}
@media print { .ogr-perde, .ogr-isik, .ogr-kutu, .ogr-hap, .ogr-bildirim { display: none !important; } }

/* Yardım ve destek: öğretici kartı ve ders seçimi */
.ogretici-ilerleme { width: 10rem; }
.ders-karti { display: flex; align-items: center; gap: .75rem; width: 100%; height: 100%; padding: .7rem .85rem; text-align: left;
  border: 1px solid var(--tblr-border-color); border-radius: 10px; background: var(--tblr-bg-surface); color: inherit;
  transition: border-color .15s ease, background-color .15s ease; }
.ders-karti:hover, .ders-karti:focus-visible { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
.ders-ikon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.4rem; height: 2.4rem;
  border-radius: 10px; font-size: 1.25rem; background: var(--tblr-primary-lt); color: var(--tblr-primary); }
.ders-karti.bitti .ders-ikon { background: var(--tblr-green-lt); color: var(--tblr-green); }
.ders-ad { display: block; font-weight: 600; }
.ders-aciklama { display: block; font-size: .8rem; color: var(--tblr-secondary); }
.ders-durum { flex-shrink: 0; font-size: .75rem; color: var(--tblr-secondary); white-space: nowrap; }
.ders-durum .ti { font-size: 1.3rem; }

/* Online tahsilat: cari ödeme linki, müşterinin ödeme sayfası, makbuz */
.link-kutusu { font-family: var(--tblr-font-monospace); font-size: .95rem; }
.fatura-secim { cursor: pointer; transition: background-color .12s ease; }
.nasil-liste { padding-left: 1.2rem; }
.nasil-liste li { margin-bottom: .45rem; }
.odendi-adimlari li { display: flex; align-items: center; gap: .5rem; padding: .35rem 0; }
.odendi-adimlari .ti { font-size: 1.25rem; }
.odeme-faturalar { padding: .5rem .75rem; border-radius: 8px; background: var(--tblr-bg-surface-secondary); }
.odenecek { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  padding-top: .75rem; border-top: 1px solid var(--tblr-border-color); }
.taksit-listesi { display: grid; gap: .5rem; }
.taksit-secenek { display: flex; align-items: center; gap: .75rem; margin: 0; padding: .7rem .85rem; cursor: pointer;
  border: 1px solid var(--tblr-border-color); border-radius: 10px; transition: border-color .12s ease, background-color .12s ease; }
.taksit-secenek input { margin: 0; accent-color: var(--tblr-primary); }
.taksit-secenek small { display: block; font-size: .78rem; color: var(--tblr-secondary); }
.taksit-secenek.secili { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
.makbuz-karti { border-top: 4px solid var(--tblr-primary); }
/* Sanal POS ayarları: adım numarası, kuruluş kartları, taksit satırları, gelişmiş ayarlar başlığı */
.adim-no { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; margin-right: .4rem;
  border-radius: 50%; background: var(--tblr-primary); color: #fff; font-size: .8rem; font-weight: 700; }
.kurulus-secenekleri { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.kurulus-secenek { display: flex; align-items: flex-start; gap: .65rem; margin: 0; padding: .75rem .85rem; cursor: pointer;
  border: 1px solid var(--tblr-border-color); border-radius: 10px; transition: border-color .12s ease, background-color .12s ease; }
.kurulus-secenek input { margin-top: .2rem; accent-color: var(--tblr-primary); }
.kurulus-secenek small { display: block; color: var(--tblr-secondary); font-size: .8rem; margin-top: .15rem; }
.kurulus-secenek.secili { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
/* iyzico iş ortaklığı kampanyası: başvuru sayfasında kart, Sanal POS ayarlarında şerit */
.iyzico-kampanya { border: 1px solid var(--tblr-green); background: var(--tblr-green-lt); }
.iyzico-kampanya-oran { font-size: 1.25rem; line-height: 1.35; margin-top: .15rem; }
.iyzico-kampanya-oran b { color: var(--tblr-green); }
.iyzico-kampanya-serit { display: flex; align-items: center; gap: .85rem; padding: .85rem 1rem; border-radius: 10px;
  border: 1px solid var(--tblr-green); background: var(--tblr-green-lt); }
.iyzico-kampanya-serit > .ti { font-size: 1.6rem; color: var(--tblr-green); }
@media (max-width: 575.98px) { .iyzico-kampanya-serit { flex-wrap: wrap; } .iyzico-kampanya-serit .btn { width: 100%; } }
.taksit-satiri { display: grid; grid-template-columns: minmax(7rem, 9rem) minmax(9rem, 13rem) auto; gap: .5rem; align-items: center; justify-content: start;
  padding: .3rem 0; }
.gelismis-baslik { width: 100%; display: flex; align-items: center; background: transparent; border: 0; text-align: left; cursor: pointer; }
@media (max-width: 575.98px) { .kurulus-secenekleri { grid-template-columns: 1fr; } }
/* kart logoları (ödeme sayfası ve işletme sayfası): kartların renkli logoları beyaz zeminde okunur */
.odeme-kartlari, .isletme-kartlar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.odeme-kartlari { justify-content: center; }
.odeme-kartlari > img, .isletme-kartlar > img { height: 26px; padding: 3px 6px; background: #fff; border-radius: 4px;
  border: 1px solid var(--tblr-border-color); }
.odeme-kartlari .iyzico-ile-ode, .isletme-kartlar .iyzico-ile-ode { display: inline-flex; align-items: center; gap: .25rem;
  height: 26px; padding: 3px 8px; background: #fff; color: #1e1e2f; border-radius: 4px; font-size: .8rem; font-weight: 600;
  border: 1px solid var(--tblr-border-color); }
.odeme-kartlari .iyzico-ile-ode img, .isletme-kartlar .iyzico-ile-ode img { height: 16px; }
.odeme-yasal { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem .75rem; margin: .35rem 0; }
.odeme-yasal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* İşletme sayfası (uygunmuhasebe.com/isletme/<adres>/): işletmenin herkese açık sayfası */
.isletme-sayfasi { background: var(--tblr-bg-surface-secondary); display: flex; flex-direction: column; min-height: 100vh; }
.isletme-onizleme { padding: .5rem 1rem; text-align: center; font-size: .875rem; background: var(--tblr-yellow-lt);
  color: var(--tblr-body-color); }
.isletme-ust { background: var(--tblr-bg-surface); border-bottom: 1px solid var(--tblr-border-color); padding: 1rem 0; }
.isletme-logo { max-height: 48px; max-width: 180px; object-fit: contain; }
.isletme-menu { display: flex; flex-wrap: wrap; gap: .25rem; }
.isletme-menu a { padding: .35rem .65rem; border-radius: 6px; color: var(--tblr-secondary); font-size: .9rem; text-decoration: none; }
.isletme-menu a:hover { background: var(--tblr-bg-surface-secondary); color: var(--tblr-body-color); }
.isletme-menu a.secili { background: var(--tblr-primary-lt); color: var(--tblr-primary); font-weight: 600; }
.isletme-icerik { padding-top: 2rem; padding-bottom: 2.5rem; flex: 1 0 auto; }
.isletme-metin { max-width: 46rem; line-height: 1.65; overflow-wrap: anywhere; }
.isletme-metin.yasal h2 { font-size: 1.1rem; margin-top: 1.6rem; }
.isletme-metin.yasal li { margin-bottom: .35rem; }
.isletme-iletisim dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--tblr-secondary); font-weight: 600; }
.isletme-iletisim dd { margin-bottom: .6rem; overflow-wrap: anywhere; }
.isletme-alt { background: var(--tblr-bg-surface); border-top: 1px solid var(--tblr-border-color); padding: 1.5rem 0;
  display: grid; gap: .75rem; }
.isletme-alt .container-xl { display: grid; gap: .9rem; }
.isletme-alt-menu { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.isletme-alt-menu a { color: var(--tblr-secondary); }
@media (max-width: 575.98px) {
  .isletme-ust .h2 { font-size: 1.15rem; }
  .isletme-menu { width: 100%; }
  .isletme-menu a { padding: .3rem .5rem; font-size: .85rem; }
}
@media print {
  .makbuz-karti { border: 0; box-shadow: none; }
  .page, body { background: #fff !important; }
}

/* Ek kontör paketleri (abonelik ve e-Belge ayarları) */
.kontor-paket { position: relative; border: 1px solid var(--tblr-border-color); border-radius: 12px; padding: 1.25rem 1rem 1rem;
  text-align: center; background: var(--tblr-bg-surface); display: flex; flex-direction: column; }
.kontor-paket.one-cikan { border: 2px solid var(--tblr-primary); }
.kontor-paket form:first-of-type { margin-top: auto; }
.kontor-etiket { position: absolute; top: -.7rem; left: 50%; transform: translateX(-50%); white-space: nowrap;
  background: var(--tblr-primary); color: #fff; font-size: .72rem; font-weight: 600; padding: .15rem .6rem; border-radius: 99px; }
.kontor-hediye { color: var(--tblr-success); font-weight: 600; font-size: .85rem; min-height: 1.3rem; }

/* Platform (yönetim) paneli: uygulamayla aynı açık menü */
.platform-marka { flex-direction: column; align-items: flex-start !important; }
.platform-rozeti { display: inline-block; margin: .35rem 0 0 3.2rem; font-size: .7rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: #c2410c; background: #ffedd5; border-radius: 99px; padding: .15rem .55rem; vertical-align: middle; }
[data-bs-theme="dark"] .platform-rozeti { color: #fdba74; background: rgba(234, 88, 12, .18); }
.sade-menu .menu-baslik { list-style: none; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--tblr-secondary); padding: .9rem .7rem .3rem; }
.sade-menu .menu-sayac { margin-left: auto; min-width: 1.5rem; text-align: center; font-size: .75rem; font-weight: 700; border-radius: 99px;
  padding: .1rem .45rem; background: var(--tblr-primary-lt); color: var(--tblr-primary); }
.sade-menu .menu-sayac.sari { background: #fef3c7; color: #b45309; }
.sade-menu .menu-sayac.kirmizi { background: #fee2e2; color: #b91c1c; }

/* Mali müşavir paneli */
.suzgec-karti.secili { border-color: var(--tblr-primary); box-shadow: 0 0 0 1px var(--tblr-primary) inset; }
.beyan-seridi { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.beyan-oge { display: flex; align-items: center; gap: .75rem; padding: .9rem 1.25rem; border-top: 1px solid var(--tblr-border-color); }
@media (min-width: 992px) { .beyan-oge { border-top: 0; } .beyan-oge + .beyan-oge { border-left: 1px solid var(--tblr-border-color); } }
/* müşavir bir mükellefin ekranındayken üstteki şerit: hangi işletmede olduğu hep görünsün */
.mukellef-seridi { background: var(--tblr-azure); color: #fff; padding: .45rem 0; font-size: .875rem; }
.mukellef-seridi .btn-light { --tblr-btn-color: var(--tblr-azure); font-weight: 600; }
/* satır işlemleri: indirilecek dosyanın ne olduğu menüde iki satırda yazar */
.indir-menusu { min-width: 19rem; }
.indir-menusu .dropdown-item { white-space: normal; align-items: flex-start; }
.indir-menusu .dropdown-item small { display: block; color: var(--tblr-secondary); font-size: .75rem; line-height: 1.3; }
.musavir-tablosu .mukellefe-gir { white-space: nowrap; }
/* telefonda mükellef satırı kart olur: ad, KDV ve durum, altında düğmeler (tablo yana kaymasın, Gir görünsün) */
@media (max-width: 767.98px) {
  .musavir-tablosu thead { display: none; }
  .musavir-tablosu tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; padding: .8rem 1rem;
    border-bottom: 1px solid var(--tblr-border-color); }
  .musavir-tablosu tbody td { display: block; padding: 0 !important; border: 0 !important; text-align: left !important; }
  .musavir-tablosu tbody td:first-child, .musavir-tablosu tbody td:last-child { flex: 1 1 100%; }
  .musavir-tablosu tbody td.mobil-gizle { display: none; }
  .musavir-tablosu tbody td .btn-list { justify-content: flex-start !important; flex-wrap: wrap; }
  .musavir-tablosu tbody td[colspan] { flex: 1 1 100%; }
}
/* Durum sütunu: en önemli iki rozet, kalanı "+n" açılır listesinde; seyrek süzgeçler "Daha fazla süzgeç" panelinde */
.durum-rozetleri { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; }
.durum-rozetleri .badge { white-space: normal; text-align: left; }
/* masaüstünde Durum sütunu rozetleri okunur genişlikte kalsın ("Muhtasar ve prim hizmet ..." beş satıra kırılıyordu) */
@media (min-width: 1400px) { .musavir-tablosu .durum-sutunu { min-width: 10rem; } }
/* 1280-1400 dizüstünde tablo yana kaymasın: satırdaki "İndir" yalnız simge (menü başlığı ve aria-label yazar) */
@media (min-width: 768px) and (max-width: 1439.98px) { .musavir-tablosu .indir-yazi { display: none; } }
.durum-fazlasi { cursor: pointer; }
.durum-listesi { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; max-width: min(20rem, calc(100vw - 2rem)); }
.ek-suzgecler { width: min(18rem, calc(100vw - 2rem)); }
/* Defter Beyan aktarımı: yükleme adımları */
.db-adimlar .db-adim-no { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem;
  margin-bottom: .4rem; border-radius: 50%; background: var(--tblr-primary-lt); color: var(--tblr-primary); font-weight: 700; }

/* ---- sayfa başlığının yanındaki "i" düğmesi ve bilgi penceresi */
.sayfa-bilgi-dugmesi {
  display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem;
  margin-left: .35rem; padding: 0; border: 0; border-radius: 50%; vertical-align: middle;
  background: var(--tblr-primary-lt); color: var(--tblr-primary); font-size: 1.15rem; cursor: pointer;
  transition: transform .15s ease, background-color .15s ease;
}
.sayfa-bilgi-dugmesi:hover, .sayfa-bilgi-dugmesi:focus-visible { background: var(--tblr-primary); color: #fff; transform: scale(1.08); }
.sayfa-bilgisi h4 { display: flex; align-items: center; gap: .5rem; margin: 0 0 .35rem; font-size: 1rem; }
.sayfa-bilgisi p { margin-bottom: 1rem; }
.sayfa-bilgisi ol { padding-left: 1.25rem; }
.sayfa-bilgisi li { margin-bottom: .35rem; }
.sayfa-bilgisi-bolumler { margin: 0 0 1rem; }
.sayfa-bilgisi-bolumler dt { font-weight: 600; margin-top: .65rem; }
.sayfa-bilgisi-bolumler dt:first-child { margin-top: 0; }
.sayfa-bilgisi-bolumler dd { margin: .1rem 0 0; color: var(--tblr-secondary); }
.sayfa-bilgisi-no {
  display: inline-flex; align-items: center; justify-content: center; width: 1.4rem; height: 1.4rem; border-radius: 50%;
  background: var(--tblr-primary); color: #fff; font-size: .8rem; font-weight: 700;
}

/* ---- e-Belge durum sekmeleri */
.ebelge-durum {
  display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .75rem; border-radius: 999px;
  border: 1px solid var(--tblr-border-color); color: var(--tblr-body-color); background: var(--tblr-bg-surface);
  font-size: .875rem; text-decoration: none;
}
.ebelge-durum:hover { border-color: var(--tblr-primary); text-decoration: none; }
.ebelge-durum.aktif { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); color: var(--tblr-primary); }
.ebelge-durum-nokta { width: .55rem; height: .55rem; border-radius: 50%; display: inline-block; }

/* ---- sayfa açılışı (tezgah.js; Magic UI BlurFade gibi): bloklar sırayla 6px yukarıdan inerek, bulanıktan netleşerek
   belirir. JS yetişene dek içerik gizli; JS hiç çalışmazsa 1,2 sn sonra kendiliğinden görünür. Sol menü ve üst çubuk sabit. */
html.bulanik-acilis [data-bulanik-kok] > :not(header):not(.mukellef-seridi) { opacity: 0; animation: bulanik-guvence 0s linear 1.2s forwards; }
@keyframes bulanik-guvence { to { opacity: 1; } }
.bulanik-oge { animation: bulanik-belir .5s cubic-bezier(.25, .6, .3, 1) both; }
@keyframes bulanik-belir {
  from { opacity: 0; filter: blur(6px); transform: translateY(-6px); }
  to { opacity: 1; filter: blur(0); transform: none; }
}
/* telefonda açılan sol menü, belirmekte olan blokların üstünde kalsın */
@media (max-width: 991.98px) { .sade-menu { position: relative; z-index: 1026; } }
/* "hareketleri azalt" açıkken (Windows'ta Animasyon efektleri kapalı bilgisayarların çoğu) kayma yok, yalnız
   bulanıktan netleşme: yer değiştirmeyen solma rahatsız etmez, Burak 21.10.2026 efekti orada da görmek istedi */
@keyframes bulanik-belir-sabit { from { opacity: 0; filter: blur(6px); } to { opacity: 1; filter: blur(0); } }
@media (prefers-reduced-motion: reduce) { .bulanik-oge { animation-name: bulanik-belir-sabit; } }
@media print { .bulanik-oge { animation: none; } html.bulanik-acilis [data-bulanik-kok] > * { opacity: 1; } }

/* yaşlandırma raporu: vade kovaları (Paraşüt tahsilat raporu gibi sütunlar) */
.yas-kovasi { height: 110px; display: flex; align-items: flex-end; background: var(--tblr-bg-surface-secondary);
  border-radius: 6px; overflow: hidden; }
.yas-kovasi > div { width: 100%; min-height: 3px; border-radius: 6px 6px 0 0; transition: height .4s ease; }
.odeme-durum-karti .progress { background: var(--tblr-bg-surface-secondary); }

/* Satırda tevkifat türü: uzun tür adı kutuda kısalır, açılan listede tam görünür */
.tevkifat-turu { max-width: 16rem; text-overflow: ellipsis; }
/* Tevkifat ve ek vergi sütunları açıkken satır sıkışmasın (KDV, birim görünür kalsın): tablo yatay kayar */
@media (min-width: 768px) {
  .kalem-tablosu.gelismis { min-width: 1380px; }
  .kalem-tablosu select[x-model="k.kdv_orani"] { min-width: 5.5rem; }
  .kalem-tablosu select[x-model="k.birim"] { min-width: 6rem; }
}
/* Telefonda belge kalemleri: geniş tablo yana kaymasın, her kalem alt alta etiketli bir kart olsun (açıklama tam
   genişlik, miktar-birim, fiyat-iskonto, KDV yan yana; tutar sağda, sil düğmesi sağ üstte) */
@media (max-width: 767.98px) {
  .kalem-tablosu thead { display: none; }
  .kalem-tablosu, .kalem-tablosu tbody { display: block; }
  .kalem-tablosu tr { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .75rem; padding: .85rem 1rem;
    border-bottom: 1px solid var(--tblr-border-color); position: relative; }
  .kalem-tablosu td { display: block; padding: 0 !important; border: 0 !important; min-width: 0; }
  .kalem-tablosu td:first-child { grid-column: 1 / -1; padding-right: 2.5rem !important; }
  .kalem-tablosu td[data-etiket]::before { content: attr(data-etiket); display: block; font-size: .75rem;
    color: var(--tblr-secondary); margin-bottom: .2rem; }
  .kalem-tablosu td.kalem-tutar { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; }
  .kalem-tablosu td.kalem-tutar::before { margin: 0; }
  .kalem-tablosu td.kalem-sil { position: absolute; top: .8rem; right: .6rem; }
  .kalem-tablosu .tevkifat-turu { max-width: none; }
  .toplam-tablosu td.text-end { white-space: nowrap; }
  /* Satır eklenen form tabloları (irsaliye, müstahsil, reçete, transfer): kalemler gibi etiketli kart (tezgah.js) */
  .satir-kartlari thead { display: none; }
  .satir-kartlari, .satir-kartlari tbody { display: block; }
  .satir-kartlari tr { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .75rem; padding: .85rem 1rem;
    border-bottom: 1px solid var(--tblr-border-color); }
  .satir-kartlari td { display: block; padding: 0 !important; border: 0 !important; min-width: 0; text-align: start !important; }
  .satir-kartlari td:first-child { grid-column: 1 / -1; }
  .satir-kartlari td[data-etiket]::before { content: attr(data-etiket); display: block; font-size: .75rem;
    color: var(--tblr-secondary); margin-bottom: .2rem; }
  /* Kaydet düğmeleri: telefonda alt alta, tam genişlik; asıl iş (onayla) üstte, Vazgeç en altta */
  .belge-kaydet-cubugu { flex-direction: column-reverse; align-items: stretch; }
  .belge-kaydet-cubugu .btn { width: 100%; }
}

/* Terim ipuçları ve sözlük */
.terim { white-space: nowrap; }
.terim-ipucu { display: inline-flex; margin-left: .2rem; color: var(--tblr-secondary); cursor: help; font-size: .95em;
  vertical-align: -.1em; border-radius: 50%; text-decoration: none; }
.terim-ipucu:hover, .terim-ipucu:focus-visible { color: var(--tblr-primary); outline: none; }
.terim-kutusu { max-width: 20rem; font-size: .875rem; }
.terim-kutusu .popover-header { font-weight: 600; }
.sozluk-terim { scroll-margin-top: 5rem; }
.sozluk-terim:target { box-shadow: 0 0 0 2px var(--tblr-primary); }


/* Kaydedilmeyen formun üstündeki özet (tezgah.js): kartın içinde kenarlardan boşluklu */
.card > .hata-ozeti { margin: 1rem 1rem 0; }
form > .hata-ozeti:not(.card > *) { margin-bottom: 1rem; }

/* Toplu fiş okuma (gelir_gider/toplu_fis.html) */
.toplu-fis-birak { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: 2rem 1rem; border: 2px dashed var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); cursor: pointer;
  transition: border-color .15s, background-color .15s; margin: 0; }
.toplu-fis-birak:hover, .toplu-fis-birak.surukleniyor { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); }
.toplu-fis-onizleme { aspect-ratio: 3 / 4; border-radius: var(--tblr-border-radius); background: var(--tblr-bg-surface-secondary);
  display: flex; align-items: center; justify-content: center; overflow: hidden; }
.toplu-fis-onizleme img { width: 100%; height: 100%; object-fit: cover; }
.toplu-fis-onizleme .ti { font-size: 2.5rem; color: var(--tblr-secondary); }
.toplu-fis-stok .btn { white-space: normal; }  /* "Stoğa ekle / Masraf" seçimi dar ekranda alt satıra geçsin */

/* Menüde ayrı sekmede açılan öğe (kasa ekranı; ekranın kendi stili css/pos.css) */
.menu-yeni-sekme { font-size: .8em; opacity: .55; margin-left: .15rem; }

/* ---------------------------------------------------------------- bildirimler (zil menüsü, bildirimler sayfası) */
.bildirim-zili .bildirim-sayisi { position: absolute; top: .05rem; right: .05rem; font-size: .65rem; min-width: 1.1rem;
  padding: .15rem .3rem; line-height: 1; color: #fff; pointer-events: none; }
.bildirim-menusu { width: min(22rem, calc(100vw - 2rem)); }
.bildirim-listesi { max-height: 24rem; overflow-y: auto; }
.bildirim-metni { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bildirim-ikonu { flex: none; width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; background: var(--tblr-primary-lt); color: var(--tblr-primary); font-size: 1.05rem; }
.list-group-item.okunmamis { background: color-mix(in srgb, var(--tblr-primary) 6%, var(--tblr-bg-surface)); }
.list-group-item.okunmamis .fw-medium::after { content: ""; display: inline-block; width: .45rem; height: .45rem;
  border-radius: 50%; background: var(--tblr-primary); margin-left: .4rem; vertical-align: middle; }

/* Telefonda yazı kutusu 16px'ten küçük yazılıysa iPhone kutuya dokununca sayfayı büyütür (kullanıcı geri küçültmek
   zorunda kalır). Yalnız dokunmatik dar ekranda; masaüstü görünüm değişmez. */
@media (max-width: 767.98px) and (pointer: coarse) {
  html .form-control, html .form-select, html .input-group-text, html .form-control-sm, html .form-select-sm,
  html .input-group-sm > .form-control, html .input-group-sm > .form-select { font-size: 16px; }
}

/* ---------------------------------------------------------------- giriş sayfası (cekirdek/giris.html) */
.giris-sayfa { min-height: 100vh; min-height: 100dvh; display: flex; background: var(--tblr-bg-surface); }
.giris-tanitim { flex: 0 0 44%; max-width: 40rem; flex-direction: column; justify-content: space-between; gap: 2rem;
  padding: 3rem 3.5rem; color: #fff; }
.giris-tanitim, .kayit-tanitim-ic { background: radial-gradient(120% 90% at 0% 0%, #2f80e6 0%, #1d5fb8 45%, #163f80 100%); }
.giris-tanitim .tezgah-logo { text-decoration: none; }
.giris-tanitim-baslik { font-size: 2.4rem; line-height: 1.15; font-weight: 700; margin-bottom: .75rem; color: #fff;
  text-wrap: balance; }
.giris-tanitim-alt { font-size: 1.1rem; opacity: .9; margin-bottom: 2rem; max-width: 30rem; }
.giris-tanitim-liste { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.giris-tanitim-liste li { display: flex; gap: .85rem; align-items: flex-start; font-size: 1rem; line-height: 1.4; }
.giris-tanitim-liste .ti { flex: none; font-size: 1.35rem; width: 2.4rem; height: 2.4rem; border-radius: .75rem;
  display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .14); }
.giris-tanitim-guven { font-size: .9rem; opacity: .85; display: flex; gap: .5rem; align-items: center; }
.giris-form-alani { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
.giris-form-kap { width: 100%; max-width: 25rem; }
.giris-baslik { font-size: 1.6rem; font-weight: 700; margin-bottom: .35rem; }
.giris-form-kap .form-control { font-size: 1rem; padding-top: .6rem; padding-bottom: .6rem; }
.giris-goz { min-width: 2.25rem; min-height: 2.25rem; }
.giris-alt { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--tblr-border-color);
  color: var(--tblr-secondary); text-align: center; }
.giris-linkler { margin-top: 1.25rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem;
  font-size: .85rem; color: var(--tblr-secondary); }
.giris-linkler a { color: var(--tblr-secondary); }
@media (max-width: 991.98px) {
  .giris-form-alani { align-items: flex-start; padding-top: 2.5rem; }
}
/* Kayıt sayfası (cekirdek/kayit.html): giriş sayfasının iki paneli. Form uzun; sol panel sayfa boyunca uzar, içeriği
   (logo, başlık, maddeler, güven satırı) kaydırırken ekranın solunda kalır. Form, hesap kartları için girişten geniş. */
.kayit-tanitim { padding: 0; background: #163f80; }
.kayit-tanitim-ic { position: sticky; top: 0; width: 100%; min-height: 100vh; min-height: 100dvh; display: flex;
  flex-direction: column; justify-content: space-between; gap: 2rem; padding: 3rem 3.5rem; }
.kayit-tanitim-urun { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 1rem; padding: .35rem .85rem;
  border-radius: 99px; background: rgba(255, 255, 255, .14); font-weight: 600; }
.kayit-tanitim-urun .ti { font-size: 1.2rem; }
/* ürünle kayıt: deneme ve fiyat kutusu (maddelerin altında; telefonda başlığın altında .kayit-teklif) */
.kayit-tanitim-not { display: flex; gap: .7rem; align-items: flex-start; margin-top: 1.75rem; max-width: 32rem;
  padding: .9rem 1.1rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: .9rem;
  background: rgba(255, 255, 255, .1); font-size: .95rem; line-height: 1.45; }
.kayit-tanitim-not .ti, .kayit-teklif .ti { flex: none; font-size: 1.25rem; line-height: 1.2; }
.kayit-teklif { display: flex; gap: .6rem; align-items: flex-start; margin: -.75rem 0 1.25rem; padding: .75rem .9rem;
  border-radius: .75rem; background: var(--tblr-primary-lt); font-size: .9rem; line-height: 1.45; }
.kayit-teklif .ti { color: var(--tblr-primary); }
.kayit-form-alani { align-items: flex-start; }
.kayit-form-kap { max-width: 40rem; }
@media (min-width: 992px) {
  .kayit-form-alani { padding: 3.5rem 2.5rem 2.5rem; }
}
/* alçak ekranda (dizüstü) sol panel sığsın */
@media (min-width: 992px) and (max-height: 800px) {
  .kayit-tanitim-ic { padding: 2.25rem 3rem; gap: 1.25rem; }
  .kayit-tanitim .giris-tanitim-baslik { font-size: 2rem; }
  .kayit-tanitim .giris-tanitim-alt { margin-bottom: 1.25rem; }
  .kayit-tanitim .giris-tanitim-liste { gap: .7rem; }
  .kayit-tanitim-not { margin-top: 1.25rem; }
}

/* müşavir: seçili mükellefler için alttaki toplu işlem çubuğu (indir, belge iste, kapanış) */
.toplu-cubuk { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  padding: .65rem 1rem; background: var(--tblr-bg-surface); border-top: 1px solid var(--tblr-border-color);
  box-shadow: 0 -6px 16px rgba(0, 0, 0, .06); border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); }
@media (max-width: 991.98px) { .toplu-cubuk { bottom: 4.25rem; } }  /* telefonda alt menünün üstünde */
/* ay kapanışı: adım hücresi (tıklayınca boş -> tamam -> gerekmiyor) ve paneldeki beş nokta */
.kapanis-hucre { width: 2rem; height: 2rem; border-radius: 50%; border: 2px dashed var(--tblr-border-color);
  background: transparent; color: var(--tblr-secondary); display: inline-flex; align-items: center; justify-content: center;
  padding: 0; cursor: pointer; transition: background .15s, border-color .15s; }
.kapanis-hucre:hover { border-color: var(--tblr-green); }
.kapanis-hucre.tamam { background: var(--tblr-green); border: 2px solid var(--tblr-green); color: #fff; }
.kapanis-hucre.gerekmez { background: var(--tblr-bg-surface-tertiary); border: 2px solid var(--tblr-border-color); }
.kapanis-hucre.otomatik { background: var(--tblr-green-lt); border: 2px solid var(--tblr-green); color: var(--tblr-green); }
.kapanis-hucre.acik { border: 2px solid var(--tblr-orange); }
.kapanis-hucre.htmx-request { opacity: .5; }
.kapanis-kim { font-size: .7rem; color: var(--tblr-secondary); line-height: 1.1; margin-top: .15rem; }
/* Kontrol merkezi (musavir/kontrol.html): dönem tablosunun hücresi beyanın durumunu gösterir */
.kontrol-hucre { width: 2rem; height: 2rem; border-radius: 50%; border: 2px dashed var(--tblr-border-color);
  background: transparent; color: var(--tblr-secondary); display: inline-flex; align-items: center; justify-content: center;
  padding: 0; cursor: pointer; transition: background .15s, border-color .15s; }
.kontrol-hucre:hover { border-color: var(--tblr-green); }
.kontrol-hucre.verildi { background: var(--tblr-green); border: 2px solid var(--tblr-green); color: #fff; }
.kontrol-hucre.gerekmez { background: var(--tblr-bg-surface-tertiary); border: 2px solid var(--tblr-border-color); }
.kontrol-hucre.gecikti { background: var(--tblr-red-lt); border: 2px solid var(--tblr-red); color: var(--tblr-red); }
.kontrol-hucre.yaklasti { background: var(--tblr-orange-lt); border: 2px solid var(--tblr-orange); color: var(--tblr-orange); }
.kontrol-hucre.htmx-request { opacity: .5; }
.kontrol-gun { font-size: .7rem; color: var(--tblr-secondary); line-height: 1.1; margin-top: .15rem; }
.kapanis-tablosu th { white-space: nowrap; font-size: .75rem; }
/* Kontrol merkezi "Aylık izleme": tablo yana kayarken mükellef sütunu yerinde kalır */
.aylik-izleme th:first-child, .aylik-izleme td:first-child { position: sticky; left: 0; z-index: 1;
  background: var(--tblr-bg-surface); min-width: 8.5rem; max-width: 14rem; }
.kapanis-noktalar { display: inline-flex; align-items: center; gap: 3px; text-decoration: none; }
.kapanis-noktalar .nokta { width: .55rem; height: .55rem; border-radius: 50%; background: var(--tblr-border-color); }
.kapanis-noktalar .nokta.tamam { background: var(--tblr-green); }
.kapanis-noktalar .nokta.gerekmez { background: var(--tblr-secondary); opacity: .45; }
.kapanis-noktalar .nokta.otomatik { background: var(--tblr-green); opacity: .55; }
.kapanis-noktalar .small { margin-left: .3rem; }

/* müşavir listesi: "Belge iste" yazısı yalnız çok geniş ekranda (dar ekranda simge; satır yana taşmasın) */
.musavir-tablosu .belge-iste-yazi { display: none; }
@media (min-width: 1600px) { .musavir-tablosu .belge-iste-yazi { display: inline; } }

/* çerez bildirimi (ortak/_google_etiketi.html): sol altta, asistan balonu sağda kalır; telefonda tam genişlik */
.cerez-bandi { position: fixed; left: 1rem; bottom: 1rem; z-index: 1050; max-width: 25rem; padding: .9rem 1rem;
  background: var(--tblr-bg-surface, #fff); color: var(--tblr-body-color); border: 1px solid var(--tblr-border-color);
  border-radius: 12px; box-shadow: 0 8px 28px rgba(0, 0, 0, .14); font-size: .875rem; line-height: 1.45; }
@media (max-width: 575.98px) { .cerez-bandi { left: .5rem; right: .5rem; bottom: .5rem; max-width: none; } }

/* banka bağlantısı: "Banka sorarsa" soru-cevap listesi */
.banka-sorular dt { font-weight: 600; }
.banka-sorular dd { margin: 0 0 .5rem; color: var(--tblr-secondary); }

/* destek kedisi: kurulum ekranlarının sağ sütunundaki "talep oluştur" kartı (static/img/destek-kedi.svg) */
.destek-kedisi-resim { width: 64px; height: auto; flex: none; }
.destek-kedisi .card-body { padding: .9rem 1rem; }

/* Uygun Muhasebe Restoran / Market ürün simgesi (abonelik kartları, kapalı ekran, yönetim) */
.ek-urun-ikon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; color: #fff;
  font-size: 1.6rem; flex-shrink: 0; }
.ek-urun-ikon.restoran { background: #e8590c; }
.ek-urun-ikon.market { background: #2b8a3e; }

/* ---------------------------------------------------------------- Listeler (ortak/liste.html)
   Satır düğmeleri (ListeGorunumu.satir_eylemleri), boş durum, süzgeç; telefonda kart görünümü aşağıda (.kart-tablo). */
.satir-eylemleri { display: inline-flex; align-items: center; justify-content: flex-end; gap: .35rem; }
.satir-eylemleri .btn { white-space: nowrap; }
.satir-eylemleri .btn .ti + .satir-eylem-yazi { margin-left: .3rem; }
@media (min-width: 768px) and (max-width: 1199.98px) {  /* orta ekranda yalnız simge; adı üstüne gelince görünür */
  .satir-eylemleri .btn .ti + .satir-eylem-yazi { display: none; }
}
.liste-filtreleri { display: contents; }  /* masaüstünde süzgeçler bugünkü gibi aynı satırda */
.liste-bos .empty-subtitle { max-width: 32rem; margin-left: auto; margin-right: auto; }
.liste-bos-eylemleri { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }

/* Telefonda (768 px altı) tablo satırı karta döner: üstte kalın başlık ve sağda tutar, altta öteki bilgiler "·" ile ve
   sütun adıyla (data-etiket), en altta satır düğmeleri. Tutarlar kesilmez, sayfa yana kaymaz. Belge detayının
   kalemleri de aynı kalıbı kullanır (ortak/belge_detay.html). */
@media (max-width: 767.98px) {
  .kart-tablo thead { display: none; }
  .kart-tablo, .kart-tablo tbody, .kart-tablo tfoot { display: block; width: 100%; }
  .kart-tablo tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .5rem; padding: .75rem 1rem;
    border-bottom: 1px solid var(--tblr-border-color); }
  .kart-tablo tr::after { content: ""; order: 3; flex: 0 0 100%; height: 0; }  /* üst satırla alt satırı ayırır */
  .kart-tablo td { display: block; order: 4; min-width: 0; padding: 0 !important; border: 0 !important;
    text-align: left !important; box-shadow: none !important; }
  /* seçim kutusu solda sabit; kartın bütün satırları kutunun sağından hizalı başlar */
  .kart-tablo tr { position: relative; }
  .kart-tablo tr:has(> td.kart-kutu) { padding-left: 2.75rem; }
  .kart-tablo td.kart-kutu { position: absolute; left: .55rem; top: .55rem; }
  .kart-tablo td.kart-kutu .toplu-kutu { margin: 0; }
  .kart-tablo td.kart-ana { order: 1; flex: 1 1 0; font-weight: 600; overflow-wrap: anywhere; }
  .kart-tablo td.kart-ana a { font-weight: 600; }
  .kart-tablo td.kart-tutar { order: 2; margin-left: auto; text-align: right !important; white-space: nowrap;
    font-weight: 700; font-variant-numeric: tabular-nums; }
  .kart-tablo td.kart-ana .kart-kucuk, .kart-tablo td.kart-tutar .kart-kucuk { font-weight: 400; }
  .kart-tablo td.kart-alt { font-size: .875rem; overflow-wrap: anywhere; }
  .kart-tablo td.kart-alt[data-etiket]::before { content: attr(data-etiket) ": "; color: var(--tblr-secondary); }
  .kart-tablo td.kart-alt:not(.kart-bos) ~ td.kart-alt::before { content: "· "; color: var(--tblr-secondary); }
  .kart-tablo td.kart-alt:not(.kart-bos) ~ td.kart-alt[data-etiket]::before { content: "· " attr(data-etiket) ": "; }
  .kart-tablo td.kart-alt .kart-kucuk { display: inline; margin-left: .25rem; font-size: inherit; }
  .kart-tablo td.kart-gizli, .kart-tablo td.kart-bos { display: none; }
  .kart-tablo td.kart-eylem { order: 6; flex: 1 1 100%; margin-top: .45rem; text-align: left !important; }
  .kart-tablo .satir-eylemleri { display: flex; flex-wrap: wrap; gap: .5rem; }
  .kart-tablo .satir-eylemleri .btn { flex: 1 1 auto; }
  .kart-tablo tfoot tr { background: var(--tblr-bg-surface-secondary); border-bottom: 0; }
  /* dövizli listede toplam "1.200,00 ₺ + 300,00 USD" olur: " + "dan kırılsın, kart yana taşmasın */
  .kart-tablo tfoot td.kart-tutar, .kart-tablo tfoot td.kart-alt { white-space: normal !important; }
  .kart-tablo tbody tr.table-active { background: var(--tblr-primary-lt); }
  .kart-tablo.table-hover > tbody > tr.satir-link:active { background: var(--tblr-bg-surface-secondary); }

  /* özet kutuları iki sütun; tutar küçülür, kesilmez */
  .liste-ozet .card-body { padding: .75rem .85rem; }
  .liste-ozet .liste-ozet-deger { font-size: 1.05rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

  /* süzgeç: arama tam genişlik, altında [Filtrele (2)] … [Excel]; basınca süzgeçler alt alta açılır */
  .liste-filtresi .arama-kutusu { flex: 1 1 100%; min-width: 0; }
  .liste-filtreleri { display: none; }
  .liste-filtreleri.acik { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; flex: 1 1 100%; order: 5; }
  .liste-filtreleri .filtre-secimi .form-select, .liste-filtreleri .filtre-secimi .form-control { width: 100%; min-width: 0; }
  .liste-filtreleri .tarih-filtresi { width: 100%; }
  .liste-filtreleri .tarih-filtresi .form-control { width: auto; flex: 1 1 auto; }
  .liste-filtre-temizle { align-self: flex-start; padding-left: 0; }

  /* uzun seçenekli w-auto seçim kutusu (ör. faturadaki "Projeye bağla") sayfayı yana kaydırmasın */
  .card-body form.flex-fill { min-width: 0; max-width: 100%; }
  .card-body .form-select.w-auto { max-width: 100%; }
}

/* Belge detayı (ortak/belge_detay.html): sağ sütun alta indiğinde "Tahsil edilecek / Ödenecek" kutusu en üste çıkar;
   ekler ve geçmiş altta kalır. Telefonda fazla düğmeler "⋯" menüsünde (şablondaki betik). */
@media (max-width: 991.98px) {
  .belge-duzeni > .belge-yan { display: contents; }
  .belge-duzeni > .belge-yan > div { flex: 0 0 auto; width: 100%; max-width: 100%; margin-top: var(--tblr-gutter-y);
    padding-right: calc(var(--tblr-gutter-x) * .5); padding-left: calc(var(--tblr-gutter-x) * .5); }
  .belge-duzeni > .belge-yan > .belge-yan-ust:has(.odeme-durum-karti) { order: -1; }
  .belge-duzeni > .belge-yan > .belge-yan-ust:not(:has(*)) { display: none; }
  .belge-yan-ust .odeme-durum-karti { margin-bottom: 0 !important; }
}
.belge-eylem-menusu .dropdown-item { white-space: normal; }
.belge-eylem-menusu form { margin: 0; }

/* Kayıt: işletme kaydından müşavir kaydına geçiş kutusu */
.kayit-musavir-gecis { display: flex; align-items: center; gap: .75rem; margin-top: 1rem; padding: .75rem 1rem;
  border: 1px dashed var(--tblr-border-color); border-radius: 10px; color: inherit; text-decoration: none; }
.kayit-musavir-gecis:hover { border-color: var(--tblr-primary); background: var(--tblr-primary-lt); color: inherit; }
.kayit-musavir-gecis > .ti:first-child { font-size: 1.4rem; color: var(--tblr-primary); }
.kayit-musavir-gecis span { flex: 1; }

/* birden çok KDV oranlı fiş: oranlara bölme kutusu ve oran tablosu (tezgah.js tezgahBolmeBagla) */
.tezgah-bolme .bolme-tablo { margin: .4rem 0 .2rem; max-width: 30rem; }
.tezgah-bolme .bolme-satir { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr) minmax(0, 1fr) 1.8rem; gap: .35rem;
  align-items: center; margin-bottom: .3rem; }
.tezgah-bolme .bolme-satir .form-select { padding-left: .5rem; padding-right: 1.6rem; background-position: right .4rem center; }
.tezgah-bolme .bolme-baslik { font-size: .72rem; color: var(--tblr-secondary); margin-bottom: .15rem; }
.tezgah-bolme .bolme-toplam { font-size: .8rem; font-weight: 600; }
.tezgah-bolme .bolme-toplam span:nth-child(2), .tezgah-bolme .bolme-toplam span:nth-child(3) { text-align: right; padding-right: .55rem; }
.tezgah-bolme [data-tutar], .tezgah-bolme [data-kdv] { text-align: right; }
.tezgah-bolme .bolme-uyari { font-weight: 500; margin-top: .15rem; }
.tezgah-bolme [data-bolme-ac] { color: var(--tblr-secondary); text-decoration: underline; text-underline-offset: 2px; }

/* Modüller sayfası: açıp kapatınca sayfa yerinde kalır; mesaj sağ üstte kısa süre görünür, satır bir an vurgulanır */
.modul-bildirim { position: fixed; top: 1rem; right: 1rem; z-index: 1085; width: min(26rem, calc(100vw - 2rem));
  transition: opacity .5s, transform .5s; }
.modul-bildirim .alert { box-shadow: 0 12px 30px -12px rgba(15, 23, 42, .35); margin-bottom: .5rem; }
.modul-bildirim.kapaniyor { opacity: 0; transform: translateY(-.5rem); }
.modul-satiri.modul-vurgu { animation: modul-vurgu 2.4s ease-out; }
@keyframes modul-vurgu { 0%, 30% { background: color-mix(in srgb, var(--tblr-primary) 12%, transparent); } 100% { background: transparent; } }
@media (prefers-reduced-motion: reduce) { .modul-satiri.modul-vurgu { animation: none; } .modul-bildirim { transition: none; } }

/* Cari kartının üstündeki özet şeridi (cariler/_ozet_seridi.html) */
.cari-ozet-kutu { padding: .85rem 1.1rem; border-right: 1px solid var(--tblr-border-color); border-bottom: 1px solid var(--tblr-border-color); }
@media (min-width: 992px) { .cari-ozet-kutu { border-bottom: 0; } .cari-ozet-kutu:last-child { border-right: 0; } }
@media (max-width: 991.98px) { .cari-ozet-kutu:nth-child(2n) { border-right: 0; } }


/* Düğmede baştaki simge yazıya yapışmasın: Tabler .btn inline-flex, "<i class=ti></i> Yazı" arasındaki boşluk esnek
   kutuda yutulur. Simgeden sonra ms-* sınıflı (ya da satır eylemi) bir öğe geliyorsa boşluğu o verir. */
.btn:not(.btn-icon) > .ti:first-child:not([class*="ms-"]):not(:has(+ [class*="ms-"], + .satir-eylem-yazi)) { margin-right: .3rem; }
/* satır kırmayan düğme esnek satırda içeriğinden dar sıkışmasın (yazı çerçeveden taşıyordu) */
.btn.text-nowrap { flex-shrink: 0; }
