
/* ==== /styles/foundation-1.css ==== */
*{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#eef5f6;
  --panel:#fff;
  --panel2:#f3f8f9;
  --card:#fff;
  --line:#dde8ea;
  --text:#12262a;
  --muted:#607279;
  --border:#dde8ea;
  --orange:#ff6b00;
  --orange-soft:#fff0e5;
  --sidebar:#0a1b21;
  --success:#16a66a;
  --danger:#e5484d;
  --blue:#2476f3;
  --purple:#8755e9;
  --shadow:0 8px 25px rgba(10,40,45,.07);
  --radius-card:20px;
  --radius-sm:12px;
}

body.dark{
  /* TEAL GLASS 2026 — dark teal background, blue-glass panels, soft cyan contour */
  --bg:#061318;
  --panel:rgba(17,42,49,.60);
  --panel2:rgba(22,52,60,.55);
  --card:rgba(17,42,49,.60);
  --line:rgba(150,214,225,.14);
  --text:#eaf6fa;
  --muted:#82a2ab;
  --border:rgba(150,214,225,.14);
  --orange-soft:#332113;
  --shadow:0 18px 46px rgba(0,0,0,.42);
  --teal-glow:0 0 0 1px rgba(120,220,235,.10),0 0 34px rgba(30,180,210,.10);
}

body{
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--text);
  transition:.2s;
}

.app{display:flex;min-height:100vh}

.sidebar{
  width:245px;
  background:var(--sidebar);
  padding:24px 15px;
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  overflow:auto;
  z-index:20;
}

.logo{padding:5px 13px 25px}
.logo h2{color:#fff;font-size:21px}
.logo span{color:var(--orange)}
.logo p{color:#697386;font-size:11px;margin-top:5px}

.menu-item{
  color:#9ca3af;
  padding:13px 14px;
  border-radius:9px;
  margin:4px 0;
  cursor:pointer;
  font-size:var(--font-body);
  transition:.15s;
}

.menu-item:hover{background:#1f2937;color:#fff}
.menu-item.active{background:var(--orange);color:#fff;font-weight:bold}

.main{
  margin-left:245px;
  width:calc(100% - 245px);
  padding:28px 32px;
}

.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:22px;
}

.page-title h1{font-size:27px;margin-bottom:5px}
.page-title p{font-size:13px;color:var(--muted)}

.top-actions{display:flex;gap:10px}

.theme-btn,.icon-btn{
  border:1px solid var(--border);
  background:var(--panel);
  color:var(--text);
  border-radius:10px;
  padding:10px 14px;
  cursor:pointer;
}

.page{display:none}
@keyframes fix24PageFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.page.active{animation:fix24PageFadeIn .22s cubic-bezier(.22,.75,.32,1)}
@media(prefers-reduced-motion:reduce){.page.active{animation:none}}
.page.active{display:block}

.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius-card,20px);
  box-shadow:var(--shadow);
}

body.dark .card{
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  box-shadow:var(--shadow),var(--teal-glow);
  position:relative;
}
body.dark .card::before{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(155deg,rgba(180,232,240,.22),rgba(180,232,240,0) 45%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;
}

.btn{
  border:none;
  background:var(--orange);
  color:white;
  padding:10px 15px;
  border-radius:var(--radius-xs);
  cursor:pointer;
  font-weight:bold;
}

.btn.secondary{
  background:var(--panel2);
  color:var(--text);
  border:1px solid var(--border);
}

.btn.danger{background:var(--danger)}
.btn.small{padding:7px 10px;font-size:var(--font-caption)}

input,select{
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:var(--radius-xs);
  padding:10px 11px;
  outline:none;
}

input:focus,select:focus{border-color:var(--orange)}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:15px;
}

.section-head h2{font-size:18px}

.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:800px}

th{
  text-align:left;
  color:var(--muted);
  font-size:var(--font-caption);
  padding:13px 15px;
  border-bottom:1px solid var(--border);
  background:var(--panel2);
}

td{
  padding:14px 15px;
  border-bottom:1px solid var(--border);
  font-size:13px;
}

tr:hover td{background:var(--panel2)}
.empty{text-align:center;color:var(--muted);padding:40px!important}

.badge{
  display:inline-block;
  padding:5px 8px;
  border-radius:var(--radius-card);
  font-size:11px;
  font-weight:bold;
}

.badge.green{background:rgba(22,166,106,.13);color:var(--success)}
.badge.red{background:rgba(229,72,77,.13);color:var(--danger)}
.badge.orange{background:var(--orange-soft);color:var(--orange)}

.toolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding:15px;
  margin-bottom:17px;
}

/* DASHBOARD */

.dashboard-periods{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.period-btn{
  border:1px solid var(--border);
  background:var(--panel);
  color:var(--text);
  padding:9px 13px;
  border-radius:var(--radius-xs);
  cursor:pointer;
  font-size:var(--font-caption);
}

.period-btn.active{
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}

.business-period{
  margin-bottom:16px;
  background:rgba(36,118,243,.09);
  color:var(--blue);
  border-radius:9px;
  padding:10px 13px;
  font-size:var(--font-caption);
}

.custom-period{
  display:none;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.custom-period.show{display:flex}

.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:15px;
}

.dashboard-block{grid-column:span 6}

.dashboard-block.kpi-block{
  grid-column:span 3;
}

.kpi-card{
  padding:20px;
  min-height:138px;
}

.kpi-label{
  color:var(--muted);
  font-size:12.5px;
  margin-bottom:14px;
}

.kpi-value{
  font-size:26px;
  font-weight:800;
  letter-spacing:-.01em;
}

.kpi-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  background:linear-gradient(145deg,rgba(88,180,255,.22),rgba(88,180,255,.06));
  border:1px solid rgba(120,200,255,.20);
  box-shadow:0 0 22px rgba(70,170,255,.14);
  color:#7ec4ff;
}
body:not(.dark) .kpi-icon{background:linear-gradient(145deg,rgba(36,118,243,.14),rgba(36,118,243,.05));box-shadow:none}
.kpi-icon:has([data-icon="tag"]),.kpi-icon:has([data-icon="cash"]){background:linear-gradient(145deg,rgba(241,166,30,.24),rgba(241,166,30,.06));border-color:rgba(241,196,90,.22);box-shadow:0 0 22px rgba(241,166,30,.14);color:#ffcf6b}
.kpi-icon:has([data-icon="file-minus"]),.kpi-icon:has([data-icon="alert"]){background:linear-gradient(145deg,rgba(229,72,77,.22),rgba(229,72,77,.06));border-color:rgba(229,100,100,.22);box-shadow:0 0 22px rgba(229,72,77,.14);color:#ff9a9a}
body:not(.dark) .kpi-icon:has([data-icon="tag"]),body:not(.dark) .kpi-icon:has([data-icon="cash"]){box-shadow:none}
body:not(.dark) .kpi-icon:has([data-icon="file-minus"]),body:not(.dark) .kpi-icon:has([data-icon="alert"]){box-shadow:none}

.dashboard-large{
  padding:18px;
  min-height:300px;
}

.block-title{
  font-size:15px;
  font-weight:700;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:7px;
}

.chart-container{
  height:225px;
  position:relative;
}

#salesChart{
  width:100%;
  height:220px;
}

.payment-layout{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  min-height:220px;
}

.donut{
  width:165px;
  height:165px;
  border-radius:50%;
  background:conic-gradient(#ddd 0 100%);
  position:relative;
  flex-shrink:0;
}

.donut::after{
  content:"";
  position:absolute;
  inset:32px;
  border-radius:50%;
  background:var(--panel);
}

.donut-center{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:2;
  font-weight:bold;
}

.donut-center small{
  color:var(--muted);
  margin-top:4px;
}

.payment-list{
  min-width:170px;
}

.payment-row{
  display:flex;
  justify-content:space-between;
  gap:25px;
  padding:7px 0;
  font-size:13px;
}

.payment-dot{
  width:9px;
  height:9px;
  border-radius:3px;
  display:inline-block;
  margin-right:7px;
}

.mini-table{
  width:100%;
  min-width:0;
}

.mini-table th,.mini-table td{
  padding:10px;
}

.low{
  color:var(--danger);
  font-weight:bold;
}

/* SETTINGS DRAWER */

.dashboard-drawer{
  position:fixed;
  right:-390px;
  top:0;
  bottom:0;
  width:370px;
  background:var(--panel);
  border-left:1px solid var(--border);
  box-shadow:-10px 0 30px rgba(0,0,0,.12);
  z-index:100;
  transition:.25s;
  padding:22px;
  overflow:auto;
}

.dashboard-drawer.show{right:0}

.drawer-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}

.drawer-head h3{font-size:18px}
.drawer-help{font-size:var(--font-caption);color:var(--muted);margin-bottom:18px}

.drawer-row{
  display:grid;
  grid-template-columns:1fr auto auto auto;
  align-items:center;
  gap:6px;
  padding:11px 0;
  border-bottom:1px solid var(--border);
  font-size:13px;
}

.switch{
  width:42px;
  height:23px;
  background:#cfd5dc;
  border-radius:var(--radius-card);
  position:relative;
  cursor:pointer;
}

.switch::after{
  content:"";
  position:absolute;
  width:17px;
  height:17px;
  border-radius:50%;
  background:white;
  top:3px;
  left:3px;
  transition:.2s;
}

.switch.on{background:var(--blue)}
.switch.on::after{left:22px}

.move-btn{
  width:26px;
  height:26px;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);
  border-radius:6px;
  cursor:pointer;
}

/* SALES */

.period{
  background:var(--orange-soft);
  color:var(--orange);
  padding:8px 12px;
  border-radius:var(--radius-xs);
  font-size:var(--font-caption);
  font-weight:bold;
}

.kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:17px;
}

.kpi{padding:18px}
.kpi .label{color:var(--muted);font-size:var(--font-caption);margin-bottom:10px}
.kpi .value{font-size:23px;font-weight:bold}

.sales-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:16px;
}

.order-detail{padding:18px;min-height:400px}
.order-detail h3{margin-bottom:17px}

.detail-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid var(--border);
  padding:10px 0;
  font-size:13px;
}

.detail-row span:first-child{color:var(--muted)}
.load-more{display:block;margin:16px auto}

/* FORMS */

.form-card{padding:20px;max-width:700px}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.form-group label{
  font-size:var(--font-caption);
  color:var(--muted);
}

.form-actions{
  margin-top:18px;
  display:flex;
  gap:10px;
}

/* MODALS */

.modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(7px) saturate(120%);
  -webkit-backdrop-filter:blur(7px) saturate(120%);
  z-index:120;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.modal.show{display:flex;animation:fix24ModalFadeIn .18s ease}
@keyframes fix24ModalFadeIn{from{opacity:0}to{opacity:1}}
@keyframes fix24ModalBoxIn{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(prefers-reduced-motion:reduce){.modal.show{animation:none}.modal.show .modal-box{animation:none}}

.modal-box{
  width:100%;
  max-width:520px;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:15px;
  padding:22px;
  animation:fix24ModalBoxIn .22s cubic-bezier(.22,.75,.32,1);
}

.modal-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}

.close{
  cursor:pointer;
  color:var(--muted);
  font-size:var(--font-title);
}

/* FIX22: modal "x" yopish tugmasi — hech qanday holatda qizil bo'lmasin */
.modal-x{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel2);color:var(--muted);font-size:19px;line-height:1;cursor:pointer;display:grid;place-items:center;flex:none}
.modal-x:hover{background:color-mix(in srgb,var(--fix10-accent,#18d89b) 14%,var(--panel2));color:var(--text)}

.placeholder{
  padding:60px 25px;
  text-align:center;
}

.placeholder p{color:var(--muted);margin-top:8px}

@media(max-width:1200px){
  .dashboard-block.kpi-block{grid-column:span 6}
  .dashboard-block{grid-column:span 12}
}

@media(max-width:900px){
  .sales-layout{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:750px){
  .sidebar{width:72px;padding:20px 8px}
  .logo h2{font-size:var(--font-caption)}
  .logo p{display:none}
  .menu-item{font-size:0;text-align:center}
  .menu-item::first-letter{font-size:18px}
  .main{margin-left:72px;width:calc(100% - 72px);padding:18px 12px}
  .dashboard-block.kpi-block{grid-column:span 12}
  .form-grid{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr}
  .dashboard-drawer{width:92%;right:-100%}
}


/* ADVANCED WAREHOUSE */
.warehouse-shell{display:block}.warehouse-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.warehouse-tab{border:1px solid var(--border);background:var(--panel);color:var(--text);padding:10px 13px;border-radius:10px;cursor:pointer;font-weight:700;font-size:var(--font-caption)}.warehouse-tab.active{background:var(--orange);color:#fff;border-color:var(--orange)}.warehouse-panel{display:none}.warehouse-panel.active{display:block}.muted-line{color:var(--muted);font-size:var(--font-caption);margin-top:5px}.warehouse-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.warehouse-item-card{padding:16px;display:grid;grid-template-columns:58px 1fr;gap:12px;cursor:pointer}.warehouse-item-card:hover{transform:translateY(-1px)}.warehouse-thumb{width:58px;height:58px;border-radius:var(--radius-sm);background:var(--panel2);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden}.warehouse-thumb img{width:100%;height:100%;object-fit:cover}.warehouse-item-title{font-weight:800}.warehouse-meta{font-size:var(--font-caption);color:var(--muted);margin-top:5px}.warehouse-qty{font-size:18px;font-weight:800;margin-top:9px}.warehouse-price{font-size:var(--font-caption);color:var(--muted);margin-top:4px}.warehouse-card-actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.ostatka-actions{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.ostatka-actions>div{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:9px}.ostatka-actions span{color:var(--muted);font-size:var(--font-caption)}.stock-workspace{padding:16px;margin-bottom:16px}.stock-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.stock-row input{width:100%}.difference-pos{color:var(--success);font-weight:700}.difference-neg{color:var(--danger);font-weight:700}.scroll-sentinel{text-align:center;color:var(--muted);padding:18px;font-size:var(--font-caption)}.wide-modal{max-width:760px}.product-card-modal{max-width:900px;max-height:calc(100vh - 40px);overflow-y:auto}.menu-recipe-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.recipe-row{position:relative;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2)}.recipe-row-number{position:absolute;top:7px;right:9px;min-width:24px;height:24px;border-radius:var(--radius-xs);display:grid;place-items:center;background:rgba(49,202,255,.10);border:1px solid rgba(49,202,255,.18);font-size:11px;font-weight:800;color:var(--text)}.recipe-add-more{width:100%;margin-top:10px;min-height:42px}.product-card-head{display:grid;grid-template-columns:100px 1fr;gap:18px}.product-card-image{width:100px;height:100px;border-radius:var(--radius-medium);background:var(--panel2);display:flex;align-items:center;justify-content:center;font-size:45px;overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:cover}.product-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.product-stat{background:var(--panel2);border:1px solid var(--border);padding:12px;border-radius:10px}.product-stat small{color:var(--muted);display:block;margin-bottom:5px}.status-pill{display:inline-block;padding:5px 8px;border-radius:99px;font-size:11px;font-weight:700}.status-wait{background:#fff3cd;color:#8a6800}.status-ok{background:rgba(22,166,106,.13);color:var(--success)}.status-bad{background:rgba(229,72,77,.13);color:var(--danger)}
@media(max-width:1100px){.warehouse-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.warehouse-cards{grid-template-columns:1fr}.ostatka-actions{grid-template-columns:1fr}.stock-row{grid-template-columns:1.7fr 1fr}.stock-row>*:nth-child(4){grid-column:1/-1}.product-stats{grid-template-columns:1fr}}


.user-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel);padding:8px 12px;border-radius:10px;font-size:var(--font-caption);font-weight:700}.user-chip small{display:block;color:var(--muted);font-weight:400}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.permission-item{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--border);border-radius:9px;padding:9px;font-size:var(--font-caption)}.category-list{display:flex;flex-direction:column;gap:8px}.category-row{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:10px}.category-row input{flex:1}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.menu-card{padding:16px}.menu-card h3{margin-bottom:6px}.menu-card-image{width:54px;height:54px;min-width:54px;border-radius:13px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--panel2);border:1px solid var(--border)}.menu-card-image img{width:100%;height:100%;object-fit:cover}.menu-image-empty{font-size:10px;color:var(--muted);text-align:center}.menu-image-upload{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center}.menu-image-preview{width:120px;height:100px;border-radius:var(--radius-control);border:1px dashed var(--border);background:var(--panel2);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;text-align:center}.menu-image-preview img{width:100%;height:100%;object-fit:cover}.menu-image-actions{display:flex;gap:8px;flex-wrap:wrap}.recipe-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:end;margin:8px 0}.dragging-tab{opacity:.45}#warehouseTabs.gpe-edit .warehouse-tab{touch-action:none}.warehouse-tab{touch-action:pan-x}.readonly{background:var(--panel2)!important;color:var(--muted)}.audit-toolbar{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.branch-request-actions{display:flex;gap:6px;flex-wrap:wrap}.hidden-by-permission{display:none!important}@media(max-width:900px){.menu-grid{grid-template-columns:1fr 1fr}.audit-toolbar{grid-template-columns:1fr 1fr}}@media(max-width:650px){.permission-grid,.menu-grid,.audit-toolbar{grid-template-columns:1fr}.recipe-row{grid-template-columns:1fr 1fr}.recipe-row button{grid-column:1/-1}}


.select-plus-row{display:flex;gap:8px;align-items:center}.select-plus-row select{flex:1;min-width:0}.add-inline-btn{min-width:44px;font-size:var(--font-title);line-height:1;padding:7px 12px}

/* EXPENSES + ICON LIBRARY */
.expense-shell{display:block}.expense-head{gap:12px}.expense-toolbar{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;padding:15px;margin-bottom:15px}
.expense-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.expense-kpi{padding:15px;display:flex;gap:12px;align-items:center;min-height:90px}.expense-kpi small{display:block;color:var(--muted);font-size:11px}.expense-kpi b{display:block;font-size:20px;margin-top:5px}.expense-kpi span{font-size:11px;color:var(--muted);display:block;margin-top:4px}.expense-kpi-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--orange-soft);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.expense-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px}.expense-chart-card,.recurring-card{padding:16px}.expense-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.expense-card-head h3{font-size:16px}.expense-chart-actions{display:flex;gap:6px}.expense-chart-swipe{min-height:330px;touch-action:pan-y;user-select:none}.expense-dots{display:flex;justify-content:center;gap:7px;margin-top:8px}.expense-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.expense-dot.active{background:var(--orange)}
.donut-layout{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:22px;min-height:300px}.expense-donut{width:210px;height:210px;border-radius:50%;margin:auto;position:relative}.expense-donut:after{content:"";position:absolute;inset:44px;background:var(--panel);border-radius:50%}.donut-center{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:800}.donut-center small{font-size:11px;color:var(--muted);font-weight:400}.expense-legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:var(--font-caption)}.legend-dot{width:10px;height:10px;border-radius:50%}
.bar-chart{height:270px;display:flex;align-items:flex-end;gap:12px;padding:30px 10px 25px;border-bottom:1px solid var(--border);position:relative}.bar-col{flex:1;min-width:28px;text-align:center}.bar-stick{width:70%;max-width:48px;margin:auto;border-radius:7px 7px 0 0;background:var(--orange);min-height:3px}.bar-label{font-size:10px;color:var(--muted);margin-top:7px}.line-chart-svg{width:100%;height:280px}.compare-list{display:flex;flex-direction:column;gap:12px;padding:10px 0}.compare-row{display:grid;grid-template-columns:120px 1fr 90px;align-items:center;gap:10px;font-size:var(--font-caption)}.compare-track{height:10px;background:var(--panel2);border-radius:99px;overflow:hidden}.compare-fill{height:100%;border-radius:99px}
.recurring-list{display:flex;flex-direction:column;gap:8px}.recurring-item{border:1px solid var(--border);background:var(--panel2);border-radius:10px;padding:10px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.recurring-item small{color:var(--muted);display:block;margin-top:3px}.expense-category-list{display:flex;flex-direction:column;gap:8px}.expense-category-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:10px}.category-icon-tile,.icon-preview-tile{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center}.category-row-actions{display:flex;gap:6px;align-items:center}.category-edit-btn{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;min-width:112px}.icon-select-button{width:100%;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:9px 10px;border-radius:9px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.icon-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:14px;max-height:420px;overflow:auto}.icon-picker-item{border:1px solid var(--border);background:var(--panel);border-radius:11px;padding:10px 6px;cursor:pointer;text-align:center;color:var(--text)}.icon-picker-item:hover{border-color:var(--orange);background:var(--orange-soft)}.icon-picker-item span{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.icon-color-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.icon-color-btn{width:28px;height:28px;border-radius:50%;border:3px solid transparent;cursor:pointer}.icon-color-btn.active{outline:2px solid var(--text);outline-offset:2px}.expense-category-cell{display:flex;align-items:center;gap:8px}.mini-ui-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.expense-category-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.expense-category-choice{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:11px;background:var(--panel2);color:var(--text);cursor:pointer;text-align:left;transition:.15s}.expense-category-choice:hover{border-color:var(--orange)}.expense-category-choice.active{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange-soft)}.expense-category-choice .category-icon-tile{width:34px;height:34px;min-width:34px;border-radius:10px}.expense-category-choice b{font-size:var(--font-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-category-native-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.expense-category-picker-empty{grid-column:1/-1;color:var(--muted);font-size:var(--font-caption);padding:8px 0}
@media(max-width:560px){.expense-category-picker{grid-template-columns:1fr}}
@media(max-width:1200px){.expense-toolbar{grid-template-columns:repeat(3,1fr)}.expense-kpis{grid-template-columns:repeat(2,1fr)}.expense-grid{grid-template-columns:1fr}}
@media(max-width:750px){.expense-toolbar{grid-template-columns:1fr 1fr}.expense-kpis{grid-template-columns:1fr 1fr}.expense-grid{grid-template-columns:1fr}.expense-chart-actions{display:none}.donut-layout{grid-template-columns:1fr}.expense-donut{width:185px;height:185px}.expense-donut:after{inset:39px}.expense-legend{display:grid;grid-template-columns:1fr 1fr}.compare-row{grid-template-columns:90px 1fr 70px}.icon-picker-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.expense-toolbar{grid-template-columns:1fr}.expense-kpis{grid-template-columns:1fr}.expense-kpi{min-height:76px}.expense-legend{grid-template-columns:1fr}.icon-picker-grid{grid-template-columns:repeat(3,1fr)}}


/* Expense categories accordion */
.expense-categories-accordion{margin-bottom:16px;overflow:hidden}
.expense-categories-accordion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;user-select:none}
.expense-categories-accordion-head:hover{background:var(--panel2)}
.expense-categories-accordion-title{display:flex;align-items:center;gap:10px}
.expense-categories-accordion-title h3{margin:0}
.expense-categories-chevron{font-size:20px;transition:transform .2s ease;color:var(--muted)}
.expense-categories-accordion.open .expense-categories-chevron{transform:rotate(180deg)}
.expense-categories-accordion-body{display:none;border-top:1px solid var(--border);padding:14px 16px 16px}
.expense-categories-accordion.open .expense-categories-accordion-body{display:block}
.expense-categories-accordion-actions{display:flex;justify-content:flex-end;margin-bottom:12px}
.expense-categories-inline-list{display:flex;flex-direction:column;gap:8px}
.stock-alert-scroll-hint{
  flex:0 0 auto;
  margin:0 0 4px;
  padding:7px 10px;
  border-radius:10px;
  font-size:10px;
  font-weight:750;
  color:var(--muted);
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  text-align:center;
}
.stock-alert-modal-list::-webkit-scrollbar{
  width:10px;
}
.stock-alert-modal-list::-webkit-scrollbar-track{
  background:rgba(255,255,255,.025);
  border-radius:10px;
}
.stock-alert-modal-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.16);
  border-radius:10px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.stock-alert-modal-list::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.26);
  background-clip:padding-box;
}
@media(max-width:700px){.expense-categories-accordion-head{padding:12px}.expense-categories-accordion-body{padding:12px}.category-row-actions{flex-wrap:wrap;justify-content:flex-end}.category-edit-btn{min-width:auto}}

/* FIX20.47 — Xarajat qo‘shish alohida expenses_add ruxsati bilan boshqariladi.
   Owner/Admin uchun doim; eski expenses_edit ruxsati backward-compatible tarzda qo‘shishga ham ruxsat beradi. */
[data-expense-add-panel="1"]{display:none;}
[data-expense-add-panel="1"].expense-add-visible{display:block!important;}


/* ===== HISOBOTLAR / REPORTS CENTER ===== */
.report-shell{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}.report-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.report-toolbar .spacer{flex:1}.report-pills{display:flex;gap:8px;flex-wrap:wrap}.report-pill{border:1px solid var(--border);background:var(--card);color:var(--text);padding:9px 13px;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0}.report-pill.active{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700}.report-select,.report-date{min-height:40px;border-radius:11px}.report-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-kpi{padding:16px;border-radius:var(--radius-medium);background:linear-gradient(145deg,var(--card),rgba(255,122,0,.04));border:1px solid var(--border)}.report-kpi small{color:var(--muted);display:block;margin-bottom:7px}.report-kpi b{font-size:23px}.report-delta{font-size:var(--font-caption);margin-top:6px;font-weight:700}.report-up{color:#17b26a}.report-down{color:#f04438}.report-risk{border-radius:var(--radius-medium);padding:16px;border:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:8px}.risk-badge{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;font-size:var(--font-caption);font-weight:800}.risk-low{background:#dcfae6;color:#067647}.risk-medium{background:#fef0c7;color:#b54708}.risk-high{background:#ffead5;color:#c4320a}.risk-critical{background:#fee4e2;color:#b42318}.report-tabs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity}.report-tabs::-webkit-scrollbar{display:none}.report-tab{white-space:nowrap;border:1px solid var(--border);background:var(--card);color:var(--text);padding:10px 13px;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;scroll-snap-align:start}.report-tab.active{background:#111827;color:#fff;border-color:#111827}.dark .report-tab.active{background:#fff;color:#111827}.report-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.report-card{padding:17px}.report-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:14px}.report-card-head h3{margin:0;font-size:17px}.report-card-head p{margin:4px 0 0;color:var(--muted);font-size:var(--font-caption)}.report-list{display:grid;gap:9px}.report-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--border);border-radius:13px}.report-rank{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:rgba(255,122,0,.12);font-weight:800}.report-row small{display:block;color:var(--muted);margin-top:3px}.report-progress{height:7px;background:var(--border);border-radius:999px;overflow:hidden;margin-top:7px}.report-progress i{display:block;height:100%;background:var(--orange);border-radius:999px}.report-risk-list{display:grid;gap:10px}.report-risk-item{padding:12px;border-radius:13px;border:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:8px}.report-risk-item b{display:block}.report-risk-item small{color:var(--muted)}.report-ai-box{background:linear-gradient(135deg,rgba(124,92,255,.13),rgba(255,122,0,.08));border:1px solid rgba(124,92,255,.28)}.report-ai-input{display:flex;gap:8px;margin-top:12px}.report-ai-input input{flex:1}.report-ai-answer{margin-top:12px;padding:13px;border-radius:13px;background:var(--card);border:1px solid var(--border);white-space:pre-wrap;line-height:1.55}.report-chart{min-height:270px;display:flex;align-items:center;justify-content:center}.report-bars{width:100%;display:grid;gap:10px}.report-bar{display:grid;grid-template-columns:80px 1fr 90px;gap:10px;align-items:center}.report-bar-track{height:12px;background:var(--border);border-radius:99px;overflow:hidden}.report-bar-fill{height:100%;background:var(--orange);border-radius:99px}.report-tree{display:grid;gap:10px}.report-tree-node{padding:13px;border:1px solid var(--border);border-radius:13px;display:flex;justify-content:space-between;gap:12px}.report-tree-node.positive{border-color:rgba(23,178,106,.35)}.report-tree-node.negative{border-color:rgba(240,68,56,.35)}.report-export-actions{display:flex;gap:8px;flex-wrap:wrap}.report-kpi-table{width:100%}.report-kpi-score{font-size:16px;font-weight:900}.report-section{display:none}.report-section.active{display:block}.report-empty{padding:35px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.report-kpis{grid-template-columns:repeat(2,1fr)}.report-hero,.report-grid-2,.report-grid-3{grid-template-columns:1fr}}
@media(max-width:650px){.report-toolbar{align-items:stretch}.report-toolbar .spacer{display:none}.report-pills{width:100%;overflow:auto;flex-wrap:nowrap}.report-kpis{grid-template-columns:1fr 1fr}.report-kpi{padding:13px}.report-kpi b{font-size:18px}.report-row{padding:10px}.report-export-actions{width:100%}.report-export-actions .btn{flex:1}.report-bar{grid-template-columns:58px 1fr 70px;font-size:var(--font-caption)}}


/* BRANCHES V1 */
.branchv1-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}
.branchv1-stat{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:12px}
.branchv1-stat span,.branchv1-stat b{display:block}.branchv1-stat span{font-size:9px;color:var(--muted)}.branchv1-stat b{font-size:19px;margin-top:4px}
.branchv1-toolbar{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(150px,.6fr);gap:8px;margin:10px 0}
.branchv1-toolbar input,.branchv1-toolbar select{min-height:42px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--text);padding:0 11px}
.branchv1-namebtn{background:none;border:0;color:inherit;font-weight:900;cursor:pointer;padding:0;text-align:left}
.branchv1-pos{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;white-space:nowrap}
.branchv1-pos.connected{color:#27d58a;border-color:rgba(39,213,138,.35);background:rgba(39,213,138,.07)}
.branchv1-pos.error{color:#ff6868;border-color:rgba(255,88,88,.35);background:rgba(255,88,88,.07)}
.branchv1-pos.disconnected,.branchv1-pos.unlinked{color:#aab3c0}
.branchv1-actions{display:flex;gap:5px;flex-wrap:wrap}
.branchv1-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.branchv1-detail-card{border:1px solid var(--line);border-radius:13px;padding:10px}
.branchv1-detail-card span,.branchv1-detail-card b{display:block}.branchv1-detail-card span{font-size:9px;color:var(--muted)}.branchv1-detail-card b{font-size:var(--font-caption);margin-top:4px}
.branchv1-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.branchv1-info>div{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px}
.branchv1-info span,.branchv1-info b{display:block}.branchv1-info span{font-size:9px;color:var(--muted)}.branchv1-info b{font-size:11px;margin-top:3px;word-break:break-word}
.branchv1-blockers{margin-top:10px;border:1px solid rgba(255,200,76,.3);background:rgba(255,200,76,.05);border-radius:var(--radius-sm);padding:10px;font-size:10px;line-height:1.55}
.branchv1-history{margin-top:12px;display:grid;gap:6px}.branchv1-history-row{border:1px solid var(--line);border-radius:10px;padding:8px;font-size:10px}
.branchv1-delete-warning{border:1px solid rgba(255,88,88,.35);background:rgba(255,88,88,.06);border-radius:var(--radius-sm);padding:10px;margin-bottom:10px;font-size:10px;line-height:1.5}
.branchv1-password-status{font-size:10px;color:var(--muted);margin-top:6px}
@media(max-width:900px){.branchv1-summary{grid-template-columns:1fr 1fr}.branchv1-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.branchv1-toolbar{grid-template-columns:1fr}.branchv1-info{grid-template-columns:1fr}.branchv1-detail-grid{grid-template-columns:1fr 1fr}}


/* BRANCHES V1 FIX2 — native select dark theme */
html.dark select,
body.dark select,
.dark select{
  color-scheme:dark;
  background-color:var(--card)!important;
  color:var(--text)!important;
}
html.dark select option,
body.dark select option,
.dark select option{
  background:#111827!important;
  color:#f8fafc!important;
}
html.dark select optgroup,
body.dark select optgroup,
.dark select optgroup{
  background:#0f172a!important;
  color:#f8fafc!important;
}
.branchv1-toolbar select{
  color-scheme:dark;
}
.branchv1-toolbar select option{
  background:#111827!important;
  color:#f8fafc!important;
}
#branchDeleteCurrentPassword,
#branchDeleteNewPassword{
  color-scheme:dark;
}


/* FIX20.5 — Ombor kategoriya + */
.category-filter-plus{display:flex;align-items:center;gap:8px;min-width:260px;flex:1}
.category-filter-plus select{flex:1;min-width:0}
.category-plus-btn{width:42px;min-width:42px;height:42px;padding:0!important;border-radius:13px!important;font-size:26px!important;line-height:1!important;display:inline-flex!important;align-items:center;justify-content:center}
@media (max-width:700px){.category-filter-plus{min-width:100%;width:100%}.category-plus-btn{width:44px;min-width:44px;height:44px}}
.global-catalog-note{margin:10px 0 12px;padding:10px 12px;border:1px solid rgba(49,202,255,.18);background:rgba(49,202,255,.055);border-radius:10px;color:var(--muted);font-size:var(--font-caption)}

.dashboard-stock-alert{
  margin:12px 0 14px;
  min-height:68px;
  padding:12px 14px;
  border-radius:var(--radius-medium);
  border:1px solid rgba(239,68,68,.28);
  background:
    linear-gradient(135deg,rgba(239,68,68,.11),rgba(249,115,22,.055)),
    var(--panel);
  box-shadow:0 12px 30px rgba(239,68,68,.07);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  transition:.18s ease;
}
.dashboard-stock-alert:hover{
  transform:translateY(-1px);
  border-color:rgba(239,68,68,.42);
  box-shadow:0 16px 38px rgba(239,68,68,.10);
}
.dashboard-stock-alert[hidden]{display:none!important}
.dashboard-stock-alert-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
}
.dashboard-stock-alert-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  font-size:20px;
  background:rgba(220,38,38,.16);
  border:1px solid rgba(239,68,68,.20);
}
.dashboard-stock-alert-copy{
  min-width:0;
}
.dashboard-stock-alert-title{
  font-size:15px;
  line-height:1.2;
  font-weight:850;
}
.dashboard-stock-alert-sub{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dashboard-stock-alert-right{
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
}
.dashboard-stock-alert-count{
  min-width:36px;
  height:36px;
  padding:0 10px;
  border-radius:11px;
  display:grid;
  place-items:center;
  font-size:16px;
  font-weight:900;
  color:#fff;
  background:rgba(220,38,38,.88);
  box-shadow:0 0 18px rgba(239,68,68,.18);
}
.dashboard-stock-alert-open{
  color:var(--muted);
  font-size:var(--font-caption);
  font-weight:800;
}

.stock-alert-modal-box{
  width:min(920px,calc(100vw - 28px))!important;
  max-width:920px!important;
  height:88vh!important;
  max-height:900px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.stock-alert-modal-summary{
  flex:0 0 auto;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:-8px 0 12px;
}
.stock-alert-modal-chip{
  padding:7px 10px;
  border-radius:10px;
  font-size:11px;
  font-weight:800;
  color:var(--muted);
  background:rgba(255,255,255,.045);
  border:1px solid var(--border);
}
.stock-alert-modal-list{
  flex:1 1 0!important;
  min-height:0!important;
  height:0;
  max-height:calc(88vh - 145px);
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  padding-right:10px;
  padding-bottom:28px;
  display:flex!important;
  flex-direction:column!important;
  gap:12px;
  overscroll-behavior:contain;
  scrollbar-gutter:stable both-edges;
  pointer-events:auto!important;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.stock-alert-branch{
  --branch-accent:#0ea5e9;
  flex:0 0 auto;
  border:1px solid color-mix(in srgb,var(--branch-accent) 32%,rgba(255,255,255,.06));
  border-radius:15px;
  overflow:hidden;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--branch-accent) 8%,transparent),rgba(255,255,255,.018));
  box-shadow:0 10px 28px color-mix(in srgb,var(--branch-accent) 8%,transparent);
}
.stock-alert-branch-head{
  position:sticky;
  top:0;
  z-index:2;
  min-height:50px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:color-mix(in srgb,var(--branch-accent) 16%,rgba(10,20,38,.96));
  backdrop-filter:blur(14px);
  border-bottom:1px solid color-mix(in srgb,var(--branch-accent) 30%,rgba(255,255,255,.04));
}
.stock-alert-branch-title{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.stock-alert-branch-dot{
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:var(--branch-accent);
  box-shadow:0 0 12px color-mix(in srgb,var(--branch-accent) 58%,transparent);
}
.stock-alert-branch-head strong{
  font-size:var(--font-body);
}
.stock-alert-branch-head span{
  padding:5px 8px;
  border-radius:9px;
  font-size:11px;
  font-weight:850;
  color:var(--branch-accent);
  background:color-mix(in srgb,var(--branch-accent) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--branch-accent) 20%,transparent);
}
.stock-alert-product-list{
  display:flex;
  flex-direction:column;
}
.stock-alert-product{
  padding:11px 13px;
  display:grid;
  grid-template-columns:minmax(220px,1.15fr) minmax(220px,1fr);
  gap:12px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.stock-alert-product:last-child{
  border-bottom:0;
}
.stock-alert-product-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.stock-alert-product-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.035);
}
.stock-alert-product-name{
  min-width:0;
}
.stock-alert-product-name strong{
  display:block;
  font-size:13px;
}
.stock-alert-product-name small{
  display:block;
  margin-top:3px;
  font-size:10px;
  font-weight:850;
  color:#ff8f82;
}
.stock-alert-recommendation{
  min-width:0;
  padding:8px 10px;
  border-radius:11px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.055);
}
.stock-alert-recommendation b{
  display:block;
  font-size:var(--font-caption);
  color:var(--text);
}
.stock-alert-recommendation span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
}
@media(max-width:700px){
  .dashboard-stock-alert-open{display:none}
  .stock-alert-product{
    grid-template-columns:1fr;
    gap:5px;
  }
  .stock-alert-modal-box{
    width:calc(100vw - 16px)!important;
    height:92vh!important;
    max-height:92vh!important;
  }
  .stock-alert-modal-list{
    max-height:calc(92vh - 145px)!important;
  }
}

.report-kpi-cancelled{
  border-color:rgba(239,68,68,.24)!important;
  background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(255,255,255,.025))!important;
}
.report-kpi-cancelled b{
  color:#ff8e84!important;
}
.report-kpi-stock{
  border-color:rgba(34,197,94,.28)!important;
  background:linear-gradient(145deg,rgba(34,197,94,.10),rgba(255,255,255,.025))!important;
}
.report-kpi-stock b{
  color:#34d399!important;
}
.report-kpi-note{
  margin-top:6px;
  font-size:11px;
  font-weight:700;
  color:var(--muted);
}
.report-tree-node.neutral{
  border-color:rgba(59,130,246,.28);
}

/* ROUND12 warehouse action row */
.section-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:650px){.section-head-actions{width:100%;justify-content:stretch}.section-head-actions .btn{flex:1 1 190px;min-width:0}}

/* ==== /styles/globalActionColorStandard.css ==== */
/* CONTROL POS — butun tizim uchun yagona amal ranglari */
:root{
  --action-add-1:var(--ios-accent,#0a84ff);
  --action-add-2:color-mix(in srgb,var(--ios-accent,#0a84ff) 78%,#ffffff 22%);
  --action-edit-1:#2196f3;
  --action-edit-2:#0877e6;
  --action-save-1:#24c964;
  --action-save-2:#0eaa4b;
  --action-delete-1:#ff4d57;
  --action-delete-2:#e52d39;
  --action-cancel:#28364a;
}
.btn.action-add,
.action-add{
  background:linear-gradient(135deg,var(--action-add-1),var(--action-add-2)) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 7px 18px rgba(255,86,0,.18);
}
.btn.action-edit,
.action-edit{
  background:linear-gradient(135deg,var(--action-edit-1),var(--action-edit-2)) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 7px 18px rgba(20,126,235,.16);
}
.btn.action-save,
.action-save{
  background:linear-gradient(135deg,var(--action-save-1),var(--action-save-2)) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 7px 18px rgba(20,180,84,.16);
}
.btn.action-delete,
.action-delete,
.btn.danger{
  background:linear-gradient(135deg,var(--action-delete-1),var(--action-delete-2)) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 7px 18px rgba(235,52,66,.15);
}
.btn.action-cancel,
.action-cancel{
  background:var(--action-cancel) !important;
  color:var(--text) !important;
  border:1px solid var(--border) !important;
  box-shadow:none !important;
}
.btn.action-add:hover,.btn.action-edit:hover,.btn.action-save:hover,.btn.action-delete:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}
.btn{transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}

/* FIX12.1 — Xarajat qo‘shish bloki ham iOS/appearance accent uslubida */
.expense-add-accordion{
  background:linear-gradient(180deg,color-mix(in srgb,var(--ios-accent,#0a84ff) 10%,var(--panel)),var(--panel)) !important;
  border:1px solid color-mix(in srgb,var(--ios-accent,#0a84ff) 34%,var(--border)) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.14),0 0 0 1px color-mix(in srgb,var(--ios-accent,#0a84ff) 8%,transparent) inset !important;
}
.expense-add-accordion .expense-categories-accordion-head{background:transparent !important;border-radius:var(--radius-medium) !important;}
.expense-add-accordion .expense-categories-accordion-head:hover{background:color-mix(in srgb,var(--ios-accent,#0a84ff) 8%,transparent) !important;}
.expense-add-accordion .expense-categories-accordion-title h3{color:var(--text) !important;}
.expense-add-accordion .expense-categories-accordion-title .muted-line,
.expense-add-accordion .expense-categories-chevron,
.expense-add-accordion .expense-categories-accordion-title > span{color:var(--muted) !important;}
.expense-add-accordion .expense-categories-accordion-body{background:var(--panel) !important;border-top:1px solid var(--border) !important;}

/* ==== /styles/financeStyles.css ==== */
.finance-shell{max-width:1180px;margin:0 auto}.finance-title-row{align-items:center}.finance-day-start-badge{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-control);padding:10px 14px;font-size:13px;color:var(--muted)}
.finance-periods{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}.finance-periods::-webkit-scrollbar{display:none}.finance-period{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:var(--radius-control);padding:11px 18px;font-weight:700;cursor:pointer}.finance-period.active{background:linear-gradient(135deg,#ff5a00,#ff8a00);border-color:transparent;color:#fff;box-shadow:0 8px 24px #ff6b0038}
.finance-filters{display:flex;gap:12px;align-items:center;padding:14px;margin-bottom:14px}.finance-filters select,.finance-filters input{min-height:44px}.finance-custom-dates{display:flex;align-items:center;gap:8px}.finance-period-caption{margin-left:auto;color:var(--muted);font-size:var(--font-caption)}
.finance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.finance-kpi{min-height:110px;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;align-items:center;gap:14px;background:var(--card);box-shadow:var(--shadow)}.finance-kpi small{display:block;color:var(--muted);font-weight:700;margin-bottom:7px}.finance-kpi b{font-size:23px;line-height:1.15}.finance-kpi-ico{width:46px;height:46px;border-radius:var(--radius-control);display:grid;place-items:center;font-size:24px;font-weight:900}.kpi-green{background:linear-gradient(135deg,#052d21,#0d1718)}.kpi-green .finance-kpi-ico,.kpi-green b{color:#27d58a}.kpi-red{background:linear-gradient(135deg,#351417,#141517)}.kpi-red .finance-kpi-ico,.kpi-red b{color:#ff5858}.kpi-blue{background:linear-gradient(135deg,#082d49,#10171d)}.kpi-blue .finance-kpi-ico,.kpi-blue b{color:#2eb5ff}.kpi-gold{background:linear-gradient(135deg,#392909,#17160f)}.kpi-gold .finance-kpi-ico,.kpi-gold b{color:#ffc329}
.finance-mini-note{display:flex;gap:20px;flex-wrap:wrap;padding:13px 16px;margin-bottom:12px;font-size:13px}.finance-mini-note span{color:var(--muted)}.finance-mini-note strong{color:var(--text)}
.finance-payment-card,.finance-chart-card,.finance-branch-table-card,.finance-movement-card{padding:18px;margin-bottom:14px}.finance-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.finance-card-head h3{margin:0 0 4px}.finance-payments{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.finance-payment{border:1px solid var(--line);border-radius:15px;padding:14px;background:rgba(255,255,255,.018)}.finance-payment span{display:block;color:var(--muted);font-size:var(--font-caption);margin-bottom:8px}.finance-payment b{font-size:18px}
.finance-chart-nav{display:flex;gap:8px}.finance-chart-nav button{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--line);background:transparent;color:var(--text);font-size:24px;cursor:pointer}.finance-market-controls{margin-bottom:14px}.finance-metric-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.finance-metric-tabs button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:13px;padding:11px 8px;font-weight:700;cursor:pointer}.finance-metric-tabs button.active{background:linear-gradient(135deg,#ff5a00,#ff8a00);color:#fff;border-color:transparent}.finance-branch-toggles{display:flex;flex-wrap:wrap;gap:8px}.finance-branch-toggle{border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:transparent;color:var(--text);cursor:pointer;font-size:var(--font-caption)}.finance-branch-toggle.off{opacity:.42}.finance-branch-toggle i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}
.finance-chart-area{min-height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden}.finance-chart-area svg{width:100%;height:auto;display:block}.finance-chart-empty{color:var(--muted);padding:100px 10px;text-align:center}.finance-chart-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}.finance-chart-dots span{width:7px;height:7px;border-radius:50%;background:#465468;cursor:pointer}.finance-chart-dots span.active{background:#ff6b00;width:18px;border-radius:var(--radius-xs)}.finance-branch-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.finance-branch-total{border:1px solid var(--line);border-left:4px solid var(--branch-color);border-radius:var(--radius-control);padding:12px}.finance-branch-total small{display:block;color:var(--muted);margin-bottom:4px}.finance-branch-total b{font-size:17px}
.finance-grid-two{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.finance-table-wrap{max-height:430px}.finance-table-wrap table{min-width:650px}.finance-movements{display:flex;flex-direction:column;gap:8px;max-height:430px;overflow:auto}.finance-movement{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:11px}.finance-movement-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:900}.finance-movement-main{min-width:0;flex:1}.finance-movement-main b,.finance-movement-main small{display:block}.finance-movement-main small{color:var(--muted);font-size:11px;margin-top:3px}.finance-movement-amount{font-weight:900;white-space:nowrap}.finance-in{color:#22d889}.finance-out{color:#ff5757}.finance-movement-icon.in{background:#0b3b2c;color:#22d889}.finance-movement-icon.out{background:#3a1718;color:#ff5757}
.finance-donut-wrap{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center;width:100%;max-width:720px}.finance-donut{width:220px;aspect-ratio:1;border-radius:50%;position:relative}.finance-donut:after{content:'';position:absolute;inset:28%;border-radius:50%;background:var(--card)}.finance-donut-center{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;font-weight:900}.finance-donut-center span{font-size:var(--font-caption);color:var(--muted);display:block}.finance-legend{display:flex;flex-direction:column;gap:10px}.finance-legend-row{display:flex;align-items:center;gap:8px}.finance-legend-row i{width:10px;height:10px;border-radius:50%}.finance-legend-row b{margin-left:auto}
.finance-bars{width:100%;display:flex;flex-direction:column;gap:13px}.finance-bar-row{display:grid;grid-template-columns:120px 1fr 110px;align-items:center;gap:10px}.finance-bar-track{height:14px;background:rgba(128,144,164,.13);border-radius:999px;overflow:hidden}.finance-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ff5a00,#ff9b21)}
@media(max-width:900px){.finance-kpis{grid-template-columns:1fr 1fr}.finance-grid-two{grid-template-columns:1fr}.finance-payments{grid-template-columns:repeat(3,1fr)}.finance-chart-area{min-height:280px}}
@media(max-width:620px){.finance-title-row{align-items:flex-start}.finance-day-start-badge{font-size:11px;padding:8px 10px}.finance-period{padding:10px 14px}.finance-filters{display:grid;grid-template-columns:1fr;padding:11px}.finance-period-caption{margin:0}.finance-custom-dates{display:grid!important;grid-template-columns:1fr auto 1fr}.finance-kpis{grid-template-columns:1fr 1fr;gap:8px}.finance-kpi{padding:13px;min-height:96px;border-radius:var(--radius-medium)}.finance-kpi b{font-size:17px}.finance-kpi-ico{width:38px;height:38px;font-size:20px}.finance-mini-note{gap:8px;display:grid}.finance-payment-card,.finance-chart-card,.finance-branch-table-card,.finance-movement-card{padding:13px;border-radius:17px}.finance-payments{grid-template-columns:repeat(3,1fr);gap:7px}.finance-payment{padding:10px}.finance-payment b{font-size:var(--font-body)}.finance-metric-tabs{display:flex;overflow-x:auto}.finance-metric-tabs button{min-width:105px}.finance-chart-area{min-height:245px}.finance-branch-totals{grid-template-columns:1fr}.finance-donut-wrap{grid-template-columns:1fr;justify-items:center}.finance-donut{width:185px}.finance-legend{width:100%}.finance-bar-row{grid-template-columns:88px 1fr 88px;font-size:11px}.finance-chart-nav button{width:36px;height:36px}.finance-card-head h3{font-size:17px}}

/* ==== /styles/kpiV2Styles.css ==== */
.kpi2-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.kpi2-toolbar input,.kpi2-toolbar select{min-height:44px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--text);padding:0 12px}.kpi2-toolbar .spacer{flex:1}.kpi2-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.kpi2-stat{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-medium);padding:14px}.kpi2-stat small{display:block;color:var(--muted);margin-bottom:6px}.kpi2-stat b{font-size:20px}.kpi2-stat.green b{color:#27d58a}.kpi2-stat.orange b{color:#ff8a00}.kpi2-branches{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.kpi2-branch{border:1px solid var(--line);border-radius:17px;padding:15px;background:rgba(255,255,255,.015)}.kpi2-branch-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kpi2-branch h4{margin:0 0 4px}.kpi2-branch small{color:var(--muted)}.kpi2-badge{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#273446;color:#cdd7e4}.kpi2-badge.ok{background:#0d3b2c;color:#31df93}.kpi2-badge.warn{background:#47330b;color:#ffc84c}.kpi2-badge.off{background:#382025;color:#ff7e86}.kpi2-branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.kpi2-mini{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px}.kpi2-mini span{display:block;color:var(--muted);font-size:10px}.kpi2-mini b{display:block;margin-top:4px;font-size:13px}.kpi2-panel{border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0;background:var(--card)}.kpi2-panel.hidden{display:none}.kpi2-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.kpi2-field label{display:block;color:var(--muted);font-size:var(--font-caption);margin-bottom:6px}.kpi2-field input,.kpi2-field select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:0 11px}.kpi2-members{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:13px;padding:9px}.kpi2-member{display:flex;gap:8px;align-items:center;padding:8px;border-radius:10px;background:rgba(255,255,255,.02)}.kpi2-member small{display:block;color:var(--muted)}.kpi2-note{border:1px solid #2b5d91;background:#0c263e;color:#b9d8ff;border-radius:13px;padding:11px;font-size:var(--font-caption);margin-top:10px}.kpi2-employee{display:flex;align-items:center;gap:10px}.kpi2-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#24364a;font-weight:900}.kpi2-breakdown{font-size:11px;color:var(--muted);margin-top:3px}.kpi2-money{font-weight:900;color:#27d58a;white-space:nowrap}.kpi2-shifts-list{max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:7px}.kpi2-shift-row{display:grid;grid-template-columns:90px 1fr 1fr 80px 42px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px}.kpi2-shift-row small{color:var(--muted)}.kpi2-icon-btn{width:36px;height:36px;border:1px solid #5b2930;background:#35181d;color:#ff737d;border-radius:10px;cursor:pointer}.kpi2-empty{padding:24px;text-align:center;color:var(--muted)}
@media(max-width:850px){.kpi2-summary{grid-template-columns:1fr 1fr}.kpi2-branches{grid-template-columns:1fr}.kpi2-form{grid-template-columns:1fr}.kpi2-members{grid-template-columns:1fr}.kpi2-shift-row{grid-template-columns:78px 1fr 70px 36px}.kpi2-shift-row .kpi2-shift-branch{grid-column:2/4}}
@media(max-width:560px){.kpi2-toolbar{display:grid;grid-template-columns:1fr 1fr}.kpi2-toolbar .spacer{display:none}.kpi2-toolbar .btn{width:100%}.kpi2-summary{grid-template-columns:1fr 1fr;gap:7px}.kpi2-stat{padding:11px}.kpi2-stat b{font-size:16px}.kpi2-branch-grid{grid-template-columns:1fr 1fr}.kpi2-shift-row{grid-template-columns:72px 1fr 36px}.kpi2-shift-row .kpi2-shift-branch{grid-column:2/3}.kpi2-shift-count{grid-column:2/3}}

/* KPI V18 FIX5 — savdo chegarasi holati */
.kpi18-threshold-wrap{margin:12px 0;display:grid;gap:9px}
.kpi18-threshold-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.kpi18-threshold-head h4{margin:0}.kpi18-threshold-head small{display:block;color:var(--muted);margin-top:3px}
.kpi18-threshold-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.kpi18-threshold-card{border:1px solid var(--line);border-radius:var(--radius-medium);padding:13px;background:var(--card)}
.kpi18-threshold-card.reached{border-left:5px solid #27d58a}.kpi18-threshold-card.remaining{border-left:5px solid #ffc84c}.kpi18-threshold-card.none{border-left:5px solid #7b8799}
.kpi18-threshold-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.kpi18-threshold-top b{font-size:13px}.kpi18-threshold-pill{border:1px solid var(--line);border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;white-space:nowrap}
.kpi18-threshold-card.reached .kpi18-threshold-pill{color:#27d58a;border-color:rgba(39,213,138,.35);background:rgba(39,213,138,.08)}
.kpi18-threshold-card.remaining .kpi18-threshold-pill{color:#ffc84c;border-color:rgba(255,200,76,.35);background:rgba(255,200,76,.08)}
.kpi18-threshold-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.kpi18-threshold-metric{border:1px solid var(--line);border-radius:11px;padding:8px}
.kpi18-threshold-metric span,.kpi18-threshold-metric b{display:block}.kpi18-threshold-metric span{font-size:9px;color:var(--muted)}.kpi18-threshold-metric b{font-size:11px;margin-top:4px}
.kpi18-threshold-result{margin-top:9px;font-size:13px;font-weight:950}
.kpi18-threshold-card.reached .kpi18-threshold-result{color:#27d58a}.kpi18-threshold-card.remaining .kpi18-threshold-result{color:#ffc84c}
.kpi18-threshold-track{height:9px;border-radius:999px;background:rgba(128,144,164,.14);overflow:hidden;margin-top:9px}
.kpi18-threshold-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8a00,#ffc84c)}
.kpi18-threshold-card.reached .kpi18-threshold-fill{background:linear-gradient(90deg,#2eb5ff,#27d58a)}
.kpi18-threshold-foot{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:var(--muted);font-size:9px}
@media(max-width:720px){.kpi18-threshold-grid{grid-template-columns:1fr}}
@media(max-width:430px){.kpi18-threshold-metrics{grid-template-columns:1fr 1fr}.kpi18-threshold-metric:last-child{grid-column:1/-1}}


/* KPI V3 — mobil grafik ko‘rinish */
.kpi2-mobile-viz{display:none}
.kpi2-mobile-card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:14px;margin-top:10px;overflow:hidden}
.kpi2-mobile-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.kpi2-mobile-card-head h4{margin:0;font-size:15px}.kpi2-mobile-card-head small{color:var(--muted);display:block;margin-top:3px}
.kpi2-progress-list,.kpi2-emp-mobile-list{display:grid;gap:10px}
.kpi2-progress-row{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:rgba(255,255,255,.018)}
.kpi2-progress-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.kpi2-progress-top b{font-size:13px}.kpi2-progress-top span{font-size:11px;color:var(--muted);white-space:nowrap}
.kpi2-progress-track{height:12px;border-radius:999px;background:var(--bg);border:1px solid var(--line);overflow:hidden;position:relative}
.kpi2-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ff7a00,#ff4d00);min-width:2px;transition:width .3s ease}
.kpi2-progress-fill.reached{background:linear-gradient(90deg,#13b96f,#27d58a)}
.kpi2-progress-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;font-size:11px;color:var(--muted)}
.kpi2-progress-meta b{display:block;color:var(--text);font-size:var(--font-caption);margin-top:2px}
.kpi2-over-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:rgba(39,213,138,.12);color:#27d58a;font-weight:800;font-size:10px}
.kpi2-emp-mobile{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:rgba(255,255,255,.018)}
.kpi2-emp-mobile-top{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}
.kpi2-emp-mobile-top .kpi2-avatar{width:36px;height:36px;font-size:11px}.kpi2-emp-mobile-top small{display:block;color:var(--muted);margin-top:2px;font-size:10px}
.kpi2-emp-mobile-amount{text-align:right}.kpi2-emp-mobile-amount b{display:block;color:#27d58a;font-size:13px}.kpi2-emp-mobile-amount span{font-size:10px;color:var(--muted)}
.kpi2-emp-bar{height:7px;background:var(--bg);border-radius:999px;overflow:hidden;margin-top:9px;border:1px solid var(--line)}
.kpi2-emp-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6b7cff,#a26bff)}
.kpi2-emp-branches{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.kpi2-emp-chip{font-size:9px;padding:4px 6px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}
@media(max-width:650px){
  .kpi2-mobile-viz{display:block}
  .kpi2-desktop-table{display:none}
  .kpi2-toolbar{grid-template-columns:1fr 1fr}
  .kpi2-toolbar input,.kpi2-toolbar select{width:100%;min-width:0}
  .kpi2-branch{padding:12px}.kpi2-branch-head{align-items:center}.kpi2-badge{font-size:10px}
}
@media(max-width:390px){.kpi2-summary{grid-template-columns:1fr}.kpi2-progress-meta{grid-template-columns:1fr}.kpi2-toolbar{grid-template-columns:1fr}}

/* KPI V4 — nazorat, filtr va ogohlantirish
/* KPI V5 — boshqaruv markazi */ */
.kpi4-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.kpi4-controls input,.kpi4-controls select{min-height:42px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--text);padding:0 11px}.kpi4-controls input{min-width:220px}.kpi4-alerts{display:grid;gap:8px;margin:10px 0}.kpi4-alert{border:1px solid var(--line);border-left:4px solid #64748b;border-radius:13px;padding:11px 12px;background:var(--card);display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.kpi4-alert b{display:block;font-size:13px}.kpi4-alert small{display:block;color:var(--muted);margin-top:3px}.kpi4-alert.reached{border-left-color:#27d58a}.kpi4-alert.on_track{border-left-color:#2eb5ff}.kpi4-alert.watch{border-left-color:#ffc84c}.kpi4-alert.behind{border-left-color:#ff5858}.kpi4-alert.disabled,.kpi4-alert.no_target{border-left-color:#7b8799}.kpi4-alert .score{font-size:var(--font-caption);font-weight:900;white-space:nowrap}.kpi4-daily{display:none;border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--card);margin:12px 0}.kpi4-daily.active{display:block}.kpi4-daily-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:10px}.kpi4-daily-card{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;background:rgba(255,255,255,.018)}.kpi4-daily-card h4{margin:0 0 4px;font-size:var(--font-body)}.kpi4-daily-card small{color:var(--muted)}.kpi4-daily-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px}.kpi4-daily-metrics div{border:1px solid var(--line);border-radius:10px;padding:8px}.kpi4-daily-metrics span{display:block;color:var(--muted);font-size:10px}.kpi4-daily-metrics b{display:block;margin-top:3px;font-size:var(--font-caption)}.kpi4-hidden{display:none!important}
@media(max-width:650px){.kpi4-controls{display:grid;grid-template-columns:1fr 1fr}.kpi4-controls input{min-width:0;width:100%;grid-column:1/-1}.kpi4-daily-grid{grid-template-columns:1fr}.kpi4-alert{grid-template-columns:1fr}.kpi4-alert .score{justify-self:start}}

/* KPI V5 — boshqaruv markazi */
.kpi5-command{margin:12px 0;display:grid;gap:10px}
.kpi5-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kpi5-head h4{margin:0}.kpi5-head small{color:var(--muted)}
.kpi5-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.kpi5-stat{border:1px solid var(--line);border-radius:15px;padding:13px;background:var(--card)}
.kpi5-stat small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.kpi5-stat b{font-size:20px}.kpi5-stat.danger b{color:#ff6868}.kpi5-stat.good b{color:#2fd58a}.kpi5-stat.warn b{color:#ffc84c}
.kpi5-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10px}
.kpi5-box{border:1px solid var(--line);border-radius:var(--radius-medium);padding:13px;background:rgba(255,255,255,.014)}
.kpi5-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.kpi5-box-head h5{margin:0;font-size:var(--font-body)}.kpi5-box-head small{color:var(--muted)}
.kpi5-rank-list,.kpi5-emp-list{display:grid;gap:7px}
.kpi5-rank{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 10px}
.kpi5-rank-no{width:28px;height:28px;border-radius:9px;background:rgba(128,144,164,.12);display:grid;place-items:center;font-weight:900;font-size:11px}
.kpi5-rank-main b,.kpi5-rank-main small{display:block}.kpi5-rank-main small{color:var(--muted);font-size:10px;margin-top:2px}
.kpi5-rank-score{text-align:right}.kpi5-rank-score b,.kpi5-rank-score small{display:block}.kpi5-rank-score small{color:var(--muted);font-size:10px}
.kpi5-rank.behind{border-left:4px solid #ff5858}.kpi5-rank.watch{border-left:4px solid #ffc84c}.kpi5-rank.on_track{border-left:4px solid #2eb5ff}.kpi5-rank.reached{border-left:4px solid #27d58a}.kpi5-rank.disabled,.kpi5-rank.no_target{border-left:4px solid #7b8799}
.kpi5-emp{display:grid;grid-template-columns:1fr auto;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 10px}
.kpi5-emp b,.kpi5-emp small{display:block}.kpi5-emp small{color:var(--muted);font-size:10px;margin-top:2px}
.kpi5-emp-amount{text-align:right;white-space:nowrap}.kpi5-emp-amount b{font-size:var(--font-caption)}.kpi5-emp-amount span{display:block;color:#ffb84d;font-size:9px;margin-top:2px}
.kpi5-note{border:1px dashed var(--line);border-radius:var(--radius-sm);padding:9px 10px;color:var(--muted);font-size:10px;line-height:1.45}
.kpi5-empty{color:var(--muted);font-size:var(--font-caption);padding:12px 4px}
@media(max-width:780px){.kpi5-grid{grid-template-columns:1fr}.kpi5-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:520px){.kpi5-summary{grid-template-columns:1fr}.kpi5-head{align-items:flex-start}.kpi5-stat b{font-size:18px}}

/* KPI V6 — trend va prognoz */
.kpi6-wrap{margin:12px 0;display:grid;gap:10px}
.kpi6-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi6-head h4{margin:0}.kpi6-head small{display:block;color:var(--muted);margin-top:3px}
.kpi6-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kpi6-card{border:1px solid var(--line);border-radius:var(--radius-medium);padding:13px;background:rgba(255,255,255,.014)}
.kpi6-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi6-title b{font-size:var(--font-body)}.kpi6-badge{font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.kpi6-badge.reached,.kpi6-badge.forecast_reach{color:#2fd58a;background:rgba(47,213,138,.08)}
.kpi6-badge.watch{color:#ffc84c;background:rgba(255,200,76,.08)}
.kpi6-badge.critical,.kpi6-badge.missed{color:#ff6868;background:rgba(255,104,104,.08)}
.kpi6-badge.disabled,.kpi6-badge.no_target{color:#aab3c0;background:rgba(170,179,192,.08)}
.kpi6-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.kpi6-metric{border:1px solid var(--line);border-radius:11px;padding:8px}
.kpi6-metric span{display:block;color:var(--muted);font-size:9px}.kpi6-metric b{display:block;font-size:var(--font-caption);margin-top:3px}
.kpi6-chart{height:105px;display:flex;align-items:flex-end;gap:3px;margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
.kpi6-bar{flex:1;min-width:2px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,rgba(82,174,255,.95),rgba(82,174,255,.28));position:relative}
.kpi6-bar:hover:after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#111823;color:#fff;font-size:9px;padding:4px 6px;border-radius:6px;white-space:nowrap;z-index:5}
.kpi6-foot{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:var(--muted);font-size:9px}
.kpi6-progress{height:7px;border-radius:999px;background:rgba(128,144,164,.13);overflow:hidden;margin-top:9px}
.kpi6-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2eb5ff,#27d58a)}
.kpi6-empty{color:var(--muted);font-size:var(--font-caption);padding:12px 4px}
@media(max-width:780px){.kpi6-grid{grid-template-columns:1fr}}
@media(max-width:520px){.kpi6-metrics{grid-template-columns:1fr 1fr}.kpi6-metric:last-child{grid-column:1/-1}}

/* KPI V7 — avtomatik harakat rejasi */
.kpi7-wrap{margin:12px 0;display:grid;gap:10px}
.kpi7-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi7-head h4{margin:0}.kpi7-head small{display:block;color:var(--muted);margin-top:3px}
.kpi7-copy{border:1px solid var(--line);background:transparent;color:inherit;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:800;font-size:11px}
.kpi7-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi7-stat{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:var(--card)}
.kpi7-stat small{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.kpi7-stat b{font-size:17px}
.kpi7-list{display:grid;gap:8px}
.kpi7-row{display:grid;grid-template-columns:46px minmax(0,1.25fr) repeat(3,minmax(105px,.7fr));gap:8px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 11px}
.kpi7-priority{width:38px;height:38px;border-radius:var(--radius-sm);display:grid;place-items:center;font-weight:950;border:1px solid var(--line);background:rgba(128,144,164,.08)}
.kpi7-row.critical{border-left:5px solid #ff5858}.kpi7-row.watch{border-left:5px solid #ffc84c}.kpi7-row.forecast_reach{border-left:5px solid #27d58a}
.kpi7-main b,.kpi7-main small{display:block}.kpi7-main small{color:var(--muted);font-size:10px;margin-top:3px}
.kpi7-cell span,.kpi7-cell b{display:block}.kpi7-cell span{font-size:9px;color:var(--muted)}.kpi7-cell b{font-size:var(--font-caption);margin-top:3px}
.kpi7-action{border-top:1px dashed var(--line);margin-top:7px;padding-top:7px;font-size:10px;line-height:1.45}
.kpi7-action strong{font-size:10px}
.kpi7-empty{border:1px dashed var(--line);border-radius:var(--radius-control);padding:14px;color:var(--muted);font-size:var(--font-caption)}
@media(max-width:900px){.kpi7-summary{grid-template-columns:1fr 1fr}.kpi7-row{grid-template-columns:42px 1fr 1fr}.kpi7-cell.kpi7-hide-md{display:none}}
@media(max-width:560px){.kpi7-summary{grid-template-columns:1fr 1fr}.kpi7-row{grid-template-columns:38px 1fr}.kpi7-row>.kpi7-cell{grid-column:2}.kpi7-head{align-items:flex-start}.kpi7-copy{white-space:nowrap}}

/* KPI V8 — savdo solishtirish va anomaliya */
.kpi8-wrap{margin:12px 0;display:grid;gap:10px}
.kpi8-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi8-head h4{margin:0}.kpi8-head small{display:block;color:var(--muted);margin-top:3px}
.kpi8-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kpi8-stat{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:var(--card)}
.kpi8-stat small{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.kpi8-stat b{font-size:17px}
.kpi8-list{display:grid;gap:8px}
.kpi8-row{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(3,minmax(100px,.7fr));gap:8px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);padding:11px}
.kpi8-row.critical{border-left:5px solid #ff5858}.kpi8-row.watch{border-left:5px solid #ffc84c}.kpi8-row.positive{border-left:5px solid #27d58a}.kpi8-row.stable{border-left:5px solid #2eb5ff}.kpi8-row.no_data{border-left:5px solid #7b8799}
.kpi8-main b,.kpi8-main small{display:block}.kpi8-main small{color:var(--muted);font-size:10px;margin-top:3px}
.kpi8-cell span,.kpi8-cell b{display:block}.kpi8-cell span{font-size:9px;color:var(--muted)}.kpi8-cell b{font-size:var(--font-caption);margin-top:3px}
.kpi8-delta.up{color:#2fd58a}.kpi8-delta.down{color:#ff6868}.kpi8-delta.flat{color:#aab3c0}
.kpi8-note{font-size:10px;color:var(--muted);line-height:1.45}
@media(max-width:760px){.kpi8-summary{grid-template-columns:1fr 1fr 1fr}.kpi8-row{grid-template-columns:1fr 1fr}.kpi8-main{grid-column:1/-1}}
@media(max-width:520px){.kpi8-summary{grid-template-columns:1fr}.kpi8-row{grid-template-columns:1fr 1fr}.kpi8-row .kpi8-cell:last-child{grid-column:1/-1}}

/* KPI V9 — rahbar briefing */
.kpi9-wrap{margin:12px 0;display:grid;gap:10px}
.kpi9-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi9-head h4{margin:0}.kpi9-head small{display:block;color:var(--muted);margin-top:3px}
.kpi9-hero{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:9px}
.kpi9-card{border:1px solid var(--line);border-radius:var(--radius-medium);padding:13px;background:var(--card)}
.kpi9-card small{display:block;color:var(--muted);font-size:10px}.kpi9-card b{display:block;font-size:16px;margin-top:4px}
.kpi9-card strong{display:block;font-size:11px;margin-top:5px}
.kpi9-card.best{border-top:4px solid #27d58a}.kpi9-card.risk{border-top:4px solid #ff5858}.kpi9-card.signal{border-top:4px solid #2eb5ff}
.kpi9-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.kpi9-branch{border:1px solid var(--line);border-radius:var(--radius-medium);padding:12px;background:rgba(255,255,255,.014)}
.kpi9-branch-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.kpi9-branch-head b{font-size:13px}.kpi9-score{font-size:11px;font-weight:900}
.kpi9-health{height:8px;border-radius:999px;background:rgba(128,144,164,.12);overflow:hidden;margin-top:9px}
.kpi9-health i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff5858,#ffc84c,#27d58a)}
.kpi9-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px}
.kpi9-day{height:30px;border-radius:7px;border:1px solid var(--line);position:relative;overflow:hidden;background:rgba(128,144,164,.08)}
.kpi9-day i{position:absolute;left:0;right:0;bottom:0;background:rgba(46,181,255,.65)}
.kpi9-day span{position:absolute;inset:0;display:grid;place-items:center;font-size:8px;font-weight:800}
.kpi9-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
.kpi9-metrics div{border:1px solid var(--line);border-radius:10px;padding:7px}
.kpi9-metrics span,.kpi9-metrics b{display:block}.kpi9-metrics span{color:var(--muted);font-size:9px}.kpi9-metrics b{font-size:11px;margin-top:3px}
.kpi9-summaryline{margin-top:8px;font-size:10px;line-height:1.45;color:var(--muted)}
.kpi9-empty{border:1px dashed var(--line);border-radius:var(--radius-control);padding:14px;color:var(--muted);font-size:var(--font-caption)}
@media(max-width:900px){.kpi9-hero{grid-template-columns:1fr 1fr}.kpi9-card.signal{grid-column:1/-1}.kpi9-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.kpi9-hero,.kpi9-grid{grid-template-columns:1fr}.kpi9-card.signal{grid-column:auto}}

/* KPI V10 — hisobot eksport markazi */
.kpi10-wrap{margin:12px 0;display:grid;gap:10px}
.kpi10-panel{border:1px solid var(--line);border-radius:var(--radius-medium);padding:13px;background:var(--card)}
.kpi10-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.kpi10-head h4{margin:0}.kpi10-head small{display:block;color:var(--muted);margin-top:3px}
.kpi10-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.kpi10-btn{border:1px solid var(--line);background:rgba(255,255,255,.03);color:inherit;border-radius:10px;padding:8px 11px;cursor:pointer;font-weight:850;font-size:11px}
.kpi10-btn:hover{background:rgba(255,255,255,.07)}
.kpi10-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:11px}
.kpi10-stat{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px}
.kpi10-stat span,.kpi10-stat b{display:block}.kpi10-stat span{font-size:9px;color:var(--muted)}.kpi10-stat b{font-size:13px;margin-top:4px}
.kpi10-note{margin-top:9px;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:760px){.kpi10-head{display:grid}.kpi10-actions{justify-content:flex-start}.kpi10-preview{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.kpi10-preview{grid-template-columns:1fr}.kpi10-actions{display:grid;grid-template-columns:1fr 1fr}.kpi10-btn{width:100%}}

/* KPI V11 — filial drill-down */
.kpi9-branch{cursor:pointer;transition:transform .14s ease,border-color .14s ease}
.kpi9-branch:hover{transform:translateY(-1px);border-color:rgba(82,174,255,.45)}
.kpi11-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(5,9,15,.72);backdrop-filter:blur(5px)}
.kpi11-modal.open{display:flex}
.kpi11-dialog{width:min(920px,100%);max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:0 24px 80px rgba(0,0,0,.35)}
.kpi11-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line)}
.kpi11-top h3{margin:0;font-size:18px}.kpi11-top small{display:block;color:var(--muted);margin-top:4px}
.kpi11-close{border:1px solid var(--line);background:transparent;color:inherit;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:18px}
.kpi11-body{padding:15px 17px;display:grid;gap:12px}
.kpi11-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi11-stat{border:1px solid var(--line);border-radius:13px;padding:10px}
.kpi11-stat span,.kpi11-stat b{display:block}.kpi11-stat span{color:var(--muted);font-size:9px}.kpi11-stat b{font-size:13px;margin-top:4px}
.kpi11-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}
.kpi11-box{border:1px solid var(--line);border-radius:15px;padding:12px}
.kpi11-box h5{margin:0 0 9px;font-size:13px}
.kpi11-days{display:grid;gap:6px}
.kpi11-day{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;font-size:10px}
.kpi11-day-track{height:8px;border-radius:999px;background:rgba(128,144,164,.12);overflow:hidden}
.kpi11-day-track i{display:block;height:100%;background:linear-gradient(90deg,#2eb5ff,#27d58a);border-radius:inherit}
.kpi11-day b{font-size:10px}
.kpi11-extremes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kpi11-extreme{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px}
.kpi11-extreme small,.kpi11-extreme b,.kpi11-extreme span{display:block}.kpi11-extreme small{color:var(--muted);font-size:9px}.kpi11-extreme b{font-size:var(--font-caption);margin-top:4px}.kpi11-extreme span{font-size:10px;margin-top:3px}
.kpi11-text{font-size:11px;line-height:1.55;color:var(--muted)}
.kpi11-pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;margin:2px 4px 2px 0}
@media(max-width:760px){.kpi11-summary{grid-template-columns:1fr 1fr}.kpi11-grid{grid-template-columns:1fr}}
@media(max-width:480px){.kpi11-modal{padding:8px}.kpi11-summary{grid-template-columns:1fr 1fr}.kpi11-dialog{max-height:94vh;border-radius:var(--radius-medium)}.kpi11-top,.kpi11-body{padding-left:12px;padding-right:12px}.kpi11-extremes{grid-template-columns:1fr}}

/* KPI V12 — xodim KPI drill-down */
.kpi12-wrap{margin:12px 0;display:grid;gap:10px}
.kpi12-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi12-head h4{margin:0}.kpi12-head small{display:block;color:var(--muted);margin-top:3px}
.kpi12-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.kpi12-card{border:1px solid var(--line);border-radius:15px;padding:11px;background:rgba(255,255,255,.014);cursor:pointer;transition:transform .14s ease,border-color .14s ease}
.kpi12-card:hover{transform:translateY(-1px);border-color:rgba(82,174,255,.45)}
.kpi12-card.low{border-left:5px solid #ff5858}.kpi12-card.mid{border-left:5px solid #ffc84c}.kpi12-card.good{border-left:5px solid #27d58a}
.kpi12-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.kpi12-card-top b{font-size:13px}.kpi12-badge{font-size:9px;font-weight:900;border:1px solid var(--line);border-radius:999px;padding:4px 7px}
.kpi12-meta{font-size:10px;color:var(--muted);margin-top:3px}
.kpi12-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}
.kpi12-metric{border:1px solid var(--line);border-radius:10px;padding:7px}
.kpi12-metric span,.kpi12-metric b{display:block}.kpi12-metric span{font-size:9px;color:var(--muted)}.kpi12-metric b{font-size:11px;margin-top:3px}
.kpi12-bar{height:7px;border-radius:999px;background:rgba(128,144,164,.12);overflow:hidden;margin-top:9px}
.kpi12-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2eb5ff,#27d58a)}
.kpi12-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(5,9,15,.74);backdrop-filter:blur(5px)}
.kpi12-modal.open{display:flex}
.kpi12-dialog{width:min(760px,100%);max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:0 24px 80px rgba(0,0,0,.35)}
.kpi12-top{display:flex;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line)}
.kpi12-top h3{margin:0}.kpi12-top small{display:block;color:var(--muted);margin-top:4px}
.kpi12-close{border:1px solid var(--line);background:transparent;color:inherit;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:18px}
.kpi12-body{padding:15px 17px;display:grid;gap:11px}
.kpi12-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi12-stat{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px}
.kpi12-stat span,.kpi12-stat b{display:block}.kpi12-stat span{font-size:9px;color:var(--muted)}.kpi12-stat b{font-size:var(--font-caption);margin-top:3px}
.kpi12-note{border:1px dashed var(--line);border-radius:var(--radius-sm);padding:11px;font-size:11px;line-height:1.55;color:var(--muted)}
.kpi12-rank{font-size:11px;font-weight:900}
.kpi12-empty{border:1px dashed var(--line);border-radius:var(--radius-control);padding:14px;color:var(--muted);font-size:var(--font-caption)}
@media(max-width:720px){.kpi12-grid{grid-template-columns:1fr}.kpi12-summary{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.kpi12-modal{padding:8px}.kpi12-dialog{max-height:94vh}.kpi12-top,.kpi12-body{padding-left:12px;padding-right:12px}.kpi12-metrics{grid-template-columns:1fr 1fr}.kpi12-metric:last-child{grid-column:1/-1}}

/* KPI V13 — xodim smena samaradorligi */
.kpi13-wrap{margin:12px 0;display:grid;gap:10px}
.kpi13-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi13-head h4{margin:0}.kpi13-head small{display:block;color:var(--muted);margin-top:3px}
.kpi13-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi13-stat{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:var(--card)}
.kpi13-stat span,.kpi13-stat b{display:block}.kpi13-stat span{font-size:9px;color:var(--muted)}.kpi13-stat b{font-size:var(--font-body);margin-top:4px}
.kpi13-list{display:grid;gap:8px}
.kpi13-row{display:grid;grid-template-columns:42px minmax(150px,1.1fr) repeat(3,minmax(100px,.72fr));gap:8px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 11px}
.kpi13-row.risk{border-left:5px solid #ff5858}.kpi13-row.watch{border-left:5px solid #ffc84c}.kpi13-row.good{border-left:5px solid #27d58a}
.kpi13-rank{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);font-weight:900}
.kpi13-main b,.kpi13-main small{display:block}.kpi13-main small{font-size:10px;color:var(--muted);margin-top:3px}
.kpi13-cell span,.kpi13-cell b{display:block}.kpi13-cell span{font-size:9px;color:var(--muted)}.kpi13-cell b{font-size:11px;margin-top:3px}
.kpi13-signal{font-size:9px;font-weight:900;margin-top:4px}
.kpi13-signal.risk{color:#ff6868}.kpi13-signal.watch{color:#ffc84c}.kpi13-signal.good{color:#2fd58a}
.kpi13-branches{display:grid;gap:7px}
.kpi13-branch-row{display:grid;grid-template-columns:minmax(120px,1fr) 80px 110px 110px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:8px 9px;font-size:10px}
.kpi13-branch-row span{color:var(--muted)}.kpi13-branch-row b{font-size:10px}
@media(max-width:820px){.kpi13-summary{grid-template-columns:1fr 1fr}.kpi13-row{grid-template-columns:38px 1fr 1fr}.kpi13-cell.last{grid-column:2/-1}}
@media(max-width:520px){.kpi13-summary{grid-template-columns:1fr 1fr}.kpi13-row{grid-template-columns:36px 1fr}.kpi13-row>.kpi13-cell{grid-column:2}.kpi13-branch-row{grid-template-columns:1fr 1fr}.kpi13-branch-row b:first-child{grid-column:1/-1}}

/* KPI V14 — xodim filiallararo barqarorligi */
.kpi14-wrap{margin:12px 0;display:grid;gap:10px}
.kpi14-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi14-head h4{margin:0}.kpi14-head small{display:block;color:var(--muted);margin-top:3px}
.kpi14-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi14-stat{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:var(--card)}
.kpi14-stat span,.kpi14-stat b{display:block}.kpi14-stat span{font-size:9px;color:var(--muted)}.kpi14-stat b{font-size:var(--font-body);margin-top:4px}
.kpi14-list{display:grid;gap:8px}
.kpi14-row{display:grid;grid-template-columns:minmax(170px,1.2fr) 105px minmax(120px,.9fr) minmax(120px,.9fr);gap:9px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 11px}
.kpi14-row.stable{border-left:5px solid #27d58a}.kpi14-row.watch{border-left:5px solid #ffc84c}.kpi14-row.risk{border-left:5px solid #ff5858}.kpi14-row.single{border-left:5px solid #7b8799}
.kpi14-main b,.kpi14-main small{display:block}.kpi14-main small{font-size:10px;color:var(--muted);margin-top:3px}
.kpi14-score{font-size:15px;font-weight:950}.kpi14-score small{display:block;font-size:9px;color:var(--muted);font-weight:500;margin-top:2px}
.kpi14-cell span,.kpi14-cell b{display:block}.kpi14-cell span{font-size:9px;color:var(--muted)}.kpi14-cell b{font-size:11px;margin-top:3px}
.kpi14-detail{margin-top:6px;font-size:9px;font-weight:850}
.kpi14-detail.stable{color:#2fd58a}.kpi14-detail.watch{color:#ffc84c}.kpi14-detail.risk{color:#ff6868}.kpi14-detail.single{color:#aab3c0}
.kpi14-bar{height:7px;border-radius:999px;background:rgba(128,144,164,.12);overflow:hidden;margin-top:8px}
.kpi14-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff5858,#ffc84c,#27d58a)}
@media(max-width:780px){.kpi14-summary{grid-template-columns:1fr 1fr}.kpi14-row{grid-template-columns:1fr 1fr}.kpi14-main{grid-column:1/-1}}
@media(max-width:480px){.kpi14-summary{grid-template-columns:1fr 1fr}.kpi14-row{grid-template-columns:1fr}.kpi14-main{grid-column:auto}}

/* KPI V15 — xodimlar bo‘yicha harakat kartasi */
.kpi15-wrap{margin:12px 0;display:grid;gap:10px}
.kpi15-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi15-head h4{margin:0}.kpi15-head small{display:block;color:var(--muted);margin-top:3px}
.kpi15-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi15-stat{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:var(--card)}
.kpi15-stat span,.kpi15-stat b{display:block}.kpi15-stat span{font-size:9px;color:var(--muted)}.kpi15-stat b{font-size:var(--font-body);margin-top:4px}
.kpi15-list{display:grid;gap:8px}
.kpi15-row{display:grid;grid-template-columns:44px minmax(170px,1.2fr) minmax(125px,.8fr) minmax(160px,1fr);gap:9px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 11px}
.kpi15-row.reward{border-left:5px solid #27d58a}.kpi15-row.watch{border-left:5px solid #ffc84c}.kpi15-row.support{border-left:5px solid #ff5858}.kpi15-row.observe{border-left:5px solid #2eb5ff}
.kpi15-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);font-size:15px}
.kpi15-main b,.kpi15-main small{display:block}.kpi15-main small{font-size:10px;color:var(--muted);margin-top:3px}
.kpi15-action{font-size:10px;font-weight:900;margin-top:5px}
.kpi15-row.reward .kpi15-action{color:#2fd58a}.kpi15-row.watch .kpi15-action{color:#ffc84c}.kpi15-row.support .kpi15-action{color:#ff6868}.kpi15-row.observe .kpi15-action{color:#6bbcff}
.kpi15-cell span,.kpi15-cell b{display:block}.kpi15-cell span{font-size:9px;color:var(--muted)}.kpi15-cell b{font-size:11px;margin-top:3px}
.kpi15-reason{font-size:10px;line-height:1.45;color:var(--muted)}
.kpi15-copy{border:1px solid var(--line);background:transparent;color:inherit;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:800;font-size:11px}
@media(max-width:820px){.kpi15-summary{grid-template-columns:1fr 1fr}.kpi15-row{grid-template-columns:40px 1fr 1fr}.kpi15-reason{grid-column:2/-1}}
@media(max-width:520px){.kpi15-summary{grid-template-columns:1fr 1fr}.kpi15-row{grid-template-columns:36px 1fr}.kpi15-row>.kpi15-cell,.kpi15-reason{grid-column:2}.kpi15-head{align-items:flex-start}.kpi15-copy{white-space:nowrap}}

/* KPI V16 — yagona Alert Center */
.kpi16-wrap{margin:12px 0;display:grid;gap:10px}
.kpi16-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.kpi16-head h4{margin:0}.kpi16-head small{display:block;color:var(--muted);margin-top:3px}
.kpi16-actions{display:flex;gap:7px;flex-wrap:wrap}
.kpi16-btn{border:1px solid var(--line);background:transparent;color:inherit;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:800;font-size:11px}
.kpi16-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi16-stat{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px;background:var(--card)}
.kpi16-stat span,.kpi16-stat b{display:block}.kpi16-stat span{font-size:9px;color:var(--muted)}.kpi16-stat b{font-size:var(--font-body);margin-top:4px}
.kpi16-filters{display:flex;gap:7px;flex-wrap:wrap}
.kpi16-filter{border:1px solid var(--line);background:rgba(255,255,255,.02);color:inherit;border-radius:999px;padding:6px 10px;cursor:pointer;font-size:10px;font-weight:850}
.kpi16-filter.active{background:rgba(82,174,255,.13);border-color:rgba(82,174,255,.45)}
.kpi16-list{display:grid;gap:8px}
.kpi16-alert{display:grid;grid-template-columns:44px minmax(180px,1.2fr) minmax(130px,.9fr) auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 11px}
.kpi16-alert.high{border-left:5px solid #ff5858}.kpi16-alert.medium{border-left:5px solid #ffc84c}.kpi16-alert.low{border-left:5px solid #2eb5ff}.kpi16-alert.good{border-left:5px solid #27d58a}
.kpi16-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);font-weight:950}
.kpi16-main b,.kpi16-main small{display:block}.kpi16-main small{font-size:10px;color:var(--muted);margin-top:3px}
.kpi16-type{font-size:9px;font-weight:900;margin-top:5px}
.kpi16-detail{font-size:10px;line-height:1.45;color:var(--muted)}
.kpi16-level{font-size:9px;font-weight:900;border:1px solid var(--line);border-radius:999px;padding:5px 8px;white-space:nowrap}
.kpi16-empty{border:1px dashed var(--line);border-radius:var(--radius-control);padding:14px;color:var(--muted);font-size:var(--font-caption)}
@media(max-width:820px){.kpi16-summary{grid-template-columns:1fr 1fr}.kpi16-alert{grid-template-columns:40px 1fr auto}.kpi16-detail{grid-column:2/-1}}
@media(max-width:520px){.kpi16-summary{grid-template-columns:1fr 1fr}.kpi16-head{display:grid}.kpi16-alert{grid-template-columns:36px 1fr}.kpi16-level{grid-column:2;justify-self:start}.kpi16-detail{grid-column:2}}

/* KPI V17 — kompakt boshqaruv va tez navigatsiya */
.kpi17-toolbar{position:sticky;top:8px;z-index:1200;margin:10px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 10px;background:rgba(18,25,36,.92);backdrop-filter:blur(10px)}
.kpi17-nav{display:flex;gap:6px;flex-wrap:wrap}
.kpi17-btn{border:1px solid var(--line);background:rgba(255,255,255,.02);color:inherit;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850;cursor:pointer}
.kpi17-btn.active{background:rgba(82,174,255,.14);border-color:rgba(82,174,255,.48)}
.kpi17-mode{display:flex;gap:6px;white-space:nowrap}
.kpi17-mode button{border:1px solid var(--line);background:transparent;color:inherit;border-radius:9px;padding:6px 9px;font-size:10px;font-weight:850;cursor:pointer}
.kpi17-mode button.active{background:rgba(47,213,138,.12);border-color:rgba(47,213,138,.42)}
body.kpi17-compact #kpiForecastV6,
body.kpi17-compact #kpiCompareV8,
body.kpi17-compact #kpiConsistencyV14,
body.kpi17-compact #kpiEmployeesV12,
body.kpi17-compact #kpiEfficiencyV13{display:none!important}
body.kpi17-compact #kpiAlertCenterV16,
body.kpi17-compact #kpiBriefingV9,
body.kpi17-compact #kpiActionV7,
body.kpi17-compact #kpiStaffActionV15,
body.kpi17-compact #kpiExportV10{display:grid!important}
.kpi17-anchor{scroll-margin-top:78px}
.kpi17-hidden{display:none!important}
@media(max-width:640px){.kpi17-toolbar{align-items:flex-start;display:grid}.kpi17-mode{justify-self:start}.kpi17-nav{overflow:auto;max-width:100%;flex-wrap:nowrap;padding-bottom:2px}.kpi17-btn{flex:0 0 auto}}

/* KPI V18 FINAL — stabil paket */
.kpi18-status{margin:10px 0;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 12px;background:linear-gradient(135deg,rgba(39,213,138,.06),rgba(46,181,255,.04));display:flex;align-items:center;justify-content:space-between;gap:10px}
.kpi18-status-left{display:flex;align-items:center;gap:9px;min-width:0}
.kpi18-dot{width:10px;height:10px;border-radius:50%;background:#27d58a;box-shadow:0 0 0 4px rgba(39,213,138,.10);flex:0 0 auto}
.kpi18-status b,.kpi18-status small{display:block}.kpi18-status b{font-size:var(--font-caption)}.kpi18-status small{font-size:9px;color:var(--muted);margin-top:2px}
.kpi18-badge{border:1px solid rgba(39,213,138,.35);background:rgba(39,213,138,.08);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;white-space:nowrap}
.kpi18-status.warn .kpi18-dot{background:#ffc84c;box-shadow:0 0 0 4px rgba(255,200,76,.10)}
.kpi18-status.warn .kpi18-badge{border-color:rgba(255,200,76,.35);background:rgba(255,200,76,.08)}
@media(max-width:520px){.kpi18-status{align-items:flex-start}.kpi18-badge{margin-top:1px}}

/* ==== /styles/esv2-ios-dark-theme.css ==== */
/* FIX5 — iOS-inspired Night facade, restrained color palette */
#employees.esv2-night,#chat-v2,#employee-account-v2{--es-bg:#071014;--es-card:rgba(17,28,34,.82);--es-card2:rgba(25,39,47,.78);--es-line:rgba(214,240,255,.10);--es-text:#f5fbff;--es-muted:#91a5b2;--es-green:#23d889;--es-green2:#0da86a;--es-blue:#3997ff;--es-purple:#8b69ff;--es-warn:#ffb84d;--es-danger:#ff625f;color:var(--es-text)}
#employees.esv2-night .card,#chat-v2 .card,#employee-account-v2 .card{background:linear-gradient(180deg,rgba(22,35,42,.90),rgba(11,21,27,.92));border:1px solid var(--es-line);box-shadow:0 18px 42px rgba(0,0,0,.24);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
#employees.esv2-night input,#employees.esv2-night select,#chat-v2 input,#employee-account-v2 input,#employee-account-v2 select{background:rgba(255,255,255,.055);border:1px solid var(--es-line);color:var(--es-text);border-radius:var(--radius-control)}
#employees.esv2-night .muted-line,#chat-v2 .muted-line,#employee-account-v2 .muted-line,#chat-v2 small,#employee-account-v2 small{color:var(--es-muted)!important}
#employees.esv2-night .esv2-row{background:rgba(255,255,255,.035);border-color:var(--es-line);border-radius:17px;transition:.18s ease}
#employees.esv2-night .esv2-row:hover{transform:translateY(-1px);background:rgba(255,255,255,.055)}
#employees.esv2-night .esv2-stat{border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025))}
#employees.esv2-night .btn,#chat-v2 .btn,#employee-account-v2 .btn{border-radius:var(--radius-control);box-shadow:none}
#employees.esv2-night .btn:not(.secondary):not(.danger),#chat-v2 .btn:not(.secondary):not(.danger),#employee-account-v2 .btn:not(.secondary):not(.danger){background:linear-gradient(180deg,var(--es-green),var(--es-green2));border-color:transparent;color:#04140d}
#chat-v2{background:radial-gradient(circle at 90% 5%,rgba(35,216,137,.08),transparent 34%),radial-gradient(circle at 5% 90%,rgba(139,105,255,.055),transparent 30%)}
#chat-v2 .esv2-chat-page{grid-template-columns:300px minmax(0,1fr);gap:14px}
#chat-v2 .esv2-chat-side{padding:10px!important;border-radius:22px}
#chat-v2 .esv2-chat-messages{height:680px;border-radius:22px;overflow:hidden}
#chat-v2 .esv2-chat-item{border:0;background:transparent;border-radius:15px;padding:12px;margin-bottom:4px;transition:.15s}
#chat-v2 .esv2-chat-item:hover,#chat-v2 .esv2-chat-item.active{background:rgba(255,255,255,.065)}
#chat-v2 .esv2-msgs{padding:18px 20px;gap:9px;background:linear-gradient(180deg,rgba(1,8,12,.18),rgba(0,0,0,.06))}
#chat-v2 .esv2-msg-wrap{display:flex;align-items:flex-end;gap:6px;max-width:78%}
#chat-v2 .esv2-msg-wrap.me{align-self:flex-end;flex-direction:row-reverse}
#chat-v2 .esv2-msg{max-width:none;min-width:116px;padding:10px 12px;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.075);box-shadow:none}
#chat-v2 .esv2-msg-wrap.me .esv2-msg{border-radius:18px 18px 6px 18px;background:linear-gradient(145deg,rgba(21,142,93,.72),rgba(14,101,70,.78));border-color:rgba(59,236,157,.17)}
#chat-v2 .esv2-msg b{font-size:var(--font-caption);color:#8fdcc0}
#chat-v2 .esv2-msg small{font-size:10px;margin-top:5px;text-align:right}
#chat-v2 .esv2-msg-actions{position:relative;align-self:center}
#chat-v2 .esv2-msg-menu-btn{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#8599a6;cursor:pointer;font-size:18px}
#chat-v2 .esv2-msg-menu-btn:hover{background:rgba(255,255,255,.08);color:#fff}
#chat-v2 .esv2-msg-menu{display:none;position:absolute;z-index:30;right:0;top:31px;min-width:145px;padding:6px;background:#14232b;border:1px solid var(--es-line);border-radius:13px;box-shadow:0 14px 34px rgba(0,0,0,.35)}
#chat-v2 .esv2-msg-actions.open .esv2-msg-menu{display:block}
#chat-v2 .esv2-msg-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;color:#eef7fb;border-radius:9px;cursor:pointer}
#chat-v2 .esv2-msg-menu button:hover{background:rgba(255,255,255,.07)}
#chat-v2 .esv2-msg-menu button.delete{color:#ff7774}
#chat-v2 .esv2-chat-send{padding:12px 14px;background:rgba(5,14,19,.72);border-top:1px solid var(--es-line)}
#chat-v2 .esv2-chat-send input{padding:12px 14px}
#chat-v2 .esv2-chat-send .btn{width:44px;height:44px;padding:0;border-radius:50%;font-size:0}
#chat-v2 .esv2-chat-send .btn:after{content:'➤';font-size:18px}
#employee-account-v2 .esv2-mobile-card{border-radius:var(--radius-card)}
#employee-account-v2 .esv2-shift-main{background:linear-gradient(145deg,rgba(35,216,137,.10),rgba(57,151,255,.055));border-color:var(--es-line);border-radius:19px}
@keyframes esv22AnnounceIn{0%{opacity:0;transform:translateY(-10px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes esv22AnnounceGlow{0%,100%{box-shadow:0 0 0 rgba(255,159,10,.0)}50%{box-shadow:0 0 22px rgba(255,159,10,.28)}}
@keyframes esv22AnnounceIcon{0%,100%{transform:rotate(0deg)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}
.esv22-announce-banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding:12px 13px;border-radius:var(--radius-medium);border:1px solid rgba(255,159,10,.32);background:linear-gradient(135deg,rgba(255,159,10,.14),rgba(255,159,10,.05));animation:esv22AnnounceIn .45s cubic-bezier(.2,.9,.3,1.3),esv22AnnounceGlow 2.6s ease-in-out .5s infinite}
.esv22-announce-icon{font-size:20px;line-height:1;animation:esv22AnnounceIcon 1.8s ease-in-out .6s infinite}
.esv22-announce-text{flex:1;font-size:13px;line-height:1.5;font-weight:600;color:#ffd9a0;white-space:pre-wrap}
.esv2-location-modal{position:fixed;inset:0;z-index:10020;background:rgba(2,10,14,.68);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:18px}.esv2-location-box{width:min(760px,96vw);background:color-mix(in srgb,var(--panel,#0b171d) 96%,transparent);border:1px solid color-mix(in srgb,var(--cp-accent,var(--accent,#18d89b)) 26%,var(--border));border-radius:var(--radius-large);padding:18px;color:var(--text,#f4fbff);box-shadow:0 30px 80px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.05)}.esv2-location-map{width:100%;height:360px;border:1px solid var(--border);border-radius:18px;background:#101c22}.esv2-location-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.esv2-location-meta>div{padding:11px;border-radius:13px;background:var(--panel2);border:1px solid var(--border);min-width:0}.esv2-location-meta small{display:block;color:var(--muted);margin-bottom:5px}.esv2-location-meta b{display:block;overflow-wrap:anywhere}.esv2-location-actions{margin-top:10px;display:flex;justify-content:flex-end}.esv2-location-empty{padding:28px 16px;border:1px solid var(--border);border-radius:16px;background:var(--panel2)}
@media(max-width:720px){#chat-v2 .esv2-chat-page{grid-template-columns:1fr}#chat-v2 .esv2-chat-side{display:block;max-height:190px;overflow:auto}#chat-v2 .esv2-chat-messages{height:calc(100vh - 260px);min-height:520px}.esv2-location-meta{grid-template-columns:1fr}}

/* ==== /styles/fix6-global-indicator-colors.css ==== */
/* FIX6 — rangli ko‘rsatkich kartalari + yagona iOS Night vizual tili */
:root{
  --metric-green:22,166,106;
  --metric-red:229,72,77;
  --metric-blue:36,118,243;
  --metric-gold:241,166,30;
  --metric-purple:135,85,233;
  --metric-cyan:20,184,200;
}

/* Asosiy dashboard ko‘rsatkichlari */
/* TEAL GLASS 2026 — uniform glass card, color lives on the icon only (matches reference mock) */
.dashboard-grid .kpi-block .kpi-card{background:var(--panel);border-color:var(--border)}

/* Filiallar */
.branchv1-summary .branchv1-stat{position:relative;overflow:hidden}
.branchv1-summary .branchv1-stat:nth-child(1){background:linear-gradient(145deg,rgba(var(--metric-blue),.16),rgba(var(--metric-blue),.04),var(--card));border-color:rgba(var(--metric-blue),.26)}
.branchv1-summary .branchv1-stat:nth-child(2){background:linear-gradient(145deg,rgba(var(--metric-green),.17),rgba(var(--metric-green),.04),var(--card));border-color:rgba(var(--metric-green),.28)}
.branchv1-summary .branchv1-stat:nth-child(3){background:linear-gradient(145deg,rgba(var(--metric-gold),.17),rgba(var(--metric-gold),.04),var(--card));border-color:rgba(var(--metric-gold),.28)}
.branchv1-summary .branchv1-stat:nth-child(4){background:linear-gradient(145deg,rgba(var(--metric-red),.17),rgba(var(--metric-red),.04),var(--card));border-color:rgba(var(--metric-red),.27)}
.branchv1-summary .branchv1-stat:nth-child(1) b{color:#55a6ff}.branchv1-summary .branchv1-stat:nth-child(2) b{color:#35dc91}.branchv1-summary .branchv1-stat:nth-child(3) b{color:#ffc65b}.branchv1-summary .branchv1-stat:nth-child(4) b{color:#ff7471}

/* Hisobotlar */
.report-kpis .report-kpi:nth-child(4n+1){background:linear-gradient(145deg,rgba(var(--metric-green),.16),rgba(var(--metric-green),.035),var(--card));border-color:rgba(var(--metric-green),.25)}
.report-kpis .report-kpi:nth-child(4n+2){background:linear-gradient(145deg,rgba(var(--metric-blue),.16),rgba(var(--metric-blue),.035),var(--card));border-color:rgba(var(--metric-blue),.25)}
.report-kpis .report-kpi:nth-child(4n+3){background:linear-gradient(145deg,rgba(var(--metric-gold),.16),rgba(var(--metric-gold),.035),var(--card));border-color:rgba(var(--metric-gold),.25)}
.report-kpis .report-kpi:nth-child(4n+4){background:linear-gradient(145deg,rgba(var(--metric-purple),.16),rgba(var(--metric-purple),.035),var(--card));border-color:rgba(var(--metric-purple),.25)}

/* KPI moduli: asosiy raqamlar rang bilan tez ajralsin */
.kpi2-summary .kpi2-stat:nth-child(4n+1),.kpi18-threshold-metric:nth-child(3n+1),.kpi6-metric:nth-child(3n+1),.kpi12-metric:nth-child(3n+1){background:linear-gradient(145deg,rgba(var(--metric-green),.13),rgba(var(--metric-green),.025));border-color:rgba(var(--metric-green),.22)}
.kpi2-summary .kpi2-stat:nth-child(4n+2),.kpi18-threshold-metric:nth-child(3n+2),.kpi6-metric:nth-child(3n+2),.kpi12-metric:nth-child(3n+2){background:linear-gradient(145deg,rgba(var(--metric-blue),.13),rgba(var(--metric-blue),.025));border-color:rgba(var(--metric-blue),.22)}
.kpi2-summary .kpi2-stat:nth-child(4n+3),.kpi18-threshold-metric:nth-child(3n+3),.kpi6-metric:nth-child(3n+3),.kpi12-metric:nth-child(3n+3){background:linear-gradient(145deg,rgba(var(--metric-gold),.13),rgba(var(--metric-gold),.025));border-color:rgba(var(--metric-gold),.22)}
.kpi2-summary .kpi2-stat:nth-child(4n+4){background:linear-gradient(145deg,rgba(var(--metric-purple),.13),rgba(var(--metric-purple),.025));border-color:rgba(var(--metric-purple),.22)}
.kpi4-daily-metrics>div:nth-child(4n+1){background:rgba(var(--metric-green),.09);border-color:rgba(var(--metric-green),.2)}
.kpi4-daily-metrics>div:nth-child(4n+2){background:rgba(var(--metric-blue),.09);border-color:rgba(var(--metric-blue),.2)}
.kpi4-daily-metrics>div:nth-child(4n+3){background:rgba(var(--metric-gold),.09);border-color:rgba(var(--metric-gold),.2)}
.kpi4-daily-metrics>div:nth-child(4n+4){background:rgba(var(--metric-purple),.09);border-color:rgba(var(--metric-purple),.2)}

/* Xodimlar — yuqori statistikalar va profil ko‘rsatkichlari */
#employees.esv2-night .esv2-stats .esv2-stat:nth-child(4n+1){background:linear-gradient(145deg,rgba(var(--metric-blue),.16),rgba(255,255,255,.025));border-color:rgba(var(--metric-blue),.24)}
#employees.esv2-night .esv2-stats .esv2-stat:nth-child(4n+2){background:linear-gradient(145deg,rgba(var(--metric-green),.16),rgba(255,255,255,.025));border-color:rgba(var(--metric-green),.25)}
#employees.esv2-night .esv2-stats .esv2-stat:nth-child(4n+3){background:linear-gradient(145deg,rgba(var(--metric-gold),.16),rgba(255,255,255,.025));border-color:rgba(var(--metric-gold),.25)}
#employees.esv2-night .esv2-stats .esv2-stat:nth-child(4n+4){background:linear-gradient(145deg,rgba(var(--metric-red),.16),rgba(255,255,255,.025));border-color:rgba(var(--metric-red),.24)}
#employees.esv2-night .esv2-profile-grid .esv2-info:nth-child(5n+1),#employee-account-v2 .esv2-profile-grid .esv2-info:nth-child(5n+1){background:rgba(var(--metric-blue),.075);border-color:rgba(var(--metric-blue),.18)}
#employees.esv2-night .esv2-profile-grid .esv2-info:nth-child(5n+2),#employee-account-v2 .esv2-profile-grid .esv2-info:nth-child(5n+2){background:rgba(var(--metric-green),.075);border-color:rgba(var(--metric-green),.18)}
#employees.esv2-night .esv2-profile-grid .esv2-info:nth-child(5n+3),#employee-account-v2 .esv2-profile-grid .esv2-info:nth-child(5n+3){background:rgba(var(--metric-gold),.075);border-color:rgba(var(--metric-gold),.18)}
#employees.esv2-night .esv2-profile-grid .esv2-info:nth-child(5n+4),#employee-account-v2 .esv2-profile-grid .esv2-info:nth-child(5n+4){background:rgba(var(--metric-purple),.075);border-color:rgba(var(--metric-purple),.18)}
#employees.esv2-night .esv2-profile-grid .esv2-info:nth-child(5n+5),#employee-account-v2 .esv2-profile-grid .esv2-info:nth-child(5n+5){background:rgba(var(--metric-cyan),.075);border-color:rgba(var(--metric-cyan),.18)}

/* Moliya ranglari mavjud edi; ular yangi standartga mos, yumshoqroq glow bilan */
.finance-kpi{box-shadow:0 12px 30px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.025)}
.finance-payment:nth-child(3n+1){background:linear-gradient(145deg,rgba(var(--metric-green),.10),rgba(255,255,255,.012));border-color:rgba(var(--metric-green),.18)}
.finance-payment:nth-child(3n+2){background:linear-gradient(145deg,rgba(var(--metric-blue),.10),rgba(255,255,255,.012));border-color:rgba(var(--metric-blue),.18)}
.finance-payment:nth-child(3n+3){background:linear-gradient(145deg,rgba(var(--metric-purple),.10),rgba(255,255,255,.012));border-color:rgba(var(--metric-purple),.18)}

/* iOS uslubidagi password eye */
.password-field{position:relative;display:block;width:100%}
.password-field>input[type="password"],.password-field>input[data-password-visible="1"]{width:100%;padding-right:48px!important}
.password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;z-index:2;transition:.16s ease}
.password-eye:hover{background:rgba(128,144,164,.12);color:var(--text)}
.password-eye:focus-visible{outline:2px solid rgba(var(--metric-blue),.55);outline-offset:1px}
.password-eye svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.dark .password-field,.esv2-night .password-field,#chat-v2 .password-field,#employee-account-v2 .password-field{color:#eef7fb}

@media(max-width:700px){.password-eye{right:6px;width:32px;height:32px}}

/* ==== /styles/fix62-ios-toggle-green.css ==== */
/* FIX6.2 — unified iOS ON/OFF colors */
.switch{
  background:#4b5563 !important;
  transition:background .22s ease, box-shadow .22s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.switch.on{
  background:linear-gradient(135deg,#22c55e,#16a34a) !important;
  box-shadow:0 0 0 1px rgba(34,197,94,.30),0 0 14px rgba(34,197,94,.28) !important;
}
.switch::after{transition:left .22s ease,transform .22s ease !important;}

.esv2-switch{
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#4b5563 !important;
  border:0 !important;
  outline:0 !important;
  transition:background .22s ease, box-shadow .22s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.esv2-switch:checked{
  background:linear-gradient(135deg,#22c55e,#16a34a) !important;
  box-shadow:0 0 0 1px rgba(34,197,94,.30),0 0 14px rgba(34,197,94,.28) !important;
}
.esv2-switch:after{transition:left .22s ease !important;}

/* Any native checkbox explicitly used as a compact toggle */
input[type="checkbox"].ios-toggle{
  -webkit-appearance:none !important;appearance:none !important;
  width:42px;height:23px;border-radius:999px;position:relative;cursor:pointer;
  background:#4b5563 !important;border:0 !important;transition:.22s ease;
}
input[type="checkbox"].ios-toggle:checked{background:linear-gradient(135deg,#22c55e,#16a34a) !important;}

/* ==== /styles/fix7-settings-css.css ==== */
.fix7-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fix7-card{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px;box-shadow:0 12px 34px rgba(0,0,0,.12)}.fix7-card h3{margin:0 0 12px}.fix7-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.fix7-row:last-child{border-bottom:0}.fix7-row input,.fix7-row select{max-width:210px}.fix7-wide{grid-column:1/-1}.fix7-devices{overflow:auto}.fix7-devices table{width:100%;border-collapse:collapse}.fix7-devices th,.fix7-devices td{padding:9px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;font-size:13px}.fix7-danger{border-color:rgba(255,70,70,.35);background:linear-gradient(180deg,rgba(120,20,20,.18),rgba(255,255,255,.02))}.fix7-pill{padding:4px 8px;border-radius:999px;background:rgba(34,197,94,.14);color:#72f0a8;font-size:var(--font-caption)}.fix7-setting-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}@media(max-width:1100px){.fix7-settings{grid-template-columns:1fr 1fr}}@media(max-width:720px){.fix7-settings{grid-template-columns:1fr}.fix7-wide{grid-column:auto}}

/* ==== /styles/fix71-toggle-ui-hotfix.css ==== */
/* FIX7.1 — correct nested iOS toggles used by Settings */
.fix7-row .switch{
  width:48px !important;height:28px !important;min-width:48px !important;
  position:relative !important;display:inline-block !important;
  border-radius:999px !important;background:#4b5563 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10) !important;
  overflow:hidden !important;cursor:pointer !important;flex:0 0 48px !important;
}
.fix7-row .switch::after{display:none !important;}
.fix7-row .switch input{
  position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;
  opacity:0 !important;margin:0 !important;cursor:pointer !important;z-index:3 !important;
}
.fix7-row .switch .slider{
  position:absolute !important;inset:0 !important;border-radius:999px !important;
  background:#4b5563 !important;transition:background .22s ease,box-shadow .22s ease !important;
}
.fix7-row .switch .slider::before{
  content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;
  border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.28);
  transition:transform .22s ease !important;
}
.fix7-row .switch input:checked + .slider{
  background:linear-gradient(135deg,#22c55e,#16a34a) !important;
  box-shadow:0 0 0 1px rgba(34,197,94,.30),0 0 14px rgba(34,197,94,.26) !important;
}
.fix7-row .switch input:checked + .slider::before{transform:translateX(20px) !important;}
.fix7-row>span:first-child{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.25;}
.fix7-card{min-width:0}.fix7-row{min-width:0}.fix7-row>div{min-width:0}
@media (min-width:1101px){.fix7-settings{grid-template-columns:repeat(3,minmax(310px,1fr));}}

/* ==== /styles/fix72-appearance-css.css ==== */
:root{--fix72-sat:1;--fix72-bright:1;--fix72-contrast:1;--fix72-border-alpha:.22;--fix72-panel-alpha:.66;--fix72-text-alpha:.94;--fix72-accent-alpha:.92}
body.fix72-appearance{--cp-appearance-accent:var(--fix10-accent,#18d89b)}
body.dark.fix72-appearance .sidebar,
body.dark.fix72-appearance .topbar,
body.dark.fix72-appearance .card,
body.dark.fix72-appearance .fix7-card,
body.dark.fix72-appearance .modal-box,
body.dark.fix72-appearance .report-card,
body.dark.fix72-appearance .table-wrap{
  border-color:rgba(159,214,235,var(--fix72-border-alpha))!important;
  box-shadow:0 12px 32px rgba(0,0,0,calc(.20 + var(--fix72-border-alpha)*.36)),inset 0 1px rgba(255,255,255,calc(var(--fix72-border-alpha)*.26))!important;
}
body.dark.fix72-contrast-strong .card,
body.dark.fix72-contrast-strong .fix7-card,
body.dark.fix72-contrast-strong .modal-box,
body.dark.fix72-contrast-strong .report-card{
  background-color:rgba(8,25,38,var(--fix72-panel-alpha))!important;
}
body.fix72-appearance .btn,
body.fix72-appearance .menu-item,
body.fix72-appearance .badge,
body.fix72-appearance .stat-card,
body.fix72-appearance .kpi-card{
  filter:saturate(var(--fix72-sat)) contrast(var(--fix72-contrast)) brightness(var(--fix72-bright));
}
body.dark.fix72-appearance .card h1,body.dark.fix72-appearance .card h2,body.dark.fix72-appearance .card h3,
body.dark.fix72-appearance .fix7-card h3,body.dark.fix72-appearance .report-card h3,
body.dark.fix72-appearance label,body.dark.fix72-appearance th{
  color:rgba(238,249,255,var(--fix72-text-alpha));
}
body.dark.fix72-contrast-max input:not([type=range]),body.dark.fix72-contrast-max select,body.dark.fix72-contrast-max textarea{
  border-color:rgba(142,221,244,.34)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}
body.fix72-contrast-max .menu-item.active,body.fix72-contrast-max .btn:not(.secondary):not(.danger){
  box-shadow:0 0 0 1px color-mix(in srgb,var(--cp-appearance-accent) 38%,transparent),0 8px 22px rgba(0,0,0,.18)!important;
}
.fix72-range{-webkit-appearance:none!important;appearance:none!important;width:100%;height:9px;border-radius:999px;outline:none;border:1px solid rgba(255,255,255,.18);background:linear-gradient(90deg,#2ee6b0 0 var(--range-fill,57%),rgba(255,255,255,.28) var(--range-fill,57%) 100%);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
.fix72-range::-webkit-slider-runnable-track{height:9px;background:transparent;border:none;border-radius:999px}
.fix72-range::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:22px;height:22px;border-radius:50%;background:#35e7bd;border:3px solid #dffdf6;margin-top:-7px;box-shadow:0 0 0 4px rgba(53,231,189,.13),0 0 14px rgba(53,231,189,.45);cursor:pointer}
.fix72-range::-moz-range-track{height:9px;background:transparent;border:none;border-radius:999px}
.fix72-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#35e7bd;border:3px solid #dffdf6;box-shadow:0 0 0 4px rgba(53,231,189,.13),0 0 14px rgba(53,231,189,.45);cursor:pointer}
body.fix72-no-animations *,body.fix72-no-animations *::before,body.fix72-no-animations *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body:not(.dark).fix72-light-ready{background:#f4f7fb!important;color:#152033}
body:not(.dark).fix72-light-ready .sidebar,body:not(.dark).fix72-light-ready .topbar,body:not(.dark).fix72-light-ready .card,body:not(.dark).fix72-light-ready .fix7-card{background:rgba(255,255,255,.94)!important;color:#152033!important;border-color:rgba(24,44,73,.12)!important}
body:not(.dark).fix72-light-ready input,body:not(.dark).fix72-light-ready select,body:not(.dark).fix72-light-ready textarea{background:#fff!important;color:#152033!important;border-color:rgba(24,44,73,.18)!important}
#settings #fix7Color{accent-color:#27d17f}
#settings .fix72-preview{font-size:var(--font-caption);opacity:.8;min-width:38px;text-align:right}

#settings .fix10-appearance-card{border-width:1px!important}
#settings .fix10-appearance-card .fix10-block{padding:12px 0!important}
#settings .fix10-appearance-card .fix10-label{font-weight:700!important;letter-spacing:.01em}
#settings .fix10-theme-tabs button,.fix10-color-chip{transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,border-color .18s ease!important}
#settings .fix10-theme-tabs button:active,.fix10-color-chip:active{transform:scale(.96)!important}
input,textarea,select{scroll-margin-bottom:42vh;scroll-margin-top:18vh}

/* ==== /styles/fix11-ios-shell.css ==== */
:root{--ios-accent:var(--fix10-accent,#22b8c8);--ios-sidebar:#071a1f;--ios-sidebar2:#0a262d;--ios-line:rgba(150,214,225,.10)}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Arial,sans-serif}.sidebar{width:252px;padding:16px 14px 18px;background:linear-gradient(180deg,var(--ios-sidebar),var(--ios-sidebar2));border-right:1px solid var(--ios-line);box-shadow:16px 0 38px rgba(0,0,0,.12)}.main{margin-left:252px;width:calc(100% - 252px)}
.logo.ios-brand{padding:8px 8px 18px;margin-bottom:8px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--ios-line)}.ios-brand-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;overflow:hidden;flex:none;background:linear-gradient(145deg,color-mix(in srgb,var(--ios-accent) 28%,#13263f),color-mix(in srgb,var(--ios-accent) 58%,#0b1627));border:1px solid color-mix(in srgb,var(--ios-accent) 58%,rgba(255,255,255,.18));box-shadow:0 9px 24px color-mix(in srgb,var(--ios-accent) 20%,transparent);color:white;font-weight:850;font-size:13px}.ios-brand-mark img{width:100%;height:100%;object-fit:cover;display:none}.ios-brand-mark.has-logo span{display:none}.ios-brand-mark.has-logo img{display:block}.logo.ios-brand .ios-brand-copy{min-width:0}.logo.ios-brand h2{margin:0;color:#fff;font-size:17px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo.ios-brand p{margin:4px 0 0;color:#8595ac;font-size:11px}
.menu-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 12px;margin:5px 0;border:1px solid transparent;border-radius:var(--radius-control);color:#a9b7ca;font-size:var(--font-body);font-weight:600;transition:.18s}.menu-item:hover{background:rgba(255,255,255,.045);color:#f5f8fc;border-color:rgba(255,255,255,.05)}.menu-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--ios-accent) 30%,transparent),color-mix(in srgb,var(--ios-accent) 12%,rgba(255,255,255,.02)));color:#fff;border-color:color-mix(in srgb,var(--ios-accent) 62%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ios-accent) 15%,transparent),0 10px 28px color-mix(in srgb,var(--ios-accent) 22%,transparent);font-weight:750}.ios-nav-icon{width:23px;height:23px;display:inline-grid;place-items:center;flex:none}.ios-nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.fix72-light-ready .sidebar{background:linear-gradient(180deg,#f8fbff,#eef4fb);border-right-color:rgba(20,40,65,.08)}body.fix72-light-ready .logo.ios-brand h2{color:#132038}body.fix72-light-ready .logo.ios-brand p{color:#708097}body.fix72-light-ready .menu-item{color:#5b6c83}body.fix72-light-ready .menu-item.active{color:#10223a}.btn:not(.danger){background:var(--ios-accent);border-radius:var(--radius-sm)}.period-btn.active,.warehouse-tab.active,.report-tab.active,.branch-tab.active{background:color-mix(in srgb,var(--ios-accent) 18%,var(--panel));border-color:color-mix(in srgb,var(--ios-accent) 58%,transparent);color:var(--text)}
.fix11-logo-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fix11-logo-preview{width:54px;height:54px;border-radius:var(--radius-control);display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--muted);font-weight:800}.fix11-logo-preview img{width:100%;height:100%;object-fit:cover}.fix11-logo-file{max-width:210px}
@media(max-width:750px){.sidebar{width:78px;padding:14px 8px}.main{margin-left:78px;width:calc(100% - 78px)}.logo.ios-brand{justify-content:center;padding:5px 0 14px}.ios-brand-copy{display:none}.menu-item{justify-content:center;padding:11px 8px}.menu-item>span:last-child{display:none}}

/* ==== /styles/fix18-permissions-css.css ==== */
.perm18-group{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb,var(--panel) 82%,transparent);overflow:hidden;margin-bottom:9px}
.perm18-master,.perm18-child{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px}
.perm18-master{font-weight:800;background:color-mix(in srgb,var(--panel2) 90%,transparent)}
.perm18-children{padding:4px 10px 8px 28px;border-top:1px solid var(--border)}
.perm18-child{padding:8px 4px;font-size:var(--font-caption);border-bottom:1px solid color-mix(in srgb,var(--border) 58%,transparent)}
.perm18-child:last-child{border-bottom:0}
.perm18-child input:disabled{opacity:.35}
#employeePermissions.permission-grid{display:block}
@media(max-width:650px){.perm18-children{padding-left:14px}}

/* ==== /styles/fix20-45-salary-workflow.css ==== */
#employeeWageRequiredModal{z-index:10050}#employeeWageRequiredModal .modal-box{max-width:520px}
[data-salary-add-panel="1"]{border-color:color-mix(in srgb,var(--ios-accent,#0a84ff) 24%,var(--border))}
@media(max-width:700px){#salaryAddModal .form-grid{grid-template-columns:1fr}#salaryAddModal .form-group{grid-column:auto!important}}

/* ==== /styles/fix2056-style.css ==== */
.warehouse-item-card{cursor:default!important}
.warehouse-item-card:hover{transform:none!important}

/* ==== /styles/controlV15Style.css ==== */
/* Global tepa-o‘ng filial konteksti yagona filtr */
#salesBranch,#expenseBranchFilter,#financeBranch,#reportBranch{display:none!important}
.finance-filters:has(#financeBranch){grid-template-columns:1fr!important}
/* Kirim alohida semantik rang emas — Ombordagi boshqa tablar bilan bir xil */
.dashboard-stock-alert{gap:12px;flex-wrap:wrap}.stock-v15-modal-settings{display:flex;align-items:center;gap:10px;margin:10px 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--panel);flex-wrap:wrap}.stock-v15-modal-setting-copy{display:flex;flex-direction:column;gap:2px;min-width:220px;flex:1}.stock-v15-modal-setting-copy small,.stock-v15-auto-status{color:var(--muted);font-size:11px}.stock-v15-auto-input-wrap{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.03)}.stock-v15-auto-input-wrap input{width:72px!important;min-height:32px!important;padding:4px 6px!important;text-align:center}.stock-v15-auto-status{min-width:105px;text-align:right}
.finance-kpis{grid-template-columns:repeat(5,1fr)}
.esv15-position-panel{padding:14px;margin:0 0 14px}.esv15-position-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.esv15-position-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.esv15-position-actions{display:flex;gap:6px}.shortage-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.shortage-badge.shortage{background:rgba(229,72,77,.13);color:#ff737d}.shortage-badge.overage{background:rgba(22,166,106,.13);color:#31df93}
@media(max-width:1050px){.finance-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.finance-kpis{grid-template-columns:1fr 1fr}.esv15-position-list{grid-template-columns:1fr}.stock-v15-modal-settings{align-items:stretch}.stock-v15-auto-input-wrap{width:max-content}.stock-v15-auto-status{text-align:left;min-width:0}}

/* ==== /styles/teal-glass-2026-polish.css ==== */
/* ===== TEAL GLASS 2026 — final cross-cutting polish =====
   iOS-style momentum scrolling everywhere, touch-friendly drag/resize,
   thin themed scrollbars, and small silky-smooth micro-interactions. */
html{scroll-behavior:smooth}
*{-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}
body{overscroll-behavior-y:contain}
.table-wrap,.main,.dashboard-drawer,.modal-box,.esv2-list,.esv2-msgs,.finance-chart-area,
.kpi2-members,.kpi2-shifts-list,.sidebar,#fix2041AdminMobileDock,.esv2-chat-list,.esv2-chat-side{
  scroll-behavior:smooth;
}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(150,214,225,.22);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:rgba(150,214,225,.36)}
*{scrollbar-width:thin;scrollbar-color:rgba(150,214,225,.28) transparent}

/* Buttons / interactive elements get a soft, iOS-like press feel */
.btn,.icon-btn,.theme-btn,.period-btn,.menu-item,.chip,.badge,.card{
  transition:transform .16s cubic-bezier(.25,.8,.35,1),box-shadow .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease;
}
.btn:active,.icon-btn:active,.period-btn:active{transform:scale(.96)}
.card:hover{box-shadow:var(--shadow),0 0 0 1px rgba(150,214,225,.10)}

/* FIX24: panellar odatiy holatda vertikal skroll qilinishi kerak — touch-action:none
   faqat "joylashuvni tahrirlash" rejimi (layout-edit) yoqilganda, ya'ni surib
   tartiblash/hajm o'zgartirish paytida yoqiladi. Doimiy touch-action:none bosh
   sahifani telefonda pastga surishni butunlay bloklab qo'ygan edi. */
.dashboard-block{touch-action:pan-y}
.dash-resize-handle{touch-action:none}
#dashboardGrid.layout-edit .dashboard-block{touch-action:none;cursor:grab}
#dashboardGrid.layout-edit .dashboard-block.dash-dragging{cursor:grabbing;opacity:.85;box-shadow:0 22px 50px rgba(0,0,0,.4)}

/* Icon-only topbar buttons (dashboard gear) */
.dashboard-gear-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}

/* Bugfix: fix13-unified-icon-script prepends a fresh <span class="fc-ui-icon"> onto every
   sidebar .menu-item without checking for the hand-authored .ios-nav-icon that's already
   there, so every sidebar entry was silently rendering two overlapping icons. Hide the
   older, now-redundant one wherever both are present. */
.sidebar .menu-item.fix13-iconized > .ios-nav-icon{display:none}

/* Rounded, glassy inputs/selects consistent with the new card radius */
input,select,textarea{border-radius:var(--radius-sm,12px)}
.badge{border-radius:999px}

@media(max-width:750px){
  .card{border-radius:18px}
  .kpi-card{padding:16px;min-height:118px}
  .kpi-value{font-size:var(--font-title)}
  .dashboard-grid{gap:10px}
}

/* ==== /styles/fix20-95-dashboard-layout.css ==== */
/* FIX20.95 — Dashboard panellarini desktop + mobil qo‘lda joylash/resize */
#dashboardGrid.dashboard-grid{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:16px;
  grid-auto-flow:dense;
  gap:15px;
  align-items:stretch;
}
#dashboardGrid.dashboard-grid>.dashboard-block{
  min-width:0;
  min-height:0;
  position:relative;
  margin:0!important;
  align-self:stretch;
  overflow:visible;
}
#dashboardGrid.dashboard-grid>.dashboard-block>.card{
  width:100%;height:100%;min-height:0!important;box-sizing:border-box;
}
#dashboardGrid .dashboard-large{overflow:auto}
#dashboardGrid .chart-container{height:calc(100% - 36px);min-height:150px}
#dashboardGrid #salesChart{height:100%!important;min-height:150px}
#dashboardGrid>.dashboard-stock-alert{width:100%;height:100%;box-sizing:border-box}
#dashboardGrid.layout-edit{
  padding:9px;border:1px solid transparent;border-radius:var(--radius-medium);
  background:color-mix(in srgb,var(--cp-accent,var(--blue)) 2.5%,transparent);
}
#dashboardGrid.layout-edit>.dashboard-block:not([style*="display: none"]){
  cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;
  border-radius:var(--radius-medium);
  outline:none!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cp-accent,var(--blue)) 30%,var(--border)),0 8px 24px rgba(0,0,0,.10);
  transition:transform var(--cp-dur-fast,140ms) var(--cp-ease-emphasized),box-shadow var(--cp-dur-fast,140ms) var(--cp-ease-standard),opacity var(--cp-dur-fast,140ms) ease;
}
#dashboardGrid.layout-edit>.dashboard-block:not([style*="display: none"])::before{
  content:"";position:absolute;z-index:34;top:7px;left:50%;width:32px;height:4px;transform:translateX(-50%);
  border-radius:999px;background:color-mix(in srgb,var(--cp-accent,var(--blue)) 55%,var(--muted));opacity:.55;pointer-events:none;
}
#dashboardGrid.layout-edit>.dashboard-block:active{cursor:grabbing}
#dashboardGrid>.dashboard-block.dash-dragging{opacity:.88;transform:translate3d(0,-3px,0) scale(1.008);z-index:30;box-shadow:inset 0 0 0 1px var(--cp-accent,var(--blue)),0 18px 44px rgba(0,0,0,.28)}
#dashboardGrid>.dashboard-block.dash-resizing{z-index:31;outline:none!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--cp-accent,var(--blue)) 75%,#fff),0 16px 38px rgba(0,0,0,.24)!important}
.dash-resize-handle{
  display:none;position:absolute;right:8px;bottom:8px;z-index:35;width:32px;height:32px;
  border:1px solid color-mix(in srgb,var(--cp-accent,var(--blue)) 44%,var(--border));border-radius:11px;
  background:color-mix(in srgb,var(--panel) 94%,var(--cp-accent,var(--blue)) 6%);color:var(--cp-accent,var(--blue));
  box-shadow:0 7px 20px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.07);font-size:15px;font-weight:900;line-height:1;
  align-items:center;justify-content:center;cursor:nwse-resize;touch-action:none;backdrop-filter:blur(10px);
}
#dashboardGrid.layout-edit .dash-resize-handle{display:flex}
#dashboardGrid.layout-edit>.dashboard-stock-alert{pointer-events:auto}
#dashboardGrid.layout-edit>.dashboard-stock-alert>.dashboard-stock-alert-main,
#dashboardGrid.layout-edit>.dashboard-stock-alert>.dashboard-stock-alert-right{pointer-events:none}
.dash95-layout-box{display:grid;gap:9px;padding:12px;margin:0 0 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--panel2)}
.dash95-layout-box>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dash95-layout-box small{color:var(--muted);font-size:10px;font-weight:700}
.dash95-layout-box .btn{width:100%;min-height:38px}
.dash95-layout-box p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.dash95-control-row>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.dash95-control-row>span b{font-size:var(--font-caption);white-space:normal}
.dash95-control-row>span small{font-size:9px;color:var(--muted);font-weight:500}
.dashboard-stock-alert.dashboard-block{padding:12px 14px}
@media(max-width:1200px) and (min-width:751px){
  #dashboardGrid.dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important}
}
@media(max-width:750px){
  #dashboardGrid.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px;grid-auto-rows:16px}
  #dashboardGrid.dashboard-grid>.dashboard-block{min-width:0!important}
  #dashboardGrid .dashboard-large{padding:13px}
  #dashboardGrid .kpi-card{padding:13px}
  #dashboardGrid .kpi-value{font-size:18px}
  #dashboardGrid .kpi-icon{width:32px;height:32px;margin-bottom:9px}
  #dashboardGrid .payment-layout{gap:12px;flex-wrap:wrap;min-height:0}
  #dashboardGrid .donut{width:120px;height:120px}
  #dashboardGrid .donut::after{inset:24px}
  #dashboardGrid .mini-table th,#dashboardGrid .mini-table td{padding:7px;font-size:10px}
  .dash-resize-handle{width:40px;height:40px;right:5px;bottom:5px;font-size:20px}
  .dashboard-stock-alert.dashboard-block{padding:10px;min-height:0}
  .dashboard-stock-alert-open{display:none}
  .dashboard-stock-alert-sub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}
@media(max-width:420px){
  #dashboardGrid.dashboard-grid{gap:8px}
  #dashboardGrid .kpi-card{padding:11px}
  #dashboardGrid .kpi-label{font-size:10px;margin-bottom:8px}
  #dashboardGrid .kpi-value{font-size:16px}
}

/* ==== /styles/foundation-2.css ==== */

.topbar{flex-wrap:nowrap;gap:10px}
.page-title{min-width:0;flex:1 1 auto}
.topbar-brand-row{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-brand-row>div{min-width:0}
.topbar-brand-mark.ios-brand-mark{width:40px;height:40px;border-radius:13px;font-size:var(--font-caption);flex:none}
.topbar-brand-row h1{font-size:var(--font-title);margin:0 0 3px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-brand-row p{font-size:var(--font-caption);color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{flex:none}
/* Filial tanlash paneli — endi barcha sahifada yuqori o'ng burchakda, ixcham */
.platform-branch-context{flex:none}
@media(max-width:750px){
  .topbar-brand-row{gap:8px}
  .topbar-brand-mark.ios-brand-mark{width:32px;height:32px;border-radius:10px;font-size:10px}
  .topbar-brand-row h1{font-size:15px;max-width:38vw}
  .topbar-brand-row p{font-size:9.5px;max-width:38vw}
  #pageTitleDefaultRow h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
  #pageTitleDefaultRow p{display:none}
  .platform-branch-context{min-width:0;max-width:46vw;padding:5px 7px;gap:4px}
  .platform-branch-context span{display:none}
  .platform-branch-context select{min-width:0;max-width:46vw;font-size:11.5px;padding:2px!important}
}
@media(max-width:380px){
  .topbar-brand-row h1,.topbar-brand-row p,#pageTitleDefaultRow h1{max-width:30vw}
  .platform-branch-context{max-width:40vw}
  .platform-branch-context select{max-width:40vw;font-size:10.5px}
}

/* ==== /styles/fix22-sales-mobile-css.css ==== */
/* FIX22: Savdo tarixi — ixcham printer-ikonkali eksport menyusi */
.sales-export-compact{position:relative;flex:none}
.sales-export-icon-btn{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}
.sales-export-icon-btn:active{background:var(--panel2)}
.sales-export-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:400;min-width:180px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-control);padding:6px;box-shadow:0 18px 44px rgba(0,0,0,.35);display:none;flex-direction:column;gap:2px}
.sales-export-menu.show{display:flex}
.sales-export-menu button{width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:9px 10px;border-radius:9px;cursor:pointer;font:inherit}
.sales-export-menu button:active{background:var(--panel2)}

/* Savdo tarixi jadvalini mobil formatda karta ro'yxatiga aylantirish */
@media(max-width:750px){
  #sales .table-wrap table,#sales .table-wrap thead,#sales .table-wrap tbody,#sales .table-wrap tr,#sales .table-wrap th,#sales .table-wrap td{display:block;width:100%;min-width:0!important;max-width:100%!important}
  #sales .table-wrap thead{position:absolute;left:-9999px;top:-9999px}
  #sales .table-wrap{overflow:visible}
  #sales .table-wrap tbody tr{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-medium);padding:10px 12px;background:var(--panel2)}
  #sales .table-wrap tbody tr.empty,#sales .table-wrap tbody tr:has(td.empty){background:transparent;border:0;padding:20px 0;text-align:center}
  #sales .table-wrap td{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 2px;border:0!important;white-space:normal;text-align:right}
  #sales .table-wrap td::before{content:attr(data-label);color:var(--muted);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;flex:0 0 auto;text-align:left}
  #sales .order-detail{margin-top:12px;position:static;max-height:none}
  #sales .sales-layout{display:block}
}

/* FIX22: Moliya sahifasi — panellar orasidagi bo'shliq + jadvalni karta ko'rinishiga o'tkazish */
#financePanels>[data-gpe-key]{margin-bottom:14px}
#financePanels>[data-gpe-key]:last-child{margin-bottom:0}
@media(max-width:750px){
  #finance .finance-branch-table-card .table-wrap table,#finance .finance-branch-table-card .table-wrap thead,#finance .finance-branch-table-card .table-wrap tbody,#finance .finance-branch-table-card .table-wrap tr,#finance .finance-branch-table-card .table-wrap th,#finance .finance-branch-table-card .table-wrap td{display:block;width:100%;min-width:0!important;max-width:100%!important}
  #finance .finance-branch-table-card .table-wrap thead{position:absolute;left:-9999px;top:-9999px}
  #finance .finance-branch-table-card .table-wrap{overflow:visible}
  #finance .finance-branch-table-card .table-wrap tbody tr{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-medium);padding:10px 12px;background:var(--panel2)}
  #finance .finance-branch-table-card .table-wrap td{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 2px;border:0!important;white-space:normal;text-align:right}
  #finance .finance-branch-table-card .table-wrap td::before{content:attr(data-label);color:var(--muted);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;flex:0 0 auto;text-align:left}
  #finance .finance-grid-two{display:block}
}

/* FIX22: Xarajatlar — ixcham "+ Kategoriyalar" tugmasi va erkin (chip) formatdagi panel */
.expense-cats-compact-btn{padding:7px 12px;font-size:12.5px;border-radius:11px;display:inline-flex;align-items:center;gap:5px}
.expense-category-chip-grid{display:flex;flex-wrap:wrap;gap:9px;padding:4px 0 8px}
.expense-category-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px 8px 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel2);cursor:pointer;font-size:13px;font-weight:600;color:var(--text)}
.expense-category-chip-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.expense-category-chip-del{margin-left:2px;color:var(--muted);font-weight:800;padding:0 3px;border-radius:50%}
.expense-category-chip-del:hover{color:#ff5757}
.expense-category-chip-add{background:transparent;border-style:dashed;color:var(--fix10-accent,var(--accent,#18d89b));border-color:color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 45%,var(--border))}
#expenseAddPanels>[data-gpe-key]{margin-bottom:12px}
#expenseAddPanels>[data-gpe-key]:last-child{margin-bottom:0}
@media(max-width:750px){
  .expense-toolbar-compact{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px}
  .expense-toolbar-compact input,.expense-toolbar-compact select{min-height:36px;font-size:12.5px;padding:6px 8px}
  .expense-toolbar-compact #expenseSearch{grid-column:1/-1}
}


/* === CONTROL POS 3.1.8: Savdo tezkor davr filtrlari + ichki chek scroll === */
#sales .sales-filter-toolbar{align-items:center}
#sales .sales-quick-periods{
  flex:1 0 100%;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
}
#sales .sales-quick-periods::-webkit-scrollbar{display:none}
#sales .sales-quick-period{
  flex:1 0 auto;min-width:92px;min-height:38px;padding:8px 13px;border-radius:12px;
  border:1px solid var(--border);background:var(--panel2);color:var(--text);font:inherit;font-weight:750;
  cursor:pointer;white-space:nowrap;scroll-snap-align:start;transition:background .18s ease,border-color .18s ease,transform .12s ease;
}
#sales .sales-quick-period:active{transform:scale(.98)}
#sales .sales-quick-period.active{
  background:color-mix(in srgb,var(--ios-accent,#18d89b) 22%,var(--panel2));
  border-color:color-mix(in srgb,var(--ios-accent,#18d89b) 65%,var(--border));
  color:var(--text);box-shadow:0 0 0 1px color-mix(in srgb,var(--ios-accent,#18d89b) 18%,transparent) inset;
}
#sales .sales-custom-range{
  display:none;flex:1 0 100%;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) auto minmax(0,1fr) minmax(0,.7fr);
  gap:8px;align-items:center;
}
#sales .sales-custom-range.show{display:grid}
#sales .sales-range-separator{text-align:center}

@media(max-width:750px){
  #sales .sales-quick-periods{grid-column:1/-1;gap:6px}
  #sales .sales-quick-period{min-width:auto;flex:1 0 max-content;padding:7px 10px;min-height:36px;font-size:12.5px;border-radius:10px}
  #sales .sales-custom-range{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
  #sales .sales-custom-range .sales-range-separator{display:none!important}
  #sales .sales-custom-range input{width:100%!important}
  #sales .table-wrap.sales-receipt-scroll{
    height:clamp(360px,48dvh,430px);max-height:430px;overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px!important;scrollbar-width:thin;
  }
  #sales .table-wrap.sales-receipt-scroll tbody{display:block!important}
  #sales .table-wrap.sales-receipt-scroll tbody tr{padding:8px 10px!important;margin-bottom:8px!important}
  #sales .table-wrap.sales-receipt-scroll td{padding:4px 2px!important;line-height:1.25}
  #sales .load-more{margin-top:8px}
}

/* 3.1.8 — eski ixcham pagination/indikator o'lchami qaytarildi. */
@media(max-width:750px){
  #expenses .expense-dots{gap:6px!important;margin-top:7px!important;min-height:14px!important;align-items:center!important}
  #expenses .expense-dot{
    width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;max-width:8px!important;max-height:8px!important;
    padding:0!important;margin:0!important;flex:0 0 8px!important;border:0!important;border-radius:50%!important;box-shadow:none!important;
  }
  #expenses .expense-dot.active{width:8px!important;height:8px!important;transform:none!important}

  #finance .finance-chart-dots{gap:6px!important;margin-top:8px!important;min-height:14px!important;align-items:center!important}
  #finance .finance-chart-dots span{
    width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important;max-height:7px!important;
    padding:0!important;margin:0!important;flex:0 0 7px!important;border-radius:50%!important;box-shadow:none!important;
  }
  #finance .finance-chart-dots span.active{
    width:16px!important;min-width:16px!important;max-width:16px!important;height:7px!important;border-radius:999px!important;transform:none!important;
  }
}

/* ==== /motion-system.css ==== */
/* CONTROL POS Motion 3.0 — component styles. Timing/easing tokens and entrance
   keyframes live in core/ui-platform.css (single global source). */
:root{
  --cp-fast:140ms;--cp-normal:200ms;--cp-modal:220ms;
  --cp-spring:cubic-bezier(.16,1,.3,1);--cp-ease:cubic-bezier(.2,.8,.2,1)
}
.cp-motion :is(button,a,[role=button],.product-card,.menu-item,.section-tile,.period-btn,.report-tab,.warehouse-tab){
  -webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.cp-motion :is(button,.product-card,.menu-item,.section-tile,.period-btn,.report-tab,.warehouse-tab,.settings-tab,.chip,.pay){
  transition:background-color var(--cp-fast) var(--cp-ease),border-color var(--cp-fast) var(--cp-ease),
    box-shadow var(--cp-fast) var(--cp-ease),color var(--cp-fast) var(--cp-ease),opacity var(--cp-fast) var(--cp-ease)
}
.cp-motion :is(button,a,[role=button]):focus-visible{outline:2px solid #8dcde8;outline-offset:3px}
.cp-motion :is(.page.active,[data-motion-page]){transform-origin:50% 20%;backface-visibility:hidden}
.cp-motion :is(.menu-item,.section-tile) :is(svg,.ios-nav-icon,.section-icon){transform-origin:center;will-change:transform}
.cp-motion .menu-item.active{box-shadow:inset 0 0 0 1px rgba(155,220,241,.08),0 5px 18px rgba(0,0,0,.08)}
.cp-motion :is(.period-btn.active,.report-tab.active,.warehouse-tab.active,.settings-tab.active){box-shadow:0 4px 14px rgba(0,0,0,.10)}

@media(hover:hover) and (pointer:fine){
  .cp-motion :is(button,.product-card,.menu-item,.section-tile,.period-btn,.report-tab,.warehouse-tab):not(:disabled):hover{
    border-color:rgba(152,215,239,.42);box-shadow:inset 0 0 0 1px rgba(180,225,245,.08),0 8px 22px rgba(0,0,0,.08)
  }
  .cp-motion :is(.dashboard-block .card,.report-card,.finance-card,.menu-card):hover{
    transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.11);transition:transform 220ms var(--cp-spring),box-shadow 220ms var(--cp-ease)
  }
  .cp-motion :is(.danger,.remove,.destructive):not(:disabled):hover{border-color:rgba(243,123,123,.52)}
  .cp-motion :is(.pay-main,.primary):not(:disabled):hover{box-shadow:inset 0 0 0 1px rgba(190,240,255,.2),0 8px 24px rgba(0,0,0,.12)}
}

.cp-motion :is(.modal,.secure-auth-overlay,.sections-overlay,.history-overlay,.fcp-backdrop,#fix2041MoreSheet){
  background:rgba(3,15,22,.60);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.cp-motion .setting-switch span{transition:transform var(--cp-normal) var(--cp-spring),background-color var(--cp-fast)}
.cp-motion :is(input[type=checkbox],input[type=radio]){accent-color:#60bbdc;transition:box-shadow var(--cp-fast)}
.cp-motion :is(.pay,.section-tile,.warehouse-tab,.report-tab,.settings-tab){transition:background-color var(--cp-fast),border-color var(--cp-fast),box-shadow var(--cp-fast)}
.cp-motion .pay.picked{box-shadow:inset 0 0 0 1px rgba(165,225,244,.48),0 5px 16px rgba(5,20,32,.20)}
.cp-motion .cp-number,.cp-motion :is(.kpi-value,.report-kpi b,.report-value,.finance-value,.summary-value){font-variant-numeric:tabular-nums}
.cp-motion .cp-cart-exit{pointer-events:none;overflow:hidden}
.cp-motion .pay-main[aria-busy=true]{cursor:progress;opacity:.82}
.cp-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cp-spin .75s linear infinite;vertical-align:middle;margin-inline-end:8px}
@keyframes cp-spin{to{transform:rotate(360deg)}}
.cp-success-mark{display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:25px;height:25px;margin-inline-end:8px}
.cp-motion .ambient{animation:none!important}

.cp-loading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:30000;overflow:hidden;background:rgba(70,139,174,.10);pointer-events:none}
.cp-loading-progress::after{content:"";display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,#8dcde8,#d7f5ff,transparent);filter:drop-shadow(0 0 5px rgba(141,205,232,.5));animation:cp-progress .9s var(--cp-ease) infinite}
@keyframes cp-progress{from{transform:translateX(-110%)}to{transform:translateX(380%)}}

.cp-mobile-cart-toggle,.cp-mobile-cart-close,.cp-cart-backdrop{display:none}
@media(max-width:760px){
  .cp-motion :is(.modal,.secure-auth-overlay,.sections-overlay,.history-overlay,.fcp-backdrop,#fix2041MoreSheet){align-items:flex-end!important;padding:0!important}
  .cp-motion :is(.modal-box,.secure-auth-modal,.sections-modal,.history-modal,.history-panel,.history-window,.fcp-sheet,.fix2041-sheet-box){
    width:100%!important;max-width:100%!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto;border-radius:26px 26px 0 0!important;
    margin:0!important;padding-bottom:max(20px,env(safe-area-inset-bottom))!important;overscroll-behavior:contain
  }
  .cp-motion :is(.modal-box,.secure-auth-modal,.sections-modal)::before{content:"";display:block;width:36px;height:5px;border-radius:5px;background:rgba(180,218,235,.38);margin:0 auto 14px}
  .cp-motion body:has(.app-shell){overflow:auto!important}
  .cp-motion .app-shell.pos-mode{display:block!important;min-height:100dvh!important;height:auto!important;padding:76px 12px 94px!important;overflow:visible!important}
  .cp-motion .app-shell.pos-mode>.main{width:100%!important;min-width:0!important;height:auto!important;overflow:visible!important;display:flex!important;flex-direction:column!important;margin:0!important;padding-top:0!important}
  .cp-motion .app-shell.pos-mode .topbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;height:auto!important}
  .cp-motion .app-shell.pos-mode .topbar>.history-top-card{grid-column:1/-1!important}
  .cp-motion .app-shell.pos-mode .topbar :is(.info-card,.cashier-card){min-width:0!important;padding:10px!important}
  .cp-motion .app-shell.pos-mode .topbar strong{font-size:13px!important}
  .cp-motion .app-shell.pos-mode .topbar :is(.info-card,.cashier-card) span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:112px;display:block}
  .cp-motion .app-shell.pos-mode .sales-home-fixed{top:10px!important;left:12px!important;height:54px!important;min-height:54px!important;width:180px!important;z-index:300!important}
  .cp-motion .app-shell.pos-mode .catalog{width:100%!important;min-width:0!important;height:auto!important;overflow:visible!important;padding:12px!important}
  .cp-motion .app-shell.pos-mode .catalog-head{flex-wrap:wrap!important}
  .cp-motion .app-shell.pos-mode .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important;height:auto!important;overflow:visible!important}
  .cp-motion .app-shell.pos-mode .product-card{min-width:0!important}
  .cp-motion .app-shell.pos-mode>.cart{position:fixed!important;inset:auto 0 0!important;width:100%!important;max-width:none!important;height:calc(100dvh - 30px)!important;max-height:calc(100dvh - 30px)!important;z-index:4000!important;padding:40px 12px max(12px,env(safe-area-inset-bottom))!important;border-radius:26px 26px 0 0!important;background:#0c2130!important;transform:translateY(105%);visibility:hidden;transition:transform 390ms var(--cp-spring),visibility 390ms!important}
  .cp-motion .app-shell.pos-mode>.cart.cp-cart-open{transform:translateY(0);visibility:visible}
  .cp-motion .cp-mobile-cart-toggle{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;z-index:3000;align-items:center;gap:10px;padding:17px 16px;border-radius:18px;border:1px solid #4e8fa4;background:#16394b;color:#e5f5fc;box-shadow:0 10px 30px #0007}
  .cp-motion .cp-mobile-cart-toggle strong{margin-inline-start:auto}
  .cp-motion .cp-mobile-cart-close{display:grid;place-items:center;position:absolute;right:12px;top:7px;width:30px;height:30px;border:1px solid #52809466;border-radius:50%;background:#193443;color:#dceef4}
  .cp-motion .cp-cart-backdrop{display:block;position:fixed;inset:0;background:#02101bb0;backdrop-filter:blur(6px);z-index:3999}
  .cp-motion .cart .pay-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cp-motion .cart .pay-label{white-space:normal!important;word-break:normal!important;font-size:12px!important}
  .cp-motion :is(.secure-auth-overlay,.sections-overlay,.history-overlay){z-index:15000!important}
}

.cp-motion :is(.fcp-backdrop,.fcp-sheet){transition:none!important}
.cp-confirm-overlay{position:fixed;inset:0;z-index:25000!important;display:flex;align-items:center;justify-content:center;padding:20px;background:#03121bc0;backdrop-filter:blur(8px)}
.cp-confirm-panel{width:min(100%,440px);max-height:90dvh;overflow:auto;padding:24px;border:1px solid #456b7e;border-radius:22px;background:#102635;color:#e2f0f6;box-shadow:0 24px 70px #0006}
.cp-confirm-panel h3{margin:0 0 14px}.cp-confirm-panel p{white-space:pre-line;line-height:1.6;font-size:14px}
.cp-confirm-actions{display:flex;gap:10px;margin-top:22px}.cp-confirm-actions button{flex:1;padding:13px 10px;border:1px solid #486679;border-radius:13px;background:#213b4c;color:#e2f0f6}
.cp-confirm-actions .primary{background:#156f79}.cp-confirm-actions .danger{background:#773d43}

@media(prefers-reduced-motion:reduce){
  .cp-motion *, .cp-motion *::before,.cp-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .cp-motion body.cp-modal-open :is(.main,.catalog,.cart){filter:none;scale:1}
  .cp-motion .app-shell.pos-mode>.cart{transition:none!important}
}

/* ==== /styles/fix34-warehouse-tabs-stability.css ==== */
/* CONTROL POS 3.1.11 — Ombor tablari stability patch.
   Maqsad: doimiy wiggle/pulse/glow va Kirim/Kirimlar tarixi uchun alohida ranglarni bekor qilish. */
#warehouseTabs{
  contain:layout style;
  align-items:stretch;
}
#warehouseTabs .warehouse-tab,
html body.fix72-appearance #warehouseTabs .warehouse-tab{
  box-sizing:border-box!important;
  border-width:1px!important;
  border-style:solid!important;
  border-color:var(--border)!important;
  background:var(--panel)!important;
  background-image:none!important;
  color:var(--text)!important;
  box-shadow:none!important;
  filter:none!important;
  font-weight:700!important;
  transform:none!important;
  animation:none!important;
  will-change:auto!important;
  transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,opacity 120ms ease!important;
}
#warehouseTabs .warehouse-tab.active,
html body.fix72-appearance #warehouseTabs .warehouse-tab.active{
  background:color-mix(in srgb,var(--text) 6%,var(--panel))!important;
  background-image:none!important;
  border-color:color-mix(in srgb,var(--text) 18%,var(--border))!important;
  color:var(--text)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 7%,transparent),0 3px 10px rgba(0,0,0,.08)!important;
  transform:none!important;
  animation:none!important;
}
/* Kirim va Kirimlar tarixi boshqa tablardan semantik rang bilan ajralmaydi. */
#warehouseTabs .warehouse-tab[data-wtab="receipts"],
#warehouseTabs .warehouse-tab[data-wtab="receipt-history"],
#warehouseTabs .warehouse-tab[data-wtab="receipts"].active,
#warehouseTabs .warehouse-tab[data-wtab="receipt-history"].active{
  color:var(--text)!important;
}
#warehouseTabs .warehouse-tab:not(.active)[data-wtab="receipts"],
#warehouseTabs .warehouse-tab:not(.active)[data-wtab="receipt-history"]{
  background:var(--panel)!important;
  border-color:var(--border)!important;
  box-shadow:none!important;
}
#warehouseTabs .warehouse-tab.active[data-wtab="receipts"],
#warehouseTabs .warehouse-tab.active[data-wtab="receipt-history"]{
  background:color-mix(in srgb,var(--text) 6%,var(--panel))!important;
  border-color:color-mix(in srgb,var(--text) 18%,var(--border))!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 7%,transparent),0 3px 10px rgba(0,0,0,.08)!important;
}
#warehouseTabs .warehouse-tab .fc-ui-icon,
#warehouseTabs .warehouse-tab.active .fc-ui-icon,
#warehouseTabs .warehouse-tab svg{
  filter:none!important;
  transform:none!important;
  animation:none!important;
}
/* Panel edit rejimida ham ombor tablari wiggle qilmaydi; drag funksiyasi saqlanadi. */
#warehouseTabs.gpe-edit > [data-gpe-key],
#warehouseTabs.gpe-edit .warehouse-tab,
.gpe-edit#warehouseTabs > .warehouse-tab{
  animation:none!important;
  transform:none!important;
}
/* Hover faqat nozik rang o‘zgarishi; geometriya o‘zgarmaydi. */
@media (hover:hover) and (pointer:fine){
  html body #warehouseTabs .warehouse-tab:not(:disabled):hover{
    transform:none!important;
    border-color:color-mix(in srgb,var(--text) 16%,var(--border))!important;
    box-shadow:none!important;
  }
  html body #warehouseTabs .warehouse-tab.active:not(:disabled):hover{
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 7%,transparent),0 3px 10px rgba(0,0,0,.08)!important;
  }
}
/* Touch feedback only opacity: width/height/scale never change. */
#warehouseTabs .warehouse-tab:active{opacity:.86;transform:none!important}
@media(max-width:760px){
  #warehouseTabs{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  #warehouseTabs::-webkit-scrollbar{display:none}
  #warehouseTabs .warehouse-tab{flex:0 0 auto!important}
}
@media(prefers-reduced-motion:reduce){
  #warehouseTabs .warehouse-tab{transition:none!important;animation:none!important;transform:none!important}
}

/* ==== /styles/employeesSuiteV2Style.css ==== */
.esv2-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.esv2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.esv2-stat{padding:14px}.esv2-stat small{color:var(--muted);display:block}.esv2-stat b{font-size:23px;display:block;margin-top:5px}.esv2-filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin-bottom:12px}.esv2-list{display:flex;flex-direction:column;gap:8px}.esv2-row{display:grid;grid-template-columns:44px minmax(150px,1.5fr) 1fr 1fr 1fr 1.2fr 1.1fr 100px;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.esv2-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--panel2);display:grid;place-items:center;font-weight:800}.esv2-row small{display:block;color:var(--muted);margin-top:3px}.esv2-money{font-weight:800}.esv2-actions{display:flex;gap:5px}.esv2-chat-card{padding:14px;position:sticky;top:10px}.esv2-chat-list{display:flex;flex-direction:column;gap:7px;max-height:560px;overflow:auto}.esv2-chat-item{padding:10px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.esv2-chat-item:hover{background:var(--panel2)}.esv2-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.esv2-info{padding:10px;border:1px solid var(--border);border-radius:10px}.esv2-info small{display:block;color:var(--muted)}.esv2-info b{display:block;margin-top:4px}.esv2-perms{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:300px;overflow:auto}.esv2-perm{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:9px}.esv2-switch{width:42px;height:23px;appearance:none;background:#596579;border-radius:var(--radius-card);position:relative;cursor:pointer}.esv2-switch:checked{background:#16a66a}.esv2-switch:after{content:"";width:17px;height:17px;position:absolute;top:3px;left:3px;background:#fff;border-radius:50%;transition:.15s}.esv2-switch:checked:after{left:22px}.esv2-photo{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid var(--border)}
.esv2-profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.esv2-profile-action{grid-column:span 1;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:11px;border-radius:15px;cursor:pointer}
.esv2-profile-action span{display:flex;flex-direction:column;gap:2px;min-width:0}
.esv2-profile-action b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esv2-profile-action small{color:var(--muted);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esv2-profile-action .fc-ui-icon,.esv2-profile-action svg{color:var(--fix10-accent,#18d89b)}
.esv2-profile-action.danger{grid-column:1/-1;border-color:rgba(255,70,70,.35);background:linear-gradient(180deg,rgba(120,20,20,.14),rgba(255,255,255,.02))}
.esv2-profile-action.danger svg,.esv2-profile-action.danger b{color:#ff6464}
.esv2-profile-action.danger small{color:#e08a8a;white-space:normal}
@media(max-width:520px){.esv2-profile-actions{grid-template-columns:1fr}.esv2-profile-action{grid-column:1/-1}}.esv2-status-active{color:#16a66a}.esv2-status-inactive{color:#e0a100}.esv2-status-unavailable{color:#e5484d}.esv2-mobile{max-width:460px;margin:0 auto}.esv2-mobile-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.esv2-mobile-card{padding:15px;margin-bottom:10px}.esv2-shift-main{text-align:center;padding:18px;background:linear-gradient(135deg,rgba(22,166,106,.14),rgba(36,118,243,.08));border:1px solid var(--border);border-radius:var(--radius-medium)}.esv2-bigbtn{width:100%;padding:14px;margin-top:9px;font-size:15px}.esv2-alert{padding:11px;border-radius:10px;margin-top:8px;background:#49330d;color:#ffd369}.esv2-alert.green{background:#0d3b2c;color:#31df93}.esv2-blessing{position:fixed;inset:0;background:rgba(3,10,18,.78);z-index:9999;display:none;align-items:center;justify-content:center;padding:25px}.esv2-blessing.show{display:flex}.esv2-blessing-card{max-width:520px;text-align:center;padding:30px;border-radius:25px;background:linear-gradient(135deg,#0b3b2d,#0f6b48);color:#fff;box-shadow:0 0 60px rgba(41,230,145,.35);animation:esPop .35s ease}.esv2-blessing-card b{font-size:28px;color:#7dffc1}@keyframes esPop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.esv2-chat-page{display:grid;grid-template-columns:310px 1fr;gap:12px;min-height:620px}.esv2-chat-messages{display:flex;flex-direction:column;height:620px}.esv2-msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.esv2-msg{max-width:75%;padding:9px 11px;border-radius:var(--radius-sm);background:var(--panel2);border:1px solid var(--border)}.esv2-msg.me{align-self:flex-end;background:rgba(22,166,106,.14);border-color:rgba(22,166,106,.35)}.esv2-msg small{display:block;color:var(--muted);margin-top:4px}.esv2-chat-send{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border)}.esv2-chat-send input{flex:1}.esv2-brain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.esv2-game{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--panel2)}.esv2-game:hover{border-color:var(--orange)}
.esv2-brain-modal{position:fixed;inset:0;z-index:12000;background:rgba(3,8,16,.88);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px}.esv2-brain-dialog{width:min(520px,100%);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-large);padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.45)}.esv2-brain-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.esv2-brain-progress{font-size:13px;color:var(--muted)}.esv2-brain-timer{min-width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:5px solid #20c67a;background:rgba(32,198,122,.09);font-size:var(--font-title);font-weight:900;transition:.2s}.esv2-brain-timer.warn{border-color:#f5b82e;color:#f5b82e}.esv2-brain-timer.danger{border-color:#ef5350;color:#ef5350;transform:scale(1.06)}.esv2-brain-kind{display:inline-block;padding:5px 9px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:var(--font-caption);margin-bottom:8px}.esv2-brain-question{font-size:25px;font-weight:850;line-height:1.35;text-align:center;padding:18px 8px}.esv2-brain-memory{font-size:34px;letter-spacing:10px;text-align:center;font-weight:900;padding:26px 8px;color:#7dffc1}.esv2-brain-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.esv2-brain-option{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel2);font-size:18px;font-weight:800;cursor:pointer}.esv2-brain-option:hover{border-color:#20c67a}.esv2-brain-input{width:100%;font-size:24px;text-align:center;padding:14px;border-radius:13px;caret-color:var(--fix10-accent,#18d89b)}
.esv2-brain-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.esv2-brain-key{height:42px;border-radius:11px;border:1px solid var(--border);background:var(--panel2);color:var(--text);font-size:17px;font-weight:800;cursor:pointer;-webkit-user-select:none;user-select:none}
.esv2-brain-key:active{background:color-mix(in srgb,var(--fix10-accent,#18d89b) 22%,var(--panel2))}
.esv2-brain-key-back{color:#ff8080}.esv2-brain-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;color:var(--muted);font-size:var(--font-caption)}.esv2-brain-result{text-align:center;padding:25px 10px}.esv2-brain-result h2{font-size:29px;margin-bottom:7px}.esv2-brain-result.ok h2{color:#31df93}.esv2-brain-result.bad h2{color:#ff6b6b}.esv2-brain-mini{font-size:var(--font-caption);color:var(--muted);text-align:center;margin-top:8px}
@media(max-width:1050px){.esv2-grid{grid-template-columns:1fr}.esv2-chat-card{position:static}.esv2-row{grid-template-columns:42px 1.6fr 1fr 1fr 1fr}.esv2-row .hide-tablet{display:none}.esv2-stats{grid-template-columns:repeat(2,1fr)}}
.esv2-grid-single{grid-template-columns:1fr!important}
@media(max-width:720px){.main{padding:16px 12px}.esv2-filters{grid-template-columns:1fr 1fr}.esv2-row{grid-template-columns:44px 1fr auto}.esv2-row>*:not(:nth-child(1)):not(:nth-child(2)):not(:last-child){display:none}.esv2-stats{grid-template-columns:1fr 1fr}.esv2-profile-grid{grid-template-columns:1fr 1fr}.esv2-chat-page{grid-template-columns:1fr}.esv2-chat-side{display:none}}

/* REALTIME CHAT V3.1.7 */
#esv317RealtimeState{margin-left:auto;font-size:12px;line-height:1;opacity:.8}
#esv317RealtimeState.connected{color:#21d79b}
#esv317RealtimeState.reconnecting{color:#f6c34a;animation:esv317Pulse 1.1s ease-in-out infinite alternate}
#esv317RealtimeState.offline{color:#ff6b78}
@keyframes esv317Pulse{from{opacity:.35}to{opacity:1}}
.esv317-chat-badge,.esv317-unread{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ff4757;color:#fff;font-size:11px;font-weight:800;line-height:1;box-shadow:0 5px 14px rgba(255,71,87,.28)}
#esv2ChatMenu{position:relative}
#esv2ChatMenu .esv317-chat-badge{margin-left:auto}
.esv2-chat-item{display:flex;align-items:center;gap:10px}
.esv2-chat-item>div{min-width:0;flex:1;display:grid;gap:3px}
.esv317-new-messages{position:absolute;right:18px;bottom:78px;z-index:7;border:1px solid rgba(121,210,255,.25);background:rgba(12,43,57,.94);color:#dff7ff;border-radius:999px;padding:8px 12px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.28)}
.esv317-new-messages[hidden]{display:none!important}
.esv2-chat-messages{position:relative}
.esv317-sending{opacity:.66}
.esv317-failed{opacity:1}.esv317-failed .esv2-msg{outline:1px solid rgba(255,90,105,.45)}
@media(max-width:760px){.esv317-new-messages{right:12px;bottom:84px}.esv317-chat-badge,.esv317-unread{min-width:18px;height:18px;font-size:10px}}

/* ==== /styles/fix8-data-control-css.css ==== */
.fix22-pos-data{margin-top:16px;padding:12px;border:1px solid rgba(255,126,126,.24);border-radius:var(--radius-control);background:rgba(255,255,255,.025)}
.fix22-pos-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.fix22-pos-head h4{margin:0}.fix22-pos-head p{margin:3px 0 0;font-size:11px;opacity:.7}
.fix22-pos-filters{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:7px;margin:9px 0}.fix22-pos-filters select,.fix22-pos-filters input{min-width:0}
.fix22-pos-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 0}.fix22-pos-table{overflow:auto;max-height:360px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm)}.fix22-pos-table table{width:100%;border-collapse:collapse;min-width:820px}.fix22-pos-table th,.fix22-pos-table td{padding:8px;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px;text-align:left;white-space:nowrap}.fix22-pos-table th{position:sticky;top:0;background:rgba(14,25,40,.96);z-index:2}.fix22-pos-table tr.selected{background:rgba(255,76,76,.08)}
.fix22-pos-all{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,70,70,.18);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.fix22-pos-all input{min-width:0}.fix22-check{display:inline-flex;align-items:center;gap:7px}.fix22-check input{width:17px;height:17px}
@media(max-width:700px){.fix22-pos-filters{grid-template-columns:1fr 1fr}.fix22-pos-all{grid-template-columns:1fr}.fix22-pos-all .btn{width:100%}}
/* FIX20.90 — POS o'chirish panelida alohida maxsus parol maydoni */
.fix85-pos-danger{grid-column:1/-1!important;padding:18px!important}
.fix85-pos-danger .fix22-pos-data{margin-top:0;padding:0;border:0;background:transparent}
.fix85-pos-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.fix85-pos-title h3{margin:0 0 4px}.fix85-pos-title p{margin:0;opacity:.72;font-size:var(--font-caption)}
.fix85-pos-summary{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin:10px 0 14px}
.fix85-pos-stat{padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);background:rgba(255,255,255,.035)}
.fix85-pos-stat span{display:block;font-size:10px;opacity:.68;margin-bottom:4px}.fix85-pos-stat b{font-size:15px}
.fix85-pos-help{margin:8px 0 12px;padding:10px 12px;border:1px solid rgba(255,164,64,.18);border-radius:var(--radius-sm);background:rgba(255,164,64,.045);font-size:11px;line-height:1.45}
.fix85-pos-danger .fix22-pos-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.4fr auto auto;gap:7px;align-items:end}
.fix85-pos-danger .fix22-pos-filters label{font-size:10px;opacity:.76;display:grid;gap:4px}
.fix85-pos-danger .fix22-pos-toolbar{padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-sm);background:rgba(255,255,255,.025)}
.fix85-pos-select-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.fix85-filter-selected{font-size:11px;padding:5px 8px;border-radius:999px;background:rgba(10,132,255,.14);border:1px solid rgba(10,132,255,.25);display:none}
.fix85-filter-selected.show{display:inline-flex}
.fix85-pos-danger .fix22-pos-table{max-height:460px}
.fix85-pos-danger .fix22-pos-all{padding:13px;border:1px solid rgba(255,69,58,.2);border-radius:13px;background:rgba(255,69,58,.045);grid-template-columns:1.5fr auto;gap:10px}
.fix85-pos-all-left{display:grid;gap:7px}.fix85-pos-all-left small{opacity:.68;line-height:1.35}
.fix85-reset-link{display:flex;align-items:center;gap:7px;font-size:11px}.fix85-reset-link input{width:17px;height:17px}
@media(max-width:1150px){.fix85-pos-summary{grid-template-columns:repeat(3,1fr)}.fix85-pos-danger .fix22-pos-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.fix85-pos-summary{grid-template-columns:repeat(2,1fr)}.fix85-pos-danger .fix22-pos-filters{grid-template-columns:1fr 1fr}.fix85-pos-title{display:block}.fix85-pos-title .btn{margin-top:9px;width:100%}.fix85-pos-danger .fix22-pos-all{grid-template-columns:1fr}.fix85-pos-danger .fix22-pos-all .btn{width:100%}}

.fix8-delete-summary{margin:10px 0}.fix8-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fix8-count-card{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:var(--text);border-radius:var(--radius-sm);padding:9px;text-align:left;cursor:pointer}.fix8-count-card span{display:block;font-size:11px;opacity:.75}.fix8-count-card b{display:block;font-size:17px;margin-top:3px;color:#ffb3b3}.fix8-delete-info{display:flex;flex-direction:column;gap:2px;margin:8px 0;padding:9px;border-radius:10px;background:rgba(255,74,74,.08);border:1px solid rgba(255,84,84,.16)}.fix8-delete-info span{font-size:var(--font-caption)}.fix8-delete-info small{opacity:.7}.fix8-danger-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.fix8-reset-box{margin-top:12px;padding:10px;border:1px solid rgba(255,184,77,.25);background:rgba(255,184,77,.07);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:5px}.fix8-reset-box span{font-size:11px;opacity:.75}.fix8-full-delete{margin-top:14px;padding:12px;border:1px solid rgba(255,52,52,.45);background:linear-gradient(180deg,rgba(255,36,36,.12),rgba(80,0,0,.16));border-radius:var(--radius-control)}.fix8-full-delete h4{margin:0 0 5px;color:#ff8080}.fix8-full-delete p{font-size:11px;line-height:1.45;opacity:.8}.fix8-full-delete input{width:100%;margin:6px 0 8px;border-color:rgba(255,75,75,.45)!important}.fix8-full-delete .btn{width:100%}@media(max-width:700px){.fix8-count-grid,.fix8-danger-actions{grid-template-columns:1fr}}
/* FIX20.86 — multi-section delete + single-POS safety */
.fix86-delete-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.fix86-delete-toolbar .left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fix86-delete-toolbar label{display:flex;gap:7px;align-items:center;font-size:11px}
.fix86-delete-toolbar input[type=checkbox],.fix86-delete-check{width:17px;height:17px;accent-color:#ff453a}
.fix8-count-card.fix86-group{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;cursor:pointer}
.fix8-count-card.fix86-group.selected{border-color:rgba(255,69,58,.55);background:rgba(255,69,58,.10);box-shadow:0 0 0 1px rgba(255,69,58,.08) inset}
.fix8-count-card.fix86-group span{margin:0}.fix8-count-card.fix86-group b{margin:0;text-align:right}
.fix86-delete-selection{margin:9px 0;padding:9px 11px;border:1px solid rgba(255,69,58,.18);border-radius:11px;background:rgba(255,69,58,.045);font-size:11px;line-height:1.45}
.fix86-pos-picker{display:grid;grid-template-columns:minmax(240px,1.2fr) 1fr;gap:10px;align-items:end;margin:12px 0}
.fix86-pos-picker label{display:grid;gap:5px;font-size:11px}.fix86-pos-picker select{width:100%}
.fix86-pos-current{padding:10px 12px;border:1px solid rgba(10,132,255,.20);border-radius:var(--radius-sm);background:rgba(10,132,255,.055);font-size:11px;line-height:1.45;min-height:42px}
.fix86-pos-rule{margin:9px 0;padding:10px 12px;border:1px solid rgba(255,69,58,.22);border-radius:var(--radius-sm);background:rgba(255,69,58,.055);font-size:11px;line-height:1.45}
.fix86-pos-rule b{color:#ff8b84}
.fix86-pos-one-all{margin-top:12px;padding:13px;border:1px solid rgba(255,69,58,.22);border-radius:13px;background:rgba(255,69,58,.045);display:grid;grid-template-columns:1.5fr auto;gap:10px;align-items:end}
.fix86-pos-one-all small{display:block;opacity:.72;line-height:1.4;margin:4px 0 8px}.fix86-pos-one-all input{width:100%}
.fix90-pos-password{margin:12px 0;padding:13px 14px;border:1px solid rgba(255,69,58,.30);border-radius:13px;background:rgba(255,69,58,.065);display:grid;grid-template-columns:minmax(260px,1fr) 1.3fr;gap:12px;align-items:center}
.fix90-pos-password .fix90-pass-title{display:grid;gap:3px}.fix90-pos-password .fix90-pass-title b{font-size:var(--font-caption);color:#ffaaa5}.fix90-pos-password .fix90-pass-title small{opacity:.72;line-height:1.35}.fix90-pos-password label{display:grid;gap:5px;font-size:11px}.fix90-pos-password input{width:100%;border-color:rgba(255,69,58,.36)!important}
@media(max-width:800px){.fix90-pos-password{grid-template-columns:1fr}}
@media(max-width:800px){.fix86-pos-picker,.fix86-pos-one-all{grid-template-columns:1fr}.fix86-pos-one-all .btn{width:100%}}
/* FIX22 — Sozlamalar: barcha panellar yopiq (nom+belgi) holatda, bosilganda ochiladi, 2 soniya bosib turilsa qayta tartiblanadi */
.fix7-card-head{display:flex;align-items:center;gap:11px;width:100%;cursor:pointer;padding:2px 0;-webkit-user-select:none;user-select:none}
.fix7-card-icon{width:38px;height:38px;border-radius:var(--radius-sm);display:grid;place-items:center;background:color-mix(in srgb,var(--fix10-accent,#18d89b) 16%,transparent);color:var(--fix10-accent,#18d89b);flex:none}
.fix7-card-head b{flex:1;font-size:var(--font-body);font-weight:800;color:var(--text);min-width:0}
.fix7-card-chev{font-size:20px;color:var(--muted);transition:transform .2s ease;flex:none}
/* Generic: fix7-collapsed klassi qanday konteynerga qo'yilishidan qat'i nazar ishlaydi
   (fix7-card, platform-core-settings, locale-region-card yoki keyinchalik qo'shiladigan har qanday panel). */
#fix7SettingsList>:not(.fix7-collapsed) .fix7-card-chev{transform:rotate(90deg)}
#fix7SettingsList>.fix7-collapsed>.fix7-card-content{display:none}
.fix7-card-content{margin-top:12px}
.fix7-settings>.platform-core-settings,.fix7-settings>.locale-region-card,.fix7-settings>.fix7-wide{grid-column:1/-1}
#settings .fix7-card-content>.btn,#settings .fix7-card-content .form-actions .btn{width:100%!important;justify-content:center!important;min-height:43px!important}
/* V1.5.3 — filial hisobotlarini tozalash */
.fix153-branch-finance{margin-top:14px;padding:13px;border:1px solid rgba(255,159,10,.24);border-radius:var(--radius-control);background:rgba(255,159,10,.055)}
.fix153-branch-finance h4{margin:0 0 5px;color:#ffc46b}.fix153-branch-finance p{margin:0 0 10px;font-size:11px;line-height:1.45;opacity:.78}
.fix153-branch-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:9px}.fix153-branch-grid label{display:grid;gap:5px;font-size:11px}
.fix153-branch-summary{margin:10px 0;display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:7px}.fix153-branch-stat{padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.03)}.fix153-branch-stat small{display:block;opacity:.66}.fix153-branch-stat b{display:block;margin-top:3px;font-size:13px}
.fix153-branch-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.fix153-branch-note{font-size:10px;line-height:1.4;opacity:.72}
@media(max-width:800px){.fix153-branch-grid,.fix153-branch-actions{grid-template-columns:1fr}.fix153-branch-summary{grid-template-columns:repeat(2,1fr)}.fix153-branch-actions .btn{width:100%}}
/* FIX22 — smena e'loni matni (umumiy tizim) */
.fix22-announce-row{align-items:flex-start!important}
.fix22-announce-row textarea{width:100%;min-height:64px;resize:vertical;font:inherit;padding:9px 11px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:inherit}
.fix22-announce-hint{margin-top:-4px}

/* ==== /styles/fix10-appearance-enhanced-css.css ==== */
:root{--fix10-accent:#18d89b;--fix10-blur:24px;--fix10-glass-alpha:.24;--fc-glass-border:.44;--fc-glass-glow:.62;--fc-glass-shadow:.62;--fc-glass-sat:1.60}
.fix10-appearance-card{overflow:visible}
.fix10-theme-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fix10-theme-tabs button{border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--text);border-radius:var(--radius-sm);padding:9px 14px;cursor:pointer;font-weight:800;transition:.2s}
.fix10-theme-tabs button.active{border-color:var(--fix10-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--fix10-accent) 25%,transparent),0 0 18px color-mix(in srgb,var(--fix10-accent) 22%,transparent);background:color-mix(in srgb,var(--fix10-accent) 14%,transparent)}
.fix10-block{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.fix10-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-weight:800}
.fix10-palette{display:flex;gap:10px;flex-wrap:wrap}
.fix10-color-chip{width:34px;height:34px;border-radius:50%;background:var(--chip);border:2px solid rgba(255,255,255,.28);cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.22);transition:.18s}
.fix10-color-chip:hover{transform:scale(1.08)}
.fix10-color-chip.active{outline:3px solid color-mix(in srgb,var(--chip) 55%,white);outline-offset:3px;transform:scale(1.06);box-shadow:0 0 18px color-mix(in srgb,var(--chip) 45%,transparent)}
.fix72-range{background:linear-gradient(90deg,var(--fix10-accent) 0 var(--range-fill,57%),rgba(255,255,255,.25) var(--range-fill,57%) 100%)!important}
.fix72-range::-webkit-slider-thumb{background:var(--fix10-accent)!important;border-color:color-mix(in srgb,var(--fix10-accent) 30%,white)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--fix10-accent) 13%,transparent),0 0 16px color-mix(in srgb,var(--fix10-accent) 48%,transparent)!important}
.fix72-range::-moz-range-thumb{background:var(--fix10-accent)!important;border-color:color-mix(in srgb,var(--fix10-accent) 30%,white)!important}
body.fix72-appearance .btn:not(.danger),body.fix72-appearance .menu-item.active{--accent:var(--fix10-accent)}
body.fix72-appearance .card,body.fix72-appearance .fix7-card{backdrop-filter:blur(var(--fix10-blur));-webkit-backdrop-filter:blur(var(--fix10-blur));background-color:rgba(15,31,49,var(--fix10-glass-alpha))}
body.fix72-light-ready .card,body.fix72-light-ready .fix7-card{background-color:rgba(250,252,255,var(--fix10-glass-alpha))}
@supports not (color:color-mix(in srgb, red 50%, blue)){.fix10-theme-tabs button.active{border-color:var(--fix10-accent)}.fix10-color-chip.active{outline-color:white}}

/* FIX10.1 — iOS-style in-app alert modal */
.fc-alert-overlay{position:fixed;inset:0;z-index:999999;background:rgba(2,8,23,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:20px}.fc-alert-overlay.show{display:flex}.fc-alert-box{width:min(430px,92vw);background:rgba(17,24,39,.94);border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-large);box-shadow:0 24px 80px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.03) inset;padding:22px;color:#f8fafc}.fc-alert-title{font-size:20px;font-weight:800;margin:0 0 10px}.fc-alert-message{font-size:15px;line-height:1.55;color:#cbd5e1;white-space:pre-wrap;word-break:break-word}.fc-alert-actions{display:flex;justify-content:flex-end;margin-top:20px}.fc-alert-ok{border:0;border-radius:var(--radius-control);padding:11px 22px;font-weight:800;background:linear-gradient(135deg,var(--accent-color,#18d89b),#0ea5e9);color:white;cursor:pointer;box-shadow:0 10px 28px color-mix(in srgb,var(--accent-color,#18d89b) 28%,transparent)}

/* ==== /styles/fix30-round9-css.css ==== */
/* FIX30: bosh sahifadagi xodim panellari va sahifa ichidagi sozlamalar ro'yxati */
.fix30-emp-home{margin:0 0 12px}
.fix30-emp-home:empty{display:none}
.fix30-emp-home .esv19-widget-grid{margin:0}
.esv20-inline-settings{margin-top:4px}
.esv20-inline-settings .esv20-settings-list{margin-top:10px}

/* ==== /styles/fix28-round8-css.css ==== */
/* =========================================================================
   FIX28 (8-bosqich) — xodim akkaunti ko'rinishi.
   ========================================================================= */

/* Xodim bosh sahifasining tepasidagi brend qatori (admin panelidagi kabi) */
.esv19-brand-top{display:flex;align-items:center;gap:12px;padding:2px 2px 12px;margin-bottom:4px;
  border-bottom:1px solid var(--border)}
.esv19-brand-mark{width:44px;height:44px;flex:none;border-radius:var(--radius-control);display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(145deg,color-mix(in srgb,var(--ios-accent,#18d89b) 30%,#13263f),
    color-mix(in srgb,var(--ios-accent,#18d89b) 58%,#0b1627));
  border:1px solid color-mix(in srgb,var(--ios-accent,#18d89b) 55%,transparent);
  color:#fff;font-weight:850;font-size:var(--font-body)}
.esv19-brand-mark img{width:100%;height:100%;object-fit:cover;display:block}
.esv19-brand-copy{min-width:0;flex:1}
.esv19-brand-copy h2{margin:0;font-size:17px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.esv19-brand-copy p{margin:3px 0 0;font-size:11.5px;line-height:1.25;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.esv19-brand-top .esv19-account-btn{flex:none;width:40px;height:40px;padding:0;border-radius:13px;overflow:hidden}
.esv19-brand-top .esv19-account-btn img{width:100%;height:100%;object-fit:cover}

/* FIX29: xodim akkaunti sahifasining O'Z ichki paneli endi keraksiz — pastki
   umumiy sahifalar paneli (dock) barcha sahifalarda, shu jumladan bu yerda ham
   ko'rinadi. Ikkita bir xil panel chiqmasligi uchun ichkisi yashiriladi. */
body.fix2041-admin-mobile-dock-on #esv19Dock{display:none!important}

/* XODIM AKKAUNTI: filial tanlash panellari umuman ko'rinmaydi.
   Xodim allaqachon bitta filialga biriktirilgan, shuning uchun sahifalardagi
   filial tanlash maydonlari unga keraksiz va chalg'ituvchi edi. */
body.fix28-employee #platformBranchContext{display:none!important}
body.fix28-employee #salesBranch,
body.fix28-employee #warehouseFilterBranch,
body.fix28-employee #movementBranch,
body.fix28-employee #reportBranch,
body.fix28-employee #auditBranch,
body.fix28-employee #financeBranch,
body.fix28-employee #expenseBranchFilter,
body.fix28-employee #countBranch,
body.fix28-employee #kpiBranch,
body.fix28-employee #stockCountBranchSelect{display:none!important}
/* maydonning o'z yorlig'i ham yashirilsin */
body.fix28-employee .fix28-branch-hidden{display:none!important}

/* ==== /styles/fix27-round7-css.css ==== */
/* =========================================================================
   FIX27 (7-bosqich)
   1) Dasturning O'Z uslubidagi tanlov oynalari (select / sana / vaqt) —
      Android'ning kulrang tizim oynalari o'rniga.
   2) Sahifaga o'tganda eski ma'lumot bir lahza ko'rinib ketishining oldini olish.
   ========================================================================= */

/* ---------- Umumiy pastdan chiquvchi varaq (sheet) ---------- */
.fcp-backdrop{position:fixed;inset:0;z-index:2147483600;background:rgba(3,8,16,.78);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  /* FIX28: varaq ekranning pastida emas, O'RTASIDA ochiladi — barmoq bilan
     yetib borish qulay va ro'yxat pastki navigatsiya bilan to'qnashmaydi. */
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .18s ease;padding:16px}
.fcp-backdrop.show{opacity:1}
.fcp-sheet{width:100%;max-width:560px;color:var(--text);
  /* Mavzudagi "shisha" panel yarim shaffof (--panel alfa 0.6) bo'lgani uchun
     varaq orqasidan sahifa matni ko'rinib ketardi. Shuning uchun avval qattiq
     fon, ustiga panel rangi qo'yiladi — natijada varaq to'liq berk bo'ladi. */
  background-color:var(--bg);
  background-image:linear-gradient(180deg,var(--panel),var(--panel));
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border:1px solid var(--border);border-radius:22px;
  box-shadow:0 26px 70px rgba(0,0,0,.6);
  display:flex;flex-direction:column;max-height:min(78vh,640px);
  transform:scale(.96);opacity:.5;transition:transform .2s cubic-bezier(.22,.75,.32,1),opacity .2s ease;
  overflow:hidden}
.fcp-backdrop.show .fcp-sheet{transform:scale(1);opacity:1}
@media(prefers-reduced-motion:reduce){.fcp-backdrop,.fcp-sheet{transition:none}}
.fcp-grip{display:none}
.fcp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px 10px;flex:none}
.fcp-head b{font-size:15px;font-weight:800;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcp-x{width:32px;height:32px;flex:none;border-radius:11px;border:1px solid var(--border);
  background:var(--panel2);color:var(--muted);font-size:17px;line-height:1;cursor:pointer;display:grid;place-items:center}
.fcp-search{margin:0 16px 8px;flex:none}
.fcp-search input{width:100%;min-height:38px;border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--font-body)}
.fcp-list{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:2px 10px 12px;flex:1 1 auto}
.fcp-group{padding:12px 8px 5px;font-size:11px;font-weight:800;letter-spacing:.4px;
  text-transform:uppercase;color:var(--muted)}
.fcp-opt{display:flex;align-items:center;gap:11px;width:100%;text-align:start;
  padding:12px 12px;margin:2px 0;border:1px solid transparent;border-radius:var(--radius-control);
  background:transparent;color:var(--text);font-size:14.5px;font-weight:600;line-height:1.3;cursor:pointer}
.fcp-opt:active{background:rgba(255,255,255,.05)}
.fcp-opt[disabled]{opacity:.45}
.fcp-opt.sel{background:color-mix(in srgb,var(--ios-accent,#18d89b) 15%,transparent);
  border-color:color-mix(in srgb,var(--ios-accent,#18d89b) 48%,transparent)}
.fcp-dot{width:19px;height:19px;flex:none;border-radius:50%;border:2px solid var(--border);display:grid;place-items:center}
.fcp-opt.sel .fcp-dot{border-color:var(--ios-accent,#18d89b)}
.fcp-opt.sel .fcp-dot::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--ios-accent,#18d89b)}
.fcp-opt span:not(.fcp-dot){min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}
.fcp-opt .fcp-dot{flex:0 0 19px}
.fcp-empty{padding:26px 12px;text-align:center;color:var(--muted);font-size:13px}
.fcp-foot{display:flex;gap:9px;padding:10px 16px 14px;border-top:1px solid var(--border);flex:none}
.fcp-foot .btn{flex:1;min-height:42px}

/* ---------- Sana tanlash ---------- */
.fcp-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 16px 10px}
.fcp-cal-title{font-weight:800;font-size:15px}
.fcp-nav{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel2);
  color:var(--text);font-size:16px;cursor:pointer;display:grid;place-items:center}
.fcp-week,.fcp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0 12px}
.fcp-week div{text-align:center;font-size:11px;font-weight:800;color:var(--muted);padding:4px 0}
.fcp-day{aspect-ratio:1;min-height:38px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;
  color:var(--text);font-size:var(--font-body);font-weight:600;cursor:pointer;display:grid;place-items:center}
.fcp-day.mut{color:var(--muted);opacity:.45}
.fcp-day.today{border-color:color-mix(in srgb,var(--ios-accent,#18d89b) 55%,transparent)}
.fcp-day.sel{background:var(--ios-accent,#18d89b);color:#04231a;font-weight:800}
.fcp-day:disabled{opacity:.25;cursor:default}

/* ---------- Vaqt tanlash ---------- */
.fcp-time{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 16px 4px}
.fcp-time-col{flex:1;max-width:150px;height:186px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  scroll-snap-type:y mandatory;border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--panel2);
  scrollbar-width:none}
.fcp-time-col::-webkit-scrollbar{display:none}
.fcp-time-col button{display:block;width:100%;padding:11px 0;border:0;background:transparent;color:var(--text);
  font-size:17px;font-weight:700;cursor:pointer;scroll-snap-align:center}
.fcp-time-col button.sel{background:color-mix(in srgb,var(--ios-accent,#18d89b) 20%,transparent);
  color:var(--text);font-weight:900}
.fcp-time-sep{font-size:var(--font-title);font-weight:900;color:var(--muted)}
.fcp-time-preview{text-align:center;font-size:var(--font-display);font-weight:900;letter-spacing:1px;padding:4px 0 8px}

/* Tanlov oynasi ochiq turganda orqa fon surilmasin */
body.fcp-open{overflow:hidden}

/* ---------- Sahifa yuklanayotgandagi silliq o'tish ---------- */
/* Avval sahifaga o'tilganda ESKI ma'lumot bir lahza ko'rinib, so'ng yangisi
   chiqardi. Endi yangi ma'lumot kelguncha eski mazmun yumshoq parda bilan
   yopiladi — hech qanday "sakrash" sezilmaydi. */
.page.fx-busy{position:relative}
.page.fx-busy>*{opacity:.999}
.page.fx-busy::after{content:'';position:absolute;inset:-4px;z-index:6;border-radius:18px;
  background:var(--bg);opacity:.96;pointer-events:none;
  animation:fix27Veil .12s ease both}
@keyframes fix27Veil{from{opacity:0}to{opacity:.96}}
.page.fx-busy.fx-busy-slow::before{content:'';position:absolute;left:50%;top:78px;z-index:7;
  width:26px;height:26px;margin-left:-13px;border-radius:50%;
  border:2.5px solid color-mix(in srgb,var(--ios-accent,#18d89b) 30%,transparent);
  border-top-color:var(--ios-accent,#18d89b);animation:fix27Spin .7s linear infinite}
@keyframes fix27Spin{to{transform:rotate(360deg)}}
.page.fx-fresh{animation:fix27Fresh .2s cubic-bezier(.22,.75,.32,1)}
@keyframes fix27Fresh{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .page.fx-busy::after,.page.fx-fresh{animation:none}
  .page.fx-busy.fx-busy-slow::before{animation:none}
}
/* Yuqoridagi nozik yuklanish chizig'i */
#fix27Bar{position:fixed;top:0;left:0;height:2.5px;width:0;z-index:2147483650;
  background:linear-gradient(90deg,transparent,var(--ios-accent,#18d89b));
  opacity:0;transition:width .25s ease,opacity .25s ease;pointer-events:none}
#fix27Bar.on{opacity:1}


/* ROUND12 — iOS-style anchored input/select popover. It opens by the field that invoked it,
   rather than as a bottom sheet detached from its control. */
.fcp-backdrop.fcp-popover-backdrop{display:block!important;padding:0!important;background:rgba(3,8,16,.54)!important}
.fcp-sheet.fcp-popover{position:fixed!important;margin:0!important;max-width:560px!important;border-radius:20px!important;
  transform:scale(.965) translateY(-4px)!important;opacity:.45!important;
  box-shadow:0 24px 70px rgba(0,0,0,.58),0 0 0 1px color-mix(in srgb,var(--ios-accent,#18d89b) 8%,transparent)!important}
.fcp-backdrop.show .fcp-sheet.fcp-popover{transform:scale(1) translateY(0)!important;opacity:1!important}
.fcp-sheet.fcp-popover .fcp-grip{display:none!important}
@media(max-width:520px){
  .fcp-sheet.fcp-popover{max-width:calc(100vw - 24px)!important;max-height:min(62vh,520px)!important;border-radius:18px!important}
  .fcp-sheet.fcp-popover .fcp-opt{padding:13px 12px}
}


/* === 3.1.8: iOS wheel — selection zone qimirlamaydi, raqamlar uning ichidan yuradi === */
.fcp-time-wheel{position:relative;flex:1;max-width:150px;height:186px;min-width:0}
.fcp-time-wheel .fcp-time-col{max-width:none;width:100%;height:100%;padding:72px 0;box-sizing:border-box;position:relative;z-index:1}
.fcp-time-selector{
  position:absolute;z-index:2;left:1px;right:1px;top:50%;height:42px;transform:translateY(-50%);
  border-radius:12px;pointer-events:none;
  background:color-mix(in srgb,var(--ios-accent,#18d89b) 22%,transparent);
  border:1px solid color-mix(in srgb,var(--ios-accent,#18d89b) 45%,var(--border));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ios-accent,#18d89b) 8%,transparent) inset;
}
.fcp-time-col button{height:42px!important;min-height:42px!important;padding:0!important;display:grid!important;place-items:center;position:relative;z-index:3}
.fcp-time-col button.sel,.fcp-time-col button.centered{background:transparent!important;color:var(--text)!important;font-weight:900}
.fcp-time-col button:not(.centered){opacity:.78}

/* ==== /styles/fix26-round6-css.css ==== */
/* =========================================================================
   FIX26 (6-bosqich) — sahifalarning yuqori qismini mobil ekran uchun
   ixchamlashtirish. Maqsad: kerakli ma'lumot bir ekranga ko'proq sig'sin,
   filtr/tugma panellari keraksiz balandlikni egallamasin.
   ========================================================================= */
@media(max-width:750px){

  /* ---- Umumiy: sahifa sarlavhalari ixchamroq ---- */
  .page .section-head{margin-bottom:10px;gap:8px}
  .page .section-head h2{font-size:19px;line-height:1.2}
  .page .section-head h3{font-size:16px;line-height:1.25}
  .page .section-head .muted-line,.page .section-head p{font-size:11.5px;line-height:1.3;margin-top:2px}

  /* ---- 1) SAVDO: filtr paneli 222px dan ~2 barobar ixcham ---- */
  #sales .toolbar{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:7px!important;padding:10px!important;margin-bottom:11px!important;align-items:center}
  #sales .toolbar>*{min-width:0;width:100%}
  #sales .toolbar input[type="date"],#sales .toolbar input[type="time"],
  #sales .toolbar select,#sales .toolbar input#salesSearch{
    min-height:36px!important;height:36px;padding:6px 9px!important;font-size:13px!important;border-radius:10px!important}
  /* "—" ajratgichi alohida qator egallamasin */
  #sales .toolbar>span{display:none!important}
  #sales .toolbar #salesSearch{grid-column:1/2}
  #sales .toolbar>button.btn{grid-column:2/3;min-height:36px!important;height:36px;padding:6px 10px!important;font-size:13px!important;border-radius:10px!important}
  #sales .sales-top-row{margin-bottom:8px!important}
  #sales .period{font-size:11.5px;padding:5px 9px}

  /* ---- 2) OMBOR: 8 ta bo'lim tugmasi 3 qatorga yoyilib 184px egallardi.
          Endi bitta gorizontal suriluvchi qator (~48px). ---- */
  #warehouse .warehouse-tabs{
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;
    gap:7px!important;margin-bottom:11px!important;padding-bottom:2px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  #warehouse .warehouse-tabs::-webkit-scrollbar{display:none}
  #warehouse .warehouse-tab{
    flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;
    padding:8px 12px!important;font-size:var(--font-caption)!important;border-radius:11px!important}

  /* ---- 3) XARAJATLAR: "Xarajat qo'shish" va "Ish haqi qo'shish" yonma-yon ---- */
  #expenses #expenseAddPanels{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin-bottom:11px}
  #expenses #expenseAddPanels>.expense-add-accordion{margin:0!important;min-width:0;padding:11px!important;border-radius:15px!important}
  #expenses #expenseAddPanels .expense-categories-accordion-head{gap:7px;align-items:center}
  #expenses #expenseAddPanels .expense-categories-accordion-title{gap:8px;align-items:center;min-width:0}
  /* katta "+" / "₸" belgisi ixchamlashtirildi */
  #expenses #expenseAddPanels .expense-categories-accordion-title>span:first-child{
    font-size:20px!important;line-height:1;flex:none}
  #expenses #expenseAddPanels h3{font-size:13.5px!important;line-height:1.2;margin:0}
  #expenses #expenseAddPanels .muted-line{font-size:10.5px!important;line-height:1.25;margin-top:2px}
  #expenses #expenseAddPanels .expense-categories-chevron{display:none}
  #expenses .expense-cats-compact-btn{padding:7px 11px;font-size:var(--font-caption)}
  #expenses .expense-toolbar-compact{padding:10px!important;margin-bottom:11px!important}

  /* ---- 4) MOLIYA va HISOBOTLAR: davr tugmalari va eksport qatori ixcham ---- */
  #finance .finance-periods{padding:2px 0 8px!important;gap:7px!important}
  #finance .finance-period{padding:8px 13px!important;font-size:12.5px!important;border-radius:var(--radius-sm)!important}
  #reports .report-toolbar{gap:7px!important}
  #reports .report-pills{gap:6px!important;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #reports .report-pills::-webkit-scrollbar{display:none}
  #reports .report-pill{padding:7px 11px!important;font-size:12.5px!important;border-radius:11px!important;flex:0 0 auto}
  #reports .report-export-actions{gap:7px!important}
  #reports .report-export-actions .btn{min-height:36px;padding:7px 10px!important;font-size:12.5px!important;border-radius:11px!important}
  #reports #reportPeriodCaption{font-size:10.5px!important;line-height:1.3;margin-top:2px}
  #reports .report-card{padding:13px!important}
  #reports .report-kpi{padding:11px!important}
  #reports .report-kpi b{font-size:17px!important}
  #reports .report-kpi small{font-size:10.5px!important;margin-bottom:4px!important}

  /* ---- 5) XODIMLAR: filtrlar kartadan tashqariga chiqib ketardi ---- */
  /* Sabab: `1fr` ustunlar select'ning ichki eng kichik kengligiga moslashib,
     konteynerdan kengayib ketardi. minmax(0,1fr) + min-width:0 buni to'xtatadi. */
  #employees .esv2-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important;margin-bottom:10px!important}
  #employees .esv2-filters>*{min-width:0!important;width:100%!important;max-width:100%!important}
  #employees .esv2-filters input,#employees .esv2-filters select{
    min-height:36px!important;height:36px;padding:6px 9px!important;font-size:12.5px!important;border-radius:10px!important}
  #employees .esv2-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;margin-bottom:11px!important}
  #employees .esv2-stats>*{min-width:0!important;padding:10px 12px!important;border-radius:var(--radius-control)!important}
  #employees .esv2-stats .esv2-stat-label,#employees .esv2-stats small{font-size:11px!important}
  #employees .esv2-stats b,#employees .esv2-stats .esv2-stat-value{font-size:19px!important}
  #employees .esv2-row{gap:8px!important;padding:9px!important;border-radius:var(--radius-control)!important}
  #employees .esv2-row b{font-size:13.5px}
  #employees .esv2-row small{font-size:11px;line-height:1.3}
  #employees .section-head>div:last-child .btn{padding:7px 11px;font-size:12.5px}

  /* Umumiy xavfsizlik to'ri: grid ichidagi keng element sahifani kengaytirmasin */
  #employees .esv2-filters,#employees .esv2-stats,#expenses #expenseAddPanels{min-width:0}

  /* ---- 6) KPI kartalari: telefonda 1 tadan qatorlanib, har biri butun enini
       egallab turardi (Savdo va Xarajatlar sahifalarida). Endi 2 tadan —
       Bosh sahifa va Hisobotlardagi bilan bir xil ko'rinishda. ---- */
  #sales .kpis{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;margin:10px 0 12px!important}
  #sales .kpis>*{min-width:0;padding:11px 12px!important;border-radius:var(--radius-control)!important}
  #sales .kpis .label{font-size:11px!important;line-height:1.25}
  #sales .kpis .value{font-size:18px!important;line-height:1.2;margin-top:3px}
  #expenses .expense-kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;margin-bottom:11px!important}
  #expenses .expense-kpi{min-height:0!important;padding:11px!important;gap:9px!important;border-radius:var(--radius-control)!important}
  #expenses .expense-kpi small,#expenses .expense-kpi .muted-line{font-size:10.5px!important;line-height:1.25}
  #expenses .expense-kpi b,#expenses .expense-kpi .value{font-size:17px!important;line-height:1.2}
  #finance .finance-kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;margin-bottom:11px!important}
  #finance .finance-kpi{min-height:0!important;padding:12px!important;gap:10px!important;border-radius:15px!important}
  #finance .finance-kpi small,#finance .finance-kpi .muted-line{font-size:10.5px!important;line-height:1.25}
  #finance .finance-kpi b,#finance .finance-kpi .value{font-size:17px!important;line-height:1.2}
  /* KPI ikonka kvadratchalari ham ixchamroq */
  #expenses .expense-kpi>span:first-child,#finance .finance-kpi>span:first-child,
  #expenses .expense-kpi .fc-dashboard-icon,#finance .finance-kpi .fc-dashboard-icon{
    width:36px!important;height:36px!important;flex:none}
}

/* ==== /styles/fix25-round5-css.css ==== */
/* =========================================================================
   FIX25 (5-bosqich) — panellar pastki navigatsiya ortiga tushib qolmasligi,
   oynalarning (modal) ichida surish va saqlash tugmasiga yetib borish,
   hamda mobil o'lchamlar bilan bog'liq tuzatishlar.
   ========================================================================= */

/* 1) ENG MUHIM: butun tizimdagi modal oynalar pastki "sahifalar paneli" (dock)
   ortida qolib ketardi — chunki dock z-index:2147483000, modal esa atigi 120 edi.
   Shu sabab yangi filial yaratish, yangi lavozim qo'shish kabi oynalarning pastki
   qismi (jumladan SAQLASH tugmasi) dock ostida ko'rinmay qolardi va ularni bosib
   bo'lmasdi. Endi modal dockdan yuqorida turadi. */
.modal{z-index:2147483400!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;align-items:flex-start!important;padding:14px 12px calc(18px + env(safe-area-inset-bottom,0px))!important}
/* 2) Oyna ichidagi matn ekranga sig'masa — endi oynaning O'ZI suriladi. */
.modal-box{max-height:calc(100dvh - 32px);overflow-y:auto!important;-webkit-overflow-scrolling:touch;margin:auto;overscroll-behavior:contain}
@supports not (height:100dvh){.modal-box{max-height:calc(100vh - 32px)}}
/* 3) Saqlash/Bekor qilish tugmalari oynaning pastida doim ko'rinib turadi
   (uzun formalarda ham pastga surmasdan bosish mumkin). */
.modal-box .form-actions{position:sticky;bottom:0;z-index:3;margin-top:14px;padding:12px 0 2px;background:linear-gradient(180deg,transparent,var(--panel) 22%,var(--panel));display:flex;gap:9px;flex-wrap:wrap}
.modal-box .form-actions .btn{flex:1 1 140px;min-width:0}
@media(max-width:750px){
  .modal-box{width:100%;max-width:100%;border-radius:18px;padding:16px}
  .modal-box .form-grid,.modal-box .platform-core-grid{grid-template-columns:minmax(0,1fr)!important}
  .modal-box .form-actions .btn{flex:1 1 100%}
}
/* 4) Bildirishnomalar paneli ham dock ortida qolardi — endi u dockdan yuqorida va
   balandligi shunday cheklanganki, hech qachon dock ostiga tushmaydi. */
/* 3.2.2: .notif-panel endi body-portal + fix24-notif-bell-css boshqaruvida (dock ustida bottom-sheet). Eski override olib tashlandi. */
/* Mobil ekranda panel yuqori sarlavha ostiga mahkamlanadi va pastdan dock uchun
   joy qoldiradi — shu tufayli ro'yxat qanchalik uzun bo'lsa ham dock ortiga
   umuman tushmaydi, ichida o'zi suriladi. */
/* 3.2.2: mobil panel joylashuvi fix24-notif-bell-css dagi bottom-sheet qoidalariga ko'chdi. */
/* 5) Umumiy qoida: dock ustida ochiladigan barcha qatlamlar (varaq/panel/tanlov)
   hech qachon pastki navigatsiya ortida qolmasin. */
.fix2041-sheet,.fix2041-customize-sheet,.esv19-sheet,.gpe-done-pill{z-index:2147483450!important}
/* 6) Chat ro'yxatidagi sarlavha va izoh bir-biriga yopishib ketgan edi
   ("Umumiy chatBarcha aktiv xodimlar va Admin") — endi alohida qatorlarda. */
.esv2-chat-item b{display:block;font-size:var(--font-body);line-height:1.25}
.esv2-chat-item small{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-caption);line-height:1.3}
.esv2-chat-item b+small{margin-top:4px}
/* 7) Xodimlar bo'limidagi "+ Yangi xodim" tugmasiga biriktirilgan maxsus rang
   olib tashlandi — endi u boshqa oddiy tugmalar bilan bir xil ko'rinadi. */
#employees .section-head>button[onclick^="esv2OpenEmployee"],
#employees button[onclick="esv2OpenEmployee()"]{background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--border)!important;box-shadow:none!important;background-image:none!important;font-weight:700}
/* 8) Mobil ekranda CSS grid "blowout" himoyasi: grid ustunlari ichidagi keng
   element (masalan uzun tugmalar qatori) butun sahifani ekrandan kengaytirib
   yuborardi. Bu Hisobotlar sahifasi 440px bo'lib ketishining sababi edi. */
@media(max-width:750px){
  .report-hero,.report-grid-2,.report-grid-3,.report-kpis,.form-grid,.fix7-settings,.platform-core-grid,.esv2-profile-grid{min-width:0}
  .report-hero>*,.report-grid-2>*,.report-grid-3>*,.report-kpis>*,.fix7-settings>*{min-width:0}
  .page,.page>*{max-width:100%}
}

/* ==== /styles/fix24-notif-bell-css.css ==== */
.notif-bell-wrap{position:relative;display:inline-flex}
.notif-bell-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}
.notif-bell-btn svg{width:19px;height:19px}
.notif-bell-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ff3b30;color:#fff;font-size:10px;font-weight:800;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--bg);display:none}
.notif-bell-badge.show{display:block}
/* 3.2.2: panel har doim dock/overlaylardan yuqorida turadi va bottom-sheet sifatida ochiladi. */
.notif-panel{position:fixed;width:340px;max-width:88vw;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:0 20px 50px rgba(0,0,0,.4);backdrop-filter:blur(18px);z-index:2147483140;display:none}
.notif-panel.show{display:block;animation:notifPanelIn .22s cubic-bezier(.2,.8,.2,1)}
@keyframes notifPanelIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.notif-panel-backdrop{position:fixed;inset:0;background:rgba(2,8,14,.45);backdrop-filter:blur(2px);z-index:2147483130;display:none}
.notif-panel-backdrop.show{display:block;animation:notifBackdropIn .2s ease}
@keyframes notifBackdropIn{from{opacity:0}to{opacity:1}}
.notif-panel-head{position:sticky;top:0;background:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:800;z-index:2}
.notif-panel-head-actions{display:flex;align-items:center;gap:4px}
.notif-panel-head button{background:none;border:0;color:var(--muted);font-size:var(--font-caption);cursor:pointer;font-weight:700;min-height:34px;padding:6px 8px;border-radius:8px}
.notif-panel-head button:active{background:color-mix(in srgb,var(--text) 8%,transparent)}
.notif-panel-close{font-size:17px!important;line-height:1;width:34px}
.notif-panel-list{display:flex;flex-direction:column}
.notif-item{display:flex;flex-direction:column;gap:3px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer}
.notif-item:last-child{border-bottom:0}
.notif-item.unread{background:color-mix(in srgb,var(--fix10-accent,#18d89b) 8%,transparent)}
.notif-item b{font-size:13px}
.notif-item span{font-size:var(--font-caption);color:var(--muted)}
.notif-item small{font-size:10px;color:var(--muted);opacity:.8}
.notif-empty{padding:26px 14px;text-align:center;color:var(--muted);font-size:var(--font-caption)}
/* Mobil: dock (z-index 2147482000) USTIDA ochiladigan haqiqiy bottom-sheet. */
@media(max-width:750px){
  .notif-panel{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;max-height:min(78vh,640px)!important;border-radius:18px 18px 0 0;border-bottom:0;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .notif-panel.show{animation:notifSheetIn .26s cubic-bezier(.2,.8,.2,1)}
  @keyframes notifSheetIn{from{opacity:.4;transform:translateY(48px)}to{opacity:1;transform:none}}
  body.notif-panel-open{overflow:hidden}
}
@media (prefers-reduced-motion: reduce){
  .notif-panel.show,.notif-panel-backdrop.show{animation:none!important}
}
/* Monoblok / touch: bell va panel elementlari kattaroq bosish maydoni bilan. */
@media (pointer:coarse){
  .notif-bell-btn{width:44px;height:44px}
  .notif-item{padding:13px 14px;min-height:48px}
  .notif-panel-head button{min-height:40px}
}

.notif-recovery-send{align-self:flex-start;margin-top:7px;min-height:30px!important;padding:5px 10px!important;font-size:11px!important}.notif-recovery-send:disabled{opacity:.65}

/* 3.1.9 — contextual notification navigation */
.notif-item{position:relative;cursor:default;padding-right:14px}
.notif-item.actionable{cursor:pointer;padding-right:34px}
.notif-item.actionable:active{transform:scale(.995)}
.notif-open-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:22px;line-height:1;color:var(--muted);opacity:.85;pointer-events:none}
.notif-item.informational .notif-open-chevron{display:none}
.notif-target-flash{animation:notifTargetFlash319 1.7s ease-out}
@keyframes notifTargetFlash319{0%,35%{box-shadow:0 0 0 2px color-mix(in srgb,var(--fix10-accent,#18d89b) 75%,transparent),0 0 26px color-mix(in srgb,var(--fix10-accent,#18d89b) 22%,transparent)}100%{box-shadow:none}}

/* ==== /styles/warehouse-hub-v322.css ==== */
/* CONTROL POS 3.2.2 — Ombor hub (mobil), Taom moduli, real Ostatka UI, monoblok/touch qulaylik.
   Barcha ranglar global theme tokenlaridan (var(--panel), var(--text), ...) olinadi —
   dark/light rejimlar avtomatik ishlaydi. */

/* =========================================================
   1. MOBIL OMBOR HUB — barcha bo'limlar bir ekranda (launcher)
========================================================= */
/* 3.2.4: ombor o'tishlari 240–300 ms oralig'ida (umumiy --cp-dur-page 210 ms'dan mustaqil) */
:root{--wh-dur:260ms;--wh-dur-exit:240ms}
#whHub{display:none}
html.cp-layout-mobile body.wh-hub-mode #whHub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
html.cp-layout-mobile body.wh-hub-mode #warehouse .warehouse-tabs,
html.cp-layout-mobile body.wh-hub-mode #warehouse .warehouse-panel{display:none!important}
html.cp-layout-mobile body.wh-section-open #warehouse .warehouse-tabs{display:none!important}
html.cp-layout-mobile body.wh-section-open #whHub{display:none!important}

.wh-hub-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px 13px;min-height:104px;border:1px solid var(--border);border-radius:var(--radius-card,16px);background:var(--panel);cursor:pointer;text-align:left;color:var(--text);overflow:hidden;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s}
.wh-hub-card:active{transform:scale(.97)}
.wh-hub-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--wh-accent,#18d89b) 14%,transparent);color:var(--wh-accent,#18d89b)}
.wh-hub-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wh-hub-title{font-weight:800;font-size:13.5px;line-height:1.25}
.wh-hub-stat{font-size:11.5px;color:var(--muted);min-height:14px}
.wh-hub-badge{position:absolute;top:10px;right:10px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ff3b30;color:#fff;font-size:11px;font-weight:800;line-height:20px;text-align:center}
.wh-hub-badge.warn{background:#ff9f0a;color:#1a1206}
.wh-hub-skel{height:10px;width:60%;border-radius:6px;background:color-mix(in srgb,var(--text) 9%,transparent);animation:whSkel 1.1s ease-in-out infinite alternate}
@keyframes whSkel{from{opacity:.45}to{opacity:.9}}

/* ---- 3.2.4: iOS uslubidagi tahrir (tartiblash) rejimi ----
   2 soniya bosib turish → haptic + ko'tarilish; tahrirda nozik aksent chegara,
   yumshoq glow va drag handle. Texnik ko'k dashed chegara YO'Q. */
#whHub .wh-hub-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.wh-hub-handle{position:absolute;top:9px;right:9px;display:grid;align-content:center;gap:3px;width:24px;height:22px;padding:0 5px;border-radius:8px;color:var(--muted);background:color-mix(in srgb,var(--text) 7%,transparent);opacity:0;transform:scale(.6);pointer-events:none;transition:opacity var(--cp-dur-fast,160ms) ease,transform var(--cp-dur-fast,160ms) var(--cp-ease-emphasized,cubic-bezier(.16,1,.3,1))}
.wh-hub-handle i{display:block;height:2px;border-radius:2px;background:currentColor;opacity:.7}
/* Bosib turish (2 s) — karta sekin "botadi", 2 s da ko'tariladi */
#whHub .wh-hub-card.is-pressing{transform:scale(.972);transition:transform 1.9s cubic-bezier(.3,.1,.3,1),box-shadow .3s ease}
#whHub.wh-hub-editing .wh-hub-card{
  touch-action:none;cursor:grab;
  border-color:color-mix(in srgb,var(--wh-accent,#18d89b) 38%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--wh-accent,#18d89b) 16%,transparent),0 12px 30px -16px color-mix(in srgb,var(--wh-accent,#18d89b) 60%,transparent),0 2px 8px -4px rgba(0,0,0,.18);
  transition:transform var(--wh-dur,260ms) var(--cp-ease-emphasized,cubic-bezier(.16,1,.3,1)),box-shadow .24s ease,border-color .24s ease}
#whHub.wh-hub-editing .wh-hub-handle{opacity:1;transform:none}
#whHub.wh-hub-editing .wh-hub-badge{right:40px}
#whHub .wh-hub-card.is-lifted{
  z-index:5;transform:translateY(-4px) scale(1.035);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--wh-accent,#18d89b) 30%,transparent),0 22px 44px -18px rgba(0,0,0,.42),0 0 28px -8px color-mix(in srgb,var(--wh-accent,#18d89b) 50%,transparent)}
#whHub .wh-hub-card.is-dragging{
  z-index:6;cursor:grabbing;will-change:transform;transition:none!important;opacity:.97;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--wh-accent,#18d89b) 42%,transparent),0 26px 52px -18px rgba(0,0,0,.48),0 0 34px -8px color-mix(in srgb,var(--wh-accent,#18d89b) 55%,transparent)}
#whHub .wh-hub-card:focus-visible{outline:2px solid color-mix(in srgb,var(--wh-accent,#18d89b) 70%,transparent);outline-offset:2px}
body.wh-hub-edit-mode{-webkit-user-select:none;user-select:none}
/* "Tayyor" paneli — topbar o'rnini egallaydigan (fixed) yuqori panel: layout siljimaydi,
   ostidagi sarlavha/tugmalar ko'rinmaydi */
.wh-hub-editbar{display:none}
html.cp-layout-mobile body.wh-hub-mode .wh-hub-editbar:not([hidden]){
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  position:fixed;top:0;left:0;right:0;z-index:1440;min-height:calc(env(safe-area-inset-top,0px) + 84px);
  padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 12px 18px;border:1px solid var(--border);border-top:0;border-radius:0 0 22px 22px;
  background:var(--g-panel-solid,var(--panel));-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:0 18px 40px -20px rgba(0,0,0,.5);
  opacity:0;transform:translateY(-100%);transition:opacity .2s ease,transform .3s var(--cp-ease-emphasized,cubic-bezier(.16,1,.3,1))}
html.cp-layout-mobile body.wh-hub-mode .wh-hub-editbar.show{opacity:1;transform:none}
.wh-hub-editbar-text{display:grid;gap:2px;min-width:0}
.wh-hub-editbar-text b{font-size:15px;font-weight:800;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-hub-editbar-text small{font-size:12px;font-weight:600;line-height:1.25;color:var(--muted)}
.wh-hub-done{flex:none;min-height:38px;padding:0 20px;border:0;border-radius:999px;background:var(--fix10-accent,#18d89b);color:#04211a;font-weight:800;font-size:14px;cursor:pointer;transition:transform .14s ease,filter .14s ease}
.wh-hub-done:active{transform:scale(.96)}
@media (prefers-reduced-motion: reduce){
  #whHub .wh-hub-card.is-pressing{transition:none!important;transform:none}
  #whHub.wh-hub-editing .wh-hub-card,.wh-hub-handle,.wh-hub-editbar{transition:none!important}
}

/* ---- To'liq ekran ichki bo'lim (full-screen internal route) ---- */
#whSectionHost{display:none}
html.cp-layout-mobile body.wh-section-open #whSectionHost{display:block;position:fixed;inset:0;z-index:1450;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 12px calc(128px + env(safe-area-inset-bottom,0px));transform:translateX(0)}
#whSectionHost.wh-enter{animation:whSecIn var(--wh-dur,260ms) cubic-bezier(.2,.8,.2,1)}
#whSectionHost.wh-exit{animation:whSecOut var(--wh-dur-exit,240ms) cubic-bezier(.4,.0,1,1) forwards}
@keyframes whSecIn{from{transform:translateX(56px);opacity:.35}to{transform:none;opacity:1}}
@keyframes whSecOut{from{transform:none;opacity:1}to{transform:translateX(64px);opacity:0}}
.wh-sec-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 0 10px;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px)}
.wh-back-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);font-weight:700;font-size:13px;cursor:pointer}
.wh-back-btn:active{transform:scale(.96)}
.wh-sec-head h2{margin:0;font-size:16px;font-weight:800;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#whSecBody .warehouse-panel{display:block!important;position:static!important}
#whSecBody .warehouse-panel.hidden-by-permission{display:none!important}
@media (prefers-reduced-motion: reduce){
  #whSectionHost.wh-enter,#whSectionHost.wh-exit{animation:none!important}
  .wh-hub-card,.wh-back-btn{transition:none!important}
}

/* =========================================================
   2. MENYU — Taom ro'yxati (ixcham qatorlar) + toolbar
========================================================= */
.wh-menu-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-card,14px);background:var(--panel)}
.wh-menu-toolbar .wh-search{flex:1 1 160px;display:flex;align-items:center;gap:7px;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2,var(--bg))}
.wh-menu-toolbar .wh-search svg{width:15px;height:15px;color:var(--muted);flex:none}
.wh-menu-toolbar .wh-search input{flex:1;min-width:0;border:0;background:none;color:var(--text);font-size:13px;outline:none;min-height:36px}
.wh-menu-toolbar select{min-height:38px;max-width:44vw;padding:0 8px;border:1px solid var(--border);border-radius:10px;background:var(--panel2,var(--bg));color:var(--text);font-size:12.5px}
.wh-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.wh-view-toggle button{min-width:38px;min-height:38px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.wh-view-toggle button.active{background:color-mix(in srgb,var(--fix10-accent,#18d89b) 16%,transparent);color:var(--fix10-accent,#18d89b)}
.wh-view-toggle svg{width:16px;height:16px}
.wh-menu-add{min-height:38px;padding:0 13px;border:0;border-radius:10px;background:var(--fix10-accent,#18d89b);color:#04211a;font-weight:800;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}

/* Menyu sarlavhasidagi eski tugmalar toolbar bilan almashdi (dublikat bo'lmasin) */
#wtab-menu>.section-head>div:last-child:not(:first-child){display:none}

/* ixcham qatorlar — ekranga maksimal ko'p taom sig'adi */
.wh-menu-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-card,14px);background:var(--panel);overflow:hidden}
.wh-menu-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 26px;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}
.wh-menu-row:last-child{border-bottom:0}
.wh-menu-row:active{background:color-mix(in srgb,var(--text) 5%,transparent)}
.wh-menu-thumb{width:44px;height:44px;border-radius:10px;overflow:hidden;background:var(--panel2,var(--bg));display:grid;place-items:center;border:1px solid var(--border)}
.wh-menu-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wh-menu-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.wh-menu-name{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-menu-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-menu-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.wh-menu-price{font-weight:800;font-size:12.5px;white-space:nowrap}
.wh-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.5;white-space:nowrap}
.wh-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.wh-chip.ok{color:#1fce7c;background:color-mix(in srgb,#1fce7c 13%,transparent)}
.wh-chip.warn{color:#ff9f0a;background:color-mix(in srgb,#ff9f0a 14%,transparent)}
.wh-chip.bad{color:#ff453a;background:color-mix(in srgb,#ff453a 13%,transparent)}
.wh-chip.muted{color:var(--muted);background:color-mix(in srgb,var(--muted) 13%,transparent)}
.wh-menu-chevron{color:var(--muted);font-size:20px;text-align:center}
.wh-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
html.cp-layout-mobile .wh-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* =========================================================
   3. TAOM TAHRIRLASH OYNASI (dish editor)
========================================================= */
.wh-editor-overlay{position:fixed;inset:0;z-index:2147483160;display:none;background:rgba(2,8,14,.55);backdrop-filter:blur(6px)}
.wh-editor-overlay.show{display:flex;align-items:center;justify-content:center}
.wh-editor{display:flex;flex-direction:column;width:min(720px,96vw);max-height:92vh;background:var(--bg);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
html.cp-layout-mobile .wh-editor{width:100%;height:100%;max-height:none;border-radius:0;border:0}
.wh-editor-overlay.show .wh-editor{animation:whEdIn .26s cubic-bezier(.2,.8,.2,1)}
@keyframes whEdIn{from{transform:translateY(26px);opacity:.4}to{transform:none;opacity:1}}
.wh-ed-head{display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px;border-bottom:1px solid var(--border);background:var(--panel)}
.wh-ed-head h3{margin:0;flex:1;font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-ed-save{min-height:38px;padding:0 16px;border:0;border-radius:10px;background:var(--fix10-accent,#18d89b);color:#04211a;font-weight:800;cursor:pointer}
.wh-ed-save[disabled]{opacity:.55;cursor:default}
.wh-ed-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 14px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px}
.wh-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:12px}
.wh-card>h4{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.wh-ed-top{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}
.wh-ed-photo{display:flex;flex-direction:column;gap:6px;align-items:center}
.wh-ed-photo .ph{width:96px;height:96px;border-radius:14px;border:1px dashed var(--border);background:var(--panel2,var(--bg));display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:10px;text-align:center;cursor:pointer}
.wh-ed-photo .ph img{width:100%;height:100%;object-fit:cover}
.wh-ed-photo button{border:0;background:none;color:var(--fix10-accent,#18d89b);font-size:11px;font-weight:700;cursor:pointer;min-height:28px}
.wh-ed-fields{display:flex;flex-direction:column;gap:8px;min-width:0}
.wh-field label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}
.wh-field input,.wh-field select,.wh-field textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2,var(--bg));color:var(--text);font-size:13px;box-sizing:border-box}
.wh-field input:focus,.wh-field select:focus{border-color:var(--fix10-accent,#18d89b);outline:none}
.wh-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wh-avail{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2,var(--bg))}
.wh-avail span{font-size:12.5px;font-weight:700}
.wh-switch{position:relative;width:46px;height:27px;flex:none}
.wh-switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:2}
.wh-switch i{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,transparent);transition:background .18s}
.wh-switch i::after{content:'';position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .18s cubic-bezier(.2,.8,.2,1);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.wh-switch input:checked+i{background:#30d158}
.wh-switch input:checked+i::after{transform:translateX(19px)}
/* narx / tannarx paneli */
.wh-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wh-cost-box{display:flex;flex-direction:column;gap:4px;justify-content:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--fix10-accent,#18d89b) 6%,transparent)}
.wh-cost-box b{font-size:15px}
.wh-cost-box small{font-size:10.5px;color:var(--muted)}
/* retsept jadvali */
.wh-recipe-head{display:grid;grid-template-columns:minmax(0,1fr) 64px 62px 58px 30px;gap:6px;padding:0 2px 6px;font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--muted)}
.wh-ing-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 62px 58px 30px;gap:6px;align-items:center;padding:6px 0;border-top:1px solid var(--border)}
.wh-ing-name{min-width:0;display:flex;flex-direction:column;gap:2px}
.wh-ing-name b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-ing-name small{font-size:10px;color:var(--muted)}
.wh-ing-flag{font-size:9.5px;font-weight:800;color:#ff9f0a}
.wh-ing-flag.bad{color:#ff453a}
.wh-ing-row input,.wh-ing-row select{width:100%;min-height:36px;padding:4px 6px;border:1px solid var(--border);border-radius:8px;background:var(--panel2,var(--bg));color:var(--text);font-size:12px;box-sizing:border-box;text-align:center}
.wh-ing-del{min-width:30px;min-height:36px;border:0;border-radius:8px;background:none;color:#ff453a;font-size:15px;cursor:pointer}
.wh-add-ing{margin-top:10px;width:100%;min-height:42px;border:1px dashed color-mix(in srgb,var(--fix10-accent,#18d89b) 55%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--fix10-accent,#18d89b) 7%,transparent);color:var(--fix10-accent,#18d89b);font-weight:800;font-size:12.5px;cursor:pointer}
.wh-ed-danger{display:flex;justify-content:flex-end}
.wh-ed-danger button{min-height:38px;padding:0 14px;border:1px solid color-mix(in srgb,#ff453a 45%,transparent);border-radius:10px;background:color-mix(in srgb,#ff453a 10%,transparent);color:#ff453a;font-weight:700;cursor:pointer}

/* ingredient tanlash / sabab / tolerance bottom sheet */
.wh-sheet-overlay{position:fixed;inset:0;z-index:2147483170;display:none;background:rgba(2,8,14,.5);backdrop-filter:blur(4px)}
.wh-sheet-overlay.show{display:flex;align-items:flex-end;justify-content:center}
.wh-sheet{width:min(560px,100vw);max-height:82vh;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:18px 18px 0 0;overflow:hidden}
.wh-sheet-overlay.show .wh-sheet{animation:whSheetIn .24s cubic-bezier(.2,.8,.2,1)}
@keyframes whSheetIn{from{transform:translateY(60px);opacity:.5}to{transform:none;opacity:1}}
@media(min-width:760px){.wh-sheet-overlay.show{align-items:center}.wh-sheet{border-radius:18px}}
.wh-sheet-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}
.wh-sheet-head h4{margin:0;flex:1;font-size:14px;font-weight:800}
.wh-sheet-close{width:34px;height:34px;border:0;border-radius:9px;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text);font-size:15px;cursor:pointer}
.wh-sheet-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 14px calc(16px + env(safe-area-inset-bottom,0px))}
.wh-ing-pick{display:flex;align-items:center;gap:10px;width:100%;padding:10px 8px;border:0;border-bottom:1px solid var(--border);background:none;color:var(--text);cursor:pointer;text-align:left}
.wh-ing-pick:disabled{opacity:.5;cursor:default}
.wh-ing-pick .nm{flex:1;min-width:0;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-ing-pick small{color:var(--muted);font-size:11px;white-space:nowrap}
.wh-reason-opt{display:flex;align-items:center;gap:10px;padding:11px 8px;border-bottom:1px solid var(--border);cursor:pointer;font-size:13px}
.wh-reason-opt input{width:18px;height:18px;accent-color:var(--fix10-accent,#18d89b)}

/* =========================================================
   4. OSTATKA — sanash ekrani, natija, farqlar markazi
========================================================= */
.wh-count-wrap{display:flex;flex-direction:column;gap:10px}
.wh-count-note{font-size:11.5px;color:var(--muted);line-height:1.5}
.wh-count-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.wh-count-info{min-width:0;display:flex;flex-direction:column;gap:3px}
.wh-count-info b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-count-info .exp{font-size:11px;color:var(--muted)}
.wh-count-result{grid-column:1/-1;display:none;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:9px;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--text) 5%,transparent)}
.wh-count-result.show{display:flex;flex-wrap:wrap}
.wh-count-result.ok{background:color-mix(in srgb,#1fce7c 10%,transparent);color:#1fce7c}
.wh-count-result.bad{background:color-mix(in srgb,#ff453a 10%,transparent);color:#ff453a}
.wh-count-result.warn{background:color-mix(in srgb,#ff9f0a 12%,transparent);color:#ff9f0a}
.wh-count-row input.wh-actual{width:100%;min-height:44px;padding:6px 8px;border:1.5px solid var(--border);border-radius:10px;background:var(--panel2,var(--bg));color:var(--text);font-size:15px;font-weight:800;text-align:center;box-sizing:border-box}
.wh-count-row input.wh-actual:focus{border-color:var(--fix10-accent,#18d89b);outline:none}
.wh-count-row input.wh-actual.done{border-color:color-mix(in srgb,#1fce7c 60%,transparent)}
.wh-count-footer{position:sticky;bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:8;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(0,0,0,.3)}
html:not(.cp-layout-mobile) .wh-count-footer{bottom:10px}
.wh-count-progress{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}
.wh-count-bar{height:5px;border-radius:99px;background:color-mix(in srgb,var(--text) 9%,transparent);overflow:hidden}
.wh-count-bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--fix10-accent,#18d89b);transition:width .3s cubic-bezier(.2,.8,.2,1)}
.wh-count-submit{min-height:46px;padding:0 18px;border:0;border-radius:12px;background:var(--fix10-accent,#18d89b);color:#04211a;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}
.wh-count-submit[disabled]{opacity:.5}
.wh-offline-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid color-mix(in srgb,#ff453a 45%,transparent);border-radius:12px;background:color-mix(in srgb,#ff453a 10%,transparent);color:#ff453a;font-size:12px;font-weight:700}
.wh-offline-banner button{margin-left:auto;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:#ff453a;color:#fff;font-weight:800;cursor:pointer}

/* natija oynasi */
.wh-result-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-bottom:10px}
.wh-result-card{padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel);text-align:center}
.wh-result-card b{display:block;font-size:18px}
.wh-result-card small{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.wh-result-card.ok b{color:#1fce7c}.wh-result-card.bad b{color:#ff453a}.wh-result-card.warn b{color:#ff9f0a}
.wh-money-line{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid color-mix(in srgb,#ff453a 30%,var(--border));border-radius:12px;background:color-mix(in srgb,#ff453a 6%,transparent);font-size:12.5px;font-weight:700;margin-bottom:10px}

/* farqlar markazi */
.wh-disc-section{margin-top:22px}
.wh-disc-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.wh-disc-filters button{min-height:34px;padding:0 13px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}
.wh-disc-filters button.active{border-color:color-mix(in srgb,var(--fix10-accent,#18d89b) 55%,transparent);background:color-mix(in srgb,var(--fix10-accent,#18d89b) 13%,transparent);color:var(--fix10-accent,#18d89b)}
.wh-disc-list{display:flex;flex-direction:column;gap:8px}
.wh-disc-row{display:flex;flex-direction:column;gap:7px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.wh-disc-row.flash{animation:notifTargetFlash319 1.7s ease-out}
.wh-disc-top{display:flex;align-items:center;gap:8px}
.wh-disc-top b{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-disc-nums{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--muted)}
.wh-disc-nums .neg{color:#ff453a;font-weight:800}
.wh-disc-nums .pos{color:#ff9f0a;font-weight:800}
.wh-disc-actions{display:flex;gap:6px;flex-wrap:wrap}
.wh-disc-actions button{min-height:34px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel2,var(--bg));color:var(--text);font-size:11.5px;font-weight:700;cursor:pointer}
.wh-disc-actions button.primary{border:0;background:var(--fix10-accent,#18d89b);color:#04211a;font-weight:800}
.wh-disc-resolved{font-size:11px;color:var(--muted);line-height:1.5}
.wh-status-select{display:flex;gap:6px}

/* tekshiruv tarixi satri */
.wh-sc-status{cursor:pointer}
.wh-pending-box{display:flex;flex-direction:column;gap:8px;padding:11px 12px;border:1px solid color-mix(in srgb,#ff9f0a 40%,var(--border));border-radius:12px;background:color-mix(in srgb,#ff9f0a 8%,transparent);margin-bottom:10px}

/* umumiy bo'sh/xato holatlar */
.wh-empty{padding:26px 14px;text-align:center;color:var(--muted);font-size:12.5px;display:flex;flex-direction:column;gap:10px;align-items:center}
.wh-empty .wh-menu-add{align-self:center}
.wh-num-flash{animation:whNumFlash .9s ease-out}
@keyframes whNumFlash{0%{background:color-mix(in srgb,var(--fix10-accent,#18d89b) 30%,transparent);border-radius:6px}100%{background:transparent}}

/* unsaved changes dialog */
.wh-confirm-actions{display:flex;flex-direction:column;gap:7px;margin-top:14px}
.wh-confirm-actions button{min-height:44px;border-radius:11px;border:1px solid var(--border);background:var(--panel2,var(--bg));color:var(--text);font-weight:700;font-size:13px;cursor:pointer}
.wh-confirm-actions button.primary{border:0;background:var(--fix10-accent,#18d89b);color:#04211a;font-weight:800}
.wh-confirm-actions button.danger{border-color:color-mix(in srgb,#ff453a 45%,transparent);color:#ff453a}

/* =========================================================
   5. MONOBLOK / TOUCH-DESKTOP QULAYLIK
   Katta sensorli ekranlarda (POS monobloklari) sichqonchasiz ishlash:
   barcha interaktiv elementlar >=44px, jadvalning gorizontal siljishi
   barmoq bilan, hoverga bog'liq bo'lmagan boshqaruv.
========================================================= */
@media (pointer:coarse){
  .btn{min-height:44px}
  .btn.small{min-height:38px;padding:7px 12px}
  .warehouse-tab{min-height:44px;padding:10px 14px}
  .menu-item{min-height:46px}
  input,select,textarea{min-height:42px}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table-wrap table td,.table-wrap table th{padding-top:11px;padding-bottom:11px}
  .warehouse-card-actions .btn{min-height:40px}
  .modal .close{width:42px;height:42px;display:grid;place-items:center}
}
@media (pointer:coarse) and (min-width:701px){
  .sidebar .menu-item{padding:12px 14px}
  .top-actions .btn,.top-actions select{min-height:44px}
  ::-webkit-scrollbar{width:12px;height:12px}
  ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 22%,transparent);border-radius:8px;border:3px solid transparent;background-clip:content-box}
  .warehouse-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .wh-menu-row{padding:12px 14px}
  .wh-menu-row .wh-menu-chevron{font-size:24px}
  #stockCountWorkspace .wh-actual{min-height:48px;font-size:16px}
}
/* 1024–1366 monoblok oralig'ida panellar siqilib qolmasin */
@media (min-width:701px) and (max-width:1366px){
  .wh-menu-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
  .wh-price-grid{grid-template-columns:1fr 1fr}
  #wtab-ostatka .ostatka-actions{flex-wrap:wrap}
}

/* ==== /styles/employee-activation-v316.css ==== */
/* CONTROL POS 3.1.6 — employee first-login activation */
.cp-activation-request-btn{min-height:46px}
.cp-activation-panel{margin:10px 0 12px;padding:14px;border:1px solid rgba(135,210,255,.23);border-radius:18px;background:linear-gradient(145deg,rgba(16,46,54,.86),rgba(8,31,39,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 34px rgba(0,0,0,.16)}
.cp-activation-panel[hidden]{display:none!important}
.cp-activation-head{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.cp-activation-head>b{font-size:15px}.cp-activation-head span{font-size:12px;line-height:1.35;color:var(--text-secondary,#a9bdc4)}.cp-activation-head span.is-error{color:#ffaaa4}
.cp-activation-cancel{width:100%;margin-top:8px}
.cp-activation-panel input[readonly]{letter-spacing:.2em;text-align:center;font-size:22px;font-weight:800}
.notif-activation-info{display:block;margin-top:7px;line-height:1.55}.notif-activation-info>span{opacity:.72}.notif-activation-code{font-size:18px;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.notif-activation-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.notif-activation-actions .btn{min-height:36px;flex:1 1 110px}.notif-activation-state{margin-top:8px;font-size:12px;font-weight:700}.notif-activation-state.ok{color:#86e7c4}.notif-activation-state.danger{color:#ffaaa4}.notif-activation-state.muted{opacity:.62}
@media(max-width:560px){.cp-activation-panel{border-radius:16px;padding:12px}.notif-panel{max-width:calc(100vw - 20px)!important}.employee-activation-notif{padding-bottom:14px}.notif-activation-actions{display:grid;grid-template-columns:1fr 1fr}.notif-activation-actions .btn{width:100%}}
.esv316-password-owner-note,.esv316-activation-admin-card{display:flex;flex-direction:column;gap:5px;margin-top:12px;padding:12px 14px;border:1px solid rgba(135,210,255,.16);border-radius:14px;background:rgba(255,255,255,.035)}
.esv316-password-owner-note span,.esv316-activation-admin-card span,.esv316-activation-admin-card small{font-size:12px;opacity:.72}.esv316-activation-admin-card .btn{align-self:flex-start;margin-top:5px}

/* ==== /styles/fix12-1-expense-final-css.css ==== */
#expenses .expense-add-accordion .btn,
#expenses .expense-categories-accordion-actions .btn,
#expenses .expense-dot.active,
#expenses .bar-stick{--orange:var(--ios-accent,#0a84ff) !important;}
#expenses .expense-kpi-icon{background:color-mix(in srgb,var(--ios-accent,#0a84ff) 12%,transparent) !important;color:var(--ios-accent,#0a84ff) !important;}
@supports not (color:color-mix(in srgb, red 50%, blue)){
  .expense-add-accordion{background:var(--panel)!important;border-color:var(--ios-accent,#0a84ff)!important;}
  .expense-add-accordion .expense-categories-accordion-head:hover{background:var(--panel2)!important;}
}

/* ==== /styles/fix13-unified-icon-style.css ==== */
.fc-ui-icon{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px;color:currentColor;vertical-align:-3px}.fc-ui-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.warehouse-tab,.btn,.tab-btn,.section-tab,.subtab,.profile-tab,.fix7-action-btn{display:inline-flex!important;align-items:center;gap:8px}.warehouse-tab .fc-ui-icon{width:18px;height:18px;flex-basis:18px}.warehouse-tab.active .fc-ui-icon,.btn:not(.secondary):not(.danger) .fc-ui-icon{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--ios-accent,#0a84ff) 42%,transparent))}[data-fc-icon]{gap:8px}.fix13-iconized{letter-spacing:normal}

/* ==== /styles/fix19-mobile-css.css ==== */
.esv19-file-list{display:flex;gap:7px;flex-wrap:wrap}.esv19-file-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel2);font-size:var(--font-caption)}.esv19-file-chip a{color:var(--text);text-decoration:none}.esv19-mobile-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.esv19-account-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:var(--panel2);overflow:hidden;display:grid;place-items:center;cursor:pointer}.esv19-account-btn img{width:100%;height:100%;object-fit:cover}.esv19-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.esv19-widget{margin:0!important;min-width:0;transition:transform .24s cubic-bezier(.2,.8,.2,1),width .24s,height .24s,opacity .2s;touch-action:pan-y}.esv19-widget.dragging{opacity:.55;transform:scale(.97);touch-action:none}.esv19-size-s{grid-column:span 1}.esv19-size-m{grid-column:span 2}.esv19-size-l{grid-column:span 2;min-height:300px}.esv19-widget-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.esv19-widget-head h3{margin:0}.esv19-widget-tools{display:flex;align-items:center;gap:5px}.esv19-drag-handle{cursor:grab;color:var(--muted);padding:6px}.esv19-brain-sub{margin-top:10px}.esv19-mobile-dock{position:sticky;bottom:8px;z-index:20;display:flex;gap:7px;overflow-x:auto;padding:8px;border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(0,0,0,.24);margin-top:12px}.esv19-dock-item{min-width:70px;border:0;background:transparent;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px;border-radius:var(--radius-control);cursor:pointer;transition:.2s}.esv19-dock-item:hover{background:color-mix(in srgb,var(--accent,#3aa0ff) 14%,transparent)}.esv19-dock-item small{font-size:10px;white-space:nowrap}.esv19-dock-item.dragging{opacity:.45;transform:scale(.94)}
@media(max-width:520px){.esv19-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.esv19-size-s .esv2-profile-grid{grid-template-columns:1fr}.esv19-size-s .esv2-info:nth-child(n+3){display:none}}

/* ==== /styles/fix20-20-account-settings-css.css ==== */
.esv20-account-modal{max-width:520px!important}.esv20-profile-head{display:flex;align-items:center;gap:13px;padding:8px 2px 16px}.esv20-profile-head>img,.esv20-profile-head>div{width:58px;height:58px;border-radius:18px;object-fit:cover;background:var(--panel2);display:grid;place-items:center;font-weight:900;border:1px solid var(--border)}.esv20-profile-head span{display:flex;flex-direction:column;gap:3px}.esv20-profile-head small{color:var(--muted)}.esv20-settings-list{display:grid;gap:8px}.esv20-settings-list button{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:11px;border-radius:var(--radius-medium);cursor:pointer}.esv20-settings-list button i{width:38px;height:38px;border-radius:var(--radius-sm);display:grid;place-items:center;background:color-mix(in srgb,var(--fix10-accent,#18d89b) 16%,transparent);color:var(--fix10-accent,#18d89b);font-style:normal}.esv20-settings-list button span{display:flex;flex-direction:column;gap:2px}.esv20-settings-list button small{color:var(--muted)}.esv20-settings-list button strong{font-size:26px;color:var(--muted)}.esv20-settings-list button.danger i,.esv20-settings-list button.danger b{color:var(--fix10-accent,#18d89b)}.esv20-subhead{display:flex;align-items:center;gap:10px;margin-bottom:14px}.esv20-subhead button{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel2);color:var(--text);font-size:24px}.esv20-subhead h3{margin:0}.esv20-photo-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.esv20-photo-edit>div{width:72px;height:72px;border-radius:var(--radius-card);overflow:hidden;background:var(--panel2);display:grid;place-items:center;border:1px solid var(--border);font-weight:900}.esv20-photo-edit img{width:100%;height:100%;object-fit:cover}.esv20-security-card{border:1px solid var(--border);background:var(--panel2);border-radius:var(--radius-medium);padding:13px;margin-bottom:10px}.esv20-security-card>b{display:block;margin-bottom:9px}

/* ROUND12: account navigation tiles are always neutral glass panels; semantic action colors do not apply here. */
.esv20-settings-list button.action-delete,.esv20-settings-list button.action-add,.esv20-settings-list button.action-save,.esv20-settings-list button.action-edit{background:var(--panel2)!important;color:var(--text)!important;border-color:var(--border)!important;box-shadow:none!important;background-image:none!important}
.esv20-settings-list button.action-delete i,.esv20-settings-list button.action-add i,.esv20-settings-list button.action-save i,.esv20-settings-list button.action-edit i{background:color-mix(in srgb,var(--fix10-accent,#18d89b) 16%,transparent)!important;color:var(--fix10-accent,#18d89b)!important}

/* ==== /styles/fix20-39-admin-mobile-settings-css.css ==== */
@media (max-width: 750px){
  #settings{display:none;overflow:visible!important;padding:12px 10px 120px!important;max-width:100%!important}
  #settings.active{display:block!important}
  #settings .section-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important}
  #settings .section-head>div{width:100%!important;min-width:0!important}
  #settings .fix7-setting-actions{position:sticky!important;bottom:8px!important;z-index:60!important;width:100%!important;margin:0!important;padding:8px!important;background:color-mix(in srgb,var(--panel) 90%,transparent)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border)!important;border-radius:var(--radius-medium)!important}
  #settings .fix7-setting-actions .btn{width:100%!important;min-height:46px!important;justify-content:center!important}
  #settings .fix7-settings{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;max-width:100%!important}
  #settings .fix7-card,#settings .fix7-wide{display:block!important;grid-column:1/-1!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;padding:14px!important;overflow:visible!important}
  #settings .fix7-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;align-items:stretch!important;padding:11px 0!important;width:100%!important;min-width:0!important}
  #settings .fix7-row>span:first-child{display:block!important;width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  #settings .fix7-row>div{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;width:100%!important;min-width:0!important;max-width:100%!important}
  #settings input:not([type=checkbox]):not([type=hidden]):not([type=range]),#settings select,#settings textarea{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;min-height:44px!important}
  #settings input[type=range]{width:100%!important;max-width:100%!important}
  #settings .switch{display:inline-block!important;visibility:visible!important;opacity:1!important;flex:0 0 48px!important}
  #settings button,#settings input,#settings select,#settings textarea{pointer-events:auto!important}
  #settings .fix10-theme-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
  #settings .fix10-theme-tabs button{width:100%!important;min-width:0!important;padding:10px 5px!important}
  #settings .fix10-palette{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;width:100%!important}
  #settings .fix11-logo-wrap{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:8px!important;width:100%!important;align-items:center!important}
  #settings .fix11-logo-file{width:100%!important;max-width:100%!important;min-width:0!important}
  #settings .fix11-logo-wrap .btn{grid-column:1/-1!important;width:100%!important}
  #settings .fix7-card>.btn,#settings .fix7-card>.form-actions .btn{width:100%!important;justify-content:center!important;min-height:43px!important}
  #settings .fix7-devices{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  #settings .fix7-devices table{display:table!important;min-width:760px!important;width:760px!important}
  #settings .fix7-devices th,#settings .fix7-devices td{white-space:nowrap!important}
  #settings .fix8-count-grid{grid-template-columns:1fr 1fr!important}
  #settings .fix8-danger{overflow:visible!important}
}
@media (max-width:390px){#settings .fix10-palette{grid-template-columns:repeat(4,minmax(0,1fr))!important}#settings .fix8-count-grid{grid-template-columns:1fr!important}}

/* ==== /styles/locale-region-v15-css.css ==== */
.locale-region-card{border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:18px;margin:0 0 16px}
.locale-region-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.locale-region-grid .full{grid-column:1/-1}
.locale-language-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.locale-language-btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:var(--radius-sm);padding:10px 8px;cursor:pointer;text-align:center}.locale-language-btn.active{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange-soft)}
.locale-language-btn span{display:block;font-size:21px}.locale-language-btn b{display:block;margin-top:4px;font-size:var(--font-caption)}
.locale-search{margin-bottom:7px}
@media(max-width:760px){.locale-region-grid{grid-template-columns:1fr}.locale-region-grid .full{grid-column:auto}.locale-language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ==== /styles/fix12-ios-sections.css ==== */
/* FIX12 — iOS visual language inside all sections; legacy orange follows selected appearance accent */
:root{
  --orange:var(--ios-accent,#0a84ff) !important;
  --orange-soft:color-mix(in srgb,var(--ios-accent,#0a84ff) 14%,transparent) !important;
}

/* Section surfaces inherit the same quiet iOS/sidebar language */
.page .card,
.page .toolbar,
.page .warehouse-tab,
.page .report-pill,
.page .report-tab,
.page .branch-tab,
.page .period-btn,
.page .theme-btn,
.page .icon-btn{
  border-radius:var(--radius-control);
}
.page .card{
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,white 4%),var(--panel));
  border-color:color-mix(in srgb,var(--ios-accent) 9%,var(--border));
}
body.dark .page .card{
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012)),var(--panel);
  border-color:rgba(255,255,255,.075);
}

/* Internal navigation/tabs use the same selected-accent logic as the left sidebar */
.page .warehouse-tab,
.page .report-pill,
.page .report-tab,
.page .branch-tab,
.page .period-btn{
  background:color-mix(in srgb,var(--panel) 96%,var(--ios-accent) 4%);
  color:var(--text);
  border:1px solid color-mix(in srgb,var(--ios-accent) 11%,var(--border));
  transition:.18s ease;
}
.page .warehouse-tab:hover,
.page .report-pill:hover,
.page .report-tab:hover,
.page .branch-tab:hover,
.page .period-btn:hover{
  background:color-mix(in srgb,var(--ios-accent) 9%,var(--panel));
  border-color:color-mix(in srgb,var(--ios-accent) 35%,var(--border));
}
.page .warehouse-tab.active,
.page .report-pill.active,
.page .report-tab.active,
.page .branch-tab.active,
.page .period-btn.active{
  background:linear-gradient(90deg,color-mix(in srgb,var(--ios-accent) 24%,transparent),color-mix(in srgb,var(--ios-accent) 10%,var(--panel)));
  color:var(--text);
  border-color:color-mix(in srgb,var(--ios-accent) 58%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ios-accent) 12%,transparent),0 8px 22px color-mix(in srgb,var(--ios-accent) 16%,transparent);
}

/* All add/create controls (+...) become quiet iOS accent buttons, never fixed orange */
.page .section-head > .btn:not(.danger),
.page .action-add,
.page .add-inline-btn,
.page .form-actions .btn:not(.secondary):not(.danger){
  background:linear-gradient(180deg,color-mix(in srgb,var(--ios-accent) 90%,white 10%),var(--ios-accent)) !important;
  color:#fff !important;
  border:1px solid color-mix(in srgb,var(--ios-accent) 72%,white 8%) !important;
  border-radius:var(--radius-sm) !important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--ios-accent) 18%,transparent) !important;
}
.page .section-head > .btn:not(.danger):hover,
.page .action-add:hover,
.page .add-inline-btn:hover,
.page .form-actions .btn:not(.secondary):not(.danger):hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}

/* Secondary plus/action controls stay subtle and glassy */
.page .btn.secondary,
.page .section-head .btn.secondary{
  background:color-mix(in srgb,var(--panel2) 94%,var(--ios-accent) 6%) !important;
  color:var(--text) !important;
  border:1px solid color-mix(in srgb,var(--ios-accent) 15%,var(--border)) !important;
  box-shadow:none !important;
}

/* Old orange icon tiles/dots/badges now track the chosen theme accent */
.page .expense-kpi-icon,
.page .report-rank,
.page .badge.orange{
  background:color-mix(in srgb,var(--ios-accent) 14%,transparent) !important;
  color:var(--ios-accent) !important;
}
.page .expense-dot.active,
.page .bar-stick,
.page .compare-fill{
  background:var(--ios-accent) !important;
}

/* Section headings get the same understated iOS hierarchy as sidebar */
.page .section-head{
  padding:2px 2px 4px;
}
.page .section-head h2,
.page .section-head h3{
  letter-spacing:-.01em;
}

/* Inputs focus follow selected appearance color, not legacy orange */
.page input:focus,
.page select:focus,
.page textarea:focus{
  border-color:color-mix(in srgb,var(--ios-accent) 68%,transparent) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ios-accent) 14%,transparent);
}

/* ==== /styles/fix20-41-admin-global-mobile-dock-css.css ==== */
/* 3.2.5 — CONTROL POS mobil pastki navigatsiya: premium iOS tab bar + Edit Mode
   (spec §23–34) va umumiy CPEditMode "Tayyor" paneli (.cp-editbar). Tokens: core/ui-platform.css,
   core/design-system.css; shisha fon/soya — styles/theme-glass.css (#fix2041AdminMobileDock). */
#fix2041AdminMobileDock{display:none}
:root{--cp-dock-h:64px;--cp-dock-gap:max(8px,env(safe-area-inset-bottom,0px));--cp-dock-count:5}

@media (max-width:900px){
  body.fix2041-admin-mobile-dock-on{padding-bottom:calc(var(--cp-dock-h) + var(--cp-dock-gap) + 18px)!important}
  /* toasts / done-pill float ABOVE the bar — they never cover a navigation button */
  body.fix2041-admin-mobile-dock-on #appToastHost{bottom:calc(var(--cp-dock-h) + var(--cp-dock-gap) + 12px);right:12px;left:12px;max-width:none;align-items:flex-end}
  body.fix2041-admin-mobile-dock-on .gpe-done-pill{bottom:calc(var(--cp-dock-h) + var(--cp-dock-gap) + 14px)}
  #fix2041AdminMobileDock.cp-dock{
    position:fixed;left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));
    bottom:var(--cp-dock-gap);z-index:2147482000;
    display:grid;grid-template-columns:repeat(var(--dock-count,var(--cp-dock-count)),minmax(0,1fr));align-items:stretch;gap:2px;
    height:var(--cp-dock-h);padding:5px;box-sizing:border-box;
    border:1px solid var(--border);border-radius:calc(var(--radius-card,22px) + 2px);
    background:color-mix(in srgb,var(--panel) 90%,transparent);
    -webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);
    box-shadow:0 18px 44px -18px rgba(0,0,0,.45),0 2px 10px -6px rgba(0,0,0,.25);
    overflow:visible;
    touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
    transition:transform var(--cp-dur-page,280ms) var(--cp-ease-emphasized),box-shadow .24s ease;
  }
  /* faol bo'lim "pill" — tugmalar orasida siljiydi (transform, layout emas) */
  #fix2041AdminMobileDock .cp-dock-indicator{
    position:absolute;left:0;top:0;z-index:0;pointer-events:none;border-radius:calc(var(--radius-control,14px) + 2px);
    background:var(--cp-nav-active-bg,color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 16%,transparent));
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 22%,transparent);
    opacity:0;width:0;height:0;
    transition:transform 320ms var(--cp-ease-emphasized),width 320ms var(--cp-ease-emphasized),height 320ms var(--cp-ease-emphasized),opacity .18s ease;
    will-change:transform;
  }
  #fix2041AdminMobileDock .cp-dock-item{
    position:relative;z-index:1;min-width:0;height:100%;margin:0;padding:6px 2px 4px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    border:0;border-radius:calc(var(--radius-control,14px) + 2px);background:transparent;color:var(--muted);
    font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
    transition:transform var(--cp-dur-fast,140ms) var(--cp-ease-emphasized),color var(--cp-dur-fast,140ms) ease,box-shadow .2s ease,opacity .2s ease;
  }
  #fix2041AdminMobileDock .cp-dock-item:active{transform:scale(var(--cp-press-scale,.94))}
  #fix2041AdminMobileDock .cp-dock-item.active{color:var(--cp-nav-active-text,var(--fix10-accent,var(--accent,#18d89b)))}
  #fix2041AdminMobileDock .cp-dock-item:focus-visible{outline:2px solid color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 70%,transparent);outline-offset:-2px}
  #fix2041AdminMobileDock .cp-dock-icon{height:24px;display:grid;place-items:center;transition:transform var(--cp-dur-fast,140ms) var(--cp-ease-emphasized)}
  #fix2041AdminMobileDock .cp-dock-icon svg{width:22px;height:22px;display:block}
  #fix2041AdminMobileDock .cp-dock-item.active .cp-dock-icon{transform:translateY(-1px)}
  #fix2041AdminMobileDock .cp-dock-label{
    display:block;max-width:100%;font-size:10.5px;line-height:1.1;font-weight:700;letter-spacing:.005em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  #fix2041AdminMobileDock .cp-dock-grip,#fix2041AdminMobileDock .cp-dock-lock{position:absolute;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .24s var(--cp-ease-emphasized)}
  /* drag belgisi — 6 nuqta, faqat Edit Mode'da */
  #fix2041AdminMobileDock .cp-dock-grip{
    top:3px;left:50%;width:14px;height:5px;transform:translate(-50%,-4px);
    background:radial-gradient(circle,currentColor 1.1px,transparent 1.5px) 0 0/4.66px 5px repeat-x;
    color:color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 70%,var(--muted));
  }
  #fix2041AdminMobileDock .cp-dock-lock{right:6px;top:5px;display:grid;place-items:center;width:15px;height:15px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--muted)}
  #fix2041AdminMobileDock .cp-dock-lock svg{width:9px;height:9px}
  /* 2 s bosib turish — tugma sekin "botadi" */
  #fix2041AdminMobileDock .cp-dock-item.is-pressing{transform:scale(.9);transition:transform 1.9s cubic-bezier(.3,.1,.3,1)}

  /* ---------- Edit Mode ---------- */
  #fix2041AdminMobileDock.cp-dock-editing{
    box-shadow:0 0 0 1px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 45%,transparent),0 0 34px -6px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 40%,transparent),0 18px 44px -18px rgba(0,0,0,.45);
    gap:4px;
  }
  #fix2041AdminMobileDock.cp-dock-editing .cp-dock-indicator{opacity:0!important}
  #fix2041AdminMobileDock.cp-dock-editing .cp-dock-item[data-key]{
    touch-action:none;cursor:grab;color:var(--text);
    background:color-mix(in srgb,var(--panel2,var(--panel)) 70%,transparent);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 28%,transparent),0 8px 22px -12px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 60%,transparent);
    transform:translateY(-2px) scale(1.02);
    transition:transform var(--cp-dur-page,260ms) var(--cp-ease-emphasized),box-shadow .24s ease,background-color .24s ease;
  }
  #fix2041AdminMobileDock.cp-dock-editing .cp-dock-item[data-key] .cp-dock-grip{opacity:1;transform:translate(-50%,0)}
  #fix2041AdminMobileDock.cp-dock-editing .cp-dock-item.cp-dock-locked .cp-dock-lock{opacity:1}
  #fix2041AdminMobileDock.cp-dock-editing .cp-dock-item.active{color:var(--text)}
  #fix2041AdminMobileDock .cp-dock-item.is-lifted{
    z-index:5;transform:translateY(-6px) scale(1.08);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 40%,transparent),0 20px 40px -16px rgba(0,0,0,.5),0 0 26px -6px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 55%,transparent);
  }
  #fix2041AdminMobileDock .cp-dock-item.is-dragging{
    z-index:6;cursor:grabbing;will-change:transform;transition:none!important;opacity:.98;
    background:color-mix(in srgb,var(--panel2,var(--panel)) 92%,transparent);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 55%,transparent),0 24px 48px -16px rgba(0,0,0,.55),0 0 34px -8px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 60%,transparent);
  }
  #fix2041AdminMobileDock.cp-dock-editing .cp-dock-more{color:var(--fix10-accent,var(--accent,#18d89b))}
  body.cp-dock-edit-mode{-webkit-user-select:none;user-select:none}
}
@media (max-width:360px){
  #fix2041AdminMobileDock .cp-dock-label{font-size:9.5px}
  #fix2041AdminMobileDock .cp-dock-icon svg{width:20px;height:20px}
}
@media (min-width:600px) and (max-width:900px){
  :root{--cp-dock-h:68px}
  #fix2041AdminMobileDock.cp-dock{left:max(14px,env(safe-area-inset-left,0px));right:max(14px,env(safe-area-inset-right,0px))}
  #fix2041AdminMobileDock .cp-dock-label{font-size:11px}
}

/* ---------- umumiy "Tayyor" paneli (CPEditMode) — pastki navigatsiya va boshqa sessiyalar ---------- */
.cp-editbar{display:none}
.cp-editbar:not([hidden]){
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  position:fixed;top:0;left:0;right:0;z-index:2147482500;min-height:calc(env(safe-area-inset-top,0px) + 84px);
  padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 12px 18px;border:1px solid var(--border);border-top:0;border-radius:0 0 22px 22px;
  background:var(--g-panel-solid,var(--panel));-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:0 18px 40px -20px rgba(0,0,0,.5);
  opacity:0;transform:translateY(-100%);transition:opacity .2s ease,transform .3s var(--cp-ease-emphasized,cubic-bezier(.16,1,.3,1));
}
.cp-editbar.show{opacity:1;transform:none}
/* ombor hub'ning o'z paneli o'z CSS'i bilan ko'rsatiladi (wh-hub-editbar) */
.cp-editbar.wh-hub-editbar:not([hidden]){display:none}
html.cp-layout-mobile body.wh-hub-mode .cp-editbar.wh-hub-editbar:not([hidden]){display:flex}
.cp-editbar-text{display:grid;gap:2px;min-width:0}
.cp-editbar-text b{font-size:15px;font-weight:800;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-editbar-text small{font-size:12px;font-weight:600;line-height:1.25;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-editbar-actions{display:flex;align-items:center;gap:8px;flex:none}
.cp-editbar-done{flex:none;min-height:38px;padding:0 20px;border:0;border-radius:999px;background:var(--fix10-accent,#18d89b);color:#04211a;font-weight:800;font-size:14px;cursor:pointer;transition:transform .14s ease,filter .14s ease}
.cp-editbar-done:active{transform:scale(.96)}
.cp-editbar-reset{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text);font-weight:700;font-size:13px;cursor:pointer;transition:transform .14s ease,background-color .14s ease}
.cp-editbar-reset:active{transform:scale(.96);background:color-mix(in srgb,var(--text) 8%,transparent)}
.cp-editbar-reset-ico{flex:none}
/* tor ekranda "Tartibni tiklash" faqat belgi — sarlavha to'liq ko'rinadi */
@media (max-width:520px){.cp-editbar-reset{padding:0;width:38px;justify-content:center}.cp-editbar-reset-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.cp-editbar-text b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:901px){.cp-editbar.cp-dock-editbar{display:none!important}}

/* ---------- «Ko‘proq» / tahrir varag'i ---------- */
#fix2041MoreSheet{position:fixed;inset:0;z-index:2147483200;display:none;align-items:flex-end;justify-content:center;background:var(--g-overlay,rgba(0,0,10,.62));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#fix2041MoreSheet.show{display:flex}
#fix2041MoreSheet .fix2041-sheet-box{
  width:100%;max-width:560px;background:var(--g-panel-solid,var(--panel));border:1px solid var(--border);border-bottom:0;
  border-radius:22px 22px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));
  box-shadow:0 -18px 50px rgba(0,0,0,.4);animation:fix2041SheetUp var(--cp-dur-sheet,260ms) var(--cp-ease-emphasized,cubic-bezier(.16,1,.3,1));
  max-height:78vh;overflow:auto;box-sizing:border-box;
}
@keyframes fix2041SheetUp{from{transform:translateY(24px);opacity:.4}to{transform:translateY(0);opacity:1}}
#fix2041MoreSheet .fix2041-sheet-handle{width:38px;height:4px;border-radius:3px;background:var(--border);margin:2px auto 12px}
#fix2041MoreSheet .fix2041-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
#fix2041MoreSheet .fix2041-sheet-head h3{font-size:16px;margin:0}
#fix2041MoreSheet .fix2041-sheet-head .close{font-size:24px;line-height:1;padding:2px 8px;cursor:pointer;color:var(--muted)}
#fix2041MoreSheet .fix2041-sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#fix2041MoreSheet .fix2041-sheet-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--cp-touch-min,44px);
  padding:16px 8px;border-radius:var(--radius-medium,14px);border:1px solid var(--border);background:var(--panel2);
  color:var(--text);cursor:pointer;font:inherit;text-align:center;transition:transform var(--cp-dur-fast,140ms) var(--cp-ease-emphasized);
}
#fix2041MoreSheet .fix2041-sheet-item:active{transform:scale(var(--cp-press-scale,.96))}
#fix2041MoreSheet .fix2041-sheet-item.active{border-color:color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 55%,var(--border));color:var(--fix10-accent,var(--accent,#18d89b))}
#fix2041MoreSheet .fix2041-sheet-item span{height:24px;display:grid;place-items:center}
#fix2041MoreSheet .fix2041-sheet-item small{font-size:11.5px;font-weight:700;line-height:1.2}
.cp-dock-sheet-hint{margin:10px 0 0;font-size:var(--font-caption,12px)}
.cp-dock-sheet-done{width:100%;margin-top:14px}
@media(min-width:901px){#fix2041MoreSheet{display:none!important}}
/* tahrir ro'yxati (qatorlar): tartib + ko'rinish */
#fix2041CustomizeList{display:flex;flex-direction:column;gap:7px;max-height:56vh;overflow-y:auto;padding-right:2px}
.fix2041-customize-row{display:flex;align-items:center;gap:10px;padding:11px 10px;border:1px solid var(--border);border-radius:var(--radius-control,14px);background:var(--panel2);touch-action:pan-y;transition:transform var(--cp-dur-fast,140ms) var(--cp-ease-emphasized),box-shadow .2s ease,opacity .2s ease}
.cp-dock-list.cp-editing .fix2041-customize-row{touch-action:none;cursor:grab}
.fix2041-customize-row.is-dragging{z-index:4;opacity:.96;cursor:grabbing;transition:none!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 45%,transparent),0 16px 34px -14px rgba(0,0,0,.45)}
.fix2041-customize-row.fix2041-hidden-item{opacity:.55}
.fix2041-customize-row.cp-dock-row-locked{background:color-mix(in srgb,var(--panel2) 80%,transparent)}
.fix2041-drag{color:var(--muted);cursor:grab;display:flex;align-items:center;flex:0 0 auto;touch-action:none}
.fix2041-customize-icon{display:flex;align-items:center;flex:0 0 auto;color:var(--fix10-accent,var(--accent,#18d89b))}
.fix2041-customize-name{flex:1 1 auto;font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:8px;min-width:0}
.cp-dock-row-note{font-size:10.5px;font-weight:700;color:var(--muted);padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent)}
.fix2041-customize-eye{border:0;background:transparent;color:var(--text);padding:6px;border-radius:10px;cursor:pointer;display:flex;flex:0 0 auto;min-width:var(--cp-touch-min,44px);min-height:var(--cp-touch-min,44px);align-items:center;justify-content:center}
.fix2041-customize-eye:active{background:color-mix(in srgb,var(--fix10-accent,var(--accent,#18d89b)) 16%,transparent)}
.cp-dock-row-lock{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--text) 8%,transparent);flex:0 0 auto}

/* ---------- FIX22 universal panel-edit engine (o'zgarmagan) ---------- */
.gpe-edit>[data-gpe-key]{
  cursor:grab;position:relative;outline:none!important;border-radius:var(--radius-medium);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cp-accent,var(--accent,#18d89b)) 30%,var(--border)),0 8px 24px rgba(0,0,0,.10);
  transition:transform var(--cp-dur-fast,140ms) var(--cp-ease-emphasized),box-shadow var(--cp-dur-fast,140ms) var(--cp-ease-standard),opacity var(--cp-dur-fast,140ms) ease;
}
.gpe-edit>[data-gpe-key].gpe-dragging{opacity:.88;cursor:grabbing;z-index:60;transform:translate3d(0,-3px,0) scale(1.008);box-shadow:inset 0 0 0 1px var(--cp-accent,var(--accent,#18d89b)),0 18px 42px rgba(0,0,0,.28)}
.layout-edit .dashboard-block:not(.dash-dragging):not(.dash-resizing){animation:none!important}
.gpe-done-pill{position:fixed;right:16px;left:auto;transform:none;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:2147483300;display:none;align-items:center;gap:7px;background:color-mix(in srgb,var(--panel,#0b171d) 92%,transparent);color:var(--text,#fff);border:1px solid color-mix(in srgb,var(--cp-accent,var(--accent,#18d89b)) 50%,var(--border));border-radius:999px;padding:10px 16px;font-weight:800;font-size:var(--font-caption);box-shadow:0 12px 30px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(14px);cursor:pointer}
.gpe-done-pill::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--cp-accent,var(--accent,#18d89b)) 22%,transparent);color:var(--cp-accent,var(--accent,#18d89b))}
@media(min-width:901px){.gpe-done-pill{right:26px;bottom:26px}}
@media(prefers-reduced-motion:reduce){
  #fix2041AdminMobileDock .cp-dock-indicator,#fix2041AdminMobileDock .cp-dock-item,#fix2041AdminMobileDock .cp-dock-item.is-pressing,.cp-editbar,#fix2041MoreSheet .fix2041-sheet-box{transition:none!important;animation:none!important}
}


/* CONTROL POS 3.6.6 — scrollable premium mobile navigation, 5 tabs per viewport */
@media (max-width:900px){
  #fix2041AdminMobileDock.cp-dock{
    display:flex!important;
    align-items:stretch!important;
    gap:2px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:5px!important;
  }
  #fix2041AdminMobileDock.cp-dock::-webkit-scrollbar{display:none!important}
  #fix2041AdminMobileDock .cp-dock-indicator{position:absolute!important}
  #fix2041AdminMobileDock .cp-dock-item{
    flex:0 0 calc((100% - 10px)/5)!important;
    width:calc((100% - 10px)/5)!important;
    min-width:calc((100% - 10px)/5)!important;
    scroll-snap-align:start!important;
  }
  #fix2041AdminMobileDock .cp-dock-more{flex:0 0 calc((100% - 10px)/5)!important}
}

/* ==== /styles/fix20-42-all-mobile-responsive-css.css ==== */
/* JS adds this class based on viewport + real mobile/touch capabilities, so landscape phones are covered too. */
body.fix2042-mobile-layout{padding-bottom:96px!important;overflow-x:hidden!important}
body.fix2042-mobile-layout .sidebar{display:none!important}
body.fix2042-mobile-layout .main{margin-left:0!important;width:100%!important;max-width:100%!important;padding-left:10px!important;padding-right:10px!important;box-sizing:border-box!important}
body.fix2042-mobile-layout .page{max-width:100%!important;min-width:0!important}
body.fix2042-mobile-layout .topbar,body.fix2042-mobile-layout .section-head{max-width:100%!important;min-width:0!important;flex-wrap:wrap!important}
body.fix2042-mobile-layout .grid,body.fix2042-mobile-layout .cards,body.fix2042-mobile-layout .dashboard-grid{max-width:100%!important;min-width:0!important}
body.fix2042-mobile-layout table{max-width:none}
body.fix2042-mobile-layout input,body.fix2042-mobile-layout select,body.fix2042-mobile-layout textarea,body.fix2042-mobile-layout button{max-width:100%}

/* Admin mobile settings parity at every phone/tablet width, not only <=750px */
body.fix2042-mobile-layout #settings{overflow:visible!important;padding:12px 8px 118px!important;max-width:100%!important;box-sizing:border-box!important}
body.fix2042-mobile-layout #settings .fix7-settings{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;max-width:100%!important}
body.fix2042-mobile-layout #settings .fix7-card,body.fix2042-mobile-layout #settings .fix7-wide{display:block!important;grid-column:1/-1!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;padding:14px!important;overflow:visible!important}
body.fix2042-mobile-layout #settings .fix7-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important}
body.fix2042-mobile-layout #settings .fix7-row>div{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;width:100%!important;min-width:0!important;max-width:100%!important}
body.fix2042-mobile-layout #settings input:not([type=checkbox]):not([type=hidden]):not([type=range]),body.fix2042-mobile-layout #settings select,body.fix2042-mobile-layout #settings textarea{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;min-height:44px!important}
body.fix2042-mobile-layout #settings input[type=range]{width:100%!important;max-width:100%!important}
body.fix2042-mobile-layout #settings .fix7-devices{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
body.fix2042-mobile-layout #settings .fix7-devices table{min-width:680px!important}
body.fix2042-mobile-layout #settings .fix7-setting-actions{position:sticky!important;bottom:86px!important;z-index:40!important;display:grid!important;grid-template-columns:1fr!important;width:100%!important;padding:8px!important;background:color-mix(in srgb,var(--panel) 92%,transparent)!important;backdrop-filter:blur(14px)!important;border:1px solid var(--border)!important;border-radius:var(--radius-control)!important;box-sizing:border-box!important}
body.fix2042-mobile-layout #settings .fix7-setting-actions .btn{width:100%!important}

/* 3.2.5: the bottom navigation is styled by fix20-41-admin-global-mobile-dock-css.css only (premium iOS bar). */

/* Very narrow phones */
@media(max-width:380px){
 body.fix2042-mobile-layout .main{padding-left:6px!important;padding-right:6px!important}
}
/* Tablet portrait / landscape spacing */
@media(min-width:768px) and (max-width:1366px){
 body.fix2042-mobile-layout .main{padding-left:16px!important;padding-right:16px!important}
 body.fix2042-mobile-layout #settings{padding-left:14px!important;padding-right:14px!important}
}

/* ==== /styles/fix20-51-dashboard-icons-css.css ==== */
.dashboard-block[data-block="total_sales"] .kpi-icon{background:color-mix(in srgb,#27d58a 16%,transparent);color:#27d58a}
.dashboard-block[data-block="net_profit"] .kpi-icon{background:color-mix(in srgb,#ff8a00 16%,transparent);color:#ff8a00}
.dashboard-block[data-block="expenses"] .kpi-icon{background:color-mix(in srgb,#2eb5ff 16%,transparent);color:#2eb5ff}
.dashboard-block[data-block="orders"] .kpi-icon{background:color-mix(in srgb,#f5c84c 16%,transparent);color:#f5c84c}
.dashboard-block[data-block="average_check"] .kpi-icon{background:color-mix(in srgb,#8b5cf6 16%,transparent);color:#8b5cf6}
.dashboard-block[data-block="cancelled"] .kpi-icon{background:color-mix(in srgb,#ff5757 16%,transparent);color:#ff5757}
.fc-dashboard-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px}
.fc-dashboard-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.block-title .fc-dashboard-icon{width:18px;height:18px;color:var(--orange)}

/* ==== /styles/platform-core-v1-css.css ==== */
.platform-branch-context{display:none;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel);padding:6px 8px;border-radius:var(--radius-sm);min-width:190px}
.platform-branch-context span{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.platform-branch-context select{min-width:135px;border:0!important;background:transparent!important;padding:4px!important;font-weight:800;color:var(--text)}
.platform-core-modal{position:fixed;inset:0;z-index:30000;background:rgba(5,10,18,.74);backdrop-filter:blur(18px);display:grid;place-items:center;padding:18px}
.platform-core-card{width:min(94vw,620px);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-large);padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.platform-core-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 16px}
.platform-core-type{border:1px solid var(--border);background:var(--panel2);border-radius:var(--radius-medium);padding:16px;cursor:pointer;text-align:left;color:var(--text)}
.platform-core-type.active{outline:2px solid var(--accent,#18d89b);border-color:transparent}
.platform-core-type b{display:block;margin-bottom:5px}.platform-core-type small{color:var(--muted)}
.platform-core-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.platform-core-grid .full{grid-column:1/-1}
.platform-core-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;word-break:break-all;color:var(--muted)}
.platform-core-settings{border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:18px;margin:0 0 16px}
.platform-core-pos-code{font:900 34px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-align:center;padding:18px;border:1px dashed var(--border);border-radius:var(--radius-medium);margin:12px 0;background:var(--panel2)}
.platform-core-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.platform-core-row:last-child{border-bottom:0}
.platform-core-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.hidden-by-platform{display:none!important}
.platform-module-note{font-size:11px;color:var(--muted);margin-top:6px}
@media(max-width:760px){.platform-core-types,.platform-core-grid{grid-template-columns:1fr}.platform-core-grid .full{grid-column:auto}.platform-core-card{padding:18px}}

/* ==== /styles/fix31-round10-css.css ==== */
/* FIX31 (10-bosqich) — Dasturga kirishda PIN: qulf oynasi hamma narsadan tepada turadi. */
#esv20AppLock{z-index:2147483640!important;align-items:center!important}
#esv20AppLock .modal-box{margin:auto}
.fix31-admin-pin{margin-top:12px;padding:12px;border:1px solid var(--es-line,rgba(255,255,255,.12));border-radius:var(--radius-control);background:rgba(255,255,255,.04)}
.fix31-admin-pin>b{display:block;margin-bottom:4px}
.fix31-admin-pin .muted-line{margin-bottom:8px}
.fix31-pin-state{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-caption);font-weight:700;padding:3px 9px;border-radius:999px;margin-bottom:8px}
.fix31-pin-state.on{background:rgba(24,216,155,.16);color:#18d89b}
.fix31-pin-state.off{background:rgba(255,255,255,.08);color:var(--muted,#9fb3bb)}
.fix31-admin-pin .form-group{margin-bottom:8px}
.fix31-admin-pin .btn{width:100%}
.fix31-admin-pin .btn+.btn{margin-top:8px}

/* ==== /styles/fix32-round11-css.css ==== */
/* FIX32 (11-bosqich) — RAQAMLI PIN KLAVIATURASI. Ekranda hech qanday yozuv yo‘q. */
#esv20AppLock.fix32-lock{align-items:center!important;justify-content:center!important;
  background:rgba(4,10,14,.93)!important;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}
#esv20AppLock.fix32-lock .modal-box{max-width:320px;width:calc(100vw - 48px);margin:auto;
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
  max-height:none!important;overflow:visible!important}
.fix32-lockbox{display:flex;flex-direction:column;align-items:center;padding:6px 0 2px}
.fix32-lock-icon{width:32px;height:32px;color:var(--accent,#18d89b);opacity:.9;margin-bottom:22px}
.fix32-lock-icon svg{width:100%;height:100%;display:block}
.fix32-dots{display:flex;justify-content:center;align-items:center;gap:15px;min-height:15px;margin-bottom:30px}
.fix32-dot{width:13px;height:13px;border-radius:50%;box-sizing:border-box;
  border:1.7px solid var(--accent,#18d89b);opacity:.4;background:transparent;
  transition:opacity .14s ease,background-color .14s ease,transform .14s ease}
.fix32-dot.on{opacity:1;background:var(--accent,#18d89b);transform:scale(1.08)}
.fix32-dots.fix32-waiting .fix32-dot{animation:fix32Pulse 1.15s ease-in-out infinite}
.fix32-dots.fix32-waiting .fix32-dot:nth-child(2){animation-delay:.13s}
.fix32-dots.fix32-waiting .fix32-dot:nth-child(3){animation-delay:.26s}
.fix32-dots.fix32-waiting .fix32-dot:nth-child(4){animation-delay:.39s}
@keyframes fix32Pulse{0%,100%{opacity:.28}50%{opacity:.95}}
@media(prefers-reduced-motion:reduce){.fix32-dots.fix32-waiting .fix32-dot{animation:none}}
.fix32-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px;width:100%}
.fix32-key{width:70px;height:70px;margin:0 auto;border-radius:50%;box-sizing:border-box;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);
  color:var(--text,#eaf6f4);font-size:27px;font-weight:600;line-height:1;font-family:inherit;
  display:grid;place-items:center;cursor:pointer;padding:0;
  -webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;
  transition:transform .08s ease,background-color .12s ease}
.fix32-key:active{transform:scale(.92);background:rgba(255,255,255,.2)}
.fix32-key.ghost{background:transparent;border-color:transparent;color:var(--muted,#9fb3bb)}
.fix32-key.ghost:active{background:rgba(255,255,255,.1)}
.fix32-key.ghost svg{width:25px;height:25px;display:block}
.fix32-keys.busy .fix32-key{pointer-events:none;opacity:.55}
:root[data-theme="light"] #esv20AppLock.fix32-lock{background:rgba(238,244,246,.95)!important}
:root[data-theme="light"] .fix32-key{border-color:rgba(10,30,40,.14);background:rgba(10,30,40,.05);color:#0b2129}
:root[data-theme="light"] .fix32-key:active{background:rgba(10,30,40,.12)}

/* Lokatsiyaga ruxsat paneli */
.fix32-loc-row{border-bottom:0!important;padding:4px 0 10px!important}
.fix32-loc-row>span{font-weight:700}
.fix32-loc-state{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-caption);font-weight:700;
  padding:3px 9px;border-radius:999px}
.fix32-loc-state.on{background:rgba(24,216,155,.16);color:#18d89b}
.fix32-loc-state.off{background:rgba(255,255,255,.08);color:var(--muted,#9fb3bb)}
.fix32-loc-state.blocked{background:rgba(255,86,86,.16);color:#ff7a7a}

/* ==== /styles/fix33-round13-fresh-css.css ==== */
/* ROUND13 / 3.1.3 — final UI guarantees. */
.esv20-settings-list button,
.esv20-settings-list button.danger,
.esv20-settings-list button.action-delete,
.esv20-settings-list button.action-add,
.esv20-settings-list button.action-save,
.esv20-settings-list button.action-edit{
  background:var(--panel2)!important;background-image:none!important;color:var(--text)!important;
  border-color:var(--border)!important;box-shadow:none!important;
}
.esv20-settings-list button i,
.esv20-settings-list button.danger i{background:color-mix(in srgb,var(--fix10-accent,#18d89b) 16%,transparent)!important;color:var(--fix10-accent,#18d89b)!important}
/* Anchored chooser must remain a popover even on phones; never fall back to a bottom sheet. */
.fcp-backdrop.fcp-popover-backdrop{align-items:initial!important;justify-content:initial!important;padding:0!important}
.fcp-sheet.fcp-popover{bottom:auto!important;right:auto!important;position:fixed!important}
.cp-build-stamp{font-size:10px!important;opacity:.5!important;text-align:center!important;margin-top:8px!important;letter-spacing:.04em!important}

/* 3.1.10 — Ombor / Kirimlar tarixi */
.receipt-history-head{align-items:center;gap:14px}.receipt-history-filters{display:grid;gap:14px;padding:14px}.receipt-history-periods,.receipt-history-modes{display:flex;gap:7px;align-items:center;overflow-x:auto;scrollbar-width:none}.receipt-history-periods::-webkit-scrollbar,.receipt-history-modes::-webkit-scrollbar{display:none}.receipt-history-periods button,.receipt-history-modes button{appearance:none;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:var(--text);min-height:38px;padding:8px 13px;border-radius:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.18s ease}.receipt-history-periods button.active,.receipt-history-modes button.active{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.48);box-shadow:inset 0 0 0 1px rgba(34,197,94,.08),0 6px 18px rgba(0,0,0,.12)}.receipt-history-custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.receipt-history-custom label,.receipt-history-filter-grid>label{display:grid;gap:6px;font-size:12px;color:var(--muted);font-weight:750}.receipt-history-custom input,.receipt-history-filter-grid select{width:100%;min-height:42px}.receipt-history-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.receipt-history-modes{justify-content:flex-end;align-self:end;min-height:42px}.receipt-history-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.receipt-history-kpis>.card{padding:14px;min-height:88px;display:flex;flex-direction:column;justify-content:space-between}.receipt-history-kpis span{font-size:12px;color:var(--muted);font-weight:700}.receipt-history-kpis b{font-size:18px;line-height:1.2;overflow-wrap:anywhere}.receipt-history-sub{display:block;color:var(--muted);margin-top:3px}.receipt-history-mobile{display:none}.receipt-history-more-wrap{display:flex;justify-content:center;padding:14px 0}.receipt-history-detail-modal{max-width:720px}.receipt-history-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.receipt-history-detail-summary span{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;display:grid;gap:4px;color:var(--muted);font-size:12px}.receipt-history-detail-summary b{color:var(--text);font-size:14px}.receipt-history-detail-body{display:grid;gap:8px;max-height:min(56vh,520px);overflow:auto;overscroll-behavior:contain}.receipt-history-detail-row{display:flex;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075)}.receipt-history-detail-row>div{display:grid;gap:3px}.receipt-history-detail-row>div:last-child{text-align:right}.receipt-history-detail-row span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.receipt-history-head{align-items:flex-start}.receipt-history-head>.btn{flex:0 0 auto}.receipt-history-filters{padding:10px;gap:10px}.receipt-history-periods{margin-inline:-2px;padding:1px 2px}.receipt-history-periods button{flex:0 0 auto;min-height:36px;padding:7px 11px}.receipt-history-filter-grid{grid-template-columns:1fr}.receipt-history-modes{justify-content:stretch}.receipt-history-modes button{flex:1}.receipt-history-custom{grid-template-columns:1fr 1fr}.receipt-history-kpis{grid-template-columns:1fr 1fr;gap:8px}.receipt-history-kpis>.card{min-height:76px;padding:11px}.receipt-history-kpis b{font-size:15px}.receipt-history-desktop{display:none!important}.receipt-history-mobile{display:grid;gap:9px}.receipt-history-card{position:relative;width:100%;text-align:left;color:var(--text);font:inherit;padding:13px 36px 13px 13px;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(20,54,60,.72),rgba(10,28,33,.76));box-shadow:0 8px 22px rgba(0,0,0,.12);display:grid;gap:10px}.receipt-history-card>div:first-child{display:grid;gap:3px}.receipt-history-card>div:first-child>b{font-size:15px}.receipt-history-card>div:first-child>span{font-size:11px;color:var(--muted)}.receipt-history-card>i{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--muted);font-style:normal}.receipt-history-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.receipt-history-card-grid>span{display:grid;gap:2px;font-size:11px;color:var(--muted)}.receipt-history-card-grid b{font-size:13px;color:var(--text);overflow-wrap:anywhere}.receipt-history-detail-summary{grid-template-columns:1fr}.receipt-history-detail-row{padding:10px}.receipt-history-detail-body{max-height:52vh}}
@media(max-width:380px){.receipt-history-custom{grid-template-columns:1fr}.receipt-history-kpis{grid-template-columns:1fr 1fr}.receipt-history-periods button{padding-inline:9px;font-size:12px}}

/* ==== /core/design-system.css ==== */
/* CONTROL POS 3: shared semantic surfaces and motion tokens. */
:root {
  --motion-fast:120ms;--motion-normal:210ms;--motion-slow:320ms;
  --ease-ios:cubic-bezier(.22,.78,.22,1);--ease-spring:cubic-bezier(.2,.9,.3,1.12);--ease-modal:cubic-bezier(.16,1,.3,1);--ease-menu:cubic-bezier(.2,.7,.2,1);
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;
  --control-height:46px;--radius-sm:12px;--radius-card:20px;--radius-panel:26px;
}
body:not(.dark),body:not(.dark).fix72-light-ready {
  --bg:#edf1f7!important;--panel:rgba(249,251,255,.83)!important;--panel2:#e6ecf5!important;--card:rgba(255,255,255,.88)!important;
  --text:#192b43!important;--muted:#53667f!important;--border:rgba(52,77,112,.14)!important;--line:rgba(52,77,112,.12)!important;
  --sidebar:#e2eaf4!important;--shadow:0 8px 26px rgba(46,69,100,.08)!important;
  background:radial-gradient(ellipse at 80% 0%,#dce8f6 0%,transparent 55%),var(--bg)!important;color:var(--text)!important;
}
body.dark{--bg:#06161d;--panel:rgba(18,46,58,.83);--panel2:rgba(27,62,77,.74);--card:rgba(21,54,68,.73);--text:#eaf5fc;--muted:#a0b9c9;--border:rgba(148,205,231,.18);--shadow:0 12px 32px #0003;}
body:not(.dark).fix72-light-ready .sidebar,body:not(.dark) .sidebar{background:linear-gradient(170deg,#e5edf7eb,#dce6f3db)!important;border-color:var(--border)!important;color:var(--text)!important;}
body:not(.dark).fix72-light-ready .topbar,body:not(.dark) .topbar{background:rgba(242,247,253,.78)!important;color:var(--text)!important;}
body:not(.dark).fix72-light-ready :is(.card,.fix7-card),body:not(.dark) :is(.card,.modal-box,.fix7-card){background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important;}
body:not(.dark) :is(input,select,textarea){background:var(--panel2)!important;color:var(--text)!important;border-color:var(--border)!important;}
body:not(.dark) :is(th,.warehouse-tab,.report-pill,.settings-tab){background:var(--panel2)!important;color:var(--text)!important;}
body:not(.dark) :is(.muted-line,.menu-item){color:var(--muted)!important;}
body,.card,.topbar,.sidebar,.modal-box,input,select{transition:background-color var(--motion-normal) var(--ease-ios),color var(--motion-normal) var(--ease-ios),border-color var(--motion-normal) var(--ease-ios);}
:is(button,.btn,input:not([type=checkbox]):not([type=radio]),select){min-height:var(--control-height);}
button,.btn,[role=button]{touch-action:manipulation;}
button:disabled{opacity:.48;cursor:not-allowed;}
:is(button,input,select,[tabindex]):focus-visible{outline:3px solid #429be7;outline-offset:3px;}
.page[data-page-container]{scroll-margin-top:var(--space-6);}
.cp-nav-indicator{position:absolute;top:0;left:0;pointer-events:none;border-radius:var(--radius-sm);background:linear-gradient(110deg,#408bdd30,#64c1dd18);border:1px solid #79c7e238;transition:transform var(--motion-normal) var(--ease-ios);}
.sidebar .menu-item{position:relative;background:transparent!important;}
.cp-connection{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:99px;color:var(--muted);font-size:11px;white-space:nowrap;}
.cp-connection:before{content:'';width:6px;height:6px;border-radius:50%;background:#e6a94d;}
.cp-connection[data-state=online]:before{background:#46b997;}
.cp-page-error{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-4);background:var(--panel);}
#appToastHost{position:fixed;right:18px;bottom:18px;z-index:2147483600;display:flex;flex-direction:column;gap:10px;max-width:min(92vw,380px);pointer-events:none;}
.cp-toast{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:var(--shadow);font-size:13px;pointer-events:auto;}
.cp-toast button{min-height:32px;min-width:32px;margin-left:auto;background:transparent!important;padding:4px;}
.cp-region-loading{position:relative;}
.cp-region-loading>.cp-skeleton{position:absolute;inset:0;z-index:1;background:var(--panel);border-radius:var(--radius-card);pointer-events:none;overflow:hidden;}
.cp-skeleton-chart{display:flex;align-items:end;gap:10px;padding:14px;}.cp-skeleton-chart span{flex:1;height:65%;margin:0;}.cp-skeleton-chart span:nth-child(2n){height:40%;}
.cp-skeleton{min-height:180px;}
.cp-skeleton span{display:block;height:36px;margin:12px;border-radius:8px;background:var(--panel2);animation:cp-skeleton-pulse 1.4s ease-in-out infinite alternate;}
@keyframes cp-skeleton-pulse{to{opacity:.4}}
#esv15LoginModal{background:radial-gradient(ellipse at 25% 5%,#204757d9,transparent 60%),#06151bef!important;overflow:auto;padding:24px;align-items:flex-start;}
#esv15LoginModal .modal-box{margin:auto;width:min(100%,440px);max-width:440px!important;border-radius:var(--radius-panel);padding:28px;background:var(--panel);border:1px solid var(--border);box-shadow:0 30px 90px #0005;max-height:none;overflow:visible;}
#esv15LoginModal h3{font-size:23px;letter-spacing:-.7px;}
.cp-login-eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);margin-bottom:8px;}
.cp-login-subtitle{font-size:13px;color:var(--muted);margin-bottom:22px;line-height:1.5;}
.cp-login-role{display:flex;gap:8px;margin-bottom:18px;}
.cp-login-role button{flex:1;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:12px;}
.cp-login-role button[aria-pressed=true]{border-color:#50a7cf;background:#50a7cf25;}
.cp-keypad{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);animation:cp-keypad-in var(--motion-normal) var(--ease-ios);}
.cp-keypad-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);}
.cp-keypad-head button{border:0;background:transparent;color:var(--text);padding:0 10px;}
.cp-keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.cp-keypad-grid button{min-height:52px;border-radius:14px;background:var(--panel2);border:1px solid var(--border);color:var(--text);font-size:24px;font-weight:500;}
.cp-keypad-done{width:100%;margin-top:10px;}
#cpLoginError{color:var(--danger);font-size:13px;line-height:1.5;margin-top:12px;}
#esv15LoginModal .modal-box{max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;}
#esv15LoginModal .modal-head{margin-bottom:8px;}
#esv15LoginModal .cp-login-subtitle{margin-bottom:12px;}
#esv15LoginModal .form-group{margin-bottom:10px;}
#esv15LoginModal .cp-login-role{margin-bottom:12px;}
#esv15LoginModal .cp-login-role button{min-height:36px;}
#esv15LoginModal .btn.secondary{min-height:34px;background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--border)!important;}
#esv15LoginModal .cp-keypad-head button{min-height:28px;}
@keyframes cp-keypad-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){.cp-connection{font-size:10px;padding:5px 7px}.topbar{flex-wrap:wrap;gap:8px}#esv15LoginModal{padding:12px}#esv15LoginModal .modal-box{padding:18px}.cp-keypad-grid button{min-height:44px}#esv15LoginModal .cp-keypad{margin-top:10px;padding-top:8px}#esv15LoginModal .cp-login-subtitle{font-size:12px;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
:root{--space-5:20px;--space-8:32px;--font-caption:12px;--font-body:14px;--font-title:22px;--font-display:30px;--touch-target:44px;--glass-blur:16px;--separator:1px solid var(--border);--focus-color:#4ca7e6;--danger:#df5469;--success:#38ac88}
.cp-dialog{color:var(--text);background:var(--panel);border:var(--separator);border-radius:var(--radius-panel);box-shadow:var(--shadow);padding:var(--space-6);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;backdrop-filter:blur(var(--glass-blur));}
.cp-dialog::backdrop{background:#04131c99;animation:cp-backdrop var(--motion-normal) var(--ease-modal)}
.cp-dialog h2{font-size:var(--font-title);margin:0 0 var(--space-4)}.cp-dialog p{font-size:var(--font-body);line-height:1.6;white-space:pre-wrap;margin-bottom:var(--space-4)}
.cp-dialog input{width:100%;border:var(--separator);border-radius:var(--radius-sm);background:var(--panel2);color:var(--text);padding:var(--space-3)}
.cp-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6)}.cp-dialog-actions button{min-height:var(--touch-target)}
.cp-tabs{display:flex;gap:var(--space-2);overflow-x:auto}.cp-tabs [aria-selected=true]{background:var(--panel2);border-color:var(--focus-color)}
.cp-dropdown{display:grid;gap:var(--space-2)}.cp-table{width:100%;border-collapse:collapse}.cp-table :is(th,td){padding:var(--space-3);border-bottom:var(--separator);text-align:start}
.cp-skeleton-card{min-height:110px}.cp-skeleton-chart{min-height:260px}.cp-skeleton-table{min-height:220px}.cp-skeleton-list{min-height:160px}
.cp-region-loading{min-height:160px}.cp-inline-status{font-size:var(--font-caption);color:var(--muted)}
@keyframes cp-backdrop{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.cp-drawer{margin:auto 0 0;width:100%;max-width:none;max-height:85dvh;border-radius:var(--radius-panel) var(--radius-panel) 0 0;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}.cp-dialog-actions button{flex:1}.cp-connection{max-width:42vw;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.cp-dialog::backdrop{animation:none}}

:root{--radius-xs:8px;--radius-control:14px;--radius-medium:16px;--radius-large:24px}
.page[aria-busy=true] :is(.kpi-value,.finance-kpi-value,.report-kpi-value){position:relative;color:transparent!important;min-height:1.2em}
.page[aria-busy=true] :is(.kpi-value,.finance-kpi-value,.report-kpi-value):after{content:'';position:absolute;inset:10% 0;border-radius:var(--radius-xs);background:var(--panel2);animation:cp-skeleton-pulse 1.4s ease-in-out infinite alternate}
.cp-skip-link{position:fixed;top:8px;left:8px;z-index:2147483600;transform:translateY(-180%);background:var(--panel);color:var(--text);border:var(--separator);border-radius:var(--radius-sm);padding:var(--space-3)}.cp-skip-link:focus{transform:none}
@media(pointer:coarse){[role=button],.btn.small,button.small{min-height:var(--touch-target);min-width:var(--touch-target)}}
[hidden]{display:none!important}
button,input,select,textarea,dialog{font-family:inherit}
@media(min-width:901px){body.fix2042-mobile-layout .sidebar{display:block!important}body.fix2042-mobile-layout .main{margin-left:252px!important;width:calc(100% - 252px)!important;max-width:calc(100% - 252px)!important}}

/* SECURITY V2 — login fits a single mobile viewport with the custom keypad. */
#esv15LoginModal{height:100dvh;min-height:100dvh;overflow:hidden!important;align-items:center!important;padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom))!important}
#esv15LoginModal .cp-login-box{max-height:calc(100dvh - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;overflow:auto!important;overscroll-behavior:contain}
.cp-login-lock-panel{margin:8px 0;padding:10px;border:1px solid color-mix(in srgb,#ff5e57 46%,var(--border));border-radius:14px;background:color-mix(in srgb,#ff5e57 9%,var(--panel2));display:flex;flex-direction:column;gap:6px}
.cp-login-lock-panel[hidden]{display:none!important}.cp-login-lock-panel b{font-size:13px}.cp-login-lock-panel span,.cp-login-lock-panel small{font-size:11px;color:var(--muted)}.cp-login-lock-panel .btn{min-height:34px;margin-top:2px}
#cpLoginError{min-height:18px;margin-top:7px;font-size:12px;color:#ff7875;text-align:center}
@media(max-width:700px){#esv15LoginModal .cp-login-box{padding:12px!important;border-radius:18px!important}#esv15LoginModal .modal-head{margin-bottom:2px!important}#esv15LoginModal h3{font-size:19px;margin:0}.cp-login-eyebrow{margin-bottom:2px}.cp-login-subtitle{margin:2px 0 6px!important;line-height:1.25!important}.cp-login-role{margin-bottom:6px!important}.cp-login-role button{min-height:30px!important}.cp-login-box .form-group{margin-bottom:5px!important}.cp-login-box .form-group label{font-size:11px}.cp-login-box input{min-height:38px!important}.cp-keypad{margin-top:6px!important;padding-top:5px!important}.cp-keypad-head{min-height:24px}.cp-keypad-grid{gap:5px!important}.cp-keypad-grid button{min-height:38px!important;border-radius:11px!important;font-size:20px!important}.cp-keypad-done{min-height:36px!important;margin-top:6px!important}.cp-login-help{display:none}.cp-login-lock-panel{padding:7px;margin:5px 0}.cp-login-lock-panel .btn{min-height:30px!important}}
@media(max-height:680px) and (max-width:700px){#esv15LoginModal .cp-login-role,.cp-login-subtitle,.cp-login-help{display:none!important}#esv15LoginModal .cp-login-box{padding:9px!important}.cp-keypad-grid button{min-height:34px!important}.cp-keypad-done{min-height:32px!important}}


/* === 3.1.8: ichki 123 / ABC / belgilar klaviaturasi === */
.cp-keypad-v318 .cp-keypad-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:6px 0}
.cp-keypad-v318 .cp-keypad-mode{
  min-height:34px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text);
  font:inherit;font-size:12.5px;font-weight:800;padding:5px 8px;
}
.cp-keypad-v318 .cp-keypad-mode.active{background:color-mix(in srgb,var(--ios-accent,#18d89b) 20%,var(--panel2));border-color:var(--ios-accent,#18d89b)}
.cp-keypad-v318 .cp-keypad-grid{display:flex!important;flex-direction:column!important;gap:5px!important}
.cp-keypad-v318 .cp-keypad-row{display:flex;gap:5px;width:100%}
.cp-keypad-v318 .cp-keypad-key{
  flex:1 1 0;min-width:0!important;min-height:38px!important;height:38px!important;padding:0 3px!important;border-radius:10px!important;
  font-size:18px!important;line-height:1!important;
}
.cp-keypad-v318 .cp-keypad-grid[data-mode="abc"] .cp-keypad-key{font-size:16px!important;min-height:36px!important;height:36px!important}
.cp-keypad-v318 .cp-keypad-grid[data-mode="sym"] .cp-keypad-key{font-size:16px!important;min-height:36px!important;height:36px!important}
.cp-keypad-v318 .cp-keypad-space{flex:1 1 100%!important;font-size:12px!important}
.cp-keypad-v318 .cp-keypad-key.active{background:color-mix(in srgb,var(--ios-accent,#18d89b) 24%,var(--panel2))!important}
@media(max-width:700px){
  #esv15LoginModal .cp-keypad-v318{margin-top:6px!important;padding-top:5px!important}
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-head{min-height:22px}
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-modes{margin:4px 0;gap:4px}
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-mode{min-height:30px;padding:3px 5px;font-size:11.5px}
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-row{gap:4px}
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-key{min-height:34px!important;height:34px!important;font-size:17px!important}
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-grid[data-mode="abc"] .cp-keypad-key,
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-grid[data-mode="sym"] .cp-keypad-key{min-height:32px!important;height:32px!important;font-size:14px!important}
  #esv15LoginModal .cp-keypad-v318 .cp-keypad-done{min-height:34px!important;margin-top:5px!important}
}

/* === 3.1.9: keypad mode-switch fix + slightly raised mobile placement === */
.cp-keypad-v319{isolation:isolate}
@media(max-width:700px){
  #esv15LoginModal .cp-keypad-v319{
    position:relative;
    transform:translateY(-12px);
    margin-bottom:-12px!important;
    padding-bottom:max(2px,env(safe-area-inset-bottom,0px));
  }
}
@media(max-width:700px) and (max-height:680px){
  #esv15LoginModal .cp-keypad-v319{transform:translateY(-8px);margin-bottom:-8px!important}
}

.cp-keypad-active-input{outline:2px solid color-mix(in srgb,var(--ios-accent,#18d89b) 55%,transparent)!important;outline-offset:1px}

/* 3.2.3: realtime morph — o'zgargan qator mikro-belgisi (CPMotion bo'lmasa) */
.cp-updated{animation:cpUpdatedFade .28s ease-out}
@keyframes cpUpdatedFade{0%{opacity:.6;transform:translate3d(0,2px,0)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cp-updated{animation:none}}

/* ==== /styles/fix35-login-keyboard-active-nav.css ==== */
/* CONTROL POS 3.1.12 — login keypad visibility + stronger static active navigation. */
:root{
  --cp-nav-active-accent:var(--fix10-accent,var(--ios-accent,var(--accent,#18d89b)));
  --cp-nav-active-bg:color-mix(in srgb,var(--cp-nav-active-accent) 31%,var(--panel2));
  --cp-nav-active-border:color-mix(in srgb,var(--cp-nav-active-accent) 78%,var(--border));
  --cp-nav-active-text:color-mix(in srgb,#ffffff 88%,var(--cp-nav-active-accent));
  --cp-nav-active-icon:color-mix(in srgb,#ffffff 20%,var(--cp-nav-active-accent));
  --cp-nav-active-shadow:inset 0 1px 0 color-mix(in srgb,#ffffff 14%,transparent),0 7px 20px color-mix(in srgb,var(--cp-nav-active-accent) 17%,transparent);
}
body:not(.dark),body.fix72-light-ready{
  --cp-nav-active-bg:color-mix(in srgb,var(--cp-nav-active-accent) 22%,#ffffff);
  --cp-nav-active-border:color-mix(in srgb,var(--cp-nav-active-accent) 70%,rgba(20,50,70,.15));
  --cp-nav-active-text:#123b34;
  --cp-nav-active-icon:color-mix(in srgb,var(--cp-nav-active-accent) 88%,#0b332d);
  --cp-nav-active-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 16px color-mix(in srgb,var(--cp-nav-active-accent) 12%,transparent);
}

/* --- Login keypad: always visible above mobile safe-area once an auth field is selected. --- */
.cp-keypad-v312{box-sizing:border-box}
.cp-keypad-v312 .cp-keypad-head-actions{display:flex;align-items:center;gap:4px}
.cp-keypad-v312 .cp-keypad-mode,
.cp-keypad-v312 .cp-keypad-key,
.cp-keypad-v312 .cp-keypad-done{touch-action:manipulation;-webkit-user-select:none;user-select:none}

@media(max-width:700px),(pointer:coarse){
  #esv15LoginModal.cp-keypad-open{
    align-items:flex-start!important;
    overflow:hidden!important;
  }
  #esv15LoginModal.cp-keypad-open .cp-login-box{
    margin:max(8px,env(safe-area-inset-top,0px)) auto calc(276px + env(safe-area-inset-bottom,0px))!important;
    max-height:calc(100dvh - 292px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scroll-padding-bottom:24px;
  }
  #esv15LoginModal .cp-keypad-v312{
    position:fixed!important;
    left:max(10px,env(safe-area-inset-left,0px))!important;
    right:max(10px,env(safe-area-inset-right,0px))!important;
    bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;
    width:min(440px,calc(100vw - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))!important;
    max-height:min(43dvh,330px)!important;
    margin:0 auto!important;
    padding:9px 10px 10px!important;
    border:1px solid color-mix(in srgb,var(--cp-nav-active-accent) 28%,var(--border))!important;
    border-radius:20px!important;
    background:color-mix(in srgb,var(--panel) 94%,#06161d 6%)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.06)!important;
    backdrop-filter:blur(22px) saturate(145%);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
    z-index:2147483590!important;
    overflow:auto!important;
    transform:none!important;
    animation:cp-keypad-sheet-in 160ms cubic-bezier(.22,.78,.22,1)!important;
  }
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-head{min-height:22px!important}
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-modes{margin:4px 0!important;gap:4px!important}
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-mode{min-height:29px!important;padding:3px 5px!important;font-size:11.5px!important}
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-row{gap:4px!important}
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-key{min-height:34px!important;height:34px!important;font-size:17px!important}
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-grid[data-mode="abc"] .cp-keypad-key,
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-grid[data-mode="sym"] .cp-keypad-key{min-height:31px!important;height:31px!important;font-size:13.5px!important}
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-done{min-height:33px!important;margin-top:5px!important}
}
@media(max-width:700px) and (max-height:700px){
  #esv15LoginModal.cp-keypad-open .cp-login-box{
    margin-bottom:calc(246px + env(safe-area-inset-bottom,0px))!important;
    max-height:calc(100dvh - 260px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  }
  #esv15LoginModal .cp-keypad-v312{
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    max-height:min(45dvh,290px)!important;
    padding:7px 8px 8px!important;
  }
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-key{min-height:30px!important;height:30px!important}
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-grid[data-mode="abc"] .cp-keypad-key,
  #esv15LoginModal .cp-keypad-v312 .cp-keypad-grid[data-mode="sym"] .cp-keypad-key{min-height:28px!important;height:28px!important}
}
@keyframes cp-keypad-sheet-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* --- One stronger, static active-state system for real navigation surfaces. --- */
.menu-item.active,
html body.fix72-appearance .menu-item.active{
  background:var(--cp-nav-active-bg)!important;
  background-image:none!important;
  border-color:var(--cp-nav-active-border)!important;
  color:var(--cp-nav-active-text)!important;
  box-shadow:var(--cp-nav-active-shadow)!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
}
.menu-item.active .ios-nav-icon,
.menu-item.active .fc-ui-icon{color:var(--cp-nav-active-icon)!important;filter:none!important;transform:none!important;animation:none!important}

#fix2041AdminMobileDock button.active,
#fix2041MoreSheet .fix2041-sheet-item.active{
  background:var(--cp-nav-active-bg)!important;
  border-color:var(--cp-nav-active-border)!important;
  color:var(--cp-nav-active-text)!important;
  box-shadow:var(--cp-nav-active-shadow)!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
}
#fix2041AdminMobileDock button.active :is(svg,.fc-ui-icon),
#fix2041MoreSheet .fix2041-sheet-item.active :is(svg,.fc-ui-icon){color:var(--cp-nav-active-icon)!important;filter:none!important;animation:none!important;transform:none!important}

#warehouseTabs .warehouse-tab.active,
html body.fix72-appearance #warehouseTabs .warehouse-tab.active,
#warehouseTabs .warehouse-tab.active[data-wtab="receipts"],
#warehouseTabs .warehouse-tab.active[data-wtab="receipt-history"]{
  background:var(--cp-nav-active-bg)!important;
  background-image:none!important;
  border-color:var(--cp-nav-active-border)!important;
  color:var(--cp-nav-active-text)!important;
  box-shadow:var(--cp-nav-active-shadow)!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
}
#warehouseTabs .warehouse-tab.active :is(.fc-ui-icon,svg){color:var(--cp-nav-active-icon)!important;filter:none!important;transform:none!important;animation:none!important}

/* Generic in-page navigation tabs. Semantic KPI/filter buttons are intentionally excluded. */
:is(.cp-tabs [aria-selected="true"],.branch-tab.active,.profile-tab.active,.settings-tab.active){
  background:var(--cp-nav-active-bg)!important;
  border-color:var(--cp-nav-active-border)!important;
  color:var(--cp-nav-active-text)!important;
  box-shadow:var(--cp-nav-active-shadow)!important;
  transform:none!important;
  animation:none!important;
}

/* Active state is stronger but never breathes/pulses. */
:is(.menu-item.active,#fix2041AdminMobileDock button.active,#warehouseTabs .warehouse-tab.active,.cp-tabs [aria-selected="true"],.branch-tab.active,.profile-tab.active,.settings-tab.active)::before,
:is(.menu-item.active,#fix2041AdminMobileDock button.active,#warehouseTabs .warehouse-tab.active,.cp-tabs [aria-selected="true"],.branch-tab.active,.profile-tab.active,.settings-tab.active)::after{
  animation:none!important;
}
@media(prefers-reduced-motion:reduce){
  #esv15LoginModal .cp-keypad-v312{animation:none!important}
}

/* ==== /styles/v320-features.css ==== */
/* CONTROL POS 3.2.0 — styles for billing (company app) and account recovery.
   Built only from the shared tokens (--cp-*, --panel, --text, --muted, --border). */

/* ---------- account recovery inside the login card ---------- */
.cp-login-box.cpr-active>:not(#cprPanel):not(.cp-keypad-v312){display:none!important}
.cpr-panel{display:none}
.cp-login-box.cpr-active .cpr-panel{display:block;animation:cp-fade-in var(--cp-dur-base) var(--cp-ease-standard) both}
.cpr-title{margin:2px 0 6px}
.cpr-sub{margin:0 0 14px;color:var(--muted);font-size:13.5px;line-height:1.45}
.cpr-error{min-height:20px;margin:4px 0 8px;color:#fca5a5;font-size:13px}
.cpr-code{letter-spacing:.35em;font-size:22px!important;text-align:center;font-variant-numeric:tabular-nums}
.cpr-back{width:100%;margin-top:8px}
.cpr-link{display:block;width:100%;margin:10px 0 0;padding:8px;border:0;background:none;color:var(--cp-state-active-icon);font:600 14px/1.2 inherit;font-family:inherit;cursor:pointer;text-align:center}
.cpr-link:hover{text-decoration:underline}
.cpr-choices{display:grid;gap:8px;margin:0 0 10px}
.cpr-choice{width:100%;justify-content:center;font-variant-numeric:tabular-nums}
.cpr-done{padding:14px;border-radius:14px;background:var(--cp-state-selected-bg);border:1px solid var(--cp-state-active-border);color:var(--cp-state-active-text);margin:6px 0 10px;line-height:1.45}

/* ---------- shared billing pieces ---------- */
.cpb-label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;letter-spacing:.01em}
.cpb-muted{color:var(--muted);font-size:12px;line-height:1.4}
.cpb-center{display:block;text-align:center;margin-top:10px}
.cpb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:14px 0}
.cpb-grid b{font-size:17px;font-variant-numeric:tabular-nums}
.cpb-warn{color:#fbbf24}
.cpb-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--cp-state-badge-bg);color:var(--cp-state-badge-text);white-space:nowrap}
.cpb-chip:is(.cpb-payment_due,.cpb-inv-open,.cpb-tx-created){background:color-mix(in srgb,#f59e0b 22%,transparent);color:#fcd34d}
.cpb-chip:is(.cpb-frozen,.cpb-cancelled,.cpb-tx-cancelled,.cpb-tx-failed,.cpb-inv-void){background:color-mix(in srgb,#ef4444 20%,transparent);color:#fca5a5}
.cpb-chip:is(.cpb-tx-refunded,.cpb-inv-refunded){background:color-mix(in srgb,#94a3b8 22%,transparent);color:#cbd5e1}
body:not(.dark) .cpb-chip:is(.cpb-payment_due,.cpb-inv-open,.cpb-tx-created){color:#92400e}
body:not(.dark) .cpb-chip:is(.cpb-frozen,.cpb-cancelled,.cpb-tx-cancelled,.cpb-tx-failed,.cpb-inv-void){color:#991b1b}
.cpb-payid{margin:14px 0;padding:14px;border-radius:16px;border:1px dashed var(--cp-state-active-border);background:color-mix(in srgb,var(--cp-accent) 6%,transparent)}
.cpb-payid-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 6px}
.cpb-payid-value{font-size:26px;letter-spacing:.08em;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin-inline-end:auto}
.cpb-instructions p{margin:0;line-height:1.5}
.cpb-payid a.btn,.cpb-page a.btn{text-decoration:none}
.cpb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.cpb-actions .btn{flex:1 1 160px;justify-content:center}
.cpb-empty{padding:18px;text-align:center;color:var(--muted)}
.cpb-table td,.cpb-table th{white-space:nowrap}

/* ---------- frozen window ---------- */
.cp-billing-frozen{position:fixed;inset:0;z-index:2147483300;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
  background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--cp-accent) 14%,transparent),transparent 60%),#04131a;overflow:auto;animation:cp-fade-in var(--cp-dur-base) var(--cp-ease-standard) both}
body:not(.dark) .cp-billing-frozen{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--cp-accent) 12%,transparent),transparent 60%),#edf1f7}
/* while frozen, nothing of the stopped app (toasts, alerts, dock) can cover the payment window */
html.cp-frozen-open body>*:not(.cp-billing-frozen){visibility:hidden!important}
.cp-billing-frozen .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:14px;font-weight:700;text-decoration:none}
.cp-billing-frozen .btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}
.cpb-frozen-card{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:24px;background:var(--panel,#10262e);border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.35);color:var(--text);animation:cp-pop-in var(--cp-dur-overlay) var(--cp-ease-emphasized) both}
.cpb-frozen-card h2{margin:0 0 8px;text-align:center}
.cpb-lead{text-align:center;color:var(--muted);line-height:1.5;margin:0 0 6px}
.cpb-frozen-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:18px;display:grid;place-items:center;font-size:26px;background:color-mix(in srgb,#38bdf8 16%,transparent);color:#7dd3fc}
.cpb-frozen-icon.ok{background:color-mix(in srgb,var(--cp-accent) 20%,transparent);color:var(--cp-state-active-icon)}
.cpb-waiting{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:var(--muted);font-size:13px}
.cpb-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;animation:cp-boot-pulse 1s var(--cp-ease-standard) infinite alternate}

/* ---------- reminder banner ---------- */
.cpb-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px 10px 14px;border-radius:16px;border:1px solid color-mix(in srgb,#f59e0b 45%,transparent);background:color-mix(in srgb,#f59e0b 12%,var(--panel,#10262e));color:var(--text);animation:cp-pop-in var(--cp-dur-base) var(--cp-ease-emphasized) both}
.cpb-banner-text{flex:1 1 220px;font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums}
.cpb-x{border:0;background:none;color:var(--muted);font-size:20px;line-height:1;padding:4px 8px;cursor:pointer}

/* ---------- billing page ---------- */
.cpb-page{display:grid;gap:16px}
.cpb-hero{padding:20px}
.cpb-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cpb-plan{margin:0;font-size:24px}
.cpb-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cpb-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px}
.cpb-page .card{padding:18px}
.cpb-page h3{margin:0 0 10px}
.cpb-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cpb-list li{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--cp-accent) 5%,transparent);border:1px solid var(--border)}
.cpb-list small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.cpb-list p{margin:4px 0 0;font-size:13px;line-height:1.4}
html.cp-layout-mobile .cpb-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
html.cp-layout-mobile .cpb-row{grid-template-columns:1fr}
html.cp-layout-mobile .cpb-payid-value{font-size:22px}
@media (max-width:420px){.cpb-actions .btn{flex-basis:100%}}

/* ==== /core/ui-platform.css ==== */
/* CONTROL POS 3.2.0 — UI Platform (loaded LAST).
   One global source for: motion tokens, theme state tokens (active / hover / pressed /
   selected / badge), the stable App Shell, the boot curtain, touch safety and
   responsive performance rules. New pages, modals and components get all of it by
   using the normal building blocks (.page, .modal, .card, button, tabs) — nothing
   has to be written per component. */

/* ------------------------------------------------------------------ tokens */
:root{
  /* motion: one timing scale, one easing family, GPU-friendly properties only */
  --cp-dur-press:90ms;
  --cp-dur-fast:140ms;
  --cp-dur-base:200ms;
  --cp-dur-page:280ms;
  --cp-dur-overlay:250ms;
  --cp-dur-sheet:300ms;
  --cp-ease-standard:cubic-bezier(.2,.8,.2,1);
  --cp-ease-emphasized:cubic-bezier(.16,1,.3,1);
  --cp-ease-exit:cubic-bezier(.4,0,1,1);
  --cp-page-shift:12px;
  --cp-overlay-shift:12px;
  --cp-sheet-shift:36px;
  --cp-press-scale:.975;
  /* legacy names used by older layers → same values (single source) */
  --motion-fast:var(--cp-dur-fast);--motion-normal:var(--cp-dur-base);--motion-slow:320ms;
  --ease-ios:var(--cp-ease-standard);--ease-modal:var(--cp-ease-emphasized);--ease-menu:var(--cp-ease-standard);--ease-spring:var(--cp-ease-emphasized);
  --cp-fast:var(--cp-dur-fast);--cp-normal:var(--cp-dur-base);--cp-modal:var(--cp-dur-overlay);--cp-spring:var(--cp-ease-emphasized);--cp-ease:var(--cp-ease-standard);
  /* shell metrics */
  --cp-topbar-title-h:46px;
  --cp-touch-min:44px;
}
html.cp-layout-mobile{--cp-topbar-title-h:40px}

/* Theme state tokens. Defined on body so they resolve against the ACTIVE theme
   (defining them on :root mixed the accent with the light-theme panel colour, which
   produced a pale mint active item with white text — the contrast bug).
   Active background is ~40% softer than 3.1.12 (31% → 19% accent); text/icons are
   near-white in dark mode and deep green in light mode, so contrast stays ≥ 7:1. */
body{
  --cp-accent:var(--fix10-accent,var(--ios-accent,var(--accent,#18d89b)));
  --cp-state-surface:#0e242b;
  --cp-state-active-bg:color-mix(in srgb,var(--cp-accent) 19%,var(--cp-state-surface));
  --cp-state-active-border:color-mix(in srgb,var(--cp-accent) 44%,transparent);
  --cp-state-active-text:#f2fffb;
  --cp-state-active-icon:color-mix(in srgb,var(--cp-accent) 72%,#ffffff);
  --cp-state-hover-bg:color-mix(in srgb,var(--cp-accent) 8%,transparent);
  --cp-state-pressed-bg:color-mix(in srgb,var(--cp-accent) 14%,transparent);
  --cp-state-selected-bg:color-mix(in srgb,var(--cp-accent) 15%,var(--cp-state-surface));
  --cp-state-focus-ring:color-mix(in srgb,var(--cp-accent) 70%,#ffffff);
  --cp-state-badge-bg:color-mix(in srgb,var(--cp-accent) 26%,var(--cp-state-surface));
  --cp-state-badge-text:#eafff8;
  --cp-state-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 14px color-mix(in srgb,var(--cp-accent) 10%,transparent);
  /* the 3.1.12 active-nav layer reads these names */
  --cp-nav-active-accent:var(--cp-accent);
  --cp-nav-active-bg:var(--cp-state-active-bg);
  --cp-nav-active-border:var(--cp-state-active-border);
  --cp-nav-active-text:var(--cp-state-active-text);
  --cp-nav-active-icon:var(--cp-state-active-icon);
  --cp-nav-active-shadow:var(--cp-state-shadow);
}
body:not(.dark),body.fix72-light-ready{
  --cp-state-surface:#ffffff;
  --cp-state-active-bg:color-mix(in srgb,var(--cp-accent) 13%,#ffffff);
  --cp-state-active-border:color-mix(in srgb,var(--cp-accent) 40%,rgba(20,50,70,.14));
  --cp-state-active-text:#0d3a31;
  --cp-state-active-icon:color-mix(in srgb,var(--cp-accent) 70%,#093028);
  --cp-state-hover-bg:color-mix(in srgb,var(--cp-accent) 7%,transparent);
  --cp-state-pressed-bg:color-mix(in srgb,var(--cp-accent) 12%,transparent);
  --cp-state-selected-bg:color-mix(in srgb,var(--cp-accent) 10%,#ffffff);
  --cp-state-focus-ring:color-mix(in srgb,var(--cp-accent) 80%,#0b332d);
  --cp-state-badge-bg:color-mix(in srgb,var(--cp-accent) 18%,#ffffff);
  --cp-state-badge-text:#0d3a31;
  --cp-state-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 3px 10px color-mix(in srgb,var(--cp-accent) 9%,transparent);
}

/* one active / hover / pressed / focus language for every navigation surface */
:is(.menu-item,#fix2041AdminMobileDock button,.settings-tab,.branch-tab,.profile-tab,#warehouseTabs .warehouse-tab,.report-tab,.cp-tabs [role=tab]){
  transition:background-color var(--cp-dur-fast) var(--cp-ease-standard),border-color var(--cp-dur-fast) var(--cp-ease-standard),color var(--cp-dur-fast) var(--cp-ease-standard),box-shadow var(--cp-dur-fast) var(--cp-ease-standard);
}
@media (hover:hover) and (pointer:fine){
  :is(.menu-item,.settings-tab,.branch-tab,.profile-tab,#warehouseTabs .warehouse-tab,.report-tab):not(.active):hover{background-color:var(--cp-state-hover-bg)}
}
:is(.menu-item,#fix2041AdminMobileDock button,.settings-tab,.report-tab):not(.active):active{background-color:var(--cp-state-pressed-bg)}
:is(.menu-item.active,#fix2041AdminMobileDock button.active,.settings-tab.active,.report-tab.active,.cp-tabs [aria-selected="true"]){
  background:var(--cp-state-active-bg)!important;background-image:none!important;
  border-color:var(--cp-state-active-border)!important;color:var(--cp-state-active-text)!important;
  box-shadow:var(--cp-state-shadow)!important;
}
:is(.menu-item.active,#fix2041AdminMobileDock button.active) :is(.ios-nav-icon,.fc-ui-icon,svg){color:var(--cp-state-active-icon)!important}
.menu-item.active :is(.badge,.nav-badge,[class*=badge]){box-shadow:0 0 0 2px var(--cp-state-active-bg)}
:is(button,a,[role=button],[tabindex]):focus-visible{outline:2px solid var(--cp-state-focus-ring);outline-offset:2px}
.cp-nav-indicator{display:none!important} /* the active item itself carries the state: no second, lagging highlight */

/* ------------------------------------------------------------------ boot curtain */
html.cp-boot,html.cp-boot body{background:#06161d!important}
html.cp-boot[data-cp-theme=light],html.cp-boot[data-cp-theme=light] body{background:#edf1f7!important}
html.cp-boot body>*:not(script):not(style):not(link){visibility:hidden!important}
html.cp-boot body::after{
  content:"CONTROL POS";position:fixed;inset:0;display:grid;place-items:center;visibility:visible;
  font:800 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:.32em;color:#5eead4;opacity:.55;
  animation:cp-boot-pulse 1.2s var(--cp-ease-standard) infinite alternate;
}
html.cp-boot[data-cp-theme=light] body::after{color:#0f766e}
@keyframes cp-boot-pulse{from{opacity:.25}to{opacity:.6}}
/* signed out: the login screen is the only thing on screen — never a stale app behind it */
body.esv15-logged-out>.app{visibility:hidden}

/* ------------------------------------------------------------------ stable App Shell */
/* the viewport width never changes when a page with/without a scrollbar opens */
html.cp-layout-desktop{scrollbar-gutter:stable}
/* exactly one page is rendered at a time */
.page:not(.active),[data-page-container]:not(.active){display:none!important}
/* header keeps one height on every page (brand row ↔ page title) */
.topbar .page-title{min-height:var(--cp-topbar-title-h);display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1 1 auto}
.topbar #pageTitleDefaultRow h1,.topbar #pageTitleDefaultRow p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.cp-layout-mobile .topbar{flex-wrap:nowrap!important;align-items:center}
html.cp-layout-mobile .topbar .top-actions{flex:0 0 auto;min-width:0}
html.cp-layout-mobile .topbar #pageTitleDefaultRow p{display:none}
html.cp-layout-mobile .topbar #pageTitleDefaultRow h1{font-size:17px;margin:0}
/* sidebar and dock never re-animate on page change */
.sidebar,#fix2041AdminMobileDock{animation:none!important}

/* ------------------------------------------------------------------ motion */
@keyframes cp-page-in{from{opacity:.35;transform:translate3d(0,var(--cp-page-shift),0)}to{opacity:1;transform:none}}
@keyframes cp-fade-in{from{opacity:0}to{opacity:1}}
@keyframes cp-pop-in{from{opacity:0;transform:translate3d(0,var(--cp-overlay-shift),0) scale(.985)}to{opacity:1;transform:none}}
@keyframes cp-sheet-in{from{opacity:.4;transform:translate3d(0,var(--cp-sheet-shift),0)}to{opacity:1;transform:none}}
@keyframes cp-menu-in{from{opacity:0;transform:translate3d(0,-4px,0) scale(.98)}to{opacity:1;transform:none}}
@keyframes cp-soft-update{from{background-color:var(--cp-state-hover-bg)}to{background-color:transparent}}
@keyframes cp-spin{to{transform:rotate(360deg)}}

.page.active{animation:none}
.page.active.cp-page-enter{animation:cp-page-in var(--cp-dur-page) var(--cp-ease-emphasized) both}
html.cp-motion .page.active.cp-page-enter{animation:none} /* CPMotion.page restarts on every route entry */
.modal.show{animation:cp-fade-in var(--cp-dur-fast) var(--cp-ease-standard) both}
.modal.show>.modal-box{animation:cp-pop-in var(--cp-dur-overlay) var(--cp-ease-emphasized) both}
@media (max-width:760px){.modal.show>.modal-box{animation-name:cp-sheet-in;animation-duration:var(--cp-dur-sheet)}}
:is(#notifPanel.show,.cashier-dropdown,.grid-config-panel,[data-motion-menu]:not([hidden]),.cp-dropdown.show,[role=menu]:not([hidden]),[role=listbox]:not([hidden])){animation:cp-menu-in var(--cp-dur-fast) var(--cp-ease-emphasized) both}
:is(.toast,#appToastHost>div,.cp-toast){animation:cp-pop-in var(--cp-dur-base) var(--cp-ease-emphasized) both}
:is(.fc-alert-overlay.show,.cpt-layer){animation:cp-fade-in var(--cp-dur-fast) var(--cp-ease-standard) both}
:is(.fc-alert-overlay.show .fc-alert-box,.cpt-card){animation:cp-pop-in var(--cp-dur-overlay) var(--cp-ease-emphasized) both}
[role=tooltip]{animation:cp-fade-in var(--cp-dur-fast) var(--cp-ease-standard) both}
details[open]>summary~*{animation:cp-fade-in var(--cp-dur-base) var(--cp-ease-standard) both}
.cp-updated{animation:cp-soft-update 900ms var(--cp-ease-standard)}

/* press feedback: CSS only (independent `scale`, composes with any transform) */
:is(button,.btn,[role=button],.menu-item,.chip,.period-btn,.warehouse-tab,.report-tab,.settings-tab,.product-card,#fix2041AdminMobileDock button){
  transition-property:background-color,border-color,color,box-shadow,opacity,scale;
  transition-duration:var(--cp-dur-fast);transition-timing-function:var(--cp-ease-standard);
  -webkit-tap-highlight-color:transparent;
}
:is(button,.btn,[role=button],.chip,.period-btn,.product-card,#fix2041AdminMobileDock button):not(:disabled):active{scale:var(--cp-press-scale);transition-duration:var(--cp-dur-press)}
html.cp-touch-scrolling :is(button,.btn,[role=button],.chip,.card,.product-card):active{scale:1}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
}
body.fix72-no-animations *,body.fix72-no-animations *::before,body.fix72-no-animations *::after{animation-duration:1ms!important;transition-duration:1ms!important}

/* ------------------------------------------------------------------ touch safety */
html{-webkit-tap-highlight-color:transparent}
html.cp-layout-mobile body{touch-action:manipulation;overscroll-behavior-x:none}
/* vertical lists: a swipe that starts on a card is a scroll, never a horizontal drag */
[data-page-container] :is(.card,.fix7-card,.dashboard-block,.kpi-card,.report-card,.finance-card,.employee-card,.branch-card,.history-order-card,.platform-core-row,.esv2-card){touch-action:pan-y pinch-zoom}
:is(.table-wrap,.cp-hscroll,#warehouseTabs,.warehouse-tabs,.report-tabs,.dashboard-periods,.period-row,.category-row,#fix2041AdminMobileDock,[data-scroll-x]),
:is(.table-wrap,.cp-hscroll,#warehouseTabs,.warehouse-tabs,.report-tabs,.dashboard-periods,.period-row,.category-row,#fix2041AdminMobileDock,[data-scroll-x]) *{touch-action:pan-x pan-y pinch-zoom}

/* ------------------------------------------------------------------ performance */
/* heavy backdrop blur on every card costs frames on phones; overlays keep theirs */
html.cp-layout-mobile :is(.card,.glass,.fix7-card,.dashboard-block,.kpi-card,.report-card,.finance-card,.stat-card){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.cp-layout-mobile .modal{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* ------------------------------------------------------------------ mobile header */
html.cp-layout-mobile .topbar{gap:8px}
html.cp-layout-mobile .topbar .page-title{min-width:96px}
html.cp-layout-mobile .topbar .top-actions{gap:6px;display:flex;align-items:center}
html.cp-layout-mobile #platformBranchContext{max-width:40vw;min-width:0}
html.cp-layout-mobile #platformBranchContext select{max-width:100%;min-width:0;text-overflow:ellipsis}
/* connection state: a dot on phones (the word "Online" pushed the header off-screen) */
html.cp-layout-mobile #cpConnection{font-size:0!important;width:10px;height:10px;min-width:10px;min-height:0;padding:0!important;border-radius:50%;border:0;background:#22c55e;flex:0 0 auto}
html.cp-layout-mobile #cpConnection:is([data-state=offline],[data-state=auth]){background:#ef4444}
html.cp-layout-mobile #cpConnection:is([data-state=reconnecting],[data-state=syncing],[data-state=paused]){background:#f59e0b}

/* 3.2.0 HOTFIX: touch-safe scrolling across all card/panel activation surfaces.
   Native vertical panning wins; activation is resolved only after a real tap. */
@media (pointer:coarse){
  [data-page-container] :is(.card,.expense-categories-accordion,.menu-item,.section-tile,.branch-card,.employee-card,.history-order-card,[role="button"]){touch-action:pan-y pinch-zoom}
}

/* ==== /styles/premium-reference-v321.css ==== */
/* CONTROL POS 3.2.1 — Premium Reference UI
   Final visual direction: deep professional surfaces, clear panel separation,
   restrained accent glow, high text contrast, consistent light/dark hierarchy.
   Accent is dynamic: no teal/blue is hardcoded as the product identity. */

:root{
  --cp-radius-xs:9px;
  --cp-radius-sm:12px;
  --cp-radius-md:16px;
  --cp-radius-lg:20px;
  --cp-radius-xl:26px;
  --cp-shadow-1:0 10px 28px rgba(0,0,0,.16);
  --cp-shadow-2:0 18px 54px rgba(0,0,0,.23);
  --cp-shadow-light:0 10px 28px rgba(18,42,66,.09);
  --cp-border-w:1px;
  --cp-content-gap:14px;
  --cp-content-gap-lg:18px;
  --cp-premium-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;
}

body{
  font-family:var(--cp-premium-font);
  --cp-accent:var(--fix10-accent,var(--ios-accent,var(--accent,#18d89b)));
  --cp-bg:#061018;
  --cp-shell:#07151e;
  --cp-surface-1:color-mix(in srgb,var(--cp-accent) 2.6%,#0a1720);
  --cp-surface-2:color-mix(in srgb,var(--cp-accent) 4.4%,#0d1c27);
  --cp-surface-3:color-mix(in srgb,var(--cp-accent) 6.2%,#112330);
  --cp-surface-4:color-mix(in srgb,var(--cp-accent) 8%,#152a38);
  --cp-line:color-mix(in srgb,var(--cp-accent) 23%,rgba(154,190,211,.14));
  --cp-line-strong:color-mix(in srgb,var(--cp-accent) 38%,rgba(174,207,225,.20));
  --cp-text-1:#f5fbff;
  --cp-text-2:#b8c8d4;
  --cp-text-3:#8297a7;
  --cp-glow-soft:color-mix(in srgb,var(--cp-accent) 12%,transparent);
  --cp-glow-focus:color-mix(in srgb,var(--cp-accent) 24%,transparent);
  --bg:var(--cp-bg)!important;
  --panel:var(--cp-surface-1)!important;
  --panel2:var(--cp-surface-2)!important;
  --card:var(--cp-surface-1)!important;
  --line:var(--cp-line)!important;
  --border:var(--cp-line)!important;
  --text:var(--cp-text-1)!important;
  --muted:var(--cp-text-2)!important;
  --orange:var(--cp-accent)!important;
  --orange-soft:color-mix(in srgb,var(--cp-accent) 13%,transparent)!important;
  background:
    radial-gradient(760px 460px at 76% -8%,color-mix(in srgb,var(--cp-accent) 8%,transparent),transparent 72%),
    linear-gradient(160deg,#061018 0%,#07151e 50%,#061018 100%)!important;
  color:var(--cp-text-1)!important;
  letter-spacing:-.005em;
}

body:not(.dark),body.fix72-light-ready{
  --cp-bg:#edf2f7;
  --cp-shell:#f7f9fc;
  --cp-surface-1:#ffffff;
  --cp-surface-2:#f7f9fc;
  --cp-surface-3:#eef3f7;
  --cp-surface-4:#e7eef5;
  --cp-line:color-mix(in srgb,var(--cp-accent) 12%,#cad5e0);
  --cp-line-strong:color-mix(in srgb,var(--cp-accent) 24%,#bcc9d6);
  --cp-text-1:#0d1b29;
  --cp-text-2:#536779;
  --cp-text-3:#7d8e9d;
  --cp-glow-soft:color-mix(in srgb,var(--cp-accent) 7%,transparent);
  --cp-glow-focus:color-mix(in srgb,var(--cp-accent) 14%,transparent);
  --bg:var(--cp-bg)!important;
  --panel:var(--cp-surface-1)!important;
  --panel2:var(--cp-surface-2)!important;
  --card:var(--cp-surface-1)!important;
  --line:var(--cp-line)!important;
  --border:var(--cp-line)!important;
  --text:var(--cp-text-1)!important;
  --muted:var(--cp-text-2)!important;
  background:
    radial-gradient(760px 420px at 80% -10%,color-mix(in srgb,var(--cp-accent) 7%,transparent),transparent 72%),
    linear-gradient(160deg,#f1f5f9 0%,#edf2f7 52%,#f4f7fa 100%)!important;
  color:var(--cp-text-1)!important;
}

/* Disable the old global saturation/brightness filter. It mixed panel tones and
   reduced text clarity. Accent/intensity is now expressed through tokens. */
body.fix72-appearance :is(.btn,.badge,.card,.fix7-card,.menu-item,.stat-card,.kpi-card){filter:none!important}

/* App shell — visually stable and never re-animated between routes. */
.app{background:transparent!important}
.sidebar{
  background:linear-gradient(180deg,color-mix(in srgb,var(--cp-accent) 2%,#07141c),#07131b)!important;
  border-right:1px solid var(--cp-line)!important;
  box-shadow:18px 0 48px rgba(0,0,0,.12)!important;
}
body:not(.dark) .sidebar,body.fix72-light-ready .sidebar{
  background:linear-gradient(180deg,#fbfcfe,#f5f8fb)!important;
  box-shadow:12px 0 34px rgba(18,42,66,.06)!important;
}
.topbar{
  background:color-mix(in srgb,var(--cp-shell) 93%,transparent)!important;
  border-bottom:1px solid var(--cp-line)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  backdrop-filter:blur(16px) saturate(1.08);
}
body:not(.dark) .topbar,body.fix72-light-ready .topbar{
  background:rgba(250,252,254,.93)!important;
  box-shadow:0 8px 24px rgba(18,42,66,.055)!important;
}
.main{background:transparent!important}
.page{padding-bottom:28px}
.page>.section-head:first-child{margin-bottom:16px}
.section-head h2,.page-title h1{letter-spacing:-.025em;font-weight:820}
.section-head p,.muted-line{color:var(--cp-text-2)!important}

/* Reference hierarchy: background → shell → section → panel → inner surface. */
:is(.card,.fix7-card,.panel,.report-card,.report-risk,.expense-chart-card,.recurring-card,.warehouse-item-card,.stock-workspace,.branchv1-card,.esv2-mobile-card,.esv20-security-card,.kpi-card,.stat-card,.cpb-card,.cpb-panel){
  background:linear-gradient(145deg,var(--cp-surface-1),color-mix(in srgb,var(--cp-surface-2) 76%,var(--cp-surface-1)))!important;
  border:var(--cp-border-w) solid var(--cp-line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),var(--cp-shadow-1)!important;
  border-radius:var(--cp-radius-md)!important;
}
body:not(.dark) :is(.card,.fix7-card,.panel,.report-card,.report-risk,.expense-chart-card,.recurring-card,.warehouse-item-card,.stock-workspace,.branchv1-card,.esv2-mobile-card,.esv20-security-card,.kpi-card,.stat-card,.cpb-card,.cpb-panel),
body.fix72-light-ready :is(.card,.fix7-card,.panel,.report-card,.report-risk,.expense-chart-card,.recurring-card,.warehouse-item-card,.stock-workspace,.branchv1-card,.esv2-mobile-card,.esv20-security-card,.kpi-card,.stat-card,.cpb-card,.cpb-panel){
  background:linear-gradient(145deg,#ffffff,#f9fbfd)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--cp-shadow-light)!important;
}

/* Nested controls must be visibly distinct from their parent panel. */
:is(.product-stat,.recipe-row,.recurring-item,.report-row,.report-tree-node,.permission-item,.expense-category-choice,.esv2-info,.fix7-row,.cpb-row,.user-chip){
  background:var(--cp-surface-2)!important;
  border-color:var(--cp-line)!important;
}
body:not(.dark) :is(.product-stat,.recipe-row,.recurring-item,.report-row,.report-tree-node,.permission-item,.expense-category-choice,.esv2-info,.fix7-row,.cpb-row,.user-chip),
body.fix72-light-ready :is(.product-stat,.recipe-row,.recurring-item,.report-row,.report-tree-node,.permission-item,.expense-category-choice,.esv2-info,.fix7-row,.cpb-row,.user-chip){background:#f7f9fc!important}

/* Premium form controls */
:is(input,select,textarea,.report-select,.report-date){
  background:var(--cp-surface-3)!important;
  color:var(--cp-text-1)!important;
  border:1px solid var(--cp-line)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.10)!important;
  border-radius:var(--cp-radius-sm)!important;
  transition:border-color var(--cp-dur-fast) var(--cp-ease-standard),box-shadow var(--cp-dur-fast) var(--cp-ease-standard),background-color var(--cp-dur-fast) var(--cp-ease-standard)!important;
}
:is(input,select,textarea):focus{
  border-color:var(--cp-line-strong)!important;
  box-shadow:0 0 0 3px var(--cp-glow-focus),inset 0 1px 2px rgba(0,0,0,.08)!important;
}
body:not(.dark) :is(input,select,textarea),body.fix72-light-ready :is(input,select,textarea){background:#fff!important;box-shadow:inset 0 1px 2px rgba(18,42,66,.045)!important}

/* Buttons: restrained premium action language. */
.btn,button:not(.period-btn):not(.menu-item){border-radius:var(--cp-radius-sm)}
.btn:not(.secondary):not(.danger){
  background:linear-gradient(180deg,color-mix(in srgb,var(--cp-accent) 90%,#fff 10%),color-mix(in srgb,var(--cp-accent) 83%,#000 17%))!important;
  border-color:color-mix(in srgb,var(--cp-accent) 68%,#fff 10%)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 18px color-mix(in srgb,var(--cp-accent) 16%,transparent)!important;
}
.btn.secondary{background:var(--cp-surface-2)!important;color:var(--cp-text-1)!important;border-color:var(--cp-line)!important;box-shadow:none!important}
.btn:active{transform:scale(.985)!important}

/* Sidebar active state: about 40% softer than the older saturated fill. */
.sidebar .menu-item{
  border:1px solid transparent!important;
  border-radius:13px!important;
  color:var(--cp-text-2)!important;
  min-height:44px;
}
.sidebar .menu-item.active{
  color:var(--cp-text-1)!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--cp-accent) 18%,var(--cp-surface-2)),color-mix(in srgb,var(--cp-accent) 8%,var(--cp-surface-1)))!important;
  border-color:color-mix(in srgb,var(--cp-accent) 34%,var(--cp-line))!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--cp-accent) 72%,#fff 5%),0 8px 22px color-mix(in srgb,var(--cp-accent) 8%,transparent)!important;
}
.sidebar .menu-item.active .ios-nav-icon{color:color-mix(in srgb,var(--cp-accent) 80%,#fff 20%)!important}
body:not(.dark) .sidebar .menu-item.active,body.fix72-light-ready .sidebar .menu-item.active{
  color:#102231!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--cp-accent) 11%,#fff),#fff)!important;
  border-color:color-mix(in srgb,var(--cp-accent) 28%,#c8d4df)!important;
  box-shadow:inset 3px 0 0 var(--cp-accent),0 7px 18px rgba(18,42,66,.06)!important;
}

/* Dashboard KPI cards are closer to the reference: calm surfaces, crisp icon tiles. */
.kpi-card,.stat-card{position:relative;overflow:hidden}
.kpi-card::after,.stat-card::after{
  content:"";position:absolute;inset:auto -25% -70% 35%;height:120%;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--cp-accent) 7%,transparent),transparent 68%);opacity:.65;
}
.kpi-icon,.fc-dashboard-icon,.category-icon-tile,.mini-ui-icon{
  border:1px solid color-mix(in srgb,var(--cp-accent) 28%,var(--cp-line))!important;
  background:color-mix(in srgb,var(--cp-accent) 10%,var(--cp-surface-2))!important;
  color:color-mix(in srgb,var(--cp-accent) 78%,#fff 22%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
body:not(.dark) :is(.kpi-icon,.fc-dashboard-icon,.category-icon-tile,.mini-ui-icon),body.fix72-light-ready :is(.kpi-icon,.fc-dashboard-icon,.category-icon-tile,.mini-ui-icon){color:color-mix(in srgb,var(--cp-accent) 80%,#14304a)!important;background:color-mix(in srgb,var(--cp-accent) 8%,#fff)!important}
.kpi-value,.report-kpi b,.esv2-money{font-variant-numeric:tabular-nums;letter-spacing:-.025em}

/* Tables */
.table-wrap,table{border-color:var(--cp-line)!important}
thead th{
  background:var(--cp-surface-3)!important;color:var(--cp-text-2)!important;
  border-bottom:1px solid var(--cp-line-strong)!important;font-weight:750!important;
}
tbody td{border-bottom-color:var(--cp-line)!important;color:var(--cp-text-1)!important}
tbody tr:hover td{background:color-mix(in srgb,var(--cp-accent) 5%,var(--cp-surface-2))!important}
body:not(.dark) thead th,body.fix72-light-ready thead th{background:#f1f5f8!important}
body:not(.dark) tbody tr:hover td,body.fix72-light-ready tbody tr:hover td{background:color-mix(in srgb,var(--cp-accent) 4%,#f7f9fc)!important}

/* Charts and progress elements use one primary accent plus semantic colors. */
:is(.bar-stick,.compare-fill,.report-progress i,.report-bar-fill){background:linear-gradient(180deg,color-mix(in srgb,var(--cp-accent) 88%,#fff 12%),var(--cp-accent))!important}
.compare-track,.report-bar-track{background:var(--cp-surface-4)!important}

/* Premium modal / bottom-sheet surfaces */
.modal{background:rgba(2,8,13,.58)!important;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.modal-box,.modal-content,.fc-alert-box,.cpt-card{
  background:linear-gradient(150deg,var(--cp-surface-1),var(--cp-surface-2))!important;
  border:1px solid var(--cp-line-strong)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.05)!important;
  border-radius:var(--cp-radius-lg)!important;
}
body:not(.dark) :is(.modal-box,.modal-content,.fc-alert-box,.cpt-card),body.fix72-light-ready :is(.modal-box,.modal-content,.fc-alert-box,.cpt-card){background:#fff!important;box-shadow:0 26px 80px rgba(22,48,74,.20),inset 0 1px 0 rgba(255,255,255,.9)!important}
.modal-head{border-bottom-color:var(--cp-line)!important}
.modal-x,.close{color:var(--cp-text-2)!important}

/* Appearance collection controls */
.fix10-appearance-card{grid-column:span 2}
.fix10-palette{display:grid!important;grid-template-columns:repeat(8,minmax(44px,1fr));gap:10px!important}
.fix10-color-chip{
  width:100%!important;height:42px!important;border-radius:12px!important;border:1px solid var(--cp-line)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--chip) 88%,#fff 12%),color-mix(in srgb,var(--chip) 78%,#000 22%))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 16px color-mix(in srgb,var(--chip) 13%,transparent)!important;
}
.fix10-color-chip.active{outline:2px solid color-mix(in srgb,var(--chip) 72%,#fff);outline-offset:2px;transform:translateY(-1px)}
.fix10-theme-tabs{background:var(--cp-surface-3)!important;border:1px solid var(--cp-line)!important;padding:4px!important;border-radius:13px!important}
.fix10-theme-tabs button{background:transparent!important;color:var(--cp-text-2)!important;border:0!important;box-shadow:none!important}
.fix10-theme-tabs button.active{background:var(--cp-surface-1)!important;color:var(--cp-text-1)!important;box-shadow:0 4px 12px rgba(0,0,0,.12)!important}

/* Employee Account Settings is a real page, not an admin Settings clone. */
.cp-account-settings-shell{max-width:920px;margin:0 auto;display:grid;gap:16px}
.cp-account-settings-hero{
  display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--cp-line);border-radius:var(--cp-radius-lg);
  background:linear-gradient(135deg,var(--cp-surface-1),color-mix(in srgb,var(--cp-accent) 5%,var(--cp-surface-2)));box-shadow:var(--cp-shadow-1)
}
.cp-account-settings-hero .avatar{width:62px;height:62px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:var(--cp-surface-3);border:1px solid var(--cp-line-strong);font-weight:850}
.cp-account-settings-hero img{width:100%;height:100%;object-fit:cover}
.cp-account-settings-hero h2{margin:0 0 4px;font-size:24px;letter-spacing:-.025em}
.cp-account-settings-hero p{margin:0;color:var(--cp-text-2)}
#account-settings .esv20-settings-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#account-settings .esv20-settings-list button{min-height:78px;background:var(--cp-surface-2)!important;border-color:var(--cp-line)!important}
#account-settings #esv20AccountBody{min-width:0}
.cp-session-list{display:grid;gap:8px}.cp-session-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border:1px solid var(--cp-line);border-radius:12px;background:var(--cp-surface-2)}.cp-session-row small{display:block;color:var(--cp-text-2);margin-top:3px}
.cp-account-locale-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp-account-color-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:9px;margin:10px 0 14px}.cp-account-color-grid button{min-width:0;height:42px;border-radius:12px;border:1px solid var(--cp-line);background:var(--chip);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.cp-account-color-grid button.active{outline:2px solid color-mix(in srgb,var(--chip) 70%,#fff);outline-offset:2px}

/* Loading: clean skeleton instead of stale page flash. */
.cp-skeleton{position:relative;overflow:hidden;background:var(--cp-surface-2);border:1px solid var(--cp-line);border-radius:12px;min-height:42px}
.cp-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);animation:cp-premium-skeleton 1.25s ease-in-out infinite}
@keyframes cp-premium-skeleton{to{transform:translateX(100%)}}

/* Motion refinement: no cheap zoom, no shell reflow. */
:root{--cp-dur-page:210ms;--cp-dur-overlay:240ms;--cp-dur-sheet:280ms;--cp-page-shift:8px;--cp-overlay-shift:10px}
@keyframes cp-page-in-premium{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.page.active.cp-page-enter{animation:cp-page-in-premium var(--cp-dur-page) var(--cp-ease-emphasized) both!important}
.sidebar,.topbar,#fix2041AdminMobileDock{transform:none!important;animation:none!important}

/* Responsive: retain the same visual language, not a squeezed desktop. */
@media(max-width:900px){
  .fix10-appearance-card{grid-column:auto}.fix10-palette{grid-template-columns:repeat(6,minmax(40px,1fr))}
  #account-settings .esv20-settings-list{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  :root{--cp-content-gap:10px;--cp-content-gap-lg:12px}
  .page{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .card,.fix7-card,.panel{border-radius:15px!important}
  #account-settings .esv20-settings-list{grid-template-columns:1fr}
  .cp-account-settings-hero{padding:14px;border-radius:17px}.cp-account-settings-hero .avatar{width:52px;height:52px;border-radius:15px}.cp-account-settings-hero h2{font-size:20px}
  .cp-account-locale-grid{grid-template-columns:1fr}.cp-account-color-grid{grid-template-columns:repeat(4,1fr)}
  .fix10-palette{grid-template-columns:repeat(4,minmax(40px,1fr))}
  .modal-box,.modal-content{border-radius:22px 22px 0 0!important}
}

@media(prefers-reduced-motion:reduce){.cp-skeleton::after{animation:none}.page.active.cp-page-enter{animation:none!important}}

/* ==== /styles/theme-glass.css ==== */
/* =====================================================================
   CONTROL POS — "PREMIUM SHISHA" KO'RINISH ANDOZASI (theme-glass)  v2.0 — token arxitekturasi (qorong'i + yorug')
   =====================================================================
   Faqat tashqi ko'rinish: ranglar, fon, shisha panellar, shriftlar,
   radius va soyalar. HTML strukturasi, JS, backend, API o'zgarmaydi.

   ULASH:   <link rel="stylesheet" href="/styles/theme-glass.css">  (oxirgi CSS)
            <body class="... theme-glass">
   O'CHIRISH: shu ikkisini olib tashlash kifoya — dastur avvalgi
   ko'rinishiga qaytadi.

   Qoidalar:
   - Barcha qoidalar @media screen ichida (chek/hisobot chop etish o'zgarmaydi).
   - Blur faqat KATTA panellarda (sidebar, topbar, modal, dock, sheet).
     Ro'yxat qatorlari va kartalar blur'siz shisha (gradient + chegara).
   - backdrop-filter ishlamasa yoki prefers-reduced-transparency yoqilgan
     bo'lsa panellar to'q va shaffofmas: rgba(22,28,52,.92).
   - Shriftlar lokal (fonts/*.woff2): Onest (matn), Unbounded (sarlavha/raqam).
   - Kontrast >= 4.5:1.
   ===================================================================== */

/* ------------------ LOKAL SHRIFTLAR (variable, OFL 1.1) ------------------
   @font-face @media ichiga yozilmaydi; fayllar faqat ishlatilganda yuklanadi.
   Chop etishda ushbu font-family'lar qo'llanmaydi, shuning uchun print'ga
   ta'sir yo'q. */
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/fonts/onest-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/fonts/onest-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/fonts/onest-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/fonts/onest-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:200 900;font-display:swap;
  src:url('/fonts/unbounded-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:200 900;font-display:swap;
  src:url('/fonts/unbounded-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:200 900;font-display:swap;
  src:url('/fonts/unbounded-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:200 900;font-display:swap;
  src:url('/fonts/unbounded-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}

@media screen {

/* =====================================================================
   1) TEMA TOKENLARI — QORONG'I (standart)
   Barcha komponentlar faqat shu --g-* tokenlaridan rang oladi. Yorug' rejim
   (2-bo'lim) faqat tokenlarni almashtiradi — komponent qoidalari bitta.
   Eski qatlamlar (premium-reference, teal-glass) tokenlari ham shu yerdan
   xaritalanadi (!important — ularning body.dark !important'larini yengadi).
   ===================================================================== */
body.theme-glass{
  --g-bg:#070B18;
  --g-bg-image:
    radial-gradient(circle at 10% 5%, rgba(45,212,191,.35), transparent 40%),
    radial-gradient(circle at 95% 45%, rgba(139,92,246,.40), transparent 40%),
    radial-gradient(circle at 15% 95%, rgba(245,158,11,.28), transparent 40%);
  --g-text:#F5F7FC;
  --g-muted:#CDD3E4;
  --g-faint:rgba(205,211,228,.62);
  --g-accent:#7CE7D4;              /* to'ldiruvchi aksent (tugmalar) */
  --g-accent-text:#7CE7D4;         /* sirt ustidagi aksent matn */
  --g-accent-soft:rgba(124,231,212,.16);
  --g-accent-line:rgba(124,231,212,.45);
  --g-on-accent:#07121A;
  --g-warn:#F5B84B; --g-danger:#FF7A85; --g-progress:#B8A6FF;
  --g-warn-soft:rgba(245,184,75,.14); --g-danger-soft:rgba(255,122,133,.13); --g-progress-soft:rgba(184,166,255,.16);
  --g-primary-grad:linear-gradient(180deg,#AFF7E8 0%,#7CE7D4 52%,#5BD8C1 100%);
  --g-primary-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -2px 5px rgba(4,44,37,.30),0 2px 6px rgba(0,0,0,.25),0 12px 28px rgba(124,231,212,.32);
  --g-danger-grad:linear-gradient(180deg,#FFA6AD 0%,#FF7A85 55%,#F2606C 100%);

  --g-panel:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0) 26%),linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.04)),rgba(11,15,32,.44);
  --g-panel-solid:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 26%),#121834;
  --g-panel-border:rgba(255,255,255,.26) rgba(255,255,255,.14) rgba(255,255,255,.09);
  --g-panel-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 -1px 0 rgba(0,0,0,.30),0 2px 6px rgba(0,0,0,.26),0 18px 44px rgba(0,0,0,.36),0 44px 96px rgba(3,6,18,.34);
  --g-card:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,0) 30%),linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.03)),rgba(11,15,32,.44);
  --g-card-border:rgba(255,255,255,.22) rgba(255,255,255,.12) rgba(255,255,255,.08);
  --g-card-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.26),0 1px 3px rgba(0,0,0,.26),0 12px 28px rgba(0,0,0,.30);
  --g-card-hover-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(0,0,0,.26),0 6px 14px rgba(0,0,0,.30),0 22px 48px rgba(0,0,0,.38),0 0 26px rgba(124,231,212,.10);
  --g-control:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 40%),linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  --g-control-border:rgba(255,255,255,.16);
  --g-control-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 4px 12px rgba(0,0,0,.22);
  --g-input:rgba(255,255,255,.06);
  --g-input-border:rgba(255,255,255,.16);
  --g-media:radial-gradient(120% 90% at 50% 12%,rgba(255,255,255,.16),rgba(255,255,255,.02) 60%),rgba(255,255,255,.03);
  --g-sep:rgba(255,255,255,.08);
  --g-thead:rgba(255,255,255,.04);
  --g-hover:rgba(255,255,255,.045);
  --g-overlay:rgba(4,7,16,.62);
  --g-option:#101528;
  --g-fallback:rgba(22,28,52,.92);
  --g-scroll:rgba(160,190,220,.26);
  --g-ambient:.30;
  --g-text-shadow:0 1px 2px rgba(0,0,0,.35);
  --g-lock-bg:#070B18;
  --blur:22px;

  /* Eski tizim tokenlari → andoza */
  --bg:#070B18 !important; --text:#F5F7FC !important; --muted:#CDD3E4 !important;
  --accent:#7CE7D4 !important; --on-accent:#07121A !important;
  --warn:#F5B84B !important; --danger:#FF7A85 !important; --progress:#B8A6FF !important;
  --panel:rgba(13,18,38,.55) !important; --panel2:rgba(20,26,50,.50) !important; --card:rgba(13,18,38,.55) !important;
  --sidebar:transparent !important; --line:rgba(255,255,255,.10) !important; --border:rgba(255,255,255,.16) !important;
  --success:#7CE7D4 !important; --blue:#B8A6FF !important; --purple:#B8A6FF !important;
  --orange:#F5B84B !important; --orange-soft:rgba(245,184,75,.14) !important;
  --shadow:0 12px 32px rgba(0,0,0,.28) !important; --focus-color:#7CE7D4 !important;
  --cp-bg:#070B18 !important; --cp-shell:#0B1022 !important;
  --cp-surface-1:rgba(13,18,38,.55) !important; --cp-surface-2:rgba(20,26,50,.50) !important;
  --cp-surface-3:rgba(26,33,60,.50) !important; --cp-surface-4:rgba(32,40,70,.50) !important;
  --cp-line:rgba(255,255,255,.14) !important; --cp-text-1:#F5F7FC !important; --cp-text-2:#CDD3E4 !important;
  --cp-accent:#7CE7D4 !important; --ios-accent:#7CE7D4 !important; --fix10-accent:#7CE7D4 !important; --accent-color:#7CE7D4 !important;
  --radius-xs:10px !important; --radius-sm:14px !important; --radius-control:14px !important;
  --radius-medium:22px !important; --radius-card:22px !important; --radius-large:28px !important; --glass-blur:22px !important;

  background:var(--g-bg-image),var(--g-bg) !important;
  background-attachment:fixed;
  color:var(--g-text) !important;
  font-family:'Onest','Inter','Segoe UI',system-ui,-apple-system,sans-serif;
}
html:has(> body.theme-glass){background:var(--g-html-bg,#070B18);color-scheme:dark}

/* =====================================================================
   2) TEMA TOKENLARI — YORUG'
   Yoqilishi: html[data-cp-theme="light"] (admin: shell-runtime/fix72,
   POS: index.html skripti + App) yoki POS body.cp-light. Qorong'i
   hardcode ranglar (#070B18, rgba(11,15,32,…)) bu yerda qolmaydi.
   ===================================================================== */
html[data-cp-theme="light"] body.theme-glass,
body.theme-glass.cp-light{
  --g-bg:#EEF3FA;
  --g-bg-image:
    radial-gradient(circle at 10% 5%, rgba(45,212,191,.22), transparent 42%),
    radial-gradient(circle at 95% 45%, rgba(139,92,246,.16), transparent 42%),
    radial-gradient(circle at 15% 95%, rgba(245,158,11,.15), transparent 42%);
  --g-text:#0F1B33;
  --g-muted:#46546F;
  --g-faint:rgba(70,84,111,.72);
  --g-accent:#2CC7B0;
  --g-accent-text:#0A7466;
  --g-accent-soft:rgba(20,184,166,.13);
  --g-accent-line:rgba(13,148,136,.45);
  --g-on-accent:#04201B;
  --g-warn:#9A5A05; --g-danger:#C22E3E; --g-progress:#5641C4;
  --g-warn-soft:rgba(245,158,11,.14); --g-danger-soft:rgba(225,29,72,.10); --g-progress-soft:rgba(109,85,217,.12);
  --g-primary-grad:linear-gradient(180deg,#9FF3E3 0%,#5EDCC6 55%,#34C9B1 100%);
  --g-primary-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 5px rgba(4,60,52,.18),0 1px 2px rgba(15,27,51,.10),0 10px 24px rgba(20,160,140,.28);
  --g-danger-grad:linear-gradient(180deg,#FF9AA3 0%,#F4606E 60%,#E24A58 100%);

  --g-panel:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.62) 34%),rgba(255,255,255,.60);
  --g-panel-solid:linear-gradient(180deg,#FFFFFF,#F7FAFE);
  --g-panel-border:rgba(255,255,255,.95) rgba(15,27,51,.10) rgba(15,27,51,.15);
  --g-panel-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(15,27,51,.05),0 1px 2px rgba(15,27,51,.06),0 14px 34px rgba(30,50,90,.12),0 34px 80px rgba(30,50,90,.10);
  --g-card:linear-gradient(180deg,#FFFFFF,rgba(255,255,255,.78)),rgba(255,255,255,.72);
  --g-card-border:rgba(255,255,255,.95) rgba(15,27,51,.09) rgba(15,27,51,.14);
  --g-card-shadow:inset 0 1px 0 #FFFFFF,0 1px 2px rgba(15,27,51,.07),0 8px 22px rgba(30,50,90,.10);
  --g-card-hover-shadow:inset 0 1px 0 #FFFFFF,0 4px 10px rgba(15,27,51,.08),0 18px 40px rgba(30,50,90,.16),0 0 0 1px rgba(13,148,136,.18);
  --g-control:linear-gradient(180deg,#FFFFFF,#F2F6FC);
  --g-control-border:rgba(15,27,51,.14);
  --g-control-shadow:inset 0 1px 0 #FFFFFF,0 1px 2px rgba(15,27,51,.08),0 4px 10px rgba(30,50,90,.08);
  --g-input:#FFFFFF;
  --g-input-border:rgba(15,27,51,.18);
  --g-media:radial-gradient(120% 90% at 50% 12%,rgba(255,255,255,1),rgba(226,234,246,.9) 70%),#E9EFF8;
  --g-sep:rgba(15,27,51,.09);
  --g-thead:rgba(15,27,51,.035);
  --g-hover:rgba(15,27,51,.04);
  --g-overlay:rgba(15,27,51,.30);
  --g-option:#FFFFFF;
  --g-fallback:rgba(250,252,255,.97);
  --g-scroll:rgba(15,27,51,.22);
  --g-ambient:.14;
  --g-text-shadow:none;
  --g-lock-bg:#EEF3FA;

  --bg:#EEF3FA !important; --text:#0F1B33 !important; --muted:#46546F !important;
  --accent:#0FAE98 !important; --on-accent:#04201B !important;
  --warn:#9A5A05 !important; --danger:#C22E3E !important; --progress:#5641C4 !important;
  --panel:rgba(255,255,255,.82) !important; --panel2:#F2F6FC !important; --card:#FFFFFF !important;
  --sidebar:transparent !important; --line:rgba(15,27,51,.10) !important; --border:rgba(15,27,51,.14) !important;
  --success:#0FAE98 !important; --blue:#5641C4 !important; --purple:#5641C4 !important;
  --orange:#9A5A05 !important; --orange-soft:rgba(245,158,11,.14) !important;
  --shadow:0 12px 32px rgba(30,50,90,.14) !important; --focus-color:#0FAE98 !important;
  --cp-bg:#EEF3FA !important; --cp-shell:#F6F9FD !important;
  --cp-surface-1:rgba(255,255,255,.82) !important; --cp-surface-2:#F4F7FC !important;
  --cp-surface-3:#EDF2F9 !important; --cp-surface-4:#E6ECF5 !important;
  --cp-line:rgba(15,27,51,.12) !important; --cp-text-1:#0F1B33 !important; --cp-text-2:#46546F !important;
  --cp-accent:#0FAE98 !important; --ios-accent:#0FAE98 !important; --fix10-accent:#0FAE98 !important; --accent-color:#0FAE98 !important;
}
html[data-cp-theme="light"]:has(> body.theme-glass),
html:has(> body.theme-glass.cp-light){background:#EEF3FA;color-scheme:light}

/* Tema almashishida oq/qora "flash" yo'q: ranglar qisqa va nazoratli o'tadi */
html.cp-theme-switching body.theme-glass,
html.cp-theme-switching body.theme-glass *{
  transition:background-color .26s ease,color .26s ease,border-color .26s ease,box-shadow .26s ease,fill .26s ease !important;
}

/* =====================================================================
   3) UMUMIY KOMPONENTLAR (admin + POS)
   ===================================================================== */
.theme-glass :is(h1,h2,.page-title h1,#pageTitle,.topbar-brand-row h1,
  .kpi-value,.fc-alert-title,.wh-result-card b,.wh-cost-box b,#whEdCost,
  .warehouse-qty,.esv2-chat-title,.screen-title,.cp-lock-clock){
  font-family:'Unbounded','Onest',system-ui,sans-serif;
  font-weight:600;
  letter-spacing:-.01em;
}
.theme-glass :is(h3,h4){font-family:'Onest',system-ui,sans-serif;font-weight:800}
.theme-glass ::selection{background:var(--g-accent-soft)}
@media (pointer:fine){
  .theme-glass ::-webkit-scrollbar{width:10px;height:10px}
  .theme-glass ::-webkit-scrollbar-thumb{background:var(--g-scroll);border-radius:8px;border:2px solid transparent;background-clip:content-box}
  .theme-glass ::-webkit-scrollbar-track{background:transparent}
}

/* Input / select / textarea */
.theme-glass :is(input,select,textarea){
  background:var(--g-input);
  color:var(--g-text);
  border:1px solid var(--g-input-border);
  border-radius:var(--radius-sm,14px);
}
.theme-glass :is(input,select,textarea)::placeholder{color:var(--g-faint)}
.theme-glass :is(input,select,textarea):focus{
  border-color:var(--g-accent-line) !important;
  box-shadow:0 0 0 3px var(--g-accent-soft),inset 0 1px 2px rgba(0,0,0,.10) !important;
  outline:none;
}
.theme-glass select option{background:var(--g-option);color:var(--g-text)}

/* Asosiy / ikkilamchi / xavfli tugmalar */
.theme-glass .btn,
.theme-glass :is(.wh-menu-add,.wh-count-submit,.wh-ed-save,.fc-alert-ok,
  .wh-disc-actions button.primary,.wh-confirm-actions button.primary,.wh-hub-done),
.theme-glass .warehouse-tab.active,
body.theme-glass :is(.auth-submit-btn,.save-pin-btn,.save-secret-btn,.primary-action,
  .platform-pair-primary,.cp-pos-auth-primary){
  background:var(--g-primary-grad) !important;
  color:var(--g-on-accent) !important;
  border-color:transparent !important;
  box-shadow:var(--g-primary-shadow) !important;
  font-weight:800;
}
.theme-glass .btn{border-radius:var(--radius-sm,14px)}
.theme-glass :is(.btn.secondary,.warehouse-tab,.wh-back-btn,.wh-view-toggle,
  .wh-disc-filters button,.wh-disc-actions button,.wh-confirm-actions button,
  .notif-bell-btn,.esv19-account-btn,.wh-sheet-close,.wh-add-ing),
body.theme-glass :is(.auth-cancel-btn,.cancel-order-btn,.cp-pos-auth-secondary,.cp-pos-auth-ghost,.cp-pos-auth-launcher){
  background:var(--g-control) !important;
  color:var(--g-text) !important;
  border:1px solid var(--g-control-border) !important;
  box-shadow:var(--g-control-shadow) !important;
  text-shadow:none;
}
.theme-glass :is(.btn.danger,.wh-confirm-actions button.danger){
  background:var(--g-danger-grad) !important;
  color:#2A070B !important;
  border-color:transparent !important;
}
.theme-glass .warehouse-tab{border-radius:var(--radius-sm,14px)}
.theme-glass .wh-disc-filters button.active{background:var(--g-accent-soft) !important;border-color:var(--g-accent-line) !important;color:var(--g-accent-text) !important}
.theme-glass{
  --action-add-1:#7CE7D4; --action-add-2:#57D9C2;
  --action-save-1:#7CE7D4; --action-save-2:#4FD4BC;
  --action-edit-1:#B8A6FF; --action-edit-2:#9E86F5;
  --action-delete-1:#FF7A85; --action-delete-2:#F25D6A;
  --action-cancel:var(--g-hover);
}
.theme-glass :is(.action-add,.action-save,.btn.action-add,.btn.action-save){color:var(--g-on-accent) !important}
.theme-glass :is(.action-edit,.btn.action-edit){color:#141031 !important}
.theme-glass :is(.action-delete,.btn.action-delete){color:#2A070B !important}
.theme-glass :is(.action-cancel,.btn.action-cancel){color:var(--g-text) !important;border:1px solid var(--g-control-border) !important}

/* Holat ranglari */
.theme-glass .status-ok{background:var(--g-accent-soft);color:var(--g-accent-text)}
.theme-glass .status-bad{background:var(--g-danger-soft);color:var(--g-danger)}
.theme-glass .status-wait{background:var(--g-progress-soft);color:var(--g-progress)}
.theme-glass .wh-chip.ok{color:var(--g-accent-text);background:var(--g-accent-soft)}
.theme-glass .wh-chip.warn{color:var(--g-warn);background:var(--g-warn-soft)}
.theme-glass .wh-chip.bad{color:var(--g-danger);background:var(--g-danger-soft)}
.theme-glass .wh-chip.muted{color:var(--g-muted);background:var(--g-hover)}
.theme-glass :is(.status-pill,.badge,.wh-chip){box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(0,0,0,.14)}
.theme-glass .difference-pos,.theme-glass .wh-disc-nums .pos{color:var(--g-warn)}
.theme-glass .difference-neg,.theme-glass .wh-disc-nums .neg{color:var(--g-danger)}
.theme-glass .wh-count-result.ok{background:var(--g-accent-soft);color:var(--g-accent-text)}
.theme-glass .wh-count-result.bad{background:var(--g-danger-soft);color:var(--g-danger)}
.theme-glass .wh-count-result.warn{background:var(--g-warn-soft);color:var(--g-warn)}
.theme-glass .wh-money-line{border-color:color-mix(in srgb,var(--g-danger) 35%,transparent);background:var(--g-danger-soft)}
.theme-glass .wh-offline-banner{border-color:color-mix(in srgb,var(--g-danger) 45%,transparent);background:var(--g-danger-soft);color:var(--g-danger)}
.theme-glass .wh-pending-box{border-color:color-mix(in srgb,var(--g-warn) 40%,transparent);background:var(--g-warn-soft)}
.theme-glass .notif-bell-badge,.theme-glass .wh-hub-badge{background:var(--g-danger);color:#fff}
.theme-glass .wh-hub-badge.warn{background:var(--g-warn);color:#fff}
.theme-glass .cp-connection[data-state="online"]{color:var(--g-accent-text)}
.theme-glass .notif-item.unread{background:var(--g-accent-soft)}
.theme-glass .wh-count-bar i{background:var(--g-progress)}
.theme-glass .wh-count-row input.wh-actual.done{border-color:var(--g-accent-line)}
.theme-glass .muted-line{color:var(--g-muted)}

/* =====================================================================
   4) CONTROL POS (admin) — POS'ga sizib o'tmaydi (:not(.pos-app))
   Avval .topbar/.card/.sidebar qoidalari POS'dagi bir xil nomli
   elementlarga ham tushib, to'rtburchak "chiziq" panel va ikki chegara
   hosil qilardi — endi faqat admin ilovasiga tegishli.
   ===================================================================== */
body.theme-glass:not(.pos-app) :is(.sidebar,.topbar,.modal-box,.fc-alert-box,.notif-panel,
  .wh-editor,.wh-sheet,.wh-count-footer,.wh-sec-head,
  #fix2041AdminMobileDock,.esv19-mobile-dock,.cpt-card,.dashboard-drawer){
  background:var(--g-panel) !important;
  border:1px solid;
  border-color:var(--g-panel-border) !important;
  backdrop-filter:blur(var(--blur)) saturate(160%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(160%);
  box-shadow:var(--g-panel-shadow) !important;
  color:var(--g-text);
}
body.theme-glass:not(.pos-app) .sidebar{border-top:0;border-bottom:0;border-left:0}
/* Desktop'da topbar suzuvchi karta — burchaklar yumaloq (kesilgan to'rtburchak emas);
   mobil tartibda to'liq enli bo'lgani uchun faqat pastki chegara */
body.theme-glass:not(.pos-app) .topbar{border-radius:var(--radius-card)}
html.cp-layout-mobile body.theme-glass:not(.pos-app) .topbar{border-top:0;border-left:0;border-right:0;border-radius:0}
body.theme-glass:not(.pos-app) :is(.modal-box,.fc-alert-box){border-radius:var(--radius-large) !important}
body.theme-glass:not(.pos-app) :is(.wh-editor,.wh-sheet){border-radius:var(--radius-large) var(--radius-large) 0 0}
@media(min-width:760px){body.theme-glass:not(.pos-app) .wh-sheet{border-radius:var(--radius-large)}}
body.theme-glass:not(.pos-app) :is(#fix2041AdminMobileDock,.esv19-mobile-dock){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 -1px 0 rgba(0,0,0,.28),0 -4px 14px rgba(0,0,0,.20),0 -18px 44px rgba(3,6,18,.30) !important;
}
body.theme-glass:not(.pos-app) .modal{background:var(--g-overlay)}
body.theme-glass:not(.pos-app) :is(.notif-panel-backdrop,.wh-editor-overlay,.wh-sheet-overlay){background:var(--g-overlay)}

body.theme-glass:not(.pos-app) :is(.card,.wh-hub-card,.product-stat,.recipe-row,.ostatka-actions>div,
  .wh-count-row,.wh-disc-row,.wh-menu-list,.wh-result-card,.wh-pending-box,
  .esv19-widget,.esv19-file-chip,.perm18-group,.fix7-card,.kpi-card,
  .dashboard-block,.wh-card,.wh-cost-box,.stock-workspace){
  background:var(--g-card);
  border:1px solid;
  border-color:var(--g-card-border);
  box-shadow:var(--g-card-shadow);
  color:var(--g-text);
}
body.theme-glass:not(.pos-app) :is(.card,.dashboard-block,.wh-hub-card){border-radius:var(--radius-card)}
body.theme-glass:not(.pos-app) :is(.recipe-row,.wh-count-row,.wh-disc-row,.product-stat){border-radius:var(--radius-sm)}
body.theme-glass:not(.pos-app) :is(.warehouse-thumb,.wh-menu-thumb,.product-card-image){background:var(--g-hover);border-color:var(--g-sep)}
body.theme-glass:not(.pos-app) .wh-menu-row{border-bottom:1px solid var(--g-sep)}
body.theme-glass:not(.pos-app) .wh-menu-row:active{background:var(--g-hover)}
body.theme-glass:not(.pos-app) .menu-item{color:var(--g-text);border-radius:var(--radius-sm)}
body.theme-glass:not(.pos-app) .menu-item:hover{background:var(--g-hover)}
body.theme-glass:not(.pos-app) .menu-item.active{background:var(--g-accent-soft);color:var(--g-accent-text);box-shadow:inset 0 0 0 1px var(--g-accent-line)}
body.theme-glass:not(.pos-app) .cp-nav-indicator{background:var(--g-accent-soft);box-shadow:inset 0 0 0 1px var(--g-accent-line)}
body.theme-glass:not(.pos-app) .table-wrap table{border-color:var(--g-sep)}
body.theme-glass:not(.pos-app) .table-wrap th{color:var(--g-muted);border-bottom:1px solid var(--g-sep);background:var(--g-thead)}
body.theme-glass:not(.pos-app) .table-wrap td{border-bottom:1px solid var(--g-sep)}
body.theme-glass:not(.pos-app) .table-wrap tr:hover td,body.theme-glass:not(.pos-app) tbody tr:hover{background:var(--g-hover)}
body.theme-glass:not(.pos-app) .category-row{border-color:var(--g-sep)}
body.theme-glass:not(.pos-app) .ios-brand-mark{background:var(--g-primary-grad);color:var(--g-on-accent);border-radius:14px}
body.theme-glass:not(.pos-app) .wh-ed-photo .ph{border-color:var(--g-control-border);background:var(--g-hover)}
body.theme-glass:not(.pos-app) .wh-switch input:checked+i{background:var(--g-accent)}
body.theme-glass:not(.pos-app) .wh-switch input:checked+i::after{background:var(--g-on-accent)}
body.theme-glass:not(.pos-app) .wh-recipe-head{color:var(--g-muted)}
body.theme-glass:not(.pos-app) :is(.wh-ing-row){border-top:1px solid var(--g-sep)}
body.theme-glass:not(.pos-app) :is(.wh-ing-pick,.wh-reason-opt){border-bottom:1px solid var(--g-sep)}
body.theme-glass:not(.pos-app) .wh-hub-icon{background:color-mix(in srgb,var(--wh-accent,#7CE7D4) 16%,transparent)}
body.theme-glass:not(.pos-app) .wh-search{background:var(--g-input);border-color:var(--g-input-border)}
body.theme-glass:not(.pos-app) #whSectionHost{background:var(--g-bg-image),var(--g-bg)}

/* Interaktiv ko'tarilish / botish (faqat kursorli qurilmalarda ko'tarilish) */
body.theme-glass:not(.pos-app) :is(.btn,.warehouse-tab,.wh-hub-card,.warehouse-item-card,.wh-menu-row,.wh-menu-card,.receipt-history-card,.wh-back-btn,.wh-menu-add,.notif-bell-btn){
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease;
}
@media (hover:hover) and (pointer:fine){
  body.theme-glass:not(.pos-app) :is(.wh-hub-card,.warehouse-item-card,.wh-menu-card,.receipt-history-card):hover{
    transform:translateY(-2px);box-shadow:var(--g-card-hover-shadow);
  }
  body.theme-glass:not(.pos-app) :is(.btn,.warehouse-tab,.wh-menu-add,.wh-back-btn):hover{transform:translateY(-1px);filter:brightness(1.05)}
}
body.theme-glass:not(.pos-app) :is(.btn,.warehouse-tab,.wh-hub-card,.wh-menu-add):active{transform:translateY(1px) scale(.995);filter:brightness(.97)}

/* =====================================================================
   5) POS ILOVASI — bitta komponentlar, ikki tema (tokenlar orqali)
   ===================================================================== */
body.theme-glass.pos-app,
body.theme-glass.pos-app #root{background:var(--g-bg-image),var(--g-bg) !important;color:var(--g-text) !important}
body.theme-glass.pos-app .app-shell,
body.theme-glass.pos-app .platform-pair-shell{background:transparent !important;color:var(--g-text)}
body.theme-glass.pos-app .ambient{opacity:var(--g-ambient)}
body.theme-glass.pos-app .a1{background:#2DD4BF}
body.theme-glass.pos-app .a2{background:#8B5CF6}
body.theme-glass.pos-app .a3{background:#F59E0B}

/* 5.1 Katta shisha panellar (blur faqat shularda) */
body.theme-glass.pos-app :is(.glass,.catalog,.cart,.sections-modal,.history-window,.product-picker,
  .cashier-dropdown,.branch-dropdown,.grid-config-pop,.cp-lock-card,.platform-pair-card,.toast){
  background:var(--g-panel) !important;
  border:1px solid !important;
  border-color:var(--g-panel-border) !important;
  box-shadow:var(--g-panel-shadow) !important;
  color:var(--g-text) !important;
}
body.theme-glass.pos-app :is(.cart,.catalog,.sections-modal,.history-window,.product-picker,.cp-lock-card,.platform-pair-card,.cashier-dropdown,.branch-dropdown,.grid-config-pop){
  backdrop-filter:blur(var(--blur,22px)) saturate(160%) !important;
  -webkit-backdrop-filter:blur(var(--blur,22px)) saturate(160%) !important;
}
/* Modal / dropdown / popover — o'qilishi uchun zich (deyarli shaffofmas) shisha */
body.theme-glass.pos-app :is(.secure-auth-modal,.sections-modal,.history-window,.product-picker,.cashier-dropdown,.branch-dropdown,.grid-config-pop,.toast){
  background:var(--g-panel-solid) !important;
  border:1px solid !important;border-color:var(--g-panel-border) !important;
  box-shadow:var(--g-panel-shadow) !important;color:var(--g-text) !important;
}

/* 5.2 Kartalar (blur'siz) */
body.theme-glass.pos-app :is(.info-card,.cashier-card,.sales-home-card,.section-switch-panel,.multi-order-panel,
  .current-order-frame,.cart-item,.section-tile,.settings-card,.control-architecture-note,.control-management-head,
  .history-order-card,.history-top-card,.history-list-panel,.history-detail-panel,.linked-table,.integration-hero,
  .master-empty-state,.pos-master-empty,.access-lock-screen,.security-inner-lock,.stat-card,.picker-product-card,.zoom-panel,
  .integration-setting-card,.remote-branch-card,.branch-source-card,.pos-binding-status,.pos-device-connection-card,
  .employee-linked-card,.warehouse-card,.audit-summary-box,.printer-mode-card,.rd-paper-stage,.date-time-card,.editor-item){
  background:var(--g-card) !important;
  border:1px solid !important;
  border-color:var(--g-card-border) !important;
  box-shadow:var(--g-card-shadow) !important;
  color:var(--g-text) !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
/* POS topbar — konteyner, panel EMAS (avval to'rtburchak shisha chiziq bo'lib ko'rinardi) */
body.theme-glass.pos-app .topbar{background:transparent !important;border:0 !important;box-shadow:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}

/* 5.3 Matn ierarxiyasi */
body.theme-glass.pos-app :is(.screen-title,.cart-title h2,.settings-pane-title h3,.linked-section-head h2,.info-card strong,
  .cashier-card strong,.history-title-wrap h2,.order-id-line h3,.product-card h3,.section-meta strong,.setting-row strong,
  .settings-subhead strong,.pin-setting-copy strong,.totals .grand,.cart-name strong,.settings-head h2,.control-management-brand strong,
  .rd-field-head strong,.printer-mode-copy strong,h1,h2,h3){color:var(--g-text) !important;text-shadow:var(--g-text-shadow)}
body.theme-glass.pos-app :is(small,.screen-sub,.setting-row span,.settings-pane-title p,.settings-subhead span,.info-card small,
  .cashier-card small,.cashier-card span,.section-meta span,.cart-name small,.totals > div:not(.grand),.pin-setting-copy span,
  .settings-head p,.rd-field-head span,.printer-mode-copy span,.printer-mode-copy small,.linked-section-head p,.history-order-meta){color:var(--g-muted) !important;text-shadow:none}

/* 5.4 Boshqaruv elementlari (chip, tugma, keypad, segment) */
body.theme-glass.pos-app :is(.chip,.zoom-panel button,.grid-config-wrap > button,.settings-nav button,.mini-action,.setting-action-btn,
  .settings-reset-btn,.order-basket-tab,.new-order-basket,.cart-editor-toggle,.receipt-action-btn,.segmented button,
  .system-keypad button,.qty button,.basket-close,.history-close,.sections-head button,.cashier-sync-retry,.editor-add-product,
  .pin-remove-btn,.search-row,.catalog-head .search,.cart-scale-buttons button){
  background:var(--g-control) !important;
  border:1px solid var(--g-control-border) !important;
  box-shadow:var(--g-control-shadow) !important;
  color:var(--g-text) !important;
}
body.theme-glass.pos-app :is(.chip-label,.drag-handle){color:inherit}
body.theme-glass.pos-app .drag-handle{border-right-color:var(--g-sep)}
body.theme-glass.pos-app :is(.chip.selected,.settings-nav button.active,.segmented button.active,.order-basket-tab.active){
  background:var(--g-primary-grad) !important;
  border-color:transparent !important;
  color:var(--g-on-accent) !important;
  box-shadow:var(--g-primary-shadow) !important;
}
body.theme-glass.pos-app :is(.chip.selected,.settings-nav button.active) :is(.chip-label,.drag-handle,svg,span){color:var(--g-on-accent) !important}
body.theme-glass.pos-app .chip.selected .drag-handle{border-right-color:rgba(7,18,26,.18);opacity:.7}
body.theme-glass.pos-app .setting-switch{background:var(--g-hover) !important;border:1px solid var(--g-control-border) !important}
body.theme-glass.pos-app .setting-switch.on{background:var(--g-accent) !important;border-color:transparent !important}
body.theme-glass.pos-app .setting-switch span{background:#fff !important;box-shadow:0 1px 3px rgba(0,0,0,.25)}

/* 5.5 Taom kartasi */
body.theme-glass.pos-app .product-card{
  background:var(--g-card) !important;
  border:1px solid !important;border-color:var(--g-card-border) !important;
  box-shadow:var(--g-card-shadow) !important;
}
body.theme-glass.pos-app .product-media{background:var(--g-media) !important;box-shadow:inset 0 0 0 1px var(--g-sep),inset 0 -16px 26px rgba(0,0,0,.10)}
body.theme-glass.pos-app .food-emoji{filter:drop-shadow(0 12px 14px rgba(0,0,0,.30)) drop-shadow(0 2px 4px rgba(0,0,0,.25)) !important}
body.theme-glass.pos-app .product-price{color:var(--g-accent-text) !important;font-variant-numeric:tabular-nums;text-shadow:var(--g-text-shadow)}
@media (hover:hover) and (pointer:fine){
  body.theme-glass.pos-app .product-card:hover{box-shadow:var(--g-card-hover-shadow) !important;transform:translateY(-2px)}
}
body.theme-glass.pos-app :is(.product-card,.chip,.pay,.pay-main,.order-basket-tab):active{transform:translateY(1px) scale(.995)}

/* 5.6 To'lov paneli — asosiy CTA ikkala temada yashil; usullar temaga moslashadi */
body.theme-glass.pos-app .pay{border:1px solid var(--g-control-border) !important;color:var(--g-text) !important;box-shadow:var(--g-control-shadow)}
body.theme-glass.pos-app .pay.green{background:linear-gradient(135deg,rgba(16,185,129,.22),rgba(16,185,129,.08)),var(--g-control) !important}
body.theme-glass.pos-app .pay.blue{background:linear-gradient(135deg,rgba(59,130,246,.22),rgba(59,130,246,.08)),var(--g-control) !important}
body.theme-glass.pos-app .pay.purple{background:linear-gradient(135deg,rgba(168,85,247,.22),rgba(168,85,247,.08)),var(--g-control) !important}
body.theme-glass.pos-app .pay.gray{background:linear-gradient(135deg,rgba(148,163,184,.20),rgba(148,163,184,.06)),var(--g-control) !important}
body.theme-glass.pos-app .pay.picked{
  color:#fff !important;border-color:transparent !important;
  box-shadow:0 0 0 2px var(--g-accent-line),inset 0 1px 0 rgba(255,255,255,.22),0 8px 20px rgba(0,0,0,.20) !important;
}
body.theme-glass.pos-app .pay.green.picked{background:linear-gradient(135deg,#0E9F8F,#22C55E) !important}
body.theme-glass.pos-app .pay.blue.picked{background:linear-gradient(135deg,#2563EB,#3B82F6) !important}
body.theme-glass.pos-app .pay.purple.picked{background:linear-gradient(135deg,#7C3AED,#A855F7) !important}
body.theme-glass.pos-app .pay.gray.picked{background:linear-gradient(135deg,#475569,#64748B) !important}
body.theme-glass.pos-app .pay-main{
  color:#F4FFFA !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.40),inset 0 -3px 7px rgba(0,0,0,.22),0 2px 6px rgba(0,0,0,.18),0 14px 32px rgba(16,185,129,.30) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}
body.theme-glass.pos-app .pay-main :is(span,strong,svg){color:inherit !important}
body.theme-glass.pos-app .totals{border-top-color:var(--g-sep) !important}
body.theme-glass.pos-app .linked-badge{background:var(--g-accent-soft) !important;color:var(--g-accent-text) !important;border-color:var(--g-accent-line) !important}
body.theme-glass.pos-app :is(.control-master-stats span,.control-master-stats small,.control-architecture-note p,.zoom-readout,.integration-note,.master-empty-state p,.pos-master-empty p){color:var(--g-muted) !important}
body.theme-glass.pos-app :is(.control-master-stats b,.control-master-stats strong,.zoom-readout b){color:var(--g-text) !important}
body.theme-glass.pos-app .totals .grand strong{color:var(--g-text) !important}

/* 5.7 Overlay fonlari */
body.theme-glass.pos-app :is(.sections-overlay,.history-overlay,.product-picker-layer,.secure-auth-overlay,.cp-cart-backdrop){background:var(--g-overlay) !important}

/* Sozlama qatorlari kartaning o'zi ustida — alohida rangli "band" emas */
body.theme-glass.pos-app .setting-row{background:transparent !important;border-color:var(--g-sep) !important}

/* 5.8 Kiritish maydonlari */
body.theme-glass.pos-app :is(input,select,textarea,.setting-input){
  background:var(--g-input) !important;color:var(--g-text) !important;border-color:var(--g-input-border) !important;
}

/* =====================================================================
   6) ZAXIRA — backdrop-filter yo'q yoki shaffoflik kamaytirilgan
   ===================================================================== */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  body.theme-glass:not(.pos-app) :is(.sidebar,.topbar,.modal-box,.fc-alert-box,.notif-panel,
    .wh-editor,.wh-sheet,.wh-count-footer,.wh-sec-head,
    #fix2041AdminMobileDock,.esv19-mobile-dock,.cpt-card,.dashboard-drawer),
  body.theme-glass.pos-app :is(.glass,.cart,.catalog,.sections-modal,.history-window,.product-picker,.cp-lock-card,.platform-pair-card){
    background:var(--g-fallback) !important;
  }
}
@media (prefers-reduced-transparency: reduce){
  body.theme-glass:not(.pos-app) :is(.sidebar,.topbar,.modal-box,.fc-alert-box,.notif-panel,
    .wh-editor,.wh-sheet,.wh-count-footer,.wh-sec-head,
    #fix2041AdminMobileDock,.esv19-mobile-dock,.cpt-card,.dashboard-drawer,
    .card,.wh-hub-card,.dashboard-block),
  body.theme-glass.pos-app :is(.glass,.cart,.catalog,.sections-modal,.history-window,.product-picker,.cp-lock-card,.platform-pair-card){
    background:var(--g-fallback) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  body.theme-glass{background:var(--g-bg) !important;background-attachment:scroll !important}
}
@media (max-width:700px){
  body.theme-glass{background-attachment:scroll !important}
}
@media (prefers-reduced-motion:reduce){
  body.theme-glass *{transition-duration:.01ms !important}
  body.theme-glass :is(.btn,.warehouse-tab,.wh-hub-card,.warehouse-item-card,.wh-menu-row,.wh-menu-card,.product-card,.chip,.pay,.pay-main,.order-basket-tab):is(:hover,:active){transform:none}
}

} /* @media screen tugadi */

/* ==== /styles/v351-unified.css ==== */
/* =====================================================================
   CONTROL POS 3.5.1 — UNIFIED PRODUCTION STABILITY / ANALYTICS / PREMIUM UX
   Premium design system only: glass panels, subtle borders, controlled glow,
   transform/opacity motion. No neon, no random card sizes.
   Sections: 1) locale save state  2) analytics chart + tooltip  3) Tahlil page
             4) dashboard premium edit mode + toolbar  5) mobile
   ===================================================================== */

/* ---------------- 1) Til va hudud — background save state ---------------- */
.locale-region-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.locale-region-save-state{font-size:12.5px;color:var(--g-muted,#94a3b8);margin-top:10px;display:inline-flex;align-items:center;gap:6px}
.locale-region-save-state[data-state="saving"]::before,.locale-region-save-state[data-state="loading"]::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:cpSpin .8s linear infinite}
.locale-region-save-state[data-state="saved"]{color:#34d399}
.locale-region-save-state[data-state="error"]{color:var(--g-danger,#f87171)}
@keyframes cpSpin{to{transform:rotate(360deg)}}

/* ---------------- 2) analytics chart + premium tooltip ---------------- */
.cpa-tooltip{position:absolute;z-index:6;min-width:170px;max-width:260px;padding:10px 12px;border-radius:14px;pointer-events:none;
  background:var(--g-card,rgba(17,24,39,.92));border:1px solid var(--g-card-border,rgba(255,255,255,.12));box-shadow:0 14px 34px rgba(0,0,0,.35);backdrop-filter:blur(var(--blur,14px));color:var(--g-text,#e5e7eb);font-size:12.5px;line-height:1.35;
  transition:opacity .16s ease,transform .16s ease;transform:translateY(0)}
.cpa-tooltip[hidden]{display:none}
.cpa-tip-title{font-weight:700;margin-bottom:6px;font-size:13px}
.cpa-tip-row{display:flex;align-items:center;gap:8px;margin:3px 0}
.cpa-tip-row i{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.cpa-tip-row i.dash{width:14px;height:0;border-top:2px dashed rgba(226,232,240,.8);border-radius:0}
.cpa-tip-row span{flex:1 1 auto;color:var(--g-muted,#94a3b8)}
.cpa-tip-row b{font-variant-numeric:tabular-nums}
.cpa-tip-delta{margin-top:6px;padding-top:6px;border-top:1px solid var(--g-sep,rgba(255,255,255,.1));font-weight:700;font-variant-numeric:tabular-nums}
.cpa-tip-delta.up{color:#34d399}.cpa-tip-delta.down{color:#f87171}
.cpa-tip-delta em{font-style:normal;font-weight:600;opacity:.85}
#salesChart{cursor:pointer}

/* ---------------- 3) Tahlil (analytics) page ---------------- */
.an-shell{display:flex;flex-direction:column;gap:14px}
.an-toolbar{gap:10px}
.an-dates{display:flex;gap:7px}
.an-filter-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.an-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.an-field>span{font-size:11.5px;color:var(--g-muted,#94a3b8);letter-spacing:.2px}
.an-field>select{width:100%;min-width:0}
.an-caption{margin-top:10px}
.an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.an-kpi{padding:14px 15px;min-height:96px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.an-kpi .kpi-label{font-size:12px;color:var(--g-muted,#94a3b8)}
.an-kpi .kpi-value{font-size:clamp(15px,1.4vw + 8px,20px);font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.2}
.kpi-delta{font-size:11.5px;color:var(--g-muted,#94a3b8);min-height:14px;font-variant-numeric:tabular-nums}
.kpi-delta.good{color:#34d399}.kpi-delta.bad{color:#f87171}.kpi-delta.flat{opacity:.7}
.an-chart-card{position:relative}
.an-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.an-legend{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--g-muted,#94a3b8)}
.an-legend span,.an-legend-toggle{display:inline-flex;align-items:center;gap:6px}
.an-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.an-legend i.dash{width:16px;height:0;border-top:2px dashed rgba(226,232,240,.8);border-radius:0}
.an-legend-toggle{background:var(--g-control,rgba(255,255,255,.06));border:1px solid var(--g-control-border,rgba(255,255,255,.12));color:inherit;border-radius:999px;padding:5px 11px;cursor:pointer;font:inherit;font-size:12px;transition:background .16s ease,opacity .16s ease}
.an-legend-toggle:hover{background:var(--g-hover,rgba(255,255,255,.1))}
.an-legend-toggle.off{opacity:.45;text-decoration:line-through}
.an-chart-area{position:relative;height:340px;min-height:220px;margin-top:8px;transition:opacity .2s ease}
.an-chart-area.is-refreshing{opacity:.85}
.an-chart-area canvas{width:100%;height:100%;display:block;touch-action:pan-y}
.an-state{margin-top:10px;padding:10px 12px;border-radius:12px;font-size:12.5px;background:var(--g-control,rgba(255,255,255,.06));border:1px solid var(--g-control-border,rgba(255,255,255,.12))}
.an-state[data-kind="error"]{color:#fca5a5;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10)}
.an-state[data-kind="loading"]{color:var(--g-muted,#94a3b8)}
.an-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--g-sep,rgba(255,255,255,.08))}
.an-row:last-child{border-bottom:0}
.an-row span{color:var(--g-muted,#94a3b8)}
.an-row b{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:1250px){.an-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.an-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.an-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.an-kpi{padding:12px 13px;min-height:88px}.an-kpi .kpi-value{font-size:clamp(14px,4.4vw,18px)}.an-chart-area{height:280px}}

/* ---------------- 4) dashboard premium edit mode ---------------- */
#dashboardGrid.layout-edit{position:relative;
  background-image:linear-gradient(to right,rgba(148,163,184,.10) 1px,transparent 1px);
  background-size:calc((100% + 15px) / 12) 100%;border-radius:18px}
#dashboardGrid.layout-edit>.dashboard-block{transition:transform .28s cubic-bezier(.2,.9,.3,1.15),box-shadow .2s ease,opacity .2s ease;cursor:grab;user-select:none}
#dashboardGrid.layout-edit>.dashboard-block>.card{outline:1px solid rgba(59,130,246,.35);box-shadow:0 0 0 1px rgba(59,130,246,.12),0 10px 26px rgba(0,0,0,.25);transform:translateZ(0)}
#dashboardGrid.layout-edit>.dashboard-block::after{content:"";position:absolute;left:50%;top:7px;width:34px;height:4px;border-radius:4px;background:rgba(226,232,240,.45);transform:translateX(-50%);pointer-events:none}
#dashboardGrid.layout-edit>.dashboard-block.dash-dragging{transform:scale(1.03);z-index:5;cursor:grabbing;opacity:.92}
#dashboardGrid.layout-edit>.dashboard-block.dash-dragging>.card{box-shadow:0 0 0 2px rgba(59,130,246,.55),0 22px 48px rgba(0,0,0,.45)}
#dashboardGrid.layout-edit>.dashboard-block.dash-resizing>.card{outline-color:rgba(59,130,246,.7)}
#dashboardGrid.layout-edit .dash-resize-handle{opacity:1;width:26px;height:26px;border-radius:9px;background:rgba(59,130,246,.85);color:#fff;border:0;box-shadow:0 4px 12px rgba(0,0,0,.3);font-size:0;display:grid;place-items:center;cursor:nwse-resize}
#dashboardGrid.layout-edit .dash-resize-handle::before{content:"";width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;border-radius:1px;transform:translate(-1px,-1px)}
body.cp-dash-editing .main::before{content:"";position:fixed;inset:0;background:rgba(2,6,23,.28);pointer-events:none;z-index:1;animation:cpFade .2s ease}
body.cp-dash-editing #dashboardGrid{position:relative;z-index:2}
@keyframes cpFade{from{opacity:0}to{opacity:1}}
.cp-dash-toolbar{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.4);animation:cpRise .26s cubic-bezier(.2,.9,.3,1.15)}
.cp-dash-toolbar[hidden]{display:none}
@keyframes cpRise{from{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.cp-dash-btn{border:1px solid var(--g-control-border,rgba(255,255,255,.14));background:var(--g-control,rgba(255,255,255,.07));color:inherit;border-radius:11px;padding:8px 13px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .16s ease,transform .12s ease;min-height:40px}
.cp-dash-btn:hover{background:var(--g-hover,rgba(255,255,255,.12))}
.cp-dash-btn:active{transform:translateY(1px)}
.cp-dash-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent;color:#fff}
.cp-dash-save{font-size:12px;color:var(--g-muted,#94a3b8);padding:0 6px;min-width:0}
.cp-dash-save[data-state="saved"]{color:#34d399}.cp-dash-save[data-state="error"]{color:#f87171}
@media (prefers-reduced-motion:reduce){#dashboardGrid.layout-edit>.dashboard-block,.cp-dash-toolbar,body.cp-dash-editing .main::before{animation:none;transition:none}}

/* ---------------- 5) mobile ---------------- */
@media (max-width:750px){
  #dashboardGrid.layout-edit{background-size:calc((100% + 10px) / 4) 100%}
  .cp-dash-toolbar{width:calc(100% - 24px);justify-content:space-between;bottom:calc(74px + env(safe-area-inset-bottom,0))}
  .cp-dash-btn span{display:none}
  .cp-dash-btn.primary span{display:inline}
  .an-legend{width:100%}
  .cpa-tooltip{max-width:calc(100% - 8px)}
}

/* 3.5.2 — drop target / snap feedback */
#dashboardGrid.layout-edit>.dashboard-block.dash-drop-target>.card{outline:2px dashed rgba(59,130,246,.75);outline-offset:-2px;background-color:rgba(59,130,246,.06)}
#dashboardGrid.layout-edit>.dashboard-block.dash-dragging>.card{outline:2px dashed rgba(226,232,240,.55)}
#dashboardGrid.layout-edit>.dashboard-block.dash-snapped>.card{animation:cpSnap .3s cubic-bezier(.2,.9,.3,1.3)}
@keyframes cpSnap{0%{transform:scale(1.015)}100%{transform:scale(1)}}

/* 3.5.2 — RTL: brand wordmark stays Latin and unclipped */
html[dir="rtl"] .ios-brand-copy h2,html[dir="rtl"] #topbarBrandName{direction:ltr;unicode-bidi:isolate;text-align:right}

/* ---------------- 3.6.0 Super Admin READ-ONLY company view ---------------- */
html.cp-inspect body::after{content:"";position:fixed;inset:0;border:2px solid rgba(251,191,36,.55);border-radius:0;pointer-events:none;z-index:2147483000;box-shadow:inset 0 0 0 1px rgba(251,191,36,.12)}
.cp-inspect-pill{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0));transform:translateX(-50%);z-index:2147483001;display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:7px 7px 7px 13px;border-radius:999px;
  background:rgba(24,20,8,.86);border:1px solid rgba(251,191,36,.45);box-shadow:0 14px 34px rgba(0,0,0,.45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fde68a;font-size:13px;line-height:1.2;animation:cpRiseInspect .28s cubic-bezier(.2,.9,.3,1.15)}
.cp-inspect-pill svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cp-inspect-text{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}
.cp-inspect-who{font-weight:700;color:#fef3c7}
.cp-inspect-sep{opacity:.55}
.cp-inspect-ro{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}
.cp-inspect-co{color:rgba(254,243,199,.75);overflow:hidden;text-overflow:ellipsis;min-width:0}
.cp-inspect-co:not(:empty)::before{content:"·";margin-inline-end:6px;opacity:.55}
.cp-inspect-exit{flex:0 0 auto;border:0;border-radius:999px;padding:7px 14px;font:inherit;font-weight:700;cursor:pointer;background:#fbbf24;color:#1c1400;min-height:32px;transition:transform .12s ease,filter .16s ease}
.cp-inspect-exit:hover{filter:brightness(1.06)}
.cp-inspect-exit:active{transform:translateY(1px)}
html.cp-inspect [data-cp-ro="1"]{opacity:.42!important;cursor:not-allowed!important;filter:saturate(.4)}
html.cp-inspect .cp-dash-toolbar{display:none!important}
@keyframes cpRiseInspect{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
@media (max-width:750px){.cp-inspect-pill{bottom:calc(76px + env(safe-area-inset-bottom,0));font-size:12.5px;gap:8px}.cp-inspect-co{display:none}}
@media (prefers-reduced-motion:reduce){.cp-inspect-pill{animation:none}}
html[dir="rtl"] .cp-inspect-pill{padding:7px 13px 7px 7px}
