/* Cari Hesaplar + Faturalandırma modül stilleri — kullananlar: public/js/cari.js, accounting.js, accountingShared.js,
   accountingReports.js, health.js.
   Ortak sınıflar (.card, .kpi-card, .data-table, .pill, .tabbar, .btn, .gider-satiri, .personel-karti, .iki-para,
   .para-karti, .secenek-anahtari, .ay-secici…) styles.css'tedir; burada yalnızca bu modüllere özgü kurallar var.
   Renkler styles.css belirteçlerinden (--primary, --danger, --tone-* …) gelir; açık tema. */

/* ===========================================================================
   1. ORTAK PARÇALAR (Faturalandırma, Cari Hesaplar, Tahsilat Takibi, pencereler)
   =========================================================================== */
.cari-btn-ikon { display: inline-flex; align-items: center; }
.kart-baslik-ikon { display: inline-flex; align-items: center; color: var(--muted); }
.kart-baslik-ikon svg { width: 18px; height: 18px; }
.nowrap { white-space: nowrap; }

/* İki satırlı hücre: üstte ana değer, altta açıklama */
.hucre-iki { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.hucre-iki.sag { align-items: flex-end; text-align: right; }
.hucre-iki .clamp { max-width: 340px; }
.fatura-no { font-weight: 700; color: var(--heading); white-space: nowrap; }

/* İşlem sütunu: düğmeler tek satırda, sütun içeriği kadar geniş */
.data-table th.islem-sutun, .data-table td.islem-sutun { width: 1%; white-space: nowrap; }
.data-table td.islem-sutun .islem-hucre { flex-wrap: nowrap; justify-content: flex-end; }

/* Vadesi geçmiş satır: solda kırmızı şerit, çok hafif zemin */
.data-table tr.satir-gecikmis td { background: #FEF7F7; }
.data-table tr.satir-gecikmis td:first-child { box-shadow: inset 3px 0 0 var(--danger); }
.data-table tr.clickable.satir-gecikmis:hover td { background: #FDEEEE; }

/* Form hata satırı ve Türkçe tutar girişi */
.form-hata { color: var(--danger); font-size: 13px; font-weight: 600; margin: 10px 0 0; }
.form-hata:empty { display: none; }
.tutar-girdi { text-align: right; font-variant-numeric: tabular-nums; }

/* Tahsilat / ödeme penceresi */
.tahsilat-bilgi {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; margin: 4px 0 14px;
  padding: 12px 14px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius-sm);
}
.tahsilat-bilgi > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tahsilat-bilgi > div > span { font-size: 12px; }
.tahsilat-bilgi > div > b { font-size: 15px; color: var(--heading); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tahsilat-bilgi > div > b.danger-text { color: var(--danger); }
.tahsilat-bilgi .tahsilat-aciklama { grid-column: 1 / -1; display: block; border-top: 1px solid var(--line); padding-top: 8px; }

/* Ay / yıl seçici okları */
.ay-secici .ay-ok { width: 34px; padding: 0; }
.ay-secici .ay-ok svg { width: 16px; height: 16px; }
.ay-hucre { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

/* ===========================================================================
   2. FATURALANDIRMA (accounting.js)
   =========================================================================== */
.fat-kpi .kpi-card.clickable, .cari-kpi .kpi-card.clickable { cursor: pointer; transition: border-color 0.15s; }
.fat-kpi .kpi-card.clickable:hover, .cari-kpi .kpi-card.clickable:hover { border-color: var(--line-strong); text-decoration: none; }
.fat-kart .card-head h3 { flex-wrap: wrap; }
.fat-sayac { font-weight: 500; margin-left: 4px; }
.fat-toolbar .secenek-anahtari { flex: 0 0 auto; }
.fat-tablo { min-width: 1000px; }
.fat-tablo th, .fat-tablo td { padding-left: 10px; padding-right: 10px; }
.fat-tablo td { vertical-align: top; }
.fat-tablo td:nth-child(3) { min-width: 150px; }
.fat-tablo td .pill { margin-top: 1px; }
.fat-daha { display: flex; justify-content: center; margin-top: 14px; }
/* Satır eylemleri: simge düğmeler 2×2 ızgarada (sütun dar kalır, tablo 1440 px'te sığar) */
.data-table.fat-tablo td.islem-sutun .islem-hucre { display: grid; grid-template-columns: repeat(2, auto); gap: 6px; justify-content: end; }

/* Fatura / gider formu */
.fat-form .form-grid { align-items: start; }
.fat-ipucu { padding: 8px 12px; border-radius: var(--radius-sm); background: var(--tone-blue-soft); color: var(--blue); font-size: 13px; line-height: 1.45; }
.fat-ipucu:empty { display: none; }
.fat-kdv { white-space: normal; color: var(--ink); }
.fat-tutar-ozet { margin-top: 6px; font-size: 13px; color: var(--muted); }
.fat-tutar-ozet b { color: var(--heading); }
.fat-tutar-ozet:empty { display: none; }
.fat-not { margin: 12px 0 0; line-height: 1.5; }

/* Sabit giderler / personel */
.sabit-govde { margin-top: 12px; }
@media (min-width: 1100px) { .para-grid.uc-sutun { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.personel-not { flex: 1 1 100%; margin: 0; }
.personel-kalem-ekle { margin-top: 12px; }

/* Tahsilat Takibi (health.js receivablesPanel) */
.alacak-kart .card-head { align-items: flex-start; }
.alacak-kart .card-head h3 + .muted { margin-top: 4px; }
.alacak-aciklama { margin: 0 0 12px; line-height: 1.5; }
.alacak-kart .data-table { min-width: 900px; }

/* Sistem durumu paneli (health.js healthPanel — Ayarlar → Sistem) */
.saglik-uyarilar { margin: 6px 0 0; padding-left: 18px; }
.saglik-alt-baslik { margin: 18px 0 8px; font-size: 14px; font-weight: 700; color: var(--heading); }
.saglik-alt-baslik.tehlike { color: var(--danger); }
.saglik-etiketler { display: flex; flex-wrap: wrap; gap: 6px; }
.saglik-hatalar { margin-top: 6px; }

/* ===========================================================================
   3. CARİ HESAPLAR (cari.js)
   =========================================================================== */
@media (min-width: 1100px) { .cari-kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cari-kart .card-head { flex-wrap: wrap; }
.cari-sayac { white-space: nowrap; }
.cari-toolbar .chkinline { min-height: 40px; color: var(--ink); }
.cari-toolbar .chkinline input { width: 18px; height: 18px; accent-color: var(--primary); }
.cari-tablo { min-width: 760px; }
.cari-tablo td:first-child { min-width: 200px; }
.cari-bakiye { color: var(--heading); font-size: 15px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cari-bakiye.sifir { color: var(--muted); font-weight: 600; }
.cari-bakiye-hucre .pill { margin-top: 2px; }
.cari-geciken-tutar { white-space: nowrap; font-weight: 600; }
.cari-foot-not { text-align: right; }

/* Ekstre: geri bağlantısı */
.cari-geri {
  display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin: -6px 0 12px; padding: 0 2px;
  color: var(--muted); font-size: 14px; font-weight: 600; text-decoration: none;
}
.cari-geri:hover { color: var(--primary); text-decoration: none; }
.cari-geri svg { width: 16px; height: 16px; }

/* Ekstre: hesap kartı */
.cari-hesap { margin-bottom: 20px; }
.cari-hesap-bas { display: flex; align-items: center; gap: 16px; padding: 20px 20px 16px; flex-wrap: wrap; }
.cari-hesap-ikon {
  width: 52px; height: 52px; flex: 0 0 auto; border-radius: var(--radius-lg);
  background: var(--tone, var(--blue)); color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.cari-hesap-ikon svg { width: 26px; height: 26px; }
.cari-hesap-ad { flex: 1 1 260px; min-width: 0; }
.cari-hesap-ad h2 { margin: 2px 0 4px; font-size: 22px; font-weight: 700; color: var(--heading); letter-spacing: -0.3px; line-height: 1.2; overflow-wrap: anywhere; }
.cari-hesap-tur { font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 0.6px; }
.cari-iletisim { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 13px; color: var(--muted); }
.cari-iletisim a { color: var(--blue); text-decoration: none; }
.cari-iletisim a:hover { text-decoration: underline; }
.cari-ayrac { color: var(--line-strong); }
.cari-hesap-dugmeler { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }

.cari-toplamlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.cari-toplam { display: flex; flex-direction: column; gap: 4px; padding: 14px 20px 18px; min-width: 0; }
.cari-toplam + .cari-toplam { border-left: 1px solid var(--line); }
.cari-toplam-etiket { font-size: 12.5px; font-weight: 500; color: var(--muted); }
.cari-toplam-deger { font-size: 20px; font-weight: 700; color: var(--heading); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cari-toplam.yesil .cari-toplam-deger { color: var(--primary-d); }
.cari-toplam.vurgu .cari-toplam-deger { font-size: 22px; }
.cari-toplam.kirmizi .cari-toplam-deger { color: var(--danger); }
.cari-toplam.soluk .cari-toplam-deger { color: var(--muted); }

/* Ekstre: açık faturalar ve hareket tablosu */
.cari-acik, .cari-ekstre-kart { margin-bottom: 20px; }
.cari-acik .card-head, .cari-ekstre-kart .card-head { flex-wrap: wrap; }
.cari-acik .card-head h3 .tab-count { margin-left: 2px; }
.cari-kalan-ozet { font-size: 13px; color: var(--muted); }
.cari-kalan-ozet b { color: var(--heading); font-variant-numeric: tabular-nums; }
.cari-acik-tablo { min-width: 760px; }
.cari-acik-tablo td { vertical-align: top; }
.cari-donem { display: inline-flex; align-items: center; gap: 8px; }
.cari-donem .input { min-width: 170px; }
.cari-ekstre-not { margin-left: auto; }
.cari-ekstre-tablo { min-width: 820px; }
.cari-ekstre-tablo td { vertical-align: top; }
.cari-ekstre-tablo td:nth-child(4) { min-width: 200px; }
.cari-ekstre-tablo tr.cari-devir td { background: var(--surface-2); }
.cari-ekstre-tablo tr.cari-satir-odeme td:nth-child(6) { color: var(--primary-d); font-weight: 600; }
.cari-ekstre-tablo tfoot td:first-child { text-align: left; }

/* Yazdırma başlığı: ekranda gizli */
.cari-yazdir-bas { display: none; }

/* Telefon kart listesi: ekranda gizli; ≤640 px'te açık faturalar ve ekstre tablosunun yerine geçer */
.cari-tel-liste { display: none; }

/* ===========================================================================
   4. DAR EKRAN
   =========================================================================== */
@media (max-width: 900px) {
  .cari-toplamlar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cari-toplam:nth-child(3) { border-left: 0; }
  .cari-toplam:nth-child(n+3) { border-top: 1px solid var(--line); }
  .cari-ekstre-not { margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 640px) {
  /* Hesap listesi: hesap adı + bakiye (satıra dokunmak ekstreyi açar) */
  .cari-tablo { min-width: 0; }
  .cari-tablo .cari-genis { display: none; }
  .cari-tablo td:first-child { min-width: 0; }
  .cari-bakiye-hucre .pill { white-space: nowrap; }

  /* Açık faturalar ve ekstre: kart listesi */
  .cari-acik .table-wrap, .cari-ekstre-icerik .table-wrap, .fat-tablo-icerik .table-wrap, .alacak-icerik .table-wrap { display: none; }
  .cari-tel-liste { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--panel); }
  .cari-tel-satir { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; }
  .cari-tel-satir + .cari-tel-satir { border-top: 1px solid var(--line); }
  .cari-tel-satir.gecikmis { background: #FEF7F7; box-shadow: inset 3px 0 0 var(--danger); }
  .cari-tel-satir.cari-devir { background: var(--surface-2); }
  .cari-tel-ust { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .cari-tel-ref, .cari-acik .cari-tel-ust > .pill { margin-left: auto; }
  .cari-tel-tarih { font-weight: 600; color: var(--heading); font-variant-numeric: tabular-nums; }
  .cari-tel-aciklama { font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
  .cari-tel-bilgi { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; }
  .cari-tel-alt { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; }
  .cari-tel-tutar b { font-size: 15px; color: var(--heading); font-variant-numeric: tabular-nums; }
  .cari-tel-satir.odeme .cari-tel-tutar b { color: var(--primary-d); }
  .cari-tel-bakiye { margin-left: auto; white-space: nowrap; }
  .cari-tel-alt .islem-hucre { margin-left: auto; }
  .fat-tablo-icerik .cari-tel-ust > .pill:last-child, .alacak-icerik .cari-tel-ust > .pill:last-child { margin-left: auto; }
  .cari-tel-tutar .hucre-iki.sag { align-items: flex-start; text-align: left; }
  .cari-tel-toplam { display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 12px 14px; background: var(--surface-2); border-top: 1px solid var(--line); font-size: 13px; }
  .cari-tel-toplam > b:first-child { flex-basis: 100%; color: var(--heading); }
  .cari-tel-bos { margin: 0; padding: 18px 14px; text-align: center; }

  .cari-geri { min-height: 44px; margin-top: -10px; }
  .cari-hesap-bas { padding: 16px; gap: 12px; }
  .cari-hesap-ikon { width: 44px; height: 44px; }
  .cari-hesap-ikon svg { width: 22px; height: 22px; }
  .cari-hesap-ad h2 { font-size: 19px; }
  .cari-hesap-dugmeler { margin-left: 0; width: 100%; }
  .cari-hesap-dugmeler .btn { flex: 1 1 auto; min-height: 44px; }
  .cari-toplam { padding: 12px 16px 14px; }
  .cari-toplam-deger, .cari-toplam.vurgu .cari-toplam-deger { font-size: 17px; }
  .cari-toolbar > *, .fat-toolbar > * { flex: 1 1 100%; max-width: none; }
  .cari-toolbar .input, .fat-toolbar .input { width: 100%; }
  .cari-toolbar .chkinline { min-height: 44px; }
  .cari-donem { width: 100%; }
  .cari-donem .input { flex: 1 1 auto; min-width: 0; }
  .fat-toolbar .secenek-anahtari { display: flex; flex: 1 1 100%; }
  .fat-toolbar .secenek-anahtari button { flex: 1 1 0; }
  .fatura-page .secenek-anahtari button { min-height: 44px; }
  .tahsilat-bilgi { grid-template-columns: 1fr; gap: 6px; }
  .tahsilat-bilgi > div { flex-direction: row; justify-content: space-between; align-items: baseline; gap: 12px; }
  .ay-secici .ay-ok { width: 44px; }
}
@media (pointer: coarse) {
  .cari-geri { min-height: 44px; }
  .ay-secici .ay-ok { width: 44px; min-height: 44px; }
}

/* ===========================================================================
   5. YAZDIRMA — "Ekstre Yazdır" (kabuk, düğmeler ve araç çubukları styles.css'te zaten gizlenir)
   =========================================================================== */
@media print {
  .cari-ekstre-sayfa .page-head, .cari-geri, .cari-hesap-dugmeler, .cari-hesap-ikon, .cari-islem, .cari-ekstre-not { display: none !important; }
  .cari-tel-liste { display: none !important; }
  .cari-acik .table-wrap, .cari-ekstre-icerik .table-wrap, .fat-tablo-icerik .table-wrap, .alacak-icerik .table-wrap { display: block !important; }
  .cari-yazdir-bas {
    display: flex !important; justify-content: space-between; align-items: flex-start; gap: 24px;
    padding-bottom: 10px; margin-bottom: 14px; border-bottom: 2px solid #0F172A; font-size: 11px; color: #0F172A;
  }
  .cari-yb-firma { display: flex; align-items: flex-start; gap: 12px; }
  .cari-yb-logo { height: 44px; width: auto; }
  .cari-yb-firma-bilgi { display: flex; flex-direction: column; gap: 2px; }
  .cari-yb-firma-bilgi b { font-size: 13px; }
  .cari-yb-baslik { text-align: right; display: flex; flex-direction: column; gap: 2px; }
  .cari-yb-baslik h2 { margin: 0 0 4px; font-size: 18px; }
  .cari-hesap, .cari-acik, .cari-ekstre-kart { margin-bottom: 12px; }
  .cari-hesap-bas { padding: 10px 12px; }
  .cari-hesap-ad h2 { font-size: 16px; }
  .cari-toplam { padding: 8px 12px; }
  .cari-toplam-deger, .cari-toplam.vurgu .cari-toplam-deger { font-size: 14px; }
  .cari-ekstre-sayfa .card-head { padding: 10px 12px 6px; }
  .cari-ekstre-sayfa .card-body { padding: 0 12px 10px; }
  .cari-ekstre-sayfa .table-wrap { overflow: visible !important; }
  .cari-ekstre-tablo, .cari-acik-tablo { min-width: 0 !important; }
  .cari-ekstre-sayfa .data-table th, .cari-ekstre-sayfa .data-table td { padding: 5px 8px; font-size: 10.5px; }
  .cari-ekstre-sayfa .data-table tr { break-inside: avoid; }
  .cari-ekstre-sayfa .table-wrap, .cari-ekstre-sayfa .data-table { break-inside: auto; }
  .cari-ekstre-sayfa .card { break-inside: auto; }
  .data-table tr.satir-gecikmis td { background: transparent !important; }
  .cari-ekstre-sayfa .data-table .pill { font-size: 10px; padding: 1px 7px; }
  .cari-ekstre-sayfa .small { font-size: 10px; }
}
