:root {
  --zemin: #f4f6f9; --kart: #fff; --yazi: #1d2330; --soluk: #6b7385; --cizgi: #e2e6ee;
  --ana: #1f4e79; --ana-acik: #e8f0f8; --gelir: #17803d; --gider: #c0392b; --uyari: #b7791f;
  --hukuk: #1f4e79; --insaat: #c46a12; --aile: #7b3fa0;
  --golge: 0 1px 3px rgba(20, 30, 50, .08);
}
@media (prefers-color-scheme: dark) {
  :root {
    --zemin: #12151b; --kart: #1b2029; --yazi: #e4e7ee; --soluk: #9098aa; --cizgi: #2c3340;
    --ana: #5b9bd5; --ana-acik: #1d2a3a; --gelir: #4cc27a; --gider: #ef6b5b; --uyari: #e3a73c;
    --hukuk: #5b9bd5; --insaat: #f0913a; --aile: #b67fd6; --golge: none;
  }
}
* { box-sizing: border-box; }
body { margin: 0; font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background: var(--zemin); color: var(--yazi); }
a { color: var(--ana); text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.5rem; margin: .2rem 0 1rem; }
h2 { font-size: 1.1rem; margin: 0 0 .7rem; }
h3 { font-size: .95rem; margin: 0 0 .5rem; }
main { max-width: 1280px; margin: 0 auto; padding: 1rem; }

/* üst menü */
.ust { background: var(--ana); color: #fff; display: flex; align-items: center; gap: 1rem; padding: 0 1rem; position: sticky; top: 0; z-index: 10; }
.ust a { color: #fff; }
.logo { font-weight: 700; font-size: 1.1rem; padding: .8rem 0; white-space: nowrap; }
.ust nav { display: flex; gap: .2rem; flex-wrap: wrap; flex: 1; }
.ust nav a { padding: .45rem .7rem; border-radius: 6px; opacity: .88; white-space: nowrap; }
.ust nav a:hover, .ust nav a.aktif { background: rgba(255,255,255,.16); opacity: 1; text-decoration: none; }
.ust nav .cikis { margin-left: auto; }
.menu-dugme { display: none; background: none; border: 0; color: #fff; font-size: 1.5rem; margin-left: auto; cursor: pointer; }
.rozet { background: #f5b301; color: #222; border-radius: 10px; padding: 0 .45rem; font-size: .78rem; }
.rozet.mavi { background: #9fd0ff; }
@media (prefers-color-scheme: dark) { .ust { background: #1a2b40; } }

/* kartlar ve düzen */
.kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; padding: 1rem; box-shadow: var(--golge); margin-bottom: 1rem; }
.kartlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.kartlar .kart { margin: 0; }
.iki-kolon { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.iki-kolon > .kart { min-width: 0; }
.baslik-satir { display: flex; justify-content: space-between; align-items: center; gap: .8rem; flex-wrap: wrap; }
.baslik-satir h1, .baslik-satir h2 { margin-bottom: .6rem; }
.ozet-kart { color: var(--yazi); border-top: 4px solid var(--cizgi); }
a.ozet-kart:hover { text-decoration: none; border-color: var(--ana); }
.ozet-kart.b-hukuk { border-top-color: var(--hukuk); } .ozet-kart.b-insaat { border-top-color: var(--insaat); } .ozet-kart.b-aile { border-top-color: var(--aile); }
.ozet-kart .satir { display: flex; justify-content: space-between; padding: .15rem 0; }
.ozet-kart .net { border-top: 1px solid var(--cizgi); margin-top: .3rem; padding-top: .4rem; }
.buyuk { font-size: 1.45rem; }
.gelir { color: var(--gelir); } .gider { color: var(--gider); }
.soluk { color: var(--soluk); } .kucuk { font-size: .85rem; } .sag { text-align: right; } .nowrap { white-space: nowrap; }
.nokta { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; margin-right: .35rem; vertical-align: baseline; }
.nokta.b-hukuk, .cubuk.b-hukuk { background: var(--hukuk); } .nokta.b-insaat, .cubuk.b-insaat { background: var(--insaat); } .nokta.b-aile, .cubuk.b-aile { background: var(--aile); }
.ay-sec { display: flex; align-items: center; gap: .6rem; }
.hizli { display: flex; gap: .6rem; flex-wrap: wrap; }
.uyari-serit { display: block; background: #fff4d6; color: #6b4b00; border: 1px solid #f2d68a; border-radius: 8px; padding: .7rem 1rem; margin-bottom: 1rem; }
@media (prefers-color-scheme: dark) { .uyari-serit { background: #3a2f12; color: #f1d58f; border-color: #5e4a17; } }
.bos { text-align: center; padding: 2.5rem 1rem; color: var(--soluk); }

/* grafik */
.grafik { display: flex; gap: .6rem; height: 190px; align-items: stretch; }
.grafik-ay { flex: 1; display: flex; flex-direction: column; align-items: center; min-width: 0; }
.grafik-ay small { color: var(--soluk); margin-top: .3rem; }
.cubuklar { flex: 1; display: flex; gap: 3px; align-items: flex-end; width: 100%; justify-content: center; border-bottom: 1px solid var(--cizgi); }
.cubuk-cift { display: flex; gap: 1px; align-items: flex-end; height: 100%; }
.cubuk { display: block; width: 7px; min-height: 1px; border-radius: 2px 2px 0 0; }
.cubuk.gider-bg { opacity: .45; }
.lejant { font-size: .8rem; color: var(--soluk); margin: .6rem 0 0; }

/* tablolar */
.tablo-kap { overflow-x: auto; }
.tablo { width: 100%; border-collapse: collapse; }
.tablo th { text-align: left; font-weight: 600; font-size: .82rem; color: var(--soluk); border-bottom: 1px solid var(--cizgi); padding: .45rem .5rem; }
.tablo th.sag { text-align: right; }
.tablo td { border-bottom: 1px solid var(--cizgi); padding: .45rem .5rem; vertical-align: top; }
.tablo tr:last-child td { border-bottom: 0; }
.tablo.sik td { padding: .2rem .3rem; }
tr.tikla { cursor: pointer; } tr.tikla:hover td { background: var(--ana-acik); }
.etiket { display: inline-block; font-size: .75rem; padding: .05rem .45rem; border-radius: 9px; background: var(--cizgi); color: var(--yazi); }
.etiket.d-tamam { background: #d7f2e0; color: #145c2e; } .etiket.d-hata { background: #fbdcd8; color: #8c241a; }
.etiket.d-isleniyor, .etiket.d-bekliyor { background: #dceaf8; color: #1f4e79; } .etiket.uyari { background: #fff0c7; color: #7a5300; }

/* işlenecek */
.isle-tablo select { max-width: 13rem; }
.isle-tablo td { vertical-align: middle; }
.isle-tablo .aciklama { min-width: 14rem; max-width: 26rem; }
.isle-tablo tr.eksik td:first-child { box-shadow: inset 3px 0 var(--uyari); }
.isle-tablo tr.kaydediliyor { opacity: .55; }
.isle-tablo tr.gidiyor { opacity: 0; transition: opacity .25s; }
.toplu-cubuk { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; position: sticky; top: 52px; z-index: 5; padding: .6rem 1rem; }
.secim { display: flex; align-items: center; gap: .4rem; margin-right: .5rem; }

/* formlar */
input, select, textarea { font: inherit; color: var(--yazi); background: var(--kart); border: 1px solid var(--cizgi); border-radius: 6px; padding: .42rem .55rem; max-width: 100%; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--ana); outline-offset: -1px; }
select:disabled { opacity: .45; }
label { display: block; margin-bottom: .8rem; font-size: .9rem; }
label > input:not([type=checkbox]), label > select, label > textarea { display: block; width: 100%; margin-top: .25rem; }
.form-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1rem; margin-top: 1rem; }
.dugme { display: inline-block; font: inherit; font-size: .92rem; padding: .45rem .9rem; border-radius: 6px; border: 1px solid var(--cizgi); background: var(--kart); color: var(--yazi); cursor: pointer; white-space: nowrap; }
.dugme:hover { border-color: var(--ana); text-decoration: none; }
.dugme.ana { background: var(--ana); border-color: var(--ana); color: #fff; }
.dugme.tehlike { color: var(--gider); }
.dugme.kucuk { padding: .2rem .5rem; font-size: .82rem; }
.dugme:disabled { opacity: .6; cursor: wait; }
.dugmeler { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.dugmeler form, .satir-ici { display: inline; margin: 0; }
.ekle-form { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .8rem; }
.ekle-form input { flex: 1; min-width: 9rem; }
.ad-form input { border-color: transparent; background: transparent; padding: .15rem .3rem; width: 100%; max-width: 22rem; }
.ad-form input:hover, .ad-form input:focus { border-color: var(--cizgi); }
.ad-form input.pasif { text-decoration: line-through; color: var(--soluk); }
.ad-form { display: flex; gap: .3rem; }
.filtre { display: flex; gap: 1rem; align-items: flex-end; flex-wrap: wrap; padding: .7rem 1rem; }
.filtre label { margin: 0; }
.filtre-satir { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .6rem; }
.filtre-satir input[type=search] { flex: 1; min-width: 12rem; }
.sekmeler { display: flex; gap: .3rem; flex-wrap: wrap; }
.sekmeler a { padding: .4rem .8rem; border-radius: 6px; border: 1px solid var(--cizgi); background: var(--kart); }
.sekmeler a.aktif { background: var(--ana); border-color: var(--ana); color: #fff; }
.sayfa-ici { margin-bottom: 1rem; }
.kategori-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem 1.5rem; }
.grup-baslik { font-size: .8rem; font-weight: 600; color: var(--soluk); text-transform: uppercase; letter-spacing: .03em; margin: .6rem 0 .2rem; }

/* yükleme alanı */
.birak { display: block; border: 2px dashed var(--cizgi); border-radius: 10px; padding: 2.2rem 1rem; text-align: center; cursor: pointer; position: relative; }
.birak.ustunde, .birak:hover { border-color: var(--ana); background: var(--ana-acik); }
.birak input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.dosya-listesi { list-style: none; padding: 0; margin: .6rem 0; font-size: .9rem; }

.bildirim { padding: .65rem 1rem; border-radius: 8px; margin-bottom: 1rem; background: #dff3e6; color: #145c2e; border: 1px solid #b6e2c5; }
.bildirim.hata { background: #fbe3e0; color: #8c241a; border-color: #f2bdb5; }
.bildirim.uyari { background: #fff4d6; color: #6b4b00; border-color: #f2d68a; }
.bildirim.bilgi { background: var(--ana-acik); color: var(--yazi); border-color: var(--cizgi); }

.giris-sayfa { display: grid; place-items: center; min-height: 100vh; padding: 16px; }
.giris { width: 100%; max-width: 360px; }
.giris h1 { margin-bottom: .1rem; }
.giris .dugme { width: 100%; padding: .65rem; }

@media (max-width: 900px) {
  .iki-kolon { grid-template-columns: 1fr; }
  .menu-dugme { display: block; }
  .ust { flex-wrap: wrap; }
  .ust nav { display: none; flex-direction: column; width: 100%; padding-bottom: .6rem; }
  body.menu-acik .ust nav { display: flex; }
  .ust nav .cikis { margin-left: 0; }
  .toplu-cubuk { top: 0; position: static; }
  main { padding: 1rem 16px; }
}

/* sürüm 2 */
.pasif-ad { text-decoration: line-through; color: var(--soluk); }
tr.secili td { background: var(--ana-acik); }
details > summary { cursor: pointer; }
details.duzenle { display: inline-block; position: relative; }
details.duzenle[open] > form { position: absolute; right: 0; z-index: 20; width: min(640px, 90vw); text-align: left; margin-top: .3rem; }
.alt-secim { display: block; margin-top: .3rem; }
.alt-secim[hidden] { display: none; }

/* sürüm 3: pencere ve bildirimler */
.pencere-arka { position: fixed; inset: 0; background: rgba(15, 20, 30, .45); display: grid; place-items: center; z-index: 100; padding: 16px; }
.pencere { width: 100%; max-width: 440px; margin: 0; box-shadow: 0 10px 40px rgba(0,0,0,.25); }
.pencere-mesaj { font-weight: 600; font-size: 1.05rem; margin: 0 0 .4rem; }
.pencere-aciklama { margin: 0 0 1rem; }
.pencere-aciklama:empty { display: none; }
.pencere-giris { width: 100%; margin-bottom: 1rem; }
.dugme.tehlike-dolu { background: var(--gider); border-color: var(--gider); color: #fff; }
#bildirim-kutusu { position: fixed; right: 16px; bottom: 16px; z-index: 110; display: flex; flex-direction: column; gap: .5rem; max-width: min(420px, calc(100vw - 32px)); }
.bildirim.yuzen { margin: 0; box-shadow: 0 6px 20px rgba(0,0,0,.15); cursor: pointer; animation: belir .2s ease-out; }
@keyframes belir { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.toplu-cubuk.kaydediliyor { opacity: .55; pointer-events: none; }

[hidden] { display: none !important; }

/* İşlenecek: değiştirilmiş ama onaylanmamış satır */
.isle-tablo tr.yarim td { background: #fff7dc; }
.isle-tablo tr.yarim td:first-child { box-shadow: inset 3px 0 var(--uyari); }
@media (prefers-color-scheme: dark) { .isle-tablo tr.yarim td { background: #3a2f12; } }

/* İşlenecek: gönderen (hesap kartı) */
.gonderen { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; margin-top: .35rem; }
.gonderen .f-cari { padding: .2rem .4rem; font-size: .85rem; min-width: 11rem; flex: 1; }
.gonderen .cari-ozet { flex-basis: 100%; }
