/* Tema: Bootstrap 5 üzerine modern görünüm (renkler :root içinde, koyu mod için prefers-color-scheme + .koyu sınıfı) */
:root { --ana: #0f766e; --ana-koyu: #0b4f4a; --ana-acik: #e6f4f2; --zemin: #f5f7f9; --kart: #fff; --cizgi: #e5eaee;
        --yazi: #1d2b33; --soluk: #6b7b85; --kirmizi: #c0392b; --yesil: #1b7a43; --sari: #b7791f; --sari-bg: #fff6e0; --menu: #0e1f26; --menu-hover: #16303a; }
html.koyu { --zemin: #10171c; --kart: #182229; --cizgi: #26333b; --yazi: #e8eef1; --soluk: #93a4ae; --ana-acik: #12302e; --sari-bg: #33290f; --kirmizi: #ff7b6e; --yesil: #5fd08a; --sari: #e8b84a; }
body { background: var(--zemin); color: var(--yazi); font-family: "Segoe UI", system-ui, sans-serif; }
a { color: var(--ana); }
html.koyu a:not(.btn):not(.nav-link):not(.kart-baglanti):not(.on) { color: #5fd3c8; }
.text-muted { color: var(--soluk) !important; }

/* Yan menü */
.sidebar { background: var(--menu); min-height: 100vh; position: sticky; top: 0; max-height: 100vh; overflow-y: auto; }
.sidebar .marka { display: flex; gap: .6rem; align-items: center; color: #fff; font-weight: 700; font-size: 1.1rem; padding: .9rem .7rem .7rem; }
.sidebar .marka i { width: 30px; height: 30px; border-radius: 9px; background: linear-gradient(135deg, #14b8a6, #0f766e); display: grid; place-items: center; font-style: normal; font-size: .95rem; }
.sidebar .nav-link { color: #cfe0e6; padding: .42rem .8rem; border-radius: .6rem; display: flex; gap: .65rem; align-items: center; font-size: .92rem; }
.sidebar .nav-link .ik { width: 1.1rem; text-align: center; opacity: .85; }
.sidebar .nav-link:hover { background: var(--menu-hover); color: #fff; }
.sidebar .nav-link.active { background: var(--ana); color: #fff; }
.sidebar .baslik { color: #6f8f9b; font-size: .7rem; letter-spacing: .08em; padding: .9rem .8rem .2rem; }
.sidebar .form-select { background-color: var(--menu-hover); color: #cfe0e6; border-color: #24424e; }
.sidebar .tema-dugme { background: none; border: 0; color: #7fa3b0; font-size: .8rem; padding: .5rem .8rem; text-align: left; width: 100%; }

/* Kartlar */
.kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: .9rem; padding: 1rem 1.15rem; box-shadow: 0 1px 2px rgba(15, 40, 50, .04); }
.kutu .etiket { color: var(--soluk); font-size: .85rem; }
.kutu .deger { font-size: clamp(1.15rem, 1.1vw + .65rem, 1.5rem); overflow-wrap: anywhere; font-weight: 700; color: var(--yazi); font-variant-numeric: tabular-nums; }
.kutu.vurgu { background: linear-gradient(135deg, #0f766e, #0b4f4a); color: #fff; border: 0; }
.kutu.vurgu .etiket, .kutu.vurgu .text-muted { color: #bfe6e1 !important; }
.kutu.vurgu .deger { color: #fff; }
.eksi { color: var(--kirmizi) !important; }
.artı { color: var(--yesil) !important; }
.roz { display: inline-block; font-size: .7rem; padding: .1rem .55rem; border-radius: 1rem; font-weight: 600; vertical-align: middle; }
.roz-kesin { background: #dff5e8; color: #1b7a43; }
.roz-simdilik { background: var(--sari-bg); color: var(--sari); }
.roz-gri { background: var(--cizgi); color: var(--soluk); }
.roz-bilgi { background: #dff0fb; color: #1b5e8a; }
.roz-kirmizi { background: #fde4e1; color: #b3261e; }
html.koyu .roz-kesin { background: #17382a; color: #7fe0a6; }
html.koyu .roz-bilgi { background: #14303f; color: #8ccbf0; }
html.koyu .roz-kirmizi { background: #3d1c18; color: #ff9d93; }
.toplam-satir > * { background: var(--toplam-bg, #eef1f3) !important; font-weight: 700; }
html.koyu .toplam-satir > * { --toplam-bg: #1f2c34; }
div.toplam-satir { background: var(--toplam-bg, #eef1f3); }
html.koyu div.toplam-satir { --toplam-bg: #1f2c34; }

/* Düğmeler ve formlar */
.btn { border-radius: .6rem; }
.btn-ana, a.btn-ana { background: var(--ana); color: #fff !important; border: 0; font-weight: 600; }
.btn-ana:hover, .btn-ana:focus { background: var(--ana-koyu); color: #fff; }
.btn-outline-secondary { border-color: var(--cizgi); color: var(--yazi); background: var(--kart); }
.btn-outline-secondary:hover { background: var(--ana-acik); border-color: var(--ana); color: var(--ana-koyu); }
.form-control, .form-select { border-radius: .6rem; border-color: var(--cizgi); background-color: var(--kart); color: var(--yazi); }
.form-control:focus, .form-select:focus { border-color: var(--ana); box-shadow: 0 0 0 .2rem rgba(15, 118, 110, .15); }
.tutar { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Bootstrap 5.3 değişkenleri: açık/koyu temada bileşenler (form, tablo, uyarı...) kendiliğinden uyum sağlasın */
:root, [data-bs-theme="light"], [data-bs-theme="dark"] { --bs-body-bg: var(--zemin); --bs-body-color: var(--yazi); --bs-border-color: var(--cizgi); --bs-secondary-color: var(--soluk); --bs-emphasis-color: var(--yazi); }
[data-bs-theme="dark"] { --bs-secondary-bg: #1f2c34; --bs-tertiary-bg: #1b262d; --bs-light-rgb: 31, 44, 52; }
.modal-content, .dropdown-menu, .list-group-item { background: var(--kart); color: var(--yazi); }

/* Tablolar */
.table { --bs-table-bg: transparent; --bs-table-color: var(--yazi); --bs-table-border-color: var(--cizgi); }
.table thead th { font-size: .75rem; color: var(--soluk); font-weight: 600; background: var(--kart); border-bottom: 1px solid var(--cizgi); padding: .7rem .85rem; }
.table td { padding: .65rem .85rem; }
.table tbody tr:hover > * { background: var(--ana-acik); }
.table-responsive.kutu { padding: 0; overflow-x: auto; }
.bg-light { background: var(--ana-acik) !important; }
.alert-warning { background: var(--sari-bg); border-color: #f0d58a; border-left: 4px solid #e0a82e; border-radius: .8rem; color: var(--yazi); }

/* Sayfa başı ve araç çubuğu (tüm liste sayfalarında aynı iskelet) */
.sayfa-ust { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem 1rem; margin-bottom: 1rem; }
.sayfa-ust h1 { margin: 0; font-size: 1.4rem; font-weight: 700; }
.sayfa-ust .alt { color: var(--soluk); font-size: .85rem; }
.arac { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: .9rem; }
.arac .bosluk { flex: 1; }
.sekmeler { display: inline-flex; flex-wrap: wrap; background: var(--kart); border: 1px solid var(--cizgi); border-radius: .7rem; padding: 3px; gap: 2px; }
.sekmeler a { padding: .3rem .85rem; border-radius: .5rem; font-size: .85rem; color: var(--soluk); text-decoration: none; }
.sekmeler a:hover { color: var(--yazi); }
.sekmeler a.on { background: var(--ana); color: #fff; }

main h1.h4 { font-size: 1.4rem; font-weight: 700; }
main h2.h5, main h2.h6 { font-weight: 700; }

/* Üst çubuk: arama */
.ust-cubuk { display: flex; justify-content: space-between; align-items: center; gap: .8rem; margin-bottom: 1rem; flex-wrap: wrap; }
.ara-kutu { position: relative; flex: 1; max-width: 420px; }
.ara-kutu input { padding-left: 2.1rem; }
.ara-kutu::before { content: '🔍'; position: absolute; left: .7rem; top: 50%; transform: translateY(-50%); font-size: .8rem; opacity: .6; }

/* İmza alanı (her sayfanın altı): solda açıklama, sağda başlık + ad; üstte ince çizgi ve kısa vurgu şeridi */
.imza { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: .6rem 2rem;
        padding-top: 1.1rem; border-top: 1px solid var(--cizgi); color: var(--soluk); font-size: .85rem; }
.imza::before { content: ''; position: absolute; top: -2px; left: 0; width: 64px; height: 3px; background: var(--ana); border-radius: 2px; }
.imza-aciklama { max-width: 34rem; line-height: 1.45; }
.imza-kunye { margin-left: auto; text-align: right; line-height: 1.3; }
.imza-baslik { display: block; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--soluk); }
.imza-ad { font-size: 1.02rem; font-weight: 600; letter-spacing: .02em; color: var(--yazi); }
.imza-orta { flex-direction: column; align-items: center; text-align: center; }
.imza-orta::before { left: 50%; transform: translateX(-50%); }
.imza-orta .imza-kunye { margin-left: 0; text-align: center; }

/* Çalışılan işletme etiketi: yanlış işletmede işlem yapılmasın diye her sayfanın başında görünür */
.isletme-etiket { display: inline-block; background: var(--ana-acik); border: 1px solid var(--cizgi); color: var(--yazi); padding: .2rem .7rem; border-radius: 1rem; font-size: .85rem; }

/* Basit çubuk grafik (dashboard) */
.grafik { display: flex; align-items: flex-end; gap: .45rem; height: 130px; padding-bottom: 1.2rem; }
.grafik .ay { flex: 1; display: flex; gap: 2px; align-items: flex-end; height: 100%; position: relative; }
.grafik .ay i { flex: 1; border-radius: 5px 5px 0 0; min-height: 2px; }
.grafik .ay .al { background: var(--ana); }
.grafik .ay .ha { background: #e0a82e; }
.grafik .ay small { position: absolute; bottom: -1.2rem; left: 0; right: 0; text-align: center; color: var(--soluk); font-size: .7rem; }
.cubuk { height: 9px; border-radius: 6px; background: var(--cizgi); overflow: hidden; margin: .25rem 0 .7rem; }
.cubuk i { display: block; height: 100%; background: var(--ana); }

@media (max-width: 767px) {
  .sidebar { position: static; min-height: 0; max-height: none; }
  .kutu .deger { font-size: 1.3rem; }
}

/* ---- Tutarlılık ve cila (tüm sayfalar) ---- */
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.btn:hover, .sekmeler a:hover, .sidebar a:hover, .btn-group a:hover { text-decoration: none; }
.table a { font-weight: 500; }
main h2.h6, main h2.h5, main .fw-semibold.mb-1, main .fw-semibold.mb-2 { letter-spacing: .01em; }
main h2.h6 { font-size: 1rem; margin-top: .6rem; margin-bottom: .6rem; }
.form-label { font-size: .85rem; font-weight: 600; color: var(--soluk); margin-bottom: .25rem; }
.form-text { color: var(--soluk); }
hr { border-color: var(--cizgi); opacity: 1; }
.btn-danger { background: var(--kirmizi); border-color: var(--kirmizi); }
.btn-outline-danger { color: var(--kirmizi); border-color: var(--kirmizi); background: transparent; }
.btn-outline-danger:hover { background: var(--kirmizi); border-color: var(--kirmizi); color: #fff; }
.btn-link { color: var(--soluk); }
.btn-sm { padding: .25rem .6rem; font-size: .82rem; }
.alert { border-radius: .8rem; border-width: 1px; }
.alert-success { background: #e3f6ea; border-color: #bfe6cd; color: #14532d; }
.alert-danger { background: #fdeceb; border-color: #f5c6c1; color: #7a1c14; }
.alert-info { background: #e3f2fb; border-color: #bcdcf0; color: #134e75; }
html.koyu .alert-success { background: #12301f; border-color: #1f5a37; color: #a7ebc3; }
html.koyu .alert-danger { background: #3a1b17; border-color: #6e2d26; color: #ffb4ab; }
html.koyu .alert-info { background: #12293a; border-color: #254f6e; color: #a9d6f5; }
html.koyu .alert-warning { color: var(--yazi); border-color: #6b5420; }
.pagination .page-link { color: var(--ana); background: var(--kart); border-color: var(--cizgi); }
.pagination .active .page-link { background: var(--ana); border-color: var(--ana); color: #fff; }
.table tfoot td, .table tfoot th { border-top: 2px solid var(--cizgi); }
.table .text-muted { font-size: .85em; }
.form-select, .form-control { min-height: 2.4rem; }
.form-control-sm, .form-select-sm { min-height: 2rem; }
input[type=checkbox].form-check-input:checked { background-color: var(--ana); border-color: var(--ana); }
.kutu .fw-semibold:first-child { color: var(--yazi); }
.collapse > td, tr.collapse > td { background: var(--ana-acik) !important; }
.nav-tabs .nav-link.active { background: var(--kart); color: var(--ana); border-color: var(--cizgi) var(--cizgi) var(--kart); }
*:focus-visible { outline: 2px solid var(--ana); outline-offset: 1px; }
::selection { background: rgba(15, 118, 110, .25); }
.table-responsive { scrollbar-width: thin; }
@media (max-width: 767px) { main { padding: .8rem !important; } .sayfa-ust h1 { font-size: 1.2rem; } .table { font-size: .85rem; } }
/* Pill sekmeler (eski nav-pills kullanan sayfalar da aynı görünümde) ve filtre çubukları */
.nav-pills { display: inline-flex; flex-wrap: wrap; background: var(--kart); border: 1px solid var(--cizgi); border-radius: .7rem; padding: 3px; gap: 2px; }
.nav-pills .nav-link { padding: .3rem .85rem; border-radius: .5rem; font-size: .85rem; color: var(--soluk); }
.nav-pills .nav-link:hover { color: var(--yazi); text-decoration: none; }
.nav-pills .nav-link.active { background: var(--ana) !important; color: #fff; }
main > form.row.g-2, main > form.row.g-3 { background: var(--kart); border: 1px solid var(--cizgi); border-radius: .8rem; padding: .55rem .5rem; margin-left: 0; margin-right: 0; }
.col-form-label { color: var(--soluk); }
.baslik-renk { color: var(--ana-koyu); }
html.koyu .baslik-renk { color: #7ad9cf; }
html.koyu .btn-danger { background: #b3261e; border-color: #b3261e; color: #fff; }
html.koyu .btn-outline-danger { color: #ff9d93; border-color: #8a3a33; }
html.koyu .btn-outline-danger:hover { background: #b3261e; color: #fff; }
a.kart-baglanti { display: block; color: inherit; transition: transform .12s, box-shadow .12s; }
a.kart-baglanti:hover { text-decoration: none; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(15, 40, 50, .12); }
/* Giriş sayfası */
.giris-marka { display: flex; align-items: center; justify-content: center; gap: .7rem; font-size: 1.6rem; font-weight: 700; margin-bottom: .4rem; }
.giris-marka i { width: 44px; height: 44px; border-radius: 13px; background: linear-gradient(135deg, #14b8a6, #0f766e); color: #fff; display: grid; place-items: center; font-style: normal; font-size: 1.3rem; }
body > .container > p.text-muted { text-align: center; }
body > .container > form.kutu { box-shadow: 0 10px 30px rgba(15, 40, 50, .10); padding: 1.4rem; }
/* Seçili (pasif) durum düğmesi dolu kalsın */
.btn-ana:disabled, .btn-ana.disabled { background: var(--ana); color: #fff !important; opacity: 1; }
.btn-danger:disabled, .btn-danger.disabled { background: var(--kirmizi); color: #fff; opacity: 1; }
/* Tablolardaki bağlantılar (iş adı vb.): mavi/altı çizgili değil, koyu ve kalın; üzerine gelince vurgu rengi */
.table a:not(.btn), .kutu a:not(.btn):not(.kart-baglanti):not(.on) { color: var(--yazi); font-weight: 600; }
.table a:not(.btn):hover, .kutu a:not(.btn):not(.kart-baglanti):not(.on):hover { color: var(--ana); text-decoration: none; }
html.koyu .table a:not(.btn):hover, html.koyu .kutu a:not(.btn):not(.kart-baglanti):not(.on):hover { color: #5fd3c8; }
.table td a:not(.btn)::after { content: ' ›'; opacity: 0; transition: opacity .12s; color: var(--ana); }
.table td a:not(.btn):hover::after { opacity: 1; }
.table td { vertical-align: middle; }
.table tbody tr:hover > * { cursor: default; }
/* ---- Rapor ekranları ---- */
.kayit-listesi summary { cursor: pointer; font-weight: 600; padding: .6rem .9rem; list-style: none; }
.kayit-listesi summary::-webkit-details-marker { display: none; }
.kayit-listesi summary::before { content: '▸'; display: inline-block; margin-right: .5rem; transition: transform .15s; }
.kayit-listesi[open] summary::before { transform: rotate(90deg); }
@media print { .sidebar, .ust-cubuk, .nav-pills, form.row { display: none !important; } }
/* ---- Sade rapor sayfaları: işletme başlığı, açık bölüm başlıkları, düz tablolar ---- */
.rapor-ust { border-bottom: 2px solid var(--yazi); padding-bottom: .6rem; margin-bottom: 1rem; }
.rapor-ust .isletme { font-size: 1.45rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; line-height: 1.2; }
.rapor-ust .rapor-adi { font-size: 1.1rem; font-weight: 700; }
.rapor-ust .donem { font-weight: 600; color: var(--soluk); }
.rapor-bolum { font-size: 1.05rem; font-weight: 700; margin: 1.4rem 0 .5rem; padding-bottom: .25rem; border-bottom: 1px solid var(--cizgi); }
.rapor-bolum span { font-weight: 400; color: var(--soluk); font-size: .9rem; }

/* ---- Denetim düzeltmeleri (2026-10-18) ---- */
/* Menüdeki "Çıkış" artık form düğmesi (güvenli çıkış); bağlantı gibi görünür */
.sidebar .cikis-dugme { background: none; border: 0; width: 100%; text-align: left; }
/* İşin tahmini masrafı aşıldıysa çubuk kırmızı */
.cubuk i.asim { background: var(--kirmizi); }
.kutu.border-danger { border-color: var(--kirmizi) !important; }
.text-warning-emphasis { color: var(--sari) !important; }
/* Oturum süresi uyarısı (footer.php): ekranın altında sabit şerit */
.oturum-uyari { position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%); z-index: 1080; max-width: calc(100% - 2rem); width: 30rem;
                background: var(--kart); color: var(--yazi); border: 1px solid var(--cizgi); border-left: 4px solid #e0a82e; border-radius: .8rem;
                box-shadow: 0 10px 30px rgba(15, 40, 50, .18); padding: .8rem 1rem; display: none; }
.oturum-uyari.goster { display: block; }

/* TELEFONDA KART GÖRÜNÜMÜ: geniş tablolar dar ekranda yana kaymasın diye her satır bir kart olur, sütun adı solda, değer sağda yazılır.
   footer.php, başlıklı tablolara (en az 4 sütun) kendiliğinden "mobil-kart" sınıfı ve her hücreye sütun adını (data-label) verir.
   Bir tabloda istenmezse <table class="... kart-yok"> yazılır. Yazdırırken ve geniş ekranda tablolar aynen kalır. */
@media screen and (max-width: 575.98px) {
  table.mobil-kart, table.mobil-kart tbody, table.mobil-kart tfoot, table.mobil-kart tr, table.mobil-kart td, table.mobil-kart th { display: block; width: 100%; }
  table.mobil-kart thead { display: none; }
  table.mobil-kart tr { border-bottom: 1px solid var(--cizgi); padding: .45rem .2rem; }
  table.mobil-kart tbody tr:hover > * { background: transparent; }
  table.mobil-kart td, table.mobil-kart tfoot th { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; border: 0 !important;
                                                   padding: .18rem .7rem !important; text-align: right; white-space: normal; }
  table.mobil-kart td { flex-wrap: wrap; }
  table.mobil-kart td > div { flex-basis: 100%; text-align: right; }   /* hücredeki ek bilgi (ödeme kaynağı, not...) değerin altına */
  table.mobil-kart td::before { content: attr(data-label); flex: 0 0 auto; max-width: 45%; text-align: left; color: var(--soluk); font-size: .75rem; font-weight: 600; }
  table.mobil-kart td:not([data-label])::before, table.mobil-kart td[data-label=""]::before { content: none; }
  table.mobil-kart td:not([data-label]), table.mobil-kart td[data-label=""] { justify-content: flex-end; }
  table.mobil-kart td:first-child { font-weight: 600; }
  table.mobil-kart td:empty { display: none; }
  table.mobil-kart td[colspan] { justify-content: flex-start; text-align: left; }
  table.mobil-kart td[colspan]::before { content: none; }
  table.mobil-kart tr.toplam-satir, table.mobil-kart tfoot tr { background: #eef1f3; }
  html.koyu table.mobil-kart tr.toplam-satir, html.koyu table.mobil-kart tfoot tr { background: #1f2c34; }
  table.mobil-kart td.text-end.text-nowrap { justify-content: flex-end; flex-wrap: wrap; gap: .3rem; }
  .table-responsive.kutu:has(table.mobil-kart) { overflow-x: visible; }
}
/* ---- TELEFON UYUMU (2026-10-20): hiçbir öğe ekranı yana taşırmasın; düğmeler satırları düzgün doldursun ---- */
/* Üst çubuk (telefon): uygulama adı + işletme adı tek satır, sığmazsa "…" ile kısalır; menü düğmesi hep sağda aynı satırda.
   İşletmenin tam adı hemen altındaki "İşletme:" etiketinde yazar. */
.ust-navbar .container-fluid { flex-wrap: nowrap; gap: .5rem; }
.ust-navbar .navbar-brand { flex: 1 1 auto; min-width: 0; margin-right: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ust-navbar .navbar-toggler { flex: 0 0 auto; }
.isletme-etiket { max-width: 100%; overflow-wrap: anywhere; }
.sekme-kap { min-width: 0; max-width: 100%; }
@media (max-width: 767.98px) {
  /* Sekmeler ve rapor türü seçimi: iki satıra bölünmez, tek satırda parmakla yana kaydırılır (sayfa değil, yalnızca şerit kayar) */
  .sekmeler, .nav-pills { display: flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .sekmeler::-webkit-scrollbar, .nav-pills::-webkit-scrollbar { display: none; }
  .sekmeler a, .nav-pills .nav-link { flex: 0 0 auto; white-space: nowrap; }
  .nav-pills .nav-item { flex: 0 0 auto; }
  /* Rapor başlığı ve önceki/sonraki dönem çubuğu */
  .rapor-ust .isletme { font-size: 1.1rem; }
  .donem-gez { flex-wrap: nowrap !important; width: 100%; }
  .donem-gez form { flex: 1 1 auto; min-width: 0; }
  .donem-gez form input { min-width: 0; }
}
@media (max-width: 575.98px) {
  /* Sayfa başı: başlık üstte; düğmeler altında tam genişlikte, satırı eşit paylaşır (tek düğme tam satır) */
  .sayfa-ust > :not(:first-child), .is-ust > .is-dugmeler { width: 100%; }
  .sayfa-ust > .btn, .sayfa-ust > :not(:first-child) > .btn, .sayfa-ust > :not(:first-child) > form > .btn { flex: 1 1 auto; }
  .is-dugmeler { align-items: stretch !important; }
  .is-dugmeler > div > .btn, .is-dugmeler > div > form, .is-dugmeler form > .btn { flex: 1 1 auto; }
  .is-dugmeler form.d-inline { display: flex !important; }
  .is-dugmeler > form > span { flex-basis: 100%; }        /* "Durum:" yazısı kendi satırında, durum düğmeleri altında */
  /* Özet kartlarındaki büyük tutarlar dar kartta iki satıra kırılmasın */
  .kutu .deger { font-size: 1.15rem; }
  /* Kart görünümündeki tablolar: uzun ad/açıklama taşmaz; hücredeki küçük form (tarih + seçim + düğme) alt alta geçer */
  table.mobil-kart td { overflow-wrap: anywhere; }
  table.mobil-kart td form { flex-wrap: wrap; justify-content: flex-end; }
  table.mobil-kart td form .form-control, table.mobil-kart td form .form-select { width: auto !important; flex: 1 1 8rem; min-width: 0; }
  .btn-group { flex-wrap: wrap; }
}@media (max-width: 575.98px) {
  /* Rapor önceki/sonraki dönem düğmeleri: telefonda yalnızca ok (‹ ›), yazı gizli; düğmeler kırılmaz */
  .donem-gez .btn { white-space: nowrap; flex: 0 0 auto; }
  .donem-gez .kisa-gizle { display: none; }
  /* Genel Bakış hızlı ekleme düğmeleri: ikişerli, eşit genişlikte satırlar */
  .hizli-dugmeler > .btn { flex: 1 1 calc(50% - .5rem); }
}