:root{
  --bg:#F4F5F3; --panel:#FFFFFF; --ink:#1B2620; --ink-soft:#5C675F; --ink-faint:#8A938C;
  --line:#E4E7E3; --line-soft:#EEF0ED;
  --accent:#B8863B; --accent-ink:#3C2C12; --accent-soft:#F3EAD9;
  --green:#1E2C24; --green-soft:#2A3B30;
  --ok:#2F7D4F; --ok-soft:#E7F3EC; --bad:#C0392B; --bad-soft:#FBEDEA; --warn:#B07A14; --warn-soft:#FBF2DF;
  --blue:#2E6BB0; --blue-soft:#E8F0F8;
  --font-head:'Source Serif 4', Georgia, serif;
  --font-body:'IBM Plex Sans', -apple-system, Arial, sans-serif;
  --sidebar:248px;
  color-scheme: light;
}
*{ box-sizing:border-box; }
html,body{ margin:0; height:100%; }
body{ background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }
h1,h2,h3{ font-family:var(--font-head); font-weight:500; letter-spacing:-.01em; margin:0; }

/* ---------- genel bileşenler ---------- */
.btn{ display:inline-flex; align-items:center; gap:7px; background:var(--accent); color:var(--accent-ink); border:none; border-radius:8px; padding:9px 16px; font:600 13px var(--font-body); cursor:pointer; text-decoration:none; white-space:nowrap; transition:filter .15s; }
.btn:hover{ filter:brightness(1.05); }
.btn:disabled{ opacity:.5; cursor:not-allowed; }
.btn.ghost{ background:#fff; border:1px solid var(--line); color:var(--ink); font-weight:500; }
.btn.ghost:hover{ border-color:var(--ink-faint); filter:none; }
.btn.sm{ padding:6px 11px; font-size:12px; border-radius:7px; }
.btn.danger{ background:#fff; border:1px solid #E6C3BD; color:var(--bad); font-weight:500; }
.btn.block{ width:100%; justify-content:center; }
.link{ background:none; border:none; padding:0; color:var(--blue); font:inherit; cursor:pointer; text-decoration:none; }
.link:hover{ text-decoration:underline; }
.link.muted{ color:var(--ink-soft); }
.link.danger{ color:var(--bad); }
:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

label{ display:block; font-size:12.5px; color:var(--ink-soft); margin-bottom:5px; font-weight:500; }
input,select,textarea{ width:100%; padding:9px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; color:var(--ink); background:#fff; }
input:focus,select:focus,textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(184,134,59,.18); }
textarea{ min-height:70px; resize:vertical; }
.field{ margin-bottom:14px; }
.row-fields{ display:flex; gap:14px; flex-wrap:wrap; }
.row-fields > *{ flex:1 1 160px; min-width:140px; }

.tag{ display:inline-block; font-size:11px; font-weight:600; padding:2px 8px; border-radius:20px; background:var(--line-soft); color:var(--ink-soft); white-space:nowrap; }
.tag.m{ background:var(--blue-soft); color:var(--blue); }
.tag.k{ background:var(--accent-soft); color:var(--accent-ink); }
.tag.ok{ background:var(--ok-soft); color:var(--ok); }
.tag.bad{ background:var(--bad-soft); color:var(--bad); }
.tag.wait{ background:var(--warn-soft); color:var(--warn); }
code.code{ font-family:ui-monospace,Menlo,Consolas,monospace; background:var(--accent-soft); color:var(--accent-ink); padding:2px 9px; border-radius:6px; letter-spacing:.1em; font-weight:600; }

.notice{ border-radius:9px; padding:11px 15px; margin:0 0 16px; font-size:13.5px; }
.notice.err{ background:var(--bad-soft); color:var(--bad); }
.notice.ok{ background:var(--ok-soft); color:var(--ok); }
.notice.info{ background:var(--accent-soft); color:var(--accent-ink); }

.num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.debt{ color:var(--bad); font-weight:600; }
.credit{ color:var(--ok); font-weight:600; }
.zero{ color:var(--ink-faint); }

/* ---------- tablo ---------- */
.tablewrap{ overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:#fff; }
table{ width:100%; border-collapse:collapse; font-size:13px; }
th,td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line-soft); vertical-align:middle; }
th{ font-weight:600; color:var(--ink-soft); font-size:11.5px; text-transform:uppercase; letter-spacing:.03em; background:#FafbfA; position:sticky; top:0; white-space:nowrap; }
tbody tr:hover{ background:#FbFcFb; }
tr:last-child td{ border-bottom:none; }
td.num,th.num{ text-align:right; }
.t-name{ font-weight:600; }
.t-sub{ color:var(--ink-faint); font-size:12px; }

/* ---------- giriş ekranları ---------- */
.auth{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.auth-card{ width:100%; max-width:420px; }
.auth-brand{ display:flex; align-items:center; gap:11px; margin-bottom:26px; }
.auth-brand svg{ width:36px; height:32px; }
.auth-brand b{ font-family:var(--font-head); font-size:1.4rem; font-weight:600; }
.auth-brand b i{ font-style:normal; color:var(--accent); }
.auth-brand small{ display:block; font-size:.6rem; letter-spacing:.14em; color:var(--ink-soft); }
.auth h1{ font-size:1.6rem; margin-bottom:8px; }
.auth .sub{ color:var(--ink-soft); margin:0 0 24px; }
.auth .foot{ margin-top:20px; font-size:13px; color:var(--ink-soft); }

/* ---------- uygulama düzeni ---------- */
.app{ display:flex; min-height:100vh; }
.sidebar{ width:var(--sidebar); flex-shrink:0; background:var(--green); color:#D7DED8; display:flex; flex-direction:column; position:fixed; top:0; bottom:0; left:0; z-index:30; }
.sb-brand{ display:flex; align-items:center; gap:10px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.08); text-decoration:none; color:#fff; }
.sb-brand svg{ width:28px; height:25px; flex-shrink:0; }
.sb-brand b{ font-family:var(--font-head); font-size:1.15rem; font-weight:600; }
.sb-brand b i{ font-style:normal; color:var(--accent); }
.sb-brand small{ display:block; font-size:.54rem; letter-spacing:.14em; color:#9FB0A4; }
.sb-nav{ flex:1; overflow-y:auto; padding:12px 12px 20px; }
.sb-nav a.sb-link{ display:flex; align-items:center; gap:11px; padding:10px 13px; border-radius:9px; color:#C6D0C9; text-decoration:none; font-size:13.5px; font-weight:500; margin-bottom:2px; }
.sb-nav a.sb-link svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.7; flex-shrink:0; }
.sb-nav a.sb-link:hover{ background:rgba(255,255,255,.06); color:#fff; }
.sb-nav a.sb-link.on{ background:var(--accent); color:var(--accent-ink); }
/* açılır (katlanır) menü grupları */
.sb-acc{ margin-top:4px; }
.sb-head{ display:flex; align-items:center; gap:11px; width:100%; padding:10px 13px; border:0; background:transparent; cursor:pointer; color:#9FB0A4; font-family:inherit; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.07em; border-radius:9px; text-align:left; }
.sb-head svg{ width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.7; flex-shrink:0; }
.sb-head:hover{ background:rgba(255,255,255,.05); color:#D7DED8; }
.sb-head-t{ flex:1; }
.sb-caret{ font-size:10px; transition:transform .18s; opacity:.8; }
.sb-head.open .sb-caret{ transform:rotate(90deg); }
.sb-sub{ display:none; margin:2px 0 6px 19px; padding-left:8px; border-left:1px solid rgba(255,255,255,.08); }
.sb-sub.open{ display:block; }
.sb-nav a.sb-link.sub{ font-size:13px; padding:8px 12px; }
.sb-nav a.sb-link.sub svg{ width:16px; height:16px; }
/* iç içe (2. seviye) açılır alt menü */
.sb-acc.sub{ margin-top:0; }
.sb-head.h2{ font-size:12.5px; font-weight:500; text-transform:none; letter-spacing:0; color:#C6D0C9; padding:8px 12px; }
.sb-head.h2 svg{ width:16px; height:16px; }
.sb-head.h2:hover{ color:#fff; }
.sb-sub.lvl2{ margin:1px 0 4px 14px; }
.sb-nav a.sb-link.sub2{ font-size:12.5px; padding:7px 11px; color:#AEBBB1; }
.sb-nav a.sb-link.sub2 svg{ width:15px; height:15px; }
.sb-foot{ padding:14px 16px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:#9FB0A4; }
.sb-foot a{ color:#C6D0C9; }

.main{ flex:1; margin-left:var(--sidebar); display:flex; flex-direction:column; min-width:0; }
.topbar{ height:60px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 26px; position:sticky; top:0; z-index:20; }
.topbar .site-pick{ display:flex; align-items:center; gap:10px; }
.topbar .site-pick select{ width:auto; min-width:200px; font-weight:600; border-color:var(--line); }
.topbar .who{ display:flex; align-items:center; gap:14px; font-size:13px; color:var(--ink-soft); }
.menu-btn{ display:none; }
.content{ padding:26px; flex:1; max-width:1400px; width:100%; }
.content.narrow{ max-width:720px; }

.page-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.page-head h1{ font-size:1.55rem; }
.page-head .sub{ color:var(--ink-soft); margin-top:3px; font-size:13.5px; }
.page-actions{ display:flex; gap:9px; flex-wrap:wrap; }
.crumbs{ font-size:12.5px; color:var(--ink-faint); margin-bottom:6px; }
.crumbs a{ color:var(--ink-soft); }

/* kartlar & istatistik */
.card{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px 22px; }
.card + .card{ margin-top:18px; }
.card h2{ font-size:1.15rem; margin-bottom:14px; }
.card h3{ font-size:1rem; margin-bottom:12px; }
.grid-cards{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.stat{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; }
.stat .k{ font-size:12px; color:var(--ink-soft); margin:0 0 7px; font-weight:500; }
.stat .v{ font-family:var(--font-head); font-size:1.7rem; line-height:1; }
.stat .v.sm{ font-size:1.3rem; }
.stat .foot{ font-size:11.5px; color:var(--ink-faint); margin-top:7px; }

.section-title{ font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); font-weight:600; margin:26px 0 12px; }

/* alfabe filtresi */
.alpha{ display:flex; flex-wrap:wrap; gap:3px; margin-bottom:14px; }
.alpha button{ min-width:28px; height:28px; padding:0 4px; border:1px solid var(--line); background:#fff; border-radius:6px; font-size:12px; color:var(--ink-soft); cursor:pointer; }
.alpha button.on{ background:var(--green); color:#fff; border-color:var(--green); }

.toolbar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.toolbar .search{ flex:1; min-width:200px; max-width:340px; }
.pager{ display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:14px; font-size:13px; color:var(--ink-soft); }

/* modal */
.modal-bg{ position:fixed; inset:0; background:rgba(20,28,24,.5); z-index:50; display:flex; align-items:flex-start; justify-content:center; padding:40px 20px; overflow-y:auto; }
.modal{ background:#fff; border-radius:14px; width:100%; max-width:540px; padding:24px 26px; box-shadow:0 20px 50px rgba(0,0,0,.25); }
.modal.wide{ max-width:760px; }
.modal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.modal-head h2{ font-size:1.25rem; }
.modal-x{ background:none; border:none; font-size:1.4rem; color:var(--ink-faint); cursor:pointer; line-height:1; }
.modal-foot{ display:flex; gap:10px; justify-content:flex-end; margin-top:22px; }

.empty{ text-align:center; color:var(--ink-faint); padding:44px 20px; }
.loading{ color:var(--ink-faint); padding:40px 0; text-align:center; }
.inline-form{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.inline-form > *{ margin-bottom:0; }

/* banka eşleştirme satırı */
.bank-tx{ border:1px solid var(--line); border-radius:11px; padding:14px 16px; margin-bottom:12px; background:#fff; }
.bank-tx .tx-top{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.bank-tx .tx-amt{ font-family:var(--font-head); font-size:1.3rem; }
.bank-tx .tx-amt.in{ color:var(--ok); }
.bank-tx .tx-amt.out{ color:var(--bad); }
.bank-tx .tx-match{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px solid var(--line-soft); }
.bank-tx .tx-match > *{ margin-bottom:0; }
.bank-tx .tx-match .grow{ flex:1; min-width:160px; }

/* sakin */
.res-wrap{ max-width:860px; margin:0 auto; padding:0 20px; }
.paybox iframe{ width:100%; border:0; min-height:620px; border-radius:12px; }

/* bar chart (özet) */
.barchart{ display:flex; align-items:flex-end; gap:14px; height:160px; padding-top:10px; }
.barchart .col{ flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; }
.barchart .bars{ display:flex; gap:3px; align-items:flex-end; height:100%; width:100%; justify-content:center; }
.barchart .bar{ width:14px; border-radius:3px 3px 0 0; min-height:2px; }
.barchart .bar.inc{ background:var(--ok); }
.barchart .bar.exp{ background:var(--accent); }
.barchart .lbl{ font-size:11px; color:var(--ink-faint); }
.legend{ display:flex; gap:16px; font-size:12px; color:var(--ink-soft); margin-top:10px; }
.legend .dot{ display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:middle; }

@media (max-width: 860px){
  .sidebar{ transform:translateX(-100%); transition:transform .2s; width:260px; }
  .sidebar.open{ transform:translateX(0); }
  .main{ margin-left:0; }
  .menu-btn{ display:inline-flex; background:none; border:1px solid var(--line); border-radius:8px; padding:7px 10px; cursor:pointer; font-size:1rem; }
  .content{ padding:18px 16px; }
  .topbar{ padding:0 16px; }
  .topbar .site-pick select{ min-width:130px; }
  .sb-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:29; }
}

/* ---------- kalem bazlı gruplu cari hesap ---------- */
.grp{ border:1px solid var(--line); border-radius:12px; margin-bottom:14px; background:#fff; overflow:hidden; }
.grp > summary{ list-style:none; cursor:pointer; padding:14px 18px; background:var(--shade,#F6F4EF); display:flex; align-items:center; }
.grp > summary::-webkit-details-marker{ display:none; }
.grp > summary::before{ content:"▸"; margin-right:10px; color:var(--ink-faint); font-size:11px; transition:transform .15s; }
.grp[open] > summary::before{ transform:rotate(90deg); }
.grp-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; flex:1; }
.grp-name{ font-family:var(--font-head); font-weight:600; font-size:1.05rem; }
.grp-tot{ font-size:12.5px; color:var(--ink-soft); }
.grp-tot b{ color:var(--ink); font-variant-numeric:tabular-nums; }
.grp .tablewrap{ border-left:none; border-right:none; border-bottom:none; }

/* ---------- site seçim portalı ---------- */
.topbar .who-name{ font-weight:600; color:var(--ink); }
.portal{ min-height:100vh; display:flex; flex-direction:column; background:var(--bg); }
.portal-top{ height:60px; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 26px; }
.pt-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:#fff; }
.pt-brand svg{ width:26px; height:23px; }
.pt-brand b{ font-family:var(--font-head); font-size:1.2rem; font-weight:600; }
.pt-brand b i{ font-style:normal; color:var(--accent); }
.pt-who{ display:flex; align-items:center; gap:14px; font-size:13px; }
.pt-who .link{ color:#E7ECE8; }
.pt-who .who-name{ color:#fff; font-weight:600; }
.pt-who .who-badge{ width:34px; height:34px; border-radius:50%; background:var(--accent); color:var(--accent-ink); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; }
.pt-who .muted{ color:#A9B7AC; }
.portal-body{ flex:1; max-width:1180px; width:100%; margin:0 auto; padding:26px; display:grid; grid-template-columns:1fr 320px; gap:24px; align-items:start; }
.portal-left{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 22px; }
.pl-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; flex-wrap:wrap; }
.pl-head h1{ font-size:1.5rem; }
.pl-head-r{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.pl-search input{ width:220px; }
.site-cards{ display:flex; flex-direction:column; gap:10px; }
.site-card{ display:flex; align-items:center; gap:14px; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:12px; padding:14px 16px; cursor:pointer; transition:background .12s, box-shadow .12s; }
.site-card:hover{ background:var(--shade); box-shadow:0 3px 12px rgba(0,0,0,.06); }
.sc-badge{ width:46px; height:46px; border-radius:50%; background:var(--shade); color:var(--ink-soft); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0; }
.sc-main{ flex:1; min-width:0; }
.sc-name{ font-weight:600; font-size:1rem; }
.sc-meta{ font-size:12.5px; color:var(--ink-faint); margin-top:2px; }
.sc-role{ font-size:12px; color:var(--ink-soft); background:var(--shade); padding:3px 10px; border-radius:20px; white-space:nowrap; }
.sc-go{ font-size:1.5rem; color:var(--ink-faint); }
.portal-right .acc-row{ margin-bottom:12px; }
.portal-right .acc-row .k{ font-size:12px; color:var(--ink-faint); margin:0; }
.portal-right .acc-row .v{ margin:2px 0 0; font-weight:500; word-break:break-word; }
@media (max-width:860px){ .portal-body{ grid-template-columns:1fr; } .portal-top{ padding:0 16px; } .pt-who .who-name{ display:none; } .pl-search input{ width:150px; } }

/* ---------- kişi cari hesap (Apsiyon tarzı) ---------- */
.cari-card{ display:flex; align-items:center; gap:18px; background:linear-gradient(120deg,#5b6bd6,#7a6fd0); color:#fff; border-radius:16px; padding:20px 24px; margin-bottom:18px; flex-wrap:wrap; }
.cari-av{ width:72px; height:72px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:22px; flex-shrink:0; }
.cari-id{ min-width:200px; }
.cari-name{ font-size:1.25rem; font-weight:600; display:flex; align-items:center; gap:8px; }
.cari-arrow{ opacity:.7; }
.cari-contact{ font-size:12.5px; opacity:.85; margin-top:6px; }
.cari-sums{ margin-left:auto; min-width:260px; }
.cari-sums .cs-row{ display:flex; justify-content:space-between; gap:30px; font-size:13.5px; opacity:.92; padding:3px 0; }
.cari-sums .cs-row b{ font-variant-numeric:tabular-nums; }
.cari-sums .cs-row.total{ border-top:1px solid rgba(255,255,255,.35); margin-top:6px; padding-top:8px; font-size:1.05rem; opacity:1; font-weight:600; }
.cari-exp{ display:flex; flex-direction:column; gap:6px; }
.cari-exp .cx{ background:rgba(255,255,255,.18); color:#fff; border:none; border-radius:8px; padding:7px 12px; font:600 11px var(--font-body); cursor:pointer; text-decoration:none; text-align:center; }
.cari-exp .cx:hover{ background:rgba(255,255,255,.3); }
@media (max-width:720px){ .cari-sums{ margin-left:0; } .cari-exp{ flex-direction:row; } }

.cari-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; flex-wrap:wrap; }
.cari-toolbar .toggle{ display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink-soft); margin:0; cursor:pointer; font-weight:500; }
.cari-toolbar .toggle input{ width:auto; }
.cari-range{ display:flex; align-items:center; gap:8px; }
.cari-range input{ width:auto; }

.cari-colhead{ display:flex; align-items:center; background:var(--green); color:#fff; border-radius:9px 9px 0 0; padding:9px 16px; font-size:11.5px; text-transform:uppercase; letter-spacing:.03em; font-weight:600; }
.cari-colhead .ch-label{ flex:1; }
.ch-n{ width:140px; text-align:right; font-variant-numeric:tabular-nums; }
@media (max-width:720px){ .ch-n{ width:92px; } }

details.daire{ border:1px solid var(--line); border-top:none; background:#fff; }
details.daire > summary, details.kalem > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; padding:11px 16px; }
details.daire > summary::-webkit-details-marker, details.kalem > summary::-webkit-details-marker{ display:none; }
details.daire > summary{ background:var(--shade); font-weight:600; }
details.daire > summary::before, details.kalem > summary::before{ content:"▸"; margin-right:10px; color:var(--ink-faint); font-size:11px; }
details.daire[open] > summary::before, details.kalem[open] > summary::before{ content:"▾"; }
.lv1{ flex:1; font-family:var(--font-head); font-size:1.02rem; }
.lv2{ flex:1; font-weight:600; padding-left:8px; }
.daire-body{ padding:0 0 4px 0; }
details.kalem{ border-top:1px solid var(--line-soft); margin:0 10px 8px; border:1px solid var(--line-soft); border-radius:8px; }
details.kalem > summary{ background:#fff; }
details.kalem > summary .ch-n{ color:var(--ink); font-weight:600; font-size:12.5px; }
.cari-colhead .ch-n{ color:#fff; }
details.daire > summary .ch-n{ font-size:12.5px; }

/* ---- genel modül listeleri: toplu seçim / bulk bar ---- */
.bulkbar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; background:#FBF3E6; border:1px solid #EAD9B8; border-radius:10px; padding:9px 14px; margin-bottom:12px; font-size:13px; }
.bulkbar > span{ font-weight:600; color:var(--ink); margin-right:4px; }
.tablewrap table tbody tr.on{ background:#FBF3E6; }
.tablewrap table td input[type=checkbox], .tablewrap table th input[type=checkbox]{ width:16px; height:16px; cursor:pointer; accent-color:var(--accent); }

/* ===== Daraltılabilir kenar menü + sağa açılan flyout ===== */
.sb-collapse{ display:flex; align-items:center; gap:9px; margin:8px 12px 2px; padding:8px 12px; width:calc(100% - 24px); background:rgba(255,255,255,.05); border:0; border-radius:9px; color:#9FB0A4; cursor:pointer; font-family:inherit; font-size:12px; font-weight:500; }
.sb-collapse:hover{ background:rgba(255,255,255,.1); color:#fff; }
.sb-collapse svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; flex-shrink:0; transition:transform .18s; }
.sb-fly-title{ display:none; }

@media (min-width:861px){
  .app.collapsed .sidebar{ width:66px; }
  .app.collapsed .main{ margin-left:66px; }
  .app.collapsed .sb-brand{ justify-content:center; padding:18px 0; }
  .app.collapsed .sb-brand > span:last-child{ display:none; }
  .app.collapsed .sb-foot{ display:none; }
  .app.collapsed .sb-collapse{ justify-content:center; margin:8px auto 2px; width:46px; padding:8px 0; }
  .app.collapsed .sb-collapse span{ display:none; }
  .app.collapsed .sb-collapse svg{ transform:rotate(180deg); }
  .app.collapsed .sb-nav{ overflow:visible; padding:12px 8px 20px; }
  .app.collapsed .sb-nav > a.sb-link{ justify-content:center; padding:11px 0; }
  .app.collapsed .sb-nav > a.sb-link > span{ display:none; }
  .app.collapsed .sb-head{ justify-content:center; padding:11px 0; }
  .app.collapsed .sb-head .sb-head-t, .app.collapsed .sb-head .sb-caret{ display:none; }
  .app.collapsed .sb-acc{ position:relative; }
  /* sağa açılan panel */
  .app.collapsed .sb-acc > .sb-sub{
    display:none; position:absolute; left:100%; top:0; margin:0; min-width:238px; max-height:84vh; overflow:auto;
    background:var(--green); border-left:0; border-radius:0 12px 12px 0; padding:8px;
    box-shadow:10px 12px 34px rgba(0,0,0,.4); z-index:60;
  }
  .app.collapsed .sb-acc:hover > .sb-sub{ display:block; }
  .app.collapsed .sb-acc > .sb-sub > .sb-fly-title{ display:block; color:#fff; font-weight:700; font-size:12.5px; padding:4px 12px 8px; margin-bottom:6px; border-bottom:1px solid rgba(255,255,255,.1); }
  /* flyout içinde etiketler ve iç gruplar tam görünür */
  .app.collapsed .sb-acc > .sb-sub a.sb-link{ justify-content:flex-start; padding:8px 12px; }
  .app.collapsed .sb-acc > .sb-sub a.sb-link > span{ display:inline; }
  .app.collapsed .sb-acc > .sb-sub .sb-sub{ display:block; position:static; box-shadow:none; background:transparent; min-width:0; max-height:none; overflow:visible; padding:0; margin:1px 0 4px 14px; border-left:1px solid rgba(255,255,255,.1); border-radius:0; }
  .app.collapsed .sb-acc > .sb-sub .sb-head{ justify-content:flex-start; padding:7px 12px; }
  .app.collapsed .sb-acc > .sb-sub .sb-head .sb-head-t{ display:inline; }
  .app.collapsed .sb-acc > .sb-sub .sb-head .sb-caret{ display:none; }
}
@media (max-width:860px){ .sb-collapse{ display:none; } }

/* ---- zengin kişi formu ---- */
.form-sect{ font-family:var(--font-head); font-size:14px; font-weight:600; color:var(--accent); margin:20px 0 4px; padding-bottom:6px; border-bottom:1px solid var(--line-soft); }
.form-sect:first-child{ margin-top:0; }
.bigform label.chk{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink); padding-top:24px; }
.bigform label.chk input{ width:16px; height:16px; accent-color:var(--accent); }

/* ---- site kartı düzenle butonu ---- */
.site-card{ position:relative; }
.sc-edit{ background:rgba(255,255,255,.08); border:1px solid var(--line-soft); color:var(--ink-faint); width:30px; height:30px; border-radius:8px; cursor:pointer; font-size:14px; margin-right:10px; flex-shrink:0; }
.sc-edit:hover{ background:var(--accent); color:#fff; border-color:var(--accent); }

/* ---------- v11: fotoğraftaki form düzeni (etiket | alan) ve toplu düzenleme (etiket | kutucuk | alan) ---------- */
.fr-grid{ display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:24px; align-items:start; }
.fr-grid.single{ grid-template-columns:minmax(0,1fr); }
.fr-list.narrow{ max-width:640px; }
.fr-row, .bf-row{ display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:12px; padding:6px 4px; border-bottom:1px solid var(--line-soft); }
.bf-row{ grid-template-columns:220px 22px minmax(0,1fr); border-radius:6px; }
.fr-row label, .bf-row label{ margin:0; font-size:13px; color:var(--ink); font-weight:500; }
.fr-row input, .fr-row select, .fr-row textarea, .bf-row input, .bf-row select, .bf-row textarea{ padding:7px 10px; }
.fr-row input[type=checkbox], .bf-row input[type=checkbox]{ width:18px; height:18px; padding:0; accent-color:var(--accent); cursor:pointer; justify-self:start; }
.fr-row.sep{ margin-top:10px; border-top:1px solid var(--line); }
.fr-row.dim{ opacity:.45; }
.bf-row .bf-in{ opacity:.6; transition:opacity .15s; }
.bf-row.on{ background:var(--accent-soft); }
.bf-row.on .bf-in{ opacity:1; }
.bf-list{ max-height:62vh; overflow-y:auto; padding-right:4px; }
.bf-dl{ display:block; }
.fr-side{ background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:14px 16px; font-size:13px; }
.fr-side h4{ margin:14px 0 6px; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); }
.fs-sum > div{ display:flex; justify-content:space-between; align-items:center; padding:4px 0; }
.fs-sum > div.tot{ border-top:1px solid var(--line); margin-top:4px; padding-top:8px; font-size:15px; }
.fs-links{ list-style:none; margin:0; padding:0; }
.fs-links li{ display:flex; justify-content:space-between; gap:8px; align-items:center; padding:5px 0; border-bottom:1px dashed var(--line); }
.fs-links li .link{ text-align:left; }
.inline-chk{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink); margin:6px 0 12px; cursor:pointer; }
.inline-chk input{ width:16px; height:16px; accent-color:var(--accent); flex:none; }
.modal-foot .btn.danger{ margin-right:auto; }
.rc-link{ text-align:left; color:var(--blue); }
/* sekmeler */
.tabs{ display:flex; gap:2px; border-bottom:2px solid var(--line); margin:4px 0 0; overflow-x:auto; }
.tab{ background:none; border:none; padding:10px 16px; font:500 13.5px var(--font-body); color:var(--ink-soft); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; white-space:nowrap; }
.tab.on{ color:var(--ink); border-bottom-color:var(--accent); font-weight:600; }
.tab-body{ border-top-left-radius:0; border-top-right-radius:0; margin-top:0; }
.unit-bal{ text-align:right; font-size:13px; color:var(--ink-soft); display:flex; flex-direction:column; gap:2px; }
.unit-bal span:last-child{ font-size:18px; font-weight:600; }
.occ-table th, .occ-table td{ padding-left:8px; padding-right:8px; }
.occ-table .cell-in{ padding:5px 6px; font-size:12.5px; min-width:0; width:110px; }
.occ-table input[type=date].cell-in{ width:132px; }
.occ-table td:nth-child(2){ min-width:130px; }
tr.muted-row td{ color:var(--ink-faint); }
/* durum filtreleri */
.seg{ display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; flex-wrap:wrap; }
.seg button{ background:none; border:none; padding:7px 12px; font:500 12.5px var(--font-body); color:var(--ink-soft); cursor:pointer; border-right:1px solid var(--line); }
.seg button:last-child{ border-right:none; }
.seg button.on{ background:var(--green); color:#fff; }
tr.clickable{ cursor:pointer; }
tr.clickable:hover td{ background:#FAFAF7; }
/* EK / EM — daireden çıkmış kişi */
tr.ex-person td, tr.ex-person td a, tr.ex-person td .zero{ color:#C0392B !important; }
.ex-unit{ color:#C0392B; }
tfoot td{ font-weight:600; background:var(--bg); }
.ct-sel{ width:auto; padding:4px 8px; font-size:12px; }
.bank-tx.done{ opacity:.85; }
@media (max-width:820px){
  .fr-grid{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:560px){
  .fr-row{ grid-template-columns:1fr; gap:4px; }
  .bf-row{ grid-template-columns:22px minmax(0,1fr); }
  .bf-row label{ grid-column:2; }
  .bf-row .bf-on{ grid-row:1; grid-column:1; }
  .bf-row .bf-in{ grid-column:1 / -1; }
}

/* ---------- v12: açılır menü, site seçici, site detayları, daire listesi, Apsiyon aktarımı ---------- */
.pop-menu{ position:absolute; z-index:80; min-width:220px; max-width:320px; max-height:70vh; overflow-y:auto; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 32px rgba(0,0,0,.16); padding:6px; }
.pm-item{ display:flex; align-items:center; gap:8px; width:100%; background:none; border:none; text-align:left; padding:8px 10px; border-radius:7px; font:500 13.5px var(--font-body); color:var(--ink); cursor:pointer; }
.pm-item:hover{ background:var(--bg); }
.pm-item small{ margin-left:auto; color:var(--ink-faint); font-size:11.5px; font-weight:400; }
.pm-item.on{ font-weight:600; }
.pm-item.danger{ color:var(--bad); }
.pm-check{ width:14px; color:var(--ok); flex:none; }
.pm-sep{ height:1px; background:var(--line); margin:5px 4px; }
.pm-head{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); padding:6px 10px 4px; }
.site-switch{ display:inline-flex; align-items:center; gap:8px; max-width:420px; background:none; border:1px solid transparent; border-radius:8px; padding:6px 10px; font:600 15px var(--font-body); color:var(--ink); cursor:pointer; }
.site-switch:hover, .site-switch[aria-expanded=true]{ border-color:var(--line); background:#fff; }
.ss-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ss-caret{ font-size:12px; color:var(--ink-soft); }
.sc-edit{ font-size:18px; line-height:1; font-weight:700; }
.modal.xwide{ max-width:960px; }
.sd-pane{ padding-top:16px; min-height:360px; }
.sd-h{ margin:22px 0 10px; font-size:1.05rem; }
.sd-phones{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.sd-phone{ display:flex; align-items:center; gap:8px; width:100%; max-width:380px; }
.sd-maprow{ align-items:start; }
.sd-map{ position:relative; min-height:80px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--bg); }
.sd-map iframe{ display:block; width:100%; height:260px; border:0; }
.sd-map-open{ position:absolute; top:10px; right:10px; }
.sub-table select, .sub-table input{ padding:6px 8px; }
.ul-card .fr-list{ margin-bottom:6px; }
.ul-title{ margin:16px 0 10px; font-size:1.2rem; }
.ul-table td{ padding-top:5px; padding-bottom:5px; }
.ul-table input, .ul-table select{ padding:7px 10px; font-size:13px; }
.ul-table .ul-no{ font-weight:600; }
.ul-table tr.changed td{ background:var(--accent-soft); }
.aps-list{ margin:6px 0 12px; padding-left:18px; line-height:1.9; font-size:13px; }
.aps-list details{ margin:2px 0 6px; }
@media print{
  .sidebar, .topbar, .page-actions, .ul-card .fr-list, .ul-card .modal-foot, .ul-card > .t-sub{ display:none !important; }
  .ul-table input, .ul-table select{ border:none; padding:0; appearance:none; background:none; }
}
@media (max-width:560px){
  .site-switch{ max-width:200px; font-size:14px; }
  .sd-phone{ max-width:none; }
}

/* ---------- v13: raporlar ---------- */
.rep-btns{ display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 6px; }
.rep-out{ margin-top:18px; }
.rep-h{ margin:18px 0 8px; font-size:1.05rem; }
.rep-table th, .rep-table td{ padding:7px 10px; font-size:13px; }
.rep-table tr.tot td{ font-weight:700; background:var(--bg); }
.rep-table tr.grp td{ font-weight:700; background:var(--accent-soft); }
.rep-table tr.det td{ font-size:12px; color:var(--ink-soft); background:#FCFCFA; }
.rep-devir{ display:flex; gap:24px; flex-wrap:wrap; padding:10px 14px; background:var(--bg); border:1px solid var(--line); border-radius:10px; font-size:13.5px; }
.rep-net{ margin-top:12px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; font-size:14px; }
.ozet{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rep-bars{ display:flex; flex-direction:column; gap:6px; margin:6px 0 14px; }
.rb{ display:grid; grid-template-columns:minmax(120px,240px) 1fr 120px; gap:10px; align-items:center; font-size:12.5px; }
.rb-l{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); }
.rb-t{ height:12px; background:var(--bg); border-radius:6px; overflow:hidden; }
.rb-f{ display:block; height:100%; border-radius:6px; }
.rb-f.inc{ background:var(--ok); } .rb-f.exp{ background:var(--accent); }
.rb-v{ text-align:right; font-variant-numeric:tabular-nums; }
@media (max-width:760px){ .ozet{ grid-template-columns:1fr; } .rb{ grid-template-columns:1fr 90px; } .rb-t{ grid-column:1 / -1; grid-row:2; } }

/* ---------- v14: firma (kullanıcılar, işlem kaydı, mesajlar) ---------- */
.us-sites{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:2px 14px; padding:6px 0; }
.us-sites.dim{ opacity:.45; pointer-events:none; }
.us-sites .inline-chk{ margin:4px 0; }
.audit-f{ align-items:flex-end; }
.audit-f .field{ margin-bottom:0; min-width:150px; }
.audit-d summary{ cursor:pointer; color:var(--blue); font-size:12.5px; }
.audit-d pre{ white-space:pre-wrap; word-break:break-word; max-width:560px; max-height:260px; overflow:auto; font-size:11.5px; background:var(--bg); padding:8px 10px; border-radius:8px; margin:6px 0 0; }
.msg-txt{ font-size:12.5px; color:var(--ink-soft); max-width:520px; white-space:pre-wrap; }

/* ===== v15: platform (SaaS) ===== */
.st-banners{ display:flex; flex-direction:column; gap:8px; margin:0 0 16px; }
.st-banner{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border-radius:9px; padding:10px 14px; font-size:13.5px; }
.st-banner.trial{ background:var(--blue-soft); color:var(--blue); }
.st-banner.late{ background:var(--warn-soft); color:var(--warn); }
.st-banner.ro{ background:var(--bad-soft); color:var(--bad); }
.st-banner.acting{ background:var(--ink); color:#fff; }
.st-banner .link{ font-weight:600; }
.portal-banner{ max-width:1180px; width:100%; margin:0 auto; padding:18px 26px 0; }
.portal-banner:empty{ display:none; }
.sb-link.locked{ opacity:.6; }
.sb-lock{ margin-left:auto; font-size:11px; }
.tb-logo{ max-height:30px; max-width:120px; object-fit:contain; }
.plat-link{ font-weight:600; color:var(--accent-ink); background:var(--accent-soft); padding:4px 10px; border-radius:7px; text-decoration:none; }
.pt-firm{ font-size:13px; color:var(--ink-soft); font-weight:600; }
.lock-card{ max-width:520px; margin:30px auto; text-align:center; padding:30px; }
.lock-ic{ font-size:34px; margin-bottom:6px; }
.sub-head{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; }
.sub-head .k{ margin:0; font-size:12px; color:var(--ink-faint); }
.sub-head .v{ margin:2px 0 0; font-weight:600; }
.plan-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.plan-card{ border:1px solid var(--line); border-radius:12px; padding:18px; display:flex; flex-direction:column; gap:6px; }
.plan-card.cur{ border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-soft); }
.plan-card h3{ margin:0; }
.pc-price{ font-size:24px; font-weight:700; margin:2px 0; }
.pc-price small{ font-size:13px; font-weight:400; color:var(--ink-soft); }
.cur-plan{ color:var(--ok); font-weight:600; margin:6px 0 0; }
.tier-t{ width:100%; font-size:12.5px; border-collapse:collapse; margin:4px 0; }
.tier-t td{ padding:3px 0; border-bottom:1px dashed var(--line-soft); }
.tier-t .num{ text-align:right; white-space:nowrap; }
.feat-l{ list-style:none; padding:0; margin:6px 0 10px; font-size:13px; }
.feat-l li{ padding:3px 0 3px 22px; position:relative; }
.feat-l li.on::before{ content:'✓'; position:absolute; left:2px; color:var(--ok); font-weight:700; }
.feat-l li.off{ color:var(--ink-faint); text-decoration:line-through; }
.feat-l li.off::before{ content:'–'; position:absolute; left:4px; }
.mono{ font-family:ui-monospace,Menlo,Consolas,monospace; }
.row-acts{ display:inline-flex; gap:10px; align-items:center; white-space:nowrap; }
.logo-prev{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.logo-prev img{ max-height:56px; max-width:180px; border:1px solid var(--line); border-radius:6px; padding:4px; background:#fff; }
.auth-card.wide{ max-width:620px; }
.su-plans{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.su-plan{ border:1px solid var(--line); border-radius:9px; padding:10px 12px; font-size:12.5px; }
.su-plan p{ margin:4px 0 0; }
.legal-txt{ white-space:pre-wrap; font-size:13px; max-height:60vh; overflow:auto; }
.plat-body{ max-width:1280px; width:100%; margin:0 auto; padding:26px; }
.plan-edit-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:16px; }
.tier-edit{ width:100%; border-collapse:collapse; font-size:13px; }
.tier-edit th{ text-align:left; font-weight:500; color:var(--ink-faint); font-size:12px; }
.tier-edit td{ padding:3px 4px 3px 0; }
.tier-edit input{ padding:6px 8px; width:100%; }
.feat-edit{ display:flex; flex-direction:column; gap:4px; margin-bottom:8px; }
.calc-out{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin-top:10px; }
.fr-row.tall textarea{ min-height:160px; }
@media (max-width:640px){ .su-plans{ grid-template-columns:1fr; } .plan-edit-grid{ grid-template-columns:1fr; } .portal-banner{ padding:12px 16px 0; } .plat-body{ padding:16px; } }
.pt-who .plat-link{ color:var(--accent-ink); background:var(--accent); }
.pt-who .pt-firm{ color:#C9D3CC; }
.iban-rows .acc-row{ display:grid; grid-template-columns:140px 1fr; gap:10px; align-items:baseline; }
.iban-rows .acc-row p{ margin:4px 0; }
.plat-toolbar{ display:flex; justify-content:flex-end; margin:14px 0 12px; }
.plan-edit-grid > .card{ margin:0; }
@media (max-width:860px){ .topbar .plat-link, .pt-firm, .topbar .tb-logo{ display:none; } .pt-who .plat-link{ padding:4px 8px; font-size:12px; } }

/* ===== v16: banka ekstresi ===== */
.st-meta{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px 16px; margin:4px 0 14px; }
.st-meta .k{ margin:0; font-size:11.5px; color:var(--ink-faint); }
.st-meta .v{ margin:2px 0 0; font-weight:600; font-size:13.5px; word-break:break-word; }
.st-desc{ max-width:320px; font-size:12.5px; color:var(--ink-soft); }
.ok-t{ color:var(--ok); }
.tx-top .grow{ flex:1; min-width:0; }
.tx-chk{ width:18px; height:18px; margin:2px 10px 0 0; accent-color:var(--accent); flex:none; }
.tx-party{ font-weight:600; margin-top:2px; }
.tx-sug{ background:var(--blue-soft); color:var(--blue); border-radius:8px; padding:7px 11px; font-size:13px; margin-top:10px; }
.tx-sug .t-sub{ color:var(--blue); opacity:.85; }
.tx-dup{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; background:var(--warn-soft); color:var(--warn); border-radius:8px; padding:8px 11px; font-size:13px; margin-top:10px; }
.bank-tools{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.bank-bulk{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 12px; }
.bank-imps{ margin-bottom:14px; padding:12px 16px; }
.bank-imps summary{ cursor:pointer; font-weight:600; font-size:13.5px; }
.bank-imps .tablewrap{ margin-top:10px; }
.bank-tx .tx-top{ align-items:flex-start; flex-wrap:nowrap; } .bank-tx .tx-amt{ text-align:right; white-space:nowrap; }
.back-link{ display:inline-block; font-size:12.5px; margin-bottom:4px; }

/* ===== v19: yeni site ekranı ===== */
.ns-wrap{ max-width:1180px; width:100%; margin:0 auto; padding:22px 26px 40px; }
.ns-top h1{ margin:2px 0 14px; }
.ns-card{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:34px 40px 28px; box-shadow:0 6px 24px rgba(20,30,25,.05); }
.ns-cols{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.ns-h{ display:flex; align-items:center; gap:10px; font-family:inherit; font-size:15.5px; font-weight:500; margin:0 0 22px; }
.ns-ic svg, .ns-mic svg{ width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; display:block; }
.ns-info{ display:inline-flex; width:18px; height:18px; border-radius:50%; border:1.5px solid #E07B39; color:#E07B39; font-size:11px; font-weight:700; align-items:center; justify-content:center; cursor:help; font-style:normal; }
.fl{ position:relative; margin:0 0 20px; }
.fl > input, .fl > select, .fl > textarea{ width:100%; height:48px; border:1px solid #CFD5D1; border-radius:4px; padding:14px 14px 6px; font-size:15px; background:#fff; color:var(--ink); }
.fl > textarea{ height:auto; min-height:64px; padding-top:18px; }
.fl > select:disabled{ background:#fff; color:var(--ink); opacity:1; }
.fl > label{ position:absolute; left:11px; top:-8px; padding:0 5px; background:#fff; font-size:12px; color:var(--ink-soft); pointer-events:none; line-height:16px; }
.fl > input:focus, .fl > select:focus, .fl > textarea:focus{ border-color:var(--blue); outline:none; box-shadow:0 0 0 1px var(--blue); }
.fl > input:focus + label, .fl > select:focus + label, .fl > textarea:focus + label{ color:var(--blue); }
.fl.grow{ flex:1; margin:0; }
.fl-phone > input{ padding-left:96px; }
.ns-tr{ position:absolute; left:14px; top:50%; transform:translateY(-35%); display:flex; align-items:center; gap:8px; font-size:15px; color:var(--ink); }
.ns-flag{ width:26px; height:17px; border-radius:2px; background:#E30A17 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Ccircle cx='11' cy='10' r='5' fill='%23fff'/%3E%3Ccircle cx='12.3' cy='10' r='4' fill='%23E30A17'/%3E%3Cpath fill='%23fff' d='M15.5 10l3.9-1.3-2.4 3.3V8l2.4 3.3z'/%3E%3C/svg%3E") center/cover; display:inline-block; }
.ns-brow{ display:flex; gap:14px; margin:0 0 20px; }
.ns-brow .ns-cnt{ width:230px; margin:0; }
.ns-kind{ margin:-6px 0 20px; font-size:12.5px; border-radius:6px; padding:7px 10px; }
.ns-kind.daireli{ background:var(--ok-soft); color:var(--ok); }
.ns-kind.villa{ background:var(--blue-soft); color:var(--blue); }
.ns-lbl{ display:block; font-size:13px; font-weight:600; margin:0 0 6px; }
.ns-bina{ display:flex; gap:14px; align-items:stretch; }
.ns-bina input{ flex:1; height:48px; border:1px solid #CFD5D1; border-radius:4px; padding:0 14px; font-size:15px; }
.ns-nvi{ border-radius:24px; padding:0 22px; display:flex; align-items:center; white-space:nowrap; }
.ns-hint{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-soft); margin:12px 0 14px; }
.ns-i{ width:17px; height:17px; border-radius:50%; background:#6B7280; color:#fff; font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.ns-manual{ display:flex; align-items:center; gap:14px; width:100%; max-width:490px; text-align:left; background:#fff; border:1px solid #D7DCD9; border-radius:4px; padding:16px 18px; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.06); font:inherit; color:var(--ink); }
.ns-manual:hover{ border-color:var(--blue); }
.ns-mt{ display:flex; flex-direction:column; flex:1; gap:3px; font-size:13.5px; }
.ns-mt span{ color:var(--blue); font-size:13px; }
.ns-plus{ width:22px; height:22px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:17px; line-height:1; }
.ns-addr{ margin-top:22px; }
.ns-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ns-foot{ display:flex; justify-content:flex-end; margin-top:18px; }
.ns-go{ background:var(--blue); color:#fff; border-color:var(--blue); border-radius:26px; padding:13px 54px; font-size:14.5px; }
.ns-go:hover{ filter:brightness(1.05); }
@media (max-width:860px){ .ns-cols{ grid-template-columns:1fr; gap:10px; } .ns-card{ padding:22px 16px; } .ns-wrap{ padding:14px 12px 30px; } .ns-brow{ flex-direction:column; gap:20px; } .ns-brow .ns-cnt{ width:auto; } .ns-bina{ flex-direction:column; } .ns-nvi{ justify-content:center; height:44px; } .ns-grid2{ grid-template-columns:1fr; gap:0; } }
.fl > .ns-ro{ min-height:48px; border:1px solid #CFD5D1; border-radius:4px; padding:14px 14px 10px; font-size:14.5px; line-height:1.4; background:#fff; color:var(--ink); }

/* ===== v21: sıralanabilir tablolar ===== */
table thead th{ cursor:pointer; user-select:none; position:relative; }
table thead th:empty, table thead th:has(input){ cursor:default; }
table thead th:hover:not(:empty):not(:has(input)){ color:var(--ink); }
table thead th.sort-asc::after{ content:' ▲'; font-size:9px; color:var(--accent); }
table thead th.sort-desc::after{ content:' ▼'; font-size:9px; color:var(--accent); }
@media print{ table thead th.sort-asc::after, table thead th.sort-desc::after{ content:''; } }
table thead th.no-sort{ cursor:default; }

/* ===== v25: denetçi (salt okunur) görünüm ===== */
.app.ro .page-actions > button:not(.ro-ok), .app.ro .page-actions > a.btn:not(.ro-ok), .app.ro .bulkbar, .app.ro .bank-bulk, .app.ro .bank-tx .tx-match, .app.ro .bank-tx .tx-dup button, .app.ro .tx-chk,
.app.ro td > input[type=checkbox], .app.ro th > input[type=checkbox], .app.ro .row-acts .danger, .app.ro .sc-edit{ display:none !important; }
.modal.ro-modal form button[type=submit], .ro-modal .modal-foot .btn.danger{ display:none !important; }
.perm-t{ width:100%; border-collapse:collapse; font-size:13.5px; }
.perm-t th, .perm-t td{ padding:9px 10px; border-bottom:1px solid var(--line-soft); text-align:left; }
.perm-t th.c, .perm-t td.c{ text-align:center; width:120px; }
.perm-t input[type=checkbox]{ width:18px; height:18px; accent-color:var(--accent); }
.perm-t tr.grp td{ background:var(--bg); font-weight:600; font-size:12.5px; color:var(--ink-soft); }
.perm-t .lock{ color:var(--ok); font-weight:700; }
tr.kisi-top td{ background:var(--accent-soft); font-weight:600; font-size:12.5px; } tr.sub-row:not(.kisi-top) td:first-child a{ opacity:.55; }
/* v28 kişi sayfası sekmeleri */
.p-title{ font:600 20px var(--font-display, var(--font-body)); margin:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.p-bal{ font:500 13px var(--font-body); color:var(--ink-soft); margin-left:6px; }
.p-subtabs{ display:flex; gap:6px; flex-wrap:wrap; margin:0 0 12px; }
.p-subtabs .chip{ border:1px solid var(--line); background:var(--surface, #fff); color:var(--ink-soft); border-radius:999px; padding:6px 13px; font:500 12.5px var(--font-body); cursor:pointer; }
.p-subtabs .chip.on{ background:var(--accent); border-color:var(--accent); color:#fff; }
.p-dl{ display:grid; grid-template-columns:minmax(150px, 230px) 1fr; gap:0; margin:0; }
.p-dl dt, .p-dl dd{ padding:9px 10px; border-bottom:1px solid var(--line); margin:0; font-size:13.5px; }
.p-dl dt{ color:var(--ink-soft); font-weight:500; }
.p-dl dd{ word-break:break-word; }
@media (max-width:640px){ .p-dl{ grid-template-columns:1fr; } .p-dl dt{ border-bottom:none; padding-bottom:0; } }
tr.devir td{ background:var(--accent-soft); color:var(--ink-soft); }
/* v29 işlem kaydı ayrıntısı / geri al */
.aud-rec{ border:1px solid var(--line); border-radius:10px; margin:0 0 10px; overflow:hidden; }
.aud-h{ padding:8px 12px; background:var(--accent-soft); font-size:13px; }
.aud-t{ width:100%; border-collapse:collapse; font-size:13px; }
.aud-t th{ text-align:left; font-weight:500; color:var(--ink-soft); width:34%; padding:6px 12px; border-top:1px solid var(--line); background:none; text-transform:none; letter-spacing:0; }
.aud-t td{ padding:6px 12px; border-top:1px solid var(--line); word-break:break-word; }
.aud-t td.old{ color:var(--ink-soft); text-decoration:line-through; }
.aud-t td.arrow{ width:24px; color:var(--ink-soft); text-align:center; padding:6px 2px; }
.undo-btn{ white-space:nowrap; }

/* ===== v30: sık tablolar, ikon düğmeler, Kişilere Göre Finansal Durum, cari kart, mobil ===== */
/* daha çok satır sığsın */
th,td{ padding:6px 10px; line-height:1.35; }
th{ font-size:11px; }
table{ font-size:12.8px; }
.rep-table th, .rep-table td{ padding:4px 8px; font-size:12.5px; }
.p-dl dt, .p-dl dd{ padding:6px 10px; }
/* sayfa başlığı ve tablolar yukarı */
.content{ padding:14px 22px 22px; }
.page-head{ margin-bottom:10px; gap:10px; align-items:center; }
.page-head h1{ font-size:1.45rem; line-height:1.2; }
.page-head .sub{ margin:2px 0 0; font-size:12.5px; }
.toolbar{ margin-bottom:8px; }
.alpha{ margin-bottom:8px; }
.card{ padding:14px 16px; }
.pager{ margin-top:8px; }
/* sembol düğmeler */
.btn.ic-btn{ padding:6px 8px; gap:6px; }
.btn.ic-btn svg, .btn svg, .tb-ic svg, .fin-pager .pg svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.btn.ic-btn.xls{ color:#1D6F42; }
.btn.ic-btn:not(.ghost){ padding:6px 9px; }
.btn.ic-txt{ padding:6px 11px; }
.stack{ display:flex; flex-direction:column; line-height:1.3; }
/* finans listesi */
.fin-page .alpha button{ min-width:26px; height:26px; }
.fin-table td{ padding-top:5px; padding-bottom:5px; }
.fin-table td:nth-child(2) a{ font-weight:600; }
.fin-foot{ position:sticky; bottom:0; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; background:var(--bg); border-top:1px solid var(--line); padding:8px 0; margin-top:8px; }
.fin-acts{ display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.fin-pager{ display:flex; gap:6px; align-items:center; }
.fin-pager .pg{ width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); background:#fff; border-radius:7px; cursor:pointer; color:var(--ink); }
.fin-pager .pg:disabled{ opacity:.4; cursor:default; }
.fin-pager .pg-in{ width:58px; height:32px; padding:4px 6px; text-align:center; }
/* cari sayfası (kişinin içi) */
.cari-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.cari-top h1{ font-size:1.4rem; }
.cari-tb{ display:flex; gap:4px; }
.tb-ic{ width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); background:#fff; border-radius:8px; cursor:pointer; color:var(--ink); text-decoration:none; }
.tb-ic:disabled{ opacity:.35; cursor:default; }
.tb-ic:hover:not(:disabled){ border-color:var(--ink-faint); }
.cari-name.pill{ display:inline-flex; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:5px 16px; color:#fff; text-decoration:none; margin-bottom:6px; }
.cari-contact div{ line-height:1.6; }
.cari-panel{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px; }
.cari-panel .cari-toolbar{ margin-bottom:10px; }
.cari-sws{ display:flex; gap:22px; flex-wrap:wrap; align-items:center; }
.switch{ display:inline-flex !important; align-items:center; gap:9px; margin:0; cursor:pointer; font-size:13.5px; color:var(--ink); font-weight:500; }
.switch input{ position:absolute; opacity:0; width:1px; height:1px; }
.switch .sw-k{ width:38px; height:22px; border-radius:22px; background:#D5D9D4; position:relative; transition:background .15s; flex-shrink:0; }
.switch .sw-k::after{ content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:left .15s; box-shadow:0 1px 2px rgba(0,0,0,.2); }
.switch input:checked + .sw-k{ background:var(--ok); }
.switch input:checked + .sw-k::after{ left:19px; }
.switch input:focus-visible + .sw-k{ outline:2px solid var(--accent); outline-offset:2px; }
.cari-panel details.daire{ border:none; border-bottom:6px solid #fff; }
.cari-panel details.daire > summary{ background:#F2F3F1; border-radius:8px; padding:10px 16px; }
.cari-panel details.daire > summary::before, .cari-panel details.kalem > summary::before{ content:"+"; font-size:16px; width:14px; color:var(--ink-soft); font-weight:600; }
.cari-panel details.daire[open] > summary::before, .cari-panel details.kalem[open] > summary::before{ content:"−"; }
.cari-panel .daire-body{ padding-top:6px; }
.cari-total{ display:flex; align-items:center; padding:12px 16px 4px; font-weight:700; }
.cari-total .ch-label{ flex:1; text-align:right; padding-right:18px; }
.cari-total .ch-n{ font-weight:700; }
.cari-acts{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin:16px 0; }
.cari-acts .btn{ padding:10px 20px; font-size:14px; }
.cari-acts .btn svg{ width:18px; height:18px; }
.btn.blue{ background:#3B82F6; color:#fff; }
.btn.green{ background:#5CB85C; color:#fff; }
.cari-notes{ padding:0; overflow:hidden; }
.cari-tabs{ display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.cari-tabs button{ background:#FAFBFA; border:none; padding:11px; font:500 13.5px var(--font-body); color:var(--ink-soft); cursor:pointer; }
.cari-tabs button.on{ background:#fff; color:var(--ink); box-shadow:inset 0 -2px 0 var(--accent); }
.cari-tabbody{ padding:14px 16px; min-height:90px; }

/* ===== mobil ===== */
@media (max-width:860px){
  .content{ padding:10px 10px 18px; }
  .page-head{ flex-direction:column; align-items:stretch; }
  .page-head .page-actions{ display:flex; flex-wrap:wrap; gap:6px; }
  .topbar{ height:52px; gap:8px; }
  .who .link:not(.muted){ display:none; }
  .who-name{ display:none; }
  .site-pick{ min-width:0; flex:1; }
  .site-pick select, .site-pick button:not(.menu-btn){ max-width:100%; }
  .row-fields{ gap:0 10px; }
  .row-fields > *{ flex:1 1 100%; min-width:0; }
  .inline-form{ flex-wrap:wrap; }
  .inline-form > *{ flex:1 1 100%; }
  .alpha{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; -webkit-overflow-scrolling:touch; }
  .alpha button{ flex-shrink:0; }
  .tablewrap{ border-radius:10px; -webkit-overflow-scrolling:touch; }
  table{ font-size:12.5px; }
  th,td{ padding:6px 8px; }
  .fin-foot{ position:static; flex-direction:column; align-items:stretch; }
  .fin-acts .btn span{ display:none; }
  .fin-acts .btn{ padding:8px 10px; }
  .fin-pager{ justify-content:center; }
  .cari-card{ padding:14px; gap:12px; }
  .cari-sums{ width:100%; }
  .cari-panel{ padding:8px; }
  .cari-sws{ gap:12px; flex-direction:column; align-items:flex-start; }
  .cari-toolbar{ flex-direction:column; align-items:stretch; }
  .cari-range{ display:flex; gap:6px; align-items:center; }
  .cari-range input{ min-width:0; }
  .cari-colhead, details.daire > summary, details.kalem > summary, .cari-total{ font-size:11.5px; padding-left:8px; padding-right:8px; }
  .cari-colhead .ch-n, details.daire > summary .ch-n, details.kalem > summary .ch-n, .cari-total .ch-n{ width:auto; flex:0 0 22%; text-align:right; font-size:11px; }
  .cari-total .ch-label{ padding-right:6px; }
  .cari-acts .btn{ flex:1 1 45%; justify-content:center; padding:10px 12px; }
  .cari-top h1{ font-size:1.15rem; }
  .tb-ic{ width:34px; height:34px; }
  .modal-bg{ padding:8px; }
  .modal{ padding:16px 14px; border-radius:12px; }
  .modal-foot{ flex-wrap:wrap; }
  .p-subtabs{ flex-wrap:nowrap; overflow-x:auto; }
  .p-subtabs .chip{ flex-shrink:0; }
  .fr-row{ flex-direction:column; align-items:stretch; }
  .fr-row > label{ width:auto !important; }
  .tabs{ -webkit-overflow-scrolling:touch; }
  .bulkbar{ flex-wrap:wrap; }
  .audit-f{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
}
@media (max-width:480px){
  .page-head h1{ font-size:1.2rem; }
  .cari-colhead .ch-n:nth-child(3), details.daire > summary .ch-n:nth-child(3), details.kalem > summary .ch-n:nth-child(3), .cari-total .ch-n:nth-child(3){ display:none; }
  .cari-colhead .ch-n, details.daire > summary .ch-n, details.kalem > summary .ch-n, .cari-total .ch-n{ flex-basis:27%; }
  .audit-f{ grid-template-columns:1fr; }
}

/* v32 otomatik borçlandırma, daireden çıkış */
.ar-form .tabs{ margin:-6px 0 14px; }
.ar-f{ display:grid; grid-template-columns:260px minmax(0,460px); gap:14px; align-items:center; margin-bottom:10px; }
.ar-f > label{ margin:0; font-size:13.5px; color:var(--ink); font-weight:500; }
.ar-f .req{ color:var(--accent); }
.big-chk{ width:22px; height:22px; accent-color:var(--accent); }
.ar-amts{ margin:4px 0 14px; }
.ar-amtwrap{ display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap; padding-left:274px; }
.ar-list{ display:flex; flex-direction:column; gap:8px; }
.ar-row{ display:grid; grid-template-columns:200px 150px 30px; gap:10px; align-items:center; font-size:13.5px; }
.ar-row.tot{ border-top:1px dashed var(--line); padding-top:8px; }
.ar-row.tot b{ text-align:right; padding-right:12px; }
.ar-in{ text-align:right; }
.ar-bulk{ border:1px solid var(--accent); border-radius:10px; padding:10px; display:flex; flex-direction:column; gap:7px; width:220px; }
.ar-brow{ display:flex; gap:5px; align-items:center; }
.ar-brow input{ flex:1; min-width:0; padding:6px 8px; }
.ar-b{ border:1px solid var(--line); background:#fff; border-radius:6px; padding:6px 9px; font:600 12px var(--font-body); cursor:pointer; min-width:34px; }
.ar-b:hover{ border-color:var(--accent); }
.ex-opts{ display:flex; flex-direction:column; gap:8px; margin:10px 0 12px; }
.ex-opt{ display:flex !important; gap:10px; align-items:flex-start; border:1px solid var(--line); border-radius:10px; padding:10px 12px; cursor:pointer; color:var(--ink); font-size:13.5px; }
.ex-opt input{ width:auto; margin-top:3px; }
.ex-opt:has(input:checked){ border-color:var(--accent); background:var(--accent-soft); }
@media (max-width:860px){
  .ar-f{ grid-template-columns:1fr; gap:4px; }
  .ar-amtwrap{ padding-left:0; }
  .ar-row{ grid-template-columns:1fr 120px 24px; }
  .ar-bulk{ width:100%; }
}

/* v33 sütun filtresi, daha sık satırlar, daire durumu kısa */
th,td{ padding:3px 8px; line-height:1.25; }
table{ font-size:12.5px; }
th{ font-size:10.8px; }
.rep-table th, .rep-table td{ padding:3px 7px; }
.fin-table td{ padding-top:3px; padding-bottom:3px; }
.cell-in{ padding:3px 6px; }
td .btn.sm{ padding:3px 8px; }
td input[type=checkbox]{ margin:0; vertical-align:middle; }
.th-f{ background:none; border:none; padding:0 0 0 4px; margin:0; cursor:pointer; color:var(--ink-faint); opacity:.55; vertical-align:middle; line-height:0; }
.th-f svg{ width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; }
th:hover .th-f{ opacity:1; }
th.f-on{ color:var(--accent-ink); background:var(--accent-soft); }
th.f-on .th-f{ opacity:1; color:var(--accent); }
.cari-colhead .th-f{ color:#fff; }
.cf-pop{ position:fixed; z-index:80; width:240px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 28px rgba(0,0,0,.18); padding:10px; }
.cf-h{ font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft); margin-bottom:6px; }
.cf-pop input{ padding:7px 9px; }
.cf-row{ display:flex; justify-content:space-between; align-items:center; margin-top:6px; font-size:12px; }
.cf-info{ color:var(--ink-soft); }
.tag.st-dolu, .tag.st-kirada{ min-width:22px; text-align:center; }

/* v34 içe aktarma ilerleme çubuğu */
.pg-box{ margin:8px 0; }
.pg-track{ height:10px; background:var(--line-soft); border-radius:6px; overflow:hidden; border:1px solid var(--line); }
.pg-fill{ height:100%; width:0; background:linear-gradient(90deg,var(--accent),#d4a55a); transition:width .25s; }
.pg-txt{ font-size:12.5px; color:var(--ink-soft); margin-top:5px; font-variant-numeric:tabular-nums; }

/* v35 sol menü sık */
.sb-nav{ padding:8px 10px 16px; }
.sb-nav a.sb-link{ padding:6px 11px; margin-bottom:1px; line-height:1.3; }
.sb-head{ padding:6px 11px; }
.sb-sub{ margin:1px 0 3px 17px; }
.sb-nav a.sb-link.sub{ padding:4px 10px; }
.sb-sub.lvl2{ margin:0 0 2px 12px; }
.sb-nav a.sb-link.sub2{ padding:4px 9px; }
.sb-head.h2{ padding:5px 10px; }
.firm-links{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }

/* v37 toplu mesaj (Apsiyon "SMS ile Bildirim" düzeni) */
.ms-page .card{ padding:18px 22px; }
.ms-h{ font-family:var(--font-body); font-size:1.05rem; font-weight:500; margin:6px 0 14px; display:flex; align-items:center; gap:8px; }
.ms-ic{ font-size:15px; opacity:.75; }
.ms-hr{ border:none; border-top:1px solid var(--line); margin:18px 0; }
.ms-pill{ display:inline-block; border:1px dashed var(--line); border-radius:6px; padding:5px 12px; font-variant-numeric:tabular-nums; background:var(--bg); }
.ms-pick{ display:grid; grid-template-columns:260px 1fr; gap:18px; margin:4px 0 14px; align-items:start; }
.ms-filters{ border-right:1px solid var(--line-soft); padding-right:12px; }
.ms-fh{ font-weight:600; font-size:12.5px; margin-bottom:4px; }
.ms-f{ border-bottom:1px dashed var(--line); padding:5px 0; }
.ms-f summary{ cursor:pointer; font-size:12.5px; font-weight:600; color:var(--ink); list-style:none; }
.ms-f summary::before{ content:'▾ '; color:var(--ink-faint); }
.ms-f:not([open]) summary::before{ content:'▸ '; }
.ms-fb{ display:flex; flex-direction:column; gap:2px; padding:6px 0 2px 12px; max-height:200px; overflow:auto; }
.ms-fb .inline-chk{ font-size:12.5px; margin:0; }
.ms-list{ max-height:420px; overflow:auto; border:1px solid var(--line); border-radius:10px; }
.ms-t th{ position:sticky; top:0; z-index:1; }
.ms-ta{ min-height:120px; }
.ms-note{ font-size:12.5px; border:1px dashed var(--line); border-radius:8px; padding:7px 10px; margin:8px 0; }
.ms-vars{ display:flex; flex-wrap:wrap; gap:5px; border:1px dashed var(--line); border-radius:8px; padding:8px; margin:8px 0; }
.ms-var{ border:none; border-radius:4px; padding:5px 10px; font:500 12.5px var(--font-body); color:#fff; cursor:pointer; }
.ms-var.c-g{ background:#4CAF50; } .ms-var.c-o{ background:#F59E0B; } .ms-var.c-b{ background:#2196F3; } .ms-var.c-p{ background:#9C27B0; } .ms-var.c-s{ background:#64748B; } .ms-var.c-r{ background:#E53935; }
.ms-var:hover{ filter:brightness(1.1); }
.ms-cnt{ font-size:12.5px; color:var(--ink-soft); display:flex; align-items:center; gap:8px; }
.ms-prev{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin:8px 0; background:var(--bg); max-width:680px; }
@media (max-width:860px){ .ms-pick{ grid-template-columns:1fr; } .ms-filters{ border-right:none; padding-right:0; } }
/* v39 kişiye özel borç bağlantısı */
.pb-card{ max-width:560px; }
.pb-head{ display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.pb-logo{ max-height:42px; max-width:120px; }
.pb-roof svg{ width:40px; height:36px; }
.pb-site{ font:600 1.1rem var(--font-head); }
.pb-sum{ border-radius:12px; padding:14px 16px; margin-bottom:12px; background:var(--ok-soft); }
.pb-sum.debt{ background:var(--bad-soft); }
.pb-name{ font-weight:700; font-size:1.05rem; }
.pb-bal{ font-size:1.6rem; font-weight:700; margin:6px 0 2px; }
.pb-sum.debt .pb-bal{ color:var(--bad); } .pb-sum.ok .pb-bal{ color:var(--ok); }
.pb-acts{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }

/* ===== v43: sakin hizmetleri ===== */
.sb-badge{ margin-left:auto; background:var(--bad); color:#fff; font-size:10.5px; font-weight:700; border-radius:9px; padding:0 6px; line-height:17px; min-width:18px; text-align:center; }
.ph-pick{ margin:8px 0; }
.ph-thumbs{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.ph-th{ position:relative; width:84px; height:84px; border-radius:8px; overflow:hidden; border:1px solid var(--line); background:#f6f6f4; display:block; margin:0; }
.ph-th img{ width:100%; height:100%; object-fit:cover; display:block; }
.ph-x{ position:absolute; top:3px; right:3px; width:22px; height:22px; border-radius:50%; border:none; background:rgba(0,0,0,.6); color:#fff; cursor:pointer; line-height:20px; padding:0; }
.ph-del input{ position:absolute; top:4px; right:4px; width:18px; height:18px; }
.att-file{ display:inline-flex; align-items:center; padding:6px 10px; border:1px solid var(--line); border-radius:8px; text-decoration:none; font-size:13px; background:#fff; }
.tk-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.tk-ctl{ display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; margin-top:14px; padding-top:14px; border-top:1px solid var(--line-soft); }
.tk-ctl .field{ margin:0; min-width:140px; }
.tk-ctl .field.grow{ flex:1 1 220px; }
.tk-tl{ display:flex; flex-direction:column; gap:10px; margin:10px 0 16px; }
.tk-note{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:#fff; max-width:760px; }
.tk-note.staff{ border-left:3px solid var(--accent); }
.tk-note.res{ border-left:3px solid var(--blue); background:var(--blue-soft); }
.tk-note.internal{ background:var(--warn-soft); border-style:dashed; }
.tk-note p{ margin:6px 0 0; white-space:pre-wrap; }
.tk-meta{ font-size:12px; color:var(--ink-soft); display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.tk-card summary{ display:flex; justify-content:space-between; gap:10px; align-items:center; cursor:pointer; list-style:none; }
.tk-card summary::-webkit-details-marker{ display:none; }
.tk-card[open] summary{ margin-bottom:8px; }
.tk-reply{ display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.tk-reply .btn{ align-self:flex-start; }
.stars{ display:flex; align-items:center; gap:2px; margin:8px 0; flex-wrap:wrap; }
.star{ background:none; border:none; font-size:26px; color:#D8CDB7; cursor:pointer; padding:0 2px; line-height:1; }
.stars:hover .star{ color:var(--accent); }
.stars .star:hover ~ .star{ color:#D8CDB7; }
.bud-t input, .bud-t select{ padding:6px 8px; }
.bud-tot{ display:flex; gap:24px; justify-content:flex-end; padding:10px 4px; font-size:14px; flex-wrap:wrap; }
.poll-bars{ display:flex; flex-direction:column; gap:8px; margin:10px 0; }
.pb-l{ display:flex; justify-content:space-between; gap:10px; font-size:13px; }
.pb-bar{ height:8px; background:var(--line-soft); border-radius:6px; overflow:hidden; margin-top:3px; }
.pb-bar i{ display:block; height:100%; background:var(--accent); }
.poll-form{ display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.poll-opt{ padding:9px 11px; border:1px solid var(--line); border-radius:8px; margin:0; color:var(--ink); font-size:14px; cursor:pointer; }
.poll-form .btn{ align-self:flex-start; margin-top:4px; }
.poll-card{ margin-bottom:12px; }
.work-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:14px; }
.work-grid .card + .card{ margin-top:0; }
.slots{ display:flex; flex-wrap:wrap; gap:6px; }
.slot{ border:1px solid var(--ok); background:var(--ok-soft); color:var(--ok); border-radius:8px; padding:7px 10px; font:600 12.5px var(--font-body); cursor:pointer; }
.slot.off{ border-color:var(--line); background:#f3f3f1; color:var(--ink-faint); cursor:not-allowed; text-decoration:line-through; }
.res-tabs{ display:flex; gap:6px; overflow-x:auto; padding:2px 0 10px; margin-bottom:12px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.res-tab{ flex:0 0 auto; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:7px 13px; font:500 13px var(--font-body); cursor:pointer; display:inline-flex; gap:6px; align-items:center; white-space:nowrap; }
.res-tab.on{ background:var(--green); color:#fff; border-color:var(--green); }
.rt-n, .bell-n{ background:var(--bad); color:#fff; border-radius:9px; font-size:10.5px; font-weight:700; padding:0 6px; line-height:17px; }
.res-h{ font-family:var(--font-head); font-size:19px; margin:18px 0 10px; }
.res-body .card{ margin-bottom:12px; }
.res-body .card + .card{ margin-top:0; }
.quick-row{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.quick{ display:inline-flex; gap:6px; align-items:center; border:1px solid var(--accent); background:var(--accent-soft); border-radius:10px; padding:8px 12px; cursor:pointer; font:inherit; color:var(--accent-ink); }
.quick span{ margin-left:4px; font-weight:700; }
.bell{ position:relative; background:#fff; border:1px solid var(--line); border-radius:8px; padding:3px 8px; cursor:pointer; font-size:15px; display:inline-flex; gap:4px; align-items:center; }
.lang-sel{ width:auto; padding:4px 6px; font-size:12px; }
.res-top .who{ display:flex; align-items:center; gap:10px; }
.notif-list{ display:flex; flex-direction:column; gap:6px; }
.notif{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; text-decoration:none; color:inherit; }
.notif.unread{ border-left:3px solid var(--accent); background:var(--accent-soft); }
.notif small{ color:var(--ink-faint); }
.listing.muted{ opacity:.6; }
@media (max-width:600px){ .res-top .who-name{ display:none; } .tk-ctl .field{ min-width:100%; } .work-grid{ grid-template-columns:1fr; } .tk-head{ flex-direction:column; } }

/* ===== v45: site ayarları, hazirun ===== */
.ss-card .ar-body{ max-width:860px; }
.ss-h{ font-family:var(--font-head); font-size:18px; margin:22px 0 10px; }
.hz-form{ max-width:900px; }
.hz-acts{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; padding-left:min(260px,32%); }
.hz-t th, .hz-t td{ font-size:12px; }
.hz-t th.sig, .hz-t td.sig{ width:110px; min-width:90px; border-left:1px solid var(--line); }
tr.overdue-row td{ color:var(--bad); }
tr.overdue-row td a{ color:var(--bad); }
.fr-row.hidden-row{ display:none !important; }
@media (max-width:700px){ .hz-acts{ padding-left:0; } }

/* ===== v46 raporlar ===== */
.notice.warn{ background:var(--warn-soft); color:var(--warn); }
.rpt-kpis{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px; margin:12px 0; }
.rpt-kpis .stat{ padding:12px 14px; }
.rpt-para{ background:#FCFCFA; border:1px solid var(--line-soft); border-radius:10px; padding:10px 14px; margin:12px 0; line-height:1.6; }
.rpt-para p{ margin:4px 0; }
.rep-table tr.overdue-row td{ color:var(--bad); }
.rep-table tr.sub-row td{ background:#fff; }
.rep-table tr.ex-person td{ color:var(--bad); }
.doc-prev{ margin-top:12px; max-height:none; }
.doc-prev .rdoc{ max-width:900px; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.doc-prev .rdoc.page{ border:1px solid var(--line); border-radius:8px; padding:16px 18px; margin:0 0 16px; }
.doc-prev .labels{ max-width:900px; background:#fff; border:1px solid var(--line); }
.doc-prev .rd-letter p{ font-size:13px; }
.rpt-order input{ width:100%; padding:6px 8px; }
.rc-q{ width:100%; max-width:460px; margin:0 0 14px; }
.rc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; align-items:start; }
.rc-g h3{ margin:0 0 8px; font-family:var(--font-head); font-size:1.05rem; }
.rc-g ul{ list-style:none; margin:0; padding:0; }
.rc-g li{ padding:6px 0; border-bottom:1px solid var(--line-soft); }
.rc-g li:last-child{ border-bottom:none; }
.rc-g li small{ display:block; color:var(--ink-faint); font-size:11.5px; line-height:1.35; }
/* grafikler */
.rchart{ display:block; max-width:100%; height:auto; font-family:var(--font-body); }
.rchart.pie{ flex:none; }
.rc-card{ margin:0 0 14px; }
.rc-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 0 8px; }
.rc-head h3{ margin:0; font-family:var(--font-head); font-size:1.05rem; display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; }
.rc-acts{ display:flex; gap:6px; }
.rc-legend{ display:flex; flex-wrap:wrap; gap:6px 16px; justify-content:center; font-size:12.5px; font-weight:600; margin:8px 0 2px; }
.rc-legend i{ display:inline-block; width:11px; height:11px; border-radius:50%; margin-right:6px; vertical-align:-1px; }
.fc-wrap{ display:grid; grid-template-columns:210px 1fr; gap:16px; align-items:start; }
.fc-side{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; position:sticky; top:12px; }
.fc-side button{ background:none; border:none; border-bottom:1px solid var(--line-soft); padding:11px 14px; text-align:left; font:500 13px var(--font-body); color:var(--ink-soft); cursor:pointer; }
.fc-side button:last-child{ border-bottom:none; }
.fc-side button.on{ background:var(--accent-soft); color:var(--accent-ink); font-weight:600; }
.fc-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 12px; }
.fc-dates{ display:flex; align-items:center; gap:6px; }
.fc-dates input{ width:150px; }
.fc-amt{ font-family:var(--font-body); font-size:1rem; }
.fc-pie{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.fc-cat{ margin:0 0 4px; font-size:14px; }
@media (max-width:860px){ .fc-wrap{ grid-template-columns:1fr; } .fc-side{ position:static; flex-direction:row; overflow-x:auto; } .fc-side button{ white-space:nowrap; border-bottom:none; border-right:1px solid var(--line-soft); } }
/* ödeme skoru */
.sk-bar{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:0 0 12px; border-bottom:1px solid var(--line-soft); margin:0 0 14px; }
.sk-bar label{ font-size:13px; color:var(--ink-soft); }
.sk-bar input{ width:160px; }
.sk-filt{ display:inline-flex; gap:6px; }
.sk-filt select{ width:auto; }
.sk-site{ font-size:15px; letter-spacing:.02em; }
.sk-head h2{ margin:6px 0 14px; font-size:1.2rem; }
.sk-top{ display:grid; grid-template-columns:260px 1fr; gap:18px; align-items:center; }
.sk-gauge{ text-align:center; }
.sk-box{ border:1px solid var(--line); border-radius:12px; padding:14px; }
.sk-cnt{ text-align:center; margin:0 0 12px; }
.sk-cnt span{ display:block; font-size:16px; color:var(--ink-soft); }
.sk-cnt small{ display:block; color:var(--ink-faint); }
.sk-cnt b{ display:block; font-size:2rem; text-decoration:underline; margin-top:4px; }
.sk-bands{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sk-band{ border:1px solid var(--line); text-decoration:none; color:inherit; display:flex; flex-direction:column; border-radius:6px; overflow:hidden; }
.sk-band > span{ padding:12px 8px; text-align:center; color:var(--ink-soft); font-size:14px; }
.sk-band > div{ color:#fff; text-align:center; padding:10px 6px; }
.sk-band b{ display:block; font-size:1.8rem; line-height:1.1; }
.sk-band.g > div{ background:#05C11E; } .sk-band.y > div{ background:#E3B300; } .sk-band.r > div{ background:#FF1E2D; }
.sk-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:14px; margin-top:16px; }
.sk-note{ background:var(--bg); color:var(--ink-soft); text-align:center; padding:10px 14px; border-radius:8px; font-size:12.5px; margin-top:6px; }
.sk-table td, .sk-table th{ font-size:12.5px; }
@media (max-width:860px){ .sk-top, .sk-grid{ grid-template-columns:1fr; } .sk-bands{ grid-template-columns:1fr; } }
.sk-grid .rc-card{ margin:0; }

/* ===== v47 sayaçlar + yeni kişi formu ===== */
.mt-help{ margin-top:14px; font-size:13px; color:var(--ink-soft); line-height:1.55; }
.mt-units{ display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:4px 10px; max-height:200px; overflow:auto; border:1px solid var(--line); border-radius:8px; padding:8px; margin:-4px 0 10px; font-size:13px; }
.mt-units label{ display:flex; align-items:center; gap:5px; }
.mt-read input.cell-in{ max-width:130px; text-align:right; }
.mt-read tr.mt-upper td{ background:var(--accent-soft); }
.mt-foot{ margin:10px 0 0; font-size:13.5px; color:var(--ink-soft); }
.mt-acts{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:12px; }
.mt-prev{ margin-top:14px; }
tr.muted-row td{ color:var(--ink-faint); }
.pf-rows{ display:flex; flex-direction:column; gap:8px; margin:0 0 8px; }
.pf-row{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)) auto; gap:8px; align-items:end; background:var(--bg); border-radius:8px; padding:8px; }
.pf-row label{ display:flex; flex-direction:column; gap:3px; font-size:11.5px; color:var(--ink-soft); }
.pf-row label input, .pf-row label select{ width:100%; }
@media (max-width:760px){ .pf-row{ grid-template-columns:1fr 1fr; } }

/* ===== v48: Tablo ayarları (Apsiyon düzeni) · sayfalama ===== */
.tbl-bar{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 6px; min-height:26px; }
.tbl-cnt{ font-size:12.5px; color:var(--ink-soft); font-variant-numeric:tabular-nums; }
.tbl-gear{ display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--line); border-radius:7px; padding:4px 7px; cursor:pointer; color:var(--ink-soft); }
.tbl-gear:hover{ color:var(--ink); border-color:var(--ink-faint); }
.tbl-gear svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tbl-pager{ justify-content:flex-end; margin:10px 0 4px; flex-wrap:wrap; }
.tbl-pager .pg-per, .fin-pager .pg-per{ width:auto; height:32px; padding:3px 8px; font-size:12.5px; margin-left:6px; }
tr.pg-off{ display:none !important; }
.tc-hide{ display:none !important; }
th.nof .th-f{ display:none; }
table.ts-zero td.is-z{ color:transparent; }
table.ts-zero td.is-z *{ visibility:hidden; }
table.ts-num tbody{ counter-reset: rn var(--rn0, 0); }
table.ts-num thead tr::before{ content:'#'; display:table-cell; padding:11px 8px; width:34px; color:var(--ink-faint); font-weight:600; font-size:12px; border-bottom:1px solid var(--line-soft); background:inherit; }
table.ts-num tbody tr::before, table.ts-num tfoot tr::before{ content:''; display:table-cell; padding:8px; width:34px; border-bottom:1px solid var(--line-soft); }
table.ts-num tbody tr.rn::before{ counter-increment: rn; content: counter(rn); color:var(--ink-faint); font-size:12px; text-align:right; font-variant-numeric:tabular-nums; vertical-align:middle; }
table.ts-wide{ table-layout:fixed; }
table.ts-wide td, table.ts-wide th{ overflow:hidden; text-overflow:ellipsis; }
th{ position:relative; }
.th-rs{ position:absolute; top:0; right:-3px; width:7px; height:100%; cursor:col-resize; z-index:2; }
.th-rs:hover, .th-rs:active{ background:var(--accent-soft); }
.ts-bg{ position:fixed; inset:0; background:rgba(20,28,22,.28); z-index:90; display:flex; justify-content:flex-end; }
.ts-drawer{ width:min(400px, 100vw); height:100%; background:#fff; display:flex; flex-direction:column; box-shadow:-10px 0 30px rgba(0,0,0,.18); animation:tsIn .18s ease-out; }
@keyframes tsIn{ from{ transform:translateX(30px); opacity:.4; } to{ transform:none; opacity:1; } }
.ts-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--line); font-size:15px; }
.ts-body{ flex:1; overflow:auto; padding:12px 18px; }
.ts-opt{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line-soft); margin:0; font-size:13.5px; color:var(--ink); font-weight:500; cursor:pointer; }
.ts-opt.dis{ opacity:.45; cursor:default; }
.ts-opt select{ width:auto; padding:5px 8px; }
.ts-opt span{ flex:1; }
.ts-opt .ts-sw{ order:2; }
.ts-sw{ appearance:none; -webkit-appearance:none; width:38px !important; height:22px; padding:0 !important; border-radius:22px; background:#cfd5d0; position:relative; cursor:pointer; border:none !important; flex:none; transition:background .15s; }
.ts-sw::after{ content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:left .15s; box-shadow:0 1px 2px rgba(0,0,0,.25); }
.ts-sw:checked{ background:var(--accent); }
.ts-sw:checked::after{ left:19px; }
.ts-sec{ margin:16px 0 6px; font-weight:600; font-size:13px; }
.ts-cols{ border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.ts-ch, .ts-row{ display:grid; grid-template-columns:24px 1fr 52px 46px 50px; align-items:center; gap:4px; padding:6px 8px; font-size:13px; }
.ts-ch{ background:var(--line-soft); font-size:11.5px; font-weight:600; color:var(--ink-soft); }
.ts-row{ border-top:1px solid var(--line-soft); background:#fff; }
.ts-row input[type=checkbox]{ width:16px; height:16px; justify-self:center; }
.ts-row.drag{ opacity:.45; } .ts-row.over{ box-shadow:inset 0 2px 0 var(--accent); }
.ts-drag{ cursor:grab; color:var(--ink-faint); font-size:16px; text-align:center; user-select:none; }
.ts-lbl{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ts-mv{ display:flex; gap:2px; justify-content:flex-end; }
.ts-mv button{ border:1px solid var(--line); background:#fff; border-radius:5px; font-size:9px; width:22px; height:20px; cursor:pointer; padding:0; color:var(--ink-soft); }
.ts-mv button:disabled{ opacity:.3; cursor:default; }
.ts-foot{ display:flex; justify-content:space-between; gap:10px; padding:12px 18px; border-top:1px solid var(--line); }
@media print{ .tbl-bar, .tbl-pager, .th-rs{ display:none !important; } tr.pg-off{ display:table-row !important; } }
/* WhatsApp QR */
.wa-qr{ display:flex; flex-direction:column; align-items:center; gap:8px; min-height:280px; justify-content:center; }
.wa-qr img{ width:264px; height:264px; image-rendering:pixelated; border:1px solid var(--line); border-radius:8px; }
.wa-steps{ margin:0 0 10px 18px; padding:0; font-size:13.5px; line-height:1.7; }
.wa-state{ margin-top:10px; }
/* Toplu borçlandırma */
.cb-yes{ color:#1f8a3b; font-weight:700; } .cb-no{ color:#c0392b; font-weight:700; }
.cb-units{ max-height:380px; overflow:auto; }
.cb-prev{ margin-top:14px; border-top:1px solid var(--line); padding-top:12px; }
.cb-prev .tablewrap{ max-height:320px; overflow:auto; }
.bill-wrap .ns-top h1{ margin:0; }
select.pu-filtered{ border-color:var(--accent); background:var(--accent-soft); }
