/* SSID One · Ön Muhasebe — tasarım sistemi (v2)
   Düzen: açık sol menü + üst çubuk + bölüm sekmeleri + sayfa başlığı kartı + liste kartı.
   Renkler tema jetonlarıdır (açık / koyu). */

:root {
  color-scheme: light;
  --yazi-tipi: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  --zemin: #f2f6fa;
  --kart: #ffffff;
  --kart-2: #eff5fa;
  --kart-ust: #ffffff;
  --baslik-zemin: #e8f1f8;
  --cizgi: #dde7f0;
  --cizgi-guclu: #c8d7e4;
  --yazi: #23395b;
  --yazi-2: #4a6282;
  --soluk: #566b85;
  --ana: #1f6f9f;
  --ana-koyu: #234273;
  --ana-acik: #e1f0f9;
  --ana-yazi: #234273;
  --yesil: #bfe6d6;
  --yesil-koyu: #a9dbc7;
  --turuncu: #fbdfbd;
  --turuncu-koyu: #f8d2a4;
  --arti: #27795f;
  --arti-acik: #e0f3ec;
  --eksi: #ab4056;
  --eksi-acik: #fae6ea;
  --uyari: #94651a;
  --uyari-acik: #fbf1dc;
  --menu-zemin: #ffffff;
  --menu-yazi: #3c5475;
  --menu-aktif-zemin: #dcedf8;
  --menu-aktif-yazi: #234273;
  --golge-1: 0 1px 2px rgba(16, 24, 40, .05);
  --golge-2: 0 1px 3px rgba(16, 24, 40, .06);
  --golge-3: 0 16px 40px -12px rgba(16, 24, 40, .25);
  --halka: 0 0 0 3px rgba(41, 171, 226, .25);
  --seri-1: #7cc3ea;
  --seri-2: #f0b48e;
  --menu-genislik: 232px;
  --ust-yukseklik: 60px;
  --dolgu: #c5e5f6; --dolgu-koyu: #addaf2; --dolgu-yazi: #234273;
  --yesil-yazi: #1d5a47; --turuncu-yazi: #7a4a12; --kirmizi: #f7ccd4; --kirmizi-koyu: #f3b8c3; --kirmizi-yazi: #7d2435;
  --dilim-3: #8fd3c1; --dilim-4: #f5cf8e; --dilim-5: #c5b6e3;
}
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) {
    color-scheme: dark;
    --zemin: #0f1a2b; --kart: #16243a; --kart-2: #1b2b44; --kart-ust: #1f3150; --baslik-zemin: #1a2a42;
    --cizgi: #2a3d59; --cizgi-guclu: #38506f;
    --yazi: #e4edf6; --yazi-2: #b4c6da; --soluk: #8ba1b9;
    --ana: #8fcdf0; --ana-koyu: #b4def5; --ana-acik: rgba(143, 205, 240, .15); --ana-yazi: #e4f3fc;
    --yesil: #2f6b5a; --yesil-koyu: #387a67; --turuncu: #7a5a33; --turuncu-koyu: #8a673c;
    --arti: #8fd8bd; --arti-acik: rgba(143, 216, 189, .14);
    --eksi: #f0a6b3; --eksi-acik: rgba(240, 166, 179, .14);
    --uyari: #f0cf8e; --uyari-acik: rgba(240, 207, 142, .14);
    --menu-zemin: #132036; --menu-yazi: #b4c6da; --menu-aktif-zemin: rgba(143, 205, 240, .16); --menu-aktif-yazi: #b4def5;
    --golge-1: none; --golge-2: none; --golge-3: 0 16px 40px -12px rgba(0, 0, 0, .6);
    --halka: 0 0 0 3px rgba(143, 205, 240, .3);
    --seri-1: #7cc3ea; --seri-2: #e0a07c;
  --dolgu: #2c5f86; --dolgu-koyu: #356e98; --dolgu-yazi: #e4f3fc;
  --yesil-yazi: #dcf5ec; --turuncu-yazi: #fbeeda; --kirmizi: #7a3a48; --kirmizi-koyu: #8a4453; --kirmizi-yazi: #fbe6ea;
}
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --zemin: #0f1a2b; --kart: #16243a; --kart-2: #1b2b44; --kart-ust: #1f3150; --baslik-zemin: #1a2a42;
  --cizgi: #2a3d59; --cizgi-guclu: #38506f;
  --yazi: #e4edf6; --yazi-2: #b4c6da; --soluk: #8ba1b9;
  --ana: #8fcdf0; --ana-koyu: #b4def5; --ana-acik: rgba(143, 205, 240, .15); --ana-yazi: #e4f3fc;
  --yesil: #2f6b5a; --yesil-koyu: #387a67; --turuncu: #7a5a33; --turuncu-koyu: #8a673c;
  --arti: #8fd8bd; --arti-acik: rgba(143, 216, 189, .14);
  --eksi: #f0a6b3; --eksi-acik: rgba(240, 166, 179, .14);
  --uyari: #f0cf8e; --uyari-acik: rgba(240, 207, 142, .14);
  --menu-zemin: #132036; --menu-yazi: #b4c6da; --menu-aktif-zemin: rgba(143, 205, 240, .16); --menu-aktif-yazi: #b4def5;
  --golge-1: none; --golge-2: none; --golge-3: 0 16px 40px -12px rgba(0, 0, 0, .6);
  --halka: 0 0 0 3px rgba(143, 205, 240, .3);
  --seri-1: #7cc3ea; --seri-2: #e0a07c;
  --dolgu: #2c5f86; --dolgu-koyu: #356e98; --dolgu-yazi: #e4f3fc;
  --yesil-yazi: #dcf5ec; --turuncu-yazi: #fbeeda; --kirmizi: #7a3a48; --kirmizi-koyu: #8a4453; --kirmizi-yazi: #fbe6ea;
}

/* ---------------------------------------------------------------- temel */
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--zemin); color: var(--yazi);
  font: 13.5px/1.5 var(--yazi-tipi);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ana); text-decoration: none; }
a:hover { color: var(--ana-koyu); }
h1 { font-size: 18px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; margin: 0; }
h2 { font-size: 15px; font-weight: 600; margin: 24px 0 10px; }
svg.ikon { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8;
           stroke-linecap: round; stroke-linejoin: round; }

/* ---------------------------------------------------------------- sol menü */
.uygulama { display: flex; min-height: 100vh; }
.yan-menu {
  position: fixed; inset: 0 auto 0 0; width: var(--menu-genislik); z-index: 30; display: flex; flex-direction: column;
  background: var(--menu-zemin); border-right: 1px solid var(--cizgi); transition: width .18s ease;
}
.marka { display: flex; align-items: center; gap: 10px; height: var(--ust-yukseklik); padding: 0 18px; color: var(--yazi);
         border-bottom: 1px solid var(--cizgi); overflow: hidden; white-space: nowrap; }
.marka:hover { color: var(--yazi); }
.marka-isaret {
  display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; flex: none;
  background: linear-gradient(135deg, #29abe2 0%, #234273 100%); color: #fff;
  font-weight: 600; font-size: 13px; letter-spacing: -.04em; box-shadow: 0 4px 12px -3px rgba(35, 66, 115, .35);
}
.marka-ad { display: flex; flex-direction: column; line-height: 1.15; }
.marka-ad b { font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.marka-ad span { font-size: 11px; color: var(--soluk); }
.yan-menu nav { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 14px 10px; display: flex; flex-direction: column; gap: 2px; }
.yan-menu nav a {
  display: flex; align-items: center; gap: 12px; height: 40px; padding: 0 12px; border-radius: 8px; white-space: nowrap;
  color: var(--menu-yazi); font-size: 13.5px; font-weight: 600; transition: background .12s, color .12s;
}
.yan-menu nav a:hover { background: var(--kart-2); color: var(--yazi); }
.yan-menu nav a.aktif { background: var(--menu-aktif-zemin); color: var(--menu-aktif-yazi); font-weight: 600; }
.menu-daralt {
  margin: 10px auto 14px; width: 34px; height: 34px; padding: 0; border-radius: 50%; display: grid; place-items: center;
  background: var(--kart); color: var(--yazi-2); border: 1px solid var(--cizgi-guclu); box-shadow: var(--golge-1); cursor: pointer;
}
.menu-daralt:hover { background: var(--kart-2); color: var(--yazi); }
.menu-daralt svg.ikon { width: 16px; height: 16px; transition: transform .18s; }

/* dar menü (yalnız ikonlar) */
:root[data-menu="dar"] { --menu-genislik: 72px; }
:root[data-menu="dar"] .yan-menu nav a span,
:root[data-menu="dar"] .marka-ad { display: none; }
:root[data-menu="dar"] .yan-menu nav a { justify-content: center; padding: 0; }
:root[data-menu="dar"] .marka { justify-content: center; padding: 0; }
:root[data-menu="dar"] .menu-daralt svg.ikon { transform: rotate(180deg); }

/* ---------------------------------------------------------------- üst çubuk ve sekmeler */
.icerik-alani { flex: 1; min-width: 0; margin-left: var(--menu-genislik); display: flex; flex-direction: column; transition: margin .18s ease; }
.ust-cubuk {
  position: sticky; top: 0; z-index: 20; height: var(--ust-yukseklik); display: flex; align-items: center; gap: 14px;
  padding: 0 22px; background: var(--kart); border-bottom: 1px solid var(--cizgi);
}
.mobil-menu { display: none; }
.firma {
  display: flex; align-items: center; gap: 10px; min-width: 0; max-width: 560px; height: 38px; padding: 0 14px;
  border: 1px solid var(--cizgi-guclu); border-radius: 8px; color: var(--yazi-2); font-size: 12.5px; font-weight: 600;
}
.firma span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.firma svg.ikon { color: var(--soluk); width: 16px; height: 16px; }
.ust-araclar { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.ikon-dugme {
  width: 38px; height: 38px; padding: 0; display: grid; place-items: center; border-radius: 9px; cursor: pointer;
  background: transparent; color: var(--yazi-2); border: 1px solid transparent; box-shadow: none;
}
.ikon-dugme:hover { background: var(--kart-2); color: var(--yazi); }
.kullanici-menu { position: relative; }
.kullanici-menu summary {
  list-style: none; display: flex; align-items: center; gap: 10px; height: 42px; padding: 0 8px 0 4px; border-radius: 10px; cursor: pointer;
}
.kullanici-menu summary::-webkit-details-marker { display: none; }
.kullanici-menu summary:hover { background: var(--kart-2); }
.kullanici-menu summary > svg.ikon { width: 15px; height: 15px; color: var(--soluk); }
.avatar {
  display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; flex: none; font-weight: 600; font-size: 13px;
  background: var(--ana-acik); color: var(--ana);
}
.kullanici-ad { line-height: 1.2; }
.kullanici-ad b { display: block; font-size: 13px; font-weight: 600; }
.kullanici-ad span { font-size: 11.5px; color: var(--soluk); }
.acilir {
  position: absolute; right: 0; top: calc(100% + 6px); min-width: 210px; padding: 6px; z-index: 40;
  background: var(--kart-ust); border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: var(--golge-3);
}
.acilir a, .acilir button {
  display: flex; align-items: center; gap: 10px; width: 100%; height: 38px; padding: 0 10px; border-radius: 8px;
  color: var(--yazi); background: none; border: 0; box-shadow: none; font: inherit; font-weight: 600; justify-content: flex-start;
}
.acilir a:hover, .acilir button:hover { background: var(--kart-2); color: var(--yazi); }
.acilir form { margin: 0; border-top: 1px solid var(--cizgi); padding-top: 4px; margin-top: 4px; }
.acilir button { color: var(--eksi); }
.acilir button:hover { background: var(--eksi-acik); color: var(--eksi); }

.alt-sekmeler {
  display: flex; gap: 4px; padding: 0 18px; background: var(--kart);
  /* alt çizgi içeride (gölge): aktif sekmenin çizgisi üstüne biner, hiçbir şey taşmaz. Dar ekranda sekmeler
     yatay kayar; dikey kaydırma çubuğu hiç çıkmaz */
  box-shadow: inset 0 -1px 0 var(--cizgi);
  overflow-x: auto; overflow-y: hidden; scrollbar-width: thin;
}
.alt-sekmeler a {
  display: flex; align-items: center; gap: 7px; height: 46px; padding: 0 12px; white-space: nowrap;
  color: var(--yazi-2); font-weight: 600; font-size: 13.5px; border-bottom: 2px solid transparent;
}
.alt-sekmeler a svg.ikon { width: 16px; height: 16px; color: var(--soluk); }
.alt-sekmeler a:hover { color: var(--yazi); }
.alt-sekmeler a.aktif { color: var(--ana); border-bottom-color: var(--ana); background: linear-gradient(to top, var(--ana-acik), transparent 70%); }
.alt-sekmeler a.aktif svg.ikon { color: var(--ana); }

main { width: 100%; padding: 22px 24px 48px; }
.menu-ac, .menu-perde { display: none; }

/* ---------------------------------------------------------------- sayfa başlığı kartı */
.sayfa-ust {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 12px 16px; margin-bottom: 16px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; box-shadow: var(--golge-1);
}
.sayfa-ust-sol { display: flex; align-items: center; gap: 14px; min-width: 0; }
.sayfa-ikon {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 9px; flex: none;
  background: var(--kart-2); border: 1px solid var(--cizgi); color: var(--yazi-2);
}
.sayfa-alt { color: var(--soluk); font-size: 12.5px; margin-top: 2px; }
.sayfa-ust .dugmeler { margin: 0; }

/* eski düzenle uyumluluk (başlık satırı) */
.baslik-satiri { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }

/* ---------------------------------------------------------------- düğmeler */
.dugmeler { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 10px 0; }
button, .dugme {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 36px; padding: 0 14px;
  border-radius: 7px; border: 1px solid transparent; background: var(--dolgu); color: var(--dolgu-yazi);
  font-family: inherit; font-size: 12.5px; font-weight: 600; line-height: 1; cursor: pointer; white-space: nowrap;
  box-shadow: var(--golge-1); transition: background .12s, border-color .12s, color .12s;
}
button svg.ikon, .dugme svg.ikon { width: 16px; height: 16px; }
button:hover, .dugme:hover { background: var(--dolgu-koyu); color: var(--dolgu-yazi); }
button:focus-visible, .dugme:focus-visible, a:focus-visible, summary:focus-visible { outline: none; box-shadow: var(--halka); }
.dugme.yesil, button.yesil { background: var(--yesil); color: var(--yesil-yazi); }
.dugme.yesil:hover, button.yesil:hover { background: var(--yesil-koyu); color: var(--yesil-yazi); }
.dugme.turuncu, button.turuncu { background: var(--turuncu); color: var(--turuncu-yazi); }
.dugme.turuncu:hover, button.turuncu:hover { background: var(--turuncu-koyu); color: var(--turuncu-yazi); }
.dugme.cizgili, button.cizgili { background: var(--kart); color: var(--ana); border-color: var(--ana); box-shadow: none; }
.dugme.cizgili:hover, button.cizgili:hover { background: var(--ana-acik); color: var(--ana); }
button.ikincil, .dugme.ikincil { background: var(--kart); color: var(--yazi); border-color: var(--cizgi-guclu); }
button.ikincil:hover, .dugme.ikincil:hover { background: var(--kart-2); color: var(--yazi); }
button.tehlike { background: var(--kart); color: var(--eksi); border-color: var(--cizgi-guclu); box-shadow: none; }
button.tehlike:hover { background: var(--eksi-acik); border-color: var(--eksi); }
.satir-ici { display: inline; }
button.baglanti { background: none; border: 0; box-shadow: none; height: auto; padding: 0; color: var(--ana); font-weight: 600; }
button.baglanti:hover { background: none; text-decoration: underline; }

/* ---------------------------------------------------------------- mesajlar */
.mesaj {
  display: flex; gap: 10px; align-items: flex-start; padding: 11px 14px; margin-bottom: 14px; border-radius: 9px;
  background: var(--ana-acik); color: var(--yazi); font-weight: 600; border: 1px solid transparent; animation: belir .2s ease-out;
}
.mesaj::before { content: ""; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--ana); flex: none; }
.mesaj.tamam { background: var(--arti-acik); }
.mesaj.tamam::before { background: var(--arti); }
.mesaj.hata { background: var(--eksi-acik); }
.mesaj.hata::before { background: var(--eksi); }
.mesaj.warning { background: var(--uyari-acik, rgba(241, 176, 76, .14)); }
.mesaj.warning::before { background: var(--uyari); }
@keyframes belir { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- kartlar */
.kart, .kutu, section, .liste-kart, .panel {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: var(--golge-2);
}
.kart, .kutu, section { padding: 16px 18px; }
.kutu { margin: 0 0 16px; }
section > h2:first-child { margin-top: 0; }
.kartlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 0 0 16px; }
.kart .etiket { color: var(--soluk); font-size: 12.5px; font-weight: 600; }
.kart .deger { font-size: 20px; font-weight: 600; letter-spacing: -.02em; margin-top: 2px; }
.iki-sutun { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }

/* özet kartları (banka / kasa / fatura toplamları) */
.ozetler { display: flex; gap: 14px; flex-wrap: wrap; margin: 0 0 16px; }
.ozet {
  display: flex; align-items: center; justify-content: space-between; gap: 18px; min-width: 190px; padding: 14px 16px;
  background: var(--kart); border: 1.5px solid var(--arti); border-radius: 12px;
}
.ozet span { display: block; color: var(--yazi-2); font-size: 12.5px; font-weight: 600; }
.ozet b { display: block; font-size: 17px; font-weight: 600; color: var(--arti); margin-top: 2px; font-variant-numeric: tabular-nums; }
.ozet b .tutar { display: inline; color: inherit; font-size: inherit; }  /* tutar makrosu: etiket span kuralı (.ozet span) rakama geçmesin, simgeyle aynı satırda kalsın */
.ozet i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--arti-acik); color: var(--arti); }
.ozet i svg.ikon { width: 22px; height: 22px; stroke-width: 2; }
.ozet.mavi { border-color: var(--ana); } .ozet.mavi b { color: var(--ana); } .ozet.mavi i { background: var(--ana-acik); color: var(--ana); }
.ozet.kirmizi { border-color: var(--eksi); } .ozet.kirmizi b { color: var(--eksi); } .ozet.kirmizi i { background: var(--eksi-acik); color: var(--eksi); }
.ozet .ozet-alt { display: block; margin-top: 3px; color: var(--yazi-2); font-size: 12.5px; font-weight: 600; }
.ozet.gri { border-color: var(--cizgi-guclu); } .ozet.gri b { color: var(--yazi); } .ozet.gri i { background: var(--kart-2); color: var(--yazi-2); }

/* ---------------------------------------------------------------- liste kartı + araç çubuğu */
.liste-kart { padding: 14px 16px 6px; margin-bottom: 16px; }
.arac { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.arac-sol, .arac-sag { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.arac label.secim { display: flex; align-items: center; gap: 7px; color: var(--yazi-2); font-size: 12.5px; font-weight: 600; }
.arama { position: relative; display: flex; align-items: center; }
.arama svg.ikon { position: absolute; right: 10px; width: 16px; height: 16px; color: var(--soluk); pointer-events: none; }
.arama input { width: 260px; padding-right: 34px; }
.alt-not { color: var(--soluk); font-size: 12px; padding: 8px 2px 8px; }

/* ---------------------------------------------------------------- kullanıcılar ve yetkiler */
.yetki-sekmeler { margin-bottom: 14px; flex-wrap: wrap; }
/* Ayarlar → Log kayıtları */
.log-suzgec .arac-sol select { width: auto; max-width: 220px; }
.log-suzgec input[type=search] { width: 180px; }
.tarih-etiket { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--soluk); }
.tarih-etiket input { width: auto; }
.log-tablo td.nowrap { white-space: nowrap; }
.log-tablo .log-tarayici { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.log-fark { margin-top: 4px; }
.log-fark summary { cursor: pointer; color: var(--ana); }
.log-fark table { margin-top: 6px; border-collapse: collapse; }
.log-fark th, .log-fark td { padding: 3px 10px 3px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--cizgi); }
.yetki-roller { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; border: 0; }
.yetki-roller legend { padding: 0; }
.yetki-rol-secim { display: flex; flex-wrap: wrap; gap: 6px; }
.yetki-rol-secim a { padding: 6px 12px; border: 1px solid var(--cizgi); border-radius: 8px; color: var(--yazi-2); font-size: 13px; font-weight: 600; }
.yetki-rol-secim a.aktif { border-color: var(--ana); background: var(--ana-acik); color: var(--ana); }
.yetki-yeni-rol { position: relative; }
.yetki-yeni-rol summary { list-style: none; cursor: pointer; }
.yetki-yeni-rol summary::-webkit-details-marker { display: none; }
.yetki-yeni-rol form { position: absolute; right: 0; z-index: 5; width: min(300px, 80vw); margin-top: 6px; padding: 14px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; box-shadow: var(--golge-1); }
.yetki-tablo th:not(:first-child), .yetki-tablo td:not(:first-child) { text-align: center; }
.yetki-tablo input[type="checkbox"] { width: 18px; height: 18px; margin: 0; vertical-align: middle; }
.yetki-gruplari { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px 28px; margin-top: 18px; }
.yetki-gruplari fieldset { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.yetki-gruplari legend { padding: 0; }

/* ---------------------------------------------------------------- hareket araması */
.hareket-ara input { width: min(260px, 60vw); }
.arama-ozeti { margin: 0 0 10px; color: var(--yazi-2); font-size: 13px; font-variant-numeric: tabular-nums; }
.arama-ozeti a { margin-left: 8px; font-weight: 600; }

/* ---------------------------------------------------------------- tablolar */
table { width: 100%; border-collapse: separate; border-spacing: 0; }
th, td { padding: 12px 12px; border-bottom: 1px solid var(--cizgi); text-align: left; vertical-align: middle; }
th { font-size: 12.5px; font-weight: 600; color: var(--yazi); background: var(--baslik-zemin); white-space: nowrap; }
thead th:first-child { border-top-left-radius: 8px; } thead th:last-child { border-top-right-radius: 8px; }
thead th { border-bottom: 0; }
tbody tr:last-child td { border-bottom: 0; }
table.liste { background: var(--kart); font-size: 13px; }
.liste-kart > table.liste, .liste-kart > .kaydir > table.liste { margin: 0; }
body table.liste:not(.liste-kart table) { border: 1px solid var(--cizgi); border-radius: 12px; }
table.liste tbody tr:hover td { background: var(--kart-2); }
table.liste tfoot td { font-weight: 600; background: var(--kart-2); border-top: 1px solid var(--cizgi); border-bottom: 0; }
td.ac-hucre { width: 36px; padding-right: 0; }
.ac-bag { display: inline-grid; place-items: center; color: var(--ana); }
.ac-bag svg.ikon { width: 18px; height: 18px; }
.ac-bag:hover { color: var(--ana-koyu); }
td .ad { font-weight: 600; color: var(--yazi); }
td a.ad:hover { color: var(--ana); }
section table td, section table th { padding-left: 0; padding-right: 0; background: none; }
section table td + td { padding-left: 12px; }
table.dar { max-width: 560px; }
tr.devir td { background: var(--kart-2); color: var(--soluk); font-style: italic; }
tr.pasif td { color: var(--soluk); }
tr.iptal td { color: var(--soluk); text-decoration: line-through; }
.sag { text-align: right; }
.orta { text-align: center; }
.tutar { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; }
.arti { color: var(--arti); }
.eksi { color: var(--eksi); }
.soluk { color: var(--soluk); }
.kucuk { font-size: 12px; }
p.soluk.kucuk { margin: 10px 2px; }
.kaydir { overflow-x: auto; }

/* durum etiketleri */
.rozet {
  display: inline-flex; align-items: center; font-size: 11.5px; font-weight: 600; padding: 2px 9px; border-radius: 6px;
  background: var(--ana-acik); color: var(--ana); white-space: nowrap; line-height: 1.6;
}
.r-tahsilat, .r-giris { background: var(--arti-acik); color: var(--arti); }
.r-odeme, .r-cikis { background: var(--eksi-acik); color: var(--eksi); }
.r-virman { background: var(--uyari-acik); color: var(--uyari); }
.r-iptal { background: var(--kart-2); color: var(--soluk); }
.durum { display: inline-block; padding: 2px 9px; border-radius: 6px; font-size: 11.5px; font-weight: 600; line-height: 1.6; }
.durum.evet { background: var(--ana-acik); color: var(--ana); }
.durum.hayir { background: var(--kart-2); color: var(--soluk); }
.durum.yesil { background: var(--arti-acik); color: var(--arti); }
.durum.turuncu { background: var(--uyari-acik); color: var(--uyari); }
.durum.kirmizi-durum { background: var(--eksi-acik); color: var(--eksi); }
.etiket-alt { display: table; margin: 3px 0 0 auto; padding: 1px 7px; border-radius: 4px; font-size: 10.5px; font-weight: 600; }
.etiket-alt.yesil { background: var(--arti-acik); color: var(--arti); }
.etiket-alt.kirmizi { background: var(--eksi-acik); color: var(--eksi); }
.etiket-alt.gri { background: var(--kart-2); color: var(--soluk); }

/* ---------------------------------------------------------------- formlar */
.filtre { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 0 0 14px; }
.filtre label { display: flex; gap: 8px; align-items: center; color: var(--yazi-2); font-size: 12.5px; }
.sekmeler { display: inline-flex; padding: 3px; gap: 2px; background: var(--kart-2); border: 1px solid var(--cizgi); border-radius: 9px; }
.sekmeler a { padding: 5px 12px; border-radius: 6px; color: var(--yazi-2); font-weight: 600; font-size: 12.5px; }
.sekmeler a.aktif { background: var(--kart); color: var(--ana); box-shadow: var(--golge-1); }
input, select, textarea {
  font: inherit; height: 36px; padding: 0 10px; border: 1px solid var(--cizgi-guclu); border-radius: 7px;
  background: var(--kart); color: var(--yazi); transition: border-color .12s, box-shadow .12s;
}
textarea { height: auto; min-height: 76px; padding: 8px 10px; }
input[type="checkbox"] { height: 16px; width: 16px; padding: 0; accent-color: var(--ana); }
input::placeholder { color: var(--soluk); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--ana); box-shadow: var(--halka); }
.form {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px 18px; margin-bottom: 16px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 20px; box-shadow: var(--golge-2);
}
main > .form, main > form > .form { max-width: 1040px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.form label { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--yazi-2); }
.form label input, .form label select, .form label textarea { color: var(--yazi); font-weight: 400; }
.form .genis { grid-column: span 2; }
.form label.onay { flex-direction: row; align-items: center; gap: 9px; color: var(--yazi); font-weight: 600; }
.form .dugmeler { grid-column: 1 / -1; margin: 4px 0 0; }
.kur-alani { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 10px;
             background: var(--ana-acik); border: 1px solid color-mix(in srgb, var(--ana) 25%, transparent); }
.kur-baslik { font-size: 12.5px; font-weight: 600; color: var(--yazi-2); }
.kur-satir { display: grid; grid-template-columns: minmax(130px, 160px) 1fr auto; gap: 8px; }
.kur-satir input { font-weight: 600; font-variant-numeric: tabular-nums; }
.kur-bilgi { font-size: 12px; }
.kur-bilgi.tamam { color: var(--arti); }
.kur-bilgi.hata { color: var(--eksi); }
.form-baslik { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; color: var(--ana); font-weight: 600; font-size: 14px;
               padding-bottom: 10px; border-bottom: 1px solid var(--cizgi); }
.ipucu-metin { color: var(--soluk); font-size: 12.5px; margin: -4px 0 14px; }

/* adımlı form (cari kartı) */
.dugme.kirmizi, button.kirmizi { background: var(--kirmizi); color: var(--kirmizi-yazi); }
.dugme.kirmizi:hover, button.kirmizi:hover { background: var(--kirmizi-koyu); color: var(--kirmizi-yazi); }
.adimlar { display: flex; align-items: center; justify-content: center; gap: 0; margin: 4px 0 20px; }
.adim {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 220px; height: 64px;
  background: var(--kart-2); color: var(--yazi-2); border: 1px solid var(--cizgi-guclu); border-radius: 8px; box-shadow: none; font-size: 12.5px;
}
.adim:hover { background: var(--kart); color: var(--yazi); }
.adim.aktif { background: var(--dolgu); border-color: var(--dolgu); color: var(--dolgu-yazi); }
.adim.tamam { background: var(--yesil); border-color: var(--yesil); color: var(--yesil-yazi); }
.adim svg.ikon { width: 20px; height: 20px; }
.adim-cizgi { flex: 0 1 120px; height: 2px; margin: 0 18px; background: var(--cizgi-guclu); }
.adim-cizgi.tamam { background: var(--yesil); }
.adim-alt { display: flex; justify-content: space-between; margin: 18px 0; }
.adim-alt button:only-of-type, .adim-alt .adim-ileri { margin-left: auto; }
.iki-bir { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
.yedek-alani { align-items: start; }  /* geri yükleme paneli uzun listeyle birlikte uzamaz */
.yedek-alani > #geri-yukle { position: sticky; top: calc(var(--ust-yukseklik) + 16px); }
.form-izgara { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 14px; align-items: start; }
.form-izgara.tek { grid-template-columns: 1fr; }
.form-izgara.uc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iki-bir > .panel:nth-child(even) .form-izgara:not(.tek) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-izgara label, .tekrar-kart label { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--ana); }
.form-izgara label input, .form-izgara label select, .form-izgara label textarea,
.tekrar-kart input, .tekrar-kart select, .tekrar-kart textarea { color: var(--yazi); font-weight: 400; width: 100%; }
.form-izgara .tam { grid-column: 1 / -1; }
.form-izgara .iki-sutun-alan { grid-column: span 2; }
.alan-ad { display: block; font-size: 12.5px; font-weight: 600; color: var(--ana); margin-bottom: 6px; }
.segment { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--cizgi-guclu); border-radius: 8px; overflow: hidden; }
.segment label { display: block; position: relative; margin: 0; cursor: pointer; }
.segment input { position: absolute; inset: 0; width: 1px !important; height: 1px; opacity: 0; pointer-events: none; }
.segment span { display: block; text-align: center; padding: 11px; background: var(--kart-2); color: var(--soluk); font-weight: 600; font-size: 13px; }
.segment input:checked + span { background: var(--dolgu); color: var(--dolgu-yazi); }
.segment input:focus-visible + span { box-shadow: inset var(--halka); }
.form-izgara.dortlu { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kucuk-segment { grid-template-columns: auto auto; }
.kucuk-segment span { display: flex; align-items: center; gap: 6px; padding: 6px 14px; font-size: 12px; }
.kucuk-segment svg.ikon { width: 14px; height: 14px; }
label.onay-satir { flex-direction: row !important; align-items: center; gap: 9px !important; color: var(--yazi) !important; font-weight: 600; cursor: pointer; }
label.onay-satir input { width: auto !important; }
.fiyat-blok { padding: 12px 0; border-bottom: 1px solid var(--cizgi); }
.fiyat-blok:first-child { padding-top: 0; }
.fiyat-blok .fiyat-alanlari { margin-top: 12px; }
.form-izgara.iki { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.etiket-satir { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.etiket-satir a { font-size: 12px; font-weight: 600; }
.tarih-saat { display: grid; grid-template-columns: 1fr 110px; gap: 10px; }
.vade-satir { display: grid; grid-template-columns: 120px 1fr; gap: 10px; }
.tarih-saat label, .vade-satir label { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--ana); }
.kur-farki { align-self: end; padding-bottom: 8px; }
.ek-kutu { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; border: 1px solid var(--cizgi); border-radius: 10px; background: var(--kart-2); }
.birlesik { display: grid; grid-template-columns: 1fr 70px; }
.birlesik input { border-radius: 7px 0 0 7px; }
.birlesik select { border-radius: 0 7px 7px 0; border-left: 0; }
/* fatura detay ekranı */
.belge-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
.belge-baslik { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.belge-baslik h1 { font-size: 20px; margin-right: 4px; }
.belge-etiketler { margin-top: 6px; min-height: 4px; }
.belge-ust .dugmeler { margin: 0; }
.islemler summary.dugme { height: 36px; padding: 0 14px; border-radius: 7px; gap: 7px; }
.islemler summary.dugme:hover { background: var(--turuncu-koyu); }
.islemler summary.dugme svg.ikon { width: 15px; height: 15px; color: currentColor; }
.acilir form { border: 0; padding: 0; margin: 0; }
.acilir form + form { border-top: 1px solid var(--cizgi); padding-top: 4px; margin-top: 4px; }
.acilir button.acilir-dugme { color: var(--yazi); }
.acilir button.acilir-dugme:hover { background: var(--kart-2); color: var(--yazi); }
.belge-sekmeler { display: flex; gap: 6px; border-bottom: 1px solid var(--cizgi); margin: 8px 0 16px; }
.belge-sekmeler a { padding: 10px 12px; color: var(--yazi-2); font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.belge-sekmeler a.aktif { color: var(--ana); border-bottom-color: var(--ana); }
.sayac { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
         background: var(--ana-acik); color: var(--ana); font-size: 11px; font-weight: 600; }
.bilgi-kartlari { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.bilgi-kartlari .panel-baslik h2 { color: var(--yazi); }
.ikon-dugme.kenarli { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--cizgi-guclu); border-radius: 8px; color: var(--yazi-2); }
.satir-bilgi { display: grid; grid-template-columns: max-content minmax(0, 1fr); margin: 0; font-size: 13px; }
.satir-bilgi dt, .satir-bilgi dd { padding: 7px 0; border-bottom: 1px solid var(--cizgi); margin: 0; }
.satir-bilgi dt { font-weight: 600; color: var(--yazi); padding-right: 16px; }
.satir-bilgi dd { text-align: right; color: var(--yazi-2); overflow-wrap: anywhere; }
.toplam-kartlari { display: grid; grid-template-columns: repeat(2, minmax(0, 520px)); justify-content: end; gap: 16px; margin-bottom: 10px; }
.toplam-kartlari.tek { grid-template-columns: minmax(0, 520px); }
.toplam-karti { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; overflow: hidden; }
.toplam-karti-ust { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; font-weight: 600; font-size: 15px; }
.toplam-karti-ust span { display: flex; align-items: center; gap: 10px; }
.toplam-karti-ust b { font-size: 12px; }
.toplam-karti.yesil .toplam-karti-ust { background: var(--arti-acik); color: var(--arti); }
.toplam-karti.mavi .toplam-karti-ust { background: var(--ana-acik); color: var(--ana); }
.toplam-karti-govde { padding: 10px 20px 16px; }
.toplam-karti-govde div { display: flex; justify-content: space-between; padding: 7px 0; color: var(--yazi-2); font-variant-numeric: tabular-nums; }
.toplam-karti-govde div b { color: var(--yazi); font-weight: 600; }
.toplam-karti-govde .genel { border-top: 1.5px solid var(--yazi); margin-top: 8px; padding-top: 12px; font-size: 17px; font-weight: 600; color: var(--yazi); }
.toplam-karti-govde .genel b { font-weight: 600; }
@media (max-width: 1100px) {
  .bilgi-kartlari, .toplam-kartlari, .toplam-kartlari.tek { grid-template-columns: 1fr; }
}
@media print {
  .belge-sekmeler, .belge-ust .dugmeler { display: none !important; }
  .sekme-panel[hidden] { display: none !important; }
}
.dip-tablo { width: 100%; border-collapse: collapse; font-size: 13px; }
.dip-tablo th { background: none; padding: 0 0 6px; font-size: 11.5px; color: var(--soluk); text-transform: uppercase; letter-spacing: .04em; }
.dip-tablo td { padding: 6px 0; border: 0; color: var(--yazi-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dip-tablo td + td, .dip-tablo th + th { padding-left: 18px; }
.dip-tablo td.sag { color: var(--yazi); font-weight: 600; }
.dip-tablo tr.ara-satir td { border-top: 1px dashed var(--cizgi-guclu); }
.dip-tablo tr.buyuk td { border-top: 1px solid var(--cizgi-guclu); padding-top: 10px; font-size: 16px; font-weight: 600; color: var(--yazi); }
.dip-tablo.tek-kolon .tl-kolon { display: none; }
.dip-tablo .tl-kolon { color: var(--ana) !important; }
.alt-toplam { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, max-content); gap: 16px; align-items: start; }
.alt-toplam .toplamlar { margin: 0; max-width: none; }
.dosya-liste { display: flex; flex-direction: column; gap: 6px; }
.dosya-satir { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--cizgi); border-radius: 8px; }
.dosya-satir a.ad { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1000px) {
  .form-izgara.iki, .alt-toplam { grid-template-columns: 1fr; }
}
.tekrar-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; align-items: start; }
.tekrar-kart { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--cizgi-guclu); border-radius: 10px; background: var(--kart-2); }
.tekrar-ust { display: flex; justify-content: space-between; align-items: center; color: var(--yazi-2); font-size: 12.5px; }
.tekrar-ust b { display: flex; align-items: center; gap: 6px; }
.tekrar-ust svg.ikon { width: 15px; height: 15px; }
label.radyo { flex-direction: row !important; align-items: center; gap: 6px !important; color: var(--yazi-2) !important; font-weight: 600; }
label.radyo input { width: auto !important; height: auto; accent-color: var(--ana); }
.satir-sil { width: 28px; height: 28px; padding: 0; background: var(--kart); color: var(--eksi); border: 1px solid var(--cizgi-guclu); box-shadow: none; font-size: 16px; }
.satir-sil:hover { background: var(--eksi-acik); color: var(--eksi); }
.uclu { display: grid; grid-template-columns: 1fr 1fr 110px; gap: 10px; }
.ikili-alan { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ekle-kart {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 130px; width: 100%;
  background: var(--ana-acik); color: var(--ana); border: 1.5px dashed color-mix(in srgb, var(--ana) 40%, transparent); border-radius: 10px; box-shadow: none;
}
.ekle-kart:hover { background: color-mix(in srgb, var(--ana-acik) 70%, var(--kart)); color: var(--ana); }
.ekle-kart svg.ikon { width: 26px; height: 26px; }
.ekle-kart.yesil { background: var(--arti-acik); color: var(--arti); border-color: color-mix(in srgb, var(--arti) 40%, transparent); }
.anahtar { flex-direction: row !important; align-items: center; gap: 10px !important; cursor: pointer; color: var(--yazi-2) !important; }
.anahtar { position: relative; }
.anahtar input { position: absolute; left: 0; top: 0; opacity: 0; width: 1px !important; height: 1px; }
.anahtar i { width: 38px; height: 22px; border-radius: 11px; background: var(--cizgi-guclu); position: relative; transition: background .15s; flex: none; }
.anahtar i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; }
.anahtar input:checked + i { background: var(--seri-1); }
.anahtar input:checked + i::after { transform: translateX(16px); }
.anahtar input:focus-visible + i { box-shadow: var(--halka); }
input.eksik { border-color: var(--eksi); box-shadow: 0 0 0 3px var(--eksi-acik); }
details.cari-kart > summary { list-style: none; cursor: pointer; }
details.cari-kart > summary::-webkit-details-marker { display: none; }
details.cari-kart:not([open]) > summary { border-bottom: 0; }
.bilgi-liste { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; font-size: 13px; }
.bilgi-liste dt { color: var(--soluk); }
.bilgi-liste dd { margin: 0; color: var(--yazi); }
.etiket-rozet { display: inline-block; margin: 0 4px 4px 0; padding: 1px 8px; border-radius: 999px; background: var(--kart-2); border: 1px solid var(--cizgi); font-size: 11.5px; color: var(--yazi-2); }
@media (max-width: 1000px) {
  .iki-bir, .form-izgara, .form-izgara.uc, .form-izgara.dortlu, .iki-bir > .panel:nth-child(even) .form-izgara:not(.tek) { grid-template-columns: 1fr; }
  .form-izgara .iki-sutun-alan { grid-column: auto; }
  .adim { width: auto; flex: 1; } .adim span { display: none; } .adim-cizgi { margin: 0 6px; }
}

/* fatura kalemleri */
/* satır girişi: alanlar doldurulup listeye eklenir */
.giris-izgara { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 14px; align-items: start; }
.giris-izgara label { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--ana); min-width: 0; }
.giris-izgara .giris-genis:first-child { grid-column: span 4; }
.giris-izgara .giris-genis:nth-child(2) { grid-column: span 3; }
.giris-izgara input, .giris-izgara select { width: 100%; min-width: 0; }
/* ürün arama kutusu (lookup) ve anlık ürün kartı */
.urun-alani { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.urun-alani .etiket-satir label { font-size: 12.5px; font-weight: 600; color: var(--ana); }
.bag-dugme { height: auto; padding: 0; border: 0; background: none; box-shadow: none; color: var(--ana); font-size: 12px; font-weight: 600; cursor: pointer; }
.bag-dugme:hover { background: none; text-decoration: underline; }
.logo-alani { display: flex; flex-direction: column; gap: 8px; }
.logo-onizleme { display: flex; align-items: center; gap: 14px; }
.logo-onizleme img { max-height: 56px; max-width: 180px; object-fit: contain; border: 1px solid var(--cizgi); border-radius: 8px; padding: 4px; background: #fff; }
.urun-arama { position: relative; }
.urun-arama input { width: 100%; }
.urun-liste { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); max-height: 300px; overflow-y: auto; margin: 0; padding: 4px;
  list-style: none; background: var(--kart); border: 1px solid var(--cizgi-guclu); border-radius: 9px; box-shadow: 0 10px 28px rgba(15, 23, 42, .14); }
.urun-secenek { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 6px; cursor: pointer; }
.urun-secenek .ad { font-weight: 600; color: var(--yazi); }
.urun-secenek.secili, .urun-secenek:hover { background: var(--ana-acik); }
.urun-secenek.yeni-urun { border-top: 1px solid var(--cizgi); margin-top: 4px; }
.urun-secenek.yeni-urun .ad { color: var(--arti); }
.urun-bos { padding: 10px; font-size: 12.5px; }
.hizli-urun { margin-top: 6px; padding: 12px 14px; border: 1px dashed var(--ana); border-radius: 10px; background: var(--kart-2); }
.hizli-baslik { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 10px; }
.hizli-izgara { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.hizli-izgara .hizli-genis { grid-column: 1 / -1; }
.hizli-izgara.iki { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cari-alani .urun-liste { z-index: 40; }
.hizli-urun .dugmeler { margin: 8px 0 0; }
.giris-izgara .sayi { text-align: right; font-variant-numeric: tabular-nums; }
.giris-izgara input[readonly] { background: var(--kart-2); color: var(--yazi-2); }
.birlesik.ek { grid-template-columns: minmax(0, 1fr) auto; }
.birlesik.ek > :last-child { border-radius: 0 7px 7px 0; border-left: 0; }
.birlesik.ek b { display: grid; place-items: center; padding: 0 10px; height: 36px; border: 1px solid var(--cizgi-guclu); background: var(--kart-2); font-size: 12px; color: var(--yazi-2); }
.birlesik.ek #g_birim { width: 72px; }
.giris-alt { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-top: 4px; }
.giris-alt .dugmeler { margin-left: auto; }
.ek-vergi-etiket { margin-top: 4px; font-size: 11px; font-weight: 600; color: var(--uyari); }
.liste-arac { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.liste-arac input[type=search] { width: min(260px, 100%); }
.kalem-listesi td { vertical-align: top; }
.kalem-listesi td:first-child, .kalem-listesi th:first-child { width: 34px; }
.kalem-listesi input[type=checkbox] { height: auto; }
.kalem-listesi tr.duzenleniyor td { background: var(--ana-acik); }
.kalem-listesi .bos-liste { text-align: center; padding: 28px 12px; }
.satir-islemleri { display: inline-flex; gap: 6px; }
.satir-islemleri .ikon-dugme.kenarli { width: 30px; height: 30px; }
.sil-ikon { color: var(--eksi) !important; font-size: 18px; line-height: 1; }
.sil-ikon:hover { background: var(--eksi-acik) !important; }
.dip-ayarlar { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.dip-ayarlar .panel { width: min(100%, 640px); }
.toplam-karti-govde .takip { border-top: 1px dashed var(--cizgi-guclu); margin-top: 8px; padding-top: 10px; font-size: 13px; }
.kur-satir.iki { grid-template-columns: 1fr auto; }
@media (max-width: 1100px) {
  .giris-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .giris-izgara .giris-genis:first-child, .giris-izgara .giris-genis:nth-child(2) { grid-column: 1 / -1; }
}
.toplamlar { margin: 0 0 16px auto; max-width: 340px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 12px 18px; }
.toplamlar div { display: flex; justify-content: space-between; padding: 4px 0; color: var(--yazi-2); }
.toplamlar .tl-karsilik { margin-top: 6px; padding: 8px 10px; border-radius: 8px; background: var(--ana-acik); color: var(--ana); }
.toplamlar .buyuk { font-size: 17px; font-weight: 600; color: var(--yazi); border-top: 1px solid var(--cizgi); margin-top: 6px; padding-top: 10px; }

/* ---------------------------------------------------------------- gösterge */
.gosterge-izgara { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: 16px;
  --dilim-1: var(--seri-1); --dilim-2: var(--seri-2); }
.g-3 { grid-column: span 3; } .g-4 { grid-column: span 4; } .g-5 { grid-column: span 5; } .g-6 { grid-column: span 6; }
.g-7 { grid-column: span 7; } .g-8 { grid-column: span 8; } .g-12 { grid-column: span 12; }
.panel { padding: 0; min-width: 0; }
.panel-baslik { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--cizgi); }
.panel-baslik h2 { margin: 0; display: flex; align-items: center; gap: 9px; color: var(--ana); font-size: 14.5px; }
.panel-baslik h2 svg.ikon { width: 18px; height: 18px; }
.panel-baslik a { font-size: 12.5px; font-weight: 600; }
.panel-govde { padding: 16px 18px; }
.panel-govde table.liste { border: 0 !important; border-radius: 0 !important; }
.karsilama { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }

.nakit {
  position: relative; overflow: hidden; color: #fff; border: 0; padding: 20px 22px;
  background: radial-gradient(120% 140% at 100% 0%, #6d4ce8 0%, transparent 55%),
              radial-gradient(90% 120% at 0% 100%, #0ea5e9 0%, transparent 55%),
              linear-gradient(135deg, #1d4fd8 0%, #2563eb 100%);
  box-shadow: 0 14px 34px -16px rgba(37, 99, 235, .7);
}
.nakit::after {
  content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 0 0 40px rgba(255, 255, 255, .04), 0 0 0 80px rgba(255, 255, 255, .03);
}
.nakit .etiket { display: flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, .85); font-size: 13px; font-weight: 600; }
.nakit .kahraman { font-size: 46px; font-weight: 600; letter-spacing: -.035em; line-height: 1.1; margin: 8px 0 16px; }
.nakit .kahraman small { font-size: 21px; font-weight: 600; opacity: .7; margin-left: 4px; }
.nakit-ayrim { display: flex; gap: 28px; position: relative; z-index: 1; }
.nakit-ayrim div { display: flex; flex-direction: column; gap: 2px; }
.nakit-ayrim span { font-size: 12px; color: rgba(255, 255, 255, .72); }
.nakit-ayrim b { font-size: 15px; font-weight: 600; }
.olcu { display: flex; flex-direction: column; gap: 10px; padding: 18px; }
.olcu-ust { display: flex; align-items: center; justify-content: space-between; }
.olcu .etiket { color: var(--yazi-2); font-size: 13px; font-weight: 600; }
.olcu .deger { font-size: 23px; font-weight: 600; letter-spacing: -.02em; }
.ikon-kutu { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--ana-acik); color: var(--ana); flex: none; }
.ikon-kutu.yesil { background: var(--arti-acik); color: var(--arti); }
.ikon-kutu.kirmizi { background: var(--eksi-acik); color: var(--eksi); }
.ikon-kutu.sari { background: var(--uyari-acik); color: var(--uyari); }
.ay-liste { display: flex; flex-direction: column; }
.ay-liste > div { display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--cizgi); }
.ay-liste > div:first-child { border-top: 0; padding-top: 0; }
.ay-liste span:nth-child(2) { color: var(--yazi-2); font-weight: 600; }
.ay-liste b { font-size: 15.5px; font-weight: 600; }
.hesap-liste { display: flex; flex-direction: column; }
.hesap-satir { display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--cizgi); color: var(--yazi); }
.hesap-satir:first-child { border-top: 0; padding-top: 0; }
.hesap-satir:hover { color: var(--yazi); }
.hesap-satir:hover .hesap-ad { color: var(--ana); }
.hesap-ad { font-weight: 600; }
.hesap-alt { font-size: 12px; color: var(--soluk); }
.pay { display: block; height: 4px; border-radius: 2px; background: var(--kart-2); margin-top: 6px; overflow: hidden; }
.pay i { display: block; height: 100%; border-radius: 2px; background: var(--seri-1); }
.cari-satir { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--cizgi); }
.cari-satir:first-child { border-top: 0; padding-top: 0; }
.cari-satir a { color: var(--yazi); font-weight: 600; }
.cari-satir > :first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cari-satir > :last-child { flex: none; }
.cari-satir a:hover { color: var(--ana); }
.bos { color: var(--soluk); font-size: 13px; padding: 4px 0; }
.alt-baslik { font-size: 13px; font-weight: 600; color: var(--yazi-2); margin: 18px 0 8px; }

/* grafik: son 6 ay sütun grafiği (iki seri, tek eksen) */
.grafik { --yukseklik: 210px; }
.lejant { display: flex; gap: 16px; font-size: 12.5px; color: var(--yazi-2); }
.lejant span { display: inline-flex; align-items: center; gap: 6px; }
.lejant i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.s1 { background: var(--seri-1); }
.s2 { background: var(--seri-2); }
.grafik-govde { position: relative; display: grid; grid-template-columns: 56px 1fr; height: calc(var(--yukseklik) + 28px); }
.eksen { position: relative; height: var(--yukseklik); }
.eksen span { position: absolute; right: 10px; transform: translateY(50%); font-size: 11px; color: var(--soluk); font-variant-numeric: tabular-nums; }
.cizim { position: relative; height: var(--yukseklik); border-bottom: 1px solid var(--cizgi-guclu); }
.izgara { position: absolute; left: 0; right: 0; height: 1px; background: var(--cizgi); }
.sutunlar { position: absolute; inset: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; }
.ay-sutun { position: relative; display: flex; justify-content: center; align-items: flex-end; gap: 2px; height: 100%; cursor: default; }
.ay-sutun:hover { background: linear-gradient(to top, var(--kart-2), transparent); }
.ay-sutun b { width: min(24px, 28%); border-radius: 4px 4px 0 0; transition: filter .15s; }
.ay-sutun:hover b { filter: brightness(1.08); }
.ay-ad { position: absolute; bottom: -24px; left: 0; right: 0; text-align: center; font-size: 11.5px; color: var(--soluk); }
.ipucu {
  position: absolute; bottom: calc(100% - 8px); left: 50%; transform: translate(-50%, 4px); z-index: 5; width: max-content; min-width: 168px; white-space: nowrap;
  padding: 10px 12px; border-radius: 10px; background: var(--kart-ust); border: 1px solid var(--cizgi); box-shadow: var(--golge-3);
  font-size: 12px; color: var(--yazi-2); opacity: 0; pointer-events: none; transition: opacity .12s, transform .12s;
}
.ipucu strong { display: block; color: var(--yazi); margin-bottom: 4px; font-size: 12.5px; }
.ipucu div { display: flex; align-items: center; gap: 16px; justify-content: space-between; }
.ipucu div span { display: inline-flex; align-items: center; gap: 6px; }
.ipucu i { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.ipucu em { font-style: normal; color: var(--yazi); font-weight: 600; font-variant-numeric: tabular-nums; }
.ay-sutun:hover .ipucu, .ay-sutun:focus .ipucu { opacity: 1; transform: translate(-50%, 0); }
/* kenar sütunlarda ipucu grafiğin dışına, dolayısıyla sayfanın dışına taşmaz */
.ay-sutun:nth-child(-n+2) .ipucu { left: 0; transform: translate(0, 4px); }
.ay-sutun:nth-last-child(-n+2) .ipucu { left: auto; right: 0; transform: translate(0, 4px); }
.ay-sutun:nth-child(-n+2):hover .ipucu, .ay-sutun:nth-child(-n+2):focus .ipucu,
.ay-sutun:nth-last-child(-n+2):hover .ipucu, .ay-sutun:nth-last-child(-n+2):focus .ipucu { transform: translate(0, 0); }
@media (max-width: 900px) {  /* dar sütunlarda ipucu daha fazla sütunda sağa hizalanır */
  .ay-sutun:nth-last-child(-n+4) .ipucu { left: auto; right: 0; transform: translate(0, 4px); }
  .ay-sutun:nth-last-child(-n+4):hover .ipucu, .ay-sutun:nth-last-child(-n+4):focus .ipucu { transform: translate(0, 0); }
}
.ay-sutun:focus { outline: none; }
.ay-sutun:focus-visible { box-shadow: var(--halka); border-radius: 6px; }
.tablo-goster summary { cursor: pointer; font-size: 12.5px; color: var(--soluk); margin-top: 12px; }
.tablo-goster table { margin-top: 8px; }

/* ---------------------------------------------------------------- giriş ekranı */
.giris-sayfa { min-height: 100vh; display: grid; grid-template-columns: 1.05fr 1fr; background: var(--kart); }
.giris-tanitim {
  position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 48px 56px; color: #fff;
  background: radial-gradient(80% 60% at 85% 10%, rgba(109, 76, 232, .55) 0%, transparent 60%),
              radial-gradient(70% 60% at 0% 100%, rgba(14, 165, 233, .45) 0%, transparent 60%),
              linear-gradient(160deg, #0b1330 0%, #142774 55%, #1d4fd8 100%);
}
.giris-tanitim::before {
  content: ""; position: absolute; inset: 0; opacity: .5;
  background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 44px 44px; mask-image: radial-gradient(70% 70% at 50% 40%, #000 0%, transparent 75%);
}
.giris-tanitim > * { position: relative; }
.giris-tanitim .marka { padding: 0; height: auto; border: 0; color: #fff; }
.giris-tanitim .marka-ad span { color: rgba(255, 255, 255, .7); }
.giris-tanitim h2 { font-size: 38px; line-height: 1.12; font-weight: 600; letter-spacing: -.035em; margin: 0 0 16px; max-width: 480px; }
.giris-tanitim p { color: rgba(255, 255, 255, .75); font-size: 15px; max-width: 440px; margin: 0; }
.ozellikler { display: flex; flex-direction: column; gap: 12px; margin-top: 32px; }
.ozellikler div { display: flex; align-items: center; gap: 12px; color: rgba(255, 255, 255, .88); font-size: 14px; }
.ozellikler svg.ikon { width: 30px; height: 30px; padding: 7px; border-radius: 9px; background: rgba(255, 255, 255, .1);
                       box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.giris-tanitim .alt-not { font-size: 12px; color: rgba(255, 255, 255, .5); padding: 0; }
.giris-form-alani { display: grid; place-items: center; padding: 40px 24px; background: var(--zemin); }
.giris-kutu { width: 100%; max-width: 380px; }
.giris-kutu h1 { font-size: 26px; margin-bottom: 4px; }
.giris-kutu > p.soluk { margin: 0 0 22px; }
.giris-kutu .form { grid-template-columns: 1fr; padding: 22px; }
.giris-kutu .form input { height: 42px; }
.giris-kutu .form button { width: 100%; height: 42px; font-size: 14px; }
main.yalin { min-height: 100vh; display: grid; place-content: center; }
main.yalin .giris-kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; padding: 28px; }
.dar-icerik { max-width: 460px; }

/* tema düğmesi: açık temada ay, koyu temada güneş */
.tema-dugme svg.ikon + svg.ikon { display: none; }
:root[data-theme="dark"] .tema-dugme svg.ikon:first-child { display: none; }
:root[data-theme="dark"] .tema-dugme svg.ikon + svg.ikon { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .tema-dugme svg.ikon:first-child { display: none; }
  :root:not([data-theme]) .tema-dugme svg.ikon + svg.ikon { display: block; }
}

/* ---------------------------------------------------------------- mobil */
@media (max-width: 1100px) {
  .g-3, .g-4, .g-5, .g-6, .g-7, .g-8 { grid-column: span 12; }
  .duzen-kutu { grid-column: span 12; height: auto; }
  .duzen-modu .kutu-tutamac { display: none; }
}
@media (max-width: 900px) {
  :root, :root[data-menu="dar"] { --menu-genislik: 232px; }
  .yan-menu { transform: translateX(-100%); transition: transform .2s ease; box-shadow: var(--golge-3); }
  :root[data-menu="dar"] .yan-menu nav a span, :root[data-menu="dar"] .marka-ad { display: revert; }
  .menu-ac:checked ~ .yan-menu { transform: none; }
  .menu-ac:checked ~ .menu-perde { display: block; position: fixed; inset: 0; z-index: 25; background: rgba(2, 6, 23, .45); }
  .menu-daralt { display: none; }
  .icerik-alani { margin-left: 0; }
  .mobil-menu { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 9px; border: 1px solid var(--cizgi-guclu); cursor: pointer; flex: none; }
  .ust-cubuk { padding: 0 12px; }
  .firma { flex: 1; }
  .kullanici-ad, .kullanici-menu summary > svg.ikon { display: none; }
  main { padding: 16px 12px 40px; }
  .iki-sutun { grid-template-columns: 1fr; }
  .form .genis { grid-column: auto; }
  .arama input { width: 100%; }
  .arac-sag, .arama { width: 100%; }
  table.liste { display: block; overflow-x: auto; white-space: nowrap; }
  .giris-sayfa { grid-template-columns: 1fr; }
  .giris-tanitim { display: none; }
  .nakit .kahraman { font-size: 36px; }
}

/* ---------------------------------------------------------------- yazdırma */
@media print {
  .yan-menu, .ust-cubuk, .alt-sekmeler, .menu-perde, .dugmeler, .filtre, .arac, .mesaj { display: none !important; }
  .icerik-alani { margin-left: 0; }
  body { background: #fff; color: #000; }
  main { padding: 0; }
  a { color: inherit; }
  .kart, section, .liste-kart, .panel, .sayfa-ust { box-shadow: none; border-color: #ccc; }
}

/* fatura e-postası */
.uyari-kutu { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; padding: 12px 16px; border-radius: 10px;
  border: 1px solid var(--uyari); background: var(--kart); color: var(--yazi-2); font-size: 13px; }
.uyari-kutu svg { flex: none; color: var(--uyari); }
.eposta-oneriler { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: -6px; }
.ek-satir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; border: 1px dashed var(--cizgi-guclu);
  border-radius: 8px; font-size: 13px; color: var(--yazi-2); }
.gonderim { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; border-bottom: 1px solid var(--cizgi); }
.gonderim:last-child { border-bottom: 0; }
.hata-metin { color: var(--eksi); word-break: break-word; }

/* ayarlar · e-posta */
fieldset.mail-yontem { margin: 0; padding: 12px 14px 14px; border: 1px solid var(--cizgi); border-radius: 10px; }
fieldset.mail-yontem legend { padding: 0 6px; font-size: 12.5px; font-weight: 600; color: var(--ana); }
fieldset.mail-yontem p { margin: 0 0 10px; }

/* banka / kasa listesi */
.suzgec-rozetleri { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 12px; }
.suzgec-rozetleri:empty { display: none; }
.suzgec-rozet { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--ana);
  background: var(--ana-acik); color: var(--ana); font-size: 12px; font-weight: 600; text-decoration: none; }
.suzgec-rozet b { font-weight: 600; }
.doviz-harf { font-size: 20px; font-weight: 600; }
th.sirali a { display: inline-flex; align-items: center; gap: 4px; color: inherit; text-decoration: none; white-space: nowrap; }
th.sirali .sirala-ok { color: var(--soluk); font-size: 11px; }
th.sirali.aktif .sirala-ok { color: var(--ana); }
.hesap-listesi td.iban { font-variant-numeric: tabular-nums; font-size: 11.5px; color: var(--yazi-2); white-space: nowrap; }
.sayfalama { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.sayfalama-adet { display: flex; align-items: center; gap: 8px; }
.sayfalama-adet select { height: 32px; }
.sayfa-dugmeleri { display: flex; align-items: center; gap: 4px; }
.sayfa-dugmeleri a { display: grid; place-items: center; min-width: 32px; height: 32px; border: 1px solid var(--cizgi-guclu); border-radius: 7px;
  color: var(--yazi-2); text-decoration: none; }
.sayfa-dugmeleri a.kapali { opacity: .4; pointer-events: none; }
.sayfa-dugmeleri span { padding: 0 8px; font-size: 12.5px; color: var(--yazi-2); }
.tl-karsilik { display: flex; align-items: center; padding: 0 4px; color: var(--yazi-2); font-size: 13px; white-space: nowrap; }
.tl-karsilik b { margin-left: 6px; color: var(--ana); }

/* banka / kasa formu */
.iki-esit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; margin-bottom: 16px; }
.hesap-genel .ad-alani { grid-column: span 2; }
.secenekler { display: flex; gap: 22px; }
.etiket-onerileri { display: flex; flex-wrap: wrap; gap: 4px; }
.etiket-onerileri .etiket-rozet { height: auto; cursor: pointer; box-shadow: none; }
@media (max-width: 1000px) {
  .iki-esit { grid-template-columns: 1fr; }
  .hesap-genel .ad-alani { grid-column: auto; }
}
.hesap-notu { margin: -6px 0 14px; color: var(--yazi-2); font-size: 13px; } .hesap-notu p { margin: 4px 0 0; white-space: pre-line; }

/* genel gider: belge kalemleri */
.gider-izgara { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: end; }
.gider-izgara label { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--ana); min-width: 0; }
.gider-izgara label.onay-satir { grid-column: 1 / -1; flex-direction: row; align-items: center; }
.gider-izgara input, .gider-izgara select { width: 100%; min-width: 0; }
.gider-izgara .sayi { text-align: right; font-variant-numeric: tabular-nums; }
.gider-izgara input[readonly] { background: var(--kart-2); color: var(--yazi-2); }
.toplam-karti-govde .odenecek { border-top: 1px dashed var(--cizgi-guclu); margin-top: 6px; padding-top: 10px; font-size: 15px; font-weight: 600; color: var(--yazi); }
.toplam-karti-govde .odenecek b { font-weight: 600; }
label.cari-takibi span { color: var(--yazi-2); font-weight: 600; }
@media (max-width: 1100px) { .gider-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* genel gider tipleri: grup kartları */
.gider-tipi-ust { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.gider-tipi-ust input[type=search] { width: min(280px, 100%); }
.gider-tipi-kartlari { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.gider-tipi-karti .panel-govde { display: flex; flex-direction: column; gap: 2px; max-height: 360px; overflow-y: auto; }
.tip-satir { border-bottom: 1px solid var(--cizgi); }
.tip-satir summary { display: flex; justify-content: space-between; align-items: center; padding: 9px 4px; cursor: pointer; list-style: none; }
.tip-satir summary::-webkit-details-marker { display: none; }
.tip-satir[open] { padding-bottom: 10px; }
.tip-duzenle { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; margin: 2px 0 6px; }
.tip-genel-gider { grid-column: 1 / -1; }
.tip-ekle { margin: 10px 0 0; }
@media (max-width: 1100px) { .gider-tipi-kartlari { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .gider-tipi-kartlari { grid-template-columns: 1fr; } .tip-duzenle { grid-template-columns: 1fr; } }

/* KolayBi aktarımı */
.kb-turler { display: flex; flex-wrap: wrap; gap: 8px; }
.kb-onizleme { margin-top: 14px; border-top: 1px solid var(--cizgi); padding-top: 14px; }
.kb-ozet { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.kb-turler form { display: flex; flex-direction: column; gap: 4px; }
.kb-adimlar { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.kb-adim { border: 1px solid var(--cizgi); border-radius: 10px; padding: 14px 16px; }
.kb-adim[data-durum="tamam"], .kb-adim[data-durum="atlandi"] { border-color: var(--arti, var(--cizgi)); }
.kb-adim.pasif { opacity: .62; }
.kb-adim-baslik { display: flex; align-items: flex-start; gap: 12px; }
.kb-adim-ad { flex: 1; min-width: 0; }
.kb-no { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-weight: 600;
  font-size: 13px; background: var(--baslik-zemin, #eef1f4); color: var(--ana); }
.kb-adim-govde { margin: 10px 0 0 38px; display: grid; gap: 8px; }
.kb-adim-govde:empty { display: none; }
.kb-dugmeler { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.kb-ilerleme { height: 8px; border-radius: 4px; background: var(--cizgi); overflow: hidden; }
.kb-ilerleme i { display: block; height: 100%; background: var(--seri-1); transition: width .4s; }
.kb-uyarilar ul { margin: 6px 0 0; padding-left: 18px; max-height: 220px; overflow: auto; }
.hata-metni { color: var(--eksi); }
@media (max-width: 640px) { .kb-adim-govde { margin-left: 0; } }

/* Yedekleme */
fieldset.yedek-gunler, fieldset.geri-kaynak { margin: 0; padding: 10px 14px; border: 1px solid var(--cizgi); border-radius: 10px; display: flex; flex-wrap: wrap; gap: 6px 16px; }
fieldset.yedek-gunler legend, fieldset.geri-kaynak legend { padding: 0 6px; font-weight: 600; color: var(--ana); }
.kaynak-alani[hidden] { display: none; }
/* tablo satırındaki işlem düğmeleri: aynı yükseklik, ortada hizalı, sağa yaslı (dar ekranda alta kayar) */
.toplu-cari { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 16px; margin: 0 0 10px;
  border: 1px solid var(--cizgi); border-radius: 10px; background: var(--ana-acik); }
.toplu-cari select { width: auto; min-width: 240px; max-width: 100%; height: 30px; padding: 0 8px; font-size: 12.5px; }
.toplu-cari .kucuk-dugme { height: 30px; padding: 0 12px; font-size: 12px; }
th.sec-kolon, td.sec-kolon { width: 34px; padding-right: 0; }
.satir-dugmeleri { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.satir-dugmeleri .satir-ici { display: contents; }
.satir-dugmeleri .kucuk-dugme { height: 30px; padding: 0 12px; font-size: 12px; margin: 0; }
.kucuk-dugme { padding: 5px 10px; font-size: 12.5px; }

/* Cari kartı */
.doviz-sekmeleri { display: flex; gap: 4px; margin: 0 0 12px; border-bottom: 1px solid var(--cizgi); }
.doviz-sekmeleri a { padding: 8px 14px; color: var(--yazi-2); font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.doviz-sekmeleri a.aktif { color: var(--ana); border-bottom-color: var(--ana); }
.kart-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.mini-kart { border: 1px solid var(--cizgi); border-radius: 10px; padding: 12px 14px; background: var(--kart-2); display: grid; gap: 4px; align-content: start; }
.not-kart textarea { width: 100%; resize: vertical; }
.not-kart form, .not-kart button { justify-self: start; }
.cari-ekstre td { vertical-align: top; }
.cari-ekstre .odeme-rozet { margin-top: 4px; }
button.baglanti { background: none; border: 0; padding: 0; height: auto; color: var(--ana); font: inherit; cursor: pointer; }
button.baglanti:hover { text-decoration: underline; }
a.ozet { color: inherit; text-decoration: none; }

/* Kolon filtresi */
.kolon-filtresi summary { list-style: none; cursor: pointer; }
.kolon-filtresi summary::-webkit-details-marker { display: none; }
.kolon-filtresi .acilir { min-width: 250px; right: 0; left: auto; }
.kolon-secenekleri { display: grid; gap: 2px; border-top: 1px solid var(--cizgi); margin-top: 4px; padding-top: 4px; }
.kolon-secenekleri label { padding: 6px 10px; border-radius: 6px; }
.kolon-secenekleri label:hover { background: var(--kart-2); }
.kolon-filtresi .acilir button.kolon-varsayilan { color: var(--yazi); }

/* Banka dökümü önizleme */
.banka-onizleme td { vertical-align: top; }
.banka-onizleme select, .banka-onizleme input:not([type=checkbox]) { min-width: 180px; height: 34px; }
.banka-onizleme .kur-kutusu { min-width: 110px; width: 110px; }
.banka-onizleme tr.eslesmedi td:first-child { box-shadow: inset 3px 0 0 var(--uyari, #e0a000); }
.dokum-hesaplari { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 6px 16px; margin-bottom: 12px; }

/* ---------------------------------------------------------------- gösterge: canlı ögeler */
.canli { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--arti); background: var(--arti-acik); }
.canli i { position: relative; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.canli i::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: currentColor; animation: nabiz 2s ease-out infinite; }
.canli.yukleniyor i::after { animation-duration: .7s; }
.canli.hata { color: var(--uyari); background: var(--uyari-acik); }
.canli.hata i::after { animation: none; }
@keyframes nabiz { from { transform: scale(1); opacity: .7; } to { transform: scale(3); opacity: 0; } }

/* kartlar sırayla belirir, grafik çubukları alttan büyür, nakit çizgisi çizilir */
.belir { animation: belir .5s cubic-bezier(.2, .7, .2, 1) both; }
.gosterge-izgara > .belir:nth-child(2) { animation-delay: .05s; } .gosterge-izgara > .belir:nth-child(3) { animation-delay: .1s; }
.gosterge-izgara > .belir:nth-child(4) { animation-delay: .15s; } .gosterge-izgara > .belir:nth-child(5) { animation-delay: .2s; }
.gosterge-izgara > .belir:nth-child(6) { animation-delay: .25s; } .gosterge-izgara > .belir:nth-child(n+7) { animation-delay: .3s; }
@keyframes belir { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.ay-sutun b { transform-origin: bottom; animation: buyu .7s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(.25s + var(--sira, 0) * 45ms); }
@keyframes buyu { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.olcu { transition: box-shadow .2s, transform .2s; }
.olcu:hover { transform: translateY(-2px); box-shadow: var(--golge-3); }
.degisti { animation: parla 1.2s ease-out; border-radius: 6px; }
@keyframes parla { from { background: var(--ana-acik); } to { background: transparent; } }

/* nakit kartı: son 30 gün çizgisi ve döviz satırları */
.nakit-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; position: relative; z-index: 1; }
.nakit-grafikler { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex: 0 1 62%; min-width: 0; }
.nakit-grafik-sira { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); column-gap: 24px; width: 100%; }
/* beş satır (başlık, kaynak, çizim, eksen, alt) iki grafikte ortak: uzayan yazı hizayı bozmaz */
.nakit-cizgi { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; min-width: 0; margin-top: 4px; padding-bottom: 12px; }
.seri-banka { --seri: var(--ana); }
.seri-kasa { --seri: var(--uyari); }
.nakit-cizgi .cizgi-ust { margin-bottom: 2px; font-size: 12.5px; font-weight: 400; }
.cizgi-baslik { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--yazi); font-size: 15px; font-weight: 600; }
.cizgi-baslik i { width: 14px; height: 4px; border-radius: 2px; background: var(--seri); }
.cizgi-kaynak { margin: 0 0 8px; color: var(--yazi-2); font-size: 12.5px; line-height: 1.4; }
.cizgi-kaynak b { color: var(--yazi); font-weight: 600; }
.nakit-cizgi svg { display: block; width: 100%; height: 72px; overflow: visible; }
.cizgi-yol { fill: none; stroke: #fff; stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke;
  animation: belir .6s .2s both; }
.nakit-cizgi circle { fill: #fff; stroke: rgba(255, 255, 255, .35); stroke-width: 6; animation: belir .4s 1.5s both; }
.cizgi-alan { animation: belir 1s .8s both; }
.cizgi-alt { display: flex; align-items: center; gap: 8px; justify-content: flex-end; margin-top: 6px; font-size: 12px; color: rgba(255, 255, 255, .8); }
.cizgi-alt > span:last-child { font-weight: 600; color: #fff; }
.nakit .degisim { background: rgba(255, 255, 255, .16); color: #fff; }
.nakit-ayrim { flex-wrap: wrap; row-gap: 12px; }
.nakit-ayrim em { font-style: normal; font-size: 11.5px; color: rgba(255, 255, 255, .72); }

.degisim { display: inline-flex; align-items: center; gap: 2px; padding: 1px 7px; border-radius: 999px; font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.degisim.iyi { color: var(--arti); background: var(--arti-acik); }
.degisim.kotu { color: var(--eksi); background: var(--eksi-acik); }
.degisim.notr { color: var(--soluk); background: var(--kart-2); }

/* alacak / borç kartlarında açık faturaların vade dağılımı */
.vade-cubuk { display: flex; height: 8px; border-radius: 4px; overflow: hidden; background: var(--kart-2); gap: 2px; margin-top: 2px; }
.vade-cubuk i { width: var(--pay); transform-origin: left; animation: yayil .8s .35s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes yayil { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* bu ay: geçen ay kıyası */
.ay-liste .sag { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.ay-liste span small { display: block; font-size: 11.5px; font-weight: 600; color: var(--soluk); }
.ay-liste .ay-net { border-top: 1px dashed var(--cizgi-guclu); }
.ay-liste b.arti { color: var(--arti); } .ay-liste b.eksi { color: var(--eksi); }

/* grafik dönemi */
.grafik-sag { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
.donem-sec { display: inline-flex; padding: 3px; gap: 2px; border-radius: 9px; background: var(--kart-2); }
.donem-sec a { padding: 4px 10px; border-radius: 7px; font-size: 12px; font-weight: 600; color: var(--yazi-2); }
.donem-sec a:hover { color: var(--yazi); }
.donem-sec a.aktif { background: var(--kart); color: var(--ana); box-shadow: var(--golge-2); }

/* günü gelen işlemler */
.sayi-rozet { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-grid; place-items: center; font-size: 11px; background: var(--kart-2); color: var(--yazi-2); }
.tl-alt { display: block; font-size: 11.5px; color: var(--soluk); text-align: right; }

@media (max-width: 900px) {
  .nakit-ust { flex-direction: column; }
  .nakit-grafikler { width: 100%; flex-basis: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .halka-dilim { transition: none; }
  .belir, .ay-sutun b, .cizgi-yol, .cizgi-alan, .nakit-cizgi circle, .vade-cubuk i, .degisti, .canli i::after { animation: none !important; }
  .olcu:hover { transform: none; }
}

/* ---------------------------------------------------------------- rapor merkezi */
.rapor-arac { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.rapor-ara { display: flex; align-items: center; gap: 8px; max-width: 420px; height: 40px; padding: 0 12px; border: 1px solid var(--cizgi-guclu); border-radius: 10px; background: var(--kart); color: var(--soluk); }
.rapor-ara:focus-within { box-shadow: var(--halka); border-color: var(--ana); }
.rapor-ara input { flex: 1; border: 0; outline: 0; background: transparent; height: 100%; padding: 0; box-shadow: none; }
.rapor-gruplar { display: flex; gap: 8px; flex-wrap: wrap; }
.rapor-gruplar button { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--cizgi); background: var(--kart); color: var(--yazi-2); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.rapor-gruplar button svg.ikon { width: 15px; height: 15px; }
.rapor-gruplar button:hover { color: var(--yazi); border-color: var(--cizgi-guclu); }
.rapor-gruplar button.aktif { background: var(--dolgu); border-color: var(--dolgu); color: var(--dolgu-yazi); }
.rapor-bolum { margin-bottom: 22px; animation: belir .35s both; }
.rapor-bolum-baslik { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.rapor-bolum-baslik h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; color: var(--yazi); }
.rapor-bolum-baslik h2 svg.ikon { width: 18px; height: 18px; color: var(--ana); }
.kucuk-dugme { height: 30px; padding: 0 12px; font-size: 12px; }
.rapor-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.rapor-kart { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; min-height: 104px; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); color: var(--yazi); box-shadow: var(--golge-2); transition: transform .18s, box-shadow .18s, border-color .18s; }
.rapor-kart:hover { color: var(--yazi); transform: translateY(-2px); box-shadow: var(--golge-3); border-color: var(--ana); }
.rapor-kart[hidden] { display: none; }
.rapor-ikon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; margin-bottom: 8px; background: var(--ana-acik); color: var(--ana); }
.rapor-ikon.r-yesil { background: var(--arti-acik); color: var(--arti); }
.rapor-ikon.r-turuncu { background: var(--uyari-acik); color: var(--uyari); }
.rapor-ikon.r-kirmizi { background: var(--eksi-acik); color: var(--eksi); }
.rapor-ikon.r-mor { background: rgba(122, 108, 196, .14); color: #6a5cb0; }
.rapor-ad { font-weight: 600; font-size: 14px; }
.rapor-aciklama { font-size: 12.5px; color: var(--soluk); }
.rapor-ok { position: absolute; top: 14px; right: 16px; color: var(--soluk); transition: transform .18s, color .18s; }
.rapor-kart:hover .rapor-ok { transform: translateX(3px); color: var(--ana); }

/* ---------------------------------------------------------------- tek rapor */
.rapor-suzgec { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; padding: 14px 18px; margin-bottom: 16px; }
.rapor-suzgec label { display: flex; flex-direction: column; gap: 4px; }
.suzgec-etiket { font-size: 11.5px; font-weight: 600; color: var(--soluk); text-transform: uppercase; letter-spacing: .03em; }
.suzgec-donem { display: flex; flex-direction: column; gap: 4px; }
.suzgec-donem .donem-sec button { padding: 5px 11px; border: 0; border-radius: 7px; background: transparent; font: inherit; font-size: 12px; font-weight: 600; color: var(--yazi-2); cursor: pointer; }
.suzgec-donem .donem-sec button.aktif { background: var(--kart); color: var(--ana); box-shadow: var(--golge-2); }
.suzgec-donem { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
.suzgec-donem .suzgec-etiket { width: 100%; }
.tarih-aralik { flex-direction: row !important; align-items: center; gap: 6px !important; color: var(--soluk); }
.suzgec-metin input { min-width: 240px; }
.suzgec-dugmeler { display: flex; gap: 8px; margin-left: auto; }
.rapor-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 16px; }
.rapor-ozet .deger { font-size: 21px; }
.uyari-yazi { color: var(--uyari); }
.tablo-baslik { margin: 0; font-size: 14.5px; color: var(--ana); }
.rapor-tablo tfoot td { font-weight: 600; border-top: 2px solid var(--cizgi-guclu); background: var(--kart-2); }
.oran-cubuk { display: inline-block; width: 70px; height: 6px; border-radius: 3px; background: var(--kart-2); overflow: hidden; vertical-align: middle; margin-right: 6px; }
.oran-cubuk i { display: block; height: 100%; background: var(--seri-1); border-radius: 3px; }
.s-giris { background: var(--arti); } .s-cikis { background: var(--eksi); }
.vade-cubuk.buyuk { height: 14px; border-radius: 7px; }
.y-gelmemis { background: var(--arti); } .y-g1 { background: #f5dc9c; } .y-g31 { background: var(--turuncu); }
.y-g61 { background: #f0b48e; } .y-g90 { background: var(--eksi); } .y-belirsiz { background: var(--soluk); }
.yas-lejant { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 14px; }
.yas-lejant div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 10px; }
.yas-lejant span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--yazi-2); }
.yas-lejant i { width: 9px; height: 9px; border-radius: 2px; }
.yas-lejant b { font-size: 15px; font-variant-numeric: tabular-nums; }
.yas-lejant small { font-size: 11.5px; color: var(--soluk); }
@media (max-width: 900px) {
  .suzgec-dugmeler { margin-left: 0; }
  .suzgec-metin input { min-width: 0; }
}
@media print {
  .rapor-suzgec, .kolon-filtresi { display: none !important; }
}

/* ---------------------------------------------------------------- banka dökümü: satırdan kural öğretme */
.panel-tr > td { background: var(--kart-2); padding: 0 !important; }
.satir-paneli { margin: 10px 12px 14px; padding: 14px 16px; border: 1px solid var(--ana); border-radius: 10px; background: var(--kart); box-shadow: var(--golge-3); white-space: normal; }
.satir-paneli .panel-ust { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-bottom: 10px; }
.satir-paneli .panel-ust b { display: inline-flex; align-items: center; gap: 6px; color: var(--ana); }
.ogret-kosullar { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px 16px; margin-bottom: 10px; }
.satir-paneli .kosul { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--yazi-2); }
.satir-paneli .kosul > span { min-width: 104px; font-weight: 600; }
.satir-paneli .kosul input:not([type=checkbox]), .satir-paneli .kosul select { flex: 1; min-width: 0; height: 32px; }
.satir-paneli .kosul em { font-style: normal; color: var(--soluk); }
.satir-paneli .genis { grid-column: 1 / -1; }
.ogret-sonuc { margin: 4px 0 10px; font-size: 13px; }
.ogret-sonuc b { color: var(--arti); }
.satir-paneli .dugmeler { margin-top: 10px; }
.banka-onizleme tr.vurgu > td { animation: parla 2s ease-out; }
.yeni-cari-ac { display: block; margin-top: 4px; font-size: 12px; }
.kural-ornek { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.onay-baslik { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; white-space: nowrap; }
/* ana sayfa: banka / kasa kutuları */
.hesap-kutusu .panel-baslik h2 .soluk { font-weight: 600; margin-left: 6px; }
.kutu-sag { display: flex; align-items: center; gap: 12px; }
.sirala-sec { display: inline-flex; padding: 2px; gap: 2px; border-radius: 8px; background: var(--kart-2); }
.sirala-sec button { display: inline-flex; gap: 4px; padding: 3px 9px; border: 0; border-radius: 6px; background: transparent; font: inherit; font-size: 11.5px; font-weight: 600; color: var(--yazi-2); cursor: pointer; }
.sirala-sec button.aktif { background: var(--kart); color: var(--ana); box-shadow: var(--golge-2); }
.sirala-sec button i { font-style: normal; }
.cari-iki-sutun { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
@media (max-width: 900px) { .cari-iki-sutun { grid-template-columns: minmax(0, 1fr); } }
/* eski cari bakiyelerini kapatma */
.kapatma-suzgec, .kapatma-alt .arac-sol { flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.kapatma-suzgec label, .kapatma-alt label { display: inline-flex; flex-direction: column; gap: 3px; font-size: 12px; color: var(--yazi-2); }
.kapatma-suzgec label.secim { flex-direction: row; align-items: center; }
.kapatma-alt { border-top: 1px solid var(--cizgi); }
.kapatma-alt .arac-sag { display: flex; align-items: center; gap: 12px; }
.nakit-ayrim .kasa-ayri { opacity: .75; }
/* sözleşme listesi: notlar (uzunsa 3 satır, tamamı üzerine gelince) */
.sozlesme-not { max-width: 300px; font-size: 12.5px; color: var(--yazi-2); white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* e-Fatura (UBL) önizlemesi: fatura detayı */
.ubl-detay > td { background: var(--kart-2); padding: 12px 16px 16px; }
.ubl-detay-ust { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-bottom: 10px; color: var(--yazi-2); }
.ubl-detay-ust b { color: var(--yazi); font-weight: 600; margin-right: 4px; }
.ubl-kalemler { background: var(--kart); border-radius: 8px; }
.ubl-kalemler tfoot td { border-top: 0; padding-top: 4px; padding-bottom: 4px; }
.ubl-notlar { margin-top: 10px; color: var(--yazi-2); white-space: pre-line; }
.ubl-urun-kart { margin-left: 6px; padding: 2px 6px; font-size: 12px; }
.tur-degistir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 16px; padding: 10px 16px;
  border: 1px solid var(--cizgi); border-radius: 10px; background: var(--kart); }
.tur-degistir > svg { color: var(--soluk); flex: none; }
.tur-degistir select { width: auto; min-width: 220px; }
.ubl-urun-sec { display: flex; flex-direction: column; gap: 2px; margin: 4px 0 2px; max-width: 420px; }
.ubl-urun-sec input { padding: 4px 8px; font-size: 12.5px; }
.ubl-urun-sec input:invalid { border-color: var(--eksi); }
.esleme-genel { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; }
.esleme-genel label { display: inline-flex; gap: 8px; align-items: center; }
/* bilanço / gelir tablosu */
.finans-suzgec label { display: inline-flex; gap: 6px; align-items: center; margin-right: 12px; }
.finans-tablo td { padding-top: 6px; padding-bottom: 6px; }
.finans-tablo .ft-taraf td { font-weight: 600; font-size: 15px; background: var(--kart-2); }
.finans-tablo .ft-bolum td { font-weight: 600; }
.finans-tablo .ft-grup td:nth-child(2) { padding-left: 18px; font-weight: 600; }
.finans-tablo .ft-hesap td:nth-child(2) { padding-left: 36px; color: var(--yazi-2); }
.finans-tablo .ft-ara td, .finans-tablo .ft-toplam td { font-weight: 600; border-top: 2px solid var(--cizgi-guclu); }
.finans-tablo td.ufrs-duzeltme { color: var(--ana); }
.finans-suzgec label.secim { margin-left: 8px; }

/* ---------------------------------------------------------------- ana sayfa: düzenlenebilir kutular */
.duzen-kutu { position: relative; display: flex; flex-direction: column; grid-column: span var(--g, 12); height: var(--h, auto); }
.duzen-kutu > .panel-govde { flex: 1; min-height: 0; }
.duzen-kutu[style*="--h"] > .panel-govde { overflow: auto; }
.duzen-kutu .panel-baslik { justify-content: flex-start; flex-wrap: wrap; }
.duzen-kutu .panel-baslik > h2 { margin-right: auto; }
.gizli-kutu { display: none; }
.kapali-kutu { height: auto; }
.kapali-kutu > :not(.panel-baslik):not(.kutu-tutamac) { display: none; }
.kapali-kutu .panel-baslik { border-bottom: 0; }
.kutu-arac { display: inline-flex; gap: 2px; }
.kutu-arac button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--soluk); font-size: 16px; line-height: 1; cursor: pointer; }
.kutu-arac button:hover { background: var(--kart-2); color: var(--yazi); }
.kutu-arac button:focus-visible, .kutu-tutamac:focus-visible { outline: none; box-shadow: var(--halka); }
.kutu-arac i { font-style: normal; transition: transform .15s; }
.kapali-kutu [data-islem="kapat"] i { transform: rotate(180deg); }
[data-islem="gizle"], .kutu-tutamac { display: none; }
.duzen-modu [data-islem="gizle"] { display: grid; }
.duzen-modu .duzen-kutu { outline: 1px dashed var(--cizgi-guclu); outline-offset: 2px; }
.duzen-modu .kutu-tutamac { display: block; position: absolute; right: 2px; bottom: 2px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 6px; cursor: nwse-resize; touch-action: none;
  background: linear-gradient(135deg, transparent 50%, var(--ana) 50%); }
.duzen-cubuk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px; padding: 10px 14px; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--ana-acik); color: var(--yazi-2); font-size: 13px; }
.duzen-cubuk[hidden] { display: none; }
.gizli-liste { display: flex; flex-wrap: wrap; gap: 6px; }
.duzen-sag { display: flex; gap: 6px; margin-left: auto; }

/* toplam nakit: ince, büyük rakam ve taralı çizgi */
.nakit-ince { color: var(--yazi); background: radial-gradient(70% 130% at 90% 0%, color-mix(in srgb, #29abe2 16%, var(--kart)) 0%, transparent 70%), var(--kart); }
.nakit-ince .panel-baslik { border-bottom: 0; padding-bottom: 0; }
.nakit-ince .panel-baslik h2 { color: var(--yazi-2); font-weight: 600; }
.nakit-ince .panel-govde { padding-top: 6px; }
.nakit-ince .kahraman { font-size: clamp(40px, 6vw, 84px); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; font-variant-numeric: tabular-nums; margin-bottom: 14px; }
.nakit-ince .kahraman small { font-size: .42em; font-weight: 400; margin-left: 2px; }
.nakit-ince .kahraman { color: var(--ana); }  /* renkler grafiklerle eşleşir: toplam nakit mavi, kasa nakdi kehribar */
.nakit-kasa { display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; }
.nakit-kasa span { display: inline-flex; align-items: center; gap: 8px; color: var(--yazi-2); font-size: 13px; font-weight: 600; }
.nakit-kasa i { width: 14px; height: 4px; border-radius: 2px; background: var(--uyari); }
.nakit-kasa b { color: var(--uyari); font-size: clamp(26px, 3vw, 40px); font-weight: 400; letter-spacing: -.02em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.nakit-kasa b small { font-size: .55em; font-weight: 400; margin-left: 2px; }
.nakit-kasa em { color: var(--yazi-2); font-size: 12.5px; font-style: normal; }
.nakit-ince .nakit-cizgi { color: var(--yazi-2); }
.nakit-ince .nakit-cizgi svg { height: 100px; color: var(--seri); }
.nakit-ince .cizgi-yol { stroke: var(--seri); }
.nakit-ince .nakit-cizgi circle { fill: var(--seri); stroke: transparent; }
.nakit-ince .cizgi-alt { color: var(--yazi-2); }
.nakit-ince .cizgi-alt > span:last-child { color: var(--yazi); }
.nakit-ince .degisim { background: var(--arti-acik); color: var(--arti); }
.nakit-ince .degisim.kotu { background: var(--eksi-acik); color: var(--eksi); }
.nakit-ince .nakit-ayrim { border-top: 1px solid var(--cizgi); padding-top: 12px; }
.nakit-ince .nakit-ayrim span { color: var(--yazi-2); }
.nakit-ince .nakit-ayrim b { font-weight: 400; font-size: 16px; font-variant-numeric: tabular-nums; }
.nakit-ince .nakit-ayrim em { color: var(--soluk); }

/* bu ay: dört ince rakam */
.ince-dortlu { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px 24px; }
.ince-dortlu > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ince-dortlu b { font-size: 32px; font-weight: 400; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ince-dortlu b.arti { color: var(--arti); } .ince-dortlu b.eksi { color: var(--eksi); }

/* fatura akışı: alış + gider taralı; kutu büyüdükçe grafik de büyür */
.grafik.duzen-kutu { --yukseklik: max(140px, calc(var(--h, 330px) - 120px)); }
.grafik .s2 { background: repeating-linear-gradient(135deg, var(--seri-2) 0 2px, transparent 2px 6px); box-shadow: inset 0 2px 0 var(--seri-2); }

/* nakit dağılımı halkası */
.halka { position: relative; width: min(190px, 100%); margin: 0 auto 12px; }
.halka svg { display: block; width: 100%; transform: rotate(-90deg); }
.halka circle { fill: none; stroke-width: 13; }
.halka-zemin { stroke: var(--kart-2); }
.halka > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; pointer-events: none; }
.halka-dilim { cursor: pointer; transition: transform .18s ease-out, stroke-width .18s ease-out, opacity .18s ease-out; }
.halka-dilim.secili { transform: translate(var(--dx), var(--dy)); stroke-width: 15; }
.dilim-acik .halka-dilim:not(.secili) { opacity: .45; }
.halka-orta span[hidden] { display: none; }
.halka-orta em { color: var(--yazi-2); font-size: 12.5px; font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; }
.halka b { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.halka-satir { display: grid; grid-template-columns: minmax(0, 1fr) auto 38px; align-items: center; gap: 12px; padding: 5px 6px; border-radius: 7px; font-size: 13px; }
.halka-satir[data-dilim] { cursor: pointer; transition: background .15s; }
.halka-satir.secili { background: var(--ana-acik); color: var(--ana-yazi); font-weight: 600; }
.halka-satir span { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
.halka-satir u { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
.halka-satir .halka-bakiye { justify-content: flex-end; color: var(--yazi-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.halka-satir > b { text-align: right; }
.halka-baslik { padding-top: 0; padding-bottom: 3px; color: var(--yazi-2); font-size: 12px; font-weight: 600; }
.halka-baslik span:nth-child(2) { justify-content: flex-end; }
.halka-baslik span:nth-child(3) { justify-content: flex-end; }
.halka-satir i { flex: none; width: 10px; height: 10px; border-radius: 3px; }
.halka-satir b { font-weight: 600; font-variant-numeric: tabular-nums; }

/* banka / kasa kutuları varsayılan olarak sınırlı yükseklikte, uzun liste kutu içinde kayar */
@media (min-width: 1101px) {
  .hesap-kutusu.duzen-kutu:not(.kapali-kutu) { height: var(--h, 480px); }
  .hesap-kutusu.duzen-kutu > .panel-govde { overflow: auto; }
}

/* nakit grafiği: dönem, tarih ekseni ve gün ipucu */
.cizgi-ust { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 8px; color: var(--yazi-2); font-size: 13px; font-weight: 600; }
.nakit-cizim { position: relative; touch-action: pan-y; }
.cizgi-eksen { display: flex; justify-content: space-between; margin-top: 4px; color: var(--yazi-2); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.nakit-ince .cizgi-alt { flex-wrap: wrap; font-size: 13px; font-variant-numeric: tabular-nums; }
.cizgi-sinir { margin-right: auto; }
.cizgi-isaret { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--cizgi-guclu); opacity: 0; pointer-events: none; }
.cizgi-ipucu { position: absolute; top: -6px; padding: 4px 9px; border: 1px solid var(--cizgi); border-radius: 8px; background: var(--kart-ust); box-shadow: var(--golge-2);
  color: var(--yazi); font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; opacity: 0; pointer-events: none; }
.nakit-cizim.izleniyor .cizgi-ipucu, .nakit-cizim.izleniyor .cizgi-isaret { opacity: 1; }

/* aylık özet: ay ve kıyas dönemi seçimi */
.ay-sec { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 0; }
.ay-sec select { height: 30px; padding: 0 8px; font-size: 12.5px; }
.panel-baslik .ay-ok { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--cizgi-guclu); border-radius: 7px;
  background: var(--kart); color: var(--yazi-2); font-size: 16px; font-weight: 400; line-height: 1; }
.panel-baslik a.ay-ok:hover { background: var(--kart-2); color: var(--yazi); }
.panel-baslik .ay-ok.pasif { opacity: .4; }
.ay-kiyas { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; color: var(--yazi-2); font-size: 14px; font-variant-numeric: tabular-nums; }
.ay-kiyas .degisim { padding: 2px 9px; font-size: 14px; }
.ay-bos { margin: 0; padding: 0 18px 14px; color: var(--soluk); font-size: 13px; }

/* dar ekranda kutular kullanıcının genişlik ve yükseklik ayarından bağımsız tek sütun dizilir */
@media (max-width: 900px) {
  .gosterge-izgara > .duzen-kutu { grid-column: 1 / -1; height: auto; }
}

/* tek yazı tipi: form öğeleri tarayıcı varsayılanını değil sayfanın yazı tipini kullanır; iki kalınlık (400 / 600) */
button, input, select, textarea, optgroup, code, pre, kbd, samp { font-family: var(--yazi-tipi); }
b, strong, th, h1, h2, h3, h4, h5, h6, legend { font-weight: 600; }

/* giriş ekranı: logo renklerinin pastel tonları */
.giris-tanitim { color: #234273; background: radial-gradient(80% 60% at 85% 10%, #d7eefa 0%, transparent 60%), linear-gradient(160deg, #eef7fc 0%, #d6ebf7 55%, #bcdcf0 100%); }
.giris-tanitim::before { display: none; }
.giris-tanitim .marka, .giris-tanitim h1, .giris-tanitim h2 { color: #234273; }
.giris-tanitim .marka-ad span, .giris-tanitim p, .giris-tanitim .alt-not { color: #3c5475; }
.giris-tanitim .ozellikler div { color: #234273; }
.ozellikler svg.ikon { background: rgba(255, 255, 255, .6); box-shadow: inset 0 0 0 1px rgba(35, 66, 115, .12); }

/* ---------------------------------------------------------------- cari hesap ekstresi */
.ekstre-duzen { display: grid; grid-template-columns: minmax(300px, 420px) minmax(0, 1fr); gap: 16px; align-items: start; }
.ekstre-sol { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ekstre-gorunum { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; border: 0; }
.ekstre-gorunum legend { padding: 0; }
.ekstre-onizleme iframe { display: block; width: 100%; height: 78vh; border: 0; border-top: 1px solid var(--cizgi); background: #eef0f3; }
@media (max-width: 900px) { .ekstre-duzen { grid-template-columns: 1fr; } .ekstre-onizleme iframe { height: 60vh; } }
