/* =========================================================
   Ezzo — uslublar (mobil asosiy, desktop >= 1024px)
   Ranglar design-tokens.json bilan bir xil
   ========================================================= */
:root{
  --ink:#0F3D2E; --ink-2:#1B5A44; --ink-3:#2E7A5E;
  --paper:#FFFFFF; --bg:#EEF2EF; --bg-2:#F6F8F7; --text:#15201B; --muted:#5E6B64; --line:#DCE3DE;
  --mark:#FFD84D; --red:#C8372D; --red-soft:#FBE7E4; --soft:#E1EFE7; --warn-soft:#FFF3C4; --ok:#1E7F52;
  --r-lg:20px; --r:14px; --r-sm:10px;
  --nav-h:64px; --side-w:252px; --side-min:76px;
  --shadow:0 12px 32px rgba(15,61,46,.16);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%}
body{font-family:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4;font-variant-numeric:tabular-nums}
body.lock{overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
button:disabled{cursor:not-allowed}
a{color:inherit}
:focus-visible{outline:3px solid var(--mark);outline-offset:2px}
.ic{flex-shrink:0}
.main{max-width:560px;margin:0 auto;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 16px)}
.px{padding:0 12px}

.mark{background:linear-gradient(transparent 58%,var(--mark) 58%,var(--mark) 92%,transparent 92%);padding:0 2px;font-weight:700}
.muted{color:var(--muted)} .small{font-size:13px} .red{color:var(--red)} .ok{color:var(--ok)}
.nowrap{white-space:nowrap}
.big-num{font-size:24px;font-weight:800;letter-spacing:-.01em}

/* ---------- mobil hero ---------- */
.hero{background:var(--ink);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 18px) 20px 22px;border-radius:0 0 28px 28px}
.hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.shop{font-weight:700;font-size:17px}
.date{opacity:.7;font-size:13px}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--ink-3);color:#fff;font-weight:700;display:grid;place-items:center;flex-shrink:0;font-size:14px}
.avatar.sm{width:34px;height:34px;font-size:12.5px}
.hero-label{opacity:.75;font-size:14px}
.hero-sum{font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:4px 0 16px}
.hero-sum span{font-size:18px;font-weight:600;opacity:.7}
.hero-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.hero-row div{background:var(--ink-2);border-radius:var(--r-sm);padding:10px}
.hero-row small{display:block;opacity:.7;font-size:12px}
.btn-mark{width:100%;background:var(--mark);color:var(--ink);font-weight:700;font-size:16px;padding:15px;border-radius:var(--r)}

/* ---------- sarlavha, tugmalar ---------- */
.page-head{padding:calc(env(safe-area-inset-top,0px) + 18px) 20px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.page-head h1{font-size:26px;font-weight:800;letter-spacing:-.02em}
.page-head p{font-size:14px}
.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;font-weight:600;padding:10px 16px;border-radius:var(--r-sm);white-space:nowrap;text-decoration:none;transition:background .15s}
.btn:hover{background:var(--ink-2)}
.btn.ghost{background:var(--paper);color:var(--ink);border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--ink-3);background:var(--paper)}
.btn.full{width:100%;padding:14px;font-size:16px;border-radius:var(--r)}
.btn.mark-bg{background:var(--mark);color:var(--ink)}
.btn.mark-bg:hover{background:#F5CC35}
.btn.lg{padding:14px 22px;font-size:16px;border-radius:var(--r)}
.btn.sm{padding:7px 12px;font-size:13.5px}
.btn:disabled{opacity:.4}
.btn .count{background:var(--soft);color:var(--ink);border-radius:999px;padding:1px 8px;font-size:12.5px}
.link{color:var(--ink-3);font-weight:600;font-size:14px;text-decoration:none}
.link:hover{text-decoration:underline}
.icon-btn{width:44px;height:44px;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:var(--ink);font-size:20px}
.icon-btn:hover{border-color:var(--ink-3)}
.icon-btn:disabled{opacity:.35}
.icon-btn.sm{width:34px;height:34px;border-radius:9px}
kbd{font:inherit;font-size:11.5px;font-weight:700;background:var(--paper);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 6px;color:var(--muted)}

/* ---------- bloklar, qatorlar ---------- */
.block{background:var(--paper);margin:14px 12px 0;border-radius:var(--r-lg);padding:16px}
.block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}
.block h2,.detail h2{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row .grow,.grow{flex:1;min-width:0}
.row .title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .title.wrap{white-space:normal}
.sub{font-size:13px;color:var(--muted)}
.row .right{text-align:right;white-space:nowrap}
.tap{width:100%;text-align:left}
.debt-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.debt-line .mark{font-size:28px;font-weight:800}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--soft);color:var(--ink-2);white-space:nowrap}
.tag.red{background:var(--red-soft);color:var(--red)}
.tag.warn{background:var(--warn-soft);color:#7A5A00}
.empty{text-align:center;padding:28px 12px;color:var(--muted)}
.hint{font-size:13px;color:var(--muted);margin-top:8px}
.sec-title{font-weight:700;font-size:15px;margin:22px 0 2px;padding-top:16px;border-top:1px solid var(--line)}
.summary{display:flex;gap:14px 36px;flex-wrap:wrap}
.summary-block{margin-top:4px}
.banner{display:flex;align-items:center;gap:12px;background:var(--warn-soft);border-radius:var(--r);padding:12px 14px;margin:10px 12px 0;flex-wrap:wrap}
.banner span{flex:1;min-width:180px}

/* ---------- qidiruv, chiplar, segment ---------- */
.search{margin:0 12px;display:flex;gap:8px}
.search input,.ctl,.field input,.field textarea,.inline-form input{width:100%;min-width:0;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-size:16px}
.search input{border-radius:var(--r)}
.search input:focus,.ctl:focus,.field input:focus,.field textarea:focus,.inline-form input:focus{outline:none;border-color:var(--ink-3)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:12px 12px 4px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;padding:8px 14px;border-radius:999px;background:var(--paper);border:1.5px solid var(--line);font-size:14px;font-weight:500}
.chip:hover{border-color:var(--ink-3)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.seg{display:flex;background:#DDE5E0;border-radius:var(--r);padding:4px;gap:2px}
.seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;padding:9px 14px;border-radius:11px;font-weight:600;font-size:14px;color:var(--muted)}
.seg button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}

/* ---------- dropdown (select o'rniga) ---------- */
.dd{position:relative;min-width:0}
.dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:11px 12px 11px 14px;font-size:15px;text-align:left;transition:border-color .15s}
.dd-btn:hover,.dd.open .dd-btn{border-color:var(--ink-3)}
.dd-btn .ic{color:var(--muted);transition:transform .15s}
.dd.open .dd-btn .ic:last-child{transform:rotate(180deg)}
.dd-val{display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.dd-list{position:absolute;left:0;right:0;top:calc(100% + 6px);min-width:220px;max-height:300px;overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:6px;z-index:60;display:none}
.dd.open .dd-list{display:block;animation:ddin .12s ease-out}
.dd.up .dd-list{top:auto;bottom:calc(100% + 6px)}
@keyframes ddin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.dd-opt{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;text-align:left;font-size:15px}
.dd-opt:hover{background:var(--bg-2)}
.dd-opt .dd-l{flex:1;min-width:0}
.dd-opt small{color:var(--muted);font-size:12.5px;white-space:nowrap}
.dd-opt .ic:last-child{visibility:hidden;color:var(--ink-3)}
.dd-opt.on{background:var(--soft);color:var(--ink);font-weight:600}
.dd-opt.on .ic:last-child{visibility:visible}
.dd.sm .dd-btn{padding:7px 10px;font-size:14px}
.dd.sm .dd-list{min-width:180px}
.dd.dark .dd-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.dd.dark .dd-btn .ic{color:rgba(255,255,255,.7)}
.dd.dark .dd-list{color:var(--text)}

/* ---------- switch, range ---------- */
.sw{position:relative;display:inline-block;width:46px;height:28px;flex-shrink:0;cursor:pointer}
.sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.sw i{position:absolute;inset:0;background:#C9D3CD;border-radius:999px;transition:background .18s}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .18s}
.sw input:checked + i{background:var(--ink-3)}
.sw input:checked + i::after{transform:translateX(18px)}
.sw input:focus-visible + i{outline:3px solid var(--mark);outline-offset:2px}
.sw input:disabled{cursor:not-allowed}
.sw input:disabled + i{opacity:.55}
.range{display:flex;align-items:center;gap:12px;width:100%}
.range input[type=range]{flex:1;accent-color:var(--ink-3);min-width:100px}
.range-val{display:flex;align-items:center;gap:4px;font-weight:700}
.range-val input{width:64px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:8px;font-size:15px;text-align:center}

/* ---------- ro'yxat, jadval ---------- */
.plist{margin:10px 12px 0;background:var(--paper);border-radius:var(--r-lg);padding:4px 16px}
.add{width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--ink);font-size:24px;font-weight:600;display:grid;place-items:center;flex-shrink:0}
.add.in{background:var(--ink);color:#fff;font-size:15px}
.add:disabled{opacity:.35}
.meter{height:5px;background:var(--line);border-radius:3px;margin-top:6px;width:72px;margin-left:auto;overflow:hidden}
.meter i{display:block;height:100%;background:var(--ink-3)}
.meter.low i{background:var(--red)}
.tbl-wrap{overflow-x:auto;margin:12px 12px 0;background:var(--paper);border-radius:var(--r-lg)}
.tbl-wrap.flat{margin:0;border:1px solid var(--line)}
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-size:13px;font-weight:600;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr[data-a]{cursor:pointer}
.tbl tbody tr[data-a]:hover td{background:#F4F8F5}
.tbl .num{text-align:right;white-space:nowrap}
.tbl .ell{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl.compact td,.tbl.compact th{padding:9px 12px;font-size:14px}
.sheet .tbl{min-width:0 !important}
.sheet .tbl-wrap{margin:10px 0 0;border:1px solid var(--line)}
.who{display:flex;align-items:center;gap:10px}

/* ---------- mobil savat va menyu ---------- */
.cartbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 10px);width:calc(100% - 24px);max-width:536px;background:var(--ink);color:#fff;border-radius:var(--r);padding:12px 12px 12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:var(--shadow);z-index:20}
.cartbar b{font-size:17px}
.cartbar .btn{background:var(--mark);color:var(--ink)}
.fab-space{height:84px}
.nav{position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);z-index:30}
.nav-in{max-width:560px;margin:0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);height:var(--nav-h)}   /* tugmalar soni qancha bo'lsa — teng bo'linadi */
.nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:600;color:var(--muted)}
.nav button.on{color:var(--ink)}
.nav .badge{position:absolute;top:7px;left:calc(50% + 6px);background:var(--red);color:#fff;font-size:10px;border-radius:999px;padding:1px 5px;font-style:normal}
.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 4px}
.more-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--bg-2);border-radius:var(--r);padding:16px;font-weight:600;color:var(--ink)}

/* ---------- kassa (umumiy) ---------- */
.line{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.line-main{grid-column:1/-1}
.line:first-child{border-top:0}
.line .title{font-weight:600}
.line-main{min-width:0}
.line-sum{grid-column:2;grid-row:2;text-align:right;font-weight:700;white-space:nowrap}
.line .qty{grid-column:1;grid-row:2}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:34px;height:34px;border-radius:10px;background:var(--soft);font-size:18px;font-weight:700;color:var(--ink)}
.qty input{width:64px;text-align:center;border:1.5px solid var(--line);border-radius:10px;padding:6px 4px;font-size:15px}
.disc-row{display:flex;align-items:center;gap:10px;margin-top:12px}
.disc-row label{font-weight:600;font-size:14px}
.disc-in{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 10px 0 0;background:var(--paper)}
.disc-in input{width:64px;border:0;padding:8px 6px 8px 10px;font-size:15px;background:none}
.disc-in input:focus{outline:none}
.disc-in:focus-within{border-color:var(--ink-3)}
.totals{margin-top:10px}
.sum-line{display:flex;justify-content:space-between;gap:10px;padding:5px 0}
.sum-line.total{font-size:20px;font-weight:800;border-top:1.5px dashed var(--line);margin-top:6px;padding-top:12px}
.pay-btn{width:100%;margin-top:14px;padding:16px 18px;border-radius:var(--r);background:var(--mark);color:var(--ink);font-size:18px;font-weight:800;justify-content:space-between}
.pay-btn:hover{background:#F5CC35}
.pay-btn kbd{background:rgba(15,61,46,.1);border-color:transparent;color:var(--ink)}
.pay-btn .pay-sum{margin-left:auto}

/* to'lov */
.pay{display:grid;gap:16px;margin-top:14px}
.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pay-opt{border:1.5px solid var(--line);border-radius:var(--r);padding:13px 8px;font-weight:600;text-align:center;font-size:14.5px}
.pay-opt:hover{border-color:var(--ink-3)}
.pay-opt.on{border-color:var(--ink);background:var(--soft);color:var(--ink)}
.pay-total{background:var(--ink);color:#fff;border-radius:var(--r);padding:14px 16px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pay-total small{opacity:.75}
.pay-total b{font-size:26px;font-weight:800}
.pay-main{display:flex;flex-direction:column;gap:4px}
.pay-main > .btn{margin-top:14px}
.big-input{font-size:24px !important;font-weight:700;padding:14px !important}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.change{margin-top:10px;font-size:16px}
.change .ok{display:inline-flex;align-items:center;gap:6px}
.pay-note{display:flex;gap:12px;align-items:center;background:var(--bg-2);border-radius:var(--r);padding:16px;color:var(--ink);margin-top:6px}
.pay-note p{color:var(--text)}
.receipt{border:1.5px dashed var(--line);border-radius:var(--r);padding:14px;margin:12px auto 0;font-size:14px}
.receipt.w58{max-width:300px}
.r-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:10px;font-size:12.5px;color:var(--muted)}
.r-head b{font-size:15px;color:var(--text)}
.r-foot{text-align:center;color:var(--muted);font-size:12.5px;margin-top:10px}

/* kechiktirilgan */
.held{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}
.held:first-of-type{border-top:0}
.held-no{width:30px;height:30px;border-radius:9px;background:var(--soft);color:var(--ink);display:grid;place-items:center;font-weight:700;flex-shrink:0}
.held-note{width:100%;border:0;border-bottom:1.5px dashed var(--line);padding:2px 0 4px;font-weight:600;background:none;font-size:15px}
.held-note:focus{outline:none;border-color:var(--ink-3)}
.held .right{text-align:right}
.held-act{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}

/* tarix */
.hist-filters{display:flex;flex-wrap:wrap;gap:10px;padding:0 12px;margin-top:12px}
.hist-filters .seg{width:100%}
.hist-filters .dd{flex:1;min-width:150px}
.hist-filters .search{margin:0;flex:1 1 100%}
.hist-sum{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;padding:14px 16px 0}
.hist-sum b{font-size:20px}

/* ---------- ko'rsatkichlar, grafik ---------- */
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 12px 0}
.metric{background:var(--paper);border-radius:var(--r);padding:14px}
.metric small{color:var(--muted);font-size:13px}
.metric b{display:block;font-size:18px;font-weight:700;margin-top:2px}
.chart{display:flex;align-items:flex-end;gap:4px;height:150px;padding-top:10px}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.chart .bar{width:100%;background:var(--ink-3);border-radius:5px 5px 2px 2px;min-height:2px}
.chart .col.today .bar{background:var(--ink)}
.chart .col span{font-size:10.5px;color:var(--muted);height:14px}
.hb{padding:7px 0}
.hb .sum-line{padding:0}
.hbar{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:6px}
.hbar i{display:block;height:100%;background:var(--ink-3)}

/* ---------- oyna ---------- */
.sheet-wrap{position:fixed;inset:0;background:rgba(10,30,22,.45);z-index:50;display:none;align-items:flex-end;justify-content:center}
.sheet-wrap.open{display:flex}
.sheet{background:var(--paper);width:100%;max-width:560px;max-height:calc(92vh / var(--z, 1));overflow-y:auto;border-radius:24px 24px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom,0px));animation:up .22s ease-out;position:relative}
@keyframes up{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
@keyframes left{from{transform:translateX(40px);opacity:.6}to{transform:none;opacity:1}}
@keyframes pop{from{transform:scale(.97);opacity:.4}to{transform:none;opacity:1}}
.grab{width:40px;height:5px;background:var(--line);border-radius:3px;margin:0 auto 14px}
.sheet h3,.detail h3{font-size:21px;font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sheet-close{display:none}
.field{margin-top:14px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}
.field textarea{font-size:15px;line-height:1.5;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.actions{display:grid;gap:8px;margin-top:18px}
.actions.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.actions .btn{white-space:normal;text-align:center}
.actions.three{grid-template-columns:1fr}
.actions.start{justify-items:start}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.kv.three{grid-template-columns:repeat(3,1fr)}
.kv div{background:var(--bg-2);border-radius:var(--r-sm);padding:10px 12px}
.kv small{display:block;color:var(--muted);font-size:12px}
.inline-form{display:flex;gap:8px;margin-top:12px}
.inline-form input{flex:1}
.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 14px);transform:translate(-50%,-90px);background:var(--text);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;font-size:14px;z-index:80;transition:transform .25s;max-width:90%;text-align:center}
.toast.show{transform:translate(-50%,0)}

/* ---------- tovar qo'shish yo'llari ---------- */
.ways{display:grid;gap:10px;margin-top:16px}
.way{display:flex;align-items:center;gap:14px;text-align:left;border:1.5px solid var(--line);border-radius:var(--r);padding:14px}
.way:hover{border-color:var(--ink-3);background:var(--bg-2)}
.way-ic{width:48px;height:48px;border-radius:12px;background:var(--soft);color:var(--ink);display:grid;place-items:center;flex-shrink:0}
.way-t{display:flex;flex-direction:column;gap:3px}
.way-t b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.way-t small{color:var(--muted);font-size:13px}
.upload{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed var(--line);border-radius:var(--r);padding:26px 14px;margin-top:16px;cursor:pointer;text-align:center;color:var(--ink)}
.upload:hover{border-color:var(--ink-3);background:var(--bg-2)}
.result{display:flex;align-items:center;gap:12px;border-radius:var(--r);padding:14px;margin-top:14px;background:var(--bg-2)}
.result.ok{background:var(--soft)}
.result > div{flex:1}
.result small{display:block;color:var(--muted);font-size:13px}
.mic{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;border-radius:var(--r);background:var(--ink);color:#fff;margin-top:14px;font-weight:600}
.mic.off{background:var(--bg-2);color:var(--muted)}
.mic.rec{background:var(--red);animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.75}}
.cat-list{display:grid;gap:2px;margin-top:12px;max-height:calc(52vh / var(--z, 1));overflow-y:auto}
.cat-item{display:flex;align-items:center;gap:12px;padding:10px 6px;border-bottom:1px solid var(--line);cursor:pointer}
.cat-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink-3);flex-shrink:0}
.cat-item b{display:block;font-weight:600}
.cat-item small{color:var(--muted);font-size:13px}
.cat-item.dis{opacity:.5;cursor:default}
.cat-price input{width:110px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:8px;font-size:14px;text-align:right}
.steps{padding-left:20px;display:grid;gap:6px;margin-top:12px;font-size:14px}
.steps li::marker{font-weight:700;color:var(--ink-3)}
.pu-rows{display:grid;gap:8px;margin:14px 0 8px}
.pu-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 120px auto;gap:6px;align-items:center}
.pu-row input{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:11px 8px;font-size:15px;width:100%}
.ai-line{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;margin-top:14px;border-radius:var(--r);background:var(--bg-2);font-weight:600;color:var(--ink)}
.ai-line:hover{background:var(--soft)}
.qty-in{display:flex;align-items:center;gap:6px}
.qty-in input{width:80px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:8px;text-align:right}
.inv-row{padding:12px 0;border-top:1px solid var(--line)}
.inv-row .field{margin-top:8px}
.inv-row .title{font-weight:600;display:flex;gap:8px;align-items:center}

/* ---------- AI ---------- */
.ai-tag{display:inline-flex;align-items:center;gap:3px;background:var(--ink);color:var(--mark);font-size:11px;font-weight:800;padding:2px 7px 2px 5px;border-radius:6px;white-space:nowrap;line-height:1.4}
.ai-block{border:1.5px solid #CBE0D3}
.ai-list{list-style:none;display:grid;gap:10px}
.ai-list li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.ai-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-3);margin-top:8px;flex-shrink:0}
.ai-list .link{font-size:inherit}
.ai-strip{display:flex;gap:8px;margin:12px 12px 0;flex-wrap:wrap}
.ai-hint{background:#F3F8F5;border-radius:var(--r-sm);padding:12px;margin-top:14px;line-height:1.5}
.ai-hint .ai-list{margin-top:8px}
.ai-suggest{background:#F3F8F5;border-radius:var(--r);padding:12px 14px 4px;margin-top:12px}
.ai-suggest .add{width:38px;height:38px;font-size:20px}
.risk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:14px}
.typing{display:flex;gap:5px;padding:4px 0}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
.chat-wrap{display:flex;flex-direction:column}
.chat{display:flex;flex-direction:column;gap:10px;padding:4px 12px 8px}
.msg{max-width:88%;padding:12px 14px;border-radius:16px;line-height:1.5}
.msg.me{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}
.msg.ai{align-self:flex-start;background:var(--paper);border-bottom-left-radius:4px}
.msg .link{font-size:inherit}
.ai-input{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 8px);display:flex;gap:8px;margin:8px 12px 0;padding-top:6px;background:var(--bg)}
.ai-input input{flex:1;min-width:0;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:13px 14px;font-size:16px}
.ai-input input:focus{outline:none;border-color:var(--ink-3)}
.ai-input .btn{border-radius:var(--r);padding:0 18px}

/* ---------- sozlamalar ---------- */
.set-wrap{padding:0 12px}
.set-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}
.set-nav::-webkit-scrollbar{display:none}
.set-nav button{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 14px;border-radius:999px;background:var(--paper);border:1.5px solid var(--line);font-weight:600;font-size:14px;color:var(--muted)}
.set-nav button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.set-card{background:var(--paper);border-radius:var(--r-lg);padding:18px;margin-top:12px}
.set-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.set-card-head h2{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}
.set-card-head.bare{margin-top:12px;align-items:center}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.set-card-head + .set-row,.set-card > .set-row:first-child{border-top:0}
.set-text{flex:1;min-width:200px}
.set-text b{display:block;font-weight:600}
.set-text small{color:var(--muted);font-size:13px}
.set-ctl{display:flex;align-items:center;min-width:0}
.set-ctl .dd{min-width:210px}
.set-ctl .ctl{min-width:240px}
@media (max-width:1023px){.set-ctl,.set-ctl .dd,.set-ctl .ctl{width:100%;min-width:0}.set-ctl .range{min-width:0}}
.ctl-group{display:flex;align-items:center;gap:12px}
.ctl-group .dd{min-width:100px}
.lang-cards{display:grid;gap:10px;margin-top:12px}
.lang-card{display:flex;align-items:center;gap:14px;text-align:left;border:1.5px solid var(--line);border-radius:var(--r);padding:14px}
.lang-card:hover{border-color:var(--ink-3)}
.lang-card .ic{margin-left:auto;visibility:hidden;color:var(--ink-3)}
.lang-card.on{border-color:var(--ink);background:var(--soft)}
.lang-card.on .ic{visibility:visible}
.lang-card b{display:block}
.lang-card small{color:var(--muted);font-size:13px}
.lang-short{width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--mark);display:grid;place-items:center;font-weight:800;flex-shrink:0}
.roles,.branches{display:grid;gap:12px}
.perm-list{display:grid}
.perm{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px}
.perm:first-child{border-top:0}
.perm.dis{color:var(--muted)}
.branch.cur{outline:2px solid var(--ink-3)}
.bot-ways{display:grid;gap:12px;margin-top:14px}
.bot-way{border:1.5px solid var(--line);border-radius:var(--r);padding:16px}
.bot-way.on{border-color:var(--ink-3)}
.bot-way-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.code-box{display:flex;align-items:center;justify-content:space-between;background:var(--bg-2);border-radius:var(--r-sm);padding:12px 14px;margin-top:14px}
.code-box b{font-size:20px;letter-spacing:.06em}
.bot-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink)}
.bot-status > div{flex:1}
.bot-status small{display:block;color:var(--muted)}
.tg-preview{background:#DCE8E1;border-radius:var(--r);padding:18px;margin-top:10px}
.tg-bubble{background:#fff;border-radius:14px 14px 14px 4px;padding:12px 14px;max-width:420px;font-size:14.5px;line-height:1.5;box-shadow:0 1px 2px rgba(0,0,0,.1)}

/* desktop elementlari mobilda yashirin */
.side{display:none}

/* =========================================================
   DESKTOP
   ========================================================= */
@media (min-width:1024px){
  .nav,.cartbar,.grab,.fab-space{display:none !important}
  .main{max-width:none;margin:0 0 0 var(--side-w);padding:0 32px 40px;transition:margin-left .2s}
  .px{padding:0}

  /* yon menyu */
  .side{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:var(--side-w);background:var(--ink);color:#fff;padding:18px 12px;z-index:40;transition:width .2s;overflow:visible}
  .brand{display:flex;align-items:center;gap:12px;padding:0 6px 18px}
  .brand .logo{width:42px;height:42px;border-radius:12px;background:var(--mark);color:var(--ink);font-weight:800;font-size:20px;display:grid;place-items:center;flex-shrink:0}
  .brand .lbl{flex:1;min-width:0}
  .brand b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand small,.side-foot small{display:block;opacity:.6;font-size:12.5px;white-space:nowrap}
  .side-toggle{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:rgba(255,255,255,.7);flex-shrink:0}
  .side-toggle:hover{background:rgba(255,255,255,.1);color:#fff}
  .side-branch{padding:0 4px 14px}
  .side-nav{display:flex;flex-direction:column;gap:3px}
  .side-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;color:rgba(255,255,255,.72);font-weight:600;text-align:left;position:relative;white-space:nowrap;width:100%}
  .side-item:hover{background:rgba(255,255,255,.07);color:#fff}
  .side-item.on{background:var(--ink-2);color:#fff}
  .side-item.on::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--mark)}
  .side-item em{margin-left:auto;font-style:normal;background:var(--red);color:#fff;font-size:11.5px;border-radius:999px;padding:1px 7px}
  .side-bottom{margin-top:auto}
  .side-foot{display:flex;align-items:center;gap:10px;padding:14px 6px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.12)}
  .side-foot .lbl{min-width:0}
  .side-foot b{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lang-mini{margin-left:auto;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;color:#fff}
  .lang-mini:hover{background:rgba(255,255,255,.1)}

  /* yig'ilgan menyu */
  body.side-min .side{width:var(--side-min);padding:18px 10px}
  body.side-min .main{margin-left:var(--side-min)}
  body.side-min .side .lbl,body.side-min .side-item em{display:none}
  body.side-min .brand{flex-direction:column;gap:10px;padding:0 0 18px}
  body.side-min .side-item{justify-content:center;padding:12px 0}
  body.side-min .side-item.on::before{left:-10px}
  body.side-min .side-foot{justify-content:center;padding:14px 0 0}
  body.side-min .side-item[title]:hover::after{content:attr(title);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--text);color:#fff;padding:6px 10px;border-radius:8px;font-size:13px;white-space:nowrap;z-index:70}

  /* umumiy */
  .page-head{padding:28px 0 18px}
  .page-head h1{font-size:30px}
  .block{margin:16px 0 0;padding:20px}
  .search{margin:0}
  .chips{padding:12px 0 4px;flex-wrap:wrap;overflow:visible}
  .plist{margin:12px 0 0}
  .tbl-wrap{margin:14px 0 0}
  .tbl{min-width:760px}
  .tbl-wrap.flat .tbl{min-width:640px}
  .metrics{margin:16px 0 0;grid-template-columns:repeat(4,1fr);gap:16px}
  .metric{padding:18px;border-radius:var(--r-lg)}
  .metric b{font-size:22px}
  .seg{display:inline-flex}
  .toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .toolbar .search{flex:1;max-width:420px}
  .toolbar .dd{width:230px}
  .toolbar .chips{padding:0}
  .ai-strip{margin:14px 0 0}
  .banner{margin:10px 0 0}
  .actions.three{grid-template-columns:repeat(3,1fr)}

  /* bosh sahifa */
  .dash-top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:16px}
  .stat{background:var(--paper);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:6px}
  .stat small{color:var(--muted);font-size:14px}
  .stat b{font-size:22px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
  .stat.primary{background:var(--ink);color:#fff}
  .stat.primary small,.stat.primary span{color:rgba(255,255,255,.7)}
  .stat.primary b{font-size:30px}
  .dash-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);gap:16px;margin-top:16px;align-items:start}
  .dash-cols .block{margin:0}

  /* ro'yxat + tafsilot */
  .md{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:24px;align-items:start;margin-top:12px}
  .md .plist{margin:12px 0 0;padding:6px 10px}
  .md .row{padding:12px 10px;border-radius:12px;border-top:0}
  .md .row:hover{background:#F4F8F5}
  .md .row.sel{background:var(--soft)}
  .detail{background:var(--paper);border-radius:var(--r-lg);padding:26px;position:sticky;top:24px;max-height:calc(calc(100vh / var(--z, 1)) - 48px);overflow-y:auto}
  .detail h3{font-size:26px}
  .detail .actions.two{max-width:480px}

  /* hisobot */
  .rgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}
  .rgrid .block{margin:0}
  .rgrid .wide{grid-column:1/-1}
  .chart{height:230px;gap:8px}
  .chart .col span{font-size:12px}

  /* chat */
  .chat-wrap{background:var(--paper);border-radius:var(--r-lg);height:calc(calc(100vh / var(--z, 1)) - 130px);min-height:480px;max-width:920px}
  .chat{flex:1;overflow-y:auto;padding:22px}
  .msg.ai{background:var(--bg)}
  .ai-sug{padding:0 22px 10px}
  .ai-input{position:static;margin:0;padding:14px 22px 18px;border-top:1px solid var(--line);background:none}

  /* sozlamalar */
  .set-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start;padding:0}
  .set-nav{flex-direction:column;position:sticky;top:24px;background:var(--paper);border-radius:var(--r-lg);padding:8px}
  .set-nav button{border:0;border-radius:11px;background:none;padding:12px 14px}
  .set-nav button:hover{background:var(--bg-2);color:var(--text)}
  .set-nav button.on{background:var(--soft);color:var(--ink)}
  .set-body{max-width:900px}
  .set-body > .set-card:first-child{margin-top:0}
  .set-card-head.bare{margin-top:0}
  .set-card{padding:22px 24px}
  .lang-cards{grid-template-columns:repeat(3,1fr)}
  .roles{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:12px}
  .roles .set-card{margin:0}
  .branches{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-top:12px}
  .branches .set-card{margin:0}
  .bot-ways{grid-template-columns:1fr 1fr}

  /* oyna: o'ng panel */
  .sheet-wrap{justify-content:flex-end;align-items:stretch}
  .sheet{max-width:500px;height:calc(100vh / var(--z, 1));max-height:none;border-radius:24px 0 0 24px;padding:30px;animation:left .22s ease-out}
  .sheet-wrap.wide .sheet{max-width:640px}
  .sheet-close{display:grid;place-items:center;position:absolute;top:22px;right:22px;width:38px;height:38px;border-radius:10px;background:var(--bg);font-size:22px;color:var(--muted);z-index:2}
  .sheet-close:hover{color:var(--text)}
  .sheet h3{padding-right:48px}
  /* markazdagi oyna (to'lov) */
  .sheet-wrap.modal{justify-content:center;align-items:center}
  .sheet-wrap.modal .sheet{height:auto;max-height:calc(90vh / var(--z, 1));max-width:760px;border-radius:24px;animation:pop .18s ease-out}
  .sheet-wrap.modal .pay{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:22px}
  .sheet-wrap.modal .pay-methods{grid-template-columns:1fr}
  .sheet-wrap.modal .pay-opt{text-align:left;padding:15px 16px}

  /* =====================================================
     KASSA: to'liq ekran
     ===================================================== */
  body.pos .main{padding:0;height:calc(100vh / var(--z, 1));overflow:hidden}
  .pos-wrap{display:flex;flex-direction:column;height:calc(100vh / var(--z, 1))}
  .pos-top{display:flex;align-items:center;gap:14px;padding:12px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex-shrink:0}
  .pos-top .seg{flex-shrink:0}
  .pos-search{flex:1;display:flex;align-items:center;gap:10px;background:var(--bg-2);border:1.5px solid var(--line);border-radius:var(--r);padding:0 12px;color:var(--muted);max-width:640px}
  .pos-search:focus-within{border-color:var(--ink-3);background:var(--paper)}
  .pos-search input{flex:1;border:0;background:none;padding:12px 0;font-size:16px;min-width:0}
  .pos-search input:focus{outline:none}
  .pos-meta{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;margin-left:auto;white-space:nowrap}
  .pos-meta small{color:var(--muted);font-size:12.5px}
  .pos-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 440px;min-height:0}
  .pos-products{overflow-y:auto;padding:14px 20px 24px}
  .pos-products .chips{padding:0 0 4px;position:sticky;top:-14px;background:var(--bg);z-index:2;padding-top:0}
  .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:12px}
  .pgrid .empty.wide{grid-column:1/-1}
  .tile{background:var(--paper);border:1.5px solid transparent;border-radius:var(--r);padding:14px;text-align:left;display:flex;flex-direction:column;gap:4px;min-height:120px;position:relative;transition:border-color .12s,transform .06s}
  .tile:hover{border-color:var(--ink-3)}
  .tile:active{transform:scale(.98)}
  .tile.in{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
  .tile:disabled{opacity:.45}
  .t-cat{font-size:11.5px;color:var(--muted);font-weight:600}
  .t-name{font-weight:600;padding-right:36px;line-height:1.3}
  .t-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-top:8px}
  .t-price{font-weight:800;font-size:15.5px;white-space:nowrap}
  .t-stock{font-size:12.5px;color:var(--muted);white-space:nowrap}
  .tile .cnt{position:absolute;top:12px;right:12px;background:var(--ink);color:#fff;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}
  .pos-cart{display:flex;flex-direction:column;background:var(--paper);border-left:1px solid var(--line);min-height:0}
  .cart-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
  .cart-head h2{font-size:19px;font-weight:800}
  .cart-tools{display:flex;gap:8px}
  .cart-items{flex:1;overflow-y:auto;padding:4px 20px}
  .pos-cart .line{padding:12px 0}
  .cart-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--muted);padding:30px}
  .cart-empty .keys{display:flex;flex-direction:column;gap:6px;font-size:13px}
  .cart-foot{border-top:1px solid var(--line);padding:14px 20px 18px;background:var(--bg-2)}
  .cart-foot .disc-row{margin-top:0}
  .pos-history{overflow-y:auto;padding:4px 20px 24px}
  .pos-history .hist-filters{padding:0;margin-top:14px}
  .pos-history .hist-filters .seg{width:auto}
  .pos-history .hist-filters .dd{flex:0 0 210px}
  .pos-history .hist-filters .search{flex:1 1 260px}
  .pos-history .hist-sum{padding:16px 2px 0}
}
@media (min-width:1024px) and (max-width:1279px){
  .dash-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dash-cols .block:last-child{grid-column:1/-1}
  .pos-body{grid-template-columns:minmax(0,1fr) 390px}
  .pos-meta{display:none}
  .set-wrap{grid-template-columns:200px minmax(0,1fr)}
}
@media (max-width:420px){
  .pay-methods{grid-template-columns:1fr 1fr}
  .pu-row{grid-template-columns:1fr 70px 88px auto}
}

/* =========================================================
   3-versiya komponentlari
   ========================================================= */
.gap{height:12px}
.gap-top{margin-top:12px}
.seg.tabs{overflow-x:auto;scrollbar-width:none;max-width:100%}
.seg.tabs::-webkit-scrollbar{display:none}
.seg em.dot{font-style:normal;background:var(--red);color:#fff;font-size:11px;border-radius:999px;padding:0 6px;margin-left:2px}
.tag.grey{background:#E7ECE9;color:var(--muted)}
.tag .x{margin-left:2px;font-size:15px;line-height:1;color:inherit;opacity:.6}
.tag .x:hover{opacity:1}
.bar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 12px 0}
.bar-head p{flex:1;min-width:220px}
.row-between{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;background:var(--bg-2);padding:2px 8px;border-radius:6px}
.progress{height:8px;background:var(--line);border-radius:999px;overflow:hidden;margin-top:8px}
.progress i{display:block;height:100%;background:var(--ink-3);border-radius:999px}
.progress.lg{height:12px}
.banner.info{background:var(--soft);color:var(--ink)}
.new-val{background:var(--warn-soft);color:#7A5A00;border-radius:4px;padding:0 4px}

/* kartochkalar (aksiyalar) */
.cards{display:grid;gap:12px;padding:12px 12px 0}
.card{background:var(--paper);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:6px}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.card-head h2{font-size:17px;font-weight:700;margin-bottom:4px}
.card-big{font-size:34px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.two-col{display:grid;gap:12px;padding:0 12px}
.levels{display:grid;gap:10px;margin-top:10px}
.level{border:1.5px solid var(--line);border-radius:var(--r);padding:14px;display:grid;gap:2px}
.lv-name{font-weight:800;font-size:17px;border:0;border-bottom:1.5px dashed var(--line);padding:2px 0;background:none;width:100%}
.lv-name:focus{outline:none;border-color:var(--ink-3)}
.level.lv0{border-top:4px solid #9DB3A7}.level.lv1{border-top:4px solid #A9B4C2}.level.lv2{border-top:4px solid var(--mark)}
.avatar.lv-1{background:#6E7F93}.avatar.lv-2{background:#B8860B}
.tag.lvt-1{background:#E4E9F0;color:#44536A}.tag.lvt-2{background:var(--warn-soft);color:#7A5A00}

/* kassa: smena, mijoz, promokod, bonus */
.shift-btn{gap:8px}
.dot-ok{width:8px;height:8px;border-radius:50%;background:#2DBE6C;display:inline-block}
.gate{flex:1;display:grid;place-items:center;padding:30px 16px}
.gate-card{background:var(--paper);border-radius:var(--r-lg);padding:28px;max-width:420px;width:100%;display:flex;flex-direction:column;gap:12px;text-align:center;align-items:center;color:var(--ink)}
.gate-card .field{width:100%;text-align:left}
.gate-card p{color:var(--muted)}
.promo-inline{background:var(--red);color:#fff;font-size:10.5px;font-weight:800;border-radius:5px;padding:0 5px;margin-left:4px}
.t-price s,.sub s,.l-price s{color:var(--muted);font-weight:500;font-size:.85em}
.cust-chip{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;margin:10px 0 4px}
.cust-chip.empty{border-style:dashed;color:var(--ink)}
.cust-chip.empty:hover{border-color:var(--ink-3);background:var(--bg-2)}
.cust-chip b{display:block;font-size:14.5px}
.cust-chip small{display:block;color:var(--muted);font-size:12.5px}
.cust-chip.empty small{margin-left:auto}
.disc-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.disc-line .disc-row{margin-top:0}
.code-form{display:flex;gap:6px;margin-top:10px}
.disc-line .code-form{margin-top:0;margin-left:auto}
.code-form input{width:110px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font-size:14px;text-transform:uppercase}
.code-form input:focus{outline:none;border-color:var(--ink-3)}
.code-chip{display:inline-flex;align-items:center;gap:6px;background:var(--soft);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:13.5px;margin-top:10px}
.disc-line .code-chip{margin-top:0;margin-left:auto}
.code-chip .x{font-size:16px;color:var(--ink)}
.bonus-row{display:flex;align-items:center;gap:12px;background:#F3F8F5;border-radius:var(--r);padding:12px 14px;color:var(--ink);flex-wrap:wrap}
.bonus-row small{display:block;color:var(--muted);font-size:12.5px}
.bonus-row .perm{border:0;padding:0;gap:10px}
.pick-list{max-height:calc(52vh / var(--z, 1));overflow-y:auto;margin-top:8px}
.pick-list .row{padding:10px 4px}
.search.flush{margin:12px 0 0}
.actions.three-m{grid-template-columns:1fr 1fr 1.4fr}

/* ombor */
.sticky-foot{position:sticky;bottom:calc(var(--nav-h) + 8px);box-shadow:var(--shadow)}
.cnt-in{width:90px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:7px 8px;text-align:right;font-size:15px}
.cnt-in:focus{outline:none;border-color:var(--ink-3)}
.label-wrap{display:grid;gap:12px}
.label-opts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.label-opts .dd{width:170px}
.label-opts .perm{border:0;padding:0;gap:10px}
.labels-preview{display:flex;flex-wrap:wrap;gap:10px;background:var(--bg-2);border-radius:var(--r);padding:14px;min-height:120px}
.label{background:#fff;border:1px dashed #B9C4BE;border-radius:4px;padding:6px 8px;display:flex;flex-direction:column;gap:2px;color:#000;overflow:hidden}
.l-58x40{width:219px;height:151px}
.l-40x30{width:151px;height:113px}
.l-a4{width:calc(33.33% - 7px);min-width:180px;height:140px}
.l-shop{font-size:9px;text-transform:none;color:#555}
.l-name{font-weight:700;font-size:12.5px;line-height:1.2;max-height:2.4em;overflow:hidden}
.l-40x30 .l-name{font-size:11px}
.l-price{margin-top:auto;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.l-price b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.l-40x30 .l-price b{font-size:17px}
.l-price span{font-size:10px}
.label .bc{width:100%;height:36px}
.l-40x30 .bc{height:26px}
.rp-form{display:grid;gap:0 12px}

/* hisobot */
.abc-grid{display:grid;gap:12px;padding:0 12px}
.abc-grid .block{margin:12px 0 0}
.abc{display:flex;gap:14px;align-items:flex-start}
.abc-letter{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:24px;font-weight:800;flex-shrink:0}
.abc-A .abc-letter,.abc-tag.abc-A{background:var(--ink);color:var(--mark)}
.abc-B .abc-letter,.abc-tag.abc-B{background:var(--soft);color:var(--ink)}
.abc-C .abc-letter,.abc-tag.abc-C{background:var(--red-soft);color:var(--red)}
.abc-tag{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;font-weight:800;font-size:13px}
.plan-in{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.plan-in input,.plan-cell{width:140px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;font-size:14px;text-align:right}
.plan-big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:6px}
.plan-big b{font-size:28px;font-weight:800}
.pct-bar{display:flex;align-items:center;gap:10px;min-width:150px}
.pct-bar .progress{flex:1;margin:0}
.tbl.pnl .sub-total td{background:var(--bg-2)}
.tbl.pnl .grand td{background:var(--soft);font-size:16px}

/* CRM */
.cl-head{display:flex;gap:14px;align-items:center}
.cl-head h3{margin:0}
.avatar.lg{width:56px;height:56px;font-size:18px}
.level-bar{background:var(--bg-2);border-radius:var(--r);padding:12px 14px;margin-top:14px}
.kv.four{grid-template-columns:1fr 1fr}
.tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.tags .tag{font-size:13px;padding:4px 10px}
.tag-add input{border:1.5px dashed var(--line);border-radius:999px;padding:4px 12px;font-size:13px;width:110px;background:none}
.tag-add input:focus{outline:none;border-color:var(--ink-3)}
.note{background:var(--warn-soft);border-radius:var(--r-sm);padding:10px 12px;margin-top:8px}
.note p{font-size:14px}

@media (min-width:1024px){
  .bar-head{padding:14px 0 0}
  .cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:12px 0 0;gap:16px}
  .two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;gap:16px;align-items:start}
  .levels{grid-template-columns:repeat(3,1fr)}
  .abc-grid{grid-template-columns:repeat(3,1fr);padding:0;gap:16px}
  .label-wrap{grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}
  .label-wrap .block{margin:12px 0 0}
  .label-pick .cat-list{max-height:calc(calc(100vh / var(--z, 1)) - 330px)}
  .rp-form{grid-template-columns:2fr 1.4fr 1fr 1fr}
  .sticky-foot{bottom:12px}
  .kv.four{grid-template-columns:repeat(4,1fr)}
  .pos-top .lbl-d{display:inline}
  .cart-cust{padding:0 20px}
  .cart-cust .cust-chip{margin:12px 0 0}
  .dash-top + .ai-block{margin-top:16px}
}
@media (max-width:1023px){.lbl-d{display:none}}
@media (min-width:1024px) and (max-width:1599px){.pos-top .lbl-d{display:none}.pos-top .pos-meta{display:none}}
.pos-search{min-width:200px}
.pos-top > .btn{flex-shrink:0}
.kv b{overflow-wrap:anywhere}
.kv.four b{font-size:15px}

/* narxnomalarni chop etish */
@media print{
  body.print-labels>*:not(#printArea){display:none!important}
  body.print-labels #printArea{display:block!important}
  body.print-labels #printArea #labelsPrint{position:static;background:#fff;padding:0;gap:4mm;border:0}
  body.print-labels .label{border:0;break-inside:avoid}
  body.print-labels .l-58x40{width:58mm;height:40mm}
  body.print-labels .l-40x30{width:40mm;height:30mm}
}

@media (prefers-reduced-motion:reduce){.sheet,.dd-list{animation:none}.toast,.side,.main{transition:none}}

/* 3-versiya: mayda tuzatishlar */
.t-foot{flex-wrap:wrap}
.t-price s{display:block;line-height:1.1}
@media (max-width:1023px){
  .kv.three{grid-template-columns:1fr 1fr}
  .kv.three div:first-child{grid-column:1/-1}
  .tbl-wrap .tbl{min-width:620px}
  .sheet .tbl-wrap .tbl{min-width:0}
}

/* =========================================================
   4-versiya: obuna va to'lov (do'kon tomoni)
   ========================================================= */
.sub-banner{display:flex;align-items:center;gap:12px;margin:12px 12px 0;padding:12px 14px;border-radius:var(--r);background:var(--warn-soft);color:#6B4E00;flex-wrap:wrap}
.sub-banner span{flex:1;min-width:200px;font-weight:500}
.sub-banner.grace,.sub-banner.blocked{background:var(--red-soft);color:var(--red)}
.sub-pill{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:10px;margin-bottom:6px;font-size:13px;font-weight:700;background:rgba(255,216,77,.16);color:var(--mark)}
.sub-pill.grace,.sub-pill.blocked{background:rgba(200,55,45,.25);color:#FFB4AE}
.side-item .side-lock{margin-left:auto;opacity:.6;display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:0}
.side-item.locked{opacity:.75}
.lock-ic{width:60px;height:60px;border-radius:18px;background:var(--soft);display:grid;place-items:center;color:var(--ink)}
.gate.in-sheet{padding:10px 0}
.gate.in-sheet .gate-card{padding:10px 0;max-width:none}
.plan-card .plan-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.plan-name{font-size:26px;font-weight:800;display:flex;align-items:center;gap:10px;margin-top:2px}
.plan-price{font-size:20px;font-weight:700;margin-top:4px}
.plan-due{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.plan-due b{font-size:20px}
.progress.warn i{background:#E0A800}
.usage{margin-top:10px}
.usage .sum-line{padding:0}
.card-saved{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-top:10px;color:var(--ink)}
.card-saved small{display:block}
.addons{display:grid;gap:8px;margin-top:6px}
.addon{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.addon:first-child{border-top:0}
.addon b{display:block}
.demo-card{border:1.5px dashed var(--line);background:transparent}
.demo-card .chips{padding:8px 0 0}
.two-col.flush{padding:0}
.periods{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}
.period{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;text-align:left}
.period:hover{border-color:var(--ink-3)}
.period.on{border-color:var(--ink);background:var(--soft)}
.period b{font-size:16px}
.period small{font-weight:700;color:var(--text)}
.invoice-doc{border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-top:12px;background:#fff;font-size:14px}
.inv-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:12px}
.inv-head b{font-size:18px}
.inv-head small,.inv-no small{display:block;color:var(--muted)}
.inv-no{text-align:right}
.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.inv-parties small{display:block;color:var(--muted);font-size:12px}
.inv-parties b,.inv-parties span{display:block}
.inv-parties span{font-size:12.5px;color:var(--muted)}
.plans{display:grid;gap:12px;margin-top:14px}
.plan{position:relative;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:10px}
.plan.pop{border-color:var(--ink-3)}
.plan.cur{background:var(--bg-2)}
.plan-ribbon{position:absolute;top:-11px;left:18px;background:var(--mark);color:var(--ink);font-size:11.5px;font-weight:800;padding:2px 10px;border-radius:999px}
.plan-t{font-size:20px}
.plan-p{font-size:26px;font-weight:800}
.plan-p small{font-size:14px;color:var(--muted);font-weight:500}
.plan-l,.plan-f{list-style:none;display:grid;gap:6px;font-size:13.5px}
.plan-l li{font-weight:600}
.plan-f li{display:flex;gap:8px;align-items:flex-start}
.plan-f li .ic{color:var(--ink-3);margin-top:2px}
.plan-f li.no{color:#9AA69F}
.plan-f li.no .ic{color:#C4CCC7}
@media (min-width:1024px){
  .sub-banner{margin:18px 0 0}
  .sheet-wrap.modal.xl .sheet{max-width:1040px}
  .plans{grid-template-columns:repeat(3,1fr)}
  .periods{grid-template-columns:repeat(4,1fr)}
}
@media print{
  body.print-doc>*:not(#printArea){display:none!important}
  body.print-doc{background:#fff!important}
  body.print-doc #printArea{display:block!important}
  #printArea .print-copy{position:static;border:0;margin:0;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printArea .gift-print{width:100mm}
}
#printArea{display:none}

/* =========================================================
   5-versiya: kassa — ixcham chegirma/promokod
   ========================================================= */
.adj-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cart-foot .adj-row{margin-top:0}
.adj-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1.5px dashed var(--line);font-size:13.5px;font-weight:600;color:var(--ink);background:var(--paper)}
.adj-btn:hover{border-color:var(--ink-3);border-style:solid}
.adj-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:13.5px;font-weight:700}
.adj-chip .x{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:15px;color:var(--ink)}
.adj-chip .x:hover{background:rgba(0,0,0,.06)}
.adj-edit{display:flex;align-items:center;gap:6px;border:1.5px solid var(--ink-3);border-radius:var(--r);padding:4px 4px 4px 10px;background:var(--paper);margin-top:10px}
.cart-foot .adj-edit{margin-top:0}
.adj-edit .adj-ic{color:var(--muted);display:flex}
.adj-edit input{flex:1;min-width:0;border:0;font-size:15px;padding:6px 2px;background:none;text-transform:uppercase}
.adj-edit input:focus{outline:none}
.adj-edit .chip.sm{padding:4px 10px;font-size:13px}
.icon-btn.ok{background:var(--ink);color:#fff;border-color:var(--ink)}
.adj-hint{font-size:12px;color:var(--muted);margin:4px 0 0 4px}
.totals-mini{margin-top:10px;font-size:13.5px;color:var(--muted)}
.totals-mini .sum-line{padding:2px 0}
.totals-mini .sum-line span:last-child{color:var(--text);font-weight:600}
.cart-foot .pay-btn{margin-top:12px}
.cart-foot{padding:12px 20px 16px}
.adj-edit input::-webkit-outer-spin-button,.adj-edit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.adj-edit input[type=number]{-moz-appearance:textfield}

/* =========================================================
   5-versiya: yordam va API
   ========================================================= */
.help-cards{display:grid;gap:10px;margin:0 12px 14px}
.help-card{display:flex;align-items:center;gap:14px;background:var(--paper);border-radius:var(--r-lg);padding:16px;text-decoration:none;color:var(--ink);border:1.5px solid transparent}
.help-card:hover{border-color:var(--ink-3)}
.help-card div{flex:1}
.help-card b{display:block;font-size:15.5px}
.help-card small{color:var(--muted)}
.help-card.tg{background:var(--ink);color:#fff}.help-card.tg small{color:rgba(255,255,255,.7)}
.dot-unread{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:6px;vertical-align:2px}
.thread .msg .att{display:inline-flex;align-items:center;gap:4px;font-size:12px;opacity:.8;margin-bottom:4px}
.rate{display:flex;align-items:center;gap:8px;margin:6px 0 10px;flex-wrap:wrap}
.upload.sm{flex-direction:row;padding:12px 14px;justify-content:flex-start;gap:10px;margin-top:14px}
.lessons{display:grid;gap:8px;padding:10px 12px 0}
.lesson{display:flex;align-items:center;gap:14px;background:var(--paper);border-radius:var(--r);padding:12px 14px;text-decoration:none;color:var(--text)}
.lesson:hover{box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.lesson b{display:block;font-weight:600}
.lesson small{color:var(--muted)}
.lesson-play{width:46px;height:46px;border-radius:12px;background:var(--mark);color:var(--ink);display:grid;place-items:center;flex-shrink:0}
.channel-cta{margin:14px 12px 0;width:calc(100% - 24px)}
.tk-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.thread{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.thread .msg{max-width:85%}
.thread .msg.ai{background:var(--bg-2)}
.thread .msg small{display:block;font-size:11.5px;opacity:.65;margin-top:4px}
.ai-input.static{position:static;margin:0;padding:0;background:none}
/* API */
.api-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.api-url{display:flex;align-items:center;gap:8px;margin:4px 0 6px}
.api-url code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;font-weight:600;color:var(--ink);background:var(--bg-2);padding:4px 10px;border-radius:8px}
.api-plan{font-size:13px;color:var(--muted)}
.api-usage{text-align:right}
.api-usage b{font-size:22px}
.mini-bars{display:flex;align-items:flex-end;gap:3px;height:34px;justify-content:flex-end;margin-top:6px}
.mini-bars i{width:9px;background:var(--line);border-radius:3px 3px 1px 1px}
.mini-bars i.on{background:var(--ink-3)}
.px-0 .seg{margin-top:12px}
.api-key{border:1.5px solid var(--line);border-radius:var(--r);padding:14px;margin-top:10px}
.api-key-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.key-acts{display:flex;gap:6px;align-items:center}
.key-mask{display:inline-block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;background:var(--bg-2);padding:4px 10px;border-radius:8px;margin:10px 0 8px;color:var(--muted)}
.scopes{display:flex;flex-wrap:wrap;gap:6px}
.scopes .tag{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}
.key-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted);margin-top:10px}
.key-meta b{color:var(--text);font-weight:600}
.usecases{display:grid;gap:10px;margin-top:6px}
.usecase{background:var(--bg-2);border-radius:var(--r);padding:14px;color:var(--ink)}
.usecase b{display:block;margin:6px 0 2px;color:var(--text)}
.usecase p{font-size:13.5px;color:var(--muted)}
.usecase code{display:inline-block;margin-top:8px;font-size:11.5px;background:var(--paper);padding:2px 8px;border-radius:6px}
.scope-list{display:grid;gap:2px}
.scope{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.scope input{width:18px;height:18px;accent-color:var(--ink-3)}
.scope b{display:block;font-weight:600;font-size:14.5px}
.scope code{font-size:12px;color:var(--muted)}
.scope.locked{opacity:.55;cursor:not-allowed}
.code-block{position:relative;margin-top:8px}
.code-block pre{background:#12211B;color:#D8F3E3;border-radius:var(--r);padding:14px 16px;overflow-x:auto;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre}
.code-block .icon-btn{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.1);border-color:transparent;color:#fff}
.gate-card .code-block{width:100%;text-align:left}
.docs p{margin-top:4px}
.http{display:inline-block;font-size:11px;font-weight:800;border-radius:5px;padding:1px 6px;font-family:ui-monospace,Menlo,Consolas,monospace}
.http.get{background:#DDF1E5;color:#1E6B45}.http.post{background:#E0EAF7;color:#2B5A8A}.http.patch{background:var(--warn-soft);color:#7A5A00}
.locked-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.locked-card > div{flex:1;min-width:220px}
.gate.in-set{padding:20px 0}
@media (min-width:1024px){
  .help-cards{grid-template-columns:repeat(3,1fr);margin:0 0 16px;gap:16px}
  .lessons{grid-template-columns:repeat(2,1fr);padding:12px 0 0;gap:10px}
  .channel-cta{margin:16px 0 0;width:auto;display:inline-flex}
  .usecases{grid-template-columns:repeat(3,1fr)}
}

/* =========================================================
   Internet yo'q: oyna, kichraytirilgan belgi, qayta ulandi
   ========================================================= */
#netbox.net-pop{position:fixed;z-index:90;left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);transform:translateX(-50%);width:min(520px,calc(100% - 24px));
  background:var(--paper);border-radius:20px;box-shadow:0 18px 50px rgba(10,30,22,.28);padding:18px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;border-top:5px solid var(--red);animation:netIn .25s ease-out}
@keyframes netIn{from{transform:translate(-50%,-20px);opacity:0}to{transform:translateX(-50%);opacity:1}}
.net-ic{width:52px;height:52px;border-radius:16px;background:var(--red-soft);color:var(--red);display:grid;place-items:center;animation:netPulse 1.8s infinite}
@keyframes netPulse{50%{box-shadow:0 0 0 8px rgba(200,55,45,.12)}}
.net-txt b{font-size:18px;font-weight:800;display:block}
.net-txt p{margin-top:4px;font-size:14.5px}
.net-txt .net-sub{color:var(--muted);font-size:13.5px}
.net-txt .net-queue{display:inline-block;background:var(--warn-soft);color:#6B4E00;border-radius:8px;padding:3px 10px;font-weight:700;font-size:13px}
.net-txt small{display:block;color:var(--muted);margin-top:6px;font-size:12.5px}
.net-act{grid-column:1/-1;display:flex;gap:8px;margin-top:8px}
.net-act .btn{flex:1}
#netbox.net-pill{position:fixed;z-index:90;left:50%;top:calc(env(safe-area-inset-top,0px) + 12px);transform:translateX(-50%)}
#netbox.net-pill button{display:flex;align-items:center;gap:8px;background:var(--red);color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px;box-shadow:0 8px 24px rgba(200,55,45,.35)}
.net-back{position:fixed;z-index:91;left:50%;top:16px;transform:translate(-50%,-80px);background:#1E7F52;color:#fff;border-radius:12px;padding:12px 16px;display:flex;gap:8px;align-items:center;font-weight:700;font-size:14px;transition:transform .25s;box-shadow:0 10px 30px rgba(30,127,82,.3)}
.net-back.show{transform:translate(-50%,0)}
body.is-offline .side .logo{filter:grayscale(1)}
@media (prefers-reduced-motion:reduce){#netbox.net-pop,.net-ic{animation:none}.net-back{transition:none}}

/* =========================================================
   Sinxronlash navbati
   ========================================================= */
.sync-pill{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border-radius:10px;margin-bottom:6px;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.8);background:rgba(255,255,255,.06)}
.sync-pill:hover{background:rgba(255,255,255,.12)}
.sync-dot{width:8px;height:8px;border-radius:50%;background:#2DBE6C;flex-shrink:0}
.sync-pill.busy .sync-dot{background:var(--mark);animation:netPulse 1.2s infinite}
.sync-pill.off .sync-dot{background:#F2994A}
.sync-pill.err .sync-dot{background:#FF6B5E}
.sync-pill.err{color:#FFB4AE}
body.side-min .sync-pill{justify-content:center;padding:10px 0}
#syncFloat{position:fixed;left:12px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 10px);z-index:25}
#syncFloat .sync-pill{width:auto;background:var(--ink);color:#fff;box-shadow:var(--shadow);margin:0}
.sync-head{display:flex;gap:10px;align-items:center;background:#DDF1E5;color:#1E6B45;border-radius:var(--r);padding:12px 14px;margin-top:10px;font-weight:600;font-size:14px}
.sync-head.off{background:var(--warn-soft);color:#6B4E00}
.op{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.op-ic{width:34px;height:34px;border-radius:10px;background:var(--bg-2);display:grid;place-items:center;flex-shrink:0;color:var(--ink)}
.op.pending .op-ic,.op.syncing .op-ic{background:var(--warn-soft);color:#7A5A00}
.op.error .op-ic{background:var(--red-soft);color:var(--red)}
.op-note{font-size:13px;background:var(--warn-soft);color:#6B4E00;border-radius:8px;padding:6px 10px;margin-top:6px}
.op-note.red{background:var(--red-soft);color:var(--red)}
.op-act{display:flex;gap:6px;margin-top:8px}
.sync-info{background:var(--bg-2);border-radius:var(--r);padding:14px;margin-top:18px;font-size:13.5px}
.sync-info b{display:block;margin-top:6px}
.sync-info b:first-child{margin-top:0}
.sync-info p{color:var(--muted);margin-top:2px}
.pay-opt:disabled{opacity:.45;cursor:not-allowed}
.pay-opt small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
@media (min-width:1024px){ #syncFloat{display:none} }

/* =========================================================
   6-versiya: birliklar, kamera, jurnal, buyurtmalar,
   optom bozor, xarita, bepul tarif
   ========================================================= */
/* qadoq birliklari */
.u-sw{display:inline-flex;gap:2px;background:var(--bg-2);border-radius:8px;padding:2px;margin-top:6px}
.u-sw button{padding:3px 9px;border-radius:6px;font-size:12.5px;font-weight:700;color:var(--muted)}
.u-sw button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.alt-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.alt-row b{display:block;font-size:14.5px}
.alt-form{display:grid;grid-template-columns:auto 80px 1fr 1fr auto;gap:8px;align-items:center;margin-top:10px}
.alt-form input{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:9px 10px;font-size:14px;min-width:0}
.alt-form > span{font-weight:700;font-size:14px}
.with-btn{display:flex;gap:8px}
.with-btn input{flex:1}
/* kamera */
.cam-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--ink);margin-left:4px}
.cam-btn:hover{background:var(--soft)}
.scan-wrap{position:fixed;inset:0;z-index:120;background:#0b1511;color:#fff;display:flex;flex-direction:column}
.scan-top{display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px}
.scan-top .icon-btn{color:#fff;border-color:rgba(255,255,255,.25);font-size:22px}
.scan-view{position:relative;flex:1;overflow:hidden}
.scan-view video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scan-frame{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.scan-frame i{width:min(calc(78vw / var(--z, 1)),420px);height:min(calc(40vw / var(--z, 1)),200px);border-radius:18px;box-shadow:0 0 0 9999px rgba(0,0,0,.45);border:3px solid var(--mark);position:relative}
.scan-frame i::after{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:#ff5a4e;box-shadow:0 0 8px #ff5a4e;animation:scanline 1.6s ease-in-out infinite}
@keyframes scanline{0%,100%{transform:translateY(-60px)}50%{transform:translateY(60px)}}
.scan-flash{position:absolute;left:50%;top:18%;transform:translateX(-50%);padding:8px 14px;border-radius:10px;font-weight:800;opacity:0;transition:opacity .2s}
.scan-flash.ok{opacity:1;background:#1E7F52}.scan-flash.bad{opacity:1;background:var(--red)}
.scan-msg{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(0,0,0,.7);border-radius:12px;padding:12px 14px;display:none}
.scan-msg.show{display:block}
.scan-bottom{padding:14px 16px calc(env(safe-area-inset-bottom,0px) + 16px);display:grid;gap:10px}
.scan-bottom .muted{color:rgba(255,255,255,.7)}
.scan-count{font-size:15px}.scan-count b{font-size:22px;color:var(--mark)}
.scan-ctl{display:flex;flex-wrap:wrap;gap:8px}
.scan-ctl .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.scan-manual{display:flex;gap:6px;flex:1;min-width:220px}
.scan-manual input{flex:1;min-width:0;border-radius:10px;border:0;padding:10px 12px;font-size:15px}
/* harakatlar jurnali */
.kpis-s{display:grid;gap:10px;padding:0 12px}
.kpis-s .metric{background:var(--paper);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.kpis-s .metric b{font-size:22px}
.warn-box{box-shadow:inset 0 0 0 1.5px #F2C94C}
.chip.warn-chip{background:var(--red);color:#fff;border-color:var(--red)}
.au-list{padding:6px 12px 0}
.au-day{font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 4px 6px}
.au-row{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border-radius:var(--r);padding:12px 14px;margin-bottom:6px}
.au-row.flag{box-shadow:inset 3px 0 0 var(--red)}
.au-ic{width:34px;height:34px;border-radius:10px;background:var(--bg-2);display:grid;place-items:center;flex-shrink:0;color:var(--ink)}
.au-row.flag .au-ic{background:var(--red-soft);color:var(--red)}
.au-row .tag{margin-top:6px;display:inline-flex;gap:4px;align-items:center}
.au-amt{white-space:nowrap}
.au-rules{margin:16px 12px 0}
.suffix{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper);overflow:hidden}
.suffix input{border:0 !important;min-width:0;width:110px;padding:8px 10px;font-size:14px;text-align:right}
.suffix input:focus{outline:none}
.suffix span{padding:0 10px;color:var(--muted);font-size:13px;white-space:nowrap}
/* buyurtmalar */
.seg em.cnt{font-style:normal;background:var(--mark);color:var(--ink);font-size:11px;border-radius:999px;padding:0 7px;margin-left:4px}
.po-rows{display:grid;gap:6px;margin-top:14px}
.po-row{display:grid;grid-template-columns:minmax(0,2.2fr) 1.1fr 1fr 1fr 36px;gap:8px;align-items:center}
.po-row.head{font-size:12px;color:var(--muted);font-weight:700}
.po-row input{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:9px 10px;font-size:14px;min-width:0;width:100%}
.po-row .qty-in{display:flex;align-items:center;gap:4px}
.po-row .qty-in span{font-size:12px;color:var(--muted)}
.po-sum{text-align:right;font-size:14px}
.po-rows.recv .po-row{grid-template-columns:minmax(0,2fr) 1fr 1fr 1fr 1.3fr}
.po-name{font-weight:600;font-size:14px}
.po-diff{display:flex;flex-wrap:wrap;gap:4px}
.btn.danger-t{color:var(--red)}
/* optom bozor */
.mk-filters{display:grid;gap:8px;padding:0 12px}
.mk-filters .search{margin:0}
.mk-chips{padding:10px 12px;flex-wrap:wrap}
.chip-sep{width:1px;height:22px;background:var(--line);margin:0 4px;align-self:center}
.mk-wrap{display:grid;gap:12px;padding:0 12px}
.mk-wrap.m-list .mk-map{display:none}.mk-wrap.m-map .mk-list{display:none}
.mk-count{font-size:13px;color:var(--muted);margin:2px 4px 8px}
.mk-card{display:flex;gap:12px;background:var(--paper);border-radius:var(--r-lg);padding:14px;margin-bottom:8px;cursor:pointer;border:1.5px solid transparent}
.mk-card:hover{border-color:var(--line)}
.mk-card.sel{border-color:var(--ink-3)}
.mk-n{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;flex-shrink:0}
.mk-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mk-title b{font-size:16px}
.vf{color:#2B7FD8;display:inline-flex}
.mk-meta{font-size:13.5px;margin-top:3px}
.mk-meta .rt{color:#B8860B;font-weight:700;display:inline-flex;align-items:center;gap:2px}
.mk-dirs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.mk-terms{font-size:13px;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.mk-price{margin-top:10px;background:var(--bg-2);border-radius:10px;padding:8px 12px}
.mk-price.best{background:#E3F4EA}
.mk-price b{font-size:17px}
.mk-price small{display:block;font-size:12.5px}
.mk-own{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--soft);border-radius:var(--r-lg);padding:14px 16px;margin:8px 0 16px}
.mk-map #mkMap{height:calc(60vh / var(--z, 1));min-height:360px;border-radius:var(--r-lg);overflow:hidden;background:#E4E9E6}
.mk-head h3{display:flex;align-items:center;gap:6px}
/* xarita */
.mpick{display:grid;gap:8px}
.mpick-map{height:260px;border-radius:var(--r);overflow:hidden;background:#E4E9E6;position:relative}
.mpick-load{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:16px;color:var(--muted);font-size:14px}
.mpick-row{display:flex;gap:8px}
.mpick-row input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-size:14px}
.mpick-row input.bad{border-color:var(--red)}
.mpin{position:relative}
.mpin b{position:absolute;top:6px;left:0;width:30px;text-align:center;color:#fff;font-size:11.5px;font-weight:800;font-family:inherit}
.mpin i{position:absolute;top:10px;left:11px;width:8px;height:8px;border-radius:50%;background:#fff}
.mdot i{display:block;border-radius:50%}
.leaflet-container{font-family:inherit}
.br-loc{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted);margin-top:10px}
/* bepul tarif */
.sub-banner.free{background:var(--soft);color:var(--ink)}
.sub-pill.free{background:rgba(255,255,255,.1);color:#fff}
.r-brand{text-align:center;font-size:11px;color:#777;margin-top:6px;border-top:1px dashed #ccc;padding-top:6px}
.plan-f li small{font-size:12px}
@media (min-width:1024px){
  .kpis-s{grid-template-columns:repeat(3,1fr);padding:0;gap:16px}
  .au-list,.au-rules{padding-left:0;padding-right:0;margin-left:0;margin-right:0}
  .mk-filters{grid-template-columns:minmax(0,1.4fr) 1fr 1fr 1fr 1.4fr;padding:0}
  .mk-chips{padding:12px 0}
  .mk-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);padding:0;gap:16px;align-items:start}
  .mk-list{max-height:calc(calc(100vh / var(--z, 1)) - 290px);overflow-y:auto;padding-right:4px}
  .mk-map{position:sticky;top:16px}
  .mk-map #mkMap{height:calc(calc(100vh / var(--z, 1)) - 290px)}
  .plans{grid-template-columns:repeat(4,1fr)}
  .mpick-map{height:320px}
}
@media (max-width:1023px){ .po-row{grid-template-columns:1fr 1fr 1fr 32px}.po-row > .dd{grid-column:1/-1}.po-row .po-sum{display:none}.po-row.head{display:none}
  .po-rows.recv .po-row{grid-template-columns:1fr 1fr 1fr}.po-rows.recv .po-name,.po-rows.recv .po-diff{grid-column:1/-1}
  .alt-form{grid-template-columns:auto 70px 1fr}.alt-form input#alt-price,.alt-form button{grid-column:span 3} }
[hidden]{display:none !important}
.scan-top .icon-btn{background:transparent}
.po-sum{white-space:nowrap}
.mk-terms{display:block}
.mk-terms .ic{vertical-align:-2px}
@media (max-width:1023px){
  .mk-filters{grid-template-columns:1fr 1fr}
  .mk-filters .search{grid-column:1/-1}
  .mk-filters .dd:last-child{grid-column:1/-1}
  .mk-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .mk-chips .chip{flex-shrink:0}
  .mk-map #mkMap{height:calc(calc(100vh / var(--z, 1)) - 330px)}
}

/* =========================================================
   QULAYLIK: tool-btn, "Qaytarish" xabari, Ko'rinish oynasi
   ========================================================= */
.toast{display:flex;align-items:center;gap:12px}
.toast.has-undo{padding:8px 8px 8px 18px}
.toast-undo{display:inline-flex;align-items:center;gap:6px;background:var(--mark);color:var(--ink);font-weight:800;border-radius:10px;padding:9px 14px;font-size:14.5px;white-space:nowrap}
.cart-tools .tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:62px;height:54px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:11.5px;font-weight:700;padding:0 6px}
.cart-tools .tool-btn:hover{border-color:var(--ink-3)}
.cart-tools .tool-btn:disabled{opacity:.35}
.side-item.a11y-btn .a11y-now{margin-left:auto;font-size:11.5px;opacity:.7;font-weight:700}
.more-item.a11y{background:var(--soft)}
.welcome-head{display:flex;gap:14px;align-items:center;margin-bottom:6px}
.welcome-logo{width:52px;height:52px;border-radius:16px;background:var(--ink);color:var(--mark);display:grid;place-items:center;font-weight:800;font-size:24px;flex-shrink:0}
.welcome-head h3{margin:0}
.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.mode-card{display:flex;flex-direction:column;gap:6px;text-align:left;border:2px solid var(--line);border-radius:var(--r-lg);padding:14px;background:var(--paper);color:var(--text)}
.mode-card b{font-size:18px;display:flex;align-items:center;gap:8px}
.mode-card > span:last-child{font-size:13.5px;color:var(--muted);line-height:1.35}
.mode-card.on{border-color:var(--ink);background:var(--soft);box-shadow:0 0 0 3px rgba(15,61,46,.12)}
.mode-prev{display:grid;gap:5px;background:var(--bg-2);border-radius:12px;padding:10px;height:86px;margin-bottom:4px}
.mode-prev i{background:var(--paper);border-radius:6px;border:1px solid var(--line)}
.mode-prev.easy{grid-template-columns:1fr 1fr}
.mode-prev.easy i:first-child{background:var(--mark);border-color:var(--mark)}
.mode-prev.full{grid-template-columns:repeat(3,1fr);gap:4px}
.mode-prev.full i{border-radius:3px}
.size-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}
.size-row > b{font-size:16px}
.size-pick{display:flex;gap:8px}
.size-pick button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:78px;height:70px;border:2px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}
.size-pick button.on{border-color:var(--ink);background:var(--soft)}
.size-pick .aa{font-weight:800;line-height:1}
.size-pick .aa.s0{font-size:18px}.size-pick .aa.s1{font-size:24px}.size-pick .aa.s2{font-size:30px}
.size-pick small{font-size:11.5px;color:var(--muted);font-weight:600}
.size-sample{display:flex;justify-content:space-between;gap:10px;background:var(--bg-2);border-radius:var(--r);padding:14px 16px;margin-top:12px;font-size:16px}
.size-sample b{font-weight:800}
#setView .set-row{margin-top:6px}
.easy-list{list-style:none;display:grid;gap:10px}
.easy-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.easy-list li svg{color:var(--ok);margin-top:2px}
.hint.center,.center{text-align:center}
/* Yordam tugmasi va oynasi */
.help-fab{position:fixed;right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 14px);z-index:25;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:999px;padding:12px 18px 12px 14px;font-weight:800;font-size:16px;box-shadow:var(--shadow)}
.help-fab svg{color:var(--mark)}
.help-steps{list-style:none;display:grid;gap:12px;margin-top:14px}
.help-steps li{display:flex;gap:12px;align-items:flex-start}
.help-steps li span{width:36px;height:36px;border-radius:50%;background:var(--mark);color:var(--ink);font-weight:800;font-size:17px;display:grid;place-items:center;flex-shrink:0}
.help-steps li p{font-size:16.5px;line-height:1.45;padding-top:6px}
.help-big{display:grid;gap:10px;margin-top:20px}
.help-big .btn{justify-content:flex-start;gap:12px;flex-wrap:wrap}
.help-big .btn small{margin-left:auto;font-weight:600;opacity:.75}
@media (min-width:1024px){
  .help-fab{bottom:22px;right:22px}
  .help-fab.in-pos{bottom:auto;top:84px;right:auto;left:calc(var(--side-w) + 20px);padding:9px 14px 9px 12px;font-size:14.5px;display:none}
}

/* =========================================================
   OSON REJIM (body.easy)
   Katta harf va tugmalar, yozuvli tugmalar, kuchli kontrast
   ========================================================= */
body.easy{font-size:17px;--muted:#46524C;--line:#C9D3CD}
body.easy .muted,body.easy .sub{color:#46524C}
body.easy .sub{font-size:14.5px}
body.easy .small{font-size:14px}
body.easy .page-head h1{font-size:28px}
body.easy .btn{min-height:50px;font-size:16.5px;padding:12px 18px;border-radius:12px}
body.easy .btn.sm{min-height:42px;font-size:15px;padding:8px 14px}
body.easy .btn.full{min-height:56px;font-size:17.5px}
body.easy .btn.lg{min-height:60px;font-size:18px}
body.easy .btn.xl{min-height:72px;font-size:21px;font-weight:800;border-radius:var(--r-lg)}
body.easy .btn.ghost{border-width:2px}
body.easy .btn.danger-t{color:var(--red)}
body.easy .icon-btn{width:50px;height:50px}
body.easy .chip{padding:11px 18px;font-size:16px;border-width:2px}
body.easy .search input,body.easy .ctl,body.easy .field input,body.easy .field textarea,body.easy .inline-form input{font-size:18px;padding:14px 16px;border-width:2px}
body.easy .field label{font-size:15px;color:#2E3A34;font-weight:600}
body.easy .row{padding:15px 0}
body.easy .row .title{font-size:17px}
body.easy .block{padding:18px}
body.easy .block-head h2{font-size:20px}
body.easy .tag{font-size:13.5px;padding:3px 10px}
body.easy .toast{font-size:17px;padding:16px 22px;border-radius:14px;max-width:min(92%,640px)}
body.easy .toast.has-undo{padding:10px 10px 10px 20px}
body.easy .toast-undo{font-size:16.5px;padding:12px 18px}
body.easy :focus-visible{outline-width:4px}
body.easy .sheet h3{font-size:24px}
body.easy .sheet-close{width:48px;height:48px;font-size:28px}
body.easy .dd-btn{min-height:52px;font-size:17px;border-width:2px}
body.easy .dd-opt{padding:14px 16px;font-size:17px}
body.easy .sum-line{font-size:16.5px}
body.easy .sum-line.total{font-size:21px}
/* mobil menyu */
body.easy{--nav-h:76px}
body.easy .nav button{font-size:13.5px;font-weight:700;color:#46524C;gap:4px}
body.easy .nav button.on{color:var(--ink)}
body.easy .nav button.on::before{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:54px;height:36px;border-radius:12px;background:var(--soft);z-index:-1}
body.easy .nav button svg{width:28px;height:28px}
body.easy .more-item{font-size:17px;padding:18px;min-height:96px}
/* chap menyu */
@media (min-width:1024px){
  body.easy{--side-w:268px}
  body.easy .side-item{padding:13px 16px;font-size:17px;color:rgba(255,255,255,.85)}
  body.easy .side-item svg{width:24px;height:24px}
  body.easy .side-item.on{box-shadow:inset 4px 0 0 var(--mark)}
  body.easy .side-item.more-toggle{margin-top:8px;border-top:1px solid rgba(255,255,255,.12);border-radius:0 0 12px 12px;padding-top:15px}
  body.easy .side-item .chev{margin-left:auto;display:flex;transition:transform .15s}
  body.easy .side-item .chev.up{transform:rotate(180deg)}
  body.easy .side-extra{display:flex;flex-direction:column;gap:2px;padding-left:10px}
  body.easy .side-extra .side-item{font-size:15.5px;padding:10px 14px}
  body.easy .side-toggle{display:none}
}
/* Oson bosh sahifa */
.e-today{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 12px 0}
.e-today > div{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:18px}
.e-today > div + div{background:var(--paper);color:var(--text)}
.e-today small{display:block;font-size:15px;opacity:.85}
.e-today b{display:block;font-size:28px;font-weight:800;letter-spacing:-.01em;margin:4px 0}
.e-today span{font-size:14.5px;opacity:.8}
.e-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 12px 0}
.e-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--paper);border:2px solid var(--line);border-radius:var(--r-lg);padding:18px;text-align:left;min-height:140px;color:var(--ink)}
.e-tile b{font-size:20px;font-weight:800;margin-top:auto}
.e-tile span{font-size:15px;color:#46524C}
.e-tile:hover{border-color:var(--ink-3)}
.e-tile.primary{background:var(--mark);border-color:var(--mark)}
.e-tile.primary span{color:var(--ink)}
.e-attn .e-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.e-attn .e-row:first-of-type{border-top:0}
.e-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.e-row.red .e-ic{background:var(--red-soft);color:var(--red)}
.e-row.warn .e-ic{background:var(--warn-soft);color:#7A5A00}
.e-row p{font-size:16.5px;line-height:1.35}
.e-row .grow > b{font-size:17px}
.e-ok{display:flex;gap:10px;align-items:center;font-size:17px;color:var(--ok);font-weight:600}
.e-pick{display:grid;gap:8px;margin-top:14px}
.e-pick-row{display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:var(--r);padding:12px 14px;text-align:left;background:var(--paper)}
.e-pick-row:hover{border-color:var(--ink-3)}
.e-pick-row b{font-size:17px}
.e-pick-row small{display:block;color:#46524C;font-size:14px}
@media (min-width:1024px){
  .e-today{margin:18px 0 0;gap:16px}
  .e-today b{font-size:34px}
  .e-actions{grid-template-columns:repeat(3,1fr);margin:16px 0 0;gap:16px}
  .e-tile{min-height:170px;padding:22px}
  .e-tile b{font-size:22px}
}
/* Oson kassa: tovar kartalari */
body.easy .pgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
body.easy .tile{min-height:150px;padding:16px;border-width:2px;border-color:var(--line)}
body.easy .tile:hover{border-color:var(--ink-3)}
body.easy .tile.in{border-color:var(--ink);background:var(--soft)}
body.easy .t-cat{font-size:13.5px}
body.easy .t-name{font-size:18px;font-weight:700}
body.easy .t-price{font-size:20px}
body.easy .t-stock{font-size:14px}
body.easy .tile .cnt{font-size:16px;padding:4px 12px}
body.easy .pos-search input{font-size:18px;padding:14px 0}
body.easy .pos-top{gap:12px}
body.easy .pos-top .seg button{font-size:16px;padding:10px 16px}
.cam-btn.with-text,.icon-btn.with-text,body.easy .icon-btn.with-text{width:auto;display:inline-flex;align-items:center;gap:8px;padding:0 16px;height:50px;border-radius:12px;background:var(--ink);color:#fff;font-weight:700;font-size:16px;border:0}
body.easy .pos-search{padding-right:4px}
body.easy .row .add.with-text{width:auto;display:inline-flex;align-items:center;gap:6px;padding:0 16px;height:48px;font-size:16px;font-weight:700;border-radius:12px}
body.easy .row .add.in{min-width:56px}
/* Oson chek qatorlari */
.eline{padding:16px 0;border-top:1px solid var(--line)}
.eline:first-child{border-top:0}
.eline-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.eline-name{font-size:18.5px;font-weight:700;line-height:1.3}
.eline-del{display:inline-flex;align-items:center;gap:6px;color:var(--red);font-weight:700;font-size:14.5px;padding:8px 10px;border-radius:10px;border:2px solid var(--red-soft);white-space:nowrap;flex-shrink:0}
.eline-del:hover{background:var(--red-soft)}
.eline-price{font-size:15.5px;color:#46524C;margin-top:4px}
.eline-price b{color:var(--text)}
.eline-bottom{display:flex;align-items:center;gap:10px;margin-top:12px}
.qty.big{gap:8px}
.qty.big button{width:56px;height:56px;border-radius:14px;font-size:28px;font-weight:800;background:var(--soft);border:2px solid transparent}
.qty.big button:hover{border-color:var(--ink-3)}
.qty.big input{width:84px;height:56px;font-size:22px;font-weight:800;border-width:2px;border-radius:14px}
.eline-unit{font-size:16px;color:#46524C;font-weight:600}
.eline-sum{margin-left:auto;font-size:20px;font-weight:800;white-space:nowrap}
.u-sw.big{margin-top:10px;padding:3px;border-radius:12px}
.u-sw.big button{padding:9px 16px;font-size:15.5px;border-radius:10px}
body.easy .cart-head{padding:16px 18px}
body.easy .cart-head h2{font-size:24px}
body.easy .cart-tools{gap:8px}
body.easy .cart-tools .btn{min-height:46px;font-size:15px;padding:8px 12px}
body.easy .cart-items{padding-left:18px;padding-right:18px}
body.easy .cart-cust .cust-chip{min-height:56px;font-size:16px}
.e-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 2px 0}
.e-total span{font-size:20px;font-weight:700}
.e-total b{font-size:32px;font-weight:800;letter-spacing:-.01em}
body.easy .pay-btn{min-height:72px;font-size:22px;border-radius:var(--r-lg);justify-content:center;gap:10px}
body.easy .cart-empty p{font-size:16.5px}
body.easy .cart-empty .e-empty-t{font-size:20px;font-weight:800;color:var(--text)}
body.easy .adj-row .chip,body.easy .adj-chip{font-size:15.5px}
/* mobil pastki savat paneli */
.cartbar.e-bar{padding:14px 16px;min-height:76px;text-align:left;border:0;cursor:pointer}
.e-bar small{display:block;font-size:14.5px;opacity:.8}
.e-bar b{font-size:24px}
.e-bar-go{display:inline-flex;align-items:center;gap:4px;background:var(--mark);color:var(--ink);font-weight:800;font-size:16px;border-radius:12px;padding:12px 12px 12px 16px;white-space:nowrap}
body.easy .fab-space{height:110px}
/* Oson to'lov */
body.easy .pay-methods{grid-template-columns:1fr 1fr;gap:10px}
body.easy .pay-opt{display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:14px;font-size:16.5px;font-weight:700;min-height:64px;border-width:2px;text-align:left}
body.easy .pay-opt svg{flex-shrink:0;color:var(--ink-3)}
body.easy .pay-opt.on{box-shadow:0 0 0 3px rgba(15,61,46,.15)}
body.easy .pay-opt.on svg{color:var(--ink)}
body.easy .pay-total{flex-wrap:wrap;padding:18px}
body.easy .pay-total small{font-size:16px}
body.easy .pay-total b{font-size:34px}
.in-words{display:block;width:100%;font-size:14.5px;opacity:.85;font-weight:500;margin-top:2px;line-height:1.35}
body.easy .big-input{font-size:30px !important;font-weight:800;height:70px}
.note-btn{min-width:108px;height:56px;border-radius:12px;border:2px solid #B9D8C6;background:#EAF5EE;color:var(--ink);font-weight:800;font-size:18px;padding:0 14px;position:relative}
.note-btn::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:4px;border-radius:2px;background:#9CCBB0}
.note-btn:hover{border-color:var(--ink-3)}
body.easy .quick{gap:10px}
.change.e-change{border-radius:var(--r);padding:14px 16px;background:var(--bg-2);font-size:18px;margin-top:12px}
.change.e-change small{display:block;font-size:15px;font-weight:600}
.change.e-change b{font-size:32px;font-weight:800}
.change.e-change.ok{background:#E3F4EA;color:#145C3A}
.change.e-change.bad{background:var(--red-soft);color:var(--red)}
/* Sotildi! */
.done{text-align:center;padding:6px 0 16px}
.done-ic{width:86px;height:86px;border-radius:50%;background:#E3F4EA;color:var(--ok);display:grid;place-items:center;margin:0 auto 10px;border:4px solid #BFE3CC}
.done h3{font-size:30px !important;margin:0}
.done-sum{font-size:40px;font-weight:800;letter-spacing:-.02em;margin-top:6px}
.done .in-words{opacity:1;color:#46524C}
.done-change{margin:16px auto 0;background:var(--mark);border-radius:var(--r-lg);padding:14px 18px;max-width:420px}
.done-change small{display:block;font-size:16px;font-weight:700}
.done-change b{font-size:40px;font-weight:800}
.done-change.debt{background:var(--warn-soft)}
.done-change.debt b{font-size:24px}
.done-more{margin-top:14px;border:2px solid var(--line);border-radius:var(--r);padding:12px 14px}
.done-more summary{cursor:pointer;font-weight:700;font-size:16px}
.done-more .receipt{margin-top:12px}
/* Yuqori kontrast */
body.hc{--muted:#2B3530;--line:#8E9C94;--text:#000}
body.hc .muted,body.hc .sub,body.hc .eline-price,body.hc .e-tile span{color:#2B3530}
body.hc .btn.ghost,body.hc .chip,body.hc .icon-btn,body.hc .search input,body.hc .field input,body.hc .dd-btn,body.hc .tile,body.hc .pay-opt,body.hc .tool-btn,body.hc .e-tile,body.hc .mode-card{border-color:#6F7E76}
body.hc .link{text-decoration:underline}
body.hc .side-item{color:#fff}
body.hc .nav button{color:#2B3530}
/* Harakatsiz ekran */
body.calm *,body.calm *::before,body.calm *::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
@media (max-width:1023px){
  .mode-cards{grid-template-columns:1fr}
  .mode-card{flex-direction:row;flex-wrap:wrap;align-items:center}
  .mode-prev{width:84px;height:64px;padding:6px;margin:0}
  .mode-card b{flex:1}
  .mode-card > span:last-child{flex-basis:100%}
  .size-pick button{min-width:0;flex:1}
  .size-row{flex-direction:column;align-items:stretch}
  .toast{flex-wrap:wrap;justify-content:center}
}
body.easy .adj-btn{padding:11px 16px;font-size:15.5px;border-width:2px}
body.easy .adj-chip{padding:9px 8px 9px 14px;font-size:15.5px}
body.easy .adj-chip .x{width:30px;height:30px;font-size:20px}
body.easy .cart-head{flex-wrap:wrap;gap:8px}
body.easy .cart-head > div:first-child{display:flex;align-items:baseline;gap:10px}
.e-count{font-size:15px;color:#46524C;font-weight:600;white-space:nowrap}
@media (min-width:1024px){ body.easy .pos-body{grid-template-columns:minmax(0,1fr) 470px} }
/* oson rejim: tor ekran tuzatishlari */
.eline-bottom{flex-wrap:wrap}
body.easy .actions .btn{white-space:normal;line-height:1.2}
body.easy .main{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 90px)}
.e-bar b{white-space:nowrap}
@media (max-width:1023px){
  .e-today{grid-template-columns:1fr}
  .e-today > div{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px;padding:16px 18px}
  .e-today small{grid-column:1/-1}
  .e-today b{font-size:28px;margin:0}
  .e-today span{text-align:right}
  .e-bar b{font-size:21px}
  .e-tile{min-height:128px;padding:16px}
  .e-tile b{font-size:19px}
  body.easy .search .with-text span{display:none}
  body.easy .search .with-text{padding:0 14px}
}
html,body{overflow-x:clip}
@media (max-width:1023px){ .e-today b{font-size:26px;white-space:nowrap} }
/* oson rejim: kamroq yozuv */
body.easy .sync-pill.ok{display:none}
body.easy .t-cat{display:none}
body.easy .tile{min-height:128px}
.e-tile{justify-content:center;align-items:center;text-align:center;gap:10px}
.e-tile b{margin-top:0}
.e-tile svg{color:var(--ink)}
.e-today > div{display:block}
.e-today small{font-size:15px}
.e-attn{padding:6px 16px}
.e-attn .e-row{width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);color:var(--text);font-size:17px}
.e-attn .e-row:first-child{border-top:0}
.e-row .e-val{white-space:nowrap}
.e-row.red .e-val{color:var(--red)}
.e-row > svg:last-child{color:var(--muted)}
.eline-del{padding:0;width:48px;height:48px;justify-content:center;border-radius:12px}
.e-bar{align-items:center}
.e-bar-n{min-width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-weight:800;font-size:18px}
.e-bar > b{flex:1;margin-left:4px}
.help-steps li p{padding-top:5px}
@media (max-width:1023px){
  .e-today > div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
  .e-tile{min-height:112px}
}
body.easy .cust-chip.empty small{display:none}
body.easy .adj-btn[data-a="adjOpen"][data-v="code"]{display:none}

/* =========================================================
   Yon menyu: o'rta qism aylanadi, pastki qism ixcham
   ========================================================= */
.sync-pill.ok{display:none}
@media (min-width:1024px){
  .side-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -12px;padding:0 12px 6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;
    -webkit-mask-image:linear-gradient(#000 calc(100% - 18px),transparent);mask-image:linear-gradient(#000 calc(100% - 18px),transparent)}
  .side-nav::-webkit-scrollbar{width:6px}
  .side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px}
  .side-bottom{margin-top:0;padding-top:8px;flex-shrink:0}
  .side-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}
  .sq-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 2px;border-radius:12px;color:rgba(255,255,255,.72);font-size:11.5px;font-weight:600;min-width:0}
  .sq-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sq-btn:hover{background:rgba(255,255,255,.07);color:#fff}
  .sq-btn.on{background:var(--ink-2);color:#fff}
  .sq-btn em{position:absolute;top:3px;right:calc(50% - 22px);font-style:normal;background:var(--red);color:#fff;font-size:10.5px;border-radius:999px;padding:0 6px;line-height:16px}
  .side-foot{padding-top:10px;margin-top:6px}
  .sub-pill{margin-bottom:6px}
  body.side-min .side-quick{grid-template-columns:1fr}
  body.side-min .sq-btn span{display:none}
  body.side-min .sq-btn{padding:10px 0}
  body.side-min .sq-btn[title]:hover::after{content:attr(title);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--text);color:#fff;padding:6px 10px;border-radius:8px;font-size:13px;white-space:nowrap;z-index:70}
  body.side-min .side-nav{-webkit-mask-image:none;mask-image:none}
  body.easy .sq-btn{font-size:13px;padding:10px 2px}
  body.easy .sq-btn svg{width:24px;height:24px}
}
/* past ekranlar: ixchamroq */
@media (min-width:1024px) and (max-height:760px){
  .brand{padding-bottom:12px}
  .side-branch{padding-bottom:10px}
  .side-item{padding-top:9px;padding-bottom:9px}
  body.easy .side-item{padding-top:10px;padding-bottom:10px}
}

/* =========================================================
   Zakot
   ========================================================= */
.zk-hero{display:grid;gap:14px;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:20px;margin:14px 12px 0}
.zk-hero.none{background:var(--paper);color:var(--text)}
.zk-main small{display:block;font-size:15px;opacity:.8}
.zk-main > b{display:block;font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:2px 0}
.zk-main .in-words{opacity:.75}
.zk-note{display:block;font-size:16px;font-weight:600;color:var(--ok);margin-top:2px}
.zk-paid{display:inline-flex;align-items:center;gap:6px;margin-top:10px;background:rgba(255,255,255,.12);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:700}
.zk-hero.none .zk-paid{background:var(--soft)}
.zk-side{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.zk-side > div{background:rgba(255,255,255,.08);border-radius:var(--r);padding:12px}
.zk-hero.none .zk-side > div{background:var(--bg-2)}
.zk-side small{display:block;font-size:13px;opacity:.75}
.zk-side b{display:block;font-size:17px;font-weight:800;margin-top:2px;white-space:nowrap}
.zk-side span{display:block;font-size:12.5px;opacity:.75;margin-top:2px}
.zk-act .btn{min-width:180px}
.zk-cols{display:grid;gap:0}
.zk-card .block-head b{font-size:18px;white-space:nowrap}
.zk-card h2 .plus,.zk-card h2 .minus{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;font-size:16px;margin-left:6px;vertical-align:2px}
.zk-card h2 .plus{background:#E3F4EA;color:var(--ok)}
.zk-card h2 .minus{background:var(--red-soft);color:var(--red)}
.zk-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.zk-row:first-of-type{border-top:0}
.zk-row .grow b{display:block;font-size:15.5px}
.zk-row .grow small{display:block;font-size:12.5px;color:var(--muted)}
.zk-ic{width:38px;height:38px;border-radius:11px;background:var(--bg-2);display:grid;place-items:center;flex-shrink:0;color:var(--ink)}
.zk-val{font-size:16px;white-space:nowrap}
.zk-auto{color:var(--ok);display:flex;opacity:.7}
.zk-in input{width:130px}
.zk-check{cursor:pointer}
.zk-sum{display:flex;justify-content:space-between;padding:10px 0 0;font-size:15px;border-top:1px dashed var(--line);margin-top:6px}
.zk-sum b{font-size:17px}
.zk-set{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.zk-set summary{cursor:pointer;font-weight:700;font-size:15px;margin-bottom:10px}
.zk-seg{width:100%;margin:6px 0 4px}
.zk-seg button{flex:1}
.zk-lbl{font-size:13px;color:var(--muted);font-weight:600;margin-top:12px}
.zk-date{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}
.zk-date input{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;font-size:15px}
.zk-date span{font-size:14px;color:var(--muted);font-weight:600}
.zk-disc{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13.5px;margin:14px 16px 24px}
body.easy .zk-row .grow b{font-size:17px}
body.easy .zk-in input{width:150px}
@media (min-width:1024px){
  .zk-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;align-items:center;margin:16px 0 0;padding:24px 26px}
  .zk-main > b{font-size:46px}
  .zk-cols{grid-template-columns:1fr 1fr;gap:16px}
  .zk-card .kv.four{grid-template-columns:repeat(4,1fr)}
  .zk-disc{margin:16px 0 24px}
}
@media (max-width:1023px){
  .zk-side{grid-template-columns:1fr 1fr}
  .zk-side > div:last-child{grid-column:1/-1}
  .zk-act .btn{width:100%}
  .zk-in input{width:110px}
}

@media (min-width:1024px){
  .zk-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .zk-side{grid-column:1/-1;grid-row:2}
  .zk-act{grid-column:2;grid-row:1;align-self:center}
  .zk-main > b{font-size:44px;white-space:nowrap}
  .sq-btn{font-size:11px;padding:8px 0}
  body.easy .sq-btn{font-size:12.5px}
  .side-quick{gap:2px}
}
@media (max-width:1023px){
  .zk-hero{padding:18px}
  .zk-main > b{font-size:34px}
  .zk-side{grid-template-columns:1fr}
  .zk-side > div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;padding:10px 14px}
  .zk-side > div span{flex-basis:100%}
  .zk-side b{font-size:17px}
  .zk-row{flex-wrap:wrap}
  .zk-row .grow{min-width:140px}
  .zk-in{margin-left:auto}
  .zk-card .kv.four{grid-template-columns:1fr 1fr}
}
.zk-card .block-head{flex-wrap:wrap}
@media (max-width:1023px){
  .zk-val{margin-left:auto}
  .zk-row .grow{min-width:0;flex-basis:calc(100% - 60px)}
  .zk-row .zk-val,.zk-row .zk-in{margin-left:50px}
  .zk-row .zk-val{margin-left:auto}
}
.zk-seg button{min-width:0;white-space:normal;line-height:1.2}
.zk-card{min-width:0}

/* =========================================================
   Ishlab chiqarish
   ========================================================= */
.biz-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.biz-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;border:2px solid var(--line);border-radius:var(--r);padding:14px;background:var(--paper);color:var(--ink)}
.biz-card b{font-size:15.5px;color:var(--text)}
.biz-card small{font-size:12.5px;color:var(--muted)}
.biz-card.on{border-color:var(--ink);background:var(--soft)}
.pr-hint{margin:14px 12px 0;padding:12px 14px;border-radius:var(--r);background:var(--paper)}
.pr-group{padding:0 12px}
.pr-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--paper);border-radius:var(--r);padding:12px 14px;margin-bottom:6px;border:1.5px solid transparent;color:var(--text)}
.pr-row:hover{border-color:var(--line)}
.pr-row.ps-work{box-shadow:inset 3px 0 0 var(--mark)}
.pr-row .right{text-align:right;white-space:nowrap}
.pr-row .right .tag{margin-top:4px}
.pr-ic{width:40px;height:40px;border-radius:12px;background:var(--bg-2);display:grid;place-items:center;flex-shrink:0;color:var(--ink)}
.pr-ic.red{background:var(--red-soft);color:var(--red)}
.pr-row.ps-work .pr-ic{background:var(--warn-soft);color:#7A5A00}
.seg em.cnt.red{background:var(--red);color:#fff}
.banner.warn-b{display:flex;align-items:center;gap:10px;background:var(--red-soft);color:var(--red);border-radius:var(--r);padding:10px 12px;margin-top:10px;font-weight:600}
.banner.warn-b span{flex:1}
.flat-b{margin:12px 0 0;padding:14px;background:var(--bg-2)}
.rc-grid{display:grid;gap:12px;padding:0 12px}
.rc-grid .block{margin:0}
.rc-card .sum-line{font-size:14.5px}
.rc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.rc-rows{display:grid;gap:8px;margin:12px 0}
.rc-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 36px;gap:8px;align-items:center}
.rc-row .qty-in input{width:100%}
.pr-home .block-head h2{display:flex;align-items:center;gap:8px}
.pr-home .progress{margin-top:6px;max-width:260px}
@media (min-width:1024px){
  .pr-group,.rc-grid{padding:0}
  .rc-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
  .pr-hint{margin:16px 0 0}
}
@media (max-width:640px){ .biz-cards{grid-template-columns:1fr} .rc-row{grid-template-columns:1fr 110px 32px} }

/* Sotuv nuqtalari */
.ot-top{display:grid;gap:8px}
.ot-top .search{margin:0}
.ot-sum{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 8px;font-size:14px;color:var(--muted)}
.ot-sum .link{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.ot-card{background:var(--paper);border-radius:var(--r-lg);padding:14px;margin-bottom:8px;border:1.5px solid transparent}
.ot-card.sel{border-color:var(--ink-3)}
.ot-head{display:flex;gap:12px;cursor:pointer}
.ot-head .mk-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ot-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-left:40px}
.ot-act .btn{text-decoration:none}
#otMap{height:calc(60vh / var(--z, 1));min-height:360px;border-radius:var(--r-lg);overflow:hidden;background:#E4E9E6;position:relative}
.share-txt{width:100%;font-size:14px;line-height:1.45;resize:vertical;margin-top:10px}
body.easy .ot-act .btn{min-height:46px}
@media (min-width:1024px){
  .ot-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto auto;padding:0;align-items:center}
  .ot-sum{padding:0}
  .ot-wrap .mk-list{max-height:calc(calc(100vh / var(--z, 1)) - 330px)}
  #otMap{height:calc(calc(100vh / var(--z, 1)) - 330px)}
}
@media (max-width:1023px){ .ot-act{padding-left:0} .ot-act .lbl-m{display:none} .ot-wrap .mk-map{display:block} #otMap{height:320px;min-height:0} }
@media (max-width:1023px){ .ot-wrap{display:flex;flex-direction:column} .ot-wrap .mk-map{order:-1} #otMap{height:260px} }
/* Sex mahsuloti: tovarlar, kartochka, hisobot */
.tag.made-tag{display:inline-flex;align-items:center;gap:3px;background:#EDE4FA;color:#5B35A8;margin-left:6px;vertical-align:1px}
.made-box{margin-top:12px;border:1.5px solid #D9C9F3;background:#F8F4FE;border-radius:var(--r);padding:12px 14px}
.made-head{display:flex;align-items:center;gap:8px;color:#5B35A8}
.made-head b{flex:1;color:var(--text)}
.made-box .kv{margin-top:8px}
.made-rep{grid-column:1/-1}
.made-rep .block-head h2{display:flex;align-items:center;gap:8px}
.made-rep tfoot td{font-weight:800;border-top:2px solid var(--line)}

/* Sotuv nuqtalari — mijoz sifatida (kassa, nasiya) */
.tag.ot-tag{background:#EDE4FA;color:#5B35A8;display:inline-flex;align-items:center;gap:3px;vertical-align:middle}
.avatar.ot-av{background:#EDE4FA;color:#5B35A8;display:grid;place-items:center}
.pick-group{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:12px 4px 4px;position:sticky;top:0;background:var(--paper);z-index:1}
.pick-group span{margin-left:auto;font-weight:600}
.pick-group.ot-group{color:#7A45C8}
.pick-list .row.ot-pick{border-left:3px solid #8E5BD6;padding-left:8px}
.cust-chip.ot-chip{border-color:color-mix(in srgb,#8E5BD6 45%,var(--line))}
.pick-list .row .title .tag{font-size:11px}
.ot-type{color:#5B35A8;font-weight:600;display:inline-flex;align-items:center;gap:3px;vertical-align:bottom}

/* =========================================================
   DIZAYN v2 — premium, minimalistik qatlam
   Yumshoq neytral fon, ingichka chiziqlar, kam soya, aniq
   tipografiya va bir xil ichki bo'shliqlar (element chetga
   yopishib qolmasligi uchun).
   ========================================================= */
:root{
  --bg:#F3F4F1; --bg-2:#F8F9F7; --line:#E4E7E3; --line-2:#EDEFEC; --muted:#69736E; --text:#131C17;
  --soft:#E9F2ED; --r-lg:18px; --r:13px; --r-sm:10px;
  --sh-xs:0 1px 2px rgba(17,28,22,.04); --sh-sm:0 1px 2px rgba(17,28,22,.04),0 4px 14px -6px rgba(17,28,22,.08);
  --shadow:0 24px 60px -18px rgba(17,28,22,.28),0 2px 6px rgba(17,28,22,.06);
  --ring:0 0 0 3.5px rgba(46,122,94,.14);
}
body{font-size:15px;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
b,strong{font-weight:650}
::selection{background:#DCEBE2}

/* sarlavhalar */
.page-head h1{font-weight:700;letter-spacing:-.03em}
.page-head p{color:var(--muted)}
.block h2,.detail h2{font-size:16px;font-weight:650;letter-spacing:-.01em}
.sheet h3,.detail h3{font-weight:700;letter-spacing:-.02em}

/* kartalar: fon ustida ingichka chiziq + juda yengil soya */
.block,.plist,.metric,.card,.stat,.tbl-wrap,.tile,.pr-row,.kpis-s .metric{border:1px solid var(--line);box-shadow:var(--sh-xs)}
.stat.primary{border-color:var(--ink)}
.block{padding:18px 18px}
.ai-block{border-color:#D3E5DA;background:linear-gradient(180deg,#FBFDFB,#fff)}
.tile{transition:border-color .15s,box-shadow .15s,transform .15s}
.tile:hover{border-color:#CFD8D2;box-shadow:var(--sh-sm)}
.pr-row{border-width:1px}
.pr-row:hover{border-color:#CFD8D2}

/* tugmalar */
.btn{font-weight:600;letter-spacing:-.005em;border-radius:11px;padding:10px 18px;transition:background .15s,border-color .15s,box-shadow .15s}
.btn.ghost{border-width:1px;box-shadow:var(--sh-xs)}
.btn.ghost:hover{border-color:#C9D3CD;background:var(--bg-2)}
.btn.sm{padding:7px 13px;border-radius:9px}
.btn.full,.btn.lg{border-radius:13px}
.icon-btn{border-radius:10px}

/* maydonlar */
.search input,.ctl,.field input,.field textarea,.inline-form input,.dd-btn{border-width:1px;box-shadow:var(--sh-xs)}
.search input:focus,.ctl:focus,.field input:focus,.field textarea:focus,.inline-form input:focus,.dd.open .dd-btn{border-color:var(--ink-3);box-shadow:var(--ring)}
.field label{font-weight:550;color:var(--muted);letter-spacing:.005em}
.dd-list{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;padding:5px}

/* chiplar va segmentlar */
.chip{border-width:1px;padding:7px 15px;font-size:13.5px;box-shadow:var(--sh-xs)}
.chip:hover{border-color:#C9D3CD}
.chip.on{box-shadow:none}
.seg{background:#E9ECE8;padding:3px;gap:3px;border-radius:12px}
.seg button{border-radius:9px;font-weight:550}
.seg button.on{box-shadow:0 1px 2px rgba(17,28,22,.08),0 0 0 1px rgba(17,28,22,.04)}
.tag{font-weight:600;font-size:11.5px;padding:3px 9px;letter-spacing:.005em}

/* ro'yxatlar va jadvallar */
.row{border-top-color:var(--line-2)}
.tbl th{background:transparent;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted);border-bottom-color:var(--line)}
.tbl td{border-bottom-color:var(--line-2)}
.tbl tbody tr[data-a]:hover td{background:#F6F8F6}
.tbl th:first-child,.tbl td:first-child{padding-left:20px}
.tbl th:last-child,.tbl td:last-child{padding-right:20px}
.tbl.compact th:first-child,.tbl.compact td:first-child{padding-left:14px}
.tbl.compact th:last-child,.tbl.compact td:last-child{padding-right:14px}

/* banner (obuna eslatmasi) — tinch ko'rinish */
.banner{border:1px solid #F1E2A6;background:#FFF8DC}
.banner.info{border-color:#D3E5DA}

/* oynalar */
.sheet{border-radius:22px 22px 0 0}
.sheet-wrap{background:rgba(12,20,16,.38);backdrop-filter:blur(2px)}

/* mobil pastki menyu */
.nav{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);border-top-color:var(--line)}

/* ---------- chetga yopishish / siqilish tuzatishlari ---------- */
.pick-list .row,.pick-list .pick-group{padding-left:10px;padding-right:10px}
.pick-list .row.ot-pick{padding-left:10px}
.pick-list .row{border-radius:11px}
.pick-list .row.tap:hover{background:var(--bg-2)}
.alt-row{padding:10px 4px}
.set-row .set-text{min-width:0;flex:1 1 220px}
.block-head{flex-wrap:wrap;row-gap:6px}
.block-head > :first-child{min-width:0}
.stat{padding:20px 22px;min-width:0}
.stat b{overflow:hidden;text-overflow:ellipsis}
.metric{min-width:0}
.metric b{overflow-wrap:anywhere}
.row .right{padding-left:4px}
.tag + .tag{margin-left:4px}
.banner{padding:12px 16px}
.chips{scroll-padding:0 12px}
@media (max-width:1023px){
  .toolbar > .dd,.toolbar > select,.px > .dd{margin:10px 12px 0}
  .toolbar > .search + .dd{margin-top:10px}
  .metric b{font-size:17px}
  .kpis-s{grid-template-columns:1fr 1fr}
  .kpis-s .metric:first-child:nth-last-child(odd){grid-column:1/-1}
  .kpis-s .metric b{font-size:20px}
  .pr-row{padding:12px 14px}
  .pr-row .sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .made-rep .tbl th,.made-rep .tbl td{padding:9px 10px}
  .page-head{padding-left:16px;padding-right:16px}
  .block{margin-left:12px;margin-right:12px;padding:16px}
}
@media (min-width:1024px){
  .stat b{font-size:clamp(18px,1.55vw,24px)}
  .stat.primary b{font-size:clamp(24px,2.1vw,32px)}
  .metric b{font-size:clamp(18px,1.5vw,22px)}
  .block{padding:22px 24px}
  .side-item{font-weight:500;letter-spacing:-.005em}
  .side-item.on{background:rgba(255,255,255,.1);font-weight:600}
  .side-item.on::before{width:3px}
  .page-head{padding:30px 0 20px}
}
.sub-banner{background:var(--paper);color:var(--text);border:1px solid var(--line);box-shadow:var(--sh-xs);padding:10px 12px 10px 16px;gap:12px}
.sub-banner > .ic{color:#B7860B}
.sub-banner span{font-weight:500;font-size:14px}
.sub-banner.grace,.sub-banner.blocked{background:#FFF8F7;border-color:#F3CFCA;color:var(--red)}
.sub-banner.grace > .ic,.sub-banner.blocked > .ic{color:var(--red)}
.sub-banner.free{background:var(--paper);color:var(--text)}
.sub-banner.free > .ic{color:var(--ink-3)}
.page-head h1{font-weight:650}
.stat b,.metric b,.kpis-s .metric b{font-weight:700;letter-spacing:-.02em}
.chart .bar{background:#9CC7B0;border-radius:7px 7px 3px 3px;transition:background .15s}
.chart .col:hover .bar{background:var(--ink-3)}
.chart .col.today .bar{background:var(--ink)}
@media (min-width:1024px){.chart .bar{max-width:64px;margin:0 auto}}
@media (max-width:1023px){
  .page-head + .seg.tabs,.px > .seg.tabs,.seg.tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
}
@media (max-width:480px){
  .pr-row .pr-ic{width:34px;height:34px;border-radius:10px}
  .pr-row{gap:10px}
}
/* O'lchov birligi formasi: siqilmasin */
.alt-form{grid-template-columns:auto 76px minmax(0,1fr) auto;row-gap:10px}
.alt-form input#alt-price{grid-column:2 / 4}
.alt-form input{border-width:1px}
.alt-form > span{white-space:nowrap;padding-right:2px}
.sheet-wrap{backdrop-filter:blur(1.5px)}
body.easy .pick-list .row{padding:14px 12px}
.hb .sum-line{gap:12px;align-items:baseline}
.hb .sum-line span{min-width:0}
.hb .sum-line b{white-space:nowrap;flex-shrink:0}
.hbar{background:var(--line-2);height:6px;border-radius:3px}
.hbar i{border-radius:3px}
.sum-line b,.row .right b{white-space:nowrap}

/* =========================================================
   Bloklash sahifasi (obuna to'lanmaganda)
   ========================================================= */
body.is-blocked .side,body.is-blocked .nav,body.is-blocked .help-fab,body.is-blocked .cartbar,body.is-blocked .sync-pill{display:none !important}
body.is-blocked .main{margin:0 !important;max-width:none;padding:0 !important}
body.is-blocked{background:var(--bg)}
.blk-wrap{min-height:calc(100vh / var(--z, 1));display:flex;flex-direction:column}
.blk-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;flex-wrap:wrap}
.blk-brand{display:flex;align-items:center;gap:10px;font-size:16px}
.blk-brand i{width:36px;height:36px;border-radius:10px;background:var(--mark);color:var(--ink);font-style:normal;font-weight:800;display:grid;place-items:center}
.blk-tools{display:flex;align-items:center;gap:6px}
.blk-tools button{padding:6px 10px;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--muted)}
.blk-tools button.on{background:var(--paper);color:var(--ink);box-shadow:var(--sh-xs)}
.blk-out{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:7px 12px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-weight:600;text-decoration:none;background:var(--paper)}
.blk-main{width:100%;max-width:980px;margin:0 auto;padding:8px 16px 40px;display:grid;gap:16px}
.blk-head{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px 24px;text-align:center;box-shadow:var(--sh-xs)}
.blk-lock{width:64px;height:64px;border-radius:20px;background:var(--red-soft);color:var(--red);display:inline-grid;place-items:center;margin-bottom:14px}
.blk-head h1{font-size:28px;font-weight:700;letter-spacing:-.03em}
.blk-head > p{color:var(--muted);max-width:520px;margin:8px auto 0;font-size:15.5px;line-height:1.5}
.blk-kept{margin:20px auto 0;max-width:620px;border:1px solid #D3E5DA;background:#F6FAF7;border-radius:16px;padding:14px}
.blk-kept-h{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ok);font-weight:600;font-size:14px}
.blk-kept-g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.blk-kept-g div{background:var(--paper);border-radius:11px;padding:10px 6px}
.blk-kept-g b{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em}
.blk-kept-g small{color:var(--muted);font-size:12px}
.blk-pay{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}
.blk-opt{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh-xs)}
.blk-opt.primary{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),var(--sh-sm)}
.blk-opt-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.blk-opt-h small{display:block;color:var(--muted);font-size:13px}
.blk-opt-h b{font-size:21px;letter-spacing:-.02em}
.blk-opt .btn{margin-top:auto}
.blk-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.blk-periods button{position:relative;border:1px solid var(--line);border-radius:13px;padding:11px 8px;text-align:center;display:flex;flex-direction:column;gap:2px;min-width:0}
.blk-periods button b{font-size:14px}
.blk-periods button span{font-size:12.5px;color:var(--muted);white-space:nowrap}
.blk-periods button em{position:absolute;top:-8px;right:8px;font-style:normal;font-size:11px;font-weight:700;background:var(--soft);color:var(--ok);padding:1px 7px;border-radius:999px}
.blk-periods button.on{border-color:var(--ink);background:var(--soft);box-shadow:0 0 0 1px var(--ink)}
.blk-note{text-align:center;color:var(--muted);font-size:12.5px}
.blk-more{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.blk-link{display:flex;align-items:center;gap:12px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--text);box-shadow:var(--sh-xs)}
.blk-link:hover:not(:disabled){border-color:#C9D3CD;background:var(--bg-2)}
.blk-link:disabled{opacity:.55}
.blk-link > .ic{color:var(--ink-3)}
.blk-link span{min-width:0}.blk-link b{display:block;font-size:14.5px}.blk-link small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.blk-demo{text-align:center;color:var(--muted);font-size:12.5px}
.life-strip{display:flex;align-items:center;gap:16px;margin-top:16px;padding:16px 18px;border:1px dashed #C9D3CD;border-radius:16px;background:var(--bg-2);flex-wrap:wrap}
.life-strip b{display:block;font-size:15px}.life-strip small{display:block;margin-top:2px}
@media (max-width:760px){
  .blk-pay,.blk-more{grid-template-columns:1fr}
  .blk-kept-g{grid-template-columns:repeat(2,1fr)}
  .blk-head{padding:22px 16px}
  .blk-head h1{font-size:24px}
}
.money-in{font-variant-numeric:tabular-nums;letter-spacing:.01em}

/* =========================================================
   Interaktiv o'rgatish (O'rganish tugmasi)
   ========================================================= */
#tour{position:fixed;inset:0;z-index:400;pointer-events:none}
#tour .tr-b{position:fixed;background:rgba(12,22,17,.55);pointer-events:auto;transition:all .18s ease}
#tour .tr-ring{position:fixed;border-radius:14px;box-shadow:0 0 0 2px var(--mark),0 0 0 6px rgba(255,216,77,.35);pointer-events:none;transition:all .18s ease}
#tour .tr-card{position:fixed;left:0;top:0;width:min(360px,calc(100vw / var(--z, 1) - 24px));background:var(--paper);border-radius:18px;padding:16px 18px 14px;box-shadow:0 24px 60px -12px rgba(0,0,0,.4);pointer-events:auto;transition:transform .2s ease}
.tr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.tr-n{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.03em}
.tr-x{width:28px;height:28px;border-radius:8px;font-size:20px;line-height:1;color:var(--muted)}
.tr-x:hover{background:var(--bg-2)}
.tr-t{display:block;font-size:17px;letter-spacing:-.01em;margin-bottom:4px}
.tr-card p{color:#38443E;font-size:14.5px;line-height:1.5}
.tr-do{margin-top:8px;display:flex;align-items:center;gap:6px;color:var(--ink-3) !important;font-weight:600;font-size:13.5px !important}
.tr-miss{margin-top:8px;color:var(--muted) !important;font-size:13px !important}
.tr-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}
.tr-dots{display:flex;gap:4px}
.tr-dots{align-items:center}
.tr-dots i{display:block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--line);transition:all .2s}
.tr-dots i.past{background:#9CC7B0;padding:0}.tr-dots i.on{background:var(--ink);flex-basis:16px;width:16px;border-radius:3px}
body.touring .help-fab{display:none}
.tour-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.tour-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.tour-item:hover{border-color:#C9D3CD;background:var(--bg-2)}
.tour-item.cur{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.tour-item b{display:block;font-size:15px}.tour-item small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.tour-ic{width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--ink);display:grid;place-items:center;flex-shrink:0}
.tour-item .tag{flex-shrink:0}
.help-card.tour-card{text-align:left;border:1px solid var(--ink);background:var(--soft)}
@media (min-width:1024px){
  .side-quick{grid-template-columns:repeat(4,1fr)}
  .sq-btn{font-size:10.5px;padding:8px 0}
  body.easy .sq-btn{font-size:11.5px}
}
/* Faoliyat turi: superadmin belgilaydi (faqat ko'rish) */
.biz-cards.ro .biz-card{cursor:default;position:relative}
.biz-cards.ro .biz-card.off{opacity:.5;border-style:dashed}
.biz-cards.ro .biz-card .tag{position:absolute;top:12px;right:12px}
.biz-note{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--bg-2);color:var(--muted);font-size:13.5px;flex-wrap:wrap}
.biz-note span{flex:1;min-width:200px}
.biz-note > .ic{color:var(--ink-3)}
/* Moliya: sana filtri */
.fin-range{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:12px}
.fin-range .chips{padding:0;flex:1 1 auto;min-width:0}
.fin-range .chip{display:inline-flex;align-items:center;gap:5px}
.fin-dates{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fin-dates label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.fin-dates input{border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:14px;background:var(--paper);box-shadow:var(--sh-xs)}
.fin-dates input:focus{outline:none;border-color:var(--ink-3);box-shadow:var(--ring)}
.fin-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}
#finBody > .metrics{margin-top:14px}
@media (max-width:1023px){
  .fin-range{padding:0 12px}
  .fin-range .chips{flex-wrap:nowrap;overflow-x:auto;flex-basis:100%}
  #finBody > .metrics{margin:12px 12px 0}
}

/* =========================================================
   Hisobot: o'tgan davr bilan solishtirma chiziqli grafik
   ========================================================= */
.metric .delta{display:block;margin-top:4px;white-space:normal}
.delta{font-size:12.5px;font-weight:600;white-space:nowrap}
.delta em{font-style:normal;font-weight:400;color:var(--muted)}
.delta.up{color:var(--ok)}.delta.down{color:var(--red)}.delta.flat{color:var(--muted);font-weight:500}
.cmp-head{align-items:flex-start}
.cmp-sum{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:4px}
.cmp-sum b{font-size:22px;letter-spacing:-.02em}
.seg.sm{padding:3px}.seg.sm button{padding:6px 12px;font-size:13px}
.cmp-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:2px 0 6px}
.cmp-legend span{display:inline-flex;align-items:center;gap:7px}
.lk{display:inline-block;width:18px;height:0;border-top:2px solid #2E7A5E;flex-shrink:0}
.lk.prev{border-top:2px dashed #8A948F}
.cmp-chart{position:relative;width:100%;min-width:0;touch-action:pan-y}
.cmp-chart svg{display:block;max-width:100%;overflow:visible}
.cmp-chart .g{stroke:#ECEEEA;stroke-width:1}
.cmp-chart .yl{font-size:11px;fill:var(--muted);text-anchor:end}
.cmp-chart .xl{font-size:11px;fill:var(--muted);text-anchor:middle}
.cmp-chart .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cmp-chart .ln.cur{stroke:#2E7A5E}
.cmp-chart .ln.prev{stroke:#8A948F;stroke-dasharray:5 5}
.cmp-chart .end{fill:#2E7A5E;stroke:var(--paper);stroke-width:2}
.cmp-chart .xh{stroke:#C9D0CB;stroke-width:1}
.cmp-chart .hp{stroke:var(--paper);stroke-width:2}
.cmp-chart .hp.cur{fill:#2E7A5E}.cmp-chart .hp.prev{fill:#8A948F}
.cmp-chart .hit{fill:transparent;cursor:crosshair}
.cmp-tip{position:absolute;left:0;top:0;pointer-events:none;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:9px 12px;box-shadow:var(--sh-sm);font-size:13px;min-width:210px;z-index:2}
.cmp-tip .tr{display:flex;align-items:center;gap:8px;padding:2px 0}
.cmp-tip .tr span{flex:1;color:var(--muted);white-space:nowrap}
.cmp-tip .tr b{white-space:nowrap}
.cmp-tip .td{border-top:1px solid var(--line-2);margin-top:5px;padding-top:5px}
.cmp-table{margin-top:10px}
.cmp-table summary{cursor:pointer;font-size:13px;color:var(--ink-3);font-weight:600;list-style:none}
.cmp-table summary::-webkit-details-marker{display:none}
.cmp-table .tbl-wrap{margin-top:8px;max-height:300px;overflow:auto}

/* =========================================================
   Yon menyu pasti: ixcham (holat + foydalanuvchi + O'rganish)
   ========================================================= */
@media (min-width:1024px){
  .side-bottom{position:relative}
  .side-status .sync-slot:empty{display:none}
  .side-status .sub-pill{margin:0 0 4px;padding:7px 10px;font-size:12.5px}
  .side-foot{display:flex;align-items:center;gap:6px;padding:8px 0 0;margin-top:6px;border-top:1px solid rgba(255,255,255,.12)}
  .me-btn{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px;color:#fff;text-align:left}
  .me-btn:hover,.me-btn[aria-expanded="true"]{background:rgba(255,255,255,.08)}
  .me-btn .avatar{position:relative;width:36px;height:36px;font-size:13px}
  .me-btn .avatar .dot{position:absolute;top:-1px;right:-1px;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--ink)}
  .me-btn .lbl{min-width:0;flex:1}
  .me-btn b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .me-btn small{display:block;font-size:11.5px;opacity:.6;white-space:nowrap}
  .me-btn .chev{flex:0 0 auto;opacity:.5;transform:rotate(-90deg)}
  .sf-ic{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:rgba(255,255,255,.78);background:rgba(255,255,255,.06)}
  .sf-ic:hover{background:rgba(255,255,255,.12);color:#fff}
  .me-menu{position:absolute;left:0;right:0;bottom:58px;background:var(--paper);color:var(--text);border-radius:14px;padding:6px;box-shadow:0 18px 40px -10px rgba(0,0,0,.45);z-index:80;animation:ddin .12s ease-out}
  .me-menu > button,.me-menu > a{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:9px;font-size:14px;font-weight:500;text-decoration:none;color:var(--text);text-align:left}
  .me-menu > button:hover,.me-menu > a:hover{background:var(--bg-2)}
  .me-menu .ic{color:var(--ink-3)}
  .me-menu em{margin-left:auto;font-style:normal;background:var(--red);color:#fff;font-size:11px;border-radius:999px;padding:0 7px;line-height:18px}
  .me-lang{display:flex;gap:4px;padding:6px 6px 4px;margin:4px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
  .me-lang button{flex:1;padding:6px 0;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--muted)}
  .me-lang button.on{background:var(--soft);color:var(--ink)}
  .me-out,.me-out .ic{color:var(--red) !important}
  body.side-min .side-foot{flex-direction:column;gap:6px;padding:8px 0 0}
  body.side-min .me-btn{justify-content:center;padding:4px 0;flex:0 0 auto}
  body.side-min .me-menu{left:0;right:auto;width:220px;bottom:auto;top:-8px;transform:translate(calc(var(--side-min) - 4px), -100%)}
  body.side-min .side-status .sub-pill{justify-content:center;padding:8px 0}
  body.easy .me-btn b{font-size:15px}
}
/* Sahifa sarlavhasidagi "O'rganish" */
.page-tour{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;margin-left:10px;padding:4px 10px 4px 8px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-3);font-size:12.5px;font-weight:600;letter-spacing:0;box-shadow:var(--sh-xs);position:relative;top:-3px}
.page-tour:hover{border-color:#C9D3CD;background:var(--bg-2)}
.pos-top .page-tour{top:0;margin-left:0;padding:8px 12px;border-radius:12px}
@media (max-width:640px){.page-tour span{display:none}.page-tour{padding:5px;margin-left:8px}}
.tour-g{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:16px 2px 0}
.tour-g + .tour-list{margin-top:8px}
.tour-prog{margin-top:12px;display:flex;align-items:center;gap:10px}
.tour-prog .progress{flex:1;margin:0}
.tour-prog small{color:var(--muted);font-size:12.5px;white-space:nowrap}

/* =========================================================
   Telegram bot sahifasi
   ========================================================= */
.tag.tgst-linked{background:#E3F1FB;color:#1F6FA8}
.tag.tgst-invited{background:var(--warn-soft);color:#7A5A00}
.tag.tgst-none{background:var(--bg-2);color:var(--muted)}
.tag.tgst-blocked{background:var(--red-soft);color:var(--red)}
.tg-bots{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 12px 0}
.tg-bot{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--sh-xs);flex-wrap:wrap}
.tg-bot.dim{background:var(--bg-2)}
.tg-bot b{display:block;font-size:15px}.tg-bot small{display:block;color:var(--muted);font-size:12.5px}
.tg-bot .grow{min-width:160px}
.tg-bot-av{width:42px;height:42px;border-radius:50%;background:#2AABEE;color:#fff;font-weight:800;display:grid;place-items:center;flex-shrink:0}
.tg-bot-av.own{background:var(--ink)}
.tg-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 12px 0}
.tg-tile{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--sh-xs);min-width:0}
button.tg-tile:hover{border-color:#C9D3CD}
.tg-tile small{color:var(--muted);font-size:12.5px}
.tg-tile b{font-size:22px;letter-spacing:-.02em}.tg-tile b .muted{font-size:15px;font-weight:500}
.tg-tile .progress{margin:4px 0 2px;height:6px}
.tg-tile-ic{width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--ink);display:grid;place-items:center;margin-bottom:4px}
.tg-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.tg-quick button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.tg-quick button:hover{border-color:#C9D3CD;background:var(--bg-2)}
.tg-quick .ic{color:var(--ink-3)}.tg-quick b{font-size:14.5px}.tg-quick small{color:var(--muted);font-size:12.5px}
.tg-qr-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.tg-qr-row > div:last-child{flex:1;min-width:200px}
.qr-box{width:128px;height:128px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;flex-shrink:0}
.qr-box svg{width:100%;height:100%;display:block}
.qr-box.lg{width:180px;height:180px}.qr-box.xl{width:260px;height:260px;margin:12px auto}
.qr-fallback{font-size:10px;word-break:break-all;color:var(--muted)}
.tg-link{display:block;margin-top:8px;font-size:12.5px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px;padding:6px 8px;word-break:break-all;color:var(--ink-2)}
.tg-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.tg-seg{padding:8px 0 0}
.tg-row .tg-acts{display:flex;align-items:center;gap:6px;flex-shrink:0}
.tg-row .sub .tag{font-size:11px;padding:1px 7px}
.tg-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin:12px 0;border-radius:12px;background:#F2F8FC;border:1px solid #D9EAF5}
.tg-line > .ic{color:#2AABEE}
.tg-line .grow{min-width:0}
.ot-act .btn[data-a="tgWrite"] .ic{color:#2AABEE}
/* telefon ko'rinishi */
.tgp{width:100%;max-width:340px;margin:0 auto;border-radius:26px;overflow:hidden;border:8px solid #1B2420;background:#DDE6EA;box-shadow:var(--sh-sm)}
.tgp-top{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 12px;border-bottom:1px solid #E3E8EA}
.tgp-top b{display:block;font-size:14px}.tgp-top small{display:block;font-size:11.5px;color:var(--muted)}
.tgp-av{width:34px;height:34px;border-radius:50%;background:#2AABEE;color:#fff;font-weight:800;display:grid;place-items:center}
.tgp-body{padding:12px 10px 14px;display:flex;flex-direction:column;gap:4px;min-height:220px;background:#DCE5E9 radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),transparent 40%)}
.tgb{position:relative;align-self:flex-start;max-width:88%;background:#fff;border-radius:14px 14px 14px 4px;padding:8px 10px 18px;font-size:13.5px;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.06);word-wrap:break-word}
.tgb.me{align-self:flex-end;background:#E4F8D3;border-radius:14px 14px 4px 14px;padding-bottom:8px;margin:6px 0}
.tgb-t{position:absolute;right:8px;bottom:3px;font-size:10.5px;color:#8A948F}
.tgb.me .tgb-t{position:static;display:block;text-align:right}
.tgk{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:4px;max-width:88%;margin-bottom:6px}
.tgk span{background:rgba(255,255,255,.72);border-radius:9px;padding:7px 6px;font-size:12.5px;font-weight:600;color:#1F6FA8;text-align:center}
.tg-att-chip{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;border-radius:9px;background:#EEF4F7;font-size:12.5px;color:#1F6FA8}
/* bonus karta */
.tg-card{background:linear-gradient(135deg,var(--ink),#1E5A43);color:#fff;border-radius:14px;padding:12px;margin:2px 0}
.tg-card-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.tg-card-top span{background:var(--mark);color:var(--ink);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}
.tg-card-qr{width:108px;height:108px;margin:10px auto;background:#fff;border-radius:10px;padding:4px}
.tg-card-qr svg{width:100%;height:100%}
.tg-card-bal{text-align:center}.tg-card-bal small{display:block;opacity:.75;font-size:11.5px}.tg-card-bal b{font-size:20px}
.tg-card-nx{display:block;text-align:center;opacity:.75;font-size:11px;margin-top:2px}
.tg-card-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;margin:14px 12px 0}
.tg-card-wrap .block{margin:0}
/* xabar yozish */
.tg-comp{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start;margin-top:10px}
.tg-to{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.tg-to small{display:block;color:var(--muted);font-size:12px}.tg-to b{display:block;font-size:14px}
.tg-reach{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;margin:10px 2px 4px}
.tg-reach .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px}
.tg-reach .dot.tg{background:#2AABEE}.tg-reach .dot.sms{background:var(--mark)}
.tg-tpl{padding:8px 0 0;flex-wrap:wrap}
.tg-vars{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.tg-btns{display:flex;flex-wrap:wrap;gap:8px 16px}
.chk{display:inline-flex;align-items:center;gap:7px;font-size:14px;cursor:pointer}
.chk input{width:17px;height:17px;accent-color:var(--ink)}
.tg-att{margin-top:12px}
.tg-comp-prev .hint.center{text-align:center}
.tg-inv{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-top:10px}
.tg-inv .grow{min-width:220px}
.tg-thread{display:flex;flex-direction:column;gap:4px;background:#DCE5E9;border-radius:14px;padding:12px;margin-top:10px;max-height:calc(55vh / var(--z, 1));overflow:auto}
.tg-thread .tgb{padding-bottom:20px}
.tg-thread .tgb-t{white-space:nowrap}
.tg-pick .row{cursor:pointer}
.tg-txt{max-width:420px}
.tg-poster{text-align:center}.tg-poster h2{font-size:24px;margin:6px 0}.tg-poster ul{list-style:none;margin:10px 0;font-weight:600}.tg-poster-shop{font-size:18px}
@media (min-width:1024px){ .tg-bots,.tg-tiles,.tg-card-wrap{margin-left:0;margin-right:0} }
@media (max-width:900px){
  .tg-comp,.tg-card-wrap{grid-template-columns:1fr}
  .tg-tiles{grid-template-columns:1fr 1fr}
  .tg-bots{grid-template-columns:1fr}
}

/* ===================== KPI ===================== */
.kpi-bar{gap:10px;flex-wrap:wrap}
.kpi-sum{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi-sum .metric b{font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){.kpi-sum{grid-template-columns:1fr 1fr}}
.kpi-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:12px 12px 0}
.kpi-card{all:unset;box-sizing:border-box;cursor:pointer;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:border-color .15s,box-shadow .15s}
.kpi-card:hover{border-color:#C9D6CE;box-shadow:var(--sh-sm)}
.kpi-card:focus-visible{box-shadow:var(--ring)}
.kpi-card-top{display:flex;align-items:center;gap:12px;min-width:0}
.kpi-card-top .grow{min-width:0}
.kpi-card .title{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}
.kpi-card .sub{font-size:13px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kpi-crown{color:#C99A00;display:inline-flex}
.kpi-mini{display:flex;gap:5px;align-items:flex-end;height:34px;padding:0 2px}
.kpi-mini span{flex:1;height:100%;background:var(--bg-2);border-radius:5px;display:flex;align-items:flex-end;overflow:hidden}
.kpi-mini i{display:block;width:100%;background:var(--ink-3);border-radius:5px}
.kpi-mini i.low{background:var(--red)}
.kpi-card-foot{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);border-top:1px solid var(--line-2);padding-top:10px}
.kpi-card-foot b{color:var(--text);font-weight:650}
.kpi-weak{font-size:12.5px;color:#7A5A00;background:var(--warn-soft);border-radius:8px;padding:5px 9px;display:flex;align-items:center;gap:6px}
.kpi-ring{position:relative;display:inline-grid;place-items:center;flex-shrink:0}
.kpi-ring svg{position:absolute;inset:0;width:100%;height:100%}
.kpi-ring circle{fill:none;stroke-width:5}
.kpi-ring .bg{stroke:var(--line-2)}
.kpi-ring .fg{stroke:var(--ink-3);stroke-linecap:round}
.kpi-ring.ok .fg{stroke:var(--ok)} .kpi-ring.warn .fg{stroke:#D9A300} .kpi-ring.red .fg{stroke:var(--red)}
.kpi-ring b{font-size:17px;font-weight:700;position:relative}
.kpi-tbl .sub{font-weight:400;font-size:11.5px;color:var(--muted)}
.kpi-s{font-weight:600}
.kpi-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding-right:36px}
.kpi-head h3{margin:0}
.kpi-head p{margin:4px 0 0}
.kpi-bonus{text-align:right}
.kpi-bonus small{display:block;color:var(--muted);font-size:12px}
.kpi-bonus b{font-size:18px}
@media (max-width:560px){.kpi-head{flex-wrap:wrap}.kpi-bonus{text-align:left;width:100%}}
.kpi-rows{display:flex;flex-direction:column;margin:12px 0 4px}
.kpi-row{display:flex;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-2)}
.kpi-row:last-child{border-bottom:0}
.kpi-row .grow{min-width:0}
.kpi-row .title{font-weight:600}
.kpi-row .sub{font-size:13px;color:var(--muted);margin-top:2px}
.kpi-row .right{text-align:right;min-width:62px}
.kpi-row .right b{font-size:18px}
.kpi-row .right .sub{font-size:12px}
.kpi-row .progress{position:relative;overflow:visible;height:6px}
.kpi-row .progress i.bad{background:var(--red)}
.kpi-row .progress em{position:absolute;top:-3px;width:2px;height:12px;background:var(--text);opacity:.35;border-radius:2px}
.kpi-chart{margin:4px 0 8px}
.kpi-chart svg{width:100%;height:auto;display:block}
.kpi-chart .ax{stroke:var(--line);stroke-width:1}
.kpi-chart path{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.kpi-chart path.cur{stroke:#2E7A5E}
.kpi-chart path.prev{stroke:#8A948F;stroke-dasharray:5 4}
.kpi-chart .dot{fill:#2E7A5E;stroke:#fff;stroke-width:2}
.kpi-chart text{font-size:11px;fill:var(--muted)}
.kpi-tips ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.kpi-ws{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.kpi-w{display:flex;flex-direction:column;gap:5px;font-size:13px}
.kpi-w label{color:var(--muted)}
.kpi-wsum{font-size:12.5px;font-weight:600;color:var(--ok);margin-left:6px}
.kpi-wsum.red{color:var(--red)}
.kpi-apply{display:flex;align-items:center;gap:16px}
.kpi-apply p{margin:3px 0 0}
.kpi-att{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kpi-att .qty{display:flex;align-items:center;gap:10px}
.kpi-att .qty b{min-width:24px;text-align:center;font-size:17px}
.kpi-coef{font-weight:600}
.kpi-chip{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--ink-2);font-size:13px;font-weight:650;white-space:nowrap;flex-shrink:0}
.kpi-chip.warn{background:var(--warn-soft);color:#7A5A00}
.kpi-chip.ok{background:#DDF1E5;color:var(--ok)}
.kpi-chip:focus-visible{box-shadow:var(--ring)}
.kpi-chip-bar{width:38px;height:5px;border-radius:9px;background:rgba(0,0,0,.08);overflow:hidden}
.kpi-chip-bar i{display:block;height:100%;background:currentColor;border-radius:9px}
.page-head .kpi-chip{margin-left:auto}

/* ============ Marketing kengaytma ============ */
.mk-ideas{margin:12px 12px 0;background:var(--paper);border:1px solid #D3E5DA;border-radius:var(--r-lg);padding:14px 16px}
.mk-ideas-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mk-ideas-h .icon-btn{margin-left:auto}
.mk-idea-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;margin-top:12px}
.mk-idea{display:flex;gap:12px;align-items:flex-start;background:var(--bg-2);border-radius:var(--r);padding:12px 14px}
.mk-idea .grow{min-width:0}
.mk-idea p{margin:4px 0 0}
.mk-idea .btn{margin-top:10px}
.mk-idea-ic{width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--ink-3);display:grid;place-items:center;flex-shrink:0}
.mk-sched{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);margin:0}
.mk-sched-box{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin:6px 0 12px}
.mk-sched-box summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.mk-days{margin:12px 0 4px}
.mk-days label{cursor:pointer}
.mk-days input{accent-color:var(--ink-3);margin:0 6px 0 0}
.auto-list{display:flex;flex-direction:column;gap:10px;padding:12px 12px 0}
.auto-card{display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px}
.auto-card.off{opacity:.72}
.auto-card .grow{min-width:0}
.auto-card .title{font-weight:650}
.auto-card .sub{font-size:13px;color:var(--muted);margin-top:2px}
.auto-ic{width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--ink-3);display:grid;place-items:center;flex-shrink:0}
.auto-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:8px;align-items:center}
.auto-stats b{color:var(--text)}
.auto-stats em{font-style:normal;color:var(--ok);font-weight:600}
.auto-act{display:flex;align-items:center;gap:12px;flex-shrink:0}
@media (max-width:640px){.auto-card{flex-wrap:wrap}.auto-act{width:100%;justify-content:space-between}}
.ref-steps{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text)}
.ref-link{margin:12px}
.ref-row{display:flex;gap:18px;align-items:flex-start}
.ref-row .grow{min-width:0}
.ref-qr{width:132px;flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:6px}
.ref-qr svg{display:block;width:100%;height:auto}
.ref-link .code-box{display:flex;align-items:center;gap:8px;background:var(--bg-2);border-radius:var(--r-sm);padding:8px 10px;margin-top:4px;min-width:0}
.ref-link .code-box code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
@media (max-width:560px){.ref-row{flex-direction:column}.ref-qr{width:120px}}
.gift-card{width:300px;max-width:100%;aspect-ratio:1.6;border-radius:18px;padding:16px 18px;color:#fff;background:linear-gradient(135deg,#0F3D2E 0%,#2E7A5E 100%);display:flex;flex-direction:column;box-shadow:var(--sh-sm);box-sizing:border-box;position:relative;overflow:hidden;margin:0 auto}
.gift-card::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,216,77,.18)}
.gift-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px;position:relative}
.gift-top span{letter-spacing:.08em;opacity:.8;font-size:10.5px}
.gift-sum{font-size:28px;font-weight:750;margin-top:auto;letter-spacing:-.01em}
.gift-to{font-size:13px;opacity:.85;margin-top:2px}
.gift-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:10px;gap:10px}
.gift-foot small{display:block;font-size:10.5px;opacity:.7}
.gift-foot b{font-size:14px;letter-spacing:.04em}
.gift-qr{width:52px;background:#fff;border-radius:8px;padding:3px;flex-shrink:0}
.gift-qr svg{display:block;width:100%;height:auto}
.gift-new{display:flex;flex-direction:column-reverse;gap:18px;align-items:stretch}
.gift-new .grow{min-width:0}
.gift-new .chips{margin-bottom:12px}
.gift-res{margin-top:12px}
.rfm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:12px 12px 0}
.rfm-tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-top:3px solid var(--ink-3)}
.rfm-tile p{margin:0}
.rfm-tile .btn{align-self:flex-start;margin-top:auto}
.rfm-champ{border-top-color:#1E7F52}.rfm-loyal{border-top-color:#2E7A5E}.rfm-new{border-top-color:#3A7BC8}
.rfm-risk{border-top-color:#D9A300}.rfm-sleep{border-top-color:#C77A2A}.rfm-lost{border-top-color:#8A948F}
.rfm-n{font-size:22px;font-weight:700}
.rfm-share{display:flex;align-items:center;gap:10px}
.rfm-share .progress{flex:1;margin:0}
.rfm-names{color:var(--muted);min-height:18px}
.nps-top{display:flex;align-items:center;gap:16px}
.nps-top p{margin:3px 0 0}
.nps-big{font-size:40px;font-weight:750;letter-spacing:-.02em}
.nps-stack{display:flex;height:12px;border-radius:99px;overflow:hidden;gap:2px;margin:14px 0 8px}
.nps-stack i,.nps-leg i{display:block}
.nps-leg{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted)}
.nps-leg span{display:inline-flex;align-items:center;gap:6px}
.nps-leg i{width:10px;height:10px;border-radius:3px}
.n-det{background:var(--red)} .n-pas{background:#D9C27A} .n-pro{background:var(--ok)}
.nps-dist{display:grid;grid-template-columns:repeat(11,1fr);gap:4px;height:90px;margin:16px 0 4px}
.nps-dist div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%}
.nps-dist span{width:100%;border-radius:4px 4px 2px 2px;min-height:2px}
.nps-dist small{font-size:11px;color:var(--muted)}
.nps-score{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:700;flex-shrink:0}
@media (min-width:1024px){
  .kpi-cards,.rfm-grid{padding:16px 0 0;gap:16px}
  .auto-list{padding:16px 0 0;gap:12px}
  .mk-ideas{margin:16px 0 0}
  .ref-link{margin:16px 0 0}
  .kpi-sum{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1500px){.pos-top .kpi-chip-l{display:none}.pos-top .kpi-chip{padding:6px 10px}}
.mk-h{margin-top:28px;gap:12px;flex-wrap:wrap} .mk-h h2{margin:0}
.kpi-tips ul{padding-right:6px}

/* ============ Kassada sotuvchi almashtirish ============ */
.seller-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--paper);border:1px solid var(--line);flex-shrink:0;min-width:0;transition:border-color .15s,box-shadow .15s;margin-left:auto}
.seller-btn:hover{border-color:#C9D6CE;box-shadow:var(--sh-sm)}
.seller-btn:focus-visible{box-shadow:var(--ring)}
.seller-btn .ic{color:var(--muted)}
.seller-av-wrap{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0}
.seller-ring{position:absolute;inset:0;width:100%;height:100%}
.seller-ring circle{fill:none;stroke:var(--line-2);stroke-width:2.5}
.seller-ring circle.fg{stroke:var(--ok);stroke-linecap:round}
.seller-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.seller-txt b{font-size:14px;font-weight:650;white-space:nowrap}
.seller-txt small{font-size:12px;color:var(--muted);white-space:nowrap}
.seller-btn.compact{padding:3px;gap:0;margin-left:0}
.seller-btn.compact .seller-txt,.seller-btn.compact>.ic{display:none}
@media (min-width:1024px) and (max-width:1279px){.pos-top .seller-btn .seller-txt{display:none}.pos-top .seller-btn{padding:3px 8px 3px 3px;gap:4px}}
.sel-av{display:inline-grid;place-items:center;border-radius:50%;background:var(--c);color:#fff;font-weight:700;letter-spacing:.02em;flex-shrink:0;box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
.sel-sheet{display:flex;flex-direction:column;gap:18px}
.sel-head h3{margin:0}
.sel-head p{margin:4px 0 0}
.sel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.sel-card{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 14px 16px;border-radius:var(--r-lg);background:var(--paper);border:1.5px solid var(--line);transition:transform .15s,border-color .15s,box-shadow .15s}
.sel-card:hover{border-color:var(--ink-3);box-shadow:var(--sh-sm);transform:translateY(-1px)}
.sel-card:focus-visible{box-shadow:var(--ring)}
.sel-card.on{border-color:var(--ink-3);background:linear-gradient(180deg,var(--soft),var(--paper) 60%)}
.sel-card .sel-av{margin-bottom:4px}
.sel-card b{font-size:15px;font-weight:650}
.sel-card small{font-size:12.5px;color:var(--muted)}
.sel-stat{font-size:12.5px;color:var(--text);margin-top:4px}
.sel-plan{width:80%;height:5px;border-radius:9px;background:var(--line-2);overflow:hidden;margin-top:4px}
.sel-plan i{display:block;height:100%;background:var(--ok);border-radius:9px}
.sel-plan-l{font-size:11.5px;color:var(--muted)}
.sel-now{position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:10.5px;font-weight:650;color:var(--ok);background:#DDF1E5;border-radius:999px;padding:2px 8px;white-space:nowrap}
.sel-card.on .sel-av{margin-top:8px}
.sel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:14px}
.sel-foot kbd,.sel-head kbd{font:inherit;font-size:11.5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:0 6px;background:var(--bg-2)}
.sel-pin{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:4px 0 6px;position:relative}
.sel-pin h3{margin:6px 0 0}
.sel-pin p{margin:0}
.sel-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px}
.sel-back .ic{transform:rotate(180deg)}
.sel-dots{display:flex;gap:14px;margin:10px 0 8px}
.sel-dots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);transition:background .12s,border-color .12s}
.sel-dots i.on{background:var(--ink);border-color:var(--ink)}
.sel-dots.bad{animation:selShake .35s}
.sel-dots.bad i{border-color:var(--red);background:var(--red)}
@keyframes selShake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.sel-keys{display:grid;grid-template-columns:repeat(3,76px);gap:10px}
.sel-key{all:unset;box-sizing:border-box;cursor:pointer;height:60px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line-2);display:grid;place-items:center;font-size:22px;font-weight:600;color:var(--text);transition:background .12s,transform .08s}
.sel-key:hover{background:var(--soft)}
.sel-key:active{transform:scale(.96)}
.sel-key:focus-visible{box-shadow:var(--ring)}
.sel-key.fn{font-size:17px;color:var(--muted)}
.sel-key[disabled]{opacity:.4;pointer-events:none}
#posLock{position:fixed;inset:0;z-index:300;background:radial-gradient(120% 90% at 50% 0%,#1B5A44 0%,#0F3D2E 55%,#0A2B20 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;overflow:auto}
#posLock .lock-top{position:absolute;top:22px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.85);font-weight:600}
#posLock .lock-time{font-size:28px;font-weight:700;letter-spacing:.02em;color:#fff}
#posLock .sel-sheet{width:min(760px,100%);background:var(--paper);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
@media (max-width:560px){#posLock .lock-top{top:14px;left:16px;right:16px}#posLock .sel-sheet{padding:18px;margin-top:40px}.sel-grid{grid-template-columns:1fr 1fr}.sel-keys{grid-template-columns:repeat(3,68px)}}
.me-kpi{display:flex!important;align-items:center;gap:10px;border-bottom:1px solid var(--line-2);margin-bottom:4px;padding-bottom:10px!important}
.me-kpi .grow{display:flex;flex-direction:column;min-width:0;text-align:left}
.me-kpi small{font-size:11.5px;color:var(--muted)}
.me-kpi .kpi-ring b{font-size:11px}
.set-kpi-ctl{display:flex;align-items:center;gap:12px}

/* ============ Distribyutsiya ============ */
.seg.tabs .cnt{font-style:normal;font-size:11px;font-weight:700;background:var(--red);color:#fff;border-radius:99px;padding:1px 6px;margin-left:2px}
.warn-t{color:#9A6B00}
.ds-bar{gap:10px;flex-wrap:wrap;align-items:center}
.ds-bar .chips{padding:0;flex-wrap:wrap}
.ds-bar .chip em{font-style:normal;font-weight:700;margin-left:4px;opacity:.7}
.ds-bar .search{flex:1 1 200px;min-width:180px;max-width:320px;margin:0}
.ds-tbl tr.tap{cursor:pointer}
.ds-tbl tr.tap:hover td{background:var(--bg-2)}
.ds-ot{display:flex;flex-direction:column}
.ds-ot small{font-size:12px;color:var(--muted)}
.ds-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-right:40px}
.ds-head h3{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ds-head p{margin:4px 0 0}
.ds-flow{display:grid;grid-template-columns:repeat(5,1fr);margin:18px 0 14px;position:relative}
.ds-flow>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;position:relative;font-size:12px}
.ds-flow>div::before{content:"";position:absolute;top:7px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}
.ds-flow>div:first-child::before{display:none}
.ds-flow>div.done-s::before{background:var(--ink-3)}
.ds-flow i{width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--line);position:relative;z-index:1}
.ds-flow .done-s i{background:var(--ink-3);border-color:var(--ink-3)}
.ds-flow .cur i{box-shadow:0 0 0 4px var(--soft)}
.ds-flow b{font-weight:600;color:var(--text)}
.ds-flow small{color:var(--muted);font-size:11px;min-height:14px}
.ds-cust{margin:0 0 12px}
.lim-row{display:flex;align-items:center;gap:12px;margin-top:10px}
.lim-row .progress{flex:1;margin:0}
.ds-act{flex-wrap:wrap;justify-content:flex-end}
.ds-items{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:6px 0 12px}
.ds-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-2)}
.ds-item:last-child{border-bottom:0}
.ds-item .grow{display:flex;flex-direction:column;min-width:0}
.ds-item small{font-size:12.5px;color:var(--muted)}
.ds-item input{width:110px;text-align:right}
.ds-tot{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;padding-bottom:6px}
.ds-tot small{color:var(--muted);font-size:13px}
.ds-tot b{font-size:22px}
.ds-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;width:44px;flex-shrink:0}
.ag-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;padding:12px 12px 0}
.ag-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:14px}
.ag-top{display:flex;align-items:center;gap:12px}
.ag-top .grow{display:flex;flex-direction:column;min-width:0}
.ag-top small{font-size:12.5px;color:var(--muted)}
.ag-today{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.ag-today .progress{flex:1;margin:0}
.ag-today b{color:var(--text)}
.ag-today em{font-style:normal;color:var(--text);font-weight:600}
.ag-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ag-grid>div{background:var(--bg-2);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:1px}
.ag-grid small{font-size:12px;color:var(--muted)}
.ag-grid b{font-size:18px}
.ag-grid span{font-size:12px;color:var(--muted)}
.ag-act{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.trip-list{display:flex;flex-direction:column;gap:10px;padding:12px 12px 0}
.trip-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.trip-card .progress{margin:0}
.trip-top{display:flex;justify-content:space-between;gap:12px}
.trip-top .right{text-align:right}
.trip-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.trip-stops{margin:10px 0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.trip-stops li{padding-left:4px}
.trip-stops li b{display:block;font-weight:600}
.trip-stops li.ok-s b{color:var(--ok)}
.trip-map{height:280px;border-radius:var(--r);overflow:hidden;background:var(--bg-2);margin-top:10px}
.trip-map #tripMap,.trip-map .leaflet-container{height:100%}
@media (min-width:1024px){.ag-cards,.trip-list{padding:16px 0 0;gap:16px}}
.pt-tag{font-style:normal;color:var(--ink-3);font-weight:600}
.pt-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:12px 12px 0}
.pt-type{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pt-type p{margin:0}
.pt-type.add{all:unset;box-sizing:border-box;cursor:pointer;border:1.5px dashed var(--line);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-3);font-weight:600;min-height:110px}
.pt-type.add:hover{background:var(--soft)}
.pt-pct{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}
.pt-pct .suffix{width:110px}
.pt-cell{all:unset;cursor:pointer;padding:3px 8px;border-radius:8px;font-variant-numeric:tabular-nums}
.pt-cell:hover{background:var(--soft)}
.pt-cell.ov{font-weight:700;background:var(--warn-soft)}
.pt-cell.red{color:var(--red)}
.pt-cust select.ctl.sm{padding:6px 8px;min-width:120px}
.plan-cell.sm{width:80px}
#setBody .pt-types,#setBody .tbl-wrap{padding-left:0;padding-right:0;margin-left:0;margin-right:0}
#setBody .block-head.px{padding-left:0;padding-right:0}
@media (min-width:1024px){.pt-types{padding:16px 0 0}}
/* telefon ko'rinishidagi ilova */
.app-demo{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.app-side{display:flex;flex-direction:column;gap:14px;padding-top:6px}
.app-side h3{margin:0}
.app-side p{margin:0}
.ag-off{border:1px solid var(--line);border-radius:var(--r)}
.app-qr{display:flex;align-items:center;gap:12px}
.app-qr svg{width:96px;height:96px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;padding:4px;background:#fff}
.app-qr small{color:var(--muted);font-size:12.5px}
.app-feat{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.app-feat li{display:flex;gap:8px;align-items:center}
.app-feat .ic{color:var(--ok)}
.phone{width:360px;height:700px;border-radius:44px;background:#111;padding:12px;box-shadow:var(--shadow);position:relative}
.phone::before{content:"";position:absolute;top:18px;left:50%;transform:translateX(-50%);width:90px;height:22px;border-radius:14px;background:#111;z-index:2}
.phone-in{width:100%;height:100%;border-radius:34px;background:var(--bg);overflow:hidden;display:flex;flex-direction:column}
.app-top{display:flex;justify-content:space-between;align-items:flex-end;padding:44px 18px 12px;background:var(--ink);color:#fff}
.app-top div{display:flex;flex-direction:column}
.app-top small{opacity:.7;font-size:12px}
.app-net{font-size:12px;font-weight:600;background:rgba(255,255,255,.14);border-radius:99px;padding:4px 10px;display:inline-flex;gap:5px;align-items:center}
.app-net.off{background:#FFD84D;color:#3A2E00}
.app-body{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.app-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:var(--paper)}
.app-nav button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 0 14px;font-size:11.5px;color:var(--muted)}
.app-nav button.on{color:var(--ink)}
.app-h{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:2px 2px 0}
.app-h span{color:var(--muted);font-size:12.5px}
.app-h.sm{margin-top:4px}
.app-stop{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:14px;padding:11px 12px;border:1px solid var(--line-2)}
.app-stop .grow{display:flex;flex-direction:column;min-width:0}
.app-stop b{font-size:14px;font-weight:600}
.app-stop small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-stop small.red{color:var(--red)}
.app-stop.done{opacity:.72}
.app-stop em{font-style:normal;font-size:10.5px}
.app-n{width:26px;height:26px;border-radius:50%;background:var(--soft);color:var(--ink-2);display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}
.app-stop.done .app-n{background:var(--ok);color:#fff}
.app-card{background:var(--paper);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line-2)}
.app-card>small{font-size:12.5px;color:var(--muted)}
.app-card .progress{margin:0}
.app-kv{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.app-kv span{color:var(--muted)}
.app-btns{display:flex;gap:8px}
.app-btns .btn{flex:1;justify-content:center}
.app-back{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--ink-3);font-weight:600;font-size:13.5px}
.app-back .ic{transform:rotate(180deg)}
.app-item{display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:12px;padding:10px 12px;border:1px solid var(--line-2)}
.app-item .grow{display:flex;flex-direction:column;min-width:0}
.app-item b{font-size:13.5px;font-weight:600}
.app-item small{font-size:11.5px;color:var(--muted)}
.app-item .link{font-size:11.5px}
.app-qty{display:flex;align-items:center;gap:6px}
.app-qty button{all:unset;cursor:pointer;width:30px;height:30px;border-radius:10px;background:var(--soft);display:grid;place-items:center;font-size:18px;font-weight:600;color:var(--ink-2)}
.app-qty b{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.app-more summary{cursor:pointer;font-size:13px;color:var(--ink-3);font-weight:600;padding:4px 2px}
.app-more .app-item{margin-top:8px}
.app-pay{display:grid;grid-auto-flow:column;gap:6px;background:var(--bg-2);border-radius:12px;padding:4px}
.app-pay button{all:unset;cursor:pointer;text-align:center;padding:8px 0;border-radius:9px;font-size:13px;font-weight:600;color:var(--muted)}
.app-pay button.on{background:var(--paper);color:var(--text);box-shadow:var(--sh-xs)}
.app-warn,.app-q{font-size:12.5px;background:var(--warn-soft);color:#7A5A00;border-radius:10px;padding:8px 10px;display:flex;gap:6px;align-items:center}
.app-send{margin-top:auto}
.app-in{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}
.app-sign{width:100%;height:110px;background:#fff;border:1.5px dashed var(--line);border-radius:12px;touch-action:none;cursor:crosshair}
.app-kpi{display:flex;align-items:center;gap:14px;background:var(--paper);border-radius:14px;padding:14px;border:1px solid var(--line-2)}
.app-kpi div{display:flex;flex-direction:column}
.app-kpi small{color:var(--muted);font-size:12.5px}
@media (max-width:860px){.app-demo{grid-template-columns:1fr}.phone{margin:0 auto;width:min(360px,100%);height:640px}}
/* ============ Pul oqimi prognozi ============ */
.fc-bar{gap:10px;flex-wrap:wrap;align-items:center}
.fc-bank{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.fc-bank input{width:150px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit;color:var(--text);text-align:right}
.fc-alert{display:flex;gap:12px;align-items:flex-start;margin:12px 12px 0;padding:14px 16px;border-radius:var(--r-lg);background:var(--warn-soft);color:#5C4300}
.fc-alert.bad{background:var(--red-soft);color:#7A1F18}
.fc-alert .ic{flex-shrink:0;margin-top:2px}
.fc-alert p{margin:4px 0 10px;font-size:14px}
.fc-act{display:flex;gap:8px;flex-wrap:wrap}
@media (min-width:1024px){.fc-alert{margin:16px 0 0}}
.fc-block{margin-top:16px}
.fc-chart{position:relative}
.fc-chart svg{width:100%;height:auto;display:block;overflow:visible}
.fc-chart .grid{stroke:var(--line-2);stroke-width:1}
.fc-chart text{font-size:11px;fill:var(--muted);font-variant-numeric:tabular-nums}
.fc-chart .cur{fill:none;stroke:#2E7A5E;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.fc-chart .zero{stroke:var(--red);stroke-width:1.2}
.fc-chart .neg{fill:var(--red);opacity:.14}
.fc-chart .safe{stroke:#8A948F;stroke-width:1;stroke-dasharray:4 4}
.fc-chart .safe-t{font-size:10.5px}
.fc-chart .min{fill:#2E7A5E;stroke:var(--paper);stroke-width:2}
.fc-chart .min.bad{fill:var(--red)}
.fc-chart .fc-x{stroke:var(--text);stroke-width:1;opacity:.25}
.fc-chart .fc-hit{fill:transparent;cursor:crosshair}
.fc-chart .cmp-tip{position:absolute;pointer-events:none}
.sheet .actions.ds-act{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sheet .actions.ds-act .btn{width:auto;flex:0 0 auto}
.app-send{position:sticky;bottom:0;box-shadow:0 -8px 16px -8px rgba(0,0,0,.12)}.app-demo .phone{margin-right:28px}@media (max-width:860px){.app-demo .phone{margin-right:auto}}.ag-off input{margin-left:4px}.ag-top small{display:block}
.pt-intro{margin:14px 0 0}
@media (max-width:760px){.kpi-sum .metric b{font-size:16px;white-space:normal}}
@media (max-width:860px){.app-demo{grid-template-columns:minmax(0,1fr)}.app-demo .phone{width:100%;max-width:360px;margin:0 auto;padding:8px;border-radius:36px}.phone-in{border-radius:30px}.app-qr small{min-width:0}}
.ag-inbox{margin:12px 12px 0}.ag-inbox .row{gap:10px;padding:10px 0;border-top:1px solid var(--line-2)}.ag-inbox .row .grow{min-width:0}@media (min-width:1024px){.ag-inbox{margin:16px 0 0}}

/* ===== Kassir o'z telefonida (shaxsiy qurilma) ===== */
.seller-btn.personal{cursor:pointer}
.seller-btn.personal small{display:inline-flex;align-items:center;gap:3px;color:var(--ok)}
.seller-btn.compact.personal{padding:3px 10px 3px 3px;gap:7px}
.seller-btn.compact.personal .seller-txt{display:flex}
.pm-branch{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);background:rgba(255,255,255,.08);color:#fff}
.pm-branch span{display:flex;flex-direction:column;min-width:0}
.pm-branch small{display:inline-flex;align-items:center;gap:4px;color:rgba(255,255,255,.7);font-size:12px}
.pm-prof{display:flex;align-items:center;gap:12px;padding:4px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.pm-prof span.grow{display:flex;flex-direction:column;min-width:0}
.pm-prof small{color:var(--muted);font-size:13px}
.pm-out{margin-top:10px;color:var(--red)!important}
.pm-sheet-note{display:flex;gap:6px;align-items:flex-start;margin:12px 0}
.actions.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.actions.three .btn{padding:10px 6px;font-size:13.5px;flex-direction:column;gap:4px;white-space:normal;text-align:center}
.pm-wrap{display:flex;flex-direction:column;gap:14px;padding:0 16px 24px;max-width:720px}
.pm-hero{background:radial-gradient(130% 110% at 0% 0%,#1B5A44 0%,var(--ink) 60%);color:#fff;border-radius:var(--r-lg);padding:18px}
.pm-who{display:flex;align-items:center;gap:12px}
.pm-who span.grow{display:flex;flex-direction:column;min-width:0}
.pm-who small{color:rgba(255,255,255,.7);font-size:13px}
.pm-dev{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;background:rgba(255,216,77,.16);color:var(--mark);padding:4px 9px;border-radius:999px;white-space:nowrap}
.pm-k{display:block;margin-top:18px;color:rgba(255,255,255,.7);font-size:13px}
.pm-sum{font-size:32px;font-weight:800;letter-spacing:-.01em;line-height:1.15;font-variant-numeric:tabular-nums}
.pm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.pm-row span{background:rgba(255,255,255,.08);border-radius:var(--r-sm);padding:9px 10px;display:flex;flex-direction:column}
.pm-row b{font-size:16px;font-variant-numeric:tabular-nums}
.pm-row small{color:rgba(255,255,255,.7);font-size:12px}
.pm-pays{display:flex;flex-direction:column;gap:9px}
.pm-pay{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;font-size:14px}
.pm-pay b{font-variant-numeric:tabular-nums}
.pm-bar{display:block;height:7px;border-radius:99px;background:var(--bg-2);overflow:hidden}
.pm-bar i{display:block;height:100%;background:var(--ink-3);border-radius:99px}
.pm-plan{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.pm-plan:focus-visible{box-shadow:var(--ring)}
.pm-plan span.grow{display:flex;flex-direction:column;gap:3px;min-width:0}
.pm-plan small{color:var(--muted);font-size:13px}
.pm-plan .pm-bar{margin-top:5px}
.pm-sh-top{display:flex;align-items:center;gap:12px}
.pm-sh-top span.grow{display:flex;flex-direction:column;gap:2px}
.pm-sh-top small{color:var(--muted);font-size:13px}
.pm-sh-top .dot-ok{display:inline-block;vertical-align:middle}
.pm-acts{margin-top:2px}
.pm-note{display:flex;gap:6px;align-items:flex-start;color:var(--muted)}
.pm-note svg{flex-shrink:0;margin-top:2px}
#posLock.personal .sel-sheet{width:min(420px,100%)}
.pm-lock-tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);background:var(--bg-2);padding:4px 11px;border-radius:999px}
.pm-lock-foot{display:flex;justify-content:space-between;gap:12px;width:100%;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.pm-lock-foot .link{display:inline-flex;align-items:center;gap:5px}
#pBlock{position:fixed;inset:0;z-index:320;background:radial-gradient(120% 90% at 50% 0%,#1B5A44 0%,#0F3D2E 55%,#0A2B20 100%);display:grid;place-items:center;padding:20px 16px}
#pBlock .pb-card{width:min(420px,100%);background:var(--paper);border-radius:24px;padding:26px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
#pBlock .pb-ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--warn-soft);color:#8A6A00}
#pBlock h2{margin:4px 0 0}
#pBlock p{margin:0;color:var(--muted)}
.pb-who{display:flex;align-items:center;gap:10px;text-align:left;background:var(--bg-2);border-radius:var(--r);padding:10px 12px;width:100%;margin:6px 0 4px}
.pb-who span:not(.sel-av){display:flex;flex-direction:column}
.pb-who small{color:var(--muted);font-size:13px}
.pm-link{display:flex;gap:16px;align-items:flex-start;padding:14px;border:1px dashed var(--line);border-radius:var(--r);margin:10px 0}
.pm-qr{width:112px;height:112px;flex-shrink:0;background:#fff;border-radius:10px;padding:4px}
.pm-qr svg{width:100%;height:100%;display:block}
.pm-link p{margin:4px 0 8px}
.pm-url{display:flex;gap:8px;align-items:center;min-width:0}
.pm-url code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;background:var(--bg-2);padding:7px 9px;border-radius:8px}
.pm-devs{display:flex;flex-direction:column}
.pm-dev-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.pm-dev-row:last-child{border-bottom:0}
.pm-dev-row span.grow{display:flex;flex-direction:column;min-width:0}
.pm-dev-row small{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;color:var(--muted);font-size:12.5px}
@media (max-width:560px){.pm-link{flex-direction:column;align-items:center;text-align:center}.pm-url{width:100%}.pm-pay{grid-template-columns:92px 1fr auto}}
.pm-wrap .block{margin:0}
.pm-wrap .block>.sec-title:first-child{margin:0 0 6px;padding-top:0;border-top:0}
.pm-wrap .block .plist{margin:4px 0 0;padding:0;border:0;border-radius:0}
.pm-wrap .block .empty{padding:16px 8px}
.pm-wrap .block>.btn.full{margin-top:10px}

/* ===== Xodim kirishi: parol va PIN ===== */
.acc-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.acc-tags{display:inline-flex;gap:5px;flex-wrap:wrap}
.tag.muted-tag{background:var(--bg-2);color:var(--muted)}
.acc-howto{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.acc-howto>div{display:flex;gap:10px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;color:var(--ink-3)}
.acc-howto span{display:flex;flex-direction:column;gap:2px;color:var(--text)}
.acc-howto small{color:var(--muted);font-size:13px}
.acc-sec{border-top:1px solid var(--line);padding:14px 0 4px;display:flex;flex-direction:column;gap:8px}
.acc-sec:first-of-type{border-top:0;padding-top:0}
.acc-h{display:flex;align-items:center;gap:8px;color:var(--ink)}
.acc-h b{font-size:15.5px}
.acc-sec p{margin:0}
.acc-kv{display:flex;justify-content:space-between;align-items:center;background:var(--bg-2);border-radius:var(--r-sm);padding:9px 12px}
.acc-kv small{color:var(--muted)}
.acc-temp{background:var(--warn-soft);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.acc-temp>small{color:#6B5300;font-weight:600}
.acc-code{display:flex;align-items:center;gap:10px}
.acc-code code{flex:1;font-size:24px;font-weight:700;letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text);background:#fff;border-radius:10px;padding:8px 12px;text-align:center;user-select:all}
.acc-own{display:flex;flex-direction:column;gap:8px}
.acc-pin{display:flex;gap:8px}
.acc-pin input{width:120px;font-size:20px;letter-spacing:.3em;text-align:center;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font-family:inherit}
.acc-pin input:focus{outline:none;border-color:var(--ink-3)}
.btn.ghost.danger-t{color:var(--red);align-self:flex-start}
.more-prof{display:flex;align-items:center;gap:12px;padding:2px 0 14px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.more-prof span.grow{display:flex;flex-direction:column;min-width:0}
.more-prof small{color:var(--muted);font-size:13px}
.more-acc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.more-out{color:var(--red)!important}
@media (max-width:640px){.acc-howto{grid-template-columns:1fr}}
.more-prof .more-out,.pm-prof .more-out{flex-shrink:0}

/* ===== Filialga biriktirish ===== */
.br-pick{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font-size:14px;max-width:100%;color:var(--text)}
.br-pick:hover{border-color:var(--ink-3)}
.br-pick:focus-visible{box-shadow:var(--ring)}
.br-pick>svg:first-child{color:var(--ink-3);flex-shrink:0}
.br-pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.br-pick em{font-style:normal;font-size:12px;font-weight:700;background:var(--soft);color:var(--ink);border-radius:99px;padding:1px 7px}
.br-pick>svg:last-child{color:var(--muted);flex-shrink:0}
.staff-tbl tr.off td{opacity:.6}
.staff-cards{display:flex;flex-direction:column;gap:10px}
.staff-card{border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--paper)}
.staff-card.off{opacity:.65}
.sc-top{display:flex;align-items:center;gap:10px}
.sc-top span.grow{display:flex;flex-direction:column;min-width:0}
.sc-top small{color:var(--muted);font-size:13px}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sc-grid>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.sc-grid small{color:var(--muted);font-size:12.5px}
.sc-grid .dd,.sc-grid .br-pick{width:100%}
.sc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}
.sh-sub{font-size:16px;margin:4px 0 2px}
.ub-list{display:flex;flex-direction:column;gap:8px;margin:12px 0 14px}
.ub-row{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;background:var(--paper);transition:border-color .15s,background .15s}
.ub-row.on{border-color:var(--ink-3);background:var(--soft)}
.ub-row span.grow{display:flex;flex-direction:column;min-width:0}
.ub-row small{color:var(--muted);font-size:12.5px}
.ub-chk{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}
.ub-chk input,.ub-main input{width:18px;height:18px;accent-color:var(--ink-3);flex-shrink:0}
.ub-main{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);padding:5px 9px;border-radius:99px;cursor:pointer;white-space:nowrap}
.ub-main.is{background:var(--ink);color:#fff}
.ub-main.is input{accent-color:var(--mark)}
.ub-main input:disabled+span{opacity:.4}
.ok-t{color:var(--ok);font-weight:600}
.br-staff{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 4px;flex-wrap:wrap}
.br-staff-l{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.br-person{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--bg-2);border-radius:99px;padding:3px 10px 3px 3px}
.br-person i{font-style:normal;font-weight:700;color:var(--ink-3)}
.avatar.xs{width:22px;height:22px;font-size:10px}

/* ===== Oraliqlar: yopishib qolgan joylar ===== */
.set-card>p.muted,.set-card>p.small{margin:0 0 12px}
.set-card>.set-row:first-of-type{margin-top:4px}
@media (min-width:1024px){.sheet .more-prof,.sheet .pm-prof{padding-right:44px}}
.acc-sec{margin-top:6px}
.acc-sec:first-of-type{border-top:0;padding-top:0}
#sheet>h3+p.muted{margin:2px 0 12px}
.sum-line.total span:last-child,.sum-line.total .nowrap{white-space:nowrap}
.staff-tbl .who .sub,.nowrap{white-space:nowrap}
.pos-top .page-tour span{display:none}
.pos-top .page-tour{padding:8px;margin-left:0}
.pos-top .pos-search{min-width:200px}
@media (max-width:1366px){.pos-top .btn .lbl-d{display:none}}
.head-actions{row-gap:8px}
.sc-grid .tag{align-self:flex-start}

/* ===== Global: qatorlar orasidagi joy, checkbox va radio ===== */
/* Tablar qatoridan keyingi boshqaruv qatori yopishmasin */
.px:has(> .seg.tabs) + :not(.gap):not(script){margin-top:12px}
.px:has(> .seg.tabs) + .gap{display:block;height:12px}
.toolbar{row-gap:10px}
.fc-bar{padding-top:0}
.fc-bank{flex-wrap:wrap;white-space:normal}
.fc-bank input{min-width:0;flex:1 1 120px}
.seg + .seg{margin-top:0}
.toolbar > .seg{flex:0 1 auto;max-width:100%;overflow-x:auto;scrollbar-width:none}
.toolbar > .seg::-webkit-scrollbar{display:none}
.set-card{box-sizing:border-box;max-width:100%;min-width:0}
.metric{min-width:0}
.metric b{overflow-wrap:anywhere}

/* Checkbox (switch'dan tashqari) — bir xil, aniq va bosishga qulay */
input[type=checkbox]:not(.sw input),input[type=radio]{
  -webkit-appearance:none;appearance:none;margin:0;flex-shrink:0;cursor:pointer;
  width:20px;height:20px;border:1.8px solid #AEB9B2;background:var(--paper);display:inline-grid;place-content:center;
  transition:background .12s,border-color .12s,box-shadow .12s;vertical-align:middle}
input[type=checkbox]:not(.sw input){border-radius:6px}
input[type=radio]{border-radius:50%}
input[type=checkbox]:not(.sw input)::before{content:'';width:11px;height:11px;transform:scale(0);transition:transform .12s;
  background:#fff;clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%)}
input[type=radio]::before{content:'';width:8px;height:8px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .12s}
input[type=checkbox]:not(.sw input):checked,input[type=radio]:checked{background:var(--ink-3);border-color:var(--ink-3)}
input[type=checkbox]:not(.sw input):checked::before,input[type=radio]:checked::before{transform:scale(1)}
input[type=checkbox]:not(.sw input):indeterminate{background:var(--ink-3);border-color:var(--ink-3)}
input[type=checkbox]:not(.sw input):indeterminate::before{transform:scale(1);clip-path:none;height:2.4px;width:10px;border-radius:2px}
input[type=checkbox]:not(.sw input):hover:not(:disabled),input[type=radio]:hover:not(:disabled){border-color:var(--ink-3)}
input[type=checkbox]:not(.sw input):focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(46,122,94,.28)}
input[type=checkbox]:not(.sw input):disabled,input[type=radio]:disabled{opacity:.45;cursor:not-allowed}
/* Yozuvli checkboxlar: yetarli oraliq va bosish maydoni */
.chk,.check,label.chip.sm,.scope{gap:9px}
.chk{padding:6px 2px;min-height:36px}
.tg-btns{display:flex;flex-wrap:wrap;gap:6px 22px;padding:4px 0 10px;margin-bottom:6px}
.tg-att{margin:2px 0 10px}
.cat-item input[type=checkbox]{width:20px;height:20px}
.ub-main.is input[type=radio]{border-color:var(--mark);background:var(--mark)}
.ub-main.is input[type=radio]::before{background:var(--ink)}

/* Obuna banneri: vaqti-vaqti bilan chapdan o'ngga o'tuvchi yaltirash */
.sub-banner{position:relative;overflow:hidden;isolation:isolate}
.sub-banner::after{content:'';position:absolute;top:0;bottom:0;left:0;width:38%;pointer-events:none;z-index:-1;
  background:linear-gradient(100deg,transparent 0%,rgba(255,216,77,.0) 15%,rgba(255,216,77,.38) 50%,rgba(255,216,77,0) 85%,transparent 100%);
  transform:translateX(-120%) skewX(-12deg);animation:subShine 6s ease-in-out 1.2s infinite}
.sub-banner.blocked::after,.sub-banner.grace::after{background:linear-gradient(100deg,transparent,rgba(200,55,45,.18) 50%,transparent)}
@keyframes subShine{0%{transform:translateX(-120%) skewX(-12deg)}32%,100%{transform:translateX(320%) skewX(-12deg)}}
.sub-banner>*{position:relative}
@media (prefers-reduced-motion:reduce){.sub-banner::after{animation:none;display:none}}

/* ===== Kassa: to'liq ekran (menyu ham yashirin) ===== */
@media (min-width:1024px){
  body.kassa-full .side{transform:translateX(-100%);transition:transform .22s ease;width:var(--side-w);box-shadow:none}
  body.kassa-full .main{margin-left:0 !important}
  body.kassa-full.side-peek .side{transform:none;box-shadow:24px 0 60px -20px rgba(0,0,0,.45);z-index:90}
  body.kassa-full.side-peek::after{content:'';position:fixed;inset:0;background:rgba(10,30,22,.35);z-index:85;animation:fadeIn .15s}
  body.kassa-full .side .lbl{display:initial}
  body.kassa-full .pos-top [data-a="fullscreen"]{background:var(--ink);color:#fff;border-color:var(--ink)}
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ===== Savdolar tarixi: sana oralig'i ===== */
.hist-range{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 12px 0;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.hist-range label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}
.hist-range input[type=date]{font:inherit;color:var(--text);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;background:var(--paper)}
.hist-range input[type=date]:focus{outline:none;border-color:var(--ink-3)}
.hist-range .hr-dash{color:var(--muted)}
.hist-range .chips{margin:0;padding:0}
@media (min-width:1024px){.hist-range{margin:10px 0 0}}

/* ===== Tovar rasmi ===== */
.p-thumb{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--bg-2);border:1px solid var(--line);display:inline-grid;place-items:center;vertical-align:middle;margin-right:10px;font-weight:700;color:var(--ink-3);font-size:15px}
.p-thumb.sm{width:34px;height:34px;font-size:13px;border-radius:9px}
.p-thumb.lg{width:84px;height:84px;border-radius:16px;font-size:30px;margin:0}
.p-thumb.ph{background:var(--soft)}
td.p-cell{min-width:230px}
td.p-cell .p-thumb{margin:-4px 10px -4px 0;float:left}
td.p-cell .v-tag{margin-left:4px}
.row .p-thumb{margin-right:0}
.plist .row{gap:12px}
.v-tag{font-size:11px;padding:1px 7px;gap:3px;vertical-align:middle}
.ps-top{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.ps-act{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ps-vars{display:flex;flex-wrap:wrap;gap:6px}
.sn-list{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow:auto}
.sn{display:inline-flex;align-items:center;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:3px 8px;border-radius:7px;background:var(--soft);color:var(--ink)}
.sn.sold{background:var(--bg-2);color:var(--muted);text-decoration:line-through}

/* ===== Yangi tovar formasi ===== */
.np-top{display:flex;gap:16px;align-items:flex-start}
.np-main{flex:1;min-width:0}
.np-photo{position:relative;width:128px;height:128px;flex-shrink:0;border:2px dashed #C3CEC7;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--ink-3);background:var(--bg-2);text-align:center;overflow:hidden;margin-top:22px}
.np-photo:hover{border-color:var(--ink-3)}
.np-photo b{font-size:13px}.np-photo small{font-size:11px;color:var(--muted);padding:0 8px}
.np-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.np-ph-act{position:absolute;top:6px;right:6px}
.np-ph-del{width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:18px;line-height:1;display:grid;place-items:center}
.link.sm{font-size:12.5px;margin-left:6px}
.np-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.np-mode{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--text)}
.np-mode svg{color:var(--ink-3);margin-bottom:2px}
.np-mode b{font-size:14px}.np-mode small{font-size:12px;color:var(--muted);line-height:1.35}
.np-mode.on{border-color:var(--ink-3);background:var(--soft);box-shadow:inset 0 0 0 1px var(--ink-3)}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.np-var{display:flex;flex-direction:column;gap:10px;margin:6px 0 12px}
.np-attr{border:1px solid var(--line);border-radius:var(--r);padding:10px;background:var(--paper)}
.np-attr-h{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.np-attr-h .dd{min-width:150px}
.np-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.np-tag{display:inline-flex;align-items:center;gap:4px;background:var(--ink);color:#fff;border-radius:99px;padding:4px 6px 4px 11px;font-size:13px;font-weight:600}
.np-tag button{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;display:grid;place-items:center;font-size:14px;line-height:1}
.np-attr-in{flex:1;min-width:140px;border:0;outline:none;font:inherit;padding:6px 4px;background:transparent}
.np-var-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.np-all{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.np-all input{width:80px}
.np-var-tbl input{width:100%;min-width:70px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;text-align:right;background:var(--paper)}
.np-var-tbl td:last-child input{text-align:left;min-width:120px}
.np-serial textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.np-sn-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 6px}
.np-more{margin:4px 0 8px}
.np-more summary{cursor:pointer;color:var(--ink-3);font-weight:600;font-size:14px;padding:6px 0}
.np-more textarea{width:100%;margin-top:6px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:10px;font:inherit}
@media (max-width:560px){.np-top{flex-direction:column}.np-photo{width:100%;height:120px;margin-top:0}.np-modes{grid-template-columns:1fr}.three{grid-template-columns:1fr 1fr}.three>:last-child{grid-column:1/-1}}

/* ===== Kategoriya va birliklar ===== */
.seg.full{display:flex}.seg.full button{flex:1}
.cm-add{margin:12px 0}
.cm-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.cm-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--paper)}
.cm-row:last-child{border-bottom:0}
.cm-row span.grow{display:flex;flex-direction:column;min-width:0}
.cm-row small{font-size:12.5px}

/* ===== Ro'yxat: belgilash va ommaviy amallar ===== */
.tv-tools{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.tv-tools .btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sel-td{width:42px;padding-right:0 !important}
.tbl tr.sel td{background:#EEF6F1}
.sel-box{width:22px;height:22px;border-radius:6px;border:1.8px solid #AEB9B2;display:grid;place-items:center;flex-shrink:0;background:var(--paper)}
.sel-box.on{background:var(--ink-3);border-color:var(--ink-3);color:#fff}
.row.sel{background:#EEF6F1}
.bulk-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 10px);z-index:60;background:var(--ink);color:#fff;border-radius:18px;padding:10px 12px;display:flex;align-items:center;gap:12px;box-shadow:0 18px 40px -14px rgba(0,0,0,.5);width:min(96vw,1040px);animation:bbIn .2s ease}
@keyframes bbIn{from{transform:translate(-50%,20px);opacity:0}to{transform:translateX(-50%);opacity:1}}
.bb-count{display:flex;align-items:baseline;gap:6px;padding:0 8px 0 4px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.18)}
.bb-count b{font-size:20px}.bb-count span{font-size:13px;opacity:.85}
.bb-count .link{color:var(--mark);margin-left:4px}
.bb-acts{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}
.bb-acts::-webkit-scrollbar{display:none}
.bb-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;border-radius:12px;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;min-width:72px}
.bb-btn:hover{background:rgba(255,255,255,.1)}
.bb-btn svg{color:var(--mark)}
@media (min-width:1024px){.bulk-bar{bottom:18px;left:calc(50% + var(--side-w) / 2)}body.side-min .bulk-bar{left:calc(50% + var(--side-min) / 2)}}
@media (max-width:640px){.bb-count{flex-direction:column;gap:0;align-items:flex-start}.bulk-bar{border-radius:14px;padding:8px}}

/* ===== Inventarizatsiya qoralamasi, ko'chirish ===== */
.cd-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--ok);margin:-4px 0 10px}
.cd-note .muted{margin-left:6px}
.cd-banner{margin:12px 12px 0}
@media (min-width:1024px){.cd-banner{margin:12px 0 0}}
.tr-cols{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:1024px){.tr-cols{grid-template-columns:1fr 1fr;gap:14px}.tr-cols .block{margin:14px 0 0}}
.tr-card{border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-top:10px;display:flex;flex-direction:column;gap:8px;background:var(--paper)}
.tr-card.in{border-color:#E8C95A;background:#FFFCEE}
.tr-top{display:flex;align-items:center;gap:8px}
.tr-route{display:flex;align-items:center;gap:8px;font-weight:600;flex-wrap:wrap}
.tr-route svg{color:var(--ink-3)}
.tr-route.big{font-size:15px;margin:4px 0 12px}
.tr-route.big .dd{min-width:200px}
.tr-items{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--muted)}
.tr-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tr-note{margin:0}
.tr-find{margin-bottom:8px}
.tr-found{border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;overflow:hidden}
.tr-found .row{width:100%}
.tr-lines{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}
.tr-line{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.tr-line.bad{border-color:var(--red);background:var(--red-soft)}
.tr-line .grow{display:flex;flex-direction:column;min-width:0}
.tr-line small{color:var(--muted);font-size:12.5px}
.tr-line input{width:96px;border:1.5px solid var(--line);border-radius:9px;padding:8px;font:inherit;text-align:right}
.tr-line .u{font-size:13px;color:var(--muted);min-width:34px}
.tr-sum{display:flex;align-items:baseline;gap:10px;padding:8px 0}
.tr-sum b{font-size:18px;margin-left:auto}

/* ===== Kassa kartochkalari: rasm, kam qoldi, variant ===== */
.tile{position:relative}
.tile .t-img{display:block;margin:-12px -12px 8px;height:84px;border-radius:12px 12px 0 0;overflow:hidden;background:var(--bg-2)}
.tile .t-img img{width:100%;height:100%;object-fit:cover}
.tile.low{border-color:#F0C85A;background:linear-gradient(180deg,#FFFBEA 0%,var(--paper) 55%)}
.tile.low .t-stock{color:#9A6B00;font-weight:700}
.tile .t-flag{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:3px 7px;border-radius:99px;background:#FFE08A;color:#6B4E00;box-shadow:0 2px 6px -2px rgba(107,78,0,.35)}
.tile .t-flag.out{background:var(--bg-2);color:var(--muted);box-shadow:none}
.tile.out{opacity:.62}
.tile.out .t-name{text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
.tile .t-img~.t-flag{top:14px}
.sn-inline{font-size:10px;background:var(--ink);color:#fff;border-radius:4px;padding:0 4px}
.var-tile .var-n{color:var(--ink-3)}
.row.low{box-shadow:inset 3px 0 0 #F0C85A}
.row.out{opacity:.62}
.t-flag-m{font-size:10.5px;padding:1px 6px;vertical-align:middle}
.kv-grid{display:flex;flex-direction:column;gap:10px;margin:10px 0}
.kv-row{display:flex;align-items:flex-start;gap:10px}
.kv-lbl{width:72px;flex-shrink:0;font-weight:700;font-size:14px;padding-top:12px}
.kv-cells{display:flex;flex-wrap:wrap;gap:8px}
.kv-cell{position:relative;min-width:104px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
.kv-cell:hover:not(:disabled){border-color:var(--ink-3)}
.kv-cell small{color:var(--muted);font-size:12px}
.kv-cell.low small{color:#9A6B00;font-weight:600}
.kv-cell.out{opacity:.5}
.kv-cell.in{border-color:var(--ink-3);background:var(--soft)}
.kv-cell em{position:absolute;top:-8px;right:-8px;font-style:normal;background:var(--ink);color:#fff;font-size:12px;font-weight:700;border-radius:99px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px}
.sn-pick{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;max-height:280px;overflow:auto}
.sn-opt{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}
.sn-opt.on{border-color:var(--ink-3);background:var(--soft)}
.sn-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;width:100%}
.rc-sn{margin:10px 0;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;font-size:13px;display:flex;flex-direction:column;gap:8px}
.rc-sn div{display:flex;flex-direction:column;gap:2px}
.rc-sn span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.rc-sn small{color:var(--muted)}

/* ===== Individual KPI ===== */
.kpi-ind{margin:16px 0 8px;border:1.5px solid var(--line);border-radius:var(--r);padding:14px;background:var(--bg-2)}
.kpi-ind.on{border-color:var(--ink-3);background:#F2F8F4}
.ki-head{display:flex;align-items:center;gap:12px}
.ki-head .grow{display:flex;flex-direction:column;gap:2px}
.ki-head small{font-size:12.5px}
.ki-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-top:12px}
.ki-w{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font-size:13.5px}
.ki-w.chg{border-color:var(--ink-3)}
.ki-in{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}
.ki-in input{width:62px;border:1.5px solid var(--line);border-radius:8px;padding:5px 6px;text-align:right;font:inherit}
.ki-sum{font-size:13px;font-weight:600;margin:8px 0}
.ki-sum.ok{color:var(--ok)}
.ki-tag{font-size:10.5px;padding:1px 6px;vertical-align:middle}
.gift-sub{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:var(--r);background:linear-gradient(135deg,#FFF6D6,#FFFBEA);border:1px solid #F0D98A;color:#5C4300}
.gift-sub div{display:flex;flex-direction:column;gap:4px}.gift-sub b{font-size:17px;color:#3D2E00}.gift-sub small{font-size:13px}

/* ===== AI avtopilot ===== */
.ap-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 12px 0;padding:16px 18px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line)}
.ap-hero.on{background:radial-gradient(120% 140% at 0% 0%,#1B5A44 0%,var(--ink) 65%);color:#fff;border-color:transparent}
.ap-hero-l{display:flex;align-items:center;gap:14px}
.ap-hero-l div{display:flex;flex-direction:column;gap:3px}
.ap-hero-l b{font-size:17px}.ap-hero-l small{font-size:13px;opacity:.8}
.ap-pulse{width:14px;height:14px;border-radius:50%;background:#9AA6A0;flex-shrink:0;position:relative}
.ap-hero.on .ap-pulse{background:#2DBE6C}
.ap-hero.on .ap-pulse::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid #2DBE6C;animation:apPulse 2s ease-out infinite}
@keyframes apPulse{from{transform:scale(.6);opacity:1}to{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.ap-hero.on .ap-pulse::after{animation:none}}
@media (min-width:1024px){.ap-hero{margin:12px 0 0}}
.ap-ic{width:28px;height:28px;border-radius:9px;background:var(--soft);color:var(--ink-3);display:inline-grid;place-items:center;flex-shrink:0}
.ap-ic.lg{width:40px;height:40px;border-radius:12px}
.ap-rules{display:flex;flex-direction:column;gap:10px}
.ap-rule{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.ap-rule.on{border-color:#BFD9CB;background:#F7FBF8}
.ap-rule .grow{display:flex;flex-direction:column;gap:4px;min-width:0}
.ap-rule small{color:var(--muted);font-size:13px}
.ap-rule-opts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
.ap-rule-opts label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.ap-rule-opts input{width:64px;border:1.5px solid var(--line);border-radius:8px;padding:5px 6px;font:inherit;text-align:right}
.ap-queue{display:flex;flex-direction:column;gap:10px}
.ap-q{border:1.5px solid #F0D98A;background:#FFFCEE;border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:8px}
.ap-q-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ap-q textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;font-size:14px;background:#fff;resize:vertical}
.ap-q-a{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ap-q-a .btns{display:flex;gap:8px}
.ap-q-tg{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:10px;font-weight:600;font-size:.88rem}
.ap-q-tg small{display:block;font-weight:400}
.ap-q-tg.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}
.ap-q-tg.no{background:var(--bg-soft,rgba(127,127,127,.1));color:var(--muted)}
.tag.tg-tag{background:color-mix(in srgb,#229ED9 14%,transparent);color:#1b84b8;white-space:nowrap}
.ap-log{display:flex;flex-direction:column}
.ap-l{border-bottom:1px solid var(--line)}
.ap-l:last-child{border-bottom:0}
.ap-l summary{display:flex;align-items:center;gap:10px;padding:10px 2px;cursor:pointer;list-style:none;font-size:14px}
.ap-l summary::-webkit-details-marker{display:none}
.ap-l summary .grow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-l p{margin:0 0 12px 38px;padding:10px 12px;background:var(--bg-2);border-radius:10px;font-size:13.5px}
.tag.ok-tag{background:#DFF3E8;color:var(--ok)}

/* ===== Yutuqlar ===== */
.rw-hero{display:flex;align-items:center;gap:18px;margin:12px 12px 0;padding:18px 20px;border-radius:var(--r-lg);background:radial-gradient(130% 150% at 0% 0%,#1B5A44 0%,var(--ink) 60%);color:#fff;flex-wrap:wrap}
@media (min-width:1024px){.rw-hero{margin:12px 0 0}}
.rw-medal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--lv);color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.12),0 10px 24px -8px rgba(0,0,0,.5);flex-shrink:0}
.rw-hero .grow{display:flex;flex-direction:column;gap:3px;min-width:200px}
.rw-hero .grow b{font-size:24px}.rw-hero .grow span{font-size:13.5px;opacity:.85}.rw-hero small{font-size:12.5px;opacity:.75}
.rw-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.15);overflow:hidden;margin:6px 0 2px;max-width:420px}
.rw-bar i{display:block;height:100%;background:var(--mark);border-radius:99px}
.rw-pts{display:flex;flex-direction:column;align-items:center;gap:4px;padding-left:18px;border-left:1px solid rgba(255,255,255,.15)}
.rw-pts b{font-size:32px;color:var(--mark);line-height:1}
.rw-grid{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:900px){.rw-grid{grid-template-columns:repeat(3,1fr);gap:14px}.rw-grid.two{grid-template-columns:1fr 1fr}.rw-grid .block{margin:14px 0 0}}
.rw-card{display:flex;flex-direction:column;gap:10px}
.rw-h{display:flex;gap:12px;align-items:flex-start}
.rw-h div{display:flex;flex-direction:column;gap:2px}.rw-h small{color:var(--muted);font-size:12.5px}
.rw-ic{width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--ink-3);display:grid;place-items:center;flex-shrink:0}
.rw-meter{height:8px;border-radius:99px;background:var(--bg-2);overflow:hidden}.rw-meter i{display:block;height:100%;background:var(--ink-3)}
.rw-card p{margin:0}.rw-card .btn{align-self:flex-start}
.rw-streak{display:flex;gap:8px}
.rw-streak span{width:34px;height:34px;border-radius:50%;border:2px dashed #C3CEC7;display:grid;place-items:center;color:transparent}
.rw-streak span.on{border:0;background:var(--ok);color:#fff}
.rw-ref{display:flex;gap:8px;align-items:center}
.rw-ref code{flex:1;font-size:16px;font-weight:700;letter-spacing:.06em;background:var(--bg-2);padding:8px 12px;border-radius:10px;text-align:center}
.rw-lessons{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.rw-lesson{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);flex-wrap:wrap}
.rw-lesson.passed{background:#F2F8F4;border-color:#BFD9CB}
.rw-lesson .grow{display:flex;flex-direction:column;gap:2px;min-width:160px}
.rw-lesson small{color:var(--muted);font-size:12.5px}
.rw-rank{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.rw-rank:last-child{border-bottom:0}
.rw-rank.me{background:#F2F8F4;border-radius:10px;padding:8px}
.rw-place{width:24px;text-align:center;font-weight:800;color:var(--muted)}
.rw-rank:nth-child(2) .rw-place{color:#C9A227}
.rw-plus{color:#9A6B00}
.rw-em{font-style:normal;margin-left:auto;background:var(--mark);color:var(--ink);font-size:12px;font-weight:700;border-radius:99px;padding:1px 8px}
.rw-quiz{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.rw-quiz fieldset{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:6px}
.rw-quiz fieldset.ok{border-color:var(--ok);background:#F2FAF5}.rw-quiz fieldset.bad{border-color:var(--red);background:#FFF6F5}
.rw-quiz legend{font-weight:700;padding:0 4px}
.rw-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer}
.rw-opt:hover{background:var(--bg-2)}
.rw-opt.right{background:#DFF3E8;font-weight:600}
.rw-res{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r);flex-wrap:wrap}
.rw-res.ok{background:#DFF3E8;color:var(--ok)}.rw-res.bad{background:var(--red-soft);color:var(--red)}
.rw-res b{font-size:26px}.rw-res span{flex:1;min-width:160px;font-weight:600}
.rw-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px}
.rw-offer{display:flex;flex-direction:column;gap:4px;padding:16px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper);text-align:left}
.rw-offer:hover:not(:disabled){border-color:var(--ink-3)}
.rw-offer b{font-size:16px}.rw-offer small{color:var(--muted)}
.rw-offer:disabled{opacity:.5}

/* ===== B2B: platforma orqali ta'minotchi/sex bilan ishlash ===== */
.tag.st-info{background:#E0EAF7;color:#2B5A8A}
.b2b-inbox{border:1.5px solid #C9DBEF}
.b2b-it{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.b2b-it:first-of-type{border-top:0}.b2b-it .grow{min-width:0}.b2b-it b{display:block}.b2b-it small{display:block;color:var(--muted);font-size:12.5px}
.b2b-it .btn{flex-shrink:0}
.b2b-ic{width:38px;height:38px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;background:var(--soft);color:var(--ink-2)}
.b2b-ic.doc{background:#E0EAF7;color:#2B5A8A}
@media(max-width:560px){.b2b-it{flex-wrap:wrap}.b2b-it .grow{flex:1 1 calc(100% - 50px)}.b2b-it .btn{margin-left:50px}}
.b2b-box{border:1.5px dashed var(--line);border-radius:var(--r);padding:12px 14px;margin:12px 0;display:grid;gap:8px}
.b2b-box.on{border-style:solid;border-color:#C9DBEF;background:#F6F9FD}
.b2b-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.b2b-h .ic{color:#2B5A8A}
.b2b-box p{margin:0}
.b2b-send{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r);background:#F6F9FD;border:1.5px solid #C9DBEF;margin:10px 0}
.b2b-send>.ic{color:#2B5A8A;flex-shrink:0}.b2b-send b{display:block}.b2b-send small{color:var(--muted)}
.b2b-alt{margin-top:10px}.b2b-alt summary{cursor:pointer;color:var(--muted);font-size:14px;padding:6px 0}
.b2b-po{border-radius:var(--r-sm);background:#F6F9FD;padding:10px 12px;margin:8px 0 12px;display:grid;gap:8px}
.b2b-conf{display:flex;gap:6px;flex-wrap:wrap}
.b2b-log{list-style:none;margin:6px 0 0;padding:0 0 0 14px;border-left:2px solid var(--line);display:grid;gap:6px;font-size:13px}
.b2b-log li{position:relative}.b2b-log li::before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-3)}
.b2b-log small{display:block;color:var(--muted);font-size:11.5px}
.b2b-pr{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.b2b-pr .grow{min-width:0}.b2b-pr b{display:block}.b2b-pr small{color:var(--muted);font-size:12.5px}
.b2b-pr small b{display:inline}
.b2b-badge{margin-left:6px;vertical-align:1px}
.empty-b2b{text-align:center;padding:10px 0;display:grid;gap:10px}
.en-rows{display:grid;gap:6px;margin:12px 0}
.en-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) 72px 96px;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px}
.en-rows.fx .en-row{grid-template-columns:minmax(0,2fr) .8fr .8fr 1fr 1.1fr}
.en-row>.po-diff{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.en-row>.po-diff:has(>.ok:only-child){display:none}
.en-row.head>span:nth-child(5){display:none}.en-rows.fx .en-row.head>span:nth-child(5){display:block}
.en-row.head{border:0;padding:0 10px;font-size:12px;color:var(--muted);font-weight:600}
.en-row.is-new{background:#F6F9FD}
.en-src{min-width:0}.en-src b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.en-src small{color:var(--muted);font-size:12px}
.en-row input{width:100%;min-width:0;padding:7px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:var(--paper)}
.en-row .dd{min-width:0}
@media(max-width:700px){
  .en-row,.en-rows.fx .en-row{grid-template-columns:1fr 1fr}
  .en-row>:first-child,.en-row>:nth-child(2){grid-column:1/-1}
  .en-rows.fx .en-row>:nth-child(2){grid-column:auto}
  .en-row.head{display:none}
}
.b2b-it small b{display:inline}
#sheet>.tk-head{padding-right:46px}
#sheet>.tk-head>.tag{flex-shrink:0;margin-top:6px}

/* ===== Ish haqi ===== */
.py-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.py-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
.py-row .title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.py-row .title .tag{font-weight:600}
.py-row .sub .ok{color:var(--ok)}.py-row .sub .red{color:var(--red)}
.avatar.py-w{background:#F1E6CF;color:#6B4E12}
.py-big{text-align:right;flex-shrink:0}.py-big small{display:block;color:var(--muted);font-size:12.5px}.py-big b{font-size:22px}
.py-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.py-sum>div{background:var(--bg-2);border-radius:var(--r-sm);padding:10px;min-width:0}.py-sum small{display:block;color:var(--muted);font-size:12px}.py-sum b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.py-sum .hl{background:var(--soft);grid-column:span 2}
@media(max-width:640px){.py-sum{grid-template-columns:repeat(2,minmax(0,1fr))}.py-sum .hl{grid-column:1/-1}}
.actions.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media(max-width:480px){.py-acts{grid-template-columns:1fr 1fr}.py-acts>:first-child{grid-column:1/-1}}
.py-type,.py-bk{display:flex;flex-wrap:wrap}.py-type button,.py-bk button{flex:1 1 auto}
.py-desc{margin:8px 0 12px}
.three-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:640px){.three-f{grid-template-columns:1fr}}
.py-rates{display:grid;gap:8px;margin-bottom:10px}
.py-rate{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm)}
.py-rate span{min-width:0;font-weight:600;font-size:14px}.py-rate small{display:block;color:var(--muted);font-weight:400;font-size:12px}
.py-rate input{width:100%;padding:8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;text-align:right;background:var(--paper)}
.py-prev{background:var(--soft);border-radius:var(--r-sm);padding:10px 12px;margin:10px 0;font-size:14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.py-prev .ok{color:var(--ok)}.py-prev .red{color:var(--red)}
.py-abs{margin-top:12px}.py-abs .qty{display:flex;align-items:center;gap:12px}.py-abs .qty b{min-width:24px;text-align:center;font-size:18px}
.py-led .row{gap:10px}.py-led .tag{flex-shrink:0}
.py-bulk{display:grid;gap:6px;margin:10px 0}
.py-bl{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}
.py-bl .grow{min-width:0}.py-bl b{display:block}.py-bl small{color:var(--muted);font-size:12px}.py-bl input{width:18px;height:18px;accent-color:var(--ink-3)}
.py-self{color:var(--ok);font-weight:700}
.full-seg{display:flex;margin-bottom:10px}.full-seg button{flex:1}
@media(max-width:640px){
  .py-row{flex-wrap:wrap;row-gap:6px}
  .py-row>.grow{flex:1 1 calc(100% - 52px);min-width:0}
  .py-row>.right{margin-left:48px;flex:1;text-align:left}
  .py-row>.btn{align-self:center}
  #sheet>.tk-head:has(.py-big){flex-wrap:wrap}
  .py-big{text-align:left;width:100%}
}
.actions.three.py-acts{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:480px){.actions.three.py-acts{grid-template-columns:1fr 1fr}.actions.three.py-acts>:first-child{grid-column:1/-1}}
.actions.three.py-acts>.btn{grid-column:auto}
@media(max-width:480px){.actions.three.py-acts>.btn:first-child{grid-column:1/-1}}

/* Qisman qaytarish */
.rt-head{display:flex;justify-content:space-between;align-items:center;margin:10px 0 6px}
.rt-list{display:grid;gap:6px;margin-bottom:12px}
.rt-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);transition:border-color .15s,background .15s}
.rt-row.on{border-color:var(--red);background:var(--red-soft)}
.rt-row .grow{min-width:0}.rt-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-row small{color:var(--muted);font-size:12.5px}
.rt-q{display:flex;align-items:center;gap:6px;flex-shrink:0}
.rt-q input{width:64px;text-align:center;padding:7px 4px;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:var(--paper)}
.r-ret{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px;color:var(--red)}
.r-ret b{display:block;font-size:12.5px}.r-ret small{color:var(--muted)}
.lb-cats{margin:8px 0 6px;flex-wrap:wrap}
.lb-cats .chip em{font-style:normal;color:var(--muted);font-size:12px;margin-left:2px}
.lb-cats .chip.on em{color:inherit;opacity:.8}
/* "Kam qoldi" belgisi savatdagi son (o'ng yuqori) bilan ustma-ust tushmasin: narx qatori ustida, oqimda */
.tile .t-flag{position:static;align-self:flex-start;margin-top:auto}
.tile .t-flag+.t-foot{margin-top:0;padding-top:6px}
.tile .t-img~.t-flag{top:auto}
.tile .cnt{z-index:2}
.tile.in .t-cat{padding-right:44px}

/* ===== Yaroqlilik muddati ===== */
.exp-tag{font-size:11px;gap:3px}.exp-tag.expired{background:var(--red-soft);color:var(--red)}.exp-tag.soon{background:var(--warn-soft);color:#7A5A00}.exp-ok{background:var(--bg-2);color:var(--muted);font-size:11px}
.exp-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:560px){.exp-metrics{grid-template-columns:1fr 1fr}}
.exp-row{gap:12px;align-items:center}.exp-row .grow{min-width:0}
.exp-ic{width:38px;height:38px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;background:var(--bg-2);color:var(--muted)}
.exp-ic.expired{background:var(--red-soft);color:var(--red)}.exp-ic.soon{background:var(--warn-soft);color:#8A6300}
.exp-row.expired{box-shadow:inset 3px 0 0 var(--red)}
.exp-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
@media(max-width:640px){.exp-row{flex-wrap:wrap}.exp-row .grow{flex:1 1 calc(100% - 52px)}.exp-acts{width:100%;justify-content:flex-start;padding-left:50px}}
.exp-banner{border-color:var(--red)}
.np-exp{border:1px solid var(--line);border-radius:var(--r);padding:4px 12px;margin:12px 0}
.np-exp .np-exp-body{display:none;padding:4px 0 10px}.np-exp.on .np-exp-body{display:block}
.np-exp .set-row{border:0;padding:8px 0}
.np-exp-q{padding:0;margin-top:2px;flex-wrap:wrap}
.exp-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r-sm);background:var(--bg-2);margin:10px 0;font-size:14px}
.exp-line.expired{background:var(--red-soft);color:var(--red)}.exp-line.soon{background:var(--warn-soft)}
.exp-line .link{margin-left:auto}
.exp-many{display:grid;gap:6px;max-height:55vh;overflow:auto;margin:10px 0}
.exp-m{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm)}
.exp-m .grow{min-width:0}.exp-m b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-m small{color:var(--muted);font-size:12px}
.exp-m input[type=date]{padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:var(--paper);max-width:150px}
.exp-m input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink-3)}
.banner.exp-banner{background:var(--red-soft);border-color:#F2C4BE}.banner.exp-banner>.ic{color:var(--red)}

/* ===== Kassa: bosib turish → tovar ma'lumoti ===== */
#plist .tile,#plist .row{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
#plist .tile.ki-holding,#plist .row.ki-holding{position:relative;overflow:hidden}
#plist .ki-holding::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--ink-3);transform-origin:left;animation:kiFill .9s linear forwards;z-index:3}
@keyframes kiFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){#plist .ki-holding::after{animation-duration:.01s}}
.ki-top{display:flex;gap:14px;align-items:flex-start;padding-right:40px}
.ki-top .grow{min-width:0}.ki-top h3{margin:0 0 2px}
.ki-top .p-thumb.lg{width:76px;height:76px;flex-shrink:0}
.ki-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ki-price{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:14px 0}
.ki-price>div{background:var(--bg-2);border-radius:var(--r-sm);padding:10px 12px;min-width:0}
.ki-price small{display:block;color:var(--muted);font-size:12px}.ki-price b{display:block;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ki-price b s{color:var(--muted);font-weight:500;font-size:13px}
.ki-price span{font-size:12px;color:var(--muted)}.ki-price span.ok{color:var(--ok)}.ki-price span.red{color:var(--red)}
.ki-sec{margin:10px 0}.ki-sec h4{font-size:13px;color:var(--muted);font-weight:600;margin:0 0 6px}
.ki-units,.ki-br{display:flex;gap:6px;flex-wrap:wrap}
.ki-units span,.ki-br span{background:var(--bg-2);border-radius:99px;padding:5px 11px;font-size:13px}.ki-br span.on{background:var(--soft);font-weight:600}
.ki-units small{color:var(--muted)}
.ki-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0;font-size:14px}
.ki-kv dt{color:var(--muted)}.ki-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.ki-kv .mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ki-kv .red{color:var(--red)}
.ki-desc{background:var(--bg-2);border-radius:var(--r-sm);padding:10px 12px;font-size:14px;margin:8px 0}
.ki-add{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.ki-add .qty{display:flex;align-items:center;gap:6px}
.ki-add .qty input{width:72px;text-align:center;padding:9px 4px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-weight:700;background:var(--paper)}
.ki-add .btn.grow{flex:1;min-width:160px}
@media(max-width:480px){.ki-kv{grid-template-columns:1fr;gap:2px}.ki-kv dd{margin-bottom:6px}}

/* Ta'minotchi taklifi (do'kon tomoni) */
.inv-land{text-align:center;padding:4px 0 6px}
.inv-av{width:58px;height:58px;border-radius:16px;display:inline-grid;place-items:center;background:var(--ink);color:#fff;font-weight:800;font-size:20px;margin-bottom:8px}
.inv-land h3{margin:0 0 4px}.inv-land p .ic{vertical-align:-2px;color:var(--ok)}
.inv-ben{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.inv-ben li{display:flex;gap:12px;align-items:flex-start;background:var(--bg-2);border-radius:var(--r-sm);padding:10px 12px}
.inv-ben li>.ic{color:var(--ink-3);flex-shrink:0;margin-top:2px}.inv-ben b{display:block;font-size:14px}.inv-ben small{color:var(--muted);font-size:12.5px}

/* ===== AI: optom bozor moslashtirish ===== */
.am-scan{text-align:center;padding:30px 10px}.am-scan .typing{justify-content:center;margin:0 auto 12px}
.am-baskets{display:grid;gap:8px;margin:12px 0}
.am-bk{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper)}
.am-bk.best{border-color:var(--ink-3);background:var(--soft)}
.am-bk .grow{min-width:0}.am-bk .grow b{font-size:14.5px}.am-bk .grow .ic{color:var(--ok);vertical-align:-2px}.am-bk small{display:block;color:var(--muted);font-size:12.5px}
.am-bk .right{text-align:right;flex-shrink:0}.am-bk .right b{display:block}.am-bk .right small.ok{color:var(--ok)}
.am-list{display:grid;gap:12px;margin-top:6px}
.am-p{border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--paper)}
.am-ph{display:flex;gap:10px;align-items:center;margin-bottom:6px}.am-ph b{display:block}.am-ph small{color:var(--muted);font-size:12.5px}
.am-o{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.am-o.confirmed .am-conf{background:var(--ink);color:#fff}.am-o.confirmed .am-conf small{color:rgba(255,255,255,.8)}
.am-conf{border-radius:10px;padding:6px 4px;text-align:center;background:var(--bg-2)}
.am-conf b{display:block;font-size:17px;line-height:1.1}.am-conf small{display:block;font-size:10.5px;line-height:1.15;color:var(--muted)}
.am-conf.ok{background:#E3F4EA}.am-conf.ok b{color:var(--ok)}.am-conf.warn{background:var(--warn-soft)}.am-conf.warn b{color:#8A6300}
.am-name{font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.am-o .grow>small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.am-why{font-size:12px;color:var(--ink-3);margin-top:3px}.am-why .red{color:var(--red)}
.am-o .right{text-align:right}.am-o .right b{display:block;white-space:nowrap}.am-o .right small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap}.am-o .right small.ok{color:var(--ok)}.am-o .right small.red{color:var(--red)}
.am-act{display:flex;flex-direction:column;gap:4px}.am-act .icon-btn.ok{color:var(--ok)}
.am-rej{margin-top:6px}.am-rej summary{cursor:pointer;font-size:13px;color:var(--muted)}
.am-rj{padding:6px 0 0;font-size:13px}.am-rj small{display:block;font-size:12px}.am-rj .red{color:var(--red)}
.am-none{margin:4px 0}
@media(max-width:560px){.am-o{grid-template-columns:64px minmax(0,1fr) auto}.am-o .right{grid-column:2}.am-o .right{text-align:left}.am-act{grid-row:1;grid-column:3;flex-direction:row}}
.am-act .icon-btn{width:34px;height:34px;min-width:34px;min-height:0;padding:0;background:var(--paper);border:1px solid var(--line);color:var(--muted)}.am-act .icon-btn.ok{color:var(--ok);border-color:#BFE0CC}
#sheet .inv-land h3{text-align:center;padding:0}
#sheet input[type=date]{min-width:0;width:100%}
.py-presets{flex-wrap:wrap;padding:0;margin:10px 0}
.rt-q .icon-btn{width:36px;height:36px;min-width:36px;min-height:0;padding:0}
@media(max-width:560px){
  .rt-row{flex-wrap:wrap}.rt-row .grow{flex:1 1 100%}.rt-q{margin-left:auto}
  .am-bk{flex-wrap:wrap}.am-bk .grow{flex:1 1 100%}.am-bk .right{text-align:left;flex:1}
}
body:not(.sup) #sheet .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#sheet .two>.field{min-width:0}

/* ===== Professional modallar: muddat, hisobdan chiqarish, chegirma ===== */
.exp-row.st-expired{box-shadow:none;background:linear-gradient(90deg,#FDF1EF 0%,var(--paper) 70%)}
.exp-row.expired{box-shadow:none}
.exp-title{font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.promo-tag{background:#FFE9D6;color:#9A4A00;font-size:11.5px;gap:3px}
.exp-tags{display:inline-flex;gap:4px;flex-wrap:wrap;margin-right:6px;vertical-align:1px}
.exp-pr{margin-top:3px}
.mdl-head{display:flex;gap:14px;align-items:center;padding-right:40px;margin-bottom:6px}
.mdl-head h3{margin:0}.mdl-head p{margin:2px 0 0}
.mdl-ic{width:52px;height:52px;flex-shrink:0;border-radius:16px;display:grid;place-items:center;background:var(--soft);color:var(--ink-2)}
.mdl-head.danger .mdl-ic{background:var(--red-soft);color:var(--red)}
.mdl-ic.promo{background:#FFE9D6;color:#B05A00}
.mdl-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.mdl-facts>div{background:var(--bg-2);border-radius:var(--r-sm);padding:10px 12px;min-width:0}
.mdl-facts small{display:block;color:var(--muted);font-size:12px}.mdl-facts b{display:block;font-size:16px}.mdl-facts b s{color:var(--muted);font-weight:500;font-size:13px}.mdl-facts span{font-size:12.5px;color:var(--muted)}.mdl-facts .red{color:var(--red)}
.mdl-loss{display:flex;justify-content:space-between;align-items:center;background:var(--red-soft);color:var(--red);border-radius:var(--r-sm);padding:12px 14px;margin:6px 0}
.mdl-loss b{font-size:18px}
.mdl-warn{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);border-radius:var(--r-sm);padding:10px 12px;font-size:13.5px;margin:10px 0}.mdl-warn .ic{flex-shrink:0;color:#8A6300;margin-top:1px}
.exp-sale{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-top:10px}
.exp-sale .grow{min-width:0}.exp-sale b{display:block}.exp-sale small{color:var(--muted)}
.exp-ack{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1.5px dashed var(--line);border-radius:var(--r-sm);cursor:pointer;font-size:14px;margin:6px 0 12px}
.exp-ack input{width:20px;height:20px;flex-shrink:0;accent-color:var(--ink-3);margin-top:1px}
.exp-sale-acts{display:grid;gap:8px}
.exp-sale-acts .btn:disabled{opacity:.45}
.exp-sale-acts .link{justify-self:center;margin-top:4px}
.ep-pcts{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.ep-p{flex:1;min-width:58px;padding:10px 0;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);font:inherit;font-weight:700;cursor:pointer}
.ep-p.on{border-color:var(--ink);background:var(--ink);color:#fff}
.ep-pcts input{width:74px;padding:10px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-weight:700;text-align:center;background:var(--paper)}
.ep-prev{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:10px;align-items:center;background:var(--bg-2);border-radius:var(--r-sm);padding:12px;margin:10px 0}
.ep-prev small{display:block;color:var(--muted);font-size:12px}.ep-prev b{font-size:15px}.ep-prev b.ok{color:var(--ok)}.ep-prev b.red{color:var(--red)}.ep-prev .ic{color:var(--muted)}
@media(max-width:420px){.ep-prev{grid-template-columns:1fr auto 1fr}.ep-prev>div:last-child{grid-column:1/-1}}
.exp-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:var(--r);background:var(--bg-2);margin:10px 0}
.exp-line.st-expired{background:var(--red-soft)}.exp-line.st-soon{background:var(--warn-soft)}.exp-line.promo{background:#FFF3E8}
.exp-line .grow small{display:block;color:var(--muted);font-size:12px}.exp-line .grow b{display:block;font-size:15px}.exp-line .grow span{font-size:12.5px}
.exp-line .exp-ic{width:40px;height:40px}.exp-line .exp-ic.promo{background:#FFE9D6;color:#B05A00}
.exp-line-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
@media(max-width:560px){.exp-line{grid-template-columns:auto minmax(0,1fr)}.exp-line-act{grid-column:1/-1;justify-content:flex-start}}
.danger-t{color:var(--red)}
.tile .t-flag.exp{background:var(--warn-soft);color:#7A5A00;box-shadow:none;text-transform:none;letter-spacing:0}
.tile .t-flag.exp.expired{background:var(--red-soft);color:var(--red)}
.tile .t-flag+.t-flag{margin-top:4px}
.tile.exp-expired{border-color:#F2C4BE}
/* Qaytarishlar jurnali */
.rt-mode{margin:12px 12px 4px;display:inline-flex}
@media(min-width:1024px){.rt-mode{margin:18px 0 14px}}
.rt-mode .cnt{background:var(--red-soft);color:var(--red)}
.rt-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.rt-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rt-metrics .rt-why{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-tag{background:var(--red-soft);color:var(--red)}
.rt-ic{width:38px;height:38px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;background:var(--red-soft);color:var(--red)}
.mdl-ic.rt{background:var(--red-soft);color:var(--red)}
.rt-items{border:1px solid var(--line);border-radius:var(--r);padding:4px 12px;margin:12px 0}
.rt-items .red{color:var(--red)}
.rt-whys{margin-top:12px}
.rt-bar{display:grid;grid-template-columns:minmax(120px,220px) 1fr 30px;gap:10px;align-items:center;font-size:13.5px;padding:4px 0}
.rt-bar i{height:8px;background:var(--bg);border-radius:9px;overflow:hidden}.rt-bar i b{display:block;height:100%;background:var(--red);opacity:.7;border-radius:9px}
.rt-bar em{font-style:normal;text-align:right;color:var(--muted)}
/* Narxnoma: kategoriya guruhlari */
.lb-grp{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:8px;overflow:hidden}
.lb-gh{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-2);cursor:pointer;position:sticky;top:0;z-index:1}
.lb-gh input{width:19px;height:19px;accent-color:var(--ink-3);flex-shrink:0}
.lb-gh b{font-size:14.5px}.lb-gh em{font-style:normal;font-size:12.5px;color:var(--muted);background:var(--paper);border-radius:99px;padding:1px 8px}
.lb-gh .lb-gh-hint{margin-left:auto;font-size:12.5px;color:var(--ink-3);font-weight:600}
.lb-gh.on{background:var(--soft)}.lb-gh.on .lb-gh-hint{color:var(--ok)}
.lb-grp .cat-item{padding-left:24px}
.lb-selbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--soft);border-radius:var(--r-sm);padding:8px 12px;margin:8px 0;font-size:13.5px}
.lb-selbar span{color:var(--muted);flex:1;min-width:0}
/* Qayta baholash */
.rp-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;margin:0 12px}
@media(max-width:1100px){.rp-wrap{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1024px){.rp-wrap{margin:0}}
.rp-wrap .block{margin:0}
.rp-filters .block-head .link{margin-left:8px}
.rp-filters .search{margin:8px 0}
.rp-g{margin:10px 0 4px}.rp-g>small{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:4px}
.rp-g .chips{padding:0;flex-wrap:wrap;overflow:visible}
.rp-g .chip em{font-style:normal;font-size:11.5px;color:var(--muted);margin-left:2px}.rp-g .chip.on em{color:inherit;opacity:.75}
.rp-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:8px}
.rp-row .field{margin:0}
.rp-range{display:flex;align-items:center;gap:6px}.rp-range input{flex:1;min-width:0;padding:10px;border:1.5px solid var(--line);border-radius:var(--r-sm);font:inherit;background:var(--paper)}
.rp-exp{margin-top:10px}
.rp-m{margin:6px 0 10px}
.rp-val{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rp-val>input{width:110px;padding:11px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);font:inherit;font-size:18px;font-weight:700;background:var(--paper)}
.rp-val>span{font-weight:700;color:var(--muted)}
.rp-val .chips{padding:0;flex-wrap:wrap}
.rp-ex{margin:8px 0}
.rp-mm{width:64px;padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;margin:0 4px;background:var(--paper)}
.rp-sum{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 12px 0}
@media(min-width:1024px){.rp-sum{margin:12px 0 0}}
.rp-sum>div:not(.grow):not(.dd){background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 14px}
.rp-sum small{display:block;font-size:12px;color:var(--muted)}.rp-sum b{font-size:17px}.rp-sum span{font-size:12px;color:var(--muted);margin-left:4px}
.rp-sum .dd{min-width:200px}
.rp-tbl .cb{width:36px}.rp-tbl input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink-3)}
.rp-tbl tr.rp-off td{opacity:.5}
.rp-go{align-items:center;gap:12px;flex-wrap:wrap}
.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.danger:hover{background:#B02E25;border-color:#B02E25}.btn.danger:disabled{opacity:.45}
.exp-tags-row{margin-top:3px}.exp-tags-row .exp-tags{margin:0}

/* =========================================================
   ODDIY REJIM · TELEFON · KASSA (premium)
   ========================================================= */
body.ek-m #view.ek{padding-bottom:calc(var(--nav-h) + 110px)}
body.ek-m .ek-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 6px;margin:0}
body.ek-m .ek-title h1{font-size:30px;line-height:1.1;margin:0;letter-spacing:-.01em}
body.ek-m .ek-shift{display:inline-flex;align-items:center;gap:7px;margin-top:6px;padding:5px 12px 5px 10px;border-radius:99px;background:#E6F4EC;color:#1E6B45;font:inherit;font-size:14px;font-weight:600;border:0;cursor:pointer}
body.ek-m .ek-shift .dot-ok{width:8px;height:8px;border-radius:50%;background:#1E7F52;box-shadow:0 0 0 3px rgba(30,127,82,.18)}
body.ek-m .ek-head-r{display:flex;align-items:center;gap:8px;flex-shrink:0}
body.ek-m .ek-head-r .seller-btn{border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:4px 10px 4px 4px;height:46px}
body.ek-m .ek-head-r .seller-btn .seller-txt small,body.ek-m .ek-head-r .seller-btn>.ic{display:none}
body.ek-m .ek-help{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);font:inherit;font-size:20px;font-weight:800;color:var(--ink);cursor:pointer;box-shadow:var(--sh-xs)}
body.ek-m #view.ek>.px{padding:0 16px;margin-top:10px}
body.ek-m #view.ek>.px .seg{width:100%;display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:16px}
body.ek-m #view.ek>.px .seg button{min-height:48px;font-size:16px;border-radius:12px;justify-content:center}
body.ek-m .ek-pills{display:grid;gap:8px;margin:12px 16px 0}
body.ek-m .ek-pill{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid #F1E2A6;background:#FFF8DC;font:inherit;font-size:15.5px;font-weight:600;color:#6B4E00;text-align:left;cursor:pointer}
body.ek-m .ek-pill span{flex:1}
body.ek-m #view.ek>.search{margin:12px 16px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:0}
body.ek-m #view.ek>.search input{height:56px;font-size:17px;border-radius:16px;padding:0 16px;border:1.5px solid var(--line);background:var(--paper);box-shadow:var(--sh-xs)}
body.ek-m #view.ek>.search input:focus{border-color:var(--ink-3);box-shadow:var(--ring)}
body.ek-m #view.ek>.search .icon-btn{height:56px;min-width:56px;border-radius:16px;background:var(--ink);color:#fff;border:0;padding:0 16px;gap:8px;font-size:15px;font-weight:700}
body.ek-m #view.ek>#kcats{padding:12px 16px 4px;gap:8px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
body.ek-m #view.ek>#kcats .chip{height:44px;padding:0 18px;font-size:15.5px;border-radius:99px;flex-shrink:0}
/* kartochkalar */
body.ek-m .ek-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 16px 0}
@media(min-width:620px){body.ek-m .ek-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.ek-m .ek-card{position:relative;display:flex;flex-direction:column;gap:4px;min-height:196px;padding:12px 12px 12px;border-radius:20px;background:var(--paper);border:1.5px solid var(--line);box-shadow:0 1px 2px rgba(17,28,22,.04),0 6px 18px -10px rgba(17,28,22,.18);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .08s,border-color .15s,box-shadow .15s;min-width:0}
body.ek-m .ek-card:active{transform:scale(.98)}
body.ek-m .ek-card.in{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink),0 8px 20px -12px rgba(15,61,46,.45);background:linear-gradient(180deg,#F1F8F4 0%,var(--paper) 60%)}
body.ek-m .ek-card.out{opacity:.6}
body.ek-m .ek-c-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:4px}
body.ek-m .ek-ph,body.ek-m .ek-img{width:44px;height:44px;border-radius:14px;flex-shrink:0}
body.ek-m .ek-ph{display:grid;place-items:center;background:var(--soft);color:var(--ink-2);font-weight:800;font-size:19px}
body.ek-m .ek-img{object-fit:cover}
body.ek-m .ek-flags{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:0}
body.ek-m .ek-f{font-size:12px;font-weight:700;padding:3px 8px;border-radius:99px;white-space:nowrap;line-height:1.2}
body.ek-m .ek-f.red{background:var(--red-soft);color:var(--red)}body.ek-m .ek-f.amber{background:#FFF1C2;color:#7A5A00}body.ek-m .ek-f.grey{background:var(--bg-2);color:var(--muted)}
body.ek-m .ek-f.promo{background:var(--red);color:#fff}body.ek-m .ek-f.var{background:var(--soft);color:var(--ink-2)}
body.ek-m .ek-name{font-size:16.5px;font-weight:700;line-height:1.25;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;overflow-wrap:anywhere}
body.ek-m .ek-price{display:flex;flex-direction:column;margin-top:auto}
body.ek-m .ek-price s{font-size:13px;color:var(--muted)}
body.ek-m .ek-price b{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
body.ek-m .ek-stock{font-size:13.5px;color:var(--muted);font-weight:500}
body.ek-m .ek-stock.amber{color:#8A6300;font-weight:700}body.ek-m .ek-stock.red{color:var(--red);font-weight:700}
body.ek-m .ek-add{position:absolute;right:10px;bottom:10px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--mark);color:var(--ink);box-shadow:0 4px 10px -4px rgba(150,110,0,.55)}
body.ek-m .ek-card.out .ek-add{background:var(--bg-2);box-shadow:none;color:var(--muted)}
body.ek-m .ek-card .ek-stock{padding-right:50px}
body.ek-m .ek-q{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:4px;margin-top:8px;background:var(--ink);border-radius:14px;padding:3px}
body.ek-m .ek-q.one{grid-template-columns:1fr;text-align:center;padding:10px}
body.ek-m .ek-q b{color:#fff;text-align:center;font-size:17px;white-space:nowrap}.ek-q b small{font-weight:500;opacity:.8;font-size:12px}
body.ek-m .ek-q button{height:40px;border-radius:11px;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:24px;font-weight:700;cursor:pointer}
body.ek-m .ek-card.in .ek-stock{padding-right:0}
/* pastki chek paneli */
body.ek-m #cartbarSlot{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom));z-index:40}
body.ek-m .ek-bar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border:0;border-radius:20px;background:var(--ink);color:#fff;font:inherit;cursor:pointer;box-shadow:0 14px 34px -12px rgba(15,61,46,.6)}
body.ek-m .ek-bar-l{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
body.ek-m .ek-bar-l small{font-size:13.5px;opacity:.75}body.ek-m .ek-bar-l b{font-size:22px;letter-spacing:-.01em}
body.ek-m .ek-bar-go{display:inline-flex;align-items:center;gap:4px;height:52px;padding:0 16px 0 20px;border-radius:15px;background:var(--mark);color:var(--ink);font-weight:800;font-size:17px}
/* chek oynasi */
body.ek-m #sheet .cart-items{display:grid;gap:10px}
body.ek-m #sheet .eline{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--paper);display:grid;gap:8px}
body.ek-m #sheet .eline-top{display:flex;align-items:flex-start;gap:10px}
body.ek-m #sheet .eline-name{flex:1;font-size:17px;line-height:1.25}
body.ek-m #sheet .eline-del{width:40px;height:40px;border-radius:12px;border:1px solid #F2C4BE;background:#FFF6F4;color:var(--red);display:grid;place-items:center;flex-shrink:0}
body.ek-m #sheet .eline-price{color:var(--muted);font-size:14.5px;margin-top:-4px}
body.ek-m #sheet .u-sw.big{display:inline-flex;align-self:start;width:auto}
body.ek-m #sheet .eline-bottom{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px}
body.ek-m #sheet .eline-bottom .qty.big{display:grid;grid-template-columns:48px 64px 48px;gap:4px}
body.ek-m #sheet .eline-bottom .qty.big button{height:48px;border-radius:14px}
body.ek-m #sheet .eline-bottom .qty.big input{height:48px;font-size:19px;font-weight:800;text-align:center;border-radius:12px}
body.ek-m #sheet .eline-unit{color:var(--muted);font-size:14px}
body.ek-m #sheet .eline-sum{justify-self:end;font-size:18px;white-space:nowrap}
body.ek-m #sheet .adj-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
body.ek-m #sheet .adj-btn{height:46px;border-radius:14px;justify-content:center}
body.ek-m .page-head:not(.ek-head) .page-tour span{display:none}
body.ek-m .ek-add{position:static;width:auto;height:44px;margin-top:8px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:15.5px}
body.ek-m .ek-card .ek-stock{padding-right:0}
body.ek-m #sheet .cart-items{grid-template-columns:minmax(0,1fr)}
body.ek-m #sheet .eline{min-width:0}
body.ek-m #sheet .eline-bottom{grid-template-columns:auto minmax(0,1fr);row-gap:6px}
body.ek-m #sheet .eline-unit{display:none}
body.ek-m #sheet .eline-sum{text-align:right}
body.ek-m #sheet .u-sw.big{max-width:100%;overflow-x:auto}
body.ek-m #sheet .eline-bottom .qty.big{grid-template-columns:44px 54px 44px;width:auto}
body.ek-m #sheet .eline-bottom .qty.big button{width:44px;min-width:0;height:46px;padding:0}
body.ek-m #sheet .eline-bottom .qty.big input{width:54px;min-width:0;height:46px;padding:0}
body.ek-m #sheet .eline-sum{font-size:17px}
body.ek-m #sheet .eline-top,body.ek-m #sheet .eline-price,body.ek-m #sheet .u-sw.big{min-width:0}
@media(max-width:380px){body.ek-m #sheet .eline-bottom .qty.big{grid-template-columns:40px 46px 40px}body.ek-m #sheet .eline-bottom .qty.big button{width:40px}body.ek-m #sheet .eline-bottom .qty.big input{width:46px}body.ek-m #sheet .eline-sum{font-size:16px}}
/* ---------- Ekspeditor ilovasi bilan bog'lanish ---------- */
.ex-line{font-size:12.5px;color:var(--muted);margin:8px 0 2px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.ex-line .ic{vertical-align:-2px}
.ex-qr{margin:12px 0}
.ex-drv{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:14px;padding:4px 12px;margin-top:4px}
.ex-drv .row{display:flex;align-items:center;gap:10px;padding:8px 0}
.ex-drv .row+.row{border-top:1px solid var(--line)}
.av-s{width:34px;height:34px;border-radius:10px;background:var(--soft,#E9F2ED);display:grid;place-items:center;font-weight:800;font-size:13px;flex-shrink:0}
.kv-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:2px 14px;margin:8px 0 10px}
.kv-list .row{display:flex;align-items:center;gap:10px;padding:10px 0}
.kv-list .row+.row{border-top:1px solid var(--line)}
/* ---------- Distribyutsiya: ombor holati, qabul, bron ---------- */
.wh-panel,.wh-pend,.wh-cash{margin:14px 0 0}
.kv-list .right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.wh-tbl td,.wh-tbl th{white-space:nowrap}
.wh-pend .row,.wh-cash .row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.wh-acc{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:0 14px;margin:8px 0}
.wh-row{display:grid;grid-template-columns:minmax(0,1fr) 92px auto;gap:10px;align-items:center;padding:12px 0}
.wh-row+.wh-row{border-top:1px solid var(--line)}
.wh-row .wh-q{height:40px;text-align:center;font-weight:700}
.wh-c.seg button{padding:0 10px;font-size:13px;height:34px}
.wh-line{background:var(--soft,#E9F2ED);border-radius:12px;padding:8px 12px;font-size:13.5px;margin:6px 0 10px}
@media (max-width:600px){.wh-row{grid-template-columns:minmax(0,1fr) 80px}.wh-row .wh-c{grid-column:1/-1}.wh-panel,.wh-pend,.wh-cash{margin:12px 0 0}.wh-pend .row,.wh-cash .row{flex-wrap:wrap}.wh-pend .row .grow,.wh-cash .row .grow{flex-basis:100%}}
/* ---- platform inbox ---- */
/* Platforma (superadmin) bilan bog'lanish: xabarlar qutisi, e'lon banneri, NPS, promokod, bloklash sababi, faqat ko'rish rejimi */
.inbox-btn{position:relative}
.inbox-btn .badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--red,#C0392B);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;font-style:normal}
.more-item .badge{position:absolute;top:8px;right:10px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red,#C0392B);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;font-style:normal}
.more-item{position:relative}
.inbox-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line);cursor:pointer}
.inbox-item:first-of-type{border-top:0}
.inbox-item p{margin:3px 0 4px;font-size:14px;line-height:1.45;white-space:pre-wrap}
.inbox-item.unread b{color:var(--ink)}
.inbox-item .dot-unread{flex-shrink:0;margin-top:6px}
.ann-banner span b{display:block;margin-bottom:2px}
.nps-banner{align-items:flex-start}
.nps-banner .grow{display:flex;flex-direction:column;gap:6px}
.nps-scale{display:flex;flex-wrap:wrap;gap:4px}
.nps-n{min-width:34px;height:34px;border-radius:9px;border:1.5px solid var(--line);background:var(--paper,#fff);font-weight:700;cursor:pointer}
.nps-n:hover{border-color:var(--ink);background:var(--soft,#E9F2ED)}
.promo-field .suffix{display:flex;gap:8px;align-items:center}
.promo-field .suffix input{flex:1;min-width:0}
.promo-field .promo-msg{display:block;margin-top:6px;font-size:12.5px}
.promo-field .promo-msg.ok{color:var(--ok,#2E7A5E)}
.plan-req{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.biz-decided{align-items:flex-start}
.biz-decided span{flex:1}
.biz-decided.approved{border-color:var(--ok,#2E7A5E)}
.biz-decided.rejected{border-color:var(--red,#C0392B)}
.blk-reason{color:var(--red,#C0392B)}
.imp-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:8px;padding:8px 16px;background:#7A4B00;color:#fff;font-size:13.5px}
.imp-bar.rw{background:#16263A}
.imp-bar b{font-weight:800}
.imp-bar .ic{flex-shrink:0}
body.imp-ro .btn.mark-bg,body.imp-ro [data-a$="Save"],body.imp-ro [data-a^="save"],body.imp-ro [data-a="paySubGo"],body.imp-ro [data-a="sendTicket"],body.imp-ro [data-a="bizReqSend"]{pointer-events:none;opacity:.55;filter:grayscale(.4)}
body.imp-ro .is-blocked .btn{pointer-events:none}

/* =========================================================
   Inventarizatsiya: tarix va tafsilot (2-oktabr)
   ========================================================= */
button.cnt-row{width:100%;text-align:left;background:none;color:inherit;font:inherit;cursor:pointer;border-radius:0}
button.cnt-row:first-of-type{border-top:0}
button.cnt-row:hover .title{text-decoration:underline}
button.cnt-row:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-sm)}
.cnt-row .grow{display:block;min-width:0}
.cnt-row .title,.cnt-row .sub{display:block}
.cnt-row .right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.cnt-row>svg{flex:none;color:var(--muted)}
.cnt-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--bg-2);color:var(--muted)}
.cnt-ic.bad{background:var(--red-soft);color:var(--red)}
.cnt-ic.plus{background:#E0EAF7;color:#2B5A8A}
.cnt-ic.ok{background:var(--soft);color:var(--ok)}
.kv.cnt-kv{grid-template-columns:repeat(2,minmax(0,1fr))}
.cnt-kv b{display:block;font-size:17px;line-height:1.25;overflow-wrap:anywhere}
.cnt-net{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border-radius:var(--r-sm);background:var(--bg-2);font-weight:600}
.cnt-net b{font-size:18px;white-space:nowrap}
.cnt-net.bad{background:var(--red-soft)}.cnt-net.bad b{color:var(--red)}
.cnt-net.plus{background:var(--soft)}.cnt-net.plus b{color:var(--ok)}
.cnt-note{display:flex;gap:6px;align-items:flex-start;margin-top:10px}
.cnt-note svg{flex:none;margin-top:2px}
.cnt-tools{margin-top:16px;display:grid;gap:10px}
.cnt-tools .chips{padding:0;flex-wrap:wrap;overflow:visible}
.cnt-tools .search{margin:0}
.cnt-tools .search input{border-radius:var(--r-sm);padding:10px 14px}
.cnt-tools .chip{padding:7px 12px;font-size:13.5px}
.cnt-n{opacity:.6;font-weight:700;margin-left:2px}
#cntBody{margin-top:10px}
.cnt-tbl td .sub{font-size:12.5px;color:var(--muted)}
.cnt-tbl tfoot td{border-top:2px solid var(--line);background:var(--bg-2)}
.cnt-tbl td.red{color:var(--red)}.cnt-tbl td.ok{color:var(--ok)}
.cnt-narrow{display:none}
.cnt-empty{padding:18px 0;text-align:center}
#sheet .tbl-wrap.flat .cnt-tbl{min-width:0;width:100%}
@media (max-width:640px){
  .cnt-wide{display:none}
  .cnt-narrow{display:block}
  .cnt-row .right{font-size:13.5px}
  .cnt-tools .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -4px;padding:0 4px}
  .cnt-tools .chips::-webkit-scrollbar{display:none}
  .cnt-tbl td:first-child{overflow-wrap:anywhere}
}
#countDoc{display:none}
@media print{
  body.print-count>*:not(#countDoc){display:none!important}
  body.print-count{background:#fff!important}
  body.print-count #countDoc{display:block;color:#000;font-size:12px;padding:0}
  #countDoc .cd-top{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid #000;padding-bottom:6px}
  #countDoc h1{font-size:18px;margin:14px 0 4px}
  #countDoc p{margin:0 0 12px;color:#333}
  #countDoc .tbl-wrap{border:0;margin:0;overflow:visible}
  #countDoc table{width:100%;border-collapse:collapse;min-width:0}
  #countDoc .cnt-tbl th,#countDoc .cnt-tbl td{border:1px solid #999;padding:5px 7px;font-size:11.5px;display:table-cell}
  #countDoc .cnt-tbl td .sub{font-size:10px;color:#555}
  #countDoc .tag{background:none;padding:0;color:#555}
  #countDoc tr{break-inside:avoid}
  #countDoc .cd-sum{width:auto;margin:14px 0 0 auto}
  #countDoc .cd-sum td{padding:3px 0 3px 24px;text-align:right}
  #countDoc .cd-sign{display:flex;justify-content:space-between;gap:16px;margin-top:40px;font-size:12px}
}

/* =========================================================
   Import va eksport (3-oktabr): ko'chirish ustasi, 1C, marketpleyslar
   ========================================================= */
.xi-steps{display:flex;gap:6px;list-style:none;margin:14px 0 18px;padding:0}
.xi-steps li{flex:1;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--r-sm);background:var(--bg-2);color:var(--muted);font-size:13.5px;font-weight:600;min-width:0}
.xi-steps li i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;background:var(--line);color:var(--muted)}
.xi-steps li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xi-steps li.on{background:var(--ink);color:#fff}
.xi-steps li.on i{background:var(--mark);color:var(--ink)}
.xi-steps li.done{color:var(--ink)}
.xi-steps li.done i{background:var(--soft);color:var(--ok)}
.xi-kind{margin-bottom:12px}
.xi-hint{margin-bottom:2px}
.upload.over{border-color:var(--ink-3);background:var(--soft)}
#sheet .banner{margin:12px 0 0}
.xi-undo .btn{margin-left:auto}
.xi-map{display:grid;gap:8px;margin-top:14px}
.xi-map-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.9fr);gap:12px;align-items:center}
.xi-map-l{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.xi-map-l b{font-size:15px}
.xi-map-ex{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.kv.xi-kv{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:6px}
.kv.xi-kv.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.xi-kv b{display:block;font-size:20px;line-height:1.2}
.xi-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.xi-opts .field{margin:0}
.chips.xi-f{padding:14px 0 10px;flex-wrap:wrap;overflow:visible}
.xi-tbl{max-height:340px;overflow:auto}
.xi-tbl thead th{position:sticky;top:0;background:var(--paper);z-index:1}
#sheet .xi-tbl .tbl{min-width:0;width:100%}
.xi-tbl .sub.warn-t{color:#8A6100}
.xi-done{display:flex;align-items:center;gap:12px;margin:6px 0 14px}
.xi-done svg{flex:none;width:44px;height:44px;padding:9px;border-radius:50%;background:var(--soft);color:var(--ok)}
.xi-done.bad svg{background:var(--red-soft);color:var(--red)}
.xi-done h3{margin:0}
.x1-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.x1-grid .field{margin:0}
.x1-dates{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.x1-per{margin-top:10px}
.x1-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.x1-part{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;min-width:0}
.x1-part input,.xm-tbl input[type=checkbox],.xm-only input{width:18px;height:18px;accent-color:var(--ink);flex:none}
.x1-part span{min-width:0}
.x1-part b{display:block;font-size:14.5px;line-height:1.25}
.x1-part small{color:var(--muted);font-size:12.5px}
.x1-part:has(input:checked){border-color:var(--ink-3);background:var(--bg-2)}
.x-help{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.x-help summary{cursor:pointer;font-weight:600;font-size:14.5px;color:var(--ink-3)}
.x-help .steps{margin-top:10px}
.x-help .field{margin-top:12px}
.xm-seg{margin-top:12px}
.xm-lead{margin-top:12px}
.xm-set{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.xm-set .field{margin:0}
.xm-set .field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xm-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.xm-tools .search{margin:0;flex:1 1 220px}
.xm-tools .search input{border-radius:var(--r-sm);padding:10px 14px}
.xm-tools .dd{flex:0 1 220px}
.xm-only{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}
.xm-count{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--ink-3);white-space:nowrap}
#xmBody{margin-top:10px}
#xmBody .tbl-wrap{max-height:340px;overflow:auto}
#xmBody thead th{position:sticky;top:0;background:var(--paper);z-index:1}
#sheet .xm-tbl{min-width:0;width:100%}
.xm-tbl .xm-c{width:38px;padding-right:0}
.xm-tbl tr.on td{background:var(--bg-2)}
.xm-sku{width:168px;max-width:100%;border:1.5px solid var(--line);border-radius:8px;padding:6px 8px;font-size:13.5px;background:var(--paper)}
.xm-sku:focus{outline:none;border-color:var(--ink-3)}
.xm-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:10px}
.xm-cats label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}
.xm-cats span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xm-cats input{width:110px;flex:none;border:1.5px solid var(--line);border-radius:8px;padding:6px 8px;font-size:14px}
.xm-act{margin-top:14px}
.xm-act .btn{white-space:normal;line-height:1.2;text-align:center;flex-wrap:nowrap;min-height:52px;height:auto;padding-top:8px;padding-bottom:8px}
.xm-act .btn svg{flex:none}
label.btn.xm-up{cursor:pointer}
.xm-act .btn:disabled{opacity:.45}
@media (max-width:640px){
  .xi-steps li span{display:none}
  .xi-steps li{justify-content:center}
  .xi-steps li.on span{display:inline}
  .xi-map-row{grid-template-columns:minmax(0,1fr);gap:4px;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .kv.xi-kv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv.xi-kv.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .xi-opts,.x1-grid,.x1-parts,.xm-cats{grid-template-columns:minmax(0,1fr)}
  .xm-set{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xm-set .field label{white-space:normal}
  .xm-wide{display:none}
  #sheet .xm-tbl th{white-space:normal;line-height:1.2}
  #sheet .xm-tbl th,#sheet .xm-tbl td{padding-left:7px;padding-right:7px}
  #sheet .xm-tbl td.num{white-space:nowrap}
  #sheet .xm-tbl td:nth-child(2){overflow-wrap:anywhere}
  .xm-count{margin-left:0}
}

/* =========================================================
   Onlayn do'kon (3-oktabr): buyurtmalar, tovarlar, dizayn, sozlamalar
   ========================================================= */
.es-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}
.es-kpi .big-num{overflow-wrap:anywhere}
.es-row .right{align-items:flex-end}
.es-empty{padding:26px 4px;text-align:center}
.es-addr{display:flex;gap:8px;align-items:flex-start;margin-top:10px}
.es-addr svg{flex:none;margin-top:2px;color:var(--muted)}
.es-items{margin-top:14px}
#sheet .es-items .tbl{min-width:0;width:100%}
.es-items tfoot td{background:var(--bg-2);border-top:1px solid var(--line)}
.es-hist{display:grid;gap:3px;margin-top:16px;font-size:12.5px;color:var(--muted)}
.es-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.es-tools .search{margin:0;flex:1 1 220px;max-width:420px}
.es-tools .dd{flex:0 1 230px}
.es-tbl tr.on td{background:var(--bg-2)}
.es-p{display:flex;align-items:center;gap:12px;min-width:0}
.es-th{flex:none;width:42px;height:42px;border-radius:10px;background:var(--bg-2);display:grid;place-items:center;color:var(--muted);overflow:hidden;font-weight:800}
.es-th img{width:100%;height:100%;object-fit:cover}
.es-th.big{width:54px;height:54px;border-radius:14px;background:var(--mark);color:var(--ink);font-size:20px}
.es-star{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#B9C4BD}
.es-star.on{color:#C99A00}
.es-star.on svg{fill:var(--mark)}
.es-img{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:start;margin:14px 0}
.es-img-b{aspect-ratio:1/1;border-radius:var(--r);background:var(--bg-2);border:1.5px dashed var(--line);display:grid;place-items:center;overflow:hidden;text-align:center;padding:6px}
.es-img-b img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--r) - 6px)}
.es-img-a{display:grid;gap:8px;justify-items:start}
.es-img-a label.btn{cursor:pointer}
.es-design{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:20px;align-items:start;padding:0 12px}
.es-design .set-card:first-child{margin-top:12px}
.es-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.es-theme{display:grid;gap:3px;text-align:left;padding:8px 8px 10px;border-radius:var(--r);border:2px solid var(--line);background:var(--paper)}
.es-theme.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--mark)}
.es-theme b{font-size:15px;margin-top:6px;padding:0 4px}
.es-theme small{color:var(--muted);font-size:12.5px;line-height:1.3;padding:0 4px}
/* mavzuning kichik ko'rinishi: asosiy rang (--tm-acc) JS orqali beriladi, qolgani shu yerda */
.es-tm{display:block;height:128px;border-radius:9px;overflow:hidden;position:relative;border:1px solid rgba(0,0,0,.08);background:#fff}
.es-tm i{display:block}
.es-tm .tm-h,.es-tm .tm-t,.es-tm .tm-s,.es-tm .tm-b,.es-tm .tm-v,.es-tm .tm-g{position:absolute}
.es-tm .tm-h{left:0;right:0;top:0;height:66px}
.es-tm .tm-t{left:10px;top:17px;width:38%;height:7px;border-radius:2px}
.es-tm .tm-s{left:10px;top:30px;width:26%;height:4px;border-radius:2px;opacity:.5}
.es-tm .tm-b{left:10px;top:42px;width:30px;height:11px;border-radius:3px}
.es-tm .tm-v{right:10px;top:10px;width:42%;height:50px}
.es-tm .tm-v i{position:absolute}
.es-tm .tm-g{left:10px;right:10px;top:76px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.es-tm .tm-g i{height:44px;position:relative}
[data-tm=usta]{background:#F2F4EE}
[data-tm=usta] .tm-h{background:var(--tm-acc);border-bottom:5px solid #FFD23F}
[data-tm=usta] .tm-t,[data-tm=usta] .tm-s{background:#fff}
[data-tm=usta] .tm-t{height:9px;border-radius:1px}
[data-tm=usta] .tm-b{background:#FFD23F}
[data-tm=usta] .tm-v i{width:28%;height:34px;border-radius:3px;background:#fff}
[data-tm=usta] .tm-v i:nth-child(1){left:0;top:0}
[data-tm=usta] .tm-v i:nth-child(2){left:36%;top:7px}
[data-tm=usta] .tm-v i:nth-child(3){left:72%;top:14px}
[data-tm=usta] .tm-g i{background:#fff;border-radius:3px;box-shadow:inset 0 0 0 1px #D6DCD1}
[data-tm=usta] .tm-v i::after,[data-tm=usta] .tm-g i::after{content:'';position:absolute;left:3px;bottom:4px;width:60%;height:5px;background:#FFD23F}
[data-tm=nafis]{background:#FBFAF8}
[data-tm=nafis] .tm-h{background:color-mix(in srgb,var(--tm-acc) 8%,#FBFAF8)}
[data-tm=nafis] .tm-t,[data-tm=nafis] .tm-s{background:#221C1B}
[data-tm=nafis] .tm-t{height:5px;width:34%}
[data-tm=nafis] .tm-b{background:var(--tm-acc);border-radius:0}
[data-tm=nafis] .tm-v i{border-radius:99px 99px 0 0}
[data-tm=nafis] .tm-v i:nth-child(1){right:0;top:0;width:52%;height:50px;background:#EFDFDA}
[data-tm=nafis] .tm-v i:nth-child(2){left:6%;top:20px;width:32%;height:30px;background:#DEE4D8}
[data-tm=nafis] .tm-v i:nth-child(3){display:none}
[data-tm=nafis] .tm-g i{border-radius:99px 99px 0 0;background:#EFDFDA}
[data-tm=nafis] .tm-g i:nth-child(2){background:#DEE4D8}
[data-tm=nafis] .tm-g i:nth-child(3){background:#ECE4D4}
[data-tm=nafis] .tm-g i:nth-child(4){background:#DAE3E6}
[data-tm=bozor] .tm-h{left:8px;right:auto;top:8px;width:50%;height:54px;border-radius:12px;background:#FFE27A}
[data-tm=bozor] .tm-t,[data-tm=bozor] .tm-s{background:#2B2200;left:16px}
[data-tm=bozor] .tm-t{width:30%;top:19px}
[data-tm=bozor] .tm-s{top:31px;width:22%}
[data-tm=bozor] .tm-b{left:16px;top:42px;background:#18241C;border-radius:99px;width:26px;height:10px}
[data-tm=bozor] .tm-v{top:8px;right:8px;width:calc(50% - 22px);height:54px}
[data-tm=bozor] .tm-v i{border-radius:11px}
[data-tm=bozor] .tm-v i:nth-child(1){left:0;top:0;width:48%;height:100%;background:#FFE4CE}
[data-tm=bozor] .tm-v i:nth-child(2){right:0;top:0;width:46%;height:25px;background:#DAF4DD}
[data-tm=bozor] .tm-v i:nth-child(3){right:0;bottom:0;width:46%;height:25px;background:#FFDAD6}
[data-tm=bozor] .tm-g{top:72px}
[data-tm=bozor] .tm-g i{border-radius:11px;background:#FFE4CE;height:48px}
[data-tm=bozor] .tm-g i:nth-child(2){background:#DAF4DD}
[data-tm=bozor] .tm-g i:nth-child(3){background:#DCEAFF}
[data-tm=bozor] .tm-g i:nth-child(4){background:#EADFFF}
[data-tm=bozor] .tm-g i::after{content:'';position:absolute;right:4px;bottom:4px;width:11px;height:11px;border-radius:50%;background:#1FA65A;box-shadow:0 0 0 2px #fff}
[data-tm=bozor] .tm-g i:first-child::after{background:var(--tm-acc)}
[data-tm=tun]{background:#0C1122}
[data-tm=tun] .tm-h{background:radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--tm-acc) 34%,transparent),transparent 62%)}
[data-tm=tun] .tm-t{background:#EEF1FA;height:8px}
[data-tm=tun] .tm-s{background:#9AA4C2;opacity:1}
[data-tm=tun] .tm-b{background:var(--tm-acc)}
[data-tm=tun] .tm-v i,[data-tm=tun] .tm-g i{border-radius:6px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--tm-acc) 38%,#141A30),#141A30 70%);box-shadow:inset 0 0 0 1px #27304F}
[data-tm=tun] .tm-v i:nth-child(1){left:0;top:0;width:60%;height:100%}
[data-tm=tun] .tm-v i:nth-child(2){right:0;top:0;width:34%;height:23px}
[data-tm=tun] .tm-v i:nth-child(3){right:0;bottom:0;width:34%;height:23px}
[data-tm=tun] .tm-g i::after{content:'';position:absolute;left:4px;right:4px;bottom:4px;height:6px;border-radius:2px;background:color-mix(in srgb,var(--tm-acc) 24%,#141A30);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tm-acc) 55%,transparent)}
[data-tm=katalog] .tm-h{height:34px;background:#F4F6F8;border-bottom:1px solid #E0E4EA}
[data-tm=katalog] .tm-t{background:#10151C;top:10px;height:6px;width:34%}
[data-tm=katalog] .tm-s{background:#10151C;top:21px}
[data-tm=katalog] .tm-b{left:auto;right:10px;top:11px;height:12px;background:#fff;box-shadow:inset 0 0 0 1px #E0E4EA}
[data-tm=katalog] .tm-v{left:10px;right:auto;top:44px;width:22%;height:74px}
[data-tm=katalog] .tm-v i{left:0;width:100%;height:9px;border-radius:2px;background:#F4F6F8}
[data-tm=katalog] .tm-v i:nth-child(1){top:0;box-shadow:inset 2px 0 0 var(--tm-acc)}
[data-tm=katalog] .tm-v i:nth-child(2){top:14px;width:80%}
[data-tm=katalog] .tm-v i:nth-child(3){top:28px;width:90%}
[data-tm=katalog] .tm-g{left:calc(22% + 20px);top:44px;grid-template-columns:1fr;gap:0;border:1px solid #E0E4EA;border-radius:4px}
[data-tm=katalog] .tm-g i{height:18px;border-top:1px solid #E0E4EA}
[data-tm=katalog] .tm-g i:first-child{border-top:0;background:#F4F6F8}
[data-tm=katalog] .tm-g i::before{content:'';position:absolute;left:6px;top:7px;width:40%;height:4px;border-radius:2px;background:#10151C;opacity:.55}
[data-tm=katalog] .tm-g i:not(:first-child)::after{content:'';position:absolute;right:5px;top:5px;width:18px;height:8px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--tm-acc)}
.es-pv-l{display:inline-flex;gap:16px;flex-wrap:wrap}
.es-sw{display:flex;gap:10px;flex-wrap:wrap}
.es-c{width:40px;height:40px;border-radius:50%;border:3px solid var(--paper);box-shadow:0 0 0 1.5px var(--line)}
.es-c.on{box-shadow:0 0 0 3px var(--ink)}
.es-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.es-logo label.btn{cursor:pointer}
.es-d-r{position:sticky;top:12px;margin-top:12px}
.es-pv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.es-pv{background:var(--paper);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.es-pv.es-ph{width:min(390px,100%);margin:0 auto;border:8px solid #0B241C;border-radius:38px}
.es-pv iframe{display:block;width:100%;height:700px;border:0;background:#fff}
.es-pv.es-dk{position:relative}
.es-pv.es-dk iframe{width:1280px;height:900px;transform-origin:0 0}
.es-set{max-width:760px;padding:0 12px}
.es-num{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}
@media (max-width:1023px){
  .es-design{grid-template-columns:minmax(0,1fr)}
  .es-d-r{position:static}
  .es-pv iframe{height:620px}
}
@media (max-width:640px){
  .es-kpi{grid-template-columns:minmax(0,1fr)}
  .es-img{grid-template-columns:110px minmax(0,1fr)}
  .es-num{grid-template-columns:minmax(0,1fr)}
  .es-tbl th:nth-child(3),.es-tbl td:nth-child(3),.es-tbl th:nth-child(5),.es-tbl td:nth-child(5){display:none}
  .es-tbl{min-width:0!important}
  .es-tbl td,.es-tbl th{padding-left:8px;padding-right:8px}
  .es-p .es-th{display:none}
  .es-ed span{display:none}
  .es-ed{padding:0 10px}
  .es-tbl td:last-child{width:52px}
}

/* =========================================================
   UI SAYQAL (oktabr 2026)
   ========================================================= */
/* Barcha matn maydonlari bir xil, toza ko'rinishda. :where() — ustuvorligi 0:
   maxsus bezatilgan maydonlar (PIN, kod, pul, qidiruv paneli...) o'z uslubida qoladi */
:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden],[type=button],[type=submit],[type=reset],[type=image]),textarea,select){
  font:inherit;font-size:15px;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm,10px);
  padding:11px 14px;min-height:44px;box-sizing:border-box;box-shadow:var(--sh-xs,none);transition:border-color .15s,box-shadow .15s}
:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden]),textarea,select):hover{border-color:#C9D2CC}
:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden]),textarea,select):focus{outline:none;border-color:var(--ink-3);box-shadow:0 0 0 3px rgba(46,122,94,.16)}
:where(input,textarea)::placeholder{color:var(--muted);opacity:.7}
.search input:focus,.ctl:focus,.field input:focus,.field textarea:focus,.inline-form input:focus{box-shadow:0 0 0 3px rgba(46,122,94,.16)}

/* 1. Bildirishnoma (toast): yuqori markazda — belgi, yumshoq soya, silliq tushish */
.toast{top:calc(env(safe-area-inset-top,0px) + 16px);transform:translate(-50%,calc(-100% - 24px));opacity:0;pointer-events:none;
  background:rgba(17,25,21,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#F4F7F5;border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:10px 18px 10px 10px;min-width:260px;max-width:min(480px,calc(100vw - 32px));text-align:left;
  display:flex;align-items:center;gap:12px;font-weight:600;font-size:14.5px;line-height:1.35;z-index:140;
  box-shadow:0 18px 40px rgba(8,18,13,.28),0 3px 10px rgba(8,18,13,.18);transition:transform .38s cubic-bezier(.2,.9,.25,1.15),opacity .25s}
.toast.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.toast .t-ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:rgba(52,199,123,.18);color:#5BE3A0}
.toast.t-warn .t-ic{background:rgba(255,190,40,.18);color:#FFCD57}
.toast.t-err .t-ic{background:rgba(240,90,80,.2);color:#FF8F86}
.toast.t-info .t-ic{background:rgba(120,170,255,.18);color:#A9C8FF}
.toast .t-msg{flex:1;min-width:0}
.toast.has-undo{padding:8px 8px 8px 10px}

/* 2. Kunlar (aksiya jadvali) va boshqa belgili chiplar: belgi va matn orasida bo'shliq */
label.chip:has(> input[type=checkbox]),label.chip:has(> input[type=radio]){display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.mk-days{display:flex;flex-wrap:wrap;gap:8px}
.mk-days label.chip{padding:8px 14px 8px 10px;margin:0}
.mk-days label.chip:has(input:checked){background:var(--soft);border-color:var(--ink-3);color:var(--ink)}

/* 3. Hisobot → Shubhali amal qoidalari: matn chetga yopishmasin */
.set-card.au-rules{padding-left:18px;padding-right:18px}
@media (min-width:1024px){.set-card.au-rules{padding-left:24px;padding-right:24px}}

/* 9. "Filialingizga yo'lda" banneri va pastdagi qidiruv orasida joy */
.banner.cd-banner{margin:12px 0 16px}

/* 12. Kartadan keyingi filtr/asboblar qatori (Ta'minotchilar → Buyurtmalar va h.k.) */
.block + .toolbar,.summary-block + .toolbar,section + .toolbar.px{margin-top:16px}

/* 10. Yangi ko'chirish: tovar qidiruvi va tanlash ro'yxati */
.tr-find input{width:100%}
.tr-find .icon-btn{flex-shrink:0;width:48px;height:auto;min-height:44px}
.tr-found{border:1px solid var(--line);border-radius:12px;max-height:320px;overflow:auto;margin:8px 0 4px;background:var(--paper);box-shadow:var(--sh-xs,none)}
.tr-found .row{padding:10px 14px;border-radius:0}
.tr-found .row + .row{border-top:1px solid var(--line-2,var(--line))}
.tr-found .tr-more{padding:8px 14px;font-size:12.5px;color:var(--muted)}
.tr-line input{max-width:120px;text-align:right}

/* 15. Bosiladigan qatorlar va elementlar: kursor va hover */
[data-a]:not(input):not(select):not(textarea):not(label){cursor:pointer}
.row.tap{transition:background .15s}
.row.tap:hover{background:var(--bg-2)}
.py-row{border-radius:12px;padding-left:10px;padding-right:10px}
.py-row:hover{background:var(--bg-2);box-shadow:inset 3px 0 0 var(--ink-3)}
.py-row::after{content:'›';font-size:22px;line-height:1;color:var(--muted);margin-left:4px;transition:transform .15s}
.py-row:hover::after{transform:translateX(3px);color:var(--ink-3)}

/* 7. Valyuta kursi va ovoz sozlamasi */
.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:4px 0 12px}
.fx-cell{display:flex;flex-direction:column;gap:6px}
.fx-cell small{color:var(--muted);font-weight:600}
.fx-in{position:relative;display:block}
.fx-in input{width:100%;padding-right:52px}
.fx-in em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);font-size:13px}
.fx-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.row-inline{display:inline-flex;align-items:center;gap:10px}
.pu-cur{margin-top:4px}.pu-cur small{display:block;margin-top:-4px;margin-bottom:8px}
.pu-cur select{width:100%}

/* 14. API yo'riqnomalari */
.api-guide .guide-steps{margin:0;padding-left:20px;display:grid;gap:8px;line-height:1.5}
.api-guide .guide-steps li::marker{color:var(--ink-3);font-weight:800}
.api-guide .hint{margin-top:12px}

/* ---------- AI (OpenAI) bloklari ---------- */
.ai-head-act{display:inline-flex;gap:14px;align-items:center}
.ai-sub{margin:12px 0 6px;padding-top:10px;border-top:1px dashed var(--line,#e5e7eb);font-size:12px}
.ai-list li.lv-warn>span>b{color:var(--warn,#b45309)}
.ai-list li.lv-bad>span>b{color:var(--red,#dc2626)}
.ai-list li.lv-ok>span>b{color:var(--ok,#15803d)}
.msg.ai p{margin:0 0 6px}.msg.ai p:last-child{margin-bottom:0}
.ai-md{margin:4px 0 6px;padding-left:18px}.ai-md li{margin:2px 0}
.ai-hint .link[data-a="aiProdAsk"],[data-a="aiRmWrite"],[data-a="mkAiIdeas"],[data-a="kpiAi"]{display:inline-flex;align-items:center;gap:6px;margin-top:8px}
#ai-ins-box .btn{margin-top:10px}
.link .typing,.btn .typing{display:inline-flex;transform:scale(.7)}

/* metrikalar → filtr qatori → jadval: bloklar bir-biriga yopishmasin */
.metrics + .toolbar, .metrics + .chips, .metrics + .ds-bar { margin-top: 18px; }
.toolbar + .tbl-wrap, .ds-bar + .tbl-wrap { margin-top: 14px; }

/* ogohlantirish bloki (oynalar ichida): sarlavha + sabablar ro'yxati */
.warn-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 14px;border-radius:12px;background:#FFF8E1;color:#5C4A00;font-size:14px;line-height:1.45}
.warn-box > svg,.warn-box .wb-ic{flex:none;color:#B7791F;margin-top:1px}
.warn-box ul{margin:4px 0 0;padding-left:18px}.warn-box li{margin:2px 0}
.sheet-close + .warn-box,.grab + .sheet-close + .warn-box{margin-right:52px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .warn-box{background:rgba(242,201,76,.12);color:#F5E3A3}}
:root[data-theme="dark"] .warn-box{background:rgba(242,201,76,.12);color:#F5E3A3}

.drv-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 var(--px, 0) 6px}

/* Leaflet xaritasi: ichki qatlamlari (z-index 400–1000) shu konteyner ichida qolsin — oyna, menyu va sheet ustiga chiqmasin */
.leaflet-container{position:relative;z-index:0;isolation:isolate}

/* xabarlar: oyna (oxirgi 5 ta) va «Xabarlar» sahifasi */
.inbox-page{padding:6px 0}
.inbox-page .inbox-item{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-bottom:1px solid var(--line,#eee);cursor:pointer}
.inbox-page .inbox-item:last-child{border-bottom:0}
.inbox-page .inbox-item:hover{background:var(--bg2,rgba(0,0,0,.025))}
.inbox-page .inbox-item p{margin:4px 0 6px}
.inbox-page .ib-ic{flex:none;color:var(--mark,#C9A227);margin-top:2px}

/* filtr chiplaridagi son: qiya emas, oddiy qalin raqam (barcha sahifalar) */
.chip em{font-style:normal;font-weight:700;margin-left:4px;opacity:.75;font-variant-numeric:tabular-nums}
.chip.on em{opacity:.9}

.ag-np-map{height:220px;border-radius:12px;overflow:hidden;margin:12px 0 6px}
.ag-inbox .row .grow.tap{cursor:pointer}

/* agent katalogi */
.ag-cat{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px;font-size:14px}
.warn-box.px-m{margin-left:var(--px,16px);margin-right:var(--px,16px)}
.dist-flag{margin:8px 0 4px;gap:12px}.dist-flag small{display:block}
.ac-list{max-height:46vh;overflow:auto}

.ac-picked{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.ac-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 10px;border-radius:999px;background:var(--bg2,rgba(0,0,0,.05));font-size:13px}
.ac-chip button{border:0;background:none;cursor:pointer;width:22px;height:22px;border-radius:50%;font-size:16px;line-height:1;color:var(--muted,#888)}
.ac-chip button:hover{background:rgba(0,0,0,.08);color:inherit}
.ac-search{margin:8px 0}

/* reys: yurilgan yo'l (GPS) */
.trk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0}
.trk-stats > div{background:var(--bg2,rgba(0,0,0,.04));border-radius:12px;padding:10px 12px}
.trk-stats small{display:block;color:var(--muted);font-size:12px}.trk-stats b{font-size:16px}
.trk-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted);margin:6px 0 10px}
.trk-legend i{display:inline-block;width:22px;height:0;vertical-align:middle;margin-right:6px;border-top:3px solid}
.trk-legend .lg-plan{border-top:3px dashed #2E7A5E}.trk-legend .lg-real{border-color:#2563EB;border-top-width:4px}.trk-legend .lg-gap{border-top:3px dotted #9CA3AF}

/* ogohlantirish bloklari: oldida boshqa element bo'lsa — yopishmasin (barcha sahifa va oynalar) */
:is(.warn-box, .fc-alert, .exp-banner, .made-box):not(:first-child) { margin-top: 14px; }
.sheet-close + .warn-box { margin-top: 2px; }

/* buyurtma: orqaga qaytarish izohi va tarix */
.ds-back-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(37,99,235,.07);color:#1e3a8a;margin:0 0 14px}
.ds-back-note svg{flex:none;margin-top:2px}.ds-back-note small{display:block;color:var(--muted)}.ds-back-note p{margin:4px 0 0}
.sheet-close + .ds-back-note{margin-right:52px}
:is(.ds-back-note):not(:first-child){margin-top:14px}
.ds-back{color:#2563eb;vertical-align:middle}
.ds-hist{margin:14px 0;border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:8px 14px}
.ds-hist summary{cursor:pointer;font-weight:600;padding:4px 0}
.ds-hist-r{display:flex;gap:12px;padding:7px 0;border-top:1px solid var(--line,#eee)}
.ds-hist-r.back b{color:#1d4ed8}
/* sahifalash */
.pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:14px auto 6px;padding:0 var(--px,16px)}
.pg-n{min-width:36px;height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--line,#e5e7eb);background:var(--card,#fff);cursor:pointer;font:inherit;font-weight:600}
.pg-n.on{background:var(--ink,#0F3D2E);border-color:var(--ink,#0F3D2E);color:#fff}
.pg-n:disabled{opacity:.4;cursor:default}
.pg-gap{color:var(--muted);padding:0 2px}
.pg-info{color:var(--muted);font-size:13px;white-space:nowrap}
.pager{justify-content:space-between;gap:10px 14px;padding:10px 4px 2px;border-top:1px solid var(--line);margin:8px 0 4px}
.pg-per{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}
.pg-per select{height:34px;padding:0 26px 0 10px;border-radius:9px;border:1px solid var(--line);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7280' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 9px center;-webkit-appearance:none;appearance:none;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;min-width:64px}
.pg-nums{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}
.tbl-wrap+.pager,.tbl-wrap>.pager{border-top:0}
@media (max-width:640px){.pager{justify-content:center}.pg-nums{margin-left:0;justify-content:center;width:100%}.pg-n{min-width:34px;height:34px}}
/* pul kassasi (ishlab chiqaruvchi) */
.actions.cd-act{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin:4px 0 6px}
.actions.cd-act .btn{flex:0 0 auto;width:auto}
.metrics + .cd-act{margin-top:12px}
.cd-sec .row{gap:12px;align-items:center}
.cd-sec .row .grow small{display:block;margin-top:2px}
/* xodimlar katalogi, rollar, lavozimlar */
.st-grp{margin:0 0 14px}
.st-row{gap:12px;align-items:center;cursor:pointer}
.st-row small{display:block;color:var(--muted);margin-top:2px}
.st-row.off{opacity:.6}
.st-row .right{text-align:right}.st-row .right small{display:block}
.who{position:relative}
.st-edit{margin-left:6px;flex:none}
.staff-card .sc-top .st-edit{margin-left:0}
.role-tools{display:inline-flex;gap:4px;margin-left:auto}
.role-hint{display:block}
.pos-chips{margin:10px 0}
.pos-chips .chip{display:inline-flex;align-items:center;gap:6px;padding-right:6px}
.chip-x{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:inherit;opacity:.7;padding:0 2px}
.chip-x:hover{opacity:1}
.pos-add{display:flex;gap:8px;max-width:420px}.pos-add input{flex:1}
/* Mening ishim */
.mw-task{border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px 14px;margin:0 0 10px;background:var(--card,#fff)}
.mw-task.ps-work{border-color:rgba(217,119,6,.45)}
.mw-t-top{display:flex;gap:10px;align-items:center}.mw-t-top small{display:block}
.mw-t-qty{margin:8px 0 6px}
.mw-task .progress{margin:6px 0 10px}
.mw-task .actions{margin-top:8px}
.mw-kpi{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.mw-kpi > .grow{min-width:240px}
.mw-k{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line,#eee)}
.mw-k small{display:block}.mw-k .progress{width:90px;flex:none}
.progress.sm{height:6px}
.progress i.low{background:#dc2626}
.pr-prog{margin:12px 0}.pr-prog .progress{margin-top:6px}
.pr-batches{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pr-batch-btn{margin:10px 0 0}
.chip.on .muted{color:inherit;opacity:.75}
/* bosh sahifa: savdo dinamikasi */
.trend-block .block-head{flex-wrap:wrap}
.trend-sum{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin:4px 0 10px}
.trend-sum > div{display:flex;flex-direction:column;gap:2px}
.trend-sum b{font-size:20px;font-weight:750;letter-spacing:-.01em}
.trend-delta{align-items:flex-end;text-align:right}
.trend-delta.up b,.trend-delta.up .small:not(.muted){color:var(--ok,#1E7F52)}
.trend-delta.down b,.trend-delta.down .small:not(.muted){color:var(--red,#C8372D)}
.trend-svg{display:block;width:100%;height:132px;overflow:visible}
.trend-svg .tr-axis{stroke:var(--line);stroke-width:1}
.trend-svg .tr-hit{fill:transparent;cursor:pointer}
.trend-svg .tr-prev{fill:#D7DFDA}
.trend-svg .tr-cur{fill:var(--ink-3,#2E7A5B)}
.trend-svg .tr-cur.down{fill:#E39A92}
.trend-svg .tr-day.on .tr-hit{fill:rgba(15,61,46,.06)}
.trend-svg .tr-day.on .tr-cur{fill:var(--ink,#0F3D2E)}
.trend-svg .tr-lab{font-size:9px;fill:var(--muted);text-anchor:middle}
.trend-leg{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:6px}
.trend-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.trend-leg .lg-cur{background:var(--ink-3,#2E7A5B)}.trend-leg .lg-prev{background:#D7DFDA}
.trend-info{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:13.5px;min-height:28px}
.tr-pct{font-weight:700}.tr-pct.up{color:var(--ok,#1E7F52)}.tr-pct.down{color:var(--red,#C8372D)}
/* bosh sahifa: AI xulosa — yig'iladigan */
.ai-fold{padding:0}
.ai-fold-head{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;text-align:left;font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}
.ai-fold-t{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.ai-fold-t b{font-size:16px}
.ai-fold-n{font-size:13px;color:var(--muted);white-space:nowrap}
.ai-fold-head > svg{transition:transform .2s;color:var(--muted)}
.ai-fold.open .ai-fold-head > svg{transform:rotate(180deg)}
.ai-fold #aiSumBody{padding:0 16px 14px}
.ai-fold .ai-list{margin-top:0}
.ai-fold-act{display:flex;gap:16px;margin-top:10px}
.trend-sum b{white-space:nowrap}.trend-sum > div:first-child{min-width:0}@media (max-width:1023px){.trend-sum b{font-size:18px}}
/* savdo dinamikasi: kun yorliqlari (HTML — grafik cho'zilsa ham buzilmaydi) */
.trend-svg{height:120px}
.trend-labs{display:grid;margin-top:4px;font-size:11px;color:var(--muted);text-align:center;line-height:1.2}
.trend-labs span{overflow:hidden;white-space:nowrap}
.trend-labs span.on{color:var(--ink);font-weight:700}
@media (min-width:1024px){.trend-svg{height:150px}.trend-labs{font-size:12px}}
/* AI yordamchi: kirish ekrani va suhbat */
.ai-hero{text-align:center;padding:22px 20px 6px}
.ai-orb{width:58px;height:58px;border-radius:18px;display:inline-grid;place-items:center;background:linear-gradient(135deg,#0F3D2E,#2E7A5B);color:#FFD84D;box-shadow:0 10px 26px rgba(15,61,46,.22)}
.ai-hero h2{font-size:21px;margin:14px 0 6px;letter-spacing:-.01em}
.ai-hero p{font-size:14px;line-height:1.5;max-width:440px;margin:0 auto}
.ai-sug-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 12px 8px}
.ai-sug-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:13px 12px;border-radius:16px;background:var(--paper);border:1px solid var(--line);font:inherit;font-size:13.5px;font-weight:600;color:var(--text);line-height:1.3;cursor:pointer;min-height:86px;transition:border-color .15s,transform .12s}
.ai-sug-card svg{color:var(--ink-3,#2E7A5B)}
.ai-sug-card:hover{border-color:var(--ink-3,#2E7A5B)}
.ai-sug-card:active{transform:scale(.98)}
.chat .msg.ai{position:relative;margin-left:38px;max-width:calc(88% - 38px);box-shadow:0 1px 2px rgba(17,28,22,.05)}
.chat .msg.ai::before{content:'AI';position:absolute;left:-38px;top:2px;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,#0F3D2E,#2E7A5B);color:#FFD84D;font-size:11px;font-weight:800;display:grid;place-items:center}
.chat .msg.me{max-width:82%}
.ai-sug{padding-top:6px}
@media (min-width:1024px){
  .chat-wrap.fresh{justify-content:flex-start}
  .ai-sug-grid{grid-template-columns:repeat(3,1fr);padding:16px 22px 8px;max-width:760px;margin:0 auto;width:100%}
  .ai-hero{padding-top:36px}
  .chat-wrap.fresh .ai-input{margin-top:auto}
}
/* ---------- AI avtopilot (yangi tuzilish) ---------- */
.ap-hero-r{display:flex;align-items:center;gap:10px}
.ap-hero.on .ap-hero-r .icon-btn{background:rgba(255,255,255,.12);color:#fff;border-color:transparent}
.seg.tabs .cnt.muted-cnt{background:var(--line);color:var(--muted)}
.ap-q-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 12px 4px}
.ap-queue.px{padding-top:6px}
.ap-q{background:var(--paper);border:1px solid var(--line);border-left:4px solid #E0A800;box-shadow:0 1px 2px rgba(17,28,22,.04)}
.ap-q-h{flex-wrap:nowrap;align-items:flex-start}
.ap-q-h .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.ap-q-h small{font-size:12.5px}
.ap-q-msg{margin:0;font-size:14px;line-height:1.45}
.ap-ars{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ap-ar{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;border-top:1px solid var(--line)}
.ap-ar:first-child{border-top:0}
.ap-ar .grow{min-width:0}
.ap-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:36px 20px;margin:12px 12px 0;background:var(--paper);border-radius:var(--r-lg)}
.ap-empty > svg{color:var(--ok,#1E7F52);background:var(--soft);border-radius:50%;padding:10px;width:52px;height:52px}
.ap-empty .muted{max-width:420px;font-size:14px;line-height:1.5}
.ap-empty .btn{margin-top:6px}
.ap-grp .block-head h2{display:flex;align-items:center;gap:8px;font-size:16px}
.ap-grp .block-head h2 svg{color:var(--ink-3)}
.ap-rule{align-items:center;padding:0 14px 0 0;gap:6px}
.ap-rule.na{opacity:.6}
.ap-rule-main{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;padding:14px 0 14px 14px;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.ap-rule-main:disabled{cursor:default}
.ap-rule-main .grow{display:flex;flex-direction:column;gap:4px;min-width:0}
.ap-rule-main small{color:var(--muted);font-size:13px;line-height:1.4}
.ap-rule-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.ap-rule-main:hover b{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.ap-sh-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.ap-sh-h h3{margin:0 0 4px}
.ap-rc{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}
.ap-rc-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--line)}
.ap-rc-row:first-child{border-top:0}
.ap-rc-row small{display:block}
.ap-rc .muted.small{padding:12px}
.ap-rc-add{background:var(--bg-2);border-radius:12px;padding:12px}
.ap-quiet{display:flex;align-items:center;gap:8px}.ap-quiet input{width:100%;min-width:0}
.ap-log .au-day{margin:12px 0 2px}
.ap-log .au-day:first-child{margin-top:0}
/* metrikalar ostidagi tab/filtr qatori yopishmasin */
.metrics + .px, .kpis-s + .px, .metrics + .toolbar, .ap-hero + .px{margin-top:14px}
/* do'kon valyutasi tanlovi */
.cur-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:6px 0 4px}
.cur-opt{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-size:14px;min-width:0}
.cur-opt input{margin:0;accent-color:var(--ink)}
.cur-opt span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}
.cur-opt em{font-style:normal;color:var(--ink-3);font-size:13px;white-space:nowrap}
.cur-opt.on,.cur-opt:has(input:checked){border-color:var(--ink);background:var(--soft)}
@media (max-width:520px){.cur-list{grid-template-columns:1fr}}
/* ---------- Oddiy rejim: chek oynasi (telefon) — minimal ---------- */
#sheet .ecs{display:flex;flex-direction:column;min-width:0}
#sheet .ecs-head{display:flex;align-items:baseline;gap:10px;padding-right:44px;margin-bottom:4px}
#sheet .ecs-head h3{margin:0}
#sheet .ecs-count{font-size:14px;color:var(--muted);font-weight:600}
#sheet .ecs-list{display:flex;flex-direction:column}
#sheet .ecs-line{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:8px;min-width:0}
#sheet .ecs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
#sheet .ecs-name{font-size:16.5px;font-weight:700;line-height:1.3;min-width:0;overflow-wrap:anywhere}
#sheet .ecs-sum{font-size:16.5px;font-weight:800;white-space:nowrap}
#sheet .ecs-price{font-size:14px;color:var(--muted);min-width:0}
#sheet .ecs-qty{display:inline-grid;grid-template-columns:36px 46px 36px;align-items:center;background:var(--soft);border-radius:12px;padding:3px;flex-shrink:0}
#sheet .ecs-qty button{height:36px;border:0;border-radius:9px;background:var(--paper);color:var(--ink);font-size:20px;font-weight:700;display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh-xs)}
#sheet .ecs-qty button.del{color:var(--red)}
#sheet .ecs-qty input{width:100%;height:36px;border:0;background:transparent;text-align:center;font-size:16px;font-weight:800;padding:0;color:var(--ink);-moz-appearance:textfield}
#sheet .ecs-qty input::-webkit-inner-spin-button,#sheet .ecs-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#sheet .ecs-units{justify-self:start;max-width:100%;overflow-x:auto}
/* chegirma / promokod — kichik tugmalar, bir qatorda */
body #sheet .ecs .adj-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
body #sheet .ecs .adj-btn{height:36px;padding:0 14px;border-radius:999px;border:1px dashed var(--line-2);background:transparent;color:var(--ink-2);font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:6px;width:auto}
#sheet .ecs .adj-edit{margin-top:14px}
#sheet .ecs .totals-mini{margin-top:12px;font-size:14px;color:var(--muted)}
#sheet .ecs .totals-mini .sum-line{padding:3px 0}
#sheet .ecs-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
#sheet .ecs-total span{font-size:17px;font-weight:700;color:var(--ink-2)}
#sheet .ecs-total b{font-size:28px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
#sheet .ecs-pay{margin-top:14px;width:100%;height:58px;border:0;border-radius:16px;background:var(--mark);color:var(--ink);font:inherit;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:0 10px 24px -14px rgba(150,110,0,.7)}
#sheet .ecs-pay:active{transform:translateY(1px)}
#sheet .ecs-tools{display:flex;justify-content:center;gap:4px;margin-top:8px}
#sheet .ecs-tools button{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:var(--ink-2);font:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
#sheet .ecs-tools button:hover{background:var(--soft)}
#sheet .ecs-tools .danger-t{color:var(--red)}
@media(max-width:360px){#sheet .ecs-qty{grid-template-columns:32px 40px 32px}#sheet .ecs-qty button,#sheet .ecs-qty input{height:32px}#sheet .ecs-total b{font-size:24px}}
body #sheet .ecs .adj-chip{height:36px;padding:0 4px 0 12px;border-radius:999px;font-size:14px;gap:6px}
body #sheet .ecs .adj-chip .x{width:28px;height:28px}

/* Ezzo belgisi */
.welcome-logo:has(img){background:none;overflow:hidden}.welcome-logo img{width:100%;height:100%;display:block}
.tg-bot-av.ezzo{background:none;overflow:hidden}.tg-bot-av.ezzo img{width:100%;height:100%;display:block}
/* ---------- Bu qurilmadagi printer ---------- */
.prn-now{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);margin-bottom:14px;min-width:0}
.prn-now .grow{min-width:0}.prn-now b{display:block;overflow-wrap:anywhere}.prn-now small{display:block;margin-top:2px;line-height:1.35}
.prn-now .ok{color:var(--ok)}.prn-now .red{color:var(--red)}
.prn-ic{width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--ink);display:grid;place-items:center;flex-shrink:0}
.prn-ic.big{width:46px;height:46px;background:var(--mark)}
.prn-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:8px 0 14px}
.prn-opt{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);color:var(--text);font:inherit;cursor:pointer;min-width:0}
.prn-opt:hover{border-color:var(--ink-3)}
.prn-opt.on{border-color:var(--ink);background:var(--soft)}
.prn-opt.on .prn-ic{background:var(--ink);color:#fff}
.prn-opt b{display:block;font-size:14.5px}.prn-opt small{display:block;font-size:12.5px;color:var(--muted);line-height:1.3;margin-top:2px}
.prn-opt > span:last-child{min-width:0}
@media(max-width:520px){.prn-opts{grid-template-columns:1fr}.prn-now{flex-wrap:wrap}.prn-now .btn{width:100%}}
/* qo'shimcha yorliq o'lchamlari (ekran — 1 mm ≈ 3,78 px; chop etish — mm) */
.l-58x30{width:219px;height:113px}.l-50x30{width:189px;height:113px}.l-40x25{width:151px;height:95px}.l-30x20{width:113px;height:76px;padding:4px 5px}
.l-58x30 .l-name,.l-50x30 .l-name,.l-40x25 .l-name{font-size:11px}.l-30x20 .l-name{font-size:9px;max-height:2.3em}
.l-58x30 .l-price b,.l-50x30 .l-price b,.l-40x25 .l-price b{font-size:17px}.l-30x20 .l-price b{font-size:13px}
.l-30x20 .l-shop,.l-30x20 .l-price span{display:none}
.l-58x30 .bc,.l-50x30 .bc,.l-40x25 .bc{height:24px}.l-30x20 .bc{height:18px}
@media print{
  body.print-labels .l-58x30{width:58mm;height:30mm}body.print-labels .l-50x30{width:50mm;height:30mm}
  body.print-labels .l-40x25{width:40mm;height:25mm}body.print-labels .l-30x20{width:30mm;height:20mm}
}
/* narxnomalar: nusxa soni, oxirgi kirim, kirimdan keyingi taklif */
.lb-copies{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px}
.lb-copies>span{font-size:14px;font-weight:600;color:var(--ink-2)}
.lb-copies .dd{min-width:190px}
.lb-copies .lb-n{width:90px;height:40px}
.lb-qty{display:grid;gap:4px;margin:8px 0 10px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:6px}
.lb-qrow{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;font-size:14px;min-width:0}
.lb-qrow:hover{background:var(--soft)}
.lb-qrow .grow{min-width:0}.lb-qrow small{display:block;color:var(--muted);font-size:12px}
.lb-qrow input{width:72px;height:36px;text-align:center;border:1px solid var(--line);border-radius:9px;font:inherit;font-weight:700}
.lb-lastin{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;padding:9px 12px;border:1.5px dashed var(--line-2);border-radius:12px;background:var(--bg-2);color:var(--ink);font:inherit;font-size:13.5px;text-align:left;cursor:pointer;min-width:0}
.lb-lastin span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-lastin em{font-style:normal;color:var(--muted);white-space:nowrap}
.lb-lastin:hover{border-color:var(--ink-3)}
.lb-sug{border:1px solid var(--line);border-radius:12px;padding:6px 12px;margin:8px 0 12px}
.lb-sug .sum-line{padding:5px 0;font-size:14px}

/* ===== Davomat (attendance.js) ===== */
.att-card{display:flex;flex-direction:column;gap:10px}
.att-h{display:flex;gap:12px;align-items:center}
.att-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--bg-2);color:var(--muted);flex:none}
.att-ic.on{background:#DFF3E8;color:var(--ok)}
.att-note{margin:0;text-align:center}
.att-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0 12px}
.att-mini span{background:var(--bg-2);border-radius:var(--r-sm);padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.att-mini b{font-size:18px}.att-mini small{color:var(--muted);font-size:12px}
.att-dot{font-style:normal;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--warn-soft);color:#7A5A00;margin-left:auto}
.att-dot.on{background:#DFF3E8;color:var(--ok)}
.att-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px}
.att-per{flex-wrap:wrap}
.att-dates{display:flex;align-items:center;gap:6px}.att-dates .ctl{width:auto}
.att-filters .dd{min-width:200px}
.att-own{margin:0;gap:8px}
.att-tbl td,.att-log td{white-space:nowrap}
.att-tbl tr.tap{cursor:pointer}.att-tbl tr.tap:hover td{background:var(--bg-2)}
.att-tags{display:flex;flex-wrap:wrap;gap:4px}
.att-tags .tag.ok,.att-p .tag.ok,.fr-list .tag.ok{background:#DFF3E8;color:var(--ok)}
.att-pct{font-weight:700;padding:2px 8px;border-radius:999px}
.att-pct.ok{background:#DFF3E8;color:var(--ok)}.att-pct.mid{background:var(--warn-soft);color:#7A5A00}.att-pct.bad{background:var(--red-soft);color:var(--red)}
.att-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.att-p{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);text-align:left;cursor:pointer;font:inherit;color:inherit}
.att-p b{display:block}.att-p small{color:var(--muted);font-size:12px}
.att-p.st-in{border-color:#9ED7B8}.att-p.st-miss{border-color:#F3B4B4}
.att-tl-r{display:grid;grid-template-columns:70px 1fr 92px;gap:8px;align-items:center}
.att-tl-h{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:6px 100px 2px 78px}
.att-tl{display:flex;flex-direction:column;gap:4px;max-height:52vh;overflow:auto;margin-bottom:6px}
.att-tl-r{font-size:12.5px}.att-tl-r.off{opacity:.55}
.att-tl-d{color:var(--muted)}
.att-tl-v{text-align:right;font-variant-numeric:tabular-nums}
.att-tl-bar{position:relative;height:14px;background:var(--bg-2);border-radius:7px;overflow:hidden}
.att-tl-bar i{position:absolute;top:0;bottom:0;border-radius:7px}
.att-tl-bar .sch{background:#E3E9E5;top:4px;bottom:4px}
.att-tl-bar .seg{background:var(--ok)}
.att-tl-bar .seg.open{background:repeating-linear-gradient(45deg,#E0A100 0 4px,#F2C94C 4px 8px)}
.trk-legend .lg-sch{border-top:6px solid #E3E9E5}.trk-legend .lg-in{border-top:6px solid var(--ok)}.trk-legend .lg-open{border-top:6px solid #E0A100}

/* ===== Marshrut xaritasi (field-routes.js) ===== */
.fr-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 10px}
.fr-bar .icon-btn:first-of-type svg{transform:rotate(90deg)}
.fr-bar .fr-next svg{transform:rotate(-90deg)}
.fr-date{width:auto}
.fr-bar .dd{min-width:190px}
.fr-min{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.fr-min .dd{min-width:150px}
.fr-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:12px;padding:0 12px 12px;align-items:start}
.fr-map{height:calc(100vh - 260px);min-height:420px;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-2);position:sticky;top:12px}
.fr-map .leaflet-container{height:100%}
.fr-map .empty{padding:40px 24px;text-align:center}
.fr-side{display:flex;flex-direction:column;gap:10px}
.fr-p{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px}
.fr-ph{display:flex;align-items:center;gap:8px}
.fr-sw{width:12px;height:12px;border-radius:50%;flex:none}
.fr-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 6px}
.fr-kpi span{background:var(--bg-2);border-radius:var(--r-sm);padding:6px 8px;display:flex;flex-direction:column}
.fr-kpi b{font-size:14px}.fr-kpi small{font-size:11px;color:var(--muted)}
.fr-warn{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.fr-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}
.fr-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 4px;border-top:1px solid var(--line);cursor:pointer}
.fr-list li:hover{background:var(--bg-2)}
.fr-list li small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.fr-n{width:24px;height:24px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}
@media (max-width:900px){.fr-wrap{grid-template-columns:1fr}.fr-map{position:static;height:58vh;min-height:320px}.fr-kpi{grid-template-columns:repeat(2,1fr)}}

/* ilova tugmalari: Agent / Ekspeditor ilovasi ikonkasi */
.app-btn{gap:8px}
.app-ic{width:22px;height:22px;border-radius:6px;display:inline-block;vertical-align:middle;flex:none}
.app-ic.lg{width:36px;height:36px;border-radius:10px}
.app-h{display:flex;align-items:center;gap:10px}

/* avatar harflari doim markazda: ota blokning umumiy "span{display:flex}" qoidalari unga tegmasin */
.sel-av.sel-av{display:inline-grid;place-items:center;flex-direction:initial;line-height:1;text-align:center}
/* «Mening ishim»: ro'yxat qatorlari — nom ustida, raqam/sana ostida (bir-biriga yopishmasin) */
.mw-list .row .grow,.mw-list .row .right{display:flex;flex-direction:column;gap:3px}
.mw-list .row .right{align-items:flex-end}
.mw-list .row small{font-size:12.5px}

/* ===== Davomat holati banneri («Mening ishim» tepasida) ===== */
.att-ban{display:flex;align-items:center;gap:14px;margin:12px 12px 0;padding:16px 16px 16px 18px;border-radius:20px;position:relative;overflow:hidden;
  box-shadow:0 14px 30px -18px rgba(15,61,46,.55),0 1px 0 rgba(255,255,255,.06) inset}
.att-ban b{display:block;font-size:17px;letter-spacing:-.01em}
.att-ban small{display:block;font-size:13px;margin-top:2px;opacity:.82}
.att-ban .grow{min-width:0}
.att-ban::after{content:"";position:absolute;right:-40px;top:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.att-ban.in{background:linear-gradient(135deg,#0F3D2E 0%,#1E6B4E 100%);color:#fff}
.att-ban.warn{background:linear-gradient(135deg,#FFE27A 0%,#FFC93C 100%);color:#3D2C00;box-shadow:0 14px 30px -18px rgba(160,110,0,.6)}
.att-ban.warn.late{background:linear-gradient(135deg,#FFD0C2 0%,#FF9F85 100%);color:#5A1A0A;box-shadow:0 14px 30px -18px rgba(170,50,20,.55)}
.att-ban.done{background:var(--paper);color:var(--text);border:1px solid var(--line);box-shadow:none}
.att-ban.done>.ic{color:var(--ok);flex:none}
.att-ban-ic{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.45)}
.att-pulse{width:14px;height:14px;border-radius:50%;background:#5EE6A0;flex:none;margin:0 6px 0 4px;box-shadow:0 0 0 0 rgba(94,230,160,.7);animation:attPulse 1.8s infinite}
@keyframes attPulse{0%{box-shadow:0 0 0 0 rgba(94,230,160,.65)}70%{box-shadow:0 0 0 12px rgba(94,230,160,0)}100%{box-shadow:0 0 0 0 rgba(94,230,160,0)}}
@media (prefers-reduced-motion:reduce){.att-pulse{animation:none}}
.att-ban-btn{flex:none;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:14px;padding:11px 14px;font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;position:relative;z-index:1}
.att-ban.in .att-ban-btn{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.att-ban.warn .att-ban-btn{background:#0F3D2E;color:#fff}
.att-ban.done .att-ban-btn{background:var(--bg-2);color:var(--text)}
.att-ban-btn:active{transform:scale(.97)}
@media (min-width:1024px){.att-ban{margin:16px 0 0}}   /* .metrics bilan bir xil chekka */

/* AI maosh taklifi */
.sl-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.sl-row{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.sl-row>summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.sl-row>summary::-webkit-details-marker{display:none}
.sl-row>summary .grow{display:flex;flex-direction:column;min-width:0}
.sl-row>summary small{font-size:12px}
.sl-tot{text-align:right;white-space:nowrap}
.sl-line{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);font-size:13.5px}
.sl-line input{width:18px;height:18px;flex:none;accent-color:var(--brand)}
.sl-facts{margin:0;padding:8px 12px 10px 30px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:3px}
.sl-ai,.sl-ai-l{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.sl-ai-i{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;border-left:3px solid var(--brand);background:var(--soft,rgba(127,127,127,.08));font-size:13.5px}
.sl-ai-i.ok{border-left-color:var(--ok,#16a34a)}.sl-ai-i.warn{border-left-color:var(--warn,#d97706)}.sl-ai-i.bad{border-left-color:var(--red,#dc2626)}
.sl-ai-i span{color:var(--muted)}

/* AI limiti */
.aiq{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.aiq-l{display:inline-flex;align-items:center;gap:5px}
.aiq-bar{flex:0 1 140px;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.aiq-bar i{display:block;height:100%;border-radius:inherit;background:var(--brand)}
.aiq.warn .aiq-bar i{background:var(--warn,#d97706)}.aiq.warn .aiq-l{color:var(--warn,#d97706)}
.aiq.bad .aiq-bar i{background:var(--red,#dc2626)}.aiq.bad .aiq-l{color:var(--red,#dc2626)}

/* Hisobotlar: tushum taqsimoti va ustunli grafiklar */
.rsp{display:flex;align-items:center;gap:18px}
.rsp-dw{position:relative;width:140px;height:140px;flex:none}
.rsp-d{width:100%;height:100%;display:block}
.rsp-c{position:absolute;inset:0;margin:auto;width:58%;height:58%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.1;overflow:hidden}
.rsp-c b{font-size:22px;font-weight:800;color:var(--ok)}.rsp-c b.neg{color:var(--red)}
.rsp-c small{margin-top:2px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.rsp-d circle{transition:stroke-dasharray .4s}
.rsp-leg{list-style:none;margin:0;padding:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.rsp-leg li{display:flex;align-items:center;gap:8px;font-size:13.5px}
.rsp-leg i{width:10px;height:10px;border-radius:3px;flex:none}
.rsp-leg small{width:36px;text-align:right;color:var(--muted)}
.rsp-leg .rsp-tot{border-top:1px dashed var(--line);padding-top:7px;margin-top:2px;padding-right:44px}
.rcol{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:4px;height:150px;align-items:end;margin-top:6px}
.rcol-c{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;min-width:0}
.rcol-c span{width:100%;max-width:26px;border-radius:5px 5px 2px 2px;background:var(--soft);transition:height .4s}
.rcol-c.top span{background:var(--ok)}
.rcol-c:hover span{filter:brightness(.92)}
.rcol-c small{font-size:10.5px;color:var(--muted);height:13px;line-height:13px}
@media (max-width:480px){.rsp{flex-direction:column;align-items:stretch}.rsp-dw{align-self:center}}

/* Ish haqi: agent/ekspeditor qo'shimcha hisoblari */
.py-ex{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.py-ex-r{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.py-ex-r.on{border-color:var(--ok);background:var(--soft)}
.py-ex-r .grow{display:flex;flex-direction:column;min-width:0}.py-ex-r small{font-size:12px;line-height:1.3}
.py-ex-v{width:110px;flex:none;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);font-size:15px}
.py-ex-v.sm{width:64px}
.py-exl{display:flex;flex-direction:column;gap:2px;margin:-4px 0 12px;padding:6px 12px;border:1px dashed var(--line);border-radius:12px;font-size:13.5px}
.py-exl .row{display:flex;gap:10px;padding:4px 0}
@media (max-width:480px){.py-ex-r{flex-wrap:wrap}.py-ex-v{width:96px}}

/* Avtopilot qoidasi: parametrlar ro'yxati */
.ap-params{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:14px 0 16px;background:var(--paper)}
.ap-p{display:flex;align-items:center;gap:14px;padding:12px 14px;border-top:1px solid var(--line);cursor:text}
.ap-p:first-child{border-top:0}
.ap-p-l{flex:1;min-width:0;font-size:14.5px;font-weight:600;line-height:1.3}
.ap-p-in{display:flex;align-items:center;gap:8px;flex:none}
.ap-p-in input{width:92px;padding:9px 10px;text-align:right;font-size:16px;font-weight:600;border:1.5px solid var(--line);border-radius:10px;background:var(--bg-2,var(--paper))}
.ap-p-in input:focus{border-color:var(--ok);outline:none;background:var(--paper)}
.ap-p-in em{font-style:normal;min-width:38px;color:var(--muted);font-size:13px}
@media (max-width:420px){.ap-p-in input{width:76px}.ap-p-in em{min-width:30px}}

/* Hammasiga to'lash: to'lanadigan summasi yo'qlar */
.py-zero{margin:10px 0 14px;border:1px dashed var(--line);border-radius:12px;padding:4px 12px 8px}
.py-zero>summary{cursor:pointer;padding:8px 0;font-size:13.5px;font-weight:600;color:var(--muted)}
.py-zr{display:flex;align-items:center;gap:10px;width:100%;padding:8px 0;border:0;border-top:1px solid var(--line);background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}
.py-zr .grow{display:flex;flex-direction:column;min-width:0}.py-zr small{color:var(--muted);font-size:12px}
.py-zr:hover b{text-decoration:underline}

/* Yordam → Video kurs */
.vk-head{display:flex;align-items:center;gap:16px;margin:4px 0 14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.vk-head .grow{display:flex;flex-direction:column;gap:4px;min-width:0}
.vk-ring{--p:0;width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ok) calc(var(--p)*1%),var(--line) 0)}
.vk-ring b{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--paper);font-size:15px}
.vk-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:4px}.vk-bar i{display:block;height:100%;background:var(--ok);border-radius:inherit}
.vk-done{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:12px;border-radius:14px;background:var(--soft);border:1px solid var(--ok);color:var(--ok)}
.vk-done div{display:flex;flex-direction:column;gap:3px}.vk-done small{color:var(--text)}
.vk-ch{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:12px;border-radius:14px;border:1px dashed var(--line);color:inherit;text-decoration:none}
.vk-ch .grow{display:flex;flex-direction:column}.vk-ch small{color:var(--muted)}
.vk-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}
.vk-it{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line)}
.vk-it:first-child{border-top:0}.vk-it.seen{background:var(--bg-2,transparent)}
.vk-n{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--bg-2,var(--line));font-weight:700;font-size:13px}
.vk-it.seen .vk-n{background:var(--ok);color:#fff}
.vk-t{display:flex;flex-direction:column;min-width:0;color:inherit;text-decoration:none}.vk-t b{overflow-wrap:anywhere}.vk-t small{display:flex;align-items:center;gap:4px}
.vk-on{color:var(--ok);border-color:var(--ok)}
@media (max-width:560px){.vk-it{flex-wrap:wrap}.vk-it .vk-t{flex:1 1 calc(100% - 50px)}.vk-it .btn{flex:1}}

/* Zakot: tavsiyaviy ogohlantirish va qoidalar */
.zk-advice{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;padding:14px 16px;border-radius:14px;background:var(--warn-soft,#FFF3C4);border:1px solid #E8D27A}
.zk-advice>div{display:flex;flex-direction:column;gap:4px;min-width:0}.zk-advice span{font-size:13.5px;line-height:1.45}
.zk-rules summary{cursor:pointer;font-weight:600;font-size:13.5px;margin-top:4px}
.zk-rules ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.45}
.zk-warn{display:flex;gap:8px;align-items:center;margin:0 0 10px;padding:10px 14px;border-radius:12px;border:1px dashed var(--line);font-size:13.5px}

/* Marketing → AI aksiya g'oyalari: «Aksiyani yaratish» tugmalari bir chiziqda (kartochka pastida) */
.mk-idea{align-items:stretch}
.mk-idea .grow{display:flex;flex-direction:column}
.mk-idea .grow>p:last-of-type{margin-bottom:12px}
.mk-idea .grow>.btn{margin-top:auto;align-self:flex-start}
.ap-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:32px 16px;border:1px dashed var(--line);border-radius:16px;margin:12px 16px}
.ap-empty b{font-size:16px}.ap-empty .muted{max-width:460px}

/* Kassa: «To'lash» tugmasi — katta, bosishga qulay, summa yaqqol */
.pay-btn{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 18px 10px 12px;border-radius:16px;font-size:18px;
  background:linear-gradient(180deg,#FFE066 0%,var(--mark) 100%);color:var(--ink);border:0;
  box-shadow:0 6px 16px rgba(214,170,20,.32),inset 0 -3px 0 rgba(15,61,46,.12);transition:transform .08s,box-shadow .15s,filter .15s}
.pay-btn:hover{background:linear-gradient(180deg,#FFE680 0%,#F5CC35 100%);box-shadow:0 8px 20px rgba(214,170,20,.4),inset 0 -3px 0 rgba(15,61,46,.12)}
.pay-btn:active{transform:translateY(2px);box-shadow:0 2px 6px rgba(214,170,20,.3),inset 0 -1px 0 rgba(15,61,46,.12)}
.pay-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.pay-btn:disabled{background:var(--bg-2);color:var(--muted);box-shadow:none;filter:none;cursor:not-allowed}
.pay-btn .pay-ic{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:rgba(15,61,46,.1)}
.pay-btn:disabled .pay-ic{background:var(--line)}
.pay-btn .pay-l{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1}
.pay-btn .pay-l b{font-size:19px;font-weight:800}
.pay-btn .pay-l kbd{font-size:10.5px;padding:0 5px;line-height:16px;background:rgba(15,61,46,.1);border:0;color:var(--ink);opacity:.8}
.pay-btn .pay-sum{margin-left:auto;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.cart-foot .pay-btn{margin-top:12px}
body.easy .pay-btn{min-height:76px;justify-content:flex-start;gap:12px;font-size:22px}
body.easy .pay-btn .pay-l b{font-size:23px}
body.easy .pay-btn>svg:last-child{margin-left:auto}
@media (max-width:420px){.pay-btn .pay-sum{font-size:19px}.pay-btn .pay-ic{width:38px;height:38px}}

/* Kassa terminali (monoblok): menyu yashirin, faqat kassa */
body.terminal-mode .side,body.terminal-mode .nav,body.terminal-mode .help-fab,body.terminal-mode .side-toggle,body.terminal-mode [data-a="more"],body.terminal-mode [data-a="pMenu"]{display:none !important}
body.terminal-mode .main,body.terminal-mode main{margin-left:0 !important}
.term-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--ink);color:#fff;font-size:13.5px}
.term-bar .grow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.term-bar .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.term-bar.elev{background:#8A5A00}
.term-bar.elev .btn{background:#fff;color:var(--ink)}
.dev-term{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-right:8px;white-space:nowrap}

/* terminal: qulf ekranida Boshqaruv/Chiqish, sheet qulf ustida */
#posLock .lock-term{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff}
#posLock .lock-term .lock-warn{margin:0;padding:8px 14px;border-radius:12px;background:rgba(255,190,60,.18);color:#FFE2A6;font-size:13.5px;display:flex;gap:8px;align-items:center;text-align:center}
#posLock .lock-term-btns{display:flex;gap:10px}
#posLock .lock-term .btn.ghost{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
body.terminal-mode .sheet-wrap{z-index:320}

/* Rasmdan tovar qo'shish (AI) */
.aph-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:10px}
.aph-photo{width:110px;height:110px;object-fit:cover;border-radius:14px;border:1px solid var(--line);flex:none}
.aph-list{display:flex;flex-direction:column;gap:12px;max-height:58vh;overflow:auto;padding-right:2px}
.aph-item{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--paper)}
.aph-item.off{opacity:.55}
.aph-top{display:flex;gap:10px;align-items:center}
.aph-top input[data-f="name"]{font-weight:600;width:100%}
.aph-score{font-weight:700;font-size:13px;padding:3px 9px;border-radius:999px;white-space:nowrap}
.aph-score.hi{background:#E3F4EA;color:#17663F}.aph-score.mid{background:#FFF3D6;color:#8A5A00}.aph-score.lo{background:#FDE5E2;color:#A3271B}
.aph-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px;vertical-align:middle}
.aph-dot.hi{background:#1F9D5C}.aph-dot.mid{background:#E0A800}.aph-dot.lo{background:#D64535}
.aph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:10px}
.aph-grid label{display:flex;flex-direction:column;gap:3px}
.aph-grid small{color:var(--muted);font-size:12px}
.aph-grid input,.aph-grid select{width:100%;min-width:0}
.aph-match{display:flex;gap:8px;align-items:center;margin-top:8px;padding:7px 10px;border-radius:10px;background:var(--soft,#F2F5F3);font-size:13px}
.aph-attrs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
@media (max-width:560px){.aph-photo{width:76px;height:76px}.aph-grid{grid-template-columns:1fr 1fr}}


/* ---------- mobil pastki menyu: premium (faol «pill» siljiydi) ---------- */
.nav{background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.8) blur(18px);backdrop-filter:saturate(1.8) blur(18px);
  border-top:1px solid rgba(15,61,46,.07);box-shadow:0 -10px 30px -22px rgba(15,61,46,.45)}
.nav-in{position:relative;padding:0 6px}
.nav button{z-index:1;gap:4px;color:#7B8781;font-size:11px;font-weight:600;letter-spacing:.1px;-webkit-tap-highlight-color:transparent;transition:color .25s}
.nav .nav-ic{position:relative;display:grid;place-items:center;width:56px;height:32px;transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.nav .nav-ic svg{width:23px;height:23px;transition:transform .3s cubic-bezier(.3,1.4,.5,1),stroke-width .2s}
.nav .nav-l{line-height:1.1;max-width:100%;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:font-weight .2s}
.nav button.on{color:var(--ink)}
.nav button.on .nav-l{font-weight:800}
.nav button.on .nav-ic svg{transform:translateY(-1px) scale(1.06);stroke-width:2.3}
.nav button:active .nav-ic{transform:scale(.88)}
.nav-ind{position:absolute;left:0;top:0;width:56px;height:32px;border-radius:16px;pointer-events:none;z-index:0;opacity:0;
  background:linear-gradient(180deg,#E3F1E9,#D3E8DC);box-shadow:inset 0 0 0 1px rgba(15,61,46,.06),0 6px 14px -8px rgba(15,61,46,.45);
  transition:transform .45s cubic-bezier(.32,1.25,.42,1),opacity .2s}
.nav-ind.on{opacity:1}
.nav .badge{top:-3px;left:auto;right:6px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;font-size:10.5px;font-weight:800;line-height:1;
  box-shadow:0 0 0 2px #fff,0 3px 8px -2px rgba(200,55,45,.55)}
/* oson rejim: kattaroq */
body.easy .nav button{font-size:12.5px;color:#55625B}
body.easy .nav button.on{color:var(--ink)}
body.easy .nav button.on::before{display:none}
body.easy .nav .nav-ic,body.easy .nav-ind{width:64px;height:36px;border-radius:18px}
body.easy .nav .nav-ic svg{width:27px;height:27px}
@media (prefers-reduced-motion:reduce){.nav-ind,.nav .nav-ic,.nav .nav-ic svg{transition:none}}

/* ---------- kassa ro'yxati (telefon) ---------- */
/* kam qolgan tovar: chiziq rasmning ustiga tushmasin — qatordan tashqarida, karta chetida */
#plist .row.low{box-shadow:none;position:relative}
#plist .row.low::before{content:"";position:absolute;left:-9px;top:16px;bottom:16px;width:3px;border-radius:3px;background:#F0C85A}
/* savatdagi tovar: [− soni +] */
.add-step{display:flex;align-items:center;flex-shrink:0;height:44px;border-radius:14px;background:var(--ink);color:#fff;padding:3px;gap:2px;box-shadow:0 6px 14px -8px rgba(15,61,46,.7)}
.add-step .as-m{width:34px;height:38px;border-radius:11px;color:#fff;font-size:22px;font-weight:600;line-height:1;display:grid;place-items:center;opacity:.85}
.add-step .as-m:active{background:rgba(255,255,255,.14)}
.add-step .as-q{min-width:30px;text-align:center;font-size:16px;font-weight:800;line-height:1;display:flex;flex-direction:column;align-items:center;gap:2px}
.add-step .as-q small{font-size:9.5px;font-weight:600;opacity:.7}
.add-step .add.in{width:38px;height:38px;border-radius:11px;background:var(--mark);color:var(--ink);font-size:22px;font-weight:700;min-width:0}
.add-step .add.in:active{transform:scale(.92)}
body.easy .row .add-step .add.in{min-width:0}
body.easy .add-step{height:50px}
body.easy .add-step .as-m,body.easy .add-step .add.in{width:40px;height:44px}
/* skaner tugmasi: o'ng pastda, savat paneli bo'lsa uning ustida */
.scan-fab{position:fixed;right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 16px);z-index:26;width:58px;height:58px;border-radius:20px;
  background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 14px 28px -12px rgba(15,61,46,.75),0 0 0 4px rgba(255,255,255,.75);transition:bottom .3s cubic-bezier(.3,1.2,.5,1),transform .15s}
.scan-fab:active{transform:scale(.92)}
.scan-fab svg{width:26px;height:26px}
body:has(#cartbarSlot .cartbar) .scan-fab{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 86px)}
body:has(#cartbarSlot .ek-bar) .scan-fab{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 96px)}
body.k-scan .help-fab{display:none}
body.k-scan .fab-space{height:76px}
@media (min-width:1024px){.scan-fab{display:none}}

/* ---------- to'lov: bonus kartasi ---------- */
.bonus-card{display:block;padding:0;overflow:hidden;background:linear-gradient(135deg,#F1F8F4,#E6F2EB);border:1px solid #D6E8DD}
.bonus-card .br-top{display:flex;align-items:center;gap:12px;padding:12px 14px}
.bonus-card .br-ic{width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--mark);display:grid;place-items:center;flex-shrink:0}
.bonus-card .br-top small{display:block;font-size:12px;color:var(--muted);font-weight:600}
.bonus-card .br-top b{display:block;font-size:18px;font-weight:800;color:var(--ink);white-space:nowrap;line-height:1.25}
.bonus-card .br-earn{text-align:right;flex-shrink:0;background:#fff;border-radius:10px;padding:5px 10px;box-shadow:0 1px 0 rgba(15,61,46,.06)}
.bonus-card .br-earn small{font-size:10.5px;font-weight:600;color:var(--muted)}
.bonus-card .br-earn b{font-size:14px;color:var(--ok);white-space:nowrap}
.bonus-card .br-use{display:flex;align-items:center;gap:12px;padding:11px 14px;border-top:1px dashed #C9DED1;background:rgba(255,255,255,.55);cursor:pointer}
.bonus-card .br-use b{display:block;font-size:14.5px;color:var(--ink)}
.bonus-card .br-use small{display:block;font-size:12.5px;color:var(--muted)}
.bonus-card .br-use.on{background:rgba(255,216,77,.22)}

/* ---------- savat (telefon): pastki tugmalar — to'lovga urg'u ---------- */
.actions.cart-acts{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:stretch}
.cart-acts .ca-sec{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:62px;border-radius:16px;
  background:var(--bg-2);border:1px solid var(--line);color:var(--ink);font-size:10.5px;font-weight:700;line-height:1.1;padding:0 9px;min-width:62px;text-align:center}
.cart-acts .ca-sec span{white-space:nowrap}
.cart-acts .ca-sec:active{transform:scale(.95);background:var(--soft)}
.cart-acts .ca-pay{display:flex;align-items:center;justify-content:space-between;gap:10px;height:62px;border-radius:16px;padding:0 10px 0 16px;
  background:var(--mark);color:var(--ink);box-shadow:0 12px 24px -12px rgba(200,150,0,.75),inset 0 -2px 0 rgba(0,0,0,.08);transition:transform .15s}
.cart-acts .ca-pay:active{transform:scale(.97)}
.cart-acts .ca-pay-l{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15}
.cart-acts .ca-pay-l small{font-size:12px;font-weight:700;opacity:.75}
.cart-acts .ca-pay-l b{font-size:18px;font-weight:800;white-space:nowrap}
.cart-acts .ca-pay-go{width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--mark);display:grid;place-items:center;flex-shrink:0}
body.easy .cart-acts .ca-sec{font-size:11.5px}

/* obuna to'lovi: to'lov usuli tugmalari — teng ustunlar, oraliq bilan */
.pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:4px}
.pay-grid .pay-opt{min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;padding:12px 10px}
@media (max-width:340px){.pay-grid{grid-template-columns:1fr}}
/* obuna to'lovi: promokod maydoni — matn chapda, «Qo'llash» ichkarida, chetga yopishmaydi */
.promo-field .suffix{padding:4px;gap:6px;border-radius:var(--r)}
.promo-field .suffix input{text-align:left;padding:10px 12px;font-size:15px;width:auto}
.promo-field .suffix .link{flex-shrink:0;padding:9px 14px;border-radius:10px;background:var(--soft);color:var(--ink);font-weight:700;white-space:nowrap;text-decoration:none}
.promo-field .suffix .link:active{transform:scale(.96)}
/* kassa sarlavhasi (telefon): ism yashirin bo'lsa — avatar doiraning aynan o'rtasida */
body.ek-m .ek-head-r .seller-btn.compact:not(.personal){width:46px;height:46px;padding:0;gap:0;justify-content:center;border-radius:50%;box-shadow:var(--sh-xs)}
body.ek-m .ek-head-r .seller-btn.compact:not(.personal) .sel-av{width:36px !important;height:36px !important;font-size:13px !important}
/* Telegram'ga ulash oynasi: yuborish tugmalari */
.tg-inv .tg-inv-h{margin:14px 0 8px}
.tg-inv .actions{margin-top:0}

/* ============ POLKALAR (pages/shelves.js) ============ */
.loc-b{display:inline-flex;align-items:center;gap:3px;padding:1px 7px 1px 5px;border-radius:999px;background:#EAF2FF;color:#2456B8;font-size:11.5px;font-weight:700;line-height:1.6;white-space:nowrap;cursor:pointer;vertical-align:middle}
.loc-b svg{width:12px;height:12px}
.loc-b:hover{background:#D9E7FF}
.loc-row{display:flex;align-items:center;gap:8px;margin:-2px 0 12px;padding:9px 12px;border-radius:12px;background:#F2F6FF;color:#2456B8}
.loc-row .btn{flex-shrink:0}
.shf-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.shf-top .search{min-width:220px;flex:1}
.shf-hits{margin-top:10px}
.shf-hits .loc-big{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:#2456B8;font-size:13px;text-align:right}
.shf-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0 10px}
.shf-bar .btns{display:flex;gap:8px;flex-wrap:wrap}
.shf-bar .btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.shf-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.shf-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.shf-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.shf-map{--shf-row:30px;position:relative;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:4px;min-width:640px;padding:10px;border-radius:16px;
  background:var(--paper) repeating-linear-gradient(90deg,transparent 0 calc(100%/24 - 1px),rgba(15,61,46,.05) calc(100%/24 - 1px) calc(100%/24)) ;border:1px solid var(--line)}
.shf-box{position:relative;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;padding:5px 8px;border-radius:10px;cursor:pointer;
  background:color-mix(in srgb,var(--c) 12%,#fff);border:1.5px solid color-mix(in srgb,var(--c) 45%,#fff);color:var(--c);transition:transform .15s,box-shadow .15s,opacity .2s;overflow:hidden}
.shf-box b{font-size:15px;font-weight:800;line-height:1.1;white-space:nowrap}
.shf-box small{font-size:11px;color:var(--text);opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shf-box em{font-style:normal;font-size:10.5px;opacity:.7;white-space:nowrap}
.shf-box:hover{box-shadow:0 6px 16px -10px color-mix(in srgb,var(--c) 70%,#000)}
.shf-box.hl{background:var(--c);color:#fff;border-color:var(--c);transform:scale(1.04);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 30%,transparent);z-index:2;animation:shfPulse 1.4s ease-in-out 2}
.shf-box.hl small,.shf-box.hl em{color:#fff;opacity:.9}
.shf-box.dim{opacity:.35}
@keyframes shfPulse{50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--c) 12%,transparent)}}
.shf-map.edit .shf-box{cursor:grab;touch-action:none;border-style:dashed}
.shf-map.edit .shf-box.drag{cursor:grabbing;z-index:3;box-shadow:0 12px 24px -10px rgba(0,0,0,.35)}
.shf-rs{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--c) 50%);border-radius:0 0 8px 0}
/* javon old ko'rinishi */
.shf-front{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:#F4F1EA;border:2px solid #D9D2C3}
.shf-lv{display:flex;gap:8px;align-items:stretch;padding:6px;border-radius:10px;background:#fff;border-bottom:4px solid #CBBFA6}
.shf-lv.on{box-shadow:0 0 0 2px #2456B8}
.shf-lv-n{flex:0 0 46px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;background:#EFEAE0;font-weight:800;font-size:18px;color:#6B5B3E}
.shf-lv-n small{font-size:9.5px;font-weight:600}
.shf-cells{flex:1;display:grid;gap:6px;min-width:0}
.shf-cell{position:relative;display:flex;flex-wrap:wrap;gap:5px;align-content:flex-start;min-height:42px;padding:5px;border-radius:8px;background:#FBFAF7;border:1px dashed #E2DACB}
.shf-cell>i{position:absolute;top:2px;right:5px;font-style:normal;font-size:10px;color:#A0937A}
.shf-cell.on{background:#EAF2FF;border:1.5px solid #2456B8}
.shf-chip{display:flex;flex-direction:column;align-items:flex-start;max-width:100%;padding:4px 8px;border-radius:8px;background:var(--bg-2);border:1px solid var(--line);text-align:left;cursor:pointer;min-width:0}
.shf-chip span{font-size:12.5px;font-weight:600;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shf-chip small{font-size:10.5px;color:var(--muted)}
.shf-chip.on{background:#2456B8;border-color:#2456B8;color:#fff;box-shadow:0 0 0 3px rgba(36,86,184,.25);animation:shfChip 1s ease-in-out 3}
.shf-chip.on small{color:#fff;opacity:.85}
@keyframes shfChip{50%{transform:scale(1.06)}}
.shf-acts{display:flex;flex-wrap:wrap;gap:8px}
.shf-acts .btn{flex:1 1 auto}
/* joy biriktirish */
.la-loc{padding:10px 12px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);margin-bottom:10px}
.la-loc.on{background:#F2F6FF;border-color:#C9DAFB}
.la-now{display:flex;align-items:center;gap:6px;margin-top:4px;color:#2456B8}
.la-done{max-height:220px;overflow:auto}
.loc-sug{margin:8px 0 0}
/* yig'ish ro'yxati */
.pick-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.pick-row small{display:block;font-size:12px;color:var(--muted)}
.pick-row input{width:20px;height:20px;flex-shrink:0}
.pick-row:has(input:checked){opacity:.45}
.pick-row:has(input:checked) b{text-decoration:line-through}
.pick-loc{flex:0 0 auto;min-width:58px;padding:4px 8px;border-radius:8px;background:#EAF2FF;color:#2456B8;font-weight:800;text-align:center}
@media (max-width:600px){.shf-map{--shf-row:34px}.shf-lv-n{flex-basis:38px;font-size:16px}.shf-chip span{max-width:120px}}

/* ============ DO'KON REJASI (pages/shelf-plan.js) ============ */
.fp-empty{padding:34px 18px}
.fp-dim{font-weight:700;color:var(--ink)}
.fp-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}
.fp-tools .chip{display:inline-flex;align-items:center;gap:5px}
.fp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 2px 8px}
.fp-frame{min-width:max(100%,calc(var(--fpw) * 34px));max-width:100%}
.fp-rx{position:relative;height:22px;margin-left:26px;border-bottom:1.5px solid #9AA6A0;display:flex;justify-content:center}
.fp-rx::before,.fp-rx::after{content:"";position:absolute;bottom:-5px;width:1.5px;height:9px;background:#9AA6A0}
.fp-rx::before{left:0}.fp-rx::after{right:0}
.fp-rx span,.fp-ry span{font-size:11.5px;font-weight:700;color:#6B7871;background:var(--bg);padding:0 6px;transform:translateY(9px)}
.fp-body{display:flex;gap:0;margin-top:8px}
.fp-ry{position:relative;flex:0 0 26px;border-right:1.5px solid #9AA6A0;margin-right:0;display:flex;align-items:center;justify-content:center}
.fp-ry span{writing-mode:vertical-rl;transform:rotate(180deg) translateX(-2px)}
.fp{position:relative;flex:1;min-width:0;border:6px solid #3B4440;border-radius:4px;box-sizing:border-box;
  background-color:#FBFAF6;background-image:linear-gradient(rgba(15,61,46,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(15,61,46,.07) 1px,transparent 1px);
  background-size:var(--gx) var(--gy);box-shadow:0 10px 30px -18px rgba(0,0,0,.4);margin-left:8px}
.fp-it{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;font-size:11px;font-weight:700;line-height:1.1;color:#3B4440;user-select:none}
.fp-it span{padding:0 3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-wall{background:#3B4440;border-radius:1px}
.fp-door{background:#fff;border:2px dashed #1E7F52;color:#1E7F52;z-index:1}
.fp-door::after{content:"";position:absolute;inset:auto 0 50% 0;height:0}
.fp-window{background:repeating-linear-gradient(90deg,#9FD3F2 0 6px,#CDEBFB 6px 12px);border:1px solid #6BB3DE}
.fp-kassa{background:#FFE9A8;border:1.5px solid #D9A400;border-radius:6px;color:#7A5A00}
.fp-column{background:#5D6863;border-radius:2px}
.fp-room{background:rgba(110,139,125,.08);border:2px dashed #8EA197;border-radius:4px;align-items:flex-start;justify-content:flex-start;padding:4px;color:#5B6D63;z-index:0}
.fp-fridge{background:#E4F3FB;border:1.5px solid #6BB3DE;border-radius:4px;color:#2A6F96}
.fp-vitrina{background:#F1ECFF;border:1.5px solid #9B87E0;border-radius:4px;color:#5B44B5}
.fp-table{background:#EFE6D8;border:1.5px solid #B99B6B;border-radius:4px;color:#6E5530}
.fp-stairs{background:repeating-linear-gradient(0deg,#E6E9E7 0 7px,#C9CFCC 7px 9px);border:1.5px solid #9AA6A0;color:#5D6863}
.fp-shelf{background:color-mix(in srgb,var(--c) 16%,#fff);border:2px solid var(--c);border-radius:3px;color:var(--c);z-index:2;cursor:pointer;flex-direction:column}
.fp-shelf b{font-size:12px;font-weight:800;white-space:nowrap}
.fp-shelf:hover{box-shadow:0 4px 12px -6px color-mix(in srgb,var(--c) 70%,#000)}
.fp-shelf.hl{background:var(--c);color:#fff;z-index:4;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 30%,transparent);animation:shfPulse 1.4s ease-in-out 2}
.fp-shelf.dim{opacity:.3}
.fp.edit .fp-it{cursor:grab;touch-action:none}
.fp.edit .fp-it.drag{cursor:grabbing;z-index:6;opacity:.85}
.fp-it.sel{outline:2.5px solid #2456B8;outline-offset:2px;z-index:5}
.fp-rs{position:absolute;right:0;bottom:0;width:12px;height:12px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#2456B8 50%);z-index:2}
.fp-sel{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--sh-xs)}
.fp-sel-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.fp-sel-h .ctl{flex:1;min-width:160px}
.fp-ins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.fp-in small{display:block;font-size:11.5px;color:var(--muted);margin-bottom:3px}
.fp-in span{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}
.fp-in input{border:0;min-width:0;width:100%;padding:8px 8px;font-size:14px;font-weight:700}
.fp-in input:focus{outline:none}
.fp-in em{font-style:normal;padding:0 8px;color:var(--muted);font-size:12px}
.fp-sel .btns{display:flex;flex-wrap:wrap;gap:8px}
.fp-selhint{margin-top:10px}
@media (max-width:600px){.fp-ins{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-it{font-size:9.5px}.fp{border-width:4px}}
.fp-it.v span,.fp-it.v b{writing-mode:vertical-rl;transform:rotate(180deg)}
.fp-tools{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:thin}
.fp-tools .chip{flex-shrink:0;white-space:nowrap}
.fp-tools>span{flex-shrink:0}

/* ---------- do'kon rejasi: tutqichlar, kattalashtirish, fon rasm, AI ---------- */
.fp-it.sel{overflow:visible}
.fp.edit .fp-it::before{content:"";position:absolute;inset:-7px}      /* kichik narsani ham ushlash oson bo'lsin */
.fp-h{display:none;position:absolute;z-index:7;background:#fff;border:2px solid #2456B8;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px rgba(0,0,0,.25);touch-action:none}
.fp.edit .fp-it.sel .fp-h,.fp.edit .fp-it:hover .fp-h{display:block}
.fp-h-e{right:-9px;top:50%;margin-top:-7px;cursor:ew-resize}
.fp-h-s{bottom:-9px;left:50%;margin-left:-7px;cursor:ns-resize}
.fp-h-se{right:-9px;bottom:-9px;cursor:nwse-resize;border-radius:4px;background:#2456B8}
.fp-rs{display:none}
.fp-zoom{display:flex;align-items:center;gap:6px;margin:0 0 6px;justify-content:flex-end}
.fp-zoom .icon-btn{min-width:34px;font-weight:800;font-size:15px}
.fp-zoom .icon-btn:nth-child(2){font-size:12px;padding:0 10px;width:auto}
.fp-sep{width:1px;height:22px;background:var(--line);flex-shrink:0;margin:0 2px}
.fp-bg{position:absolute;z-index:0;pointer-events:none;opacity:var(--op,.35)}
.fp-bg img{width:100%;height:100%;object-fit:fill;display:block;user-select:none;-webkit-user-drag:none}
.fp-bg.edit{pointer-events:auto;cursor:grab;outline:2px dashed #2456B8;touch-action:none;z-index:8}
.fp-bg.edit .fp-h{display:block}
.fp.bgedit .fp-it{opacity:.55;pointer-events:none}
.fp-bg-prev{border-radius:12px;overflow:hidden;border:1px solid var(--line);max-height:220px;display:flex;justify-content:center;background:#f4f4f2;margin-bottom:10px}
.fp-bg-prev img{max-width:100%;max-height:220px;object-fit:contain}
.fp-bg-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* AI qoralamasi */
.fp-draft-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 8px;padding:12px 14px;border-radius:14px;background:#F2F6FF;border:1px solid #C9DAFB}
.fp-draft-bar small{display:block;margin-top:3px}
.fp-draft-bar .btns{display:flex;gap:8px}
.fp.draft .fp-it.c-mid{outline:2px dashed #D9A400;outline-offset:1px}
.fp.draft .fp-it.c-lo{outline:2.5px dashed #C8372D;outline-offset:1px}
.fp-legend-conf{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:6px}
.fp-legend-conf i{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;border:2px solid #1E7F52}
.fp-legend-conf i.c-mid{border:2px dashed #D9A400}.fp-legend-conf i.c-lo{border:2.5px dashed #C8372D}
.fp-ai-tips{margin:0 0 12px 18px;padding:0;font-size:13px;color:var(--muted);line-height:1.6}
.ai-wait{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 10px;text-align:center}
.ai-wait .typing{transform:scale(1.4)}
/* javon rasmidan — ko'rib chiqish */
.shp-list{max-height:min(60vh,520px);overflow:auto;margin:6px 0 4px}
.shp-lvh{position:sticky;top:0;background:var(--paper);font-weight:800;font-size:13px;color:var(--ink);padding:8px 2px 4px;border-bottom:1px solid var(--line);z-index:1}
.shp-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line-2,var(--line))}
.shp-row input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
.shp-row small{display:block;font-size:12px}
.shp-row.none{opacity:.6}
.shp-x{width:20px;text-align:center;color:var(--muted)}
.shp-lv{display:flex;flex-direction:column;align-items:center;font-size:10.5px;color:var(--muted)}
.shp-lv select{border:1.5px solid var(--line);border-radius:8px;padding:4px 6px;font-weight:700;background:var(--paper)}
@media (max-width:600px){.fp-h{width:18px;height:18px}.fp-h-e{right:-11px;margin-top:-9px}.fp-h-s{bottom:-11px;margin-left:-9px}.fp-h-se{right:-11px;bottom:-11px}.shp-row{flex-wrap:wrap}}
.fp.edit .fp-it{overflow:visible}

/* ---------- do'kon shakli va kichik xarita ---------- */
.fp.shaped{border-color:transparent;box-shadow:none;background-color:transparent}
.fp-shape{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.fp-shape .fp-out{fill:var(--bg)}
.fp-shape .fp-wall-o{fill:none;stroke:#3B4440;stroke-width:6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.fp.shaped{background-image:linear-gradient(rgba(15,61,46,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(15,61,46,.07) 1px,transparent 1px);background-color:#FBFAF6}
.fp-shape+.fp-it,.fp .fp-it{z-index:2}
.fp-vtx{position:absolute;z-index:9;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;border:3px solid #2456B8;box-shadow:0 2px 6px rgba(0,0,0,.3);cursor:grab;touch-action:none}
.fp-vtx.on{background:#2456B8;box-shadow:0 0 0 5px rgba(36,86,184,.25)}
.fp.shapeedit .fp-it{opacity:.5;pointer-events:none}
.fp-shps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.fp-shp{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);text-align:center}
.fp-shp svg{width:56px;height:40px}
.fp-shp small{font-size:11.5px;color:var(--muted)}
.fp-shp.on{border-color:var(--ink);background:var(--soft)}
.fp-mini{margin:4px 0 12px;padding:8px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line)}
.fp-mini .fp{margin:0;border-width:4px;max-height:280px;max-width:100%;margin-inline:auto}
.fp-mini .fp-it{font-size:9px}
.fp-mini .fp-shelf.dim{opacity:.28}
.fp-mini .fp-shelf.hl{z-index:5}
.fp-path{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.fp-path path{fill:none;stroke:#2456B8;stroke-width:3;stroke-dasharray:7 6;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:fpDash 1s linear infinite}
@keyframes fpDash{to{stroke-dashoffset:-26}}
.fp-you{position:absolute;z-index:6;transform:translate(-50%,-115%);background:#1E7F52;color:#fff;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:999px;white-space:nowrap}
.fp-mini .fp-shelf.hl{outline:3px solid #E5484D;outline-offset:2px;animation:fpHl 1.2s ease-in-out infinite}
.fp-mini .fp-shelf.hl b{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-6px);background:#E5484D;color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.25)}
@keyframes fpHl{50%{outline-offset:6px;outline-color:rgba(229,72,77,.35)}}
.fp-mini .fp-shelf.hl,.fp-mini .fp{overflow:visible}
.fp-pdf-pgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:60vh;overflow:auto;padding:2px}
.fp-pdf-pg{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink)}
.fp-pdf-pg:hover,.fp-pdf-pg:focus-visible{border-color:var(--ink)}
.fp-pdf-th{display:grid;place-items:center;width:100%;aspect-ratio:3/4;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.fp-pdf-th img{width:100%;height:100%;object-fit:contain}
.fp-ic-danger{background:#FDECEC !important;color:#C9302C !important}
.fp-rs-chk{display:flex;align-items:flex-start;padding:12px;border-radius:12px;background:var(--bg-2);margin:6px 0 12px}
.fp-rs-chk input{margin-top:2px;flex:none}
.fp-rs-chk span{display:flex;flex-direction:column;gap:3px}
.fp-tools .chip.danger-t{color:#C9302C}

/* ---------- inventarizatsiya (sanash) va tovar joyi qatori — tor ekran ---------- */
.cd-note{flex-wrap:nowrap;align-items:flex-start}
.cd-note>svg{flex:none;margin-top:2px}
.cd-note>span{min-width:0;line-height:1.45}
.cd-note>span .muted{display:block;margin:3px 0 0}
.loc-row{flex-wrap:wrap;row-gap:8px}
.loc-row>svg{flex:none}
.loc-row .grow{flex:1 1 180px;min-width:0;line-height:1.35}
.loc-acts{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.loc-acts .btn{white-space:nowrap}
@media (max-width:640px){
  .cnt-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cnt-form input{grid-column:1/-1;width:100%;min-width:0}
  .cnt-form .btn{width:100%;justify-content:center}
  .cnt-wrap{overflow:visible;background:transparent;border:0;box-shadow:none;padding:0}
  .tbl-wrap .tbl.cnt-live,.cnt-live tbody{display:block;width:100%;min-width:0}
  .cnt-live thead{display:none}
  .cnt-live tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px 14px;margin-bottom:8px;border-radius:16px;background:var(--paper);border:1px solid var(--line)}
  .tbl-wrap .cnt-live tbody td{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0;border:0;text-align:left;min-width:0}
  .cnt-live td[data-l]::before{content:attr(data-l);font-size:11.5px;font-weight:600;color:var(--muted)}
  .cnt-live td.cnt-name{grid-column:1/-1;padding-bottom:8px;border-bottom:1px dashed var(--line)}
  .cnt-live .cnt-in{width:100%;max-width:none;height:44px;font-size:16px;text-align:left}
  .cnt-foot .actions.two{display:flex;flex-direction:column-reverse;gap:8px}
  .cnt-foot .actions.two .btn{min-height:48px;white-space:normal}
  .loc-acts{margin-left:24px}
}

/* ---------- optom bozor AI: saralash va xarita ---------- */
.am-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 12px}
.am-tools .seg{flex:none}
.am-tools .grow{min-width:120px}
.am-tools .btn.on{background:var(--soft);border-color:var(--ink)}
.am-map{margin:0 0 14px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.am-map #amMap{height:320px}
.am-km{display:inline-flex;align-items:center;gap:2px;font-weight:700;color:var(--ink);text-decoration:underline dotted;text-underline-offset:2px;padding:0;background:none;border:0;cursor:pointer;font-size:inherit}
.am-near{background:#E7F4EC !important;color:#1E7F52 !important}
.am-cheap{background:#FFF4CC !important;color:#8A6400 !important}
@media (max-width:640px){.am-map #amMap{height:260px}.am-tools .grow{order:3;flex-basis:100%}}

/* QR yorliqlar: tanlov tugmalari tor ekranda sig'adi */
.seg.shl-seg{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px;width:100%;overflow:visible}
.seg.shl-seg button{white-space:normal;line-height:1.25;min-height:44px;padding:8px 10px;text-align:center;min-width:0}
/* PIN oynasi: ism markazda (umumiy sarlavhadagi o'ng bo'shliq ikki tomonga teng) */
.sheet .sel-pin h3,.sel-pin h3{justify-content:center;text-align:center;padding-left:48px;padding-right:48px;width:100%}
/* yig'ilgan menyu: aylantirish chizig'i joy olmasin — ikonkalar logotip va pastki tugmalar bilan bir chiziqda */
@media (min-width:1024px){
  body.side-min .side-nav{scrollbar-width:none;-ms-overflow-style:none;padding-left:0;padding-right:0}
  body.side-min .side-nav::-webkit-scrollbar{display:none;width:0;height:0}
  body.side-min .side-nav .side-item{margin-left:auto;margin-right:auto}
}

/* eski davr sotuvlari serverdan yuklanmoqda */
.sh-load{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#EEF4FF;color:#2456B8;font-size:13.5px;font-weight:600}
.sh-load .typing{flex:none}
