*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#172033;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial}.hidden{display:none!important}.muted{color:#748196}.error{color:#b42318}.full{width:100%}.login{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,#173566,transparent 30%),linear-gradient(145deg,#07101f,#0c1930);padding:20px}.login-card{width:min(420px,100%);background:white;padding:28px;border-radius:22px;box-shadow:0 35px 90px rgba(0,0,0,.35)}.login-card h1{margin:30px 0 10px}.brand{display:flex;gap:10px;align-items:center}.brand>div:last-child{display:grid}.brand small{color:#8b99ad}.logo{width:42px;height:42px;background:#2563eb;color:white;border-radius:12px;display:grid;place-items:center;font-weight:900}header{height:68px;background:#07101f;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100vw - 1320px)/2));position:sticky;top:0;z-index:30}.header-actions{display:flex;align-items:center;gap:10px}.tabs{position:sticky;top:68px;z-index:25;background:white;border-bottom:1px solid #e7edf5;display:flex;overflow:auto;padding:0 max(12px,calc((100vw - 1320px)/2))}.tabs button{border:0;background:none;border-radius:0;padding:14px 12px;color:#657188;white-space:nowrap}.tabs button.active{color:#2563eb;border-bottom:2px solid #2563eb}main{max-width:1320px;margin:auto;padding:24px 16px 50px}.page{display:none}.page.active{display:block}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.hero small{font-weight:800;letter-spacing:.12em;color:#2563eb}.hero h1{margin:.25rem 0}.hero p{margin:0;color:#677489}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stats article,.panel{background:white;border:1px solid #e7edf5;border-radius:16px;box-shadow:0 10px 35px rgba(15,23,42,.06)}.stats article{padding:16px}.stats span{display:block;font-size:.77rem;color:#7a879b;margin-bottom:7px}.stats b{font-size:1.3rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:17px}.head{display:flex;align-items:center;justify-content:space-between;gap:12px}.head h1,.head h2,.head h3{margin:0}.head p{margin:3px 0 0;color:#7a879b}.pagehead{margin-bottom:16px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick button{min-height:70px;text-align:left}button,input,select,textarea{font:inherit}button{border:1px solid #d8e0eb;background:white;color:#25324b;padding:10px 13px;border-radius:10px;font-weight:700;cursor:pointer}.primary{background:#2563eb!important;border-color:#2563eb!important;color:white!important}.success{background:#14804a!important;border-color:#14804a!important;color:white!important}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{background:#f7f9fc;border:1px solid #e5ebf3;border-radius:10px;padding:11px;margin:12px 0;color:#5b6779}input,select,textarea{width:100%;border:1px solid #d8e0eb;border-radius:10px;padding:11px;margin:8px 0;background:white}.table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:11px;border-bottom:1px solid #edf1f5;font-size:.86rem}th{font-size:.71rem;text-transform:uppercase;color:#718096}.item{border:1px solid #e6ebf2;border-radius:11px;padding:11px;margin:8px 0}.item h3{margin:0 0 4px;font-size:.92rem}.item p{margin:0;color:#7b8798;font-size:.77rem}.badge{display:inline-block;margin:6px 4px 0 0;padding:4px 7px;border-radius:99px;background:#edf3ff;color:#2859ae;font-size:.68rem}.badge.warn{background:#fff2d8;color:#8b5e00}.badge.bad{background:#ffe7e7;color:#b42318}.diff-pos{color:#b42318;font-weight:800}.diff-neg{color:#b42318;font-weight:800}.diff-ok{color:#14804a;font-weight:800}dialog{border:0;border-radius:16px;padding:0;max-width:min(680px,calc(100vw - 24px));width:100%;box-shadow:0 40px 120px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(4,10,20,.67)}.modal{padding:20px}.modal label{display:grid;font-size:.82rem;font-weight:700;color:#4d5a70}.code{background:#f2f6fd;border-radius:10px;padding:11px;display:flex;justify-content:space-between}.barcode-row{display:grid;grid-template-columns:1.35fr .8fr .65fr 42px;gap:8px;align-items:center;margin:7px 0}.scanner{max-width:none;width:100vw;height:100dvh;border-radius:0;background:#000}.scanner-shell{height:100%;display:grid;grid-template-rows:auto 1fr auto}.scanner-top,.scanner-bottom{background:#07101f;color:white;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.scanner-top div{display:grid}.scanner-top small{color:#94a3b8}.camera{position:relative;overflow:hidden}.camera video{width:100%;height:100%;object-fit:cover}.scanbox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(80vw,560px);height:180px;border:3px solid white;border-radius:16px;box-shadow:0 0 0 9999px rgba(0,0,0,.28)}.feedback{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);background:rgba(20,128,74,.95);color:white;padding:11px 15px;border-radius:10px;font-weight:800;max-width:90%;text-align:center}@media(max-width:900px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start;flex-direction:column}}@media(max-width:560px){main{padding:16px 10px 32px}.quick{grid-template-columns:1fr}.barcode-row{grid-template-columns:1fr 1fr}.barcode-row button{grid-column:2}.scanner-bottom{display:grid;grid-template-columns:repeat(3,1fr)}.header-actions span{display:none}}
.inline-field{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.inline-field input{margin:8px 0}
.fast-counter{margin:12px 0;padding:12px;border-radius:10px;background:#eef4ff;color:#2454a6}
.fast-counter b{font-size:1.15rem}
.compact-grid{margin:0;gap:10px}
.fast-product-modal .notice{font-weight:700}
@media(max-width:560px){
  .inline-field{grid-template-columns:1fr}
  .inline-field button{width:100%}
  .compact-grid{grid-template-columns:1fr}
}

.mini-stats{margin-bottom:14px}.mini-stats article b{font-size:1.15rem}

button.danger{border-color:rgba(220,70,70,.55);background:rgba(180,35,35,.14);color:#ffb0b0}

.install-actions{display:flex;gap:8px;flex-wrap:wrap}
#iosInstallDialog ol{padding-left:22px;line-height:1.7}
@media(display-mode:standalone){
  #installBtn,#iosInstallHelp{display:none!important}
}
