.brand-link {
  background-color: #007bff !important;
}
.content-header h1 {
  font-size: 1.8rem;
}
.small-box .inner {
  min-height: 90px;
}

/* ===================================================================
   U30: custom.css yalnızca 9 satırdı; ortak stiller buraya toplanıyor.
   U27: dar ekranlarda 12 sütunlu tablolar okunamıyordu.
   =================================================================== */

/* Sayfa geneli */
.content-header h1 {
  font-weight: 600;
}

/* Tablolar: dar ekranda yatay kaydırma net görünsün */
.table-responsive {
  -webkit-overflow-scrolling: touch;
}

/* U28: yalnızca ikon içeren butonlar dokunmatik hedef olarak çok küçüktü */
.btn-xs,
.btn-sm {
  min-width: 32px;
  min-height: 32px;
}

/* P14: Dokunmatik ekranda 32px hâlâ küçük; yanlış düğmeye basmak "Sil" gibi yıkıcı
   bir işlemi tetikleyebiliyor. Fare/trackpad ile gezen masaüstü kullanıcısını
   etkilememesi için yalnızca dokunmatik cihazlarda 44px'e çıkarılıyor. */
@media (pointer: coarse) {
  .btn-xs,
  .btn-sm,
  .table td .btn,
  .table td button {
    min-width: 44px;
    min-height: 44px;
  }

  /* Satır içi işlem düğmeleri birbirine yapışmasın */
  .table td .btn + .btn,
  .table td form + form,
  .table td .btn + form {
    margin-left: 0.35rem;
  }
}

/* U8: bildirim alanı içerikle çakışmasın */
.content-wrapper > .container-fluid > .alert {
  margin-bottom: 0;
}

/* Bildirim kayan yazısı */
#notification-marquee {
  font-variant-numeric: tabular-nums;
}

/* U27: Mobil düzen */
@media (max-width: 767.98px) {
  .content-header h1 {
    font-size: 1.35rem;
  }

  /* Filtre çubukları alt alta insin, taşma yapmasın */
  .content-header .form-inline,
  .card-tools .form-inline,
  .card-header .form-inline {
    flex-direction: column;
    align-items: stretch !important;
  }

  /* P10: Kart başlıklarında başlık ve filtreler dar ekranda YAN YANA kalıyordu:
     Borç Listesi başlığı 50px'e sıkışıp iki satıra bölünüyor, filtreler üstüne
     biniyordu. İki farklı kalıp var, ikisi de ele alınıyor:
       1) AdminLTE float'u (.card-title + .card-tools)
       2) Şablondaki iç `d-flex` sarmalayıcı (Borç Listesi) */
  .card-header {
    display: block;
  }

  .card-header .card-title {
    float: none;
    display: block;
    margin-bottom: 0.5rem;
  }

  .card-header > .d-flex {
    flex-direction: column;
    align-items: stretch !important;
  }

  .card-header > .d-flex > .card-title {
    margin-bottom: 0.5rem;
  }

  .card-header .card-tools {
    float: none !important;
    position: static !important;
    margin: 0;
    width: 100%;
  }

  .content-header .form-inline > *,
  .card-tools > * {
    margin: 0.25rem 0 !important;
    width: 100%;
  }

  /* Küçük ekranda özet kutuları tam genişlik */
  .small-box .inner h3 {
    font-size: 1.4rem;
    white-space: nowrap;
  }

  /* Tablo hücreleri daha sıkı */
  .table td,
  .table th {
    padding: 0.4rem 0.5rem;
    font-size: 0.875rem;
  }

  /* Satır içi işlem butonları alt alta binmesin */
  td form {
    display: inline-block;
    margin-bottom: 0.2rem;
  }
}

/* Yazdırma: menü ve butonlar kağıda basılmasın */
@media print {
  .main-sidebar,
  .main-header,
  .main-footer,
  .btn,
  .card-tools {
    display: none !important;
  }
  .content-wrapper {
    margin-left: 0 !important;
  }
}

/* ===================================================================
   PWA — P6/P7/P8/P10/P11
   Bu blok yalnızca EKLER; mevcut masaüstü düzenine hiçbir kural
   müdahale etmez (hepsi ya .pwa-* sınıfına ya da dar ekran /
   dokunmatik sorgusuna bağlı).
   =================================================================== */

/* P11: Kurulu uygulamada çentik/ana ekran çubuğu içeriği örtmesin.
   Tarayıcıda gereksiz boşluk oluşmasın diye yalnızca standalone modda. */
.pwa-standalone .content-wrapper {
  padding-bottom: env(safe-area-inset-bottom);
}

.pwa-standalone .main-footer {
  padding-bottom: calc(1rem + env(safe-area-inset-bottom));
}

.pwa-standalone .main-header {
  padding-top: env(safe-area-inset-top);
}

.pwa-standalone .main-sidebar {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
}

/* P17: Geri düğmesi yalnızca kurulu uygulamada görünür (d-none Bootstrap'te
   !important olduğu için burada da !important gerekiyor). */
.pwa-standalone li.pwa-geri-oge.d-none {
  display: list-item !important;
}

/* P6/P8: pwa.js'in ürettiği bilgi şeritleri (taslak, çevrimdışı, kurulum yönergesi).
   Uygulama sayfalarında içerik akışında (#pwaSeritAkisi), giriş ekranında sabit
   kapta (#pwaSeritKabi) durur — gerekçesi pwa.js/seritKabi() içinde. */
#pwaSeritKabi {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1038;   /* AdminLTE navbar (1037) üstünde, modal arkaplanı (1040) altında */
  pointer-events: none;
}

#pwaSeritKabi > * {
  pointer-events: auto;
}

#pwaSeritAkisi:empty {
  display: none;
}

/* Yalnızca ekranın en üstüne sabitlenmiş şeritte çentik payı gerekir */
#pwaSeritKabi .pwa-serit {
  padding-top: calc(0.5rem + env(safe-area-inset-top));
}

.pwa-serit {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.5rem 0.85rem;
  font-size: 0.9rem;
  line-height: 1.35;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.pwa-serit-yazi {
  flex: 1 1 auto;
  min-width: 0;
}

.pwa-serit-bilgi  { background: #e7f3ff; color: #0d3b66; }
.pwa-serit-uyari  { background: #fff3cd; color: #7a5c00; }
.pwa-serit-hata   { background: #f8d7da; color: #7a1620; }

.pwa-serit-dugme {
  flex: 0 0 auto;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  border-radius: 4px;
  padding: 0.3rem 0.7rem;
  font-size: 0.85rem;
  min-height: 32px;
  cursor: pointer;
}

.pwa-serit-kapat {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.3rem;
  line-height: 1;
  padding: 0 0.3rem;
  cursor: pointer;
}

@media (pointer: coarse) {
  .pwa-serit-dugme,
  .pwa-serit-kapat {
    min-height: 44px;
    min-width: 44px;
  }
}

/* P10: Geniş tablolar (14 sütuna kadar) telefonda yatay kayıyor — veri gizlemek
   muhasebede kabul edilemez, o yüzden sütun saklamıyoruz. Bunun yerine:
     1) ilk sütun sabitlenir, kaydırırken hangi satırda olduğun kaybolmaz
     2) sağa doğru devam eden içerik için gölge ipucu bırakılır
   Masaüstünde hiçbiri devreye girmez. */
@media (max-width: 767.98px) {
  .table-responsive {
    /* sağ kenarda "devamı var" gölgesi */
    background:
      linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)) left center,
      linear-gradient(to left,  #fff 30%, rgba(255, 255, 255, 0)) right center,
      radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.18), transparent) left center,
      radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.18), transparent) right center;
    background-repeat: no-repeat;
    background-size: 28px 100%, 28px 100%, 12px 100%, 12px 100%;
    background-attachment: local, local, scroll, scroll;
  }

  /* Kaydırma kabı aynı zamanda card-body ise, yan boşluğu sabit sütunun SOLUNDA
     bir şerit bırakır ve kayan içerik oradan sızarak görünür. Dar ekranda kaldırılıyor. */
  .card-body.table-responsive {
    padding-left: 0;
    padding-right: 0;
  }

  .table-responsive > .table > thead > tr > th:first-child,
  .table-responsive > .table > tbody > tr > td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background-color: #fff;
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.08);
  }

  .table-responsive > .table > thead > tr > th:first-child {
    z-index: 3;
  }

  /* Çizgili tabloda sabit sütunun arkası saydam kalmasın */
  .table-striped > tbody > tr:nth-of-type(odd) > td:first-child {
    background-color: #f2f2f2;
  }

  /* İşlem sütunundaki düğmeler dar ekranda alt alta insin */
  .table td .d-flex.flex-nowrap {
    flex-wrap: wrap !important;
  }
}
