:root{color-scheme:light}
html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
/* Savdo Daftari — chap tomonda menyu, o'ngda ish maydoni; telefonda menyu tepaga o'tadi */
:root{
  --bg:#eef2f0; --side:#e3e9e6; --surface:#ffffff; --field:#f7f9f8;
  --ink:#16201c; --muted:#5a6a63; --line:#d5ddd9;
  --accent:#0d6650; --accent-ink:#ffffff;
  --good:#167a3e; --warn:#a85a07; --bad:#b0281c;
  --f-display:'Unbounded', 'Segoe UI', system-ui, sans-serif;
  --f-body:'Onest', 'Segoe UI', system-ui, sans-serif;
  --f-mono:'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0e1412; --side:#121a17; --surface:#17211d; --field:#1c2723;
  --ink:#e4ece8; --muted:#92a39b; --line:#2a3732;
  --accent:#43c39c; --accent-ink:#05231a;
  --good:#5fd08b; --warn:#eea54b; --bad:#f07a6e; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e1412; --side:#121a17; --surface:#17211d; --field:#1c2723;
  --ink:#e4ece8; --muted:#92a39b; --line:#2a3732;
  --accent:#43c39c; --accent-ink:#05231a;
  --good:#5fd08b; --warn:#eea54b; --bad:#f07a6e; color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5}
button,input,select,textarea{font:inherit;color:inherit}
.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}

.side{background:var(--side);border-right:1px solid var(--line);padding-block:26px;padding-inline:18px;
  position:sticky;top:env(safe-area-inset-top,0px);height:100vh;display:flex;flex-direction:column;gap:26px}
.brand{font-family:var(--f-display);font-weight:700;font-size:19px;line-height:1.1;letter-spacing:-.01em}
.brand small{display:block;font-family:var(--f-mono);font-weight:400;font-size:11px;color:var(--muted);letter-spacing:.04em;margin-top:6px}
.brand b{color:var(--accent)}
nav{display:flex;flex-direction:column;gap:2px}
nav button{background:none;border:0;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer;color:var(--muted);font-weight:500}
nav button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--ink)}
nav button[aria-current="page"]{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:600}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--muted)}
.side-foot .acts{display:flex;gap:6px;flex-wrap:wrap}

main{padding-block:30px 60px;padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px));min-width:0}
.wrap{max-width:1160px;display:flex;flex-direction:column;gap:18px}
.page-h h1{font-family:var(--f-display);font-weight:700;font-size:22px;margin:0;letter-spacing:-.01em;text-wrap:balance}
.page-h p{margin:4px 0 0;color:var(--muted);max-width:65ch}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}
.val{font-family:var(--f-mono);font-weight:600;font-size:21px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.val small{font-size:12px;font-weight:400;color:var(--muted);margin-left:4px}
.sub{font-size:12.5px;color:var(--muted)}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.panel h2{font-family:var(--f-display);font-weight:500;font-size:15px;margin:0}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px}

.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
.num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px}
.mut{color:var(--muted)}
.items{font-size:13px;color:var(--muted);max-width:42ch}
.acts-c{white-space:nowrap;text-align:right}

.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.chip.ok{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}
.chip.low{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}
.chip.out{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.chip.neu{background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}

label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);font-weight:500;min-width:0}
input,select,textarea{background:var(--field);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-width:0;width:100%}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.form .grow{flex:1 1 220px}
.form .w{flex:0 1 140px}
.btn{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--muted)}
.btn.sm{padding:4px 10px;font-size:13px;font-weight:500}
.btn.danger,.btn[data-armed]{background:var(--bad);border-color:var(--bad);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}
.hint{font-size:13px;color:var(--muted);min-height:1.3em}

.totals{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end;justify-content:flex-end;border-top:1px dashed var(--line);padding-top:14px}
.totals .t{display:flex;flex-direction:column;align-items:flex-end}
.totals .w{flex:0 1 170px}
.checkout{display:flex;flex-direction:column;gap:12px;border-top:1px dashed var(--line);padding-top:14px}
.form .narrow{flex:0 1 90px}
.wallets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.wl{display:flex;flex-direction:column;gap:4px;min-width:0}
.wl-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.wl-h label{color:var(--ink);font-weight:600;font-size:13px}
.wl input{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.link{background:none;border:0;padding:0;color:var(--accent);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.hint.err{font-family:inherit;color:var(--bad)}
.tiles.sm{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.tiles.sm .val{font-size:18px}
td.pays{font-size:13px;white-space:nowrap}
.sel-sm{width:auto;padding:3px 6px;font-size:13px}
.pos{color:var(--good)}
.neg{color:var(--bad)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{background:transparent;border:0;padding:6px 12px;cursor:pointer;color:var(--muted);font-weight:500;font-size:13.5px}
.seg button+button{border-left:1px solid var(--line)}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);font-weight:600}

.bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;height:200px;padding-top:6px}
.bar{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}
.bar .v{font-family:var(--f-mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.stick{width:100%;max-width:46px;border-radius:6px 6px 2px 2px;background:color-mix(in srgb,var(--accent) 22%,transparent);position:relative;min-height:2px;display:flex;align-items:flex-end}
.stick i{display:block;width:100%;background:var(--accent);border-radius:2px}
.bar .d{font-size:12px;color:var(--muted)}
.bar.today .d{color:var(--ink);font-weight:600}
.legend{display:flex;gap:16px;font-size:12.5px;color:var(--muted)}
.legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;background:var(--accent)}
.legend span.soft::before{background:color-mix(in srgb,var(--accent) 22%,transparent)}

textarea.sql{font-family:var(--f-mono);font-size:13.5px;min-height:150px;resize:vertical;line-height:1.55}
pre{font-family:var(--f-mono);font-size:12.5px;background:var(--field);border:1px solid var(--line);border-radius:8px;padding:12px;overflow-x:auto;margin:0;line-height:1.55}
.presets{display:flex;flex-wrap:wrap;gap:6px}
.err{color:var(--bad);font-family:var(--f-mono);font-size:13px}
details summary{cursor:pointer;color:var(--muted);font-weight:500}
.empty{color:var(--muted);text-align:center;padding:18px 8px;font-size:14px}
.note{font-size:12.5px;color:var(--muted);background:color-mix(in srgb,var(--warn) 9%,transparent);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent);border-radius:8px;padding:8px 12px}

.sync{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.sync i{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.sync.ok i{background:var(--good)}
.sync.wait i{background:var(--warn);animation:pulse 1.2s infinite}
.sync.bad i{background:var(--bad)}
@keyframes pulse{50%{opacity:.35}}

.scan{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;background:color-mix(in srgb,var(--accent) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:10px;padding:12px 14px}
.scan .ico{flex:none;width:34px;height:34px;color:var(--accent);align-self:center}
.scan label{flex:1 1 240px;color:var(--ink);font-weight:600}
.scan input{font-family:var(--f-mono);font-size:17px;letter-spacing:.06em;padding:10px 12px;background:var(--surface)}
.scan input:focus{border-color:var(--accent)}
.scan .live{font-size:12px;color:var(--muted);font-weight:500}
.scan .live.on{color:var(--good)}
.notice{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-radius:8px;padding:10px 12px;font-size:14px;background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}
.notice.good{background:color-mix(in srgb,var(--good) 10%,transparent);border-color:color-mix(in srgb,var(--good) 30%,transparent)}
.code{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.03em}
.qty{display:inline-flex;align-items:center;gap:4px}
.qty button{width:26px;height:26px;border-radius:6px;border:1px solid var(--line);background:var(--field);cursor:pointer;line-height:1;padding:0}
.qty button:hover{border-color:var(--muted)}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media (prefers-reduced-motion: reduce){.sync.wait i{animation:none}}

#toast{position:fixed;right:max(16px,calc(env(safe-area-inset-right,0px) + 16px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:500;font-size:14px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;max-width:calc(100% - 32px);z-index:20}
#toast.show{opacity:1;transform:none}
#toast.bad{background:var(--bad);color:#fff}
@media (prefers-reduced-motion: reduce){#toast{transition:none}}

@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding-block:16px;
    padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));gap:12px}
  nav{flex-direction:row;flex-wrap:wrap;gap:4px}
  nav button{padding:6px 10px;font-size:14px}
  .side-foot{margin-top:0;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
  main{padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .bars{gap:5px;height:170px}
  .bar .v{font-size:9.5px}
}

.login{min-height:100vh;display:grid;place-items:center;padding-block:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.login form{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:16px}
.login .brand{font-size:22px}
.login .err{min-height:1.2em}
.boot{display:grid;place-items:center;min-height:100vh;color:var(--muted)}

/* Foydalanuvchi va ruxsatlar */
.who{display:flex;flex-direction:column;align-items:flex-start;gap:0;background:none;border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--muted);font-size:12.5px;text-align:left;min-width:0}
.who b{color:var(--ink);font-weight:600;font-size:13.5px}
.who:hover{border-color:var(--muted)}
body.no-del :is([data-del],[data-pdel],[data-kdel],[data-cdel],[data-catdel],[data-del-inv],[data-recdel]){display:none}
body.no-admin .admin-only{display:none}
.form .wide{flex:0 1 190px}
table.perm th.c,table.perm td.c{text-align:center}
table.perm input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}

/* DT-KT va akt sverka */
table.grid th,table.grid td{border:1px solid var(--line)}
table.grid th.c,td.c{text-align:center}
table.grid tr.sum td{font-weight:600;background:color-mix(in srgb,var(--accent) 7%,transparent)}
.link.strong{font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;text-align:left}
.link.strong:hover{color:var(--accent);text-decoration:underline}
label.check{flex-direction:row;align-items:center;gap:8px;color:var(--ink);padding-bottom:9px}
label.check input{width:auto}
.akt-t{font-family:var(--f-display);font-size:16px;text-align:center;margin:0;line-height:1.35}
.akt-t small{font-family:var(--f-body);font-weight:400;font-size:13px;color:var(--muted)}
.akt-sub{text-align:center;margin:0;color:var(--muted)}
.akt-res{margin:0;font-size:14.5px}
.sign{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.sign p{margin:14px 0 0}
.print-only{display:none}
@media print{
  :root,:root:not([data-theme="light"]),:root[data-theme="dark"]{--bg:#fff;--surface:#fff;--field:#fff;--ink:#000;--muted:#333;--line:#000;--accent:#000;--akt:#16505c;--akt-ink:#16505c;--akt-cell:#fdf6d8;--akt-mark:#ede4fb;color-scheme:light}
  @page{size:A4 portrait;margin:12mm}
  body{background:#fff;color:#000;font-size:11px}
  .side,.no-print,#toast{display:none!important}
  .app{display:block}
  main{padding:0}
  .wrap{max-width:none;gap:0}
  .panel{border:0;padding:0;border-radius:0}
  .print-only{display:block}
  .tbl{overflow:visible}
  table{font-size:10.5px}
  th,td{padding:3px 5px}
  table.grid tr.sum td{background:#eee;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .link.strong{font-size:inherit;color:#000}
  .sub{color:#333}
  tr{break-inside:avoid}
}

/* Akt sverka varag'i (jadval ko'rinishi) */
:root{--akt:#16505c;--akt-ink:#16505c;--akt-cell:#fdf6d8;--akt-mark:#ede4fb;--akt-btn:#6d3fd1}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--akt:#1d6676;--akt-ink:#86d2df;--akt-cell:#2b2a1d;--akt-mark:#2f2546;--akt-btn:#8a63e6}}
:root[data-theme="dark"]{--akt:#1d6676;--akt-ink:#86d2df;--akt-cell:#2b2a1d;--akt-mark:#2f2546;--akt-btn:#8a63e6}
.akt-sheet{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.akt-band{background:var(--akt);color:#fff;text-align:center;font-family:var(--f-display);font-weight:700;font-size:19px;padding:14px 12px}
.akt-band2{background:color-mix(in srgb,var(--akt) 13%,var(--surface));color:var(--akt-ink);text-align:center;font-style:italic;padding:8px 12px}
.akt-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;padding:16px 18px}
.akt-cap{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--akt-ink);border-bottom:2px solid var(--akt);padding-bottom:4px}
.akt-kv{display:grid;grid-template-columns:minmax(110px,40%) minmax(0,1fr);align-items:center;gap:8px;border-bottom:1px solid var(--line);min-height:40px;font-size:14px;color:var(--ink);font-weight:400}
.akt-kv>span{color:var(--muted)}
.akt-kv.in select,.akt-kv.in input{background:var(--akt-cell);border:0;border-radius:0;font-weight:600;height:100%;min-height:39px}
.akt-kv .v{text-align:right;font-family:var(--f-mono);font-size:15px}
.akt-kv.total{background:color-mix(in srgb,var(--akt) 12%,var(--surface));border-top:2px solid var(--akt);font-size:16px;padding-inline:4px}
.akt-kv.total>span{color:var(--akt-ink);font-weight:700}
.akt-kv.total .v{font-size:17px}
.akt-status{text-align:center;font-weight:700;padding:9px;margin-top:6px;border-radius:4px}
.akt-status.bad{background:color-mix(in srgb,var(--bad) 13%,var(--surface));color:var(--bad)}
.akt-status.warn{background:color-mix(in srgb,var(--warn) 15%,var(--surface));color:var(--warn)}
.akt-status.good{background:color-mix(in srgb,var(--good) 13%,var(--surface));color:var(--good)}
.akt-quick{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px}
.akt-box{display:flex;flex-direction:column;min-width:0}
table.akt-table{font-size:14px}
table.akt-table thead th{background:var(--akt);color:#fff;text-align:center;font-size:13px;letter-spacing:.02em;text-transform:none;padding:11px 8px;border:0}
table.akt-table td{border-bottom:1px solid var(--line)}
table.akt-table tbody tr:nth-child(even):not(.akt-row):not(.open) td{background:color-mix(in srgb,var(--akt) 4%,transparent)}
table.akt-table tr.open td{background:color-mix(in srgb,var(--akt) 10%,var(--surface));color:var(--akt-ink);font-style:italic;font-weight:600;border-top:3px solid var(--line)}
table.akt-table tr.akt-row td{background:var(--akt-mark)}
table.akt-table tr.akt-row td:first-child{box-shadow:inset 4px 0 0 var(--akt-btn)}
.btn.akt-btn{background:var(--akt-btn);border-color:var(--akt-btn);color:#fff}
.akt-rec{border:1px solid color-mix(in srgb,var(--akt-btn) 40%,var(--line));background:color-mix(in srgb,var(--akt-btn) 6%,var(--surface));border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.akt-rec h3{margin:0;font-family:var(--f-display);font-weight:500;font-size:15px}
.akt-rec p{margin:0}
.hint.pos{color:var(--good);font-weight:600}
.hint.neg{color:var(--bad);font-weight:600}
@media (max-width:820px){.akt-top{grid-template-columns:minmax(0,1fr)}}
@media print{
  .akt-sheet{border:0;border-radius:0}
  .akt-band,.akt-band2,table.akt-table thead th,table.akt-table tr.open td,table.akt-table tr.akt-row td,.akt-kv.in select,.akt-kv.in input,.akt-kv.total,.akt-status{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .akt-kv.in select{appearance:none}
  .akt-top{padding:10px 0}
}
@media print{
  .sign.print-only{display:grid}
  input[type=date]::-webkit-calendar-picker-indicator{display:none}
}

/* P&L va Balans jadvali */
table.fin{font-size:14px}
table.fin thead th{background:var(--akt);color:#fff;text-transform:none;font-size:13px;letter-spacing:.02em;padding:10px 12px;border:0}
table.fin thead th .sub{color:#d6e7ea;font-weight:400}
table.fin td{padding:7px 12px}
table.fin tr.hdr td{background:color-mix(in srgb,var(--akt) 12%,var(--surface));color:var(--akt-ink);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
table.fin tr.grp td{font-weight:600}
table.fin tr.sub td:first-child{padding-left:30px;color:var(--muted)}
table.fin tr.sub td{font-size:13px}
table.fin tr.sum td{font-weight:700;border-top:1px solid var(--muted)}
table.fin tr.sum.big td{font-size:15px}
table.fin tr.total td{font-weight:700;font-size:15px;background:color-mix(in srgb,var(--akt) 12%,var(--surface));border-top:2px solid var(--akt)}
table.fin tr.pct td{font-style:italic;color:var(--muted);font-size:13px}
table.fin tr.check td{font-weight:700}
table.fin tr.check.good td{background:color-mix(in srgb,var(--good) 12%,var(--surface));color:var(--good)}
table.fin tr.check.bad td{background:color-mix(in srgb,var(--bad) 12%,var(--surface));color:var(--bad)}
@media print{
  table.fin thead th,table.fin tr.hdr td,table.fin tr.total td,table.fin tr.check td{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Menyu guruhlari va Hisobotlar sahifasi */
.nav-grp{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:14px 12px 4px;opacity:.85}
nav button.sub{padding-left:20px}
.rep-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rep-tabs .rt{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 14px;cursor:pointer;color:var(--muted);font-weight:500;font-size:13.5px}
.rep-tabs .rt:hover{border-color:var(--muted);color:var(--ink)}
.rep-tabs .rt[aria-current="page"]{background:var(--akt);border-color:var(--akt);color:#fff;font-weight:600}
.rep-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.rep-card{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--akt);border-radius:12px;padding:18px;cursor:pointer;color:var(--ink);min-height:130px}
.rep-card b{font-family:var(--f-display);font-weight:500;font-size:16px}
.rep-card span{font-size:13.5px;color:var(--muted);line-height:1.45}
.rep-card:hover{border-color:var(--akt);box-shadow:0 2px 10px color-mix(in srgb,var(--akt) 15%,transparent)}
@media (max-width:820px){.nav-grp{display:none}nav button.sub{padding-left:10px}}

/* Filial tanlagich va filial yorlig'i */
.branch-box{display:flex;flex-direction:column;gap:2px;margin-top:-12px}
.branch-box label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.branch-box select{font-weight:600;color:var(--ink);background:var(--surface)}
.branch-box>span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}
.branch-box>b{font-size:14px}
.rep-branch{margin-left:auto;font-size:13px;color:var(--muted)}
.rep-branch b{color:var(--ink)}
.notice-all{border-left:4px solid var(--warn)}
input.br-name{min-width:220px;font-weight:600}
@media (max-width:820px){.branch-box{margin-top:0}.rep-branch{margin-left:0;width:100%}}

/* Etiketkalar (narx yorlig'i) */
.plabel{background:#fff;color:#000;box-sizing:border-box;padding:1.4mm 2mm 1.2mm;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5mm;overflow:hidden;font-family:var(--f-body);text-align:center}
.plabel>*{flex:none;max-width:100%}
.plabel .lb-br{font-size:calc(var(--fn) * .72);color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.plabel .lb-name{font-size:var(--fn);font-weight:700;line-height:1.12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.plabel .lb-price{font-size:var(--fp);font-weight:800;line-height:1.05;white-space:nowrap;letter-spacing:-.01em}
.plabel .lb-price small{font-size:calc(var(--fp) * .42);font-weight:600;color:#222;margin-left:.6mm}
.plabel .lb-bc{flex:1 1 0;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;margin-top:.3mm}
.plabel .lb-bc svg{width:100%;height:100%;display:block}
.plabel .bc-t{font:10px/1 ui-monospace,Menlo,Consolas,monospace;fill:#000}
.lbl-preview{display:flex;flex-wrap:wrap;gap:10px;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:14px}
.lbl-preview .plabel{outline:1px dashed #9aa;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.qty input.lb-cnt{width:58px;padding:3px 6px;text-align:center}
#labelPrint{display:none}
@media print{
  body.labels-mode>*:not(#labelPrint){display:none!important}
  body.labels-mode{background:#fff}
  body.labels-mode #labelPrint{display:block}
  #labelPrint.roll .plabel{break-after:page;page-break-after:always}
  #labelPrint.a4 .sheet{width:210mm;height:296mm;box-sizing:border-box;display:grid;align-content:start;justify-content:start;overflow:hidden;break-after:page;page-break-after:always}
  #labelPrint.a4 .sheet:last-child{break-after:auto;page-break-after:auto}
  #labelPrint .sheet.cut .plabel{outline:.2mm dashed #888;outline-offset:0}
  #labelPrint .plabel{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Inventarizatsiya va tovar kartochkasi */
table.inv input.iv-in{width:110px;text-align:right;font-family:var(--f-mono);padding:4px 8px}
table.inv input.iv-in:not(:placeholder-shown){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--field))}
tr.iv-detail>td{background:var(--field);padding:10px 14px}
table.sub-tbl{font-size:13px}
.pc-tiles{padding:14px 18px}
.pc-tiles .val{font-size:17px}
table.akt-table tr.mv-inv td{background:var(--akt-mark)}
