:root{--bg:#f1f3f8;--card:#fff;--ink:#192033;--mut:#6a7389;--pri:#1d3461;--pri2:#2a4a85;--acc:#e07a00;--ok:#16874a;--bad:#d03030;--line:#e3e7f0;--soft:#f6f8fc;--side:#13203d;--side2:#1b2d54;--sideink:#c9d3ea;--shadow:0 1px 2px rgba(20,33,61,.06),0 4px 14px rgba(20,33,61,.05);--r:14px}
[data-theme=dark]{--bg:#0e1320;--card:#171e30;--ink:#e6eaf5;--mut:#98a2bd;--pri:#5b8def;--pri2:#7aa3ff;--acc:#f0952a;--ok:#35c27a;--bad:#ff6b6b;--line:#27304a;--soft:#1d2540;--side:#0a0f1c;--side2:#151d33;--sideink:#aab4cf;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.25)}
*{box-sizing:border-box}
html{color-scheme:light}[data-theme=dark]{color-scheme:dark}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--pri)}
.hidden{display:none!important}
svg.i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---- қолип: чапда вертикал меню ---- */
.app{display:flex;min-height:100vh}
.side{width:250px;background:var(--side);color:var(--sideink);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30;transition:transform .22s}
.brand{display:flex;align-items:center;gap:11px;padding:18px 18px 14px;color:#fff;font-weight:800;font-size:18px;letter-spacing:.4px}
.brand .logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#f0952a,#d96a00);display:grid;place-items:center;color:#fff}
.brand small{display:block;font-weight:500;font-size:11.5px;opacity:.65;letter-spacing:0}
.side nav{flex:1;overflow-y:auto;padding:6px 10px}
.side nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;margin:2px 0;border-radius:11px;color:var(--sideink);text-decoration:none;font-weight:600}
.side nav a:hover{background:var(--side2);color:#fff}
.side nav a.on{background:linear-gradient(90deg,#e07a00,#f0952a);color:#fff;box-shadow:0 4px 12px rgba(224,122,0,.35)}
.side-foot{padding:12px 14px 16px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:10px}
.who{display:flex;align-items:center;gap:10px;color:#fff}
.who .av{width:34px;height:34px;border-radius:50%;background:var(--side2);display:grid;place-items:center;font-weight:700}
.who small{display:block;opacity:.65;font-size:12px}
.side-foot .btn.out{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--sideink);display:flex;gap:8px;align-items:center;justify-content:center}
.content{flex:1;margin-left:250px;min-width:0}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 22px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar h1{margin:0;font-size:20px}
.burger{display:none;border:0;background:var(--card);border-radius:10px;width:40px;height:40px;place-items:center;box-shadow:var(--shadow);cursor:pointer;color:var(--ink)}
.chip{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:5px 12px;font-size:13px;color:var(--mut);white-space:nowrap}
.sp{flex:1}
.scrim{display:none}
main{max-width:1180px;margin:0 auto;padding:20px 22px 40px}

/* ---- карточкалар ---- */
.card{background:var(--card);border-radius:var(--r);padding:18px;margin-bottom:16px;box-shadow:var(--shadow);border:1px solid var(--line)}
.card h2,.card h3{margin:0 0 12px}
.card h3{font-size:16px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stat{background:var(--card);border-radius:var(--r);padding:15px 16px;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}
.stat .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--pri);flex:none}
.stat .ico.g{background:rgba(22,135,74,.12);color:var(--ok)}.stat .ico.r{background:rgba(208,48,48,.12);color:var(--bad)}.stat .ico.o{background:rgba(224,122,0,.14);color:var(--acc)}
.stat span.t{display:block;color:var(--mut);font-size:12.5px}
.stat b{font-size:19px;line-height:1.25;display:block}
.pos{color:var(--ok)}.neg{color:var(--bad)}.mut{color:var(--mut)}
.panels{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:14px}
.panels .card{margin:0}
.lr{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.lr:last-child{border:0}
.bar-i{height:7px;background:var(--soft);border-radius:9px;overflow:hidden;margin-top:4px}.bar-i i{display:block;height:100%;background:var(--acc)}

/* ---- жадвал ва шакллар ---- */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:12px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:var(--soft)}
th:first-child{border-radius:9px 0 0 9px}th:last-child{border-radius:0 9px 9px 0}
td.r,th.r{text-align:right}
.tw{overflow-x:auto}
tr.clk{cursor:pointer}tr.clk:hover td{background:var(--soft)}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 20%,transparent)}
input:disabled{background:var(--soft)}
input[type=checkbox]{width:auto;transform:scale(1.25);accent-color:var(--acc)}
label{display:block;font-size:12.5px;color:var(--mut);margin:9px 0 4px;font-weight:600}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:140px}
.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.bar>input,.bar>select{flex:1;min-width:140px;width:auto}
.btn{background:var(--pri);color:#fff;border:0;border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:7px;justify-content:center}
[data-theme=dark] .btn{color:#0e1320}
.btn:hover{filter:brightness(1.08)}
.btn.acc{background:var(--acc);color:#fff}.btn.ok{background:var(--ok);color:#fff}.btn.red{background:var(--bad);color:#fff}
.btn.ghost{background:var(--soft);color:var(--ink);border:1px solid var(--line)}
.btn.sm{padding:6px 11px;font-size:13px;border-radius:9px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;background:var(--soft);font-weight:600}
.tag.stock{background:rgba(22,135,74,.14);color:var(--ok)}.tag.sold{background:var(--soft);color:var(--mut)}.tag.scrap,.tag.void{background:rgba(208,48,48,.14);color:var(--bad)}
.cat{margin:16px 0 4px;font-weight:800;color:var(--pri)}
.flex{display:flex;gap:10px;align-items:center}
.err-box{background:rgba(208,48,48,.12);color:var(--bad);padding:9px 12px;border-radius:10px;margin-top:10px}
.switch{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:500;margin:0}
.switch input{order:2;margin-left:auto}
.photo{max-width:90px;max-height:70px;border-radius:9px;object-fit:cover}
.empty{padding:26px;text-align:center;color:var(--mut)}

/* ---- модал ва огоҳнома ---- */
.modal{position:fixed;inset:0;background:rgba(8,12,24,.6);display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow:auto;z-index:50}
.modal-box{background:var(--card);border-radius:var(--r);padding:20px;width:100%;max-width:660px;margin-top:4vh;box-shadow:0 20px 60px rgba(0,0,0,.35);border:1px solid var(--line)}
.modal-box h3{margin-top:0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1c2236;color:#fff;padding:11px 20px;border-radius:99px;z-index:60;max-width:90%;box-shadow:var(--shadow)}
.toast.err{background:var(--bad)}

/* ---- кириш ---- */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 20% -10%,#2a4a85 0,transparent 60%),var(--side)}
.login{width:100%;max-width:380px}
.login .card{padding:28px;border:0}
.login .lg{width:60px;height:60px;border-radius:17px;background:linear-gradient(135deg,#f0952a,#d96a00);display:grid;place-items:center;color:#fff;margin:0 auto 12px}
.login .lg svg{width:32px;height:32px}
.login h1{text-align:center;margin:0 0 2px;font-size:24px}
.login .tools{display:flex;gap:8px;justify-content:center;margin-top:14px}

/* ---- мобил ---- */
@media(max-width:900px){
  .side{transform:translateX(-100%);width:268px}
  body.menu .side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.45)}
  body.menu .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:25}
  .content{margin-left:0}
  .burger{display:grid}
  .topbar{padding:10px 12px}.topbar h1{font-size:17px}
  main{padding:12px 12px 90px}
  .hide-s{display:none}
  th,td{padding:9px 5px;font-size:14px}
  .card{padding:14px}
}
/* ---- чоп этиш ---- */
#printbox{display:none}
@media print{body.printing .app,body.printing .modal,body.printing .toast{display:none!important}body.printing #printbox{display:block}body{background:#fff}
.receipt{width:72mm;font:13px/1.4 monospace;color:#000}.rl{display:flex;justify-content:space-between;gap:8px}.receipt h2{text-align:center;margin:0}
.label{width:60mm;text-align:center;font:12px/1.3 sans-serif;padding:2mm;color:#000}.lb-name{font-weight:700;font-size:14px}.label svg{width:100%}}

/* ихчам тил/тема тугмаси */
.vm{position:relative}
.vbtn{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:6px 12px;cursor:pointer;font-size:13px}
.vbtn svg{width:16px;height:16px}.vbtn b{font-weight:700}
.vi-moon{display:none}[data-theme=dark] .vi-sun{display:none}[data-theme=dark] .vi-moon{display:block}
.vpop{position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.25);display:grid;gap:8px;z-index:40;min-width:170px}
.seg2{display:flex;background:var(--soft);border-radius:9px;padding:3px;gap:3px}
.seg2 button{flex:1;border:0;background:transparent;color:var(--mut);border-radius:7px;padding:6px 8px;cursor:pointer;font-weight:700;font-size:13px;display:grid;place-items:center}
.seg2 button.on{background:var(--pri);color:#fff}[data-theme=dark] .seg2 button.on{color:#0e1320}
.seg2 svg{width:16px;height:16px}
.login-tools{position:fixed;top:14px;right:14px}
@media(max-width:900px){.vbtn b{display:none}.chip{font-size:12px;padding:5px 9px}}

/* операциялар / ҳисоботлар ажратгичи */
.modes{display:flex;gap:8px;margin-bottom:16px}
.modes a{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:12px;text-decoration:none;font-weight:700;background:var(--card);border:1px solid var(--line);color:var(--mut)}
.modes a svg{width:18px;height:18px}
.modes a.m-ops.on{background:rgba(224,122,0,.14);border-color:var(--acc);color:var(--acc)}
.modes a.m-rep.on{background:rgba(42,74,133,.12);border-color:var(--pri2);color:var(--pri2)}
[data-theme=dark] .modes a.m-rep.on{background:rgba(91,141,239,.16)}
.modes a:not(.on):hover{color:var(--ink)}
.mode-ops>.card:not(.pbar){border-top:3px solid var(--acc)}
.mode-rep .card:not(.pbar),.mode-rep .stat{border-top:3px solid var(--pri2)}
.mode-rep .panels .card{margin:0}
.pbar{padding:12px 16px}
@media(max-width:600px){.modes a{flex:1;justify-content:center;padding:9px 8px}}

/* Созламалар марказ */
.hub{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.hub-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.hub-card:hover{border-color:var(--acc);transform:translateY(-1px)}
.hub-card .ico{width:44px;height:44px;border-radius:12px;background:rgba(224,122,0,.13);color:var(--acc);display:grid;place-items:center;flex:none}
.hub-card b{display:block}.hub-card span:not(.chev):not(.ico){color:var(--mut);font-size:13px}.hub-card .chev{margin-left:auto;font-size:24px;color:var(--mut)}
.crumb{display:flex;align-items:center;gap:12px;margin-bottom:14px}.crumb b{font-size:17px}
.menu-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.menu-row .ico{width:34px;height:34px;border-radius:10px;background:var(--soft);display:grid;place-items:center;color:var(--pri)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip2{display:inline-flex;align-items:center;gap:4px;background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:3px 4px 3px 11px;font-size:13px}
.chip2 button{border:0;background:transparent;color:var(--mut);cursor:pointer;font-size:16px;line-height:1;padding:0 6px;border-radius:50%}.chip2 button:hover{color:var(--bad)}
