:root{--navy:#173b67;--blue:#1d5fa7;--green:#16803b;--red:#b42318;--bg:#f3f6fa;--card:#fff;--border:#d8e0ea;--text:#182230;--muted:#667085}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{background:var(--navy);color:#fff;padding:18px 28px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:21px;font-weight:800}.subtitle{font-size:13px;opacity:.85;margin-top:3px}
.nav{display:flex;align-items:center;gap:16px}.nav a{color:#fff}.container{max-width:1450px;margin:0 auto;padding:22px 18px}
.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.auth{max-width:460px;margin:70px auto}.auth h1{margin-top:0}
.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.hero h1{margin:0 0 4px}.muted{color:var(--muted)}
label{display:block;font-weight:700;margin:13px 0 5px}input,select{width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:6px;font-size:15px;background:#fff}
button{border:0;border-radius:7px;padding:10px 14px;font-weight:800;cursor:pointer}.primary{background:var(--blue);color:#fff}.wide{width:100%;margin-top:16px}.small{padding:7px 10px}.danger{background:#fdecec;color:var(--red)}.success{background:#e8f5ec;color:var(--green)}
.flash{padding:12px 14px;border-radius:7px;margin-bottom:14px}.flash.success{background:#e8f5ec;color:var(--green)}.flash.danger{background:#fdecec;color:var(--red)}
.grid2{display:grid;grid-template-columns:390px 1fr;gap:18px}.users-grid{grid-template-columns:420px 1fr}.stats{display:grid;grid-template-columns:repeat(2,minmax(220px,320px));gap:16px;margin-bottom:18px}.stat{text-decoration:none;color:var(--text);display:flex;flex-direction:column}.stat b{font-size:32px;color:var(--navy)}.stat span{color:var(--muted);margin-top:5px}
.module-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.module{border:1px solid var(--border);border-radius:8px;padding:16px;background:#f8fafc}.module b,.module span{display:block}.module span{font-size:13px;color:var(--muted);margin-top:7px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;vertical-align:top}th{background:#eef3f8;color:var(--navy);font-size:13px}
@media(max-width:1000px){.grid2,.users-grid,.module-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.nav span{display:none}}
.stats{grid-template-columns:repeat(3,minmax(220px,320px))}.module-link{text-decoration:none;color:inherit}.module-link:hover{border-color:#1d5fa7;background:#eef6ff}.download-btn{background:#16803b;color:white;text-decoration:none;padding:10px 14px;border-radius:7px;font-weight:800}.upload-row{display:flex;gap:12px;align-items:center}.upload-row input{max-width:520px}.balance-grid{grid-template-columns:520px 1fr}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.balance-list{min-width:0}.table-scroll{overflow:auto;max-height:650px}.balance-list table{min-width:980px}@media(max-width:1100px){.balance-grid{grid-template-columns:1fr}.form-two{grid-template-columns:1fr}.upload-row{display:block}.upload-row button{margin-top:10px}}

.start-card{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.start-row{display:flex;gap:10px}.start-row select{max-width:650px}
.workflow{display:grid;grid-template-columns:1fr;gap:0}.step{margin-bottom:16px}
.badge{display:inline-block;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}
.badge.draft{background:#fff4e5;color:#b54708}.badge.confirmed{background:#e8f5ec;color:#16803b}
.okbox,.warnbox,.resultbox,.status-monitor-box{padding:12px 14px;border-radius:7px;margin:12px 0}
.okbox{background:#e8f5ec;color:#16803b}.warnbox{background:#fff4e5;color:#b54708}
.resultbox,.status-monitor-box{background:#f8fafc;border:1px solid #d8e0ea}.green{color:#16803b;font-weight:800}.red{color:#b42318;font-weight:800}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.summary-grid.two{grid-template-columns:repeat(2,1fr)}
.summary-grid>div{background:#f8fafc;border:1px solid #d8e0ea;border-radius:8px;padding:12px}.summary-grid span,.summary-grid b{display:block}.summary-grid span{color:#667085;font-size:13px}.summary-grid b{font-size:20px;color:#173b67;margin-top:4px}
.inline-form{display:grid;grid-template-columns:180px 180px 160px;gap:10px;align-items:end;max-width:560px}.inline-form label{margin:0 0 5px}
.compact th,.compact td{padding:8px}
.camera-wrap{background:#111;border-radius:8px;overflow:hidden;max-width:900px}.camera-wrap video{display:block;width:100%;max-height:560px}
.button-row{display:flex;gap:10px;margin-top:12px}.secondary{background:#e8f1fb;color:#1d5fa7}
.saved-photo{display:block;width:100%;max-width:900px;border-radius:8px;border:1px solid #d8e0ea;margin-top:12px}
.danger.solid{background:#b42318;color:#fff;padding:12px 18px}.jsonbox{background:#0f172a;color:#e2e8f0;padding:12px;border-radius:7px;max-height:330px;overflow:auto;font-size:12px}
.table-scroll{overflow:auto}
@media(max-width:900px){.summary-grid,.summary-grid.two{grid-template-columns:1fr 1fr}.inline-form,.start-row{grid-template-columns:1fr;display:grid}.start-card{display:block}}

.final-result-card{border:2px solid #cbd5e1}
.overall-result{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-radius:9px;margin:12px 0}
.overall-result span{font-size:12px;font-weight:800;letter-spacing:.04em}
.overall-result b{font-size:22px}
.overall-result.good{background:#e8f5ec;color:#16803b}
.overall-result.bad{background:#fdecec;color:#b42318}
.overall-result.pending{background:#f2f4f7;color:#667085}
.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.report-btn{display:inline-block;text-decoration:none;padding:11px 16px;border-radius:7px;font-weight:800}
.report-btn.pdf{background:#b42318;color:#fff}
.report-btn.docx{background:#1d5fa7;color:#fff}
.report-btn.print{background:#16803b;color:#fff}
.report-summary b{font-size:16px}
@media(max-width:800px){.report-actions{display:grid}.report-btn{text-align:center}}

.agent-pair-box{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#eef6ff;border:1px solid #b7d4f4;border-radius:9px;padding:14px 16px;margin:10px 0}
.agent-pair-box span{display:block;color:#667085;font-size:11px;font-weight:800;letter-spacing:.05em}
.agent-pair-box b{display:block;font-size:25px;letter-spacing:.12em;color:#173b67;margin-top:3px}
.hardware-result{padding:12px 14px;border-radius:7px;margin:10px 0}
.hardware-result.good{background:#e8f5ec;color:#16803b}
.hardware-result.bad{background:#fdecec;color:#b42318}
.hardware-result.pending{background:#f2f4f7;color:#667085}
.hardware-check-table td{font-size:13px}
@media(max-width:700px){.agent-pair-box{display:block}.agent-pair-box button{margin-top:10px;width:100%}}

.card-source-box{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#eef6ff;border:1px solid #b7d4f4;border-radius:8px;padding:12px 14px;margin:12px 0}
.card-source-box b,.card-source-box span{display:block}.card-source-box>div>span{color:#667085;font-size:13px;margin-top:4px}
.source-badge{display:inline-block!important;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.source-badge.auto{background:#e8f5ec;color:#16803b}.source-badge.manual{background:#fff4e5;color:#b54708}
.manual-fallback{margin-top:10px}.manual-fallback summary{cursor:pointer;color:#667085;font-weight:700}
.source-inline{color:#667085;font-size:12px}
@media(max-width:700px){.card-source-box{display:block}.source-badge{margin-top:8px}}

/* v0.7.2 — soddalashtirilgan Agent kodi */
.agent-pair-box{display:none!important}
.agent-code-line{
  display:flex;
  align-items:center;
  gap:10px;
  background:#f8fafc;
  border:1px solid #d8e0ea;
  border-radius:7px;
  padding:9px 12px;
  margin:8px 0 4px;
  max-width:560px;
}
.agent-code-line>span{
  color:#667085;
  font-size:13px;
  font-weight:700;
}
.agent-code-line>b{
  color:#173b67;
  font-family:Consolas,monospace;
  font-size:18px;
  letter-spacing:.08em;
}
.copy-code-btn{
  margin-left:auto;
  background:#e8f1fb;
  color:#1d5fa7;
  border:0;
  border-radius:6px;
  padding:7px 10px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.agent-mini-help{
  color:#667085;
  font-size:12px;
  margin:2px 0 12px;
}
@media(max-width:650px){
  .agent-code-line{max-width:none;flex-wrap:wrap}
  .copy-code-btn{margin-left:0}
}

/* v0.8 — bir bosishda Agent ishga tushirish */
.agent-code-line,.agent-mini-help{display:none!important}
.agent-oneclick{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 12px;
}
.agent-oneclick>span{
  color:#667085;
  font-size:12px;
}
.agent-launch-btn,.card-launch-btn{
  display:inline-block;
  text-decoration:none;
  border-radius:7px;
  font-weight:800;
  cursor:pointer;
}
.agent-launch-btn{
  background:#1d5fa7;
  color:#fff;
  padding:11px 16px;
}
.card-launch-btn{
  background:#16803b;
  color:#fff;
  padding:9px 13px;
  white-space:nowrap;
}
@media(max-width:700px){
  .agent-oneclick{display:block}
  .agent-oneclick>span{display:block;margin-top:7px}
  .agent-launch-btn,.card-launch-btn{display:block;text-align:center}
}


/* v0.9 — XID8300 printer diagnostikasi */
.xid8300-box{margin-top:14px;border:1px solid #cbd9e8;background:#f8fbff;border-radius:10px;padding:14px}
.xid8300-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.xid8300-head>div:first-child>b{display:block;color:#173b67;font-size:15px;margin-bottom:4px}
.xid8300-ok{display:block;color:#16803b;font-size:12px;font-weight:700}
.xid8300-pending{display:block;color:#b54708;font-size:12px;font-weight:700}
.xid8300-code{background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;font-size:12px;color:#667085}
.xid8300-code b{font-family:Consolas,monospace;color:#173b67;font-size:15px;letter-spacing:.06em;margin:0 6px}
.xid-copy-btn{border:0;background:#e8f1fb;color:#1d5fa7;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}
.xid8300-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.xid8300-grid>div{background:#fff;border:1px solid #d8e0ea;border-radius:8px;padding:11px}
.xid8300-grid span,.xid8300-grid small{display:block;color:#667085;font-size:11px}
.xid8300-grid b{display:block;color:#101828;font-size:23px;margin:3px 0}
.xid8300-meta{display:flex;gap:10px 20px;flex-wrap:wrap;margin:10px 0;color:#475467;font-size:12px}
@media(max-width:850px){.xid8300-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.xid8300-grid{grid-template-columns:1fr}.xid8300-code{width:100%}}


/* v1.0 — step 2 hardware cards */
.hardware-live-box{margin-top:12px;border:1px solid #cbd9e8;background:#f8fbff;border-radius:10px;padding:14px}
.hardware-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.hardware-live-head>div:first-child>b{display:block;color:#173b67;font-size:15px;margin-bottom:4px}
.hardware-mini-summary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.hardware-mini-summary .mini{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.hardware-mini-summary .good{background:#e8f5ec;color:#16803b}
.hardware-mini-summary .bad{background:#fdecec;color:#b42318}
.hardware-mini-summary .pending{background:#f2f4f7;color:#667085}
.hardware-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}
.hardware-live-grid>div{background:#fff;border:1px solid #d8e0ea;border-radius:8px;padding:11px}
.hardware-live-grid span,.hardware-live-grid small{display:block;color:#667085;font-size:11px}
.hardware-live-grid b{display:block;color:#101828;font-size:20px;margin:3px 0}
.hardware-details{margin-top:10px}
.hardware-details summary{cursor:pointer;color:#173b67;font-weight:800}
@media(max-width:1000px){.hardware-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.hardware-live-grid{grid-template-columns:1fr}}


/* v1.1 — ACR122U web-sahifa ichida jonli sanash */
.smart-live-box{
  margin-top:12px;
  border:1px solid #b7d4f4;
  background:#f7fbff;
  border-radius:10px;
  padding:14px;
}
.smart-live-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.smart-live-head>div>b{
  display:block;
  color:#173b67;
  font-size:15px;
  margin-bottom:4px;
}
.smart-live-sub{
  display:block;
  color:#667085;
  font-size:12px;
}
.card-live-panel{
  margin-top:14px;
  border-top:1px solid #d8e0ea;
  padding-top:14px;
}
.card-live-summary{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.card-live-summary>div{
  background:#fff;
  border:1px solid #d8e0ea;
  border-radius:8px;
  padding:11px;
}
.card-live-summary span,
.card-live-summary b{
  display:block;
}
.card-live-summary span{
  color:#667085;
  font-size:11px;
}
.card-live-summary b{
  color:#101828;
  font-size:20px;
  margin-top:3px;
}
.card-live-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  min-height:48px;
}
.card-live-item{
  background:#fff;
  border:1px solid #d8e0ea;
  border-radius:8px;
  padding:10px 12px;
  font-weight:800;
  color:#173b67;
}
.card-live-item::before{
  content:"✅ ";
}
.card-live-note{
  margin-top:12px;
  background:#eef6ff;
  border-radius:7px;
  padding:10px 12px;
  color:#475467;
  font-size:12px;
}
.card-live-actions{
  margin-top:12px;
}
.card-live-actions button{
  width:100%;
}
.card-live-error{
  color:#b42318!important;
  font-weight:700;
}
.card-live-success{
  color:#16803b!important;
  font-weight:700;
}
@media(max-width:900px){
  .card-live-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:550px){
  .card-live-summary,.card-live-list{grid-template-columns:1fr}
}



/* v1.2 — inventarizatsiyadan oldin Agent preflight */
.agent-preflight-card{
  border:1px solid #cbd9e8;
  background:#f8fbff;
}
.agent-preflight-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
}
.agent-preflight-head h2{margin-bottom:4px}
.agent-status-badge{
  display:inline-block;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.agent-status-badge.checking{background:#f2f4f7;color:#667085}
.agent-status-badge.missing{background:#fff4e5;color:#b54708}
.agent-status-badge.ready{background:#e8f5ec;color:#16803b}
.agent-install-box{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin-top:14px;
  padding:14px;
  background:#fff;
  border:1px solid #d8e0ea;
  border-radius:9px;
}
.agent-step-number{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#173b67;color:#fff;font-weight:900;
}
.agent-install-text b,.agent-install-text span{display:block}
.agent-install-text b{color:#173b67;font-size:15px}
.agent-install-text span{color:#667085;font-size:12px;margin-top:4px}
.agent-download-btn{
  display:inline-block;
  background:#16803b;
  color:#fff;
  text-decoration:none;
  border-radius:7px;
  padding:11px 14px;
  font-weight:900;
  white-space:nowrap;
}
.agent-check-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}
.agent-ready-text{color:#16803b;font-weight:800;font-size:13px}
.agent-gated-start{border:1px solid #b7dfc1;background:#f8fffa}
@media(max-width:760px){
  .agent-install-box{grid-template-columns:auto 1fr}
  .agent-download-btn{grid-column:1/-1;text-align:center}
}



/* v1.3 — Agent gate admin + employee */
.agent-preflight-card{border:1px solid #cbd9e8;background:#f8fbff}
.agent-preflight-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.agent-preflight-head h2{margin-bottom:4px}
.agent-status-badge{display:inline-block;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;white-space:nowrap}
.agent-status-badge.checking{background:#f2f4f7;color:#667085}
.agent-status-badge.missing{background:#fff4e5;color:#b54708}
.agent-status-badge.ready{background:#e8f5ec;color:#16803b}
.agent-install-box{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:14px;padding:14px;background:#fff;border:1px solid #d8e0ea;border-radius:9px}
.agent-step-number{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#173b67;color:#fff;font-weight:900}
.agent-install-text b,.agent-install-text span{display:block}
.agent-install-text b{color:#173b67;font-size:15px}
.agent-install-text span{color:#667085;font-size:12px;margin-top:4px}
.agent-download-btn{display:inline-block;background:#16803b;color:#fff;text-decoration:none;border-radius:7px;padding:11px 14px;font-weight:900;white-space:nowrap}
.agent-check-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.agent-ready-text{color:#16803b;font-weight:800;font-size:13px}
#inventoryStartBox{margin-top:14px}
@media(max-width:760px){.agent-install-box{grid-template-columns:auto 1fr}.agent-download-btn{grid-column:1/-1;text-align:center}}


/* v1.6 clean Agent gate */
[hidden]{display:none!important}
#inventoryStartBox[hidden]{display:none!important}


/* v1.9 — avtomatik hardware */
.agent-oneclick{display:none!important}
.auto-hardware-status{
  margin:0 0 10px;
  padding:11px 13px;
  border-radius:7px;
  font-size:13px;
  font-weight:800;
}
.auto-hardware-status.pending{background:#fff4e5;color:#b54708}
.auto-hardware-status.good{background:#e8f5ec;color:#16803b}
.auto-hardware-status.bad{background:#fdecec;color:#b42318}
.auto-hardware-retry{margin:0 0 10px;border:0}



/* v2.0 — avtomatik XID8300 */
.auto-printer-status{
  margin:0 0 10px;
  padding:11px 13px;
  border-radius:7px;
  font-size:13px;
  font-weight:800;
}
.auto-printer-status.pending{background:#fff4e5;color:#b54708}
.auto-printer-status.good{background:#e8f5ec;color:#16803b}
.auto-printer-status.bad{background:#fdecec;color:#b42318}
.auto-printer-retry{margin:0 0 10px;border:0}



/* v2.1 — umumiy Agent runtime holati */
.agent-runtime-panel{
  margin:0 0 16px;
  border:1px solid #cbd9e8;
  background:#f8fbff;
  border-radius:10px;
  padding:14px;
}
.agent-runtime-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
}
.agent-runtime-head>div>b{
  display:block;
  color:#173b67;
  font-size:15px;
}
.agent-runtime-head>div>span{
  display:block;
  color:#667085;
  font-size:12px;
  margin-top:3px;
}
.agent-runtime-overall{
  display:inline-block;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
}
.agent-runtime-overall.checking{background:#f2f4f7;color:#667085}
.agent-runtime-overall.working{background:#fff4e5;color:#b54708}
.agent-runtime-overall.ok{background:#e8f5ec;color:#16803b}
.agent-runtime-overall.error{background:#fdecec;color:#b42318}
.agent-runtime-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.agent-runtime-item{
  background:#fff;
  border:1px solid #d8e0ea;
  border-radius:8px;
  padding:10px 11px;
  border-left-width:4px;
}
.agent-runtime-item span,.agent-runtime-item b,.agent-runtime-item small{display:block}
.agent-runtime-item span{font-size:11px;color:#667085}
.agent-runtime-item b{font-size:14px;color:#101828;margin:3px 0}
.agent-runtime-item small{font-size:11px;color:#667085}
.agent-runtime-item.ok{border-left-color:#16803b}
.agent-runtime-item.working,.agent-runtime-item.checking{border-left-color:#d97706}
.agent-runtime-item.error{border-left-color:#b42318;background:#fffafa}
.agent-runtime-item.idle{border-left-color:#98a2b3}
.agent-runtime-error{
  margin-top:10px;
  background:#fdecec;
  border:1px solid #f4c7c7;
  color:#b42318;
  border-radius:8px;
  padding:10px 12px;
  font-size:12px;
}
.agent-runtime-error>div+div{margin-top:5px}
@media(max-width:1000px){.agent-runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.agent-runtime-grid{grid-template-columns:1fr}}



/* v2.2 — mustaqil avtomatik runner holati */
.auto-v22-status{
  margin:0 0 10px;
  padding:11px 13px;
  border-radius:8px;
  font-size:13px;
  font-weight:800;
}
.auto-v22-status.pending{background:#fff4e5;color:#b54708}
.auto-v22-status.good{background:#e8f5ec;color:#16803b}
.auto-v22-status.bad{background:#fdecec;color:#b42318}
.auto-v22-retry{margin:0 0 10px;border:0}



/* v2.5 — WEB-kamera diagnostika holati */
.camera-status{
  margin-top:10px;
  padding:10px 12px;
  border-radius:7px;
  font-size:13px;
  font-weight:700;
}
.camera-wait{background:#fff4e5;color:#b54708}
.camera-ok{background:#e8f5ec;color:#16803b}
.camera-bad{background:#fdecec;color:#b42318}



/* Monitoring v1.4 */
.monitor-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.monitor-stat{padding:16px}
.monitor-stat b{display:block;font-size:30px}
.monitor-stat span{font-size:12px;font-weight:900}
.monitor-stat.online{border-left:5px solid #16803b}
.monitor-stat.problem{border-left:5px solid #d97706}
.monitor-stat.offline{border-left:5px solid #b42318}
.monitor-stat.unpaired{border-left:5px solid #98a2b3}
.monitor-help{
  display:flex;
  gap:8px;
  flex-direction:column;
  margin-bottom:14px;
  padding:12px;
  border-radius:8px;
  background:#f6f8fb;
}
.monitor-help span{color:#667085;font-size:13px}
.monitor-table td{vertical-align:top}
.monitor-badge{
  display:inline-block;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.monitor-badge.online{background:#e8f5ec;color:#16803b}
.monitor-badge.problem{background:#fff4e5;color:#b54708}
.monitor-badge.offline{background:#fdecec;color:#b42318}
.monitor-badge.unpaired{background:#f2f4f7;color:#667085}
.monitor-small{font-size:11px}
.monitor-row-error{margin-top:5px;color:#b42318;font-size:11px;max-width:240px}
.monitor-inline-form{display:inline-block;margin-left:6px}
.monitor-btn{
  border:0;border-radius:6px;padding:8px 10px;
  background:#1f65ad;color:#fff;font-weight:900;cursor:pointer;
}
.monitor-btn.danger{background:#b42318}
.monitor-detail-link{
  display:inline-block;text-decoration:none;border-radius:6px;
  padding:8px 10px;background:#1f65ad;color:#fff;font-weight:900;
}
.pair-code-box{
  border:1px solid #b7d4f4;background:#f7fbff;border-radius:7px;padding:8px 10px;
}
.pair-code-box span,.pair-code-box b,.pair-code-box small{display:block}
.pair-code-box span,.pair-code-box small{font-size:10px;color:#667085}
.pair-code-box b{font-family:monospace;font-size:16px;letter-spacing:.7px;margin:2px 0}
.monitor-footnote{margin:10px 0 20px;font-size:12px}
.monitor-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.telemetry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.telemetry-grid>div{border:1px solid #d8e0ea;border-radius:8px;padding:10px}
.telemetry-grid span,.telemetry-grid b{display:block}
.telemetry-grid span{font-size:11px;color:#667085}
.telemetry-grid b{margin-top:3px;word-break:break-word}
@media(max-width:1000px){
  .monitor-stats,.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
  .monitor-detail-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .monitor-stats,.telemetry-grid{grid-template-columns:1fr}
}



/* Monitoring v1.5 — login auto-bind */
.auto-bind-note{border:1px solid #d8e0ea;background:#f7f9fc;border-radius:7px;padding:8px 10px;max-width:230px}
.auto-bind-note b,.auto-bind-note span{display:block}
.auto-bind-note b{font-size:11px;color:#16803b}
.auto-bind-note span{font-size:11px;color:#667085;margin-top:3px}



/* v1.7 - majburiy Agent versiyasi */
.agent-update-text{
  color:#b42318;
  font-weight:800;
  font-size:13px;
}


/* v2.6 — Kartalar va lentalar admin importi */
.stock-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.stock-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.stock-card-head h2{margin-top:0}.stock-card-head .download-btn{white-space:nowrap;font-size:12px}
.stock-note{margin-top:12px;padding:10px 12px;border-radius:7px;background:#f8fafc;border:1px solid #d8e0ea;color:#667085;font-size:12px}
.stock-summary-card{margin-bottom:18px}.stock-summary-table{min-width:760px}.stock-count{font-size:22px;font-weight:800;color:#173b67}.stock-detail-btn{display:inline-block;text-decoration:none;padding:8px 11px;border-radius:7px;font-weight:800;font-size:12px}
.selected-row td{background:#eef6ff}.stock-detail-card{margin-bottom:18px}.stock-detail-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.stock-detail-title h2{margin:0 0 4px}.stock-kpis{display:flex;gap:8px;flex-wrap:wrap}.stock-kpis span{background:#f8fafc;border:1px solid #d8e0ea;border-radius:8px;padding:8px 12px;color:#667085;font-size:12px}.stock-kpis b{font-size:18px;color:#173b67;margin-right:3px}
.stock-detail-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:14px}.stock-card-list{max-height:520px}.td-code{font-family:Consolas,monospace;color:#173b67;letter-spacing:.03em}.stock-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.stock-pagination a{display:inline-block;text-decoration:none;padding:8px 11px;border-radius:7px;font-weight:800}.stock-pagination span{color:#667085;font-size:13px}
@media(max-width:1000px){.stock-import-grid,.stock-detail-grid{grid-template-columns:1fr}.stock-detail-title,.stock-card-head{display:block}.stock-card-head .download-btn{display:inline-block;margin-bottom:12px}.stock-kpis{margin-top:10px}}


/* v2.7 — chap yon menyu */
.topbar{
  min-height:82px;
  padding:18px 28px;
}
.top-account{
  display:flex;
  align-items:center;
  gap:18px;
  white-space:nowrap;
}
.top-user{font-weight:600}
.logout-link{
  color:#fff;
  font-weight:700;
}
.app-shell{
  display:flex;
  width:100%;
  min-height:calc(100vh - 82px);
}
.app-shell.without-sidebar{display:block}
.sidebar{
  width:245px;
  flex:0 0 245px;
  background:#fff;
  border-right:1px solid var(--border);
  padding:18px 14px;
}
.side-nav{
  position:sticky;
  top:18px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.side-nav a{
  display:block;
  color:#344054;
  text-decoration:none;
  font-weight:700;
  padding:11px 13px;
  border-radius:8px;
  border-left:4px solid transparent;
}
.side-nav a:hover{
  color:var(--navy);
  background:#eef4fb;
}
.side-nav a.active{
  color:var(--navy);
  background:#e8f1fb;
  border-left-color:var(--blue);
}
.app-shell>.container{
  flex:1;
  min-width:0;
  max-width:none;
  margin:0;
  padding:22px 26px 36px;
}
.without-sidebar>.container{
  max-width:1450px;
  margin:0 auto;
}
@media(max-width:900px){
  .topbar{padding:14px 16px;min-height:auto;align-items:flex-start;gap:12px}
  .brand{font-size:18px}
  .top-account{gap:10px;font-size:13px}
  .app-shell{display:block;min-height:0}
  .sidebar{width:100%;padding:9px 12px;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto}
  .side-nav{position:static;flex-direction:row;gap:6px;min-width:max-content}
  .side-nav a{padding:8px 10px;border-left:0;border-bottom:3px solid transparent;border-radius:7px 7px 0 0}
  .side-nav a.active{border-left:0;border-bottom-color:var(--blue)}
  .app-shell>.container{padding:18px 14px 28px}
}


/* v2.8 — Inventarizatsiyalar jadvali: alohida ustunlar va barcha ustunlar bo'yicha filtr */
.inventory-table-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.inventory-table-wrap{
  width:100%;
  overflow-x:auto;
}
.inventory-list-table{
  width:100%;
  min-width:1180px;
  border-collapse:collapse;
}
.inventory-list-table th,
.inventory-list-table td{
  vertical-align:middle;
}
.inventory-list-table .col-tr{
  width:54px;
  min-width:54px;
  text-align:center;
}
.inventory-list-table .inventory-main-head th{
  white-space:nowrap;
}
.inventory-filter-row th{
  padding-top:7px;
  padding-bottom:9px;
}
.inventory-filter-row input,
.inventory-filter-row select{
  width:100%;
  min-width:95px;
  box-sizing:border-box;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  padding:7px 8px;
  font-size:12px;
  font-weight:500;
  outline:none;
}
.inventory-filter-row input:focus,
.inventory-filter-row select:focus{
  border-color:#2f6fb3;
  box-shadow:0 0 0 2px rgba(47,111,179,.10);
}
.inventory-filter-row input[type="date"]{
  min-width:132px;
}
.inventory-actions{
  white-space:nowrap;
}
.inventory-delete-btn{
  padding:6px 10px;
  border:1px solid #d92d20;
  border-radius:6px;
  background:#fff;
  color:#b42318;
  cursor:pointer;
  font-weight:700;
}
.inventory-delete-btn:hover{
  background:#fff5f4;
}
.inventory-filter-clear{
  border:1px solid #94a3b8;
  background:#fff;
  border-radius:7px;
  padding:7px 11px;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  color:#334155;
  white-space:nowrap;
}
.inventory-filter-clear:hover{
  background:#f8fafc;
}
.inventory-no-matches{
  padding:18px 10px;
  text-align:center;
  color:#64748b;
  font-weight:700;
}
.inventory-no-matches[hidden]{
  display:none !important;
}
@media(max-width:760px){
  .inventory-table-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
}



/* v2.9 — Inventarizatsiya filtrlari faqat tanlanadigan ro'yxat */
.inventory-filter-row select{
  width:100%;
  min-width:110px;
  box-sizing:border-box;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  padding:7px 28px 7px 8px;
  font-size:12px;
  font-weight:600;
  outline:none;
  cursor:pointer;
}
.inventory-filter-row select:focus{
  border-color:#2f6fb3;
  box-shadow:0 0 0 2px rgba(47,111,179,.10);
}
.inventory-filter-row .no-filter{
  background:transparent;
}



/* BRANCHES_FULLWIDTH_V1 */
.branches-fullwidth-layout{
  display:block !important;
  grid-template-columns:1fr !important;
}
.branches-fullwidth-layout > *{
  max-width:none;
}
.branches-list-panel{
  width:100% !important;
  max-width:none !important;
  flex:1 1 100% !important;
}
.branches-add-panel{
  width:100% !important;
  max-width:none !important;
  margin-bottom:16px !important;
}
.branches-add-panel[hidden]{
  display:none !important;
}
.branches-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:0 0 14px 0;
}
.branches-add-toggle{
  border:0;
  border-radius:7px;
  background:#2567a9;
  color:#fff;
  padding:10px 16px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.branches-add-toggle:hover{
  filter:brightness(.96);
}
.branches-add-toggle.is-open{
  background:#475569;
}
.branches-list-panel table{
  width:100% !important;
}
@media(max-width:760px){
  .branches-toolbar{
    justify-content:stretch;
  }
  .branches-add-toggle{
    width:100%;
  }
}

