/* Shavkat aka bank tabi (ADR-0132, 2026-09-14) — `modules/bank.js`.
   Faqat `tokens.css` tokenlari: xom rang, xom o'lcham yo'q. Sinflar `bnk-`
   prefiksi bilan — umumiy `.btn`/`.kpi`/`.tbl` qatlamiga tegmaydi.
   Raqamlar `mono` + `tabular-nums`: pul ustunlari xonama-xona tekislanadi. */

.bnk-sarlavha { margin: 0 0 var(--sp-4) }
.bnk-h { font-size: var(--fs-5); font-weight: 700; margin: 0 0 var(--sp-1) }
.bnk-izoh { color: var(--muted); font-size: var(--fs-2); line-height: var(--lh-base); margin: 0; max-width: 72ch }

/* ── Isbot lentasi: daftarning holati birinchi ko'rinadigan narsa ── */
.bnk-isbot {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2) var(--sp-4);
  margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-5);
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel2);
  font-size: var(--fs-3)
}
.bnk-isbot span { color: var(--muted); font-size: var(--fs-2) }
.bnk-isbot-ok { border-color: var(--tint-teal-ring); background: var(--tint-teal-2) }
.bnk-isbot-ok b { color: var(--teal) }
.bnk-isbot-buzuq { border-color: var(--tint-red-line); background: var(--tint-red-2) }
.bnk-isbot-buzuq b { color: var(--red) }

/* ── Amallar ── */
.bnk-amallar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin: var(--sp-4) 0 var(--sp-3) }
.bnk-ajrat { flex: 1 }
#bnk-xabar:empty { display: none }
#bnk-xabar { margin: 0 0 var(--sp-3) }

/* ── Bloklar ── */
.bnk-blok { margin: var(--sp-6) 0 0; display: flex; flex-direction: column; gap: var(--sp-2) }
.bnk-blok-h { margin: 0; font-size: var(--fs-4); font-weight: 700 }
.bnk-ikki { display: grid; grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); gap: 0 var(--sp-6) }
.bnk-oyoq-izoh { margin-top: var(--sp-6) }

/* ── Jadvallar ── */
.bnk-jadval-quti { overflow-x: auto }
.bnk-jadval td, .bnk-jadval th { vertical-align: top }
.bnk-jadval .mono, .bnk-summa, .bnk-oyoq-summa { font-variant-numeric: tabular-nums }
.bnk-ong { text-align: right; white-space: nowrap }
.bnk-jadval td.mono:first-child { white-space: nowrap }
.bnk-mijoz { display: flex; flex-direction: column; gap: var(--sp-0) }
.bnk-mijoz-nom { font-weight: 600; color: var(--txt) }
.bnk-kod { color: var(--muted); font-size: var(--fs-2) }
.bnk-manfiy { color: var(--red) }
.bnk-ok { color: var(--teal) }
.bnk-nol { color: var(--muted2) }
.bnk-yoq { color: var(--muted2) }

.bnk-summa {
  background: transparent; border: 1px solid transparent; border-radius: var(--r-sm);
  color: var(--txt); font-size: var(--fs-3); padding: var(--sp-0) var(--sp-2); cursor: pointer
}
.bnk-summa:hover { border-color: var(--line-strong); background: var(--panel2) }
.bnk-summa.bnk-manfiy { color: var(--red) }
.bnk-summa.bnk-nol { color: var(--muted2) }
.bnk-hisob-och, .bnk-amal {
  background: transparent; border: 1px dashed var(--line); color: var(--muted); border-radius: var(--r-md);
  padding: var(--sp-0) var(--sp-2); font-size: var(--fs-2); cursor: pointer; white-space: nowrap
}
.bnk-hisob-och:hover, .bnk-amal:hover { border-color: var(--line-strong); color: var(--txt) }
.bnk-amal { border-style: solid }
.bnk-amal-xavf { color: var(--red); border-color: var(--tint-red-line) }
.bnk-summa:focus-visible, .bnk-hisob-och:focus-visible, .bnk-amal:focus-visible, .bnk-yop:focus-visible {
  outline: 2px solid var(--steel); outline-offset: 2px
}

.bnk-ref { font-size: var(--fs-2); color: var(--txt); word-break: break-all }
.bnk-tur { font-size: var(--fs-1); color: var(--muted); text-transform: uppercase; letter-spacing: .04em }
.bnk-kim { color: var(--muted); font-size: var(--fs-2); white-space: nowrap }
.bnk-bekor td, .bnk-bekor th { opacity: .62 }
.bnk-ochilish td, .bnk-ochilish th { background: var(--panel-deep) }

.bnk-belgilar { display: flex; flex-wrap: wrap; gap: var(--sp-1); margin-top: var(--sp-1) }
.bnk-belgi {
  font-size: var(--fs-1); color: var(--txt); background: var(--panel2); border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: 0 var(--sp-2)
}
.bnk-belgi-bekor { color: var(--amber); border-color: var(--tint-amber-line); background: var(--tint-amber-2) }

.bnk-oyoqlar { display: flex; flex-direction: column; gap: var(--sp-0); min-width: 18rem }
.bnk-oyoq { display: grid; grid-template-columns: auto 1fr auto; gap: var(--sp-2); align-items: baseline }
.bnk-oyoq-summa { text-align: right; white-space: nowrap; font-size: var(--fs-2) }
.bnk-yon {
  font-size: var(--fs-1); font-weight: 700; border-radius: var(--r-sm); padding: 0 var(--sp-1);
  border: 1px solid var(--line)
}
.bnk-yon-D { color: var(--steel); border-color: var(--tint-steel-line) }
.bnk-yon-C { color: var(--teal); border-color: var(--tint-teal-ring) }

/* ── Dialog (nativ `<dialog>`: fokus tuzog'i va `inert` brauzerdan) ── */
.bnk-dialog {
  margin: auto;
  width: min(44rem, 94vw); max-height: 90vh; padding: 0; color: var(--txt);
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg)
}
.bnk-dialog::backdrop { background: var(--scrim) }
.bnk-dialog-ich { display: flex; flex-direction: column; max-height: 90vh }
.bnk-dialog-bosh {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-6); border-bottom: 1px solid var(--line)
}
.bnk-dialog-bosh h3 { margin: 0; font-size: var(--fs-4); font-weight: 700 }
.bnk-yop { background: transparent; border: 0; color: var(--muted); font-size: var(--fs-4); cursor: pointer; padding: var(--sp-1) var(--sp-2); border-radius: var(--r-sm) }
.bnk-dialog-tana { overflow-y: auto; padding: var(--sp-5) var(--sp-6); display: flex; flex-direction: column; gap: var(--sp-4) }
.bnk-dialog-oyoq {
  display: flex; align-items: center; justify-content: flex-end; gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-6); border-top: 1px solid var(--line); background: var(--panel-deep)
}

.bnk-maydonlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--sp-4) }
.bnk-maydonlar-tor { grid-template-columns: repeat(auto-fit, minmax(10rem, 14rem)) }
.bnk-maydon { display: flex; flex-direction: column; gap: var(--sp-1); font-size: var(--fs-2); color: var(--muted) }
.bnk-maydon .sim-in { min-width: 0; width: 100% }
.bnk-qoldiq { color: var(--muted2); font-size: var(--fs-1) }
.bnk-ref-izoh { margin: 0; color: var(--muted2); font-size: var(--fs-1) }
.bnk-xato { color: var(--red); font-size: var(--fs-2); min-height: 1.2em }
.bnk-kochirma { display: flex; flex-direction: column; gap: var(--sp-3) }

/* ── Savdogar tilidagi ko'rinish (CEO 2026-09-16) ── */
.bnk-kassalar { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--sp-4) }
.bnk-kassa {
  display: flex; flex-direction: column; gap: var(--sp-1); text-align: left; cursor: pointer;
  padding: var(--sp-4) var(--sp-5); color: var(--txt);
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg)
}
.bnk-kassa:hover { border-color: var(--line-strong); background: var(--panel2) }
.bnk-kassa:focus-visible { outline: 2px solid var(--steel); outline-offset: 2px }
.bnk-kassa-nom { font-size: var(--fs-3); font-weight: 700 }
.bnk-kassa-summa { font-size: var(--fs-5); font-weight: 700; font-variant-numeric: tabular-nums; line-height: var(--lh-tight, 1.2) }
.bnk-kassa-izoh { color: var(--muted); font-size: var(--fs-2); line-height: var(--lh-base) }
.bnk-kassa-havola { color: var(--steel); font-size: var(--fs-2); margin-top: auto; padding-top: var(--sp-2) }

.bnk-tomon-summa { display: flex; flex-direction: column; align-items: flex-end; gap: var(--sp-0) }
.bnk-chip { font-size: var(--fs-1); border-radius: var(--r-lg); padding: 0 var(--sp-2); border: 1px solid var(--line); white-space: nowrap }
.bnk-chip-olgan { color: var(--amber); border-color: var(--tint-amber-line); background: var(--tint-amber-2) }
.bnk-chip-bergan { color: var(--teal); border-color: var(--tint-teal-ring); background: var(--tint-teal-2) }

.bnk-filtr { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: 0 0 var(--sp-2) }
.bnk-filtr-btn {
  background: transparent; border: 1px solid var(--line); color: var(--muted); cursor: pointer;
  border-radius: var(--r-lg); padding: var(--sp-0) var(--sp-3); font-size: var(--fs-2)
}
.bnk-filtr-btn.faol { color: var(--txt); border-color: var(--steel); background: var(--panel2) }
.bnk-filtr-btn:focus-visible { outline: 2px solid var(--steel); outline-offset: 2px }

.bnk-texnik { margin: var(--sp-8, 2.5rem) 0 0; border-top: 1px solid var(--line); padding-top: var(--sp-4) }
.bnk-texnik > summary { cursor: pointer; color: var(--muted); font-size: var(--fs-3); font-weight: 600 }

/* ── Kassa vipiskasi (CEO 2026-09-17) ── */
.bnk-vip-bosh { display: flex; align-items: flex-start; gap: var(--sp-4); margin: 0 0 var(--sp-4) }
.bnk-vip-boshqaruv { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--sp-3) var(--sp-5); margin: 0 0 var(--sp-4) }
.bnk-vip-jami { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: var(--sp-3); margin: 0 0 var(--sp-2) }
.bnk-vip-karta { padding: var(--sp-4) var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel) }
.bnk-vip-kirim { border-color: var(--tint-teal-ring); background: var(--tint-teal-2) }
.bnk-vip-chiqim { border-color: var(--tint-red-line); background: var(--tint-red-2) }
.bnk-vip-yorliq { color: var(--muted); font-size: var(--fs-2); font-weight: 600 }
.bnk-vip-summa { font-size: var(--fs-5); font-weight: 700; font-variant-numeric: tabular-nums; margin: var(--sp-1) 0 }
.bnk-vip-kirim .bnk-vip-summa, .bnk-vip-kirim-m { color: var(--teal) }
.bnk-vip-chiqim .bnk-vip-summa, .bnk-vip-chiqim-m { color: var(--red) }
.bnk-vip-izoh { color: var(--muted2); font-size: var(--fs-1) }
.bnk-vip-mos { color: var(--teal) }
.bnk-vip-nomos { color: var(--red); font-weight: 600 }
.bnk-vip-ulush-q { display: flex; align-items: center; gap: var(--sp-2); min-width: 9rem }
.bnk-vip-bar-quti { flex: 1; height: .5rem; background: var(--panel2); border-radius: var(--r-sm); overflow: hidden }
.bnk-vip-bar { display: block; height: 100% }
.bnk-vip-bar-kirim { background: var(--teal) }
.bnk-vip-bar-chiqim { background: var(--red) }
.bnk-vip-kunlar { max-height: 28rem; overflow-y: auto }
@media print {
  .bnk-vip-boshqaruv, .bnk-vip-orqaga, .bnk-filtr { display: none }
  .bnk-vip-kunlar { max-height: none; overflow: visible }
}
.bnk-vip-boshqaruv .bnk-maydonlar { display: flex; gap: var(--sp-3) }
.bnk-vip-boshqaruv .bnk-maydon { min-width: 10rem }

/* Guruhdan qo'lda yangilash (CEO 2026-09-17) */
.bnk-guruh { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); margin: 0 0 var(--sp-3) }
.bnk-guruh > .bnk-izoh { flex: 1 1 280px; margin: 0 }
.bnk-guruh .bnk-amallar { margin: 0 }
