/* Ombor amallari: buyurtma · ko'chirish · chiqim.
 *
 * ⛔ Ikkita narsa ataylab qilingan:
 *
 * 1. Amal tanlash tugmalari YIRIK — bozorda qo'l qo'pol (2.1).
 * 2. Sanash maydoni katta va o'ngda turadi: qabul qilayotgan odam
 *    bir qo'lida tovar sanaydi, ikkinchisi bilan yozadi.
 */

/* ── Amal tanlash ──────────────────────────────────────── */

/* ⛔ 2x2: to'rtinchi amal (sanoq) qo'shilganda 3+1 bo'lib,
 * «Sanoq» pastda yolg'iz qolgan edi — skrinshot 7.9 da. */
/* ⛔ `.ops.three` O‘CHIRILDI (2026-09-17). U savdo bo‘limining
   uchta rejimi uchun edi; haqnoma o‘chirilgach uni hech kim
   ishlatmay qoldi. O‘lik CSS keyingi o‘qiganni adashtiradi —
   toq songa `:last-child:nth-child(odd)` qoidasi javob beradi. */
/* ⛔ Yolg‘iz rejim ikkitalik to‘rda yarim ekranni egallab, yonida
   bo‘sh joy qoldirardi: kassirda «Bugun» da faqat qarz rejasi
   ko‘rinadi (`report.view` yo‘q). */
.ops.one{grid-template-columns:1fr}
.ops{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
  margin-bottom:16px}
/* ⛔ Ramka emas, soya (2026-09-13) — `base.css` dagi `--card-sh`. */
.op{min-height:var(--tap);padding:9px 6px;border-radius:var(--card-r);
  border:0;box-shadow:var(--card-sh);background:var(--glass);
  display:flex;flex-direction:column;gap:2px;align-items:center;
  cursor:pointer;font:inherit;color:var(--muted);text-align:center}
.op b{font-size:var(--t-3);color:var(--ink)}
.op span{font-size:var(--t-1);line-height:1.25}
/* ⛔ Tanlangani — ko'k halqa, soya ustiga qo'shiladi */
.op.on{background:#fff;
  box-shadow:var(--card-sh),0 0 0 2px var(--mid) inset}
.op.on b{color:var(--mid)}
/* Klaviatura raqami — bor-yo'qligini bilish uchun */
.op-key{position:absolute;top:5px;right:8px;font-size:var(--t-1);color:var(--muted)}
.op{position:relative}

@media (max-width:420px){
  .op span{display:none}
  .op{min-height:44px}
}

/* ⛔ KOMPYUTERDA TO'RTTASI BITTA QATORDA.
 *
 * 2x2 to'r telefon uchun to'g'ri (u yerda kenglik yo'q), lekin
 * 1440px da u ekranning tepasidan 200px yeb, savat pastga tushib
 * ketardi — egasi suratda qizil bilan belgiladi. Kenglik bor
 * joyda to'rtta amal bir qatorga sig'adi.
 *
 * `.ops.one` bu yerda TEGILMAYDI: u allaqachon bitta qator va
 * uning tanlagichi kuchliroq. */
/* ⛔ TOQ SONDAGI OXIRGI TUGMA YOLG‘IZ QOLMASIN.
 *
 * Omborda beshta amal bor va ikkitalik to‘rda oxirgisi («Sanoq»)
 * chap yarmida yolg‘iz turib, o‘ng yarmi bo‘sh qolardi — ekran
 * tugallanmagandek ko‘rinardi (2026-09-12, suratda ko‘rindi).
 *
 * ⛔ `.one` CHETLAB O‘TILADI: unda ustun soni boshqacha va bu
 * qoida yolg‘iz tugmani ikki marta cho‘zib yuborardi. */
@media (max-width:819px){
  .ops:not(.one) > .op:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
}

@media (min-width:820px){
  /* ⛔ KOMPYUTERDA BO‘LIM ALMASHTIRGICHI YASHIRINADI (2026-09-14).
   *
   * BILLZ da sahifa ichida bunday qator YO‘Q: navigatsiya yo‘lak
   * va undan ochiladigan menyuda. Bizda esa u menyuni bir joyda
   * ikki marta ko‘rsatib turardi — egasi «barcha narsani billz
   * kabi qil» dedi.
   *
   * ⛔ TUGMALAR O‘CHIRILMAYDI, faqat yashiriladi: telefon aynan
   * shu DOM ni ishlatadi (u yerda menyu yo‘q) va ikkita ko‘rinish
   * uchun ikkita kod yozilmaydi.
   *
   * ⛔ Sharti: sarlavha endi SAHIFA nomini ko‘rsatadi
   * (`screen_title.js`). Busiz kassir qayerdaligini bilmasdi.
   *
   * ⛔ Bu yerda ilgari qatorning KENG EKRANDAGI joylashuvi
   * yozilgan edi: `auto-fit` beshta amalni bir qatorga terardi,
   * `max-width` esa ikkita rejim 500 pikselga cho‘zilishini
   * to‘xtatardi. Qator yashiringach ular O‘LIK qoidaga aylandi
   * va o‘chirildi — o‘lik CSS keyingi o‘qiganni adashtiradi.
   * Telefondagi joylashuv (`.ops` ning asosiy qoidasi va
   * `max-width:819px` bloki) o‘z joyida qoldi. */
  .ops{display:none}
}

/* ── Sanash ────────────────────────────────────────────── */

/* ⛔ Miqdor TAYYOR turadi, lekin o'zgartirilishi mumkin: farq
 * tekislanmaydi, u hujjatda qoladi va mudirga ko'rinadi. */
.count-row{display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-bottom:1px solid var(--line)}
.count-row .who{flex:1;display:flex;flex-direction:column;min-width:0}
.count-row .who b{font-size:var(--t-3);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.count-row .sub{font-size:var(--t-1);color:var(--muted)}
.count-row .cnt{width:84px;height:var(--tap);flex:0 0 auto;
  text-align:center;font-size:19px;font-weight:var(--w-bold);
  border:0;box-shadow:var(--ctl-sh);border-radius:12px;background:#fff;
  color:var(--ink);font-family:inherit}
.count-row .cnt:focus{outline:none;border-color:var(--mid);
  box-shadow:var(--ring)}

.gap{margin:10px 0 2px}
.gap[hidden]{display:none}
/* ⛔ SMENA FARQI SO‘Z BILAN (egasi, 2026-09-18): «25 000 kam».
   Ilgari «Farq: -25 000» deb turardi va minus tez o‘qilganda
   ko‘rinmasdi. Rang ogohlantiradi, so‘z tushuntiradi:
   kam — qizil, ortiqcha — sariq (u ham xato, faqat boshqa
   tomonga), farqsiz — jim kulrang. */
/* ⛔ SMENA YAKUNI — QOG‘OZ KO‘RINISHI.
   ⛔ `.paper` sinfini QAYTA ISHLATMADIM: u `sale_pay.css` da
   `display:none` bilan boshlanadi (telefonda jonli chek
   yashiriladi) va bu yerda blok jimgina yo‘qolardi. Bitta nom
   ikki ekranda ikki ma'no — `test_bare_layout_class_does_not_leak`
   aynan shuni qo‘riqlaydi. */
/* ⛔ TELEFONDA QOG‘OZ SIG‘ADI (4a, 2026-09-28; egasi: «vaziyatga qarab
   ish tut»). 48 belgi `--t-2` da ~375px — 360–390px telefonda o‘ng ustun
   (summalar) kesilib, yonga surib o‘qilardi. Harf qog‘oz eniga qarab
   kichrayadi: monospace belgi ~0,6em, 48 × 0,6 ≈ 29em. Kompyuterda
   `min` uni `--t-2` dan oshirmaydi. Konteyner birligini bilmaydigan
   eski brauzer ikkinchi `font-size` ni tashlaydi — qog‘oz eskicha
   yonga suriladi, lekin buzilmaydi. */
.sh-paper{margin:10px 0;padding:12px;border-radius:var(--radius-sm);
  background:#fff;box-shadow:var(--ctl-sh);overflow-x:auto;
  container-type:inline-size}
.sh-paper pre{margin:0;white-space:pre;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:var(--t-2);font-size:min(var(--t-2),calc(100cqi / 29));
  line-height:1.5;color:var(--ink)}

/* ⛔ NAQD LIMIT ESLATMASI (egasi, 2026-09-18).
   Qizil emas, SARIQ: bu xato emas — pul ko‘p, ya'ni savdo yaxshi
   ketyapti. Qizil rang «nimadir buzildi» deb o‘qiladi va haqiqiy
   kamomad bilan bir xil ko‘rinardi. */
.cash-over{margin:10px 0 2px;padding:10px 12px;border-radius:var(--radius-sm);
  background:#fdf6ea;color:var(--warn);font-size:var(--t-2)}
.cash-over b{font-weight:var(--w-bold)}

/* ⛔ SO‘M VA DOLLAR bilan sanash (13.12).
   Yopiq turadi: dollar har kuni bo‘lmaydi va ikkita ortiqcha
   katak har safar ko‘rinib tursa, ular shovqin bo‘lardi.

   ⛔ KENGLIK CHEKLANGAN. Birinchi urinishda (nominal jadvali)
   qator butun ekranga yoyilgandi va kompyuterda raqam bilan
   natija orasida 900 piksel bo‘sh joy qolardi — ko‘z ikkovini
   bog‘lay olmasdi. Egasi shu xatoni Qoldiq ustunlarida
   allaqachon ko‘rsatgan edi. */
.tally-go{max-width:420px;width:100%;margin-top:8px}
.tally-go.on{color:var(--mid)}
.tally{max-width:420px;margin-top:8px}
.tally[hidden]{display:none}
.tally-row{display:flex;align-items:center;gap:10px;padding:3px 0}
.tally-note{flex:0 0 58px;font-size:var(--t-2);color:var(--muted)}
.tally-cnt{flex:0 0 140px;height:var(--tap);text-align:right;
  padding:0 12px;font-size:17px;font-weight:var(--w-bold);border:0;
  border-radius:12px;background:#fff;box-shadow:var(--ctl-sh);
  color:var(--ink);font-family:inherit}
.tally-cnt:focus{outline:none;box-shadow:var(--ring)}
/* ⛔ Kurs va natija BITTA qatorda: «× 12 500 = 1 250 000».
   Alohida qator bo‘lsa, kassir qaysi raqam nimaga tegishli
   ekanini qidirardi. */
.tally-sum{flex:1 1 auto;font-size:var(--t-2);color:var(--muted)}
.tally-all{display:flex;justify-content:space-between;align-items:center;
  margin-top:8px;padding-top:8px;font-size:var(--t-3)}
.tally-all b{font-weight:var(--w-bold)}

.gap-bad{color:var(--danger)}
.gap-over{color:var(--warn)}
.gap-ok{color:var(--muted)}


/* ── Qoldiq ro'yxati (6.1) ──────────────────────────────── */

.bal-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  margin-bottom:12px}
.bal-top select{width:auto;min-width:180px;max-width:100%;height:var(--tap)}
.bal-top .chips.two{margin:0;min-width:260px}
/* ⛔ Qidiruv maydoni 1600 piksel bo'lib cho'zilmasin: terilgan
   so'z chap chekkada qolib, maydonning qolgan qismi bo'sh
   turadi. */
#bq{max-width:520px}

/* ⛔ Qator BOSILMAYDI: bu ro'yxat javob beradi, amalga olib
   bormaydi. Tovarni ochish «Tovar» bo'limida — u yerda narx va
   kirim tarixi bor. Bosiladigandek ko'rinib, bosilmaydigan qator
   — yolg'on va'da. */
.found.flat{cursor:default;background:#fff}
.found.flat:hover{background:#fff}

.qty-cell{font-variant-numeric:tabular-nums;font-weight:var(--w-bold)}
/* ⛔ Tugagani QIZIL: do'kondor ro'yxatni ko'zdan kechirganda uni
   o'qimasdan ham ko'radi. */
.qty-cell.zero{color:var(--danger)}
/* ⛔ NARX — ODDIY RAQAM, ogohlantirish emas. Ilgari bu yerda
   `.debt` sinfi ishlatilardi va u `debt.css` da QIZIL: butun
   ustun xatoga o'xshab turardi. Qoldiq noli qizil bo'lishi
   yetarli — ekranda BITTA qizil ma'no bo'lsin. */
.bal-price{font-variant-numeric:tabular-nums}
/* ⛔ USTUNLARGA KENGLIK. `.found` qatori nomga butun joyni berib,
   qolgan uchta ustunni o‘ng chekkaga yopishtirib qo‘yardi:
   «Kod Qoldiq Narxi» uch so‘z bir-biriga tegib, qiymatlar
   «99OMIALNDI 10 120 000» bitta so‘zdek turardi (UX_TANQID 1.3).
   Endi har ustun o‘z joyida, raqamlar o‘ngga tekis. */
.bal-grid .tm{flex:0 0 150px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.bal-grid .cnt{flex:0 0 72px;text-align:right}
.bal-grid .debt,.bal-grid .bal-price{flex:0 0 110px;text-align:right}
@media (max-width:560px){
  .bal-grid .tm{flex-basis:96px}
  .bal-grid .cnt{flex-basis:48px}
  .bal-grid .debt,.bal-grid .bal-price{flex-basis:84px}
}

/* ⛔ «125 tadan 30 tasi» — ro'yxat USTIDA.
 *
 * Katalogda 125 tovar bor edi, ekranda 30 tasi turardi va bu
 * hech qayerda YOZILMAGANDI. Do'kondor qolgan 95 tasini faqat
 * nomini eslab yozib topa olardi — buni u do'konda birinchi kuni
 * sezadi.
 *
 * Xira va kichik: bu javob, e'lon emas. */
.found-count{padding:2px 14px 8px;font-size:var(--t-2);color:var(--muted);
  font-variant-numeric:tabular-nums}

/* ⛔ Smena yopilishida kassadagi savatlar (2026-09-24, 8-qaror;
   shift_carts.js). Har qatorda qaror tugmalari: barmoq o‘lchami
   `.oc` dan keladi. Qoldirilgani xiralashadi — qaror berildi. */
.scr-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 16px}
.scr-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;
  align-items:center;padding:12px 14px;border-radius:12px;background:#fff;
  box-shadow:var(--ctl-sh)}
.scr-row.kept{opacity:.55}
.scr-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.scr-who .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scr-paid{color:var(--warn);font-size:var(--t-2);font-weight:var(--w-mid)}
.scr-acts{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}
.scr-acts .oc{flex:1 1 0;min-width:110px}

/* ── Ombor kartasi — «Qoldiq» tepasi (NeoKarta, stock_card.js) ──
   ⛔ `nk-` sinflarini FAQAT neokarta.css bezaydi (`TestNeoKarta`). Bu
   yerda — kartaning JOYLASHUVI va o‘ziga xos bo‘laklari (`om-`).
   Namuna: dizayn/neokarta/ombor-kompyuter.png, ombor-telefon.png */
.om{margin-bottom:24px}
.om:empty{display:none}
.om-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:20px;align-items:start}
.om-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.om-h{display:block;margin:0 0 12px;font-size:var(--t-5);font-weight:var(--w-bold)}
/* Uch raqam — tugagan · kam qolgan · yo‘lda */
.om-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 32px;
  margin-top:14px;font-size:var(--t-2);color:rgba(255,255,255,.85)}
.om-stats > span{display:flex;flex-direction:column}
.om-stats b{font-size:var(--t-5);font-weight:var(--w-bold);color:#fff;
  font-variant-numeric:tabular-nums}
.om-stats b.om-warn{color:#ffd166}
.om-bar{position:relative;z-index:1;margin-top:14px;height:8px;
  background:rgba(255,255,255,.18)}
.om-split{position:relative;z-index:1;display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:4px 16px}
/* Ikonkali ro‘yxat: ikonka · ikki qator matn · raqam */
.om-list{display:flex;flex-direction:column;gap:6px}
.om-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:var(--tap);padding:4px 0;border:0;background:none;color:inherit;
  font:inherit;text-align:left}
button.om-row{cursor:pointer}
.om-what{display:flex;flex-direction:column;min-width:0}
.om-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.om-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.om-all{min-height:var(--tap);padding:0 4px;border:0;background:none;
  font:inherit;cursor:pointer}
.om-tag{padding:4px 10px;border-radius:999px;font-size:var(--t-2);
  font-weight:var(--w-mid);white-space:nowrap}
.om-tag-g{background:#e3f6ee;color:var(--ok)}
.om-tag-b{background:var(--soft);color:var(--mid)}
.om-tag-y{background:#fff3e0;color:var(--warn)}
.om-order{margin-top:4px}
/* Asosiy amal bo‘lim rangida — yashil (namuna, QARORLAR «NeoKarta») */
.go.om-green{background:var(--ok)}
.go.om-green:active:not(:disabled){background:#0c7a55}
@media (max-width:1100px){
  .om-grid{grid-template-columns:minmax(0,1fr)}
}
/* ⛔ TELEFON — alohida o‘ylangan (DIZAYN 6): karta → tugmalar karta
   chetida → «Diqqat» → pastda qotgan «Buyurtma berish». «Kutilmoqda»
   telefonda YO‘Q (vazifa: kompyuterda), asosiy amal — pastki tugmada.
   Ustunlar `contents`: tugmalar DOM da o‘ng ustunda, telefonda esa
   ular karta KETIDAN kelishi kerak (`nk-float`). */
@media (max-width:560px){
  /* ⛔ `stretch` qaytariladi: kompyuterdagi `start` bu yerda kartani
     matn eniga qisib qo‘yardi (390 px suratida ko‘rindi) */
  .om-grid{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .om-col{display:contents}
  .om-hero{order:0}
  .om-acts{order:1}
  .om-attn{order:2}
  /* ⛔ Ikki sinf: `.nk-card{display:flex}` neokarta.css da KEYIN yuklanadi */
  .om-grid .om-wait{display:none}
  .om-stats{gap:8px 24px}
  /* Ulush — kompyuterda; telefonda ro‘yxat kifoya. Ikki sinf — `.nk-bar`
     neokarta.css da keyin yuklanadi */
  .om-hero .om-bar,.om-hero .om-split{display:none}
  /* ⛔ `sticky`, `fixed` emas — sabab `stock_card.js` oxirida. `div.` —
     `.nk-dock{position:fixed}` neokarta.css da keyin yuklanadi */
  div.om-dock{position:sticky;bottom:0;margin-top:16px;padding-left:0;padding-right:0}
}
