/*
    Gold Muhasebe - Modern Pastel Tema
    Mevcut marka renklerinden (altın sarısı rgb(218,165,32) ve mavi rgb(1,165,215))
    türetilmiş pastel palet. Mobil/tablet/masaüstü için responsive ayarlar içerir.
*/

:root {
    /* Marka - vurgu (metin, ikon, buton zemin). Kullanıcı pastel sarıdan da
       vazgeçip pastel turkuaz yeşiline geçmeyi tercih etti - ana kurumsal renk
       artık --brand-teal ailesi. --brand-gold/--brand-blue hâlâ tanımlı
       (Vadeli/uyarı gibi semantik ihtiyaçlarda kullanılabilir). */
    --brand-gold: #b8912a;
    --brand-gold-dark: #8f701f;
    --brand-blue: #1490b8;
    --brand-blue-dark: #163c54;
    --brand-teal: #1f9187;
    --brand-teal-dark: #14655d;
    --brand-teal-header: #17a398;

    /* Marka - pastel yüzeyler */
    --brand-gold-soft: #f6ecd2;
    --brand-gold-softer: #fbf6ea;
    --brand-blue-soft: #dcf1f8;
    --brand-blue-softer: #eef9fc;
    --brand-teal-soft: #d9f2ef;
    --brand-teal-softer: #eefaf8;

    /* Nötr - tekrar pastel turkuaz yeşili ton ailesinden */
    --ink: #233b38;
    --ink-muted: #587b76;
    --surface: #f8fdfc;
    --border-soft: #cdeae5;

    /* Kullanıcının paylaştığı amblemdeki iki renk - Site.css'teki eski
       ".renk-altin-sarisi" (gold) ve ".renk-custom-blue" (mavi) yardımcı
       sınıflarının yerini bunlar alıyor (aşağıda !important ile). */
    --logo-sage: #7c9c8e;
    --logo-sky-blue: #1f95c9;

    --radius-md: 0.6rem;
    --radius-lg: 1rem;
    --shadow-soft: 0 2px 10px rgba(31, 145, 135, 0.14);
    --shadow-hover: 0 6px 18px rgba(31, 145, 135, 0.22);
}

/* Site.css'te ".renk-altin-sarisi" (gold, rgb(218,165,32)) ve ".renk-custom-blue"
   (mavi, rgb(1,165,215)) sabit renkler - "Hoş Geldiniz", "Sayın ..." gibi
   birçok yerde kullanılıyor. Kullanıcı bu ikisini amblemdeki renklerle
   (adaçayı yeşili / gökyüzü mavisi) değiştirmek istedi, site genelinde. */
.renk-altin-sarisi {
    color: var(--logo-sage) !important;
}

.renk-custom-blue {
    color: var(--logo-sky-blue) !important;
}

body {
    background: linear-gradient(180deg, var(--brand-teal-soft) 0%, var(--brand-teal-softer) 320px, var(--brand-teal-softer) 100%);
    color: var(--ink);
    min-height: 100vh;
}

/* Geniş ekranlarda içerik sütununun (Bootstrap .container, sabit genişlikte
   ortalanır) iki yanında kalan boşluk artık düz değil, navbar'daki gibi
   yumuşak bir degrade - ve içerik alanı butonlardaki gibi yumuşak köşeli,
   beyaz bir "kart" olarak ayrışıyor. */
.container.body-content {
    background-color: #fff;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    padding: 1.25rem 1.5rem 1.5rem !important;
    margin-bottom: 2rem;
}

/* Site.css'teki eski başlık renkleri (h2 mavi, h3 altın sarısı, h4 cornflowerblue)
   yeni pastel mavi temayla uyumlu tek bir tona çekiliyor. !important şart: "~/bundles/css"
   (BundleConfig.cs) Site.css'i bu dosyadan SONRA tekrar yüklüyor, aynı özgüllükte
   olduğu için son yüklenen kazanır - !important olmadan bu kural etkisiz kalır. */
h2, h3, h4 {
    color: var(--brand-teal-dark) !important;
}

/* ---------- Navbar ---------- */
/* Bootstrap'ın ".navbar-expand-*" kuralı ".navbar-collapse"u sadece
   display:flex yapar, genişliğini navbar'ın tamamına yaymaz - bu yüzden
   içindeki "ms-auto" (Firma Seç öğesini sağa yaslama) itecek boş alan
   bulamıyor, menü kendi içeriği kadar dar kalıyordu. Kapsayıcıya kalan
   tüm yatay alanı kaplaması söyleniyor. */
.modern-navbar .navbar-collapse {
    flex-grow: 1;
}

.modern-navbar .navbar-collapse > .navbar-nav {
    flex-grow: 1;
}

.navbar.modern-navbar {
    background: linear-gradient(180deg, var(--brand-teal-soft) 0%, var(--brand-teal-softer) 100%);
    border-bottom: 1px solid var(--border-soft);
    box-shadow: var(--shadow-soft);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* Navbar "fixed-top" (position:fixed) olduğu için, mobilde açılan menü içeriği
   (Ana Sayfa, İşlemler, Diğer, Kameralar, Firma Seçiniz, Çıkış...) ekran
   yüksekliğinden uzun olursa görünmez oluyordu - fixed elemanlar sayfa
   kaydırmasıyla ortaya çıkmaz, kendi kaydırma mekanizması olmadan taşan kısım
   tamamen erişilemez kalıyordu. Açık menüye kendi dikey kaydırmasını veriyoruz. */
@media (max-width: 991.98px) {
    .modern-navbar .navbar-collapse.show,
    .modern-navbar .navbar-collapse.collapsing {
        max-height: calc(100vh - 70px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* "İşlemler"/"Diğer" açılır menüleri Bootstrap varsayılanında position:absolute
       ile konumlanıyor - yukarıdaki overflow-y:auto kaydırma kapsayıcısının içinde
       bu, menünün kırpılmasına ve görünen yazı ile gerçek dokunma alanının
       birbirinden kopmasına yol açıyordu (menü görünüyor ama dokununca çalışmıyordu).
       Mobilde normal doküman akışına (position:static) alınarak üst menüyle birlikte
       doğal şekilde kaymaları ve kırpılmamaları sağlanıyor. */
    .modern-navbar .dropdown-menu {
        position: static !important;
        float: none;
        transform: none !important;
        box-shadow: none;
        margin-left: 0.5rem;
        border-left: 2px solid var(--border-soft);
        border-radius: 0;
    }

    .modern-navbar .dropdown-menu:not(.dm-open) {
        display: none !important;
    }
}

.modern-navbar .navbar-brand {
    color: var(--brand-teal-dark) !important;
    font-family: "Quicksand", "Segoe UI", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.6rem;
    letter-spacing: normal;
    line-height: 1;
    text-shadow: -1.5px -1.5px 1px rgba(255,255,255,0.95), 2px 2px 2px rgba(0,0,0,0.25);
}

.modern-navbar .navbar-brand .navbar-brand-sub {
    font-weight: 700;
    font-style: normal;
    font-size: 0.78em;
    margin-left: 0.15em;
}

.modern-navbar .navbar-brand-mark {
    height: 1.4rem;
    width: auto;
    margin-right: 0.4rem;
    vertical-align: -0.25rem;
    filter: drop-shadow(-1px -1px 0.5px rgba(255,255,255,0.95)) drop-shadow(1.5px 1.5px 1px rgba(0,0,0,0.45));
}

.home-logo-mark {
    filter: drop-shadow(-1.5px -1.5px 1px rgba(255,255,255,0.95)) drop-shadow(2px 2px 2px rgba(0,0,0,0.45));
}

.modern-navbar .nav-link {
    color: var(--ink) !important;
    border-radius: var(--radius-md);
    padding: 0.4rem 0.75rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.modern-navbar .nav-link:hover,
.modern-navbar .nav-link:focus {
    background-color: rgba(31, 145, 135, 0.1);
    color: var(--brand-teal-dark) !important;
    box-shadow: none;
    transform: none;
}

.modern-navbar .dropdown-menu {
    background-color: var(--surface) !important;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-hover);
    /* Modern açılış animasyonu: her zaman düzen akışında (display:block),
       görünürlük opacity/visibility/transform ile kontrol edilir - böylece
       CSS transition düzgün oynar (display:none <-> block geçişi transition olmaz). */
    display: block !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px) scale(0.98);
    transform-origin: top left;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}

.modern-navbar .dropdown-menu.dm-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
    .modern-navbar .dropdown-menu {
        transition: opacity 0.12s linear;
        transform: none;
    }
}

.modern-navbar .dropdown-menu .nav-link {
    color: var(--ink) !important;
    background-color: transparent !important;
}

.modern-navbar .dropdown-menu .nav-link:hover {
    background-color: var(--brand-teal-softer);
    color: var(--brand-teal-dark) !important;
}

/* Eski "bg-primary" utility sınıfı dropdown öğelerine hala uygulanmış durumda;
   navbar kapsamında bunları nötrleştirip pastel temayı koru. Menünün kendi
   ".dropdown-menu" zemin kuralını (var(--surface)) ezmesin diye burada
   transparent DEĞİL, aynı pastel yüzey rengi veriliyor - yoksa menü şeffaflaşıp
   arkasındaki sayfa içeriği görünüyordu. */
.modern-navbar .dropdown-menu.bg-primary {
    background-color: var(--surface) !important;
}

.modern-navbar li.bg-primary,
.modern-navbar .dropdown-item.bg-primary {
    background-color: transparent !important;
}

.modern-navbar .navbar-toggler {
    border-color: var(--border-soft);
}

/* Navbar'daki "Firma Seçiniz" kutusu: eski dolgun "bg-primary" zemini kaldırıldı
   (_firmalar.cshtml), burada nötr/pastel bir görünüm veriliyor. */
#Firmalar .form-control {
    background-color: transparent !important;
    border: none !important;
    padding: 0;
}

#Firmalar select.form-select {
    border: 1px solid var(--border-soft);
    color: var(--ink);
    background-color: var(--surface);
}

#Firmalar select.form-select:focus {
    border-color: var(--brand-teal);
    box-shadow: 0 0 0 0.2rem rgba(31, 145, 135, 0.15);
}

#Firmalar .firma-sec-btn {
    color: var(--brand-teal-dark) !important;
    border: 1px solid var(--brand-teal-dark) !important;
    background-color: transparent;
    transition: background-color 0.15s ease, color 0.15s ease;
}

#Firmalar .firma-sec-btn:hover {
    background-color: var(--brand-teal-dark) !important;
    color: #fff !important;
}

/* ---------- Buttons (tekilleştirilmiş pastel stil) ---------- */

/* .btn-group'lar dar ekranda alt satıra kayınca (flex-wrap) butonlar
   kenarlıkları birleştirmek için kullanılan negatif margin yüzünden
   birbirine yapışık görünüyordu. "gap" hem satır içi hem satırlar arası
   1px boşluk bırakıyor, kenarlık birleştirme görünümünü bozmadan. */
.btn-group,
.btn-toolbar {
    flex-wrap: wrap;
    row-gap: 1px;
}

/* Güvenlik ağı: bazı sayfalarda butonlarda temel Bootstrap ".btn" sınıfı unutulmuş,
   sadece ".btn-outline-danger" gibi bir varyant sınıfı var. Bootstrap'ta varyant
   sınıfları sadece --bs-btn-* değişkenlerini tanımlar; gerçek görünüm (dolgu, kenarlık,
   yuvarlak köşe, renk) sadece ".btn" temel sınıfından gelir - o olmadan buton
   tamamen stilsiz/çıplak görünür. Bu kural, "btn-" ile başlayan herhangi bir sınıfı
   olan ama ".btn" eksik olan öğelere temel görünümü otomatik olarak kazandırır.
   Sadece gerçek buton elemanlarıyla (a/button/input) sınırlı - yoksa "btn-sm"
   gibi bir sınıfı sadece boyut amaçlı taşıyan sıradan bir <div> da (buton
   OLMAYAN) yanlışlıkla yakalanıp display:flex gibi kendi stilini kaybediyordu. */
a[class*="btn-"]:not(.btn), button[class*="btn-"]:not(.btn), input[class*="btn-"]:not(.btn) {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-btn-color, #000);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: var(--bs-border-width, 1px) solid var(--bs-btn-border-color, transparent);
    border-radius: var(--radius-md);
    background-color: var(--bs-btn-bg, transparent);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

a[class*="btn-"]:not(.btn):hover, button[class*="btn-"]:not(.btn):hover, input[class*="btn-"]:not(.btn):hover {
    color: var(--bs-btn-hover-color, var(--bs-btn-color, #000));
    background-color: var(--bs-btn-hover-bg, var(--bs-btn-bg, transparent));
    border-color: var(--bs-btn-hover-border-color, var(--bs-btn-border-color, transparent));
}

/* Standart buton stili: dinlenme halinde hiçbir buton dolgu (arka plan)
   rengi taşımaz, sadece yazı/ikon rengi anlamı belirtir (Düzenle örnek
   alınarak tüm varyantlara uygulandı). Fareyle üzerine gelince "outline"
   davranışı gibi dolgun renge döner (beyaz yazı) - tıklanabilir olduğu net
   anlaşılsın diye. */
/* Not: Site.css'te de eski bir ".btn-primary { !important }" kuralı var
   (--primary-color değişkenine bağlı). Yükleme sırasından bağımsız kesin
   kazanmak için burada ".btn-primary" tek sınıf yerine element+sınıf
   birleşimiyle (örn. "button.btn-primary") özgüllüğü kasıtlı yükseltiyoruz. */
a.btn-primary, button.btn-primary, input.btn-primary, .btn-primary,
a.btn-outline-primary, button.btn-outline-primary, .btn-outline-primary,
.bg-primary {
    background-color: transparent !important;
    border-color: var(--brand-teal-dark) !important;
    color: var(--brand-teal-dark) !important;
}

a.btn-primary:hover, button.btn-primary:hover, .btn-primary:hover,
a.btn-primary:focus, button.btn-primary:focus, .btn-primary:focus,
a.btn-outline-primary:hover, button.btn-outline-primary:hover, .btn-outline-primary:hover {
    background-color: var(--brand-teal-dark) !important;
    border-color: var(--brand-teal-dark) !important;
    color: #fff !important;
}

/* "Geri Dön" butonları: sitedeki diğer butonların aksine dinlenme halinde de
   dolgun (outline değil, normal) görünsün istendi - _Layout.cshtml'deki
   script metne göre bu sınıfı otomatik ekliyor. */
a.btn-geri-don-solid, button.btn-geri-don-solid, .btn-geri-don-solid {
    background-color: var(--brand-teal-dark) !important;
    border-color: var(--brand-teal-dark) !important;
    color: #fff !important;
}

a.btn-geri-don-solid:hover, button.btn-geri-don-solid:hover, .btn-geri-don-solid:hover {
    background-color: var(--brand-teal) !important;
    border-color: var(--brand-teal) !important;
    color: #fff !important;
}

/* "Düzenle" (btn-outline-info sınıfını paylaşıyor ama farklı anlamda kullanılmış)
   dinlenme halinde de dolgun, ucuk sarı. */
a.btn-duzenle-solid, button.btn-duzenle-solid, .btn-duzenle-solid {
    background-color: var(--brand-gold-soft, #f6ecd2) !important;
    border-color: var(--brand-gold-dark, #8f701f) !important;
    color: var(--brand-gold-dark, #8f701f) !important;
}

a.btn-duzenle-solid:hover, button.btn-duzenle-solid:hover, .btn-duzenle-solid:hover {
    background-color: var(--brand-gold-dark, #8f701f) !important;
    border-color: var(--brand-gold-dark, #8f701f) !important;
    color: #fff !important;
}

/* "PDF" (btn-warning sınıfını paylaşıyor ama farklı anlamda kullanılmış)
   dinlenme halinde de dolgun, turuncu. */
/* Özgüllük notu: aşağıdaki .btn-warning kuralıyla özgüllük eşit olduğu için
   (ikisi de tek element+sınıf, ikisi de !important) sırf sonra geldiği için
   .btn-warning kazanıyordu. Sınıfı iki kez yazarak özgüllüğü kasıtlı
   yükseltiyoruz ki sıradan bağımsız her zaman kazansın. */
a.btn-pdf-solid.btn-pdf-solid, button.btn-pdf-solid.btn-pdf-solid, .btn-pdf-solid.btn-pdf-solid {
    background-color: #fbe4cc !important;
    border-color: #c76f18 !important;
    color: #c76f18 !important;
}

a.btn-pdf-solid.btn-pdf-solid:hover, button.btn-pdf-solid.btn-pdf-solid:hover, .btn-pdf-solid.btn-pdf-solid:hover {
    background-color: #c76f18 !important;
    border-color: #c76f18 !important;
    color: #fff !important;
}

a.btn-warning, button.btn-warning, .btn-warning,
a.btn-outline-warning, button.btn-outline-warning, .btn-outline-warning {
    background-color: transparent !important;
    border-color: var(--brand-gold-dark) !important;
    color: var(--brand-gold-dark) !important;
}

/* NOT: ".bg-altinsarisi" bilerek yukarıdaki listeden çıkarıldı - bu sınıf
   buton değil, "Ekstre" tipi tablolarda (Detay.cshtml, Carimoduledetay.cshtml
   vb.) Tarih/Vade başlık hücrelerinin dolgun altın sarısı arka planı için
   kullanılıyor (Site.css'te background-color: rgb(218,165,32) olarak tanımlı).
   Buraya dahil edilince bu hücreler de şeffaflaşıp satırın geri kalanıyla
   (aşağıdaki th kuralı) renk uyumsuzluğu yaratıyordu. */

/* Site.css'teki genel "th { background-color: rgb(1,165,215) !important }" kuralı
   TÜM tablo başlıklarını sert bir maviye boyuyor. Kullanıcı bunun yerine
   sayfadaki "ALINAN ÇEKLER" gibi satırlarda kullanılan turkuaz/deniz yeşili
   tonunun daha koyu, uyumlu bir versiyonunu istedi. "html th" ile özgüllüğü
   Site.css'in düz "th" kuralından yüksek tutuyoruz. */
html th {
    background-color: var(--brand-teal-header) !important;
    color: #fff !important;
    font-family: "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
}

/* Ek güvence: "altın satır" deseninin (inline background-color:rgb(218,165,32)
   olan <tr>) kendi içindeki th'ler için öznitelik seçiciyle özgüllüğü daha da
   yükseltiyoruz - bazı sayfalarda (ör. YoneticiKonsolu.cshtml'deki birbirine
   bitişik iki tablo) aynı düz "html th" kuralına rağmen renk tutarsızlığı
   bildirildi; bu kural aynı sonucu daha yüksek özgüllükle garanti ediyor. */
tr[style*="218,165,32"] th {
    background-color: var(--brand-teal-header) !important;
    color: #fff !important;
}

/* Önceden Ekstre tablolarında (Tarih/Vade sıralama göstergesi olanlar) düz th'ler
   bilerek mavi bırakılmıştı ki altın sarısı Tarih/Vade'den ayrışsın. Artık genel
   tema turkuaz yeşiline geçtiği için mavi uyumsuz kaldı - kaldırıldı. Tarih/Vade
   zaten .bg-altinsarisi ile (altın sarısı) diğer başlıklardan (teal) yeterince
   ayrışıyor, ayrıca maviye gerek yok. */

a.btn-warning:hover, button.btn-warning:hover, .btn-warning:hover,
a.btn-outline-warning:hover, button.btn-outline-warning:hover, .btn-outline-warning:hover {
    background-color: var(--brand-gold) !important;
    border-color: var(--brand-gold) !important;
    color: #fff !important;
}

/* Anlamsal renkler (kırmızı=sil, yeşil=onay, camgöbeği=bilgi) korunuyor ama
   dinlenme halinde dolgu değil, sadece yazı rengi olarak - muhasebe
   yazılımına yakışan sakin, ciddi bir görünüm için. */
a.btn-danger, button.btn-danger, .btn-danger,
a.btn-outline-danger, button.btn-outline-danger, .btn-outline-danger {
    background-color: transparent !important;
    border-color: #b5424c !important;
    color: #b5424c !important;
}

a.btn-danger:hover, button.btn-danger:hover, .btn-danger:hover,
a.btn-outline-danger:hover, button.btn-outline-danger:hover, .btn-outline-danger:hover {
    background-color: #b5424c !important;
    border-color: #b5424c !important;
    color: #fff !important;
}

a.btn-success, button.btn-success, .btn-success,
a.btn-outline-success, button.btn-outline-success, .btn-outline-success {
    background-color: transparent !important;
    border-color: #3f7d5c !important;
    color: #3f7d5c !important;
}

a.btn-success:hover, button.btn-success:hover, .btn-success:hover,
a.btn-outline-success:hover, button.btn-outline-success:hover, .btn-outline-success:hover {
    background-color: #3f7d5c !important;
    border-color: #3f7d5c !important;
    color: #fff !important;
}

/* Fatura Kontrol'deki "Pdf" (yazıcı ikonlu) butonu bi-printer sınıfıyla
   işaretli - genel danger/success kuralları dinlenme halinde outline
   yapıyor ama kullanıcı bu butonun turuncu "PDF" butonu gibi her zaman
   dolgun (solid) kalmasını istedi. */
a.btn.bi-printer.btn-outline-success, a.btn.bi-printer.btn-success {
    background-color: #3f7d5c !important;
    border-color: #3f7d5c !important;
    color: #fff !important;
}

a.btn.bi-printer.btn-danger, a.btn.bi-printer.btn-outline-danger {
    background-color: #b5424c !important;
    border-color: #b5424c !important;
    color: #fff !important;
}

/* "info" varyantı diğer butonlar gibi outline değil, dinlenme halinde de
   dolgun ucuk mavi (kullanıcı özellikle "outline olmasın" dedi). */
a.btn-info, button.btn-info, .btn-info,
a.btn-outline-info, button.btn-outline-info, .btn-outline-info {
    background-color: var(--brand-blue-soft, #dcf1f8) !important;
    border-color: var(--brand-blue, #1490b8) !important;
    color: var(--brand-blue-dark, #163c54) !important;
}

/* Mizan sayfasındaki "Maliyet Şablonu" seçim kutusu, yanındaki "Yönetici
   Konsolu" / "Vade Durumu" gibi btn-outline-info pill butonlarıyla aynı hizada
   duruyor ama eskiden düz kırmızı kenarlıklı, farklı fontlu bir <select>
   olduğu için stil olarak uyumsuzdu; aynı ucuk mavi/pill görünümüne çekildi. */
.maliyet-sablon-select {
    display: inline-block;
    width: auto;
    min-width: 230px;
    height: 2.35rem;
    border-radius: var(--radius-md);
    background-color: var(--brand-blue-soft, #dcf1f8) !important;
    border: 1px solid var(--brand-blue, #1490b8) !important;
    color: var(--brand-blue-dark, #163c54) !important;
    font-size: 14px;
    vertical-align: middle;
}

a.btn-info:hover, button.btn-info:hover, .btn-info:hover,
a.btn-outline-info:hover, button.btn-outline-info:hover, .btn-outline-info:hover {
    background-color: #4a7c8c !important;
    border-color: #4a7c8c !important;
    color: #fff !important;
}

a.btn-secondary, button.btn-secondary, .btn-secondary,
a.btn-outline-secondary, button.btn-outline-secondary, .btn-outline-secondary {
    background-color: transparent !important;
    border-color: var(--ink-muted) !important;
    color: var(--ink-muted) !important;
}

a.btn-secondary:hover, button.btn-secondary:hover, .btn-secondary:hover,
a.btn-outline-secondary:hover, button.btn-outline-secondary:hover, .btn-outline-secondary:hover {
    background-color: var(--ink-muted) !important;
    border-color: var(--ink-muted) !important;
    color: #fff !important;
}

/* Tüm butonlarda tutarlı, sakin geçiş - eski agresif shake/scale efektinin yerine */
.btn,
a[class*="btn-"]:not(.btn), button[class*="btn-"]:not(.btn), input[class*="btn-"]:not(.btn) {
    border-radius: 1rem;
    transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

/* Grup içindeki bitişik butonlar (ör. "Gelir Tablosu | Yıllık Gelir Tablosu |
   Bilanço") kasıtlı olarak Bootstrap'ın varsayılan davranışına bırakılıyor:
   sadece grubun İKİ UCU (ilk butonun solu, son butonun sağı) oval, aradaki
   birleşim noktaları düz - böylece tek parça, zarif bir "segment buton"
   görünümü oluşuyor, her buton ayrı ayrı oval olup boşlukla ayrılmıyor. */

/* Fatura Kontrol'deki "Pdf" butonunun içindeki küçük durum rozeti
   (yazdirDurum) de köşeleri keskin kare değil oval görünsün. */
.yazdirDurum {
    border-radius: 0.5rem;
}

/* Yan yana duran butonların yüksekliği HER ZAMAN aynı olsun: bazı butonlarda
   "small", "btn-sm", "fs-6" gibi farklı boyut sınıfları tutarsız bir şekilde
   kullanılmış (aynı satırdaki bazı butonlarda var, bazılarında yok) - bu da
   farklı yükseklikte butonlara yol açıyordu. Boyut sınıfı ne olursa olsun tek
   bir sabit yükseklik uygulanarak bu tamamen ortadan kaldırılıyor. */
/* Not: "[hidden]" ile hariç tutuluyor - aksi halde bu kural sunucu/JS
   tarafından bilerek gizlenmiş (hidden) butonları da görünür yapıyordu
   (ör. Fatura/Index.cshtml'deki "Excel Rapor" linki). */
a.btn:not([hidden]), button.btn:not([hidden]), input.btn:not([hidden]), .btn:not([hidden]),
a[class*="btn-"]:not(.btn):not([hidden]), button[class*="btn-"]:not(.btn):not([hidden]), input[class*="btn-"]:not(.btn):not([hidden]) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 2.35rem;
    line-height: 1.2;
}

/* "btn-sm" butonların yatay dolgusu Bootstrap varsayılanında (0.5rem) çok dar
   kalıyordu - oval köşelerle birleşince metin kenarlara sıkışmış görünüyordu. */
.btn-sm {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.btn:hover {
    animation: none;
    transform: translateY(-1px);
    box-shadow: var(--shadow-soft);
    border: inherit;
    filter: brightness(1.03);
}

/* ---------- Araç çubuğu buton grupları (Mizan, Fatura Index vb.) ----------
   Mizan gibi sayfalarda birçok ".btn-group rounded" bloğu (Yönetici Konsolu,
   Gelir Tablosu, Bilgi Notları, Personeller, Fatura Kontrol...) art arda,
   aralarında hiç boşluk olmadan diziliyordu. Masaüstünde renkli, sıkışık bir
   şerit gibi görünüyordu; mobilde satır sardığında gruplar birbirine
   yapışıp/bindiği için "kaymalı, kargaşa" bir görünüm oluşuyordu. Her gruba
   tutarlı bir dış boşluk vermek, satır sarma noktalarını da düzeltiyor -
   grup içindeki bitişik butonlar (border-start-0 ile) etkilenmiyor, sadece
   gruplar arası ve satır arası (mobilde) boşluk ekleniyor. */
.btn-group.rounded {
    margin: 0 0.4rem 0.5rem 0;
}

/* Tarih aralığı seçim kutusu (_tarih.cshtml, Mizan üstünde): Bootstrap'ın
   ".input-group"u varsayılan olarak tek satırda sıkıştırır (flex-wrap:nowrap);
   dar (telefon) ekranlarda iki tarih kutusu + Güncelle butonu üst üste
   biniyordu. Küçük ekranlarda alt alta sarmasına izin veriliyor. */
@media (max-width: 576px) {
    .signupform .input-group {
        flex-wrap: wrap;
    }

    .signupform .input-group > div {
        width: 100%;
        margin-bottom: 0.35rem;
    }

    .signupform .input-group button {
        margin-left: 0 !important;
    }
}

/* ---------- Kartlar ---------- */
.card {
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-soft);
}

/* ---------- Footer ---------- */
footer.modern-footer {
    background: var(--brand-teal-soft) !important;
    color: var(--ink) !important;
}

footer.modern-footer a {
    color: var(--brand-teal-dark) !important;
}

/* ---------- Sayfa başına git (floating action button) ---------- */
#scrollToTopFab {
    position: fixed;
    right: 1.25rem;
    bottom: 2.25rem;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(31, 145, 135, 0.35);
    background: rgba(31, 145, 135, 0.2);
    backdrop-filter: blur(2px);
    color: var(--brand-teal-dark);
    font-size: 1.2rem;
    line-height: 1;
    box-shadow: var(--shadow-hover);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, background-color 0.15s ease, visibility 0.25s;
}

#scrollToTopFab.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#scrollToTopFab:hover {
    background: var(--brand-teal-dark);
    color: #fff;
}

@media (max-width: 575.98px) {
    #scrollToTopFab {
        right: 0.9rem;
        bottom: 3.4rem; /* sabit footer ile çakışmasın */
        width: 42px;
        height: 42px;
    }
}

/* ---------- Responsive ayarlar ---------- */

/* Tablet ve altı: menü daralınca dokunma hedefleri büyüsün */
@media (max-width: 991.98px) {
    .modern-navbar .nav-link {
        padding: 0.6rem 0.9rem;
    }

    .modern-navbar .dropdown-menu {
        box-shadow: none;
        border: none;
        background-color: transparent !important;
    }

    /* "Firma Seçiniz" (#Firmalar) masaüstünde navbar'ın sağına hizalanmak için
       "align-self-end" kullanıyor - açılan (collapse) mobil menüde bu, dikey
       flex sütununda daralıp neredeyse görünmez/tıklanamaz hale getiriyordu.
       Mobilde tam genişlikte, normal bir blok olarak göster. */
    .modern-navbar #Firmalar {
        align-self: stretch !important;
        width: 100%;
        margin: 0.5rem 0;
    }

    .modern-navbar #Firmalar .btn-group {
        display: flex !important;
        width: 100%;
    }

    .modern-navbar #Firmalar select.form-select {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }
}

/* Mobil: kenar boşluklarını daralt, yazı tipini biraz küçült, tablolar yatayda kaysın */
@media (max-width: 575.98px) {
    .container.body-content {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    h1, .h1 { font-size: 1.5rem; }
    h2, .h2 { font-size: 1.25rem; }

    .table-responsive-mobile,
    table.table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .btn {
        min-height: 40px; /* dokunma hedefi */
    }
}

/* Liste sayfalarındaki "Listelenen: N Adet. Toplam Fiş: N Adet." gibi özet
   satırları - eskiden her parça (cornflowerblue, text-info, altın sarısı,
   text-danger) ayrı bir renkteydi, karmaşık/uyumsuz görünüyordu. Etiket metni
   tek nötr tonda, sayılar temanın turkuaz vurgu rengiyle kalın - tutarlı ve
   sakin bir özet satırı. */
.stat-summary-line {
    font-size: 0.85rem;
    color: var(--ink-muted);
    display: block;
    text-align: left;
}

.stat-summary-count {
    color: var(--brand-teal-dark);
    font-weight: 700;
}
