
:root{
  --bg:#eef2f4;--panel:#fff;--ink:#111827;--muted:#667085;--line:#d8dee7;
  --brand:#0b4f3a;--brand2:#0f6b4f;--danger:#b42318;--warn:#b54708;
  --shadow:0 10px 32px rgba(15,23,42,.12);--radius:18px;--navH:76px;--stickyTop:88px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}.hidden{display:none!important}
a{color:inherit}.app-shell{min-height:100dvh}.topbar{position:sticky;top:0;z-index:10000;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(15,23,42,.08)}
.top-inner{height:var(--navH);max-width:1480px;margin:0 auto;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;min-width:240px}.logo{width:48px;height:48px;border-radius:14px;background:var(--brand);color:white;display:grid;place-items:center;font-weight:900;box-shadow:var(--shadow)}
.sub{color:var(--muted);font-size:.9rem}.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.page{max-width:1480px;margin:0 auto;padding:22px 18px 44px}
.btn{border:0;border-radius:13px;padding:11px 16px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand2)}.btn-secondary{background:#edf1f5;color:#111827}.btn-danger{background:#fee4e2;color:var(--danger)}
.btn-ghost{background:transparent;border:1px solid var(--line)}.btn:disabled{opacity:.55;cursor:not-allowed}
.input,textarea,select{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 14px;background:#fff;outline:none}.input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,79,58,.12)}
.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:18px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.login-wrap{max-width:980px;margin:70px auto}.hero{padding:28px}.hero h1{font-size:clamp(2.2rem,6vw,4.2rem);line-height:1;margin:10px 0}.login-card{max-width:560px;margin:0 auto;padding:28px}.field{margin:12px 0}.field label{display:block;font-weight:800;margin-bottom:7px}
.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.sticky-tools{position:sticky;top:calc(var(--navH) + 10px);z-index:9000;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-bottom:24px}
.search-row{display:grid;grid-template-columns:minmax(0,1fr) 90px auto auto;gap:10px;align-items:center;margin-top:10px}
.cat-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;max-height:none;overflow:visible}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:900;cursor:pointer}.chip.active{background:var(--brand);color:#fff}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;padding-top:4px}.product-card{padding:14px;display:flex;flex-direction:column;gap:10px;min-height:520px}.product-img-wrap{height:205px;border:1px solid #e9edf3;border-radius:16px;background:#fff;display:grid;place-items:center;overflow:hidden}.product-img{max-width:100%;max-height:100%;object-fit:contain;padding:8px}.product-title{font-weight:900;line-height:1.15;min-height:54px}.product-meta{background:#f8fafc;border:1px solid #eef2f6;border-radius:13px;padding:10px;display:grid;gap:4px;font-size:.86rem}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.price-cell{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.price-cell span{font-size:.78rem;color:var(--muted);display:block;font-weight:800}.price-cell b{font-size:1.02rem}.qty-row{display:grid;grid-template-columns:84px 1fr;gap:10px;margin-top:auto}.fav{position:absolute;right:12px;top:12px;border:0;border-radius:50%;width:36px;height:36px;background:#fff;box-shadow:var(--shadow);font-size:20px}.fav.on{color:#d97706}.rel{position:relative}
.cart-panel{position:sticky;top:calc(var(--navH) + 10px);max-height:calc(100dvh - var(--navH) - 22px);display:flex;flex-direction:column;overflow:hidden}.cart-scroll{overflow:auto;padding-right:4px;min-height:120px}.cart-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.thumb{width:58px;height:58px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}.mini{border:0;border-radius:8px;background:#edf1f5;padding:4px 9px;font-weight:900}.link{background:none;border:0;color:var(--danger);font-weight:800;cursor:pointer}.cart-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.summary{margin-top:12px}.sumline{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eef2f6}.sumline.total{font-size:1.15rem;font-weight:900;border-bottom:0}.mobile-review{display:none}
.modal{position:fixed;inset:0;z-index:20000;background:rgba(15,23,42,.55);padding:32px;overflow:auto}.modal-card{background:#fff;border-radius:22px;max-width:1100px;margin:40px auto;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.28);position:relative}.modal-close{position:absolute;right:14px;top:14px;border:0;background:#edf1f5;border-radius:50%;width:38px;height:38px;font-size:20px;cursor:pointer}
.list{display:grid;gap:10px}.list-btn{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;text-align:left;display:flex;justify-content:space-between;gap:10px;cursor:pointer;width:100%}.list-btn.active,.list-btn:hover{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,79,58,.10)}.badge{display:inline-flex;border-radius:999px;background:#edf1f5;padding:6px 10px;font-weight:900;font-size:.82rem}.badge.done{background:#dcfae6;color:#067647}.badge.warn{background:#fef0c7;color:#b54708}.badge.danger{background:#fee4e2;color:#b42318}
.orders-layout,.warehouse-layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:18px;align-items:start}.side-detail{position:sticky;top:calc(var(--navH) + 12px);max-height:calc(100dvh - var(--navH) - 24px);overflow:auto}.filter-grid{display:grid;grid-template-columns:1.2fr .8fr .75fr .75fr auto;gap:10px;margin:12px 0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{border-collapse:collapse;width:100%;min-width:900px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc}.num{text-align:right}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.kpi span{color:var(--muted);font-size:.82rem}.kpi b{display:block;font-size:1.25rem;margin-top:4px}.empty{padding:20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.toast{position:fixed;right:18px;bottom:18px;z-index:30000;background:#111827;color:#fff;padding:14px 16px;border-radius:14px;box-shadow:var(--shadow);max-width:360px}.toast.ok{background:#067647}.toast.err{background:#b42318}
.invoice{background:#fff;padding:14px}.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid #111827;padding-bottom:14px;margin-bottom:18px}.invoice h1{margin:0}.invoice-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}
.report-box{margin-top:14px}
@media(max-width:1180px){.catalog-layout,.orders-layout,.warehouse-layout{grid-template-columns:1fr}.cart-panel,.side-detail{position:relative;top:auto;max-height:none}.sticky-tools{top:calc(var(--navH) + 8px)}.search-row{grid-template-columns:1fr 76px}.search-row .btn{grid-column:auto}.kpi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){:root{--navH:68px}.top-inner{height:auto;min-height:var(--navH);align-items:flex-start;flex-direction:column;padding:10px}.nav{width:100%;justify-content:flex-start}.page{padding:14px 10px}.sticky-tools{top:calc(var(--navH) + 56px);padding:10px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{min-height:440px;padding:10px}.product-img-wrap{height:132px}.product-title{font-size:.9rem;min-height:48px}.price-grid{grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.modal{padding:10px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.mobile-review{display:block;position:fixed;left:10px;right:10px;bottom:10px;z-index:9500}.cart-panel{padding-bottom:70px}.kpi-grid{grid-template-columns:1fr}}
@media print{body{background:#fff}.topbar,.nav,.invoice-actions,.modal-close{display:none!important}.modal{position:static;background:#fff;padding:0}.modal-card{box-shadow:none;margin:0;max-width:none}.invoice{padding:0}table{min-width:0;font-size:11px}}

/* V21.5.1 audit corrections */
.order-image-strip{display:flex;gap:10px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:12px;background:#f8fafc}
.order-image-strip div{min-width:90px;text-align:center;font-size:.78rem;color:var(--muted)}
.order-image-strip img{width:82px;height:82px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;display:block;margin:0 auto 4px}
.zoom-wrap{height:min(65vh,620px);display:grid;place-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:12px}
.zoom-wrap img{max-width:100%;max-height:100%;object-fit:contain}
.ar-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:16px;align-items:start}
.ledger-panel{position:sticky;top:calc(var(--navH) + 14px);max-height:calc(100dvh - var(--navH) - 28px);overflow:auto}
.product-img-wrap{cursor:zoom-in}
@media(max-width:1100px){.ar-layout{grid-template-columns:1fr}.ledger-panel{position:relative;top:auto;max-height:none}}

/* V21.5.3 audit fixes */
.orders-layout .filter-grid,.warehouse-layout .filter-grid{grid-template-columns:1fr 1fr!important}
.orders-layout .filter-grid input:first-child,.warehouse-layout .filter-grid input:first-child{grid-column:1/-1!important}
.orders-layout .filter-grid button,.warehouse-layout .filter-grid button{grid-column:1/-1!important;width:100%!important}
.dashboard-filter{grid-template-columns:1.5fr .8fr .8fr .8fr auto!important}
.item-cell{display:flex;align-items:center;gap:10px;min-width:120px}
.item-cell img{width:48px;height:48px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:9px}
@media(max-width:900px){.dashboard-filter{grid-template-columns:1fr!important}}

/* V21.5.4 order/customer search fixes */
.filter-grid-clean{grid-template-columns:1fr!important}
.filter-grid-clean .btn{width:100%!important}
.orders-layout .filter-grid-clean,.warehouse-layout .filter-grid-clean{grid-template-columns:1fr!important}
.orders-layout .filter-grid-clean input:first-child,.warehouse-layout .filter-grid-clean input:first-child{grid-column:auto!important}
.orders-layout .filter-grid-clean button,.warehouse-layout .filter-grid-clean button{grid-column:auto!important}

/* V21.6 schema-aligned professional refinements */
.status-stack{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.smart-panel{margin-top:16px;background:linear-gradient(135deg,#ffffff,#f4fbf8)}
.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.insight-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;box-shadow:0 5px 18px rgba(15,23,42,.06)}
.insight-card b{display:block;font-size:1.05rem;margin-bottom:6px;color:var(--brand)}
.insight-card span{color:var(--muted);font-size:.9rem}
@media(max-width:1000px){.insight-grid{grid-template-columns:1fr 1fr}.status-stack{justify-content:flex-start}}
@media(max-width:650px){.insight-grid{grid-template-columns:1fr}}

/* V22 production candidate polish */
.app-footer{max-width:1480px;margin:0 auto;padding:14px 18px 28px;color:var(--muted);font-size:.82rem;text-align:center}
.btn[disabled],button[disabled]{opacity:.55;cursor:not-allowed}
.status-stack .badge{box-shadow:0 2px 8px rgba(15,23,42,.06)}
.product-card{transition:transform .12s ease, box-shadow .12s ease}
.product-card:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(15,23,42,.16)}
.insight-card{transition:transform .12s ease}
.insight-card:hover{transform:translateY(-1px)}

/* V22.1 production clean A/R + reporting upgrade */
.app-footer{max-width:1480px;margin:0 auto;padding:14px 18px 28px;color:var(--muted);font-size:.82rem;text-align:center;border-top:1px solid var(--line);margin-top:24px}
.ar-tools{margin:16px 0;background:linear-gradient(135deg,#fff,#f8fbff)}
.ar-search-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 260px;gap:12px}
.ledger-order-card{border:1px solid var(--line);border-radius:16px;background:#fff;margin:12px 0;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:14px;align-items:center;box-shadow:0 5px 18px rgba(15,23,42,.06)}
.ledger-status{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ledger-money span{display:block;color:var(--muted);font-size:.8rem}
.ledger-money b{font-size:1.05rem}
.ledger-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.report-control-grid{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto;gap:12px;margin:16px 0}
@media(max-width:1050px){.ledger-order-card,.report-control-grid,.ar-search-grid{grid-template-columns:1fr}.ledger-actions{justify-content:flex-start}}

/* V22.3 design + accounting AI refinements */
.compact-tools{padding:14px 16px!important;border-radius:22px!important;z-index:50}
.compact-toolbar{margin-bottom:10px}.compact-toolbar h2{font-size:1.55rem;margin:0}
.compact-search{grid-template-columns:minmax(280px,1fr) 92px auto auto!important;gap:10px!important}
.compact-cats{display:flex!important;flex-wrap:wrap!important;gap:8px!important;overflow:visible!important;max-height:none!important}
.compact-cats .chip{font-size:.86rem;padding:10px 14px}
.ai-assist-panel{background:linear-gradient(135deg,#073b2c,#0f766e);color:#fff;border-radius:22px;padding:16px;margin:14px 0;box-shadow:0 18px 50px rgba(15,23,42,.18)}
.ai-assist-panel .sub{color:rgba(255,255,255,.78)}
.ai-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}
.ai-pill{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);padding:6px 10px;border-radius:999px;font-size:.8rem}
.ai-rec-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ai-rec{background:#fff;color:#172033;border:0;border-radius:14px;padding:10px;cursor:pointer;text-align:left;min-height:122px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.ai-rec img{width:100%;height:58px;object-fit:contain;display:block;margin-bottom:6px}
.ai-rec span{display:block;font-size:.78rem;line-height:1.2;height:32px;overflow:hidden}.ai-rec b{font-size:.82rem;color:#075e54}
.compact-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:16px!important}
.compact-product{min-height:auto!important;padding:12px!important}.compact-product .product-img-wrap{height:150px!important}
.compact-product .product-img{max-height:138px!important;object-fit:contain!important}.compact-product .product-title{font-size:.98rem!important;min-height:44px!important}
.compact-meta{font-size:.78rem!important;line-height:1.35!important}.compact-price{grid-template-columns:repeat(3,1fr)!important;gap:6px!important}
.compact-price .price-cell{padding:8px!important}.compact-price .price-cell span{font-size:.72rem!important}.compact-add{grid-template-columns:68px 1fr!important;margin-top:8px!important}
.status-checklist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}
.status-check{border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;text-transform:capitalize}
.status-check.active{background:#dcfae6;border-color:#75e0a7;color:#067647}
.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.order-list{max-height:calc(100vh - 320px);overflow:auto}.ledger-order-card{grid-template-columns:minmax(0,1fr) 200px 180px!important}
@media(max-width:1100px){.ai-rec-row{grid-template-columns:repeat(3,1fr)}.compact-search{grid-template-columns:1fr!important}.status-checklist{grid-template-columns:1fr 1fr}.ledger-order-card{grid-template-columns:1fr!important}}
@media(max-width:650px){.ai-rec-row{grid-template-columns:1fr 1fr}.compact-catalog-grid{grid-template-columns:1fr 1fr!important}}

/* V22.4 A/R invoice/order professional UI */
.cart-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.cart-count-pill{background:#073b2c;color:#fff;border-radius:999px;padding:7px 12px;font-weight:800;font-size:.85rem}
.product-img-wrap{background:linear-gradient(180deg,#fff,#f8fafc)!important}
.product-img{image-rendering:auto;filter:contrast(1.02) saturate(1.04);transform:translateZ(0)}
.compact-product .product-img-wrap{height:168px!important}
.compact-product .product-img{max-height:158px!important;width:100%;object-fit:contain!important}
.ai-rec b{color:#0f766e!important}
.ar-ledger-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.ar-ledger-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.ar-ledger-kpis>div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px}
.ar-ledger-kpis span{display:block;color:var(--muted);font-size:.82rem}
.ar-ledger-kpis b{font-size:1.1rem}
.ar-ledger-table-wrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:16px}
.ar-ledger-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}
.ar-ledger-table th{position:sticky;top:0;background:#f4f6f8;z-index:1;text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}
.ar-ledger-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.ledger-action-row{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.ledger-action-row .btn{padding:8px 10px;font-size:.82rem}
.order-items-table table{width:100%;border-collapse:separate;border-spacing:0}
.order-items-table th{background:#f4f6f8;text-align:left;padding:10px;border-bottom:1px solid var(--line)}
.order-items-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
.mini-img{width:52px;height:52px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px}
.print-doc{background:#fff;color:#111;padding:20px}
.pick-box{font-size:20px;text-align:center}
@media print{
  body *{visibility:hidden!important}
  .modal,.modal *{visibility:visible!important}
  .modal{position:absolute!important;inset:0!important;background:#fff!important;overflow:visible!important}
  .modal-card,.print-doc{box-shadow:none!important;border:0!important;width:100%!important;max-width:none!important}
  .no-print{display:none!important}
}
@media(max-width:1050px){
  .ar-ledger-header{display:block}
  .ar-ledger-kpis{grid-template-columns:1fr}
  .ledger-action-row{flex-wrap:wrap}
}

/* V22.5 accounting workflow + cart fix */
.cart-count-stack{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cart-case-pill{background:#eef4ff;color:#1849a9;border-radius:999px;padding:7px 12px;font-weight:800;font-size:.85rem}
.cart-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:start}
.cart-row-main b{display:block;line-height:1.2}.cart-line-total{font-weight:900;white-space:nowrap}
.cart-controls{display:flex;gap:7px;align-items:center;margin-top:8px;flex-wrap:wrap}
.mini-btn{border:1px solid var(--line);background:#f5f7fa;border-radius:10px;padding:6px 9px;font-weight:800;cursor:pointer}.mini-btn.danger{background:#fee4e2;color:#b42318}
.ar-clean .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ar-clean-tools{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;margin:14px 0}
.ar-two-panel{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;align-items:start}
.ar-customer-list{display:flex;flex-direction:column;gap:8px}
.ar-customer-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;display:flex;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.ar-customer-card:hover{border-color:#0f766e;box-shadow:0 8px 22px rgba(15,23,42,.1)}
.ar-customer-card small,.ledger-clean-table small,.report-clean-table small{display:block;color:var(--muted);font-weight:500;margin-top:4px;line-height:1.25}
.ledger-panel{overflow:visible!important}
.ledger-clean-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.ledger-mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.ledger-mini-kpis>div{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:10px}.ledger-mini-kpis span{display:block;color:var(--muted);font-size:.8rem}.ledger-mini-kpis b{font-size:1rem}
.ledger-clean-table,.report-clean-table{display:flex;flex-direction:column;gap:8px}
.ledger-row,.report-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}
.ledger-head-row,.report-head{background:#f4f6f8;border-color:#d7dde6}
.ledger-row .badge,.report-row .badge{display:inline-flex;margin:2px 3px 2px 0}
.ledger-actions-clean{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.report-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.report-summary-strip>div{border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:12px}.report-summary-strip span{display:block;color:var(--muted);font-size:.85rem}.report-summary-strip b{font-size:1.1rem}
@media(max-width:1180px){.ar-two-panel{grid-template-columns:1fr}.ar-clean .kpi-grid{grid-template-columns:1fr 1fr}.ledger-row,.report-row{grid-template-columns:1fr}.ledger-actions-clean{justify-content:flex-start}.ar-clean-tools{grid-template-columns:1fr}.report-summary-strip{grid-template-columns:1fr}}
@media(max-width:650px){.cart-row{grid-template-columns:42px minmax(0,1fr)}.cart-line-total{grid-column:2}.ar-clean .kpi-grid,.ledger-mini-kpis{grid-template-columns:1fr}}

/* V22.6 review submit and report review fixes */
.review-modal{max-width:980px}
.review-table{max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:16px}
.review-table table{width:100%;border-collapse:separate;border-spacing:0}
.review-table th{position:sticky;top:0;background:#f4f6f8;z-index:1;text-align:left;padding:10px;border-bottom:1px solid var(--line)}
.review-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
.review-summary{max-width:420px;margin-left:auto}
.review-actions .btn:disabled{opacity:.65;cursor:wait}
.review-submit-btn{margin-top:12px}
.report-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.report-actions .btn{padding:8px 10px;font-size:.82rem}
.ar-clean-tools datalist{max-height:240px}
@media(max-width:850px){.review-table{max-height:50vh}.report-actions{justify-content:flex-start}.review-summary{margin-left:0}}

/* V22.7 cart visibility and customer report filters */
.cart-sticky-footer{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.85),#fff);padding-top:10px;margin-top:10px;z-index:20}
.cart-review-top{margin:8px 0 12px}
.cart-panel{display:flex;flex-direction:column;max-height:calc(100vh - 130px);overflow:auto}
.review-submit-btn,.cart-review-top{min-height:48px;font-size:1rem}
.report-control-grid-v227{grid-template-columns:minmax(230px,1.2fr) minmax(220px,1fr) 160px 160px auto!important}
.report-title-line{margin:10px 0 14px}
.report-title-line h2{margin:0 0 4px}
@media(max-width:1150px){.report-control-grid-v227{grid-template-columns:1fr!important}.cart-panel{max-height:none}}

/* V22.8 role detection fix */
.login-card b{font-weight:900}

/* V22.10 mobile polish + customer approval controls */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
.app-shell,.page,.panel{max-width:100%}
.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.top-inner{display:flex;gap:12px;align-items:center;justify-content:space-between;max-width:1500px;margin:0 auto;padding:12px 16px}
.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.customer-management-page{display:flex;flex-direction:column;gap:16px}
.customer-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.customer-approval-panel,.ar-ledger-section{padding:16px}
.customer-filter-input{max-width:360px}
.customer-admin-list{display:flex;flex-direction:column;gap:10px}
.customer-admin-card{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(250px,auto);align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 5px 18px rgba(15,23,42,.05)}
.customer-admin-card small{display:block;color:var(--muted);font-weight:500;margin-top:4px}
.customer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.customer-actions .btn{padding:9px 12px;font-size:.86rem}
.customer-status-box{text-align:center}
@media(max-width:900px){
  body{font-size:15px}
  .top-inner{align-items:flex-start;padding:10px}
  .brand{min-width:0}
  .brand b{font-size:.95rem}
  .brand .sub{font-size:.78rem}
  .nav{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .nav .btn{white-space:nowrap;padding:9px 10px;font-size:.84rem}
  .page{padding:10px!important}
  .toolbar{display:block!important}
  .toolbar .tabs{margin-top:10px}
  .tabs{display:flex;gap:8px;flex-wrap:wrap}
  .tabs .btn{flex:1 1 auto}
  .panel{border-radius:16px!important;padding:12px!important}
  .kpi-grid,.customer-kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .kpi{padding:10px!important}
  .filter-grid,.filter-grid-clean,.report-control-grid,.report-control-grid-v227,.search-row,.compact-search{grid-template-columns:1fr!important}
  .orders-layout,.warehouse-layout,.catalog-layout,.ar-two-panel{grid-template-columns:1fr!important}
  .order-detail,.ledger-panel{min-height:160px}
  .customer-admin-card{grid-template-columns:1fr;gap:10px}
  .customer-actions{justify-content:flex-start}
  .customer-actions .btn{flex:1 1 30%}
  .customer-filter-input{max-width:none;width:100%}
  .ar-clean-tools{grid-template-columns:1fr!important}
  .ar-customer-card{display:grid;grid-template-columns:1fr;gap:6px}
  .ledger-row,.report-row{grid-template-columns:1fr!important}
  .ledger-actions-clean,.report-actions{justify-content:flex-start!important}
  .cart-panel{position:static!important;max-height:none!important}
  .cart-row{grid-template-columns:44px minmax(0,1fr)!important}
  .cart-line-total{grid-column:2}
  .mobile-review{display:block!important}
}
@media(max-width:520px){
  .top-inner{display:block}
  .brand{margin-bottom:8px}
  .logo{width:42px;height:42px;min-width:42px}
  h1{font-size:1.55rem!important}
  h2{font-size:1.25rem!important}
  .kpi-grid,.customer-kpis{grid-template-columns:1fr!important}
  .catalog-grid,.compact-catalog-grid{grid-template-columns:1fr!important}
  .product-card,.compact-product{min-height:auto!important}
  .product-img-wrap{height:145px!important}
  .btn{min-height:42px}
  input,select,textarea{font-size:16px!important}
  .customer-actions .btn{flex:1 1 100%}
}

/* V23.1 QA system health */
.system-health-page{display:flex;flex-direction:column;gap:16px}
.health-list{display:flex;flex-direction:column;gap:8px}
.health-row{display:grid;grid-template-columns:32px minmax(180px,.8fr) minmax(0,1.4fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}
.health-row.ok{border-left:5px solid #12b76a}.health-row.bad{border-left:5px solid #f04438}
.health-row small{color:var(--muted);line-height:1.35}
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.qa-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.qa-card h3{margin-top:0}
.qa-check{display:block;padding:8px 0;border-bottom:1px solid #f1f3f5}
.qa-check:last-child{border-bottom:0}
.roadmap-list{display:flex;flex-direction:column;gap:10px}
.roadmap-list>div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px}
@media(max-width:850px){.health-row{grid-template-columns:28px 1fr}.health-row small{grid-column:2}.qa-grid{grid-template-columns:1fr}}

/* V23.2 Audit Logs */
.audit-page{display:flex;flex-direction:column;gap:16px}
.audit-filter{margin:10px 0}
.audit-log-list{display:flex;flex-direction:column;gap:10px}
.audit-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(160px,.45fr) minmax(0,1.4fr);gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.audit-row small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}
.audit-row details{background:#f8fafc;border-radius:12px;padding:10px}
.audit-row summary{cursor:pointer;font-weight:800}
.audit-details{margin-top:10px}
.audit-details pre{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;max-height:180px;overflow:auto;font-size:.78rem}
@media(max-width:900px){.audit-row{grid-template-columns:1fr}}

/* V23.3 statements and receipts */
.statement-doc,.receipt-doc{font-size:14px}
.statement-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.statement-kpis>div{border:1px solid #d0d5dd;border-radius:12px;padding:12px;background:#f8fafc}
.statement-kpis span{display:block;color:#667085;font-size:.85rem}.statement-kpis b{font-size:1.1rem}
.statement-aging .statement-kpis{grid-template-columns:repeat(4,1fr)}
.statement-note{margin-top:20px;color:#475467}
.receipt-doc .invoice-table td,.statement-doc .invoice-table td{vertical-align:top}
@media(max-width:850px){.statement-kpis,.statement-aging .statement-kpis{grid-template-columns:1fr 1fr}.ledger-clean-head .tabs{margin-top:10px}}
@media print{.statement-doc,.receipt-doc{font-size:12px}.statement-kpis{grid-template-columns:repeat(3,1fr)!important}.statement-aging .statement-kpis{grid-template-columns:repeat(4,1fr)!important}}

/* V23.4 UI + Mobile Polish */
:root{
  --pw-radius-xl:22px;
  --pw-shadow-soft:0 10px 30px rgba(15,23,42,.08);
  --pw-shadow-card:0 6px 18px rgba(15,23,42,.06);
}
body{
  background:
    radial-gradient(circle at top left,rgba(15,118,110,.08),transparent 28rem),
    linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%);
}
.page{max-width:1520px;margin:0 auto}
.panel,.card,.product-card,.login-card{
  box-shadow:var(--pw-shadow-card);
}
.panel:hover,.product-card:hover{
  box-shadow:var(--pw-shadow-soft);
}
.topbar{
  border-bottom:1px solid rgba(15,23,42,.08);
}
.logo{
  box-shadow:0 8px 20px rgba(15,118,110,.18);
}
.btn{
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.input,input,select,textarea{
  border:1px solid #d0d7e2!important;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.input:focus,input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:#0f766e!important;
  box-shadow:0 0 0 3px rgba(15,118,110,.14)!important;
}
.kpi{
  background:linear-gradient(180deg,#fff,#f9fbfd);
  border:1px solid rgba(15,23,42,.08);
}
.kpi b{letter-spacing:-.02em}
.sticky-tools{
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(15,23,42,.08)!important;
}
.product-card{
  border:1px solid rgba(15,23,42,.08)!important;
  overflow:hidden;
}
.product-img-wrap{
  border-radius:16px!important;
  border:1px solid rgba(15,23,42,.06);
}
.product-title{
  letter-spacing:-.01em;
}
.price-cell{
  background:#f8fafc!important;
  border:1px solid rgba(15,23,42,.07)!important;
}
.cart-panel{
  border:1px solid rgba(15,23,42,.08)!important;
}
.cart-sticky-footer{
  border-top:1px solid rgba(15,23,42,.08);
}
.badge{
  border:1px solid rgba(15,23,42,.08);
}
.list-btn{
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:16px!important;
  margin-bottom:8px;
}
.list-btn:hover{
  border-color:#0f766e!important;
  background:#f7fffd!important;
}
.table-wrap{
  border-radius:16px;
  overflow:auto;
  border:1px solid rgba(15,23,42,.08);
}
table th{
  background:#f3f6f9!important;
}
.order-detail{
  position:sticky;
  top:92px;
  max-height:calc(100vh - 115px);
  overflow:auto;
}
.audit-row,.ledger-row,.report-row,.customer-admin-card,.ar-customer-card{
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.audit-row:hover,.ledger-row:hover,.report-row:hover,.customer-admin-card:hover,.ar-customer-card:hover{
  transform:translateY(-1px);
  box-shadow:var(--pw-shadow-soft);
}
.print-doc{
  border-radius:16px;
}
.mobile-review{
  box-shadow:0 -10px 28px rgba(15,23,42,.12);
  border-top:1px solid rgba(15,23,42,.08);
}

/* Dedicated mobile navigation and layout refinement */
@media(max-width:900px){
  body{background:#f4f7fb}
  .topbar{position:sticky!important;top:0!important}
  .top-inner{
    display:block!important;
    padding:10px 10px 8px!important;
  }
  .brand{
    display:flex!important;
    align-items:center!important;
    margin-bottom:8px!important;
  }
  .nav{
    display:flex!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    padding:4px 0 6px!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav .btn{
    flex:0 0 auto!important;
    border-radius:999px!important;
    min-height:38px!important;
  }
  .page{
    padding:10px!important;
    width:100%!important;
  }
  .panel,.card{
    border-radius:18px!important;
  }
  .toolbar{
    gap:10px!important;
  }
  .toolbar h1,.toolbar h2{
    line-height:1.1!important;
  }
  .tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .tabs .btn{
    width:100%!important;
  }
  .catalog-layout{
    display:block!important;
  }
  .compact-tools{
    position:sticky!important;
    top:76px!important;
    z-index:60!important;
    max-height:55vh;
    overflow:auto;
  }
  .compact-cats{
    max-height:120px!important;
    overflow:auto!important;
    padding-bottom:4px!important;
  }
  .compact-catalog-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .compact-product{
    padding:9px!important;
    border-radius:16px!important;
  }
  .compact-product .product-img-wrap{
    height:118px!important;
  }
  .compact-product .product-img{
    max-height:108px!important;
  }
  .compact-product .product-title{
    min-height:40px!important;
    font-size:.88rem!important;
  }
  .compact-meta{
    font-size:.7rem!important;
  }
  .compact-price{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .compact-price .price-cell{
    padding:6px!important;
    display:flex;
    justify-content:space-between;
    gap:6px;
  }
  .compact-add{
    grid-template-columns:58px 1fr!important;
  }
  .cart-panel{
    margin-top:14px!important;
    position:static!important;
    max-height:none!important;
  }
  .order-detail{
    position:static!important;
    max-height:none!important;
    margin-top:12px;
  }
  .orders-layout,.warehouse-layout{
    display:block!important;
  }
  .order-list{
    max-height:none!important;
  }
  .customer-admin-card,.ledger-row,.report-row,.audit-row{
    border-radius:14px!important;
  }
  .health-row{
    grid-template-columns:24px 1fr!important;
  }
  .health-row small{grid-column:2!important}
}

@media(max-width:560px){
  h1{font-size:1.45rem!important}
  h2{font-size:1.18rem!important}
  .brand .sub{display:none}
  .logo{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }
  .compact-catalog-grid{
    grid-template-columns:1fr!important;
  }
  .ai-rec-row{
    grid-template-columns:1fr!important;
  }
  .tabs{
    grid-template-columns:1fr!important;
  }
  .cart-row{
    grid-template-columns:40px minmax(0,1fr)!important;
  }
  .thumb{width:40px!important;height:40px!important}
  .modal-card{
    width:calc(100vw - 16px)!important;
    margin:8px!important;
    max-height:calc(100vh - 16px)!important;
    overflow:auto!important;
  }
  .review-table{
    max-height:46vh!important;
  }
  .statement-kpis,.ledger-mini-kpis,.report-summary-strip{
    grid-template-columns:1fr!important;
  }
}

/* Print final polish */
@media print{
  body{background:#fff!important}
  .print-doc{
    border-radius:0!important;
    box-shadow:none!important;
  }
}

/* V23.5 Professional Invoice Print */
.professional-invoice{
  background:#fff;
  color:#111827;
  max-width:1100px;
  margin:0 auto;
  padding:26px;
  border:1px solid #cbd5e1;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  font-size:13px;
}
.pro-invoice-top{
  display:grid;
  grid-template-columns:1.2fr .85fr;
  gap:24px;
  align-items:start;
  margin-bottom:20px;
}
.pro-company h1{
  margin:0 0 6px;
  font-size:28px;
  color:#1f2937;
}
.pro-company p{margin:2px 0;color:#475467}
.pro-title{text-align:right}
.pro-title h2{
  margin:0 0 12px;
  font-size:34px;
  letter-spacing:.08em;
  color:#344767;
  font-weight:900;
}
.pro-meta{
  margin-left:auto;
  border-collapse:collapse;
  min-width:260px;
  font-size:12px;
}
.pro-meta th{
  text-align:left;
  background:#344767!important;
  color:#fff;
  padding:6px 8px;
  border:1px solid #344767;
  width:110px;
}
.pro-meta td{
  border:1px solid #94a3b8;
  padding:6px 8px;
  text-align:right;
  background:#f8fafc;
}
.pro-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:14px;
  margin:18px 0;
}
.pro-box{
  border:1px solid #94a3b8;
  min-height:112px;
}
.pro-box h3{
  margin:0;
  background:#344767;
  color:#fff;
  font-size:12px;
  letter-spacing:.05em;
  padding:7px 10px;
}
.pro-box p{
  margin:0;
  padding:10px;
  line-height:1.45;
}
.pro-line-table{
  width:100%;
  border-collapse:collapse;
  margin-top:14px;
  font-size:12px;
}
.pro-line-table th{
  background:#344767!important;
  color:#fff;
  border:1px solid #344767;
  padding:7px 6px;
  text-align:left;
  font-size:11px;
  letter-spacing:.035em;
}
.pro-line-table td{
  border:1px solid #94a3b8;
  padding:7px 6px;
  vertical-align:top;
}
.pro-line-table .desc{min-width:230px}
.pro-line-table .num{text-align:right;white-space:nowrap}
.pro-bottom{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:18px;
  margin-top:18px;
}
.pro-terms{
  border:1px solid #94a3b8;
  min-height:120px;
}
.pro-terms h3{
  margin:0;
  background:#344767;
  color:#fff;
  font-size:12px;
  letter-spacing:.04em;
  padding:7px 10px;
}
.pro-terms p{margin:8px 10px;color:#475467}
.pro-totals{
  border:1px solid #94a3b8;
  align-self:start;
}
.pro-totals>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 10px;
  border-bottom:1px solid #cbd5e1;
}
.pro-totals>div:last-child{border-bottom:0}
.pro-totals span{color:#334155;font-weight:700}
.pro-totals b{font-weight:900}
.pro-totals .due{
  background:#e2e8f0;
  font-size:15px;
}
.pro-footer{
  margin-top:24px;
  color:#64748b;
  font-size:11px;
  text-align:center;
  border-top:1px solid #cbd5e1;
  padding-top:10px;
}
.invoice .item-cell img,.professional-invoice img{display:none!important}
@media(max-width:850px){
  .professional-invoice{padding:14px;font-size:12px;overflow:auto}
  .pro-invoice-top,.pro-info-grid,.pro-bottom{grid-template-columns:1fr}
  .pro-title{text-align:left}
  .pro-meta{margin-left:0;width:100%}
  .pro-line-table{font-size:11px}
}
@media print{
  @page{size:letter portrait;margin:.42in}
  body.print-body, body{background:#fff!important}
  .professional-invoice{
    box-shadow:none!important;
    border:0!important;
    max-width:none!important;
    width:100%!important;
    padding:0!important;
    font-size:10.5px!important;
  }
  .pro-company h1{font-size:22px!important}
  .pro-title h2{font-size:28px!important}
  .pro-meta,.pro-line-table{font-size:9.5px!important}
  .pro-line-table th,.pro-line-table td{padding:4px!important}
  .pro-box h3,.pro-terms h3,.pro-line-table th{background:#344767!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pro-info-grid{gap:8px!important}
  .pro-bottom{grid-template-columns:1fr 260px!important;gap:10px!important}
  .pro-footer{font-size:9px!important}
  .invoice-actions,.no-print,.topbar,.toast{display:none!important}
}

/* V23.6 Header Layout Fix */
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:200!important;
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
}
.top-inner{
  max-width:1520px!important;
  margin:0 auto!important;
  padding:10px 16px!important;
  display:grid!important;
  grid-template-columns:minmax(220px,auto) 1fr!important;
  align-items:center!important;
  gap:14px!important;
}
.brand{
  min-width:220px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.brand b{
  white-space:nowrap!important;
}
.brand .sub{
  white-space:nowrap!important;
}
.nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  padding:2px 0!important;
}
.nav::-webkit-scrollbar{display:none!important}
.nav .btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  min-height:40px!important;
}
.nav .btn-danger{
  margin-left:8px!important;
}
.page{
  padding-top:18px!important;
}
.orders-layout,.warehouse-layout{
  align-items:start!important;
}
.order-detail{
  top:88px!important;
}

/* Keep order side-by-side cleaner on laptop widths */
@media(min-width:901px){
  .orders-layout,.warehouse-layout{
    grid-template-columns:minmax(280px,340px) minmax(0,1fr)!important;
    gap:18px!important;
  }
  .order-list{
    max-height:calc(100vh - 160px)!important;
    overflow:auto!important;
  }
}

/* Tablet: allow header brand/nav to stack cleanly */
@media(max-width:1100px){
  .top-inner{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .brand{
    min-width:0!important;
  }
  .nav{
    justify-content:flex-start!important;
  }
  .page{
    padding-top:12px!important;
  }
  .order-detail{
    top:118px!important;
  }
}

/* Phone: compact header, no top clipping */
@media(max-width:650px){
  .top-inner{
    padding:8px 10px!important;
  }
  .brand .sub{
    display:block!important;
    white-space:normal!important;
    font-size:.72rem!important;
  }
  .nav .btn{
    min-height:36px!important;
    padding:8px 10px!important;
    font-size:.82rem!important;
  }
  .page{
    padding-top:10px!important;
  }
}

/* Prevent print invoice popup from inheriting sticky app spacing */
@media print{
  .topbar{display:none!important}
  .page{padding-top:0!important}
}

/* V23.7 Regression Test Tools */
.regression-page{display:flex;flex-direction:column;gap:16px}
.reg-progress{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden;border:1px solid rgba(15,23,42,.08)}
.reg-progress>div{height:100%;width:0;background:#0f766e;transition:width .2s ease}
.reg-auto-list{display:flex;flex-direction:column;gap:8px}
.reg-auto-row{display:grid;grid-template-columns:32px minmax(220px,.8fr) minmax(0,1.4fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}
.reg-auto-row.ok{border-left:5px solid #12b76a}.reg-auto-row.bad{border-left:5px solid #f04438}
.reg-auto-row small{color:var(--muted);line-height:1.35}
.reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reg-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.reg-card h3{margin-top:0}
.reg-check{display:block;padding:8px 0;border-bottom:1px solid #f1f3f5;cursor:pointer}
.reg-check:last-child{border-bottom:0}
.reg-check input{margin-right:8px;transform:scale(1.1)}
@media(max-width:850px){.reg-auto-row{grid-template-columns:28px 1fr}.reg-auto-row small{grid-column:2}.reg-grid{grid-template-columns:1fr}}

/* V23.8 QuickBooks-quality reporting */
.qb-reports-page{display:flex;flex-direction:column;gap:16px}
.qb-report-controls{
  display:grid;
  grid-template-columns:1.4fr 1.2fr .8fr .8fr .9fr auto;
  gap:10px;
  align-items:end;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:14px;
}
.qb-report-controls label{
  display:block;
  font-size:.78rem;
  font-weight:800;
  color:#475467;
  margin-bottom:5px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.qb-report{
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:18px;
  padding:20px;
  box-shadow:0 8px 26px rgba(15,23,42,.06);
}
.qb-report-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  border-bottom:2px solid #344767;
  padding-bottom:14px;
  margin-bottom:14px;
}
.qb-report-head h2{
  margin:0 0 4px;
  font-size:1.65rem;
  color:#1f2937;
}
.qb-report-head p{margin:0;color:#475467;font-weight:700}
.qb-report-head small{display:block;color:#667085;margin-top:3px}
.qb-report-brand{text-align:right;color:#344767}
.qb-report-brand b{display:block;font-size:1rem}
.qb-kpi-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.qb-kpi-strip>div{
  border:1px solid #d0d5dd;
  background:#f8fafc;
  border-radius:14px;
  padding:12px;
}
.qb-kpi-strip span{
  display:block;
  color:#667085;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
}
.qb-kpi-strip b{
  display:block;
  margin-top:5px;
  font-size:1.15rem;
  color:#111827;
}
.qb-table-wrap{
  overflow:auto;
  border:1px solid #cbd5e1;
  border-radius:14px;
  margin-top:12px;
}
.qb-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  font-size:.9rem;
}
.qb-table th{
  background:#344767!important;
  color:#fff;
  text-align:left;
  padding:10px 9px;
  white-space:nowrap;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.qb-table td{
  border-bottom:1px solid #e5e7eb;
  padding:10px 9px;
  vertical-align:top;
}
.qb-table td small{
  display:block;
  color:#667085;
  margin-top:3px;
}
.qb-table .num{text-align:right;white-space:nowrap}
.qb-table tfoot td{
  background:#f1f5f9;
  font-weight:900;
  border-top:2px solid #344767;
}
.qb-report-footer{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
  color:#667085;
  font-size:.8rem;
  text-align:center;
}
.report-box .report-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.report-box .report-actions .btn{
  padding:7px 9px;
  font-size:.78rem;
}
@media(max-width:1050px){
  .qb-report-controls{grid-template-columns:1fr 1fr}
  .qb-report-controls .btn{grid-column:1/-1}
  .qb-kpi-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .qb-report-controls{grid-template-columns:1fr}
  .qb-report{padding:12px;border-radius:14px}
  .qb-report-head{display:block}
  .qb-report-brand{text-align:left;margin-top:10px}
  .qb-kpi-strip{grid-template-columns:1fr}
  .qb-table{font-size:.8rem}
}
@media print{
  .qb-report{box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important}
  .qb-report-controls,.topbar,.no-print,.invoice-actions,.toast{display:none!important}
  .qb-report-head{border-bottom:2px solid #344767!important}
  .qb-table th{background:#344767!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .qb-table-wrap{border:1px solid #94a3b8!important;overflow:visible!important}
  .qb-table td,.qb-table th{padding:5px!important;font-size:9.5px!important}
  .qb-kpi-strip{grid-template-columns:repeat(5,1fr)!important}
  .report-actions{display:none!important}
}

/* V23.9 Orders/Warehouse + Header/Nav Fix */
.topbar{
  overflow:visible!important;
}
.top-inner{
  grid-template-columns:minmax(175px,220px) minmax(0,1fr)!important;
  align-items:center!important;
}
.brand{
  min-width:0!important;
  max-width:220px!important;
  overflow:hidden!important;
}
.brand b,.brand .sub{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nav{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  padding:4px 0!important;
}
.nav .btn{
  flex:0 0 auto!important;
  padding:8px 11px!important;
  font-size:.86rem!important;
  min-height:38px!important;
}
.nav .btn-danger{
  margin-left:0!important;
}
.page{
  padding-top:12px!important;
}
.orders-layout,.warehouse-layout{
  display:grid!important;
  grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
}
.orders-layout>section,.warehouse-layout>section,
.orders-layout>.order-detail,.warehouse-layout>.order-detail{
  min-width:0!important;
}
.order-detail{
  position:sticky!important;
  top:82px!important;
  max-height:calc(100vh - 100px)!important;
  overflow:auto!important;
  padding:14px!important;
}
.order-detail-inner{
  min-width:0!important;
}
.order-detail-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:start!important;
}
.status-stack{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  justify-content:flex-end!important;
}
.order-action-bar{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
  gap:8px!important;
  margin:12px 0!important;
}
.order-action-bar .btn{
  width:100%!important;
  white-space:normal!important;
  line-height:1.15!important;
  min-height:42px!important;
}
.status-checklist{
  grid-template-columns:repeat(auto-fit,minmax(115px,1fr))!important;
}
.order-items-table{
  max-width:100%!important;
  overflow:auto!important;
}
.order-list{
  max-height:calc(100vh - 240px)!important;
}

/* Laptop/tablet: stack orders detail if width gets too tight */
@media(max-width:1180px){
  .top-inner{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .brand{
    max-width:none!important;
  }
  .nav{
    justify-content:flex-start!important;
  }
  .orders-layout,.warehouse-layout{
    grid-template-columns:1fr!important;
  }
  .order-detail{
    position:static!important;
    max-height:none!important;
    margin-top:12px!important;
  }
  .order-list{
    max-height:none!important;
  }
  .order-detail-head{
    grid-template-columns:1fr!important;
  }
  .status-stack{
    justify-content:flex-start!important;
  }
}
@media(max-width:650px){
  .nav .btn{
    font-size:.8rem!important;
    padding:7px 9px!important;
  }
  .order-action-bar{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:420px){
  .order-action-bar{
    grid-template-columns:1fr!important;
  }
}

/* V24.1 dashboard customer status + payment rules */
.dashboard-customer-status{display:flex;flex-direction:column;gap:10px}
.dashboard-customer-search{margin-bottom:4px}
.dashboard-customer-list{max-height:520px;overflow:auto}
.dashboard-customer-list .customer-admin-card{
  grid-template-columns:minmax(0,1fr) auto minmax(210px,auto);
  padding:10px!important;
}
.dashboard-customer-list .customer-actions .btn{
  padding:7px 9px!important;
  font-size:.78rem!important;
}
.btn:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  transform:none!important;
}
@media(max-width:900px){
  .dashboard-customer-list .customer-admin-card{grid-template-columns:1fr}
}

/* V25.3 product guard polish */
#pfCatSelect,#pfCat{font-weight:700}
.product-duplicate-note{
  border:1px solid #fecdca;
  background:#fef3f2;
  color:#b42318;
  border-radius:12px;
  padding:10px;
}

/* V25.5 A/R status warning */
.status-check input{cursor:pointer}

/* V25.9 UI / controls polish */
.sticky-tools.always-visible{
  position:sticky;
  top:74px;
  z-index:30;
  background:rgba(248,250,252,.96);
  backdrop-filter:blur(10px);
  border:1px solid #d0d5dd;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.catalog-layout{align-items:start}
.cart-panel{position:sticky;top:74px;max-height:calc(100vh - 92px);overflow:auto}
.compact-search{grid-template-columns:minmax(280px,1fr) auto 86px auto !important;gap:10px;align-items:center}
.qty-small{max-width:90px}
.catalog-main-actions{display:flex;gap:8px;flex-wrap:wrap}
.product-card{border:1px solid #d0d5dd;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.product-img-wrap.hires{height:190px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;align-items:center;justify-content:center;border-radius:16px;overflow:hidden}
.product-img{width:100%;height:100%;object-fit:contain;image-rendering:auto;transform:translateZ(0)}
.product-title{min-height:44px;line-height:1.25}
.fav{width:38px;height:38px;border-radius:999px;border:1px solid #d0d5dd;background:#fff;font-size:21px;box-shadow:0 4px 12px rgba(15,23,42,.12)}
.fav.on{background:#fff7ed;color:#f59e0b;border-color:#fed7aa}
.mobile-review{display:none}
@media(max-width:900px){
  .sticky-tools.always-visible{top:0}
  .cart-panel{position:relative;top:auto;max-height:none}
  .compact-search{grid-template-columns:1fr 96px !important}
  .compact-search .qty-small{max-width:none}
  .mobile-review{display:block;position:sticky;bottom:0;z-index:60;padding:10px;background:rgba(248,250,252,.96);border-top:1px solid #d0d5dd}
}
.products-admin-page .product-admin-list{margin-top:16px}
.product-edit-form{border-left:5px solid #0f766e}
.btn.danger,.mini-btn.danger{color:#b42318}
.order-action-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.qb-report.professional-report{background:#fff;border:1px solid #d0d5dd;border-radius:22px;box-shadow:0 10px 28px rgba(15,23,42,.06);padding:24px}
.qb-report-head{align-items:flex-start}
.qb-table th{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}
.qb-table td,.qb-table th{vertical-align:middle}
.report-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.report-actions .btn{padding:8px 12px;white-space:nowrap}
.audit-row.pro{display:grid;grid-template-columns:1.2fr .5fr 1fr;gap:16px;align-items:start;border:1px solid #d0d5dd;border-radius:16px;background:#fff;padding:14px;margin-bottom:10px}
.audit-details.professional{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.audit-details.professional pre{background:#0f172a;color:#e5e7eb;border-radius:12px;padding:12px;white-space:pre-wrap;max-height:260px;overflow:auto;font-size:.82rem}
@media(max-width:900px){
  .audit-row.pro{grid-template-columns:1fr}
  .audit-details.professional{grid-template-columns:1fr}
  .qb-report.professional-report{padding:14px}
}
.print-doc,.print-report-page{font-family:Arial, sans-serif}

/* V25.9.2 UI refinement */
.catalog-sticky{
  position:sticky !important;
  top:0 !important;
  z-index:100 !important;
  background:#f8fafc !important;
  box-shadow:0 12px 28px rgba(15,23,42,.10) !important;
}
.sticky-cart{
  position:sticky !important;
  top:12px !important;
  z-index:80 !important;
  align-self:start !important;
  max-height:calc(100vh - 24px) !important;
  overflow:auto !important;
}
.enterprise-catalog{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}
.compact-search{
  display:grid !important;
  grid-template-columns:minmax(250px,1fr) auto auto 90px auto !important;
  gap:10px !important;
}
.product-card{position:relative;overflow:hidden}
.product-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.product-sku-pill{font-weight:800;font-size:.78rem;background:#eef2f7;color:#344054;border-radius:999px;padding:6px 10px;max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card-top .fav{position:static !important;flex:0 0 auto}
.product-img-wrap.hires{height:220px !important;padding:8px}
.product-img{max-width:100%;max-height:100%;object-fit:contain !important}
.qb-report.professional-report{filter:none !important;opacity:1 !important;color:#101828 !important;background:#fff !important}
.qb-report,.qb-table,.qb-report *{text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.qb-table{font-size:.94rem}
.qb-table th{background:#102a43 !important;color:#fff !important}
.qb-table td{color:#101828}
.report-box{overflow-x:auto}
.pw-scan-modal.professional{
  border-radius:26px !important;
  background:#ffffff !important;
}
.pw-scan-head h1{font-size:1.65rem;letter-spacing:-.03em}
.pw-scan-reader.pro{border-radius:22px !important;border:1px solid #1f2937}
@media(max-width:1050px){
  .enterprise-catalog{grid-template-columns:1fr}
  .sticky-cart{position:sticky !important;bottom:0 !important;top:auto !important;max-height:50vh !important}
}
@media(max-width:720px){
  .compact-search{grid-template-columns:1fr 1fr !important}
  .compact-search input:first-child{grid-column:1/-1}
  .enterprise-catalog{display:block}
}

/* V25.9.3 report table alignment hotfix */
.reports-page,.qb-reports-page{
  overflow-x:hidden !important;
}
.report-box{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  padding-bottom:8px;
}
.qb-report.professional-report,
.qb-report{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.qb-report-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:20px !important;
  align-items:start !important;
}
.qb-report-head h2,
.qb-report-head p,
.qb-report-head small{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}
.qb-report-brand{
  text-align:right !important;
  white-space:nowrap !important;
}
.qb-kpi-strip{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:10px !important;
  width:100% !important;
}
.qb-kpi-strip > div{
  min-width:0 !important;
  overflow:hidden !important;
}
.aligned-report-table{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  border-radius:14px !important;
}
.qb-table.qb-table-fixed{
  width:100% !important;
  min-width:760px !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
}
.qb-table.qb-table-fixed th,
.qb-table.qb-table-fixed td{
  box-sizing:border-box !important;
  padding:12px 14px !important;
  vertical-align:middle !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.qb-table.qb-table-fixed th.text,
.qb-table.qb-table-fixed td:first-child{
  text-align:left !important;
}
.qb-table.qb-table-fixed th.num,
.qb-table.qb-table-fixed td.num,
.qb-table.qb-table-fixed td:not(:first-child){
  text-align:right !important;
}
.qb-table.qb-table-fixed td:first-child,
.qb-table.qb-table-fixed td:first-child *{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.qb-table.qb-table-fixed small{
  display:block !important;
  margin-top:3px !important;
  color:#667085 !important;
}
.qb-table.qb-table-fixed .report-actions{
  justify-content:flex-end !important;
}
.qb-table tfoot td{
  font-weight:800 !important;
  border-top:2px solid #102a43 !important;
  background:#f8fafc !important;
}
@media(max-width:900px){
  .qb-report-head{
    grid-template-columns:1fr !important;
  }
  .qb-report-brand{
    text-align:left !important;
  }
  .qb-table.qb-table-fixed{
    min-width:680px !important;
  }
}
@media print{
  .report-box,.aligned-report-table{
    overflow:visible !important;
  }
  .qb-table.qb-table-fixed{
    min-width:0 !important;
    width:100% !important;
    font-size:10px !important;
  }
  .qb-table.qb-table-fixed th,
  .qb-table.qb-table-fixed td{
    padding:7px 8px !important;
  }
}

/* V25.9.4 sticky + mobile UX hotfix */
html,body{overflow-x:hidden !important}
.app-shell{min-height:100vh}
.topbar{position:sticky !important;top:0 !important;z-index:900 !important;background:rgba(248,250,252,.98) !important;backdrop-filter:blur(12px)}
.page{overflow:visible !important}
.customer-catalog-page{position:relative;overflow:visible !important;padding-bottom:84px}
.catalog-sticky-dock{
  position:sticky !important;
  top:64px !important;
  z-index:850 !important;
  background:#f8fafc !important;
  border:1px solid #d0d5dd !important;
  border-radius:0 0 22px 22px !important;
  padding:12px !important;
  margin:-10px -10px 16px !important;
  box-shadow:0 14px 30px rgba(15,23,42,.13) !important;
}
.enterprise-catalog{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 400px !important;
  gap:18px !important;
  align-items:start !important;
  overflow:visible !important;
}
.sticky-cart{
  position:sticky !important;
  top:168px !important;
  z-index:700 !important;
  max-height:calc(100vh - 184px) !important;
  overflow:auto !important;
  align-self:start !important;
}
.cart-sticky-footer{
  position:sticky !important;
  bottom:0 !important;
  z-index:20 !important;
  background:linear-gradient(180deg,rgba(255,255,255,.88),#fff) !important;
  padding-top:10px !important;
}
.compact-cats{
  display:flex !important;
  overflow-x:auto !important;
  white-space:nowrap !important;
  gap:8px !important;
  padding-bottom:4px !important;
  -webkit-overflow-scrolling:touch !important;
}
.compact-cats .chip{flex:0 0 auto !important}
.mobile-bottom-bar{display:none}
.desktop-only{display:inline-flex}
@media(max-width:1050px){
  .enterprise-catalog{grid-template-columns:1fr !important}
  .sticky-cart{
    position:sticky !important;
    top:150px !important;
    max-height:55vh !important;
    margin-bottom:80px !important;
  }
}
@media(max-width:760px){
  .topbar{position:sticky !important;top:0 !important}
  .top-inner{align-items:flex-start !important;gap:8px !important}
  .brand .sub{display:none !important}
  .nav{display:flex !important;overflow-x:auto !important;width:100% !important;padding-bottom:4px !important}
  .nav .btn{white-space:nowrap !important;padding:9px 11px !important;font-size:.86rem !important}
  .page{padding:8px !important}
  .catalog-sticky-dock{
    top:58px !important;
    margin:-8px -8px 10px !important;
    padding:10px !important;
    border-radius:0 0 18px 18px !important;
  }
  .compact-toolbar{gap:8px !important}
  .compact-toolbar h2{font-size:1.2rem !important}
  .desktop-only{display:none !important}
  .compact-search{
    display:grid !important;
    grid-template-columns:1fr 88px !important;
    gap:8px !important;
  }
  .compact-search input:first-child{grid-column:1/-1 !important}
  .compact-search .qty-small{width:100% !important;max-width:none !important}
  .compact-cats{margin-top:8px !important}
  .compact-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
  .product-img-wrap.hires{height:145px !important}
  .product-card{padding:10px !important}
  .product-title{font-size:.9rem !important;min-height:38px !important}
  .price-grid{grid-template-columns:1fr !important}
  .qty-row.compact-add{grid-template-columns:70px 1fr !important}
  .sticky-cart{
    position:relative !important;
    top:auto !important;
    max-height:none !important;
  }
  .mobile-bottom-bar{
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr 1.4fr !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:1200 !important;
    gap:6px !important;
    padding:9px !important;
    background:rgba(255,255,255,.98) !important;
    border-top:1px solid #d0d5dd !important;
    box-shadow:0 -10px 30px rgba(15,23,42,.15) !important;
  }
  .mobile-bottom-bar button{
    border:0 !important;
    border-radius:12px !important;
    padding:11px 6px !important;
    font-weight:900 !important;
    background:#eef2f7 !important;
    color:#101828 !important;
  }
  .mobile-bottom-bar button.primary{
    background:#0f3d3e !important;
    color:#fff !important;
  }
}
@media(max-width:430px){
  .compact-catalog-grid{grid-template-columns:1fr !important}
  .product-img-wrap.hires{height:190px !important}
}

/* V25.9.5 persistent catalog/cart controls */
.persistent-catalog-page{
  --dock-height: 188px;
  padding-bottom:90px !important;
}
.catalog-fixed-dock{
  position:fixed !important;
  top:64px !important;
  left:0 !important;
  right:0 !important;
  z-index:1100 !important;
  background:rgba(248,250,252,.985) !important;
  backdrop-filter:blur(14px) !important;
  border-bottom:1px solid #d0d5dd !important;
  box-shadow:0 14px 30px rgba(15,23,42,.14) !important;
  padding:12px clamp(10px,2vw,24px) !important;
}
.catalog-spacer{height:var(--dock-height) !important}
.enterprise-catalog{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 410px !important;
  gap:18px !important;
  align-items:start !important;
  overflow:visible !important;
}
.sticky-cart{
  position:fixed !important;
  right:18px !important;
  top:calc(64px + var(--dock-height) + 10px) !important;
  width:390px !important;
  max-height:calc(100vh - 64px - var(--dock-height) - 24px) !important;
  overflow:auto !important;
  z-index:1000 !important;
  box-shadow:0 16px 38px rgba(15,23,42,.14) !important;
}
.enterprise-catalog > section{
  margin-right:410px !important;
}
.cart-sticky-footer{
  position:sticky !important;
  bottom:0 !important;
  background:#fff !important;
  z-index:40 !important;
  padding-top:10px !important;
  border-top:1px solid #e5e7eb !important;
}
.mobile-cart-close{display:none}
.compact-cats{
  display:flex !important;
  overflow-x:auto !important;
  white-space:nowrap !important;
  gap:8px !important;
  -webkit-overflow-scrolling:touch !important;
  padding-bottom:4px !important;
}
.compact-cats .chip{flex:0 0 auto !important}
.professional-mobile-bar{display:none}
@media(max-width:1180px){
  .enterprise-catalog{grid-template-columns:1fr !important}
  .enterprise-catalog > section{margin-right:0 !important}
  .sticky-cart{
    position:fixed !important;
    right:14px !important;
    width:360px !important;
  }
}
@media(max-width:760px){
  .persistent-catalog-page{--dock-height: 252px}
  .catalog-fixed-dock{
    top:54px !important;
    padding:10px !important;
  }
  .catalog-spacer{height:var(--dock-height) !important}
  .catalog-fixed-dock .compact-toolbar{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
  }
  .catalog-fixed-dock h2{font-size:1.12rem !important;margin:0 !important}
  .catalog-fixed-dock .sub{display:none !important}
  .catalog-main-actions{display:flex !important;gap:6px !important}
  .desktop-only{display:none !important}
  .compact-search{
    display:grid !important;
    grid-template-columns:1fr 84px !important;
    gap:8px !important;
  }
  .compact-search input:first-child{grid-column:1/-1 !important}
  .compact-search .qty-small{width:100% !important}
  .compact-cats{margin-top:8px !important}
  .compact-catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .product-img-wrap.hires{height:145px !important}
  .product-card{padding:10px !important}
  .product-title{font-size:.88rem !important}
  .price-grid{grid-template-columns:1fr !important}
  .qty-row.compact-add{grid-template-columns:66px 1fr !important}
  .sticky-cart{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    width:100% !important;
    max-height:76dvh !important;
    z-index:1400 !important;
    border-radius:22px 22px 0 0 !important;
    transform:translateY(calc(100% - 0px)) !important;
    transition:transform .22s ease !important;
    box-shadow:0 -16px 44px rgba(15,23,42,.22) !important;
  }
  .sticky-cart.mobile-cart-open{
    transform:translateY(0) !important;
  }
  .mobile-cart-close{display:inline-flex !important}
  .professional-mobile-bar{
    display:grid !important;
    grid-template-columns:1fr 1fr 1.35fr 1.55fr !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:1300 !important;
    gap:6px !important;
    padding:9px calc(9px + env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) calc(9px + env(safe-area-inset-left)) !important;
    background:rgba(255,255,255,.985) !important;
    border-top:1px solid #d0d5dd !important;
    box-shadow:0 -10px 30px rgba(15,23,42,.15) !important;
  }
  .professional-mobile-bar button{
    border:0 !important;
    border-radius:13px !important;
    padding:10px 5px !important;
    font-weight:900 !important;
    background:#eef2f7 !important;
    color:#101828 !important;
    font-size:.82rem !important;
  }
  .professional-mobile-bar button.primary{
    background:#0f3d3e !important;
    color:#fff !important;
  }
  .professional-mobile-bar span{
    display:block !important;
    font-size:.72rem !important;
    font-weight:800 !important;
    opacity:.9 !important;
  }
}
@media(max-width:430px){
  .persistent-catalog-page{--dock-height: 264px}
  .compact-catalog-grid{grid-template-columns:1fr !important}
  .product-img-wrap.hires{height:190px !important}
}

/* V25.9.6 Add Case button layout hotfix */
.product-card{
  display:flex !important;
  flex-direction:column !important;
}
.product-add-row{
  display:grid !important;
  grid-template-columns:58px 76px minmax(120px,1fr) !important;
  gap:8px !important;
  align-items:center !important;
  margin-top:auto !important;
  padding-top:10px !important;
  border-top:1px solid #eef2f7 !important;
}
.product-add-row .qty-label{
  font-size:.78rem !important;
  font-weight:900 !important;
  color:#475467 !important;
  white-space:nowrap !important;
}
.product-add-row .case-qty-input{
  width:100% !important;
  min-width:0 !important;
  text-align:center !important;
  font-weight:900 !important;
  height:42px !important;
  padding:8px !important;
}
.product-add-row .add-case-btn{
  width:100% !important;
  min-width:118px !important;
  height:42px !important;
  padding:8px 12px !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:900 !important;
}
.compact-product .price-grid{
  margin-bottom:10px !important;
}
@media(max-width:760px){
  .product-add-row{
    grid-template-columns:50px 64px 1fr !important;
    gap:6px !important;
  }
  .product-add-row .add-case-btn{
    min-width:0 !important;
    font-size:.86rem !important;
    padding:8px 8px !important;
  }
  .product-add-row .case-qty-input{
    height:40px !important;
  }
}
@media(max-width:430px){
  .product-add-row{
    grid-template-columns:52px 68px 1fr !important;
  }
  .product-add-row .add-case-btn{
    height:44px !important;
    font-size:.9rem !important;
  }
}

/* V25.9.7 catalog layout + mobile polish */
/* Fix: previous fixed-cart layout squeezed product grid and left huge whitespace. */
.persistent-catalog-page{
  --dock-height: 142px !important;
  padding-bottom:90px !important;
}
.catalog-fixed-dock{
  top:62px !important;
  padding:10px 18px !important;
  border-radius:0 !important;
}
.catalog-fixed-dock .compact-toolbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin-bottom:8px !important;
}
.catalog-fixed-dock .compact-toolbar h2{
  margin:0 !important;
  font-size:1.28rem !important;
  line-height:1.1 !important;
}
.catalog-fixed-dock .compact-toolbar .sub{
  font-size:.82rem !important;
}
.catalog-fixed-dock .search-row{
  margin-bottom:8px !important;
}
.catalog-spacer{
  height:var(--dock-height) !important;
}

/* Desktop catalog: use normal grid columns instead of section margin-right + fixed cart squeezing. */
.enterprise-catalog{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 360px !important;
  gap:18px !important;
  align-items:start !important;
  width:100% !important;
  max-width:100% !important;
}
.enterprise-catalog > section{
  margin-right:0 !important;
  min-width:0 !important;
}
.compact-catalog-grid,
.catalog-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
  width:100% !important;
}
.sticky-cart{
  position:sticky !important;
  top:calc(62px + var(--dock-height) + 12px) !important;
  right:auto !important;
  width:auto !important;
  max-height:calc(100vh - 62px - var(--dock-height) - 24px) !important;
  overflow:auto !important;
  z-index:700 !important;
  box-shadow:0 14px 34px rgba(15,23,42,.12) !important;
}

/* Product cards: more consistent professional grid height. */
.product-card{
  min-width:0 !important;
  height:100% !important;
  border-radius:18px !important;
}
.product-img-wrap.hires{
  height:160px !important;
  background:#fff !important;
}
.product-title{
  font-size:.95rem !important;
  min-height:42px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.product-meta.compact-meta{
  font-size:.78rem !important;
}
.price-grid.compact-price{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:6px !important;
}
.price-cell{
  min-width:0 !important;
  padding:8px !important;
}

/* Cleaner search row sizing */
.compact-search{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) 92px auto 74px 106px !important;
  gap:8px !important;
  align-items:center !important;
}
.compact-search .btn{
  min-height:42px !important;
}
.compact-search .qty-small{
  max-width:74px !important;
  text-align:center !important;
}

/* Category row stays visible but compact */
.compact-cats{
  max-height:42px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

/* Laptop widths: keep 3+ product columns where possible */
@media(max-width:1280px){
  .enterprise-catalog{
    grid-template-columns:minmax(0, 1fr) 330px !important;
  }
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)) !important;
    gap:14px !important;
  }
}

/* Tablet: cart becomes normal section below products, no squeezing. */
@media(max-width:1020px){
  .persistent-catalog-page{
    --dock-height: 158px !important;
  }
  .enterprise-catalog{
    grid-template-columns:1fr !important;
  }
  .sticky-cart{
    position:relative !important;
    top:auto !important;
    max-height:none !important;
    width:100% !important;
  }
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)) !important;
  }
}

/* Mobile: app-like layout, fixed header + bottom cart bar + slide-up cart. */
@media(max-width:760px){
  .persistent-catalog-page{
    --dock-height: 214px !important;
    padding-bottom:86px !important;
  }
  .catalog-fixed-dock{
    top:52px !important;
    padding:9px !important;
  }
  .catalog-fixed-dock .compact-toolbar{
    gap:8px !important;
    margin-bottom:7px !important;
  }
  .catalog-fixed-dock .compact-toolbar h2{
    font-size:1.05rem !important;
  }
  .catalog-fixed-dock .compact-toolbar .sub{
    display:block !important;
    font-size:.72rem !important;
  }
  .catalog-main-actions .btn{
    padding:8px 10px !important;
    font-size:.82rem !important;
    min-height:38px !important;
  }
  .compact-search{
    grid-template-columns:1fr 78px !important;
    gap:7px !important;
  }
  .compact-search input:first-child{
    grid-column:1/-1 !important;
  }
  .compact-search .qty-small{
    max-width:none !important;
  }
  .compact-search .btn{
    min-height:38px !important;
    padding:7px 8px !important;
    font-size:.82rem !important;
  }
  .compact-cats{
    max-height:39px !important;
    gap:6px !important;
  }
  .compact-cats .chip{
    padding:8px 10px !important;
    font-size:.78rem !important;
  }
  .catalog-spacer{
    height:var(--dock-height) !important;
  }
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  .product-card{
    border-radius:16px !important;
    padding:9px !important;
  }
  .product-img-wrap.hires{
    height:132px !important;
    padding:5px !important;
  }
  .product-title{
    font-size:.84rem !important;
    min-height:36px !important;
  }
  .product-meta.compact-meta{
    font-size:.70rem !important;
  }
  .price-grid.compact-price{
    grid-template-columns:1fr !important;
  }
  .price-cell{
    display:flex !important;
    justify-content:space-between !important;
    padding:6px 8px !important;
  }
  .product-add-row{
    grid-template-columns:44px 58px 1fr !important;
    gap:5px !important;
  }
  .product-add-row .qty-label{
    font-size:.68rem !important;
  }
  .product-add-row .case-qty-input{
    height:38px !important;
    font-size:.84rem !important;
  }
  .product-add-row .add-case-btn{
    height:38px !important;
    font-size:.78rem !important;
    padding:6px !important;
  }
  .sticky-cart{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    width:100% !important;
    max-height:78dvh !important;
    transform:translateY(100%) !important;
    transition:transform .24s ease !important;
    z-index:1500 !important;
    border-radius:22px 22px 0 0 !important;
    box-shadow:0 -16px 44px rgba(15,23,42,.24) !important;
  }
  .sticky-cart.mobile-cart-open{
    transform:translateY(0) !important;
  }
  .professional-mobile-bar{
    display:grid !important;
    z-index:1400 !important;
  }
}

/* Very small phones: one clean column. */
@media(max-width:390px){
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:1fr !important;
  }
  .product-img-wrap.hires{
    height:178px !important;
  }
}

/* V25.9.8 LAYOUT STABILIZATION AUDIT
   Rule: no fixed catalog dock on desktop. Use sticky normal-flow header to prevent overlap.
*/
html,body{
  overflow-x:hidden !important;
}
.page{
  overflow:visible !important;
  width:100% !important;
  max-width:100% !important;
}
.topbar{
  position:sticky !important;
  top:0 !important;
  z-index:900 !important;
  background:rgba(248,250,252,.98) !important;
  backdrop-filter:blur(12px) !important;
}
.stable-catalog-page{
  width:100% !important;
  max-width:100% !important;
  padding-bottom:92px !important;
  overflow:visible !important;
}

/* Remove old fixed dock behavior completely */
.catalog-fixed-dock,
.catalog-sticky-dock{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  box-shadow:none !important;
}
.catalog-spacer{
  display:none !important;
  height:0 !important;
}

/* Professional sticky header in normal document flow */
.catalog-stable-header{
  position:sticky !important;
  top:62px !important;
  z-index:850 !important;
  background:rgba(248,250,252,.985) !important;
  backdrop-filter:blur(12px) !important;
  border:1px solid #d0d5dd !important;
  border-radius:18px !important;
  padding:12px !important;
  margin:0 0 16px 0 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.10) !important;
}
.catalog-title-row{
  display:flex !important;
  justify-content:space-between !important;
  gap:12px !important;
  align-items:center !important;
  margin-bottom:10px !important;
}
.catalog-title-row h2{
  margin:0 !important;
  font-size:1.35rem !important;
  line-height:1.1 !important;
}
.catalog-actions{
  display:flex !important;
  gap:8px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
.catalog-search-row{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) 96px auto 78px 112px !important;
  gap:8px !important;
  align-items:center !important;
  margin-bottom:9px !important;
}
.catalog-search-row .input,
.catalog-search-row .btn{
  min-height:42px !important;
}
.catalog-search-row .qty-small{
  text-align:center !important;
  max-width:78px !important;
}
.catalog-category-row{
  display:flex !important;
  gap:8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  white-space:nowrap !important;
  padding:2px 0 6px !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:thin !important;
}
.catalog-category-row .chip{
  flex:0 0 auto !important;
}

/* Main workspace: no overlap, no squeeze */
.catalog-workspace{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 360px !important;
  gap:18px !important;
  align-items:start !important;
  width:100% !important;
  max-width:100% !important;
}
.catalog-main-section{
  min-width:0 !important;
  margin:0 !important;
}
.stable-product-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
  width:100% !important;
}
.stable-cart-panel,
.cart-panel{
  position:sticky !important;
  top:210px !important;
  max-height:calc(100vh - 226px) !important;
  overflow:auto !important;
  width:100% !important;
  box-shadow:0 14px 34px rgba(15,23,42,.10) !important;
}

/* Product cards */
.product-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
.product-img-wrap.hires{
  height:160px !important;
  padding:8px !important;
}
.product-title{
  min-height:42px !important;
  font-size:.94rem !important;
  line-height:1.25 !important;
}
.price-grid.compact-price{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:6px !important;
}

/* Add Case: stable 2-part layout, never overlap */
.product-add-row{
  display:grid !important;
  grid-template-columns:86px minmax(110px,1fr) !important;
  gap:8px !important;
  align-items:end !important;
  margin-top:auto !important;
  padding-top:10px !important;
  border-top:1px solid #eef2f7 !important;
}
.case-control{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  min-width:0 !important;
}
.case-control .qty-label{
  font-size:.76rem !important;
  font-weight:900 !important;
  color:#475467 !important;
}
.case-qty-input{
  width:100% !important;
  min-width:0 !important;
  height:42px !important;
  text-align:center !important;
  font-weight:900 !important;
}
.add-case-btn{
  width:100% !important;
  min-width:0 !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  font-weight:900 !important;
  padding:8px 10px !important;
}

/* Mobile bottom action bar */
.stable-mobile-actions{
  display:none !important;
}

/* Layout audit: all major panels */
.panel,.card,.qb-report,.table-wrap{
  max-width:100% !important;
  box-sizing:border-box !important;
}
table{
  max-width:100% !important;
}

/* Tablet */
@media(max-width:1100px){
  .catalog-workspace{
    grid-template-columns:1fr !important;
  }
  .stable-cart-panel,
  .cart-panel{
    position:relative !important;
    top:auto !important;
    max-height:none !important;
  }
  .stable-product-grid{
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr)) !important;
  }
}

/* Mobile app-style layout */
@media(max-width:760px){
  .topbar{
    top:0 !important;
  }
  .top-inner{
    gap:8px !important;
    align-items:flex-start !important;
  }
  .brand .sub{
    display:none !important;
  }
  .nav{
    width:100% !important;
    overflow-x:auto !important;
    display:flex !important;
    gap:6px !important;
    padding-bottom:4px !important;
  }
  .nav .btn{
    white-space:nowrap !important;
    padding:8px 10px !important;
    font-size:.82rem !important;
  }
  .page{
    padding:8px !important;
  }
  .stable-catalog-page{
    padding-bottom:84px !important;
  }
  .catalog-stable-header{
    top:54px !important;
    border-radius:14px !important;
    padding:9px !important;
    margin:0 0 10px 0 !important;
  }
  .catalog-title-row{
    margin-bottom:7px !important;
    gap:8px !important;
  }
  .catalog-title-row h2{
    font-size:1.05rem !important;
  }
  .catalog-title-row .sub{
    display:block !important;
    font-size:.70rem !important;
    line-height:1.15 !important;
  }
  .catalog-actions .btn{
    min-height:36px !important;
    padding:7px 9px !important;
    font-size:.78rem !important;
  }
  .desktop-only{
    display:none !important;
  }
  .catalog-search-row{
    grid-template-columns:1fr 76px !important;
    gap:7px !important;
    margin-bottom:7px !important;
  }
  .catalog-search-row input:first-child{
    grid-column:1/-1 !important;
  }
  .catalog-search-row .btn{
    min-height:36px !important;
    padding:7px 8px !important;
    font-size:.78rem !important;
  }
  .catalog-search-row .qty-small{
    max-width:none !important;
    min-height:36px !important;
  }
  .catalog-category-row{
    gap:6px !important;
    padding-bottom:5px !important;
    max-height:none !important;
  }
  .catalog-category-row .chip{
    padding:8px 10px !important;
    font-size:.76rem !important;
  }
  .catalog-workspace{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .stable-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .product-card{
    padding:9px !important;
    border-radius:15px !important;
  }
  .product-img-wrap.hires{
    height:124px !important;
    padding:5px !important;
  }
  .product-title{
    min-height:34px !important;
    font-size:.82rem !important;
    line-height:1.18 !important;
  }
  .product-meta.compact-meta{
    font-size:.68rem !important;
  }
  .price-grid.compact-price{
    grid-template-columns:1fr !important;
    gap:4px !important;
  }
  .price-cell{
    display:flex !important;
    justify-content:space-between !important;
    padding:6px 7px !important;
    font-size:.72rem !important;
  }
  .product-add-row{
    grid-template-columns:64px 1fr !important;
    gap:6px !important;
  }
  .case-control .qty-label{
    font-size:.66rem !important;
  }
  .case-qty-input{
    height:38px !important;
    font-size:.82rem !important;
  }
  .add-case-btn{
    height:38px !important;
    font-size:.78rem !important;
    padding:6px !important;
  }
  .stable-cart-panel,
  .cart-panel{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    width:100% !important;
    max-height:76dvh !important;
    z-index:1500 !important;
    transform:translateY(100%) !important;
    transition:transform .22s ease !important;
    border-radius:22px 22px 0 0 !important;
    box-shadow:0 -18px 46px rgba(15,23,42,.24) !important;
  }
  .cart-panel.mobile-cart-open{
    transform:translateY(0) !important;
  }
  .mobile-cart-close{
    display:inline-flex !important;
  }
  .stable-mobile-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr 1.35fr 1.55fr !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:1400 !important;
    gap:6px !important;
    padding:9px calc(9px + env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) calc(9px + env(safe-area-inset-left)) !important;
    background:rgba(255,255,255,.985) !important;
    border-top:1px solid #d0d5dd !important;
    box-shadow:0 -10px 30px rgba(15,23,42,.15) !important;
  }
  .stable-mobile-actions button{
    border:0 !important;
    border-radius:13px !important;
    padding:10px 5px !important;
    font-weight:900 !important;
    background:#eef2f7 !important;
    color:#101828 !important;
    font-size:.78rem !important;
    min-width:0 !important;
  }
  .stable-mobile-actions button.primary{
    background:#0f3d3e !important;
    color:#fff !important;
  }
  .stable-mobile-actions span{
    display:block !important;
    font-size:.68rem !important;
    font-weight:800 !important;
  }
}

/* Tiny phones: one column to eliminate all overlap. */
@media(max-width:420px){
  .stable-product-grid{
    grid-template-columns:1fr !important;
  }
  .product-img-wrap.hires{
    height:176px !important;
  }
  .product-title{
    font-size:.90rem !important;
  }
}

/* V26.4 customer account dashboard */
.customer-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0}
.kpi-card{background:#fff;border:1px solid #d0d5dd;border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.kpi-card span{display:block;color:#667085;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.kpi-card b{display:block;font-size:1.45rem;margin:6px 0;color:#101828}
.kpi-card small{color:#667085}
.customer-history-table th{text-transform:uppercase;letter-spacing:.04em;font-size:.76rem}
.customer-report-grid{align-items:start}
@media(max-width:760px){.customer-kpis{grid-template-columns:1fr}.customer-purchase-history .table-wrap,.customer-account-dashboard .table-wrap{overflow-x:auto}.customer-history-table{min-width:760px}}

/* V26.4.4 Catalog Grid Consistency Patch
   Purpose: keep the current preferred catalog design but make desktop row counts more stable.
   No business logic changes.
*/
:root{
  --pw-product-card-min: 178px;
  --pw-product-card-ideal: 1fr;
  --pw-catalog-gap: 14px;
  --pw-cart-width: 330px;
}
.catalog-workspace,
.enterprise-catalog{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) var(--pw-cart-width) !important;
  gap:16px !important;
  align-items:start !important;
}
.catalog-main-section,
.enterprise-catalog > section{
  min-width:0 !important;
  margin-right:0 !important;
}
.stable-product-grid,
.compact-catalog-grid,
.catalog-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(var(--pw-product-card-min), var(--pw-product-card-ideal))) !important;
  gap:var(--pw-catalog-gap) !important;
  align-items:stretch !important;
  width:100% !important;
}
.product-card{
  min-width:0 !important;
  height:100% !important;
}
.product-img-wrap.hires{
  height:150px !important;
}
.product-title{
  min-height:40px !important;
  line-height:1.22 !important;
}
.stable-cart-panel,
.cart-panel,
.sticky-cart{
  width:100% !important;
  max-width:var(--pw-cart-width) !important;
}

/* Large desktops: target 6 products when space allows. */
@media(min-width:1500px){
  :root{
    --pw-product-card-min: 176px;
    --pw-catalog-gap: 14px;
    --pw-cart-width: 340px;
  }
}

/* Normal laptop/desktop: target 5 products more consistently. */
@media(min-width:1180px) and (max-width:1499px){
  :root{
    --pw-product-card-min: 185px;
    --pw-catalog-gap: 13px;
    --pw-cart-width: 320px;
  }
}

/* DevTools open / narrower desktop: avoid awkward 2-column squeeze, target 4. */
@media(min-width:980px) and (max-width:1179px){
  :root{
    --pw-product-card-min: 190px;
    --pw-catalog-gap: 12px;
    --pw-cart-width: 300px;
  }
}

/* Tablet: cart moves below products and grid targets 3 columns. */
@media(max-width:979px){
  .catalog-workspace,
  .enterprise-catalog{
    grid-template-columns:1fr !important;
  }
  .stable-cart-panel,
  .cart-panel,
  .sticky-cart{
    max-width:none !important;
  }
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)) !important;
  }
}

/* Mobile: clean 2-column catalog where possible. */
@media(max-width:760px){
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  .product-img-wrap.hires{
    height:132px !important;
  }
}

/* Very small phones: one column prevents overlap. */
@media(max-width:420px){
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:1fr !important;
  }
  .product-img-wrap.hires{
    height:176px !important;
  }
}

/* V26.4.5 CATALOG GRID OVERLAP FINAL FIX
   This deliberately overrides V26.4.4 auto-fill rules.
   Desktop uses explicit column counts so product cards cannot squeeze/overlap.
*/
.catalog-workspace,
.enterprise-catalog{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 340px !important;
  gap:18px !important;
  align-items:start !important;
  overflow:visible !important;
}
.catalog-main-section,
.enterprise-catalog > section{
  min-width:0 !important;
  overflow:hidden !important;
}
.stable-product-grid,
.compact-catalog-grid,
.catalog-grid{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
  width:100% !important;
  overflow:hidden !important;
}
.product-card{
  min-width:0 !important;
  max-width:100% !important;
  width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:18px !important;
}
.product-card *{
  box-sizing:border-box !important;
}
.product-img-wrap.hires{
  height:155px !important;
  width:100% !important;
  overflow:hidden !important;
}
.product-img-wrap.hires img,
.product-card img{
  max-width:100% !important;
  object-fit:contain !important;
}
.product-title{
  font-size:.92rem !important;
  line-height:1.18 !important;
  min-height:42px !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
}
.product-meta,
.product-meta.compact-meta{
  min-width:0 !important;
  overflow:hidden !important;
}
.price-grid,
.price-grid.compact-price{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:6px !important;
}
.price-cell{
  min-width:0 !important;
  overflow:hidden !important;
  padding:7px !important;
}
.product-add-row{
  display:grid !important;
  grid-template-columns:72px minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:end !important;
  width:100% !important;
  overflow:hidden !important;
}
.case-control,
.case-qty-input,
.add-case-btn{
  min-width:0 !important;
  max-width:100% !important;
}
.add-case-btn{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding-left:8px !important;
  padding-right:8px !important;
}
.stable-cart-panel,
.cart-panel,
.sticky-cart{
  max-width:340px !important;
  width:100% !important;
}

/* Wide desktop can show 6, but never 8. */
@media(min-width:1680px){
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  }
}

/* Normal laptop and DevTools-open desktop: 4 clean columns. */
@media(max-width:1280px){
  .catalog-workspace,
  .enterprise-catalog{
    grid-template-columns:minmax(0, 1fr) 320px !important;
  }
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:14px !important;
  }
  .stable-cart-panel,
  .cart-panel,
  .sticky-cart{
    max-width:320px !important;
  }
}

/* Tablet: no side cart squeeze. */
@media(max-width:980px){
  .catalog-workspace,
  .enterprise-catalog{
    grid-template-columns:1fr !important;
  }
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
  .stable-cart-panel,
  .cart-panel,
  .sticky-cart{
    max-width:none !important;
  }
}

/* Mobile: 2 clean cards. */
@media(max-width:760px){
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  .product-img-wrap.hires{
    height:132px !important;
  }
  .product-add-row{
    grid-template-columns:62px minmax(0, 1fr) !important;
  }
  .price-grid,
  .price-grid.compact-price{
    grid-template-columns:1fr !important;
  }
}

/* Very small phones: one clean card. */
@media(max-width:420px){
  .stable-product-grid,
  .compact-catalog-grid,
  .catalog-grid{
    grid-template-columns:1fr !important;
  }
  .product-img-wrap.hires{
    height:176px !important;
  }
}

/* V26.6 sales rep portal shell */
.sales-rep-portal-shell .qb-table th,.sales-rep-customer-request-design label span{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:900;color:#475467}
.sales-rep-customer-request-design label{display:flex;flex-direction:column;gap:6px}
.status-good{background:#ecfdf3;border:1px solid #abefc6;border-radius:14px;padding:10px;color:#027a48}

/* V26.6.1 sales rep nav visibility hotfix */
.sales-rep-dashboard-shortcut{
  border:1px solid #abefc6 !important;
  background:#ecfdf3 !important;
}
.nav, .top-nav, .tabs{
  overflow-x:auto;
  white-space:nowrap;
}

/* V26.7 customer branch/store shell */
.branch-selector-card{
  display:flex;
  gap:12px;
  align-items:end;
  flex-wrap:wrap;
  background:#f8fafc;
  border:1px solid #d0d5dd;
  border-radius:18px;
  padding:14px;
  margin-bottom:14px;
}
.branch-selector-card label{
  flex:1 1 280px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.branch-selector-card label span,
.customer-add-branch-request label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.customer-add-branch-request label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.customer-branch-manager .qb-table th{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
}

/* V26.8 customer profile stores/locations architecture */
.customer-profile-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  background:#f8fafc;
  border:1px solid #d0d5dd;
  border-radius:18px;
  padding:16px;
  margin-bottom:12px;
}
.customer-profile-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:8px;
  margin-bottom:12px;
}
.customer-profile-locations-architecture .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* V26.9 customer location filter + order guard architecture */
.location-mode-card{
  background:#f8fafc;
  border:1px solid #d0d5dd;
  border-radius:18px;
  padding:16px;
  margin-bottom:14px;
}
.location-mode-card label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.location-mode-card label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}

/* V26.9.3 route render fix */
.sales-rep-dashboard-shortcut{
  border:1px solid #d0d5dd !important;
  background:#f8fafc !important;
}
.ar-page .kpi-grid{
  margin-bottom:16px;
}
.ar-table td,.ar-table th{
  white-space:nowrap;
}

/* V27.0 Sales Rep First Implementation Blueprint */
.sales-rep-first-blueprint .qb-table th,
.sales-rep-assignment-design label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.sales-rep-assignment-design label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-rep-first-blueprint{
  border:1px solid #d0d5dd;
}

/* V27.1 Sales Rep RLS Staging Plan */
.sales-rep-rls-staging-plan .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-rls-staging-plan li{
  margin:6px 0;
}

/* V27.2 Sales Rep Assignment Center */
.sales-rep-assignment-center .qb-table th{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
}
.sales-rep-assignment-center .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}

/* V27.3 Sales Rep Order Workflow Architecture */
.sales-rep-order-workflow label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-rep-order-workflow label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.sales-rep-order-workflow textarea.input{
  min-height:110px;
  resize:vertical;
}
.sales-rep-order-workflow .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.sales-rep-order-workflow .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}

/* V27.4 Sales Rep Read-Only Portal Preview */
.sales-rep-readonly-preview .warning-panel,
.sales-rep-order-preview .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-order-preview label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-rep-order-preview label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.sales-rep-order-preview textarea.input{
  min-height:105px;
  resize:vertical;
}
.preview-product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.preview-product-card{
  display:grid;
  gap:10px;
  border:1px solid #d0d5dd;
  border-radius:16px;
  padding:12px;
  background:#fff;
}

/* V27.5 Sales Rep Live Data Readiness */
.sales-rep-live-data-readiness .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-live-data-readiness li{
  margin:6px 0;
}

/* V27.5.1 Live Data Readiness visibility hotfix */
.live-data-readiness-shortcut,
.salesrep-visibility-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:12px 0 16px;
}

/* V27.5.2 hard visibility fix */
.live-data-hard-shortcut{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:10px 0 16px;
  padding:12px;
  border:1px solid #abefc6;
  background:#ecfdf3;
  border-radius:14px;
}
.live-data-main-btn{
  box-shadow:0 0 0 2px rgba(0,0,0,.04);
}

/* V27.6 Sales Rep Assigned-Customer Live Read-Only */
.sales-rep-assigned-readonly .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-assigned-readonly li{ margin:6px 0; }

/* V27.7 Sales Rep Assignment Table Staging SQL Package */
.sales-rep-staging-sql .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-staging-sql .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.sales-rep-staging-sql code{
  background:#f2f4f7;
  padding:2px 6px;
  border-radius:6px;
}

/* V27.8 Sales Rep Assignment Admin UI Live-Readiness */
.sales-rep-assignment-live-readiness .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-assignment-live-readiness label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-rep-assignment-live-readiness label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.sales-rep-assignment-live-readiness textarea.input{
  min-height:100px;
}
.assignment-draft-grid .span-3{
  grid-column:1 / -1;
}

/* V27.9 Sales Rep Assignment Write-Path Staging Design */
.sales-rep-assignment-writepath .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-assignment-writepath label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-rep-assignment-writepath label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.sales-rep-assignment-writepath textarea.input{
  min-height:100px;
}
.sales-rep-assignment-writepath .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.writepath-modes ol li{
  margin:5px 0;
}
.sales-rep-assignment-writepath .span-3{
  grid-column:1 / -1;
}

/* V28.0 Sales Rep Staging Write Enablement Plan */
.sales-rep-staging-write-enablement .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-staging-write-enablement .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.sales-rep-staging-write-enablement code{
  background:#f2f4f7;
  padding:2px 6px;
  border-radius:6px;
}
.sales-rep-staging-write-enablement li{
  margin:6px 0;
}

/* V28.1 Sales Rep Assignment Write Dry-Run */
.sales-rep-assignment-dryrun .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-assignment-dryrun label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-rep-assignment-dryrun label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.sales-rep-assignment-dryrun .span-2{
  grid-column:span 2;
}
.sales-rep-assignment-dryrun pre{
  white-space:pre-wrap;
  background:#101828;
  color:#f9fafb;
  padding:12px;
  border-radius:12px;
  overflow:auto;
}
.sales-rep-assignment-dryrun code{
  background:#f2f4f7;
  padding:2px 6px;
  border-radius:6px;
}

/* V28.2 Sales Rep Assignment Staging Write Toggle */
.sales-rep-staging-write-toggle .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-staging-write-toggle .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.sales-rep-staging-write-toggle li{
  margin:6px 0;
}

/* V28.3 Sales Rep Production-Ready Assignment Module */
.sales-rep-prod-module .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-prod-module .success-panel{
  border:1px solid #75e0a7 !important;
  background:#ecfdf3 !important;
}
.sales-rep-prod-module .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* V28.4 Sales Rep Staging Integration Harness */
.sales-rep-staging-harness .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-staging-harness .success-panel{
  border:1px solid #75e0a7 !important;
  background:#ecfdf3 !important;
}
.sales-rep-staging-harness label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-rep-staging-harness label span{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  font-weight:900;
  color:#475467;
}
.sales-rep-staging-harness .check-row{
  flex-direction:row;
  align-items:center;
  font-weight:700;
}
.sales-rep-staging-harness pre{
  white-space:pre-wrap;
  background:#101828;
  color:#f9fafb;
  padding:12px;
  border-radius:12px;
  overflow:auto;
}
.sales-rep-staging-harness code{
  background:#f2f4f7;
  padding:2px 6px;
  border-radius:6px;
}

/* V28.5 Sales Rep Real Staging Table Detection */
.sales-rep-table-detection .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-table-detection .success-panel{
  border:1px solid #75e0a7 !important;
  background:#ecfdf3 !important;
}
.sales-rep-table-detection code{
  background:#f2f4f7;
  padding:2px 6px;
  border-radius:6px;
}

/* V28.6 Sales Rep Production Readiness Gate Matrix */
.sales-rep-production-readiness .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-production-readiness .success-panel{
  border:1px solid #75e0a7 !important;
  background:#ecfdf3 !important;
}

/* V28.7 Sales Rep Live Staging/RLS Checklist Runner */
.sales-rep-live-rls-runner .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-live-rls-runner .qb-table td .btn{
  margin:2px;
}

/* V28.7.1 Supabase Client Detection Hotfix */
.client-resolver-note{
  font-size:.9rem;
  color:#475467;
}

/* V28.7.2 Sales Rep Login Portal Hotfix */
.sales-rep-live-portal .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-live-portal li{margin:6px 0;}

/* V28.7.3 Sales Rep Role Resolution Hotfix */
.qb-table code{font-size:.85rem;}

/* V28.7.4 Sales Rep Live Portal Routing Fix */
.sales-rep-live-portal-fixed .warning-panel{
  border:1px solid #fdb022 !important;
  background:#fffaeb !important;
}
.sales-rep-live-portal-fixed code{
  background:#f2f4f7;
  padding:2px 6px;
  border-radius:6px;
}

/* V28.8 Sales Rep Order Creation Workflow Design */
.sales-rep-order-creation-design .warning-panel{border:1px solid #fdb022!important;background:#fffaeb!important}
.sales-rep-order-creation-design .success-panel{border:1px solid #75e0a7!important;background:#ecfdf3!important}
.sales-rep-order-creation-design li{margin:6px 0}
.sales-rep-order-creation-design code{background:#f2f4f7;padding:2px 6px;border-radius:6px}

/* V28.8.1 Order Workflow Button Global Fix */
.sales-rep-order-creation-design .warning-panel{border:1px solid #fdb022!important;background:#fffaeb!important}

/* V28.9 Sales Rep Customer Catalog Mode Draft Cart Permission Design */
.sales-rep-catalog-draft-design .warning-panel{border:1px solid #fdb022!important;background:#fffaeb!important}
.sales-rep-catalog-draft-design .success-panel{border:1px solid #75e0a7!important;background:#ecfdf3!important}
.sales-rep-catalog-draft-design .mini-card{border:1px solid #eaecf0;border-radius:16px;padding:14px;background:#fff}
.sales-rep-catalog-draft-design .danger-card{background:#fff1f3;border-color:#fda4af}
.sales-rep-catalog-draft-design .context-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;background:#f9fafb;border:1px solid #eaecf0;border-radius:16px;padding:14px}
.sales-rep-catalog-draft-design li{margin:6px 0}

/* V28.9.1 Catalog Mode Live Portal Button Fix */
.sales-rep-live-portal-fixed .btn-primary[onclick*="Catalog"]{font-weight:900;}

/* V29.0 Sales Rep Assigned Customer Catalog Shell */
.sales-rep-assigned-catalog-shell .context-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;background:#f9fafb;border:1px solid #eaecf0;border-radius:16px;padding:14px;margin-bottom:16px}
.sales-rep-assigned-catalog-shell .sales-rep-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sales-rep-assigned-catalog-shell .mini-card{border:1px solid #eaecf0;border-radius:16px;padding:14px;background:#fff}
.sales-rep-assigned-catalog-shell .product-mini{min-height:150px}

/* V29.0.1 Open Catalog Assigned Row Action Fix */
.open-catalog-fallback-added{font-weight:900;}

/* V29.0.2 Sales Rep Customer Catalog UI Parity */
.customer-catalog-parity .ordering-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;background:#f9fafb;border:1px solid #eaecf0;border-radius:16px;padding:14px;margin-bottom:16px}
.customer-catalog-parity .catalog-search-row{display:flex;gap:10px;margin:14px 0}
.customer-catalog-parity .category-pills{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.customer-catalog-parity .catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.customer-catalog-parity .sales-rep-cart-drawer{position:sticky;top:100px;border:1px solid #eaecf0;border-radius:18px;padding:16px;background:#fff}
.customer-catalog-parity .sales-rep-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.customer-catalog-parity .product-card{border:1px solid #eaecf0;border-radius:18px;background:#fff;overflow:hidden}
.customer-catalog-parity .product-image{height:145px;display:flex;align-items:center;justify-content:center;background:#f9fafb;color:#667085}
.customer-catalog-parity .product-image img{max-height:135px;max-width:95%;object-fit:contain}
.customer-catalog-parity .product-info{padding:12px}
.customer-catalog-parity .sku-pill{display:inline-block;background:#eef4ff;color:#3538cd;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}
.customer-catalog-parity .quick-add-row{display:flex;gap:8px;align-items:center}
.customer-catalog-parity .qty-input{max-width:70px}
@media(max-width:900px){.customer-catalog-parity .catalog-layout{grid-template-columns:1fr}.customer-catalog-parity .sales-rep-cart-drawer{position:relative;top:auto}}

/* V29.0.6 Sales Rep Cart Price Layout Fix */
.customer-catalog-parity .price-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:10px 0;
}
.customer-catalog-parity .price-grid div{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:10px;
  padding:8px;
}
.customer-catalog-parity .price-grid span,
.rep-cart-meta span,
.rep-cart-total span{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.rep-draft-cart-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.rep-cart-line{
  border:1px solid #eaecf0;
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.rep-cart-title{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:10px;
}
.rep-cart-title span{
  color:#667085;
  font-size:12px;
}
.rep-cart-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.rep-cart-meta div{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:10px;
  padding:8px;
}
.qty-btn{
  border:1px solid #d0d5dd;
  background:#fff;
  border-radius:8px;
  min-width:26px;
  min-height:26px;
  font-weight:900;
}
.rep-remove-btn{
  margin-top:10px;
  width:100%;
}
.rep-cart-total{
  margin-top:14px;
  border-top:1px solid #eaecf0;
  padding-top:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:18px;
}
@media(max-width:900px){
  .customer-catalog-parity .price-grid{grid-template-columns:1fr}
  .rep-cart-meta{grid-template-columns:1fr}
}

/* V29.0.7 Product Image Zoom Quality Fix */
.customer-catalog-parity .product-image{
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f9fafb;
  border-bottom:1px solid #eaecf0;
  cursor:zoom-in;
  padding:10px;
}
.customer-catalog-parity .product-image img{
  max-height:175px;
  max-width:100%;
  object-fit:contain;
  image-rendering:auto;
  cursor:zoom-in;
  transition:transform .15s ease, filter .15s ease;
}
.customer-catalog-parity .product-image:hover img{
  transform:scale(1.04);
  filter:contrast(1.03);
}
.rep-image-zoom-backdrop{
  position:fixed;
  inset:0;
  background:rgba(16,24,40,.78);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:99999;
  padding:24px;
}
.rep-image-zoom-card{
  width:min(920px,96vw);
  max-height:94vh;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  display:flex;
  flex-direction:column;
}
.rep-image-zoom-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid #eaecf0;
}
.rep-image-zoom-body{
  padding:18px;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#f9fafb;
  overflow:auto;
}
.rep-image-zoom-body img{
  max-width:100%;
  max-height:75vh;
  object-fit:contain;
}
@media(max-width:900px){
  .customer-catalog-parity .product-image{height:170px}
  .customer-catalog-parity .product-image img{max-height:155px}
}

/* V29.0.8 Sales Rep Catalog Layout + Case Pricing Fix */
.sales-rep-catalog-page{
  padding:18px;
  max-width:1600px;
  margin:0 auto;
}
.rep-catalog-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.rep-catalog-topbar h1{margin:0;font-size:34px}
.rep-catalog-actions{display:flex;gap:10px;align-items:center}
.cart-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#fff;
  color:#344054;
  margin-left:8px;
  padding:0 8px;
  font-weight:900;
}
.rep-order-context{
  display:grid;
  grid-template-columns:repeat(5,minmax(160px,1fr));
  gap:10px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:18px;
  padding:12px;
  margin-bottom:14px;
}
.rep-order-context span,
.rep-price-row span,
.rep-cart-price-grid span,
.rep-cart-total span{
  display:block;
  font-size:11px;
  line-height:1.2;
  color:#667085;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.rep-order-context b{display:block;margin-top:4px;color:#344054}
.rep-search-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin-bottom:12px;
}
.rep-category-bar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 18px;
}
.rep-cat-pill{
  border:1px solid #d0d5dd;
  background:#f2f4f7;
  color:#344054;
  border-radius:999px;
  padding:11px 16px;
  font-weight:900;
  cursor:pointer;
}
.rep-cat-pill.active{
  background:#315b5b;
  color:#fff;
  border-color:#315b5b;
}
.rep-product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
  gap:16px;
  padding-right:0;
}
.rep-product-card{
  background:#fff;
  border:1px solid #eaecf0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(16,24,40,.05);
  display:flex;
  flex-direction:column;
  min-height:460px;
}
.rep-image-box{
  height:185px;
  border:0;
  border-bottom:1px solid #eaecf0;
  background:#f9fafb;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:12px;
  cursor:zoom-in;
}
.rep-image-box img{
  max-width:100%;
  max-height:165px;
  object-fit:contain;
}
.rep-product-body{
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}
.rep-product-body h3{
  margin:0;
  font-size:18px;
  line-height:1.25;
  color:#344054;
}
.rep-upc,.rep-category{
  margin:0;
  color:#667085;
  font-size:13px;
}
.rep-price-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:6px 0;
}
.rep-price-row div{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:9px;
  min-height:62px;
}
.rep-price-row b{display:block;margin-top:4px;color:#344054}
.rep-price-row small{
  display:block;
  color:#98a2b3;
  font-size:10px;
  margin-top:2px;
}
.rep-card-footer{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:8px;
  margin-top:auto;
}
.rep-cart-shade{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(16,24,40,.40);
  z-index:99990;
}
.rep-cart-shade.open{display:block}
.rep-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(460px,96vw);
  height:100vh;
  background:#fff;
  z-index:99991;
  box-shadow:-18px 0 48px rgba(16,24,40,.22);
  transform:translateX(105%);
  transition:transform .22s ease;
  display:flex;
  flex-direction:column;
  padding:18px;
  overflow:auto;
}
.rep-cart-drawer.open{transform:translateX(0)}
.rep-cart-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  border-bottom:1px solid #eaecf0;
  padding-bottom:14px;
  margin-bottom:14px;
}
.rep-cart-header h2{margin:0}
.rep-cart-header p{margin:4px 0 0;color:#667085}
.rep-empty-cart{
  border:1px dashed #d0d5dd;
  border-radius:16px;
  padding:20px;
  text-align:center;
  color:#667085;
  background:#f9fafb;
}
.rep-draft-cart-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.rep-cart-line{
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.rep-cart-line-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.rep-cart-line-top b{display:block;color:#344054}
.rep-cart-line-top span{display:block;color:#667085;font-size:12px;margin-top:3px}
.rep-icon-remove{
  border:0;
  background:#fee4e2;
  color:#b42318;
  border-radius:10px;
  width:34px;
  height:34px;
  font-weight:900;
  font-size:20px;
  cursor:pointer;
}
.rep-cart-qty{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:9px;
}
.rep-cart-qty span{color:#667085;font-weight:800}
.qty-btn{
  border:1px solid #d0d5dd;
  background:#fff;
  border-radius:9px;
  min-width:30px;
  min-height:30px;
  font-weight:900;
  cursor:pointer;
}
.rep-cart-price-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.rep-cart-price-grid div{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:9px;
}
.rep-cart-price-grid b{display:block;margin-top:4px}
.rep-cart-total{
  margin-top:16px;
  border-top:1px solid #eaecf0;
  padding-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:20px;
}
.rep-notes{margin-top:16px}
.rep-submit-disabled{width:100%;margin-top:12px}
@media(max-width:1100px){
  .rep-order-context{grid-template-columns:repeat(2,1fr)}
  .rep-product-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
}
@media(max-width:700px){
  .rep-catalog-topbar{flex-direction:column;align-items:flex-start}
  .rep-order-context{grid-template-columns:1fr}
  .rep-search-card{grid-template-columns:1fr}
  .rep-product-grid{grid-template-columns:1fr}
}

/* V29.0.9 DEEP SALES REP CATALOG REBUILD — highest priority */
.rep-v2909-page{
  max-width:1600px!important;
  margin:0 auto!important;
  padding:22px!important;
  background:#fff!important;
}
.rep-v2909-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:16px!important;
}
.rep-v2909-header h1{
  margin:0!important;
  font-size:34px!important;
  letter-spacing:-.02em!important;
}
.rep-v2909-header p{
  margin:6px 0 0!important;
  color:#667085!important;
}
.rep-v2909-header-actions{
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
}
.rep-v2909-header-actions .btn-primary span{
  display:inline-flex!important;
  margin-left:8px!important;
  background:#fff!important;
  color:#315b5b!important;
  border-radius:999px!important;
  padding:2px 9px!important;
  font-weight:900!important;
}
.rep-v2909-context{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(150px,1fr))!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #eaecf0!important;
  background:#f9fafb!important;
  border-radius:18px!important;
  margin-bottom:16px!important;
}
.rep-v2909-context div{
  background:#fff!important;
  border:1px solid #eaecf0!important;
  border-radius:12px!important;
  padding:10px!important;
}
.rep-v2909-context label,
.rep-v2909-prices label,
.rep-v2909-cart-prices label,
.rep-v2909-case-control label,
.rep-v2909-grand-total span{
  display:block!important;
  color:#667085!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.2!important;
}
.rep-v2909-context strong{
  display:block!important;
  color:#344054!important;
  margin-top:5px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.rep-v2909-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.rep-v2909-categories{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:10px 0 20px!important;
}
.rep-v2909-cat{
  border:1px solid #d0d5dd!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  background:#f2f4f7!important;
  color:#344054!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.rep-v2909-cat.active{
  background:#315b5b!important;
  border-color:#315b5b!important;
  color:#fff!important;
}
.rep-v2909-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;
  gap:18px!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}
.rep-v2909-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:470px!important;
  border:1px solid #eaecf0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(16,24,40,.08)!important;
}
.rep-v2909-img{
  height:190px!important;
  border:0!important;
  border-bottom:1px solid #eaecf0!important;
  background:#f9fafb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  cursor:zoom-in!important;
}
.rep-v2909-img img{
  max-width:100%!important;
  max-height:168px!important;
  object-fit:contain!important;
}
.rep-v2909-body{
  padding:14px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  flex:1!important;
}
.rep-v2909-sku{
  align-self:flex-start!important;
  background:#eef4ff!important;
  color:#3538cd!important;
  border-radius:999px!important;
  padding:3px 9px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.rep-v2909-body h3{
  margin:0!important;
  color:#344054!important;
  font-size:18px!important;
  line-height:1.25!important;
}
.rep-v2909-meta{
  margin:0!important;
  color:#667085!important;
  font-size:13px!important;
}
.rep-v2909-prices{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:8px!important;
  margin:6px 0!important;
}
.rep-v2909-prices div{
  background:#f9fafb!important;
  border:1px solid #eaecf0!important;
  border-radius:12px!important;
  padding:9px!important;
  min-height:70px!important;
}
.rep-v2909-prices strong{
  display:block!important;
  margin-top:5px!important;
  color:#344054!important;
}
.rep-v2909-prices small{
  display:block!important;
  color:#98a2b3!important;
  font-size:10px!important;
  margin-top:3px!important;
}
.rep-v2909-add{
  display:grid!important;
  grid-template-columns:76px 1fr!important;
  gap:8px!important;
  margin-top:auto!important;
}
.rep-v2909-cart-shade{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  background:rgba(16,24,40,.45)!important;
  z-index:99990!important;
}
.rep-v2909-cart-shade.open{display:block!important}
.rep-v2909-cart{
  position:fixed!important;
  top:0!important;
  right:0!important;
  width:min(480px,96vw)!important;
  height:100vh!important;
  background:#fff!important;
  z-index:99991!important;
  box-shadow:-20px 0 60px rgba(16,24,40,.25)!important;
  transform:translateX(105%)!important;
  transition:transform .22s ease!important;
  overflow:auto!important;
  padding:18px!important;
  display:block!important;
}
.rep-v2909-cart.open{transform:translateX(0)!important}
.rep-v2909-cart-head{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  align-items:flex-start!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #eaecf0!important;
  margin-bottom:14px!important;
}
.rep-v2909-cart-head h2{
  margin:0!important;
  font-size:26px!important;
}
.rep-v2909-cart-head p{
  margin:4px 0 0!important;
  color:#667085!important;
}
.rep-v2909-empty-cart,
.rep-v2909-empty{
  background:#f9fafb!important;
  border:1px dashed #d0d5dd!important;
  border-radius:16px!important;
  padding:22px!important;
  text-align:center!important;
  color:#667085!important;
}
.rep-v2909-cart-list{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.rep-v2909-cart-line{
  background:#fff!important;
  border:1px solid #eaecf0!important;
  border-radius:16px!important;
  padding:12px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
}
.rep-v2909-cart-title{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
.rep-v2909-cart-title strong{
  display:block!important;
  color:#344054!important;
}
.rep-v2909-cart-title span{
  display:block!important;
  color:#667085!important;
  font-size:12px!important;
  margin-top:3px!important;
}
.rep-v2909-cart-title button{
  border:0!important;
  background:#fee4e2!important;
  color:#b42318!important;
  border-radius:10px!important;
  width:34px!important;
  height:34px!important;
  font-size:20px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.rep-v2909-case-control{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  background:#f9fafb!important;
  border:1px solid #eaecf0!important;
  border-radius:12px!important;
  padding:10px!important;
  margin-bottom:10px!important;
}
.rep-v2909-case-control div{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.rep-v2909-case-control button{
  width:30px!important;
  height:30px!important;
  border:1px solid #d0d5dd!important;
  background:#fff!important;
  border-radius:9px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.rep-v2909-cart-prices{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:8px!important;
}
.rep-v2909-cart-prices div{
  background:#f9fafb!important;
  border:1px solid #eaecf0!important;
  border-radius:12px!important;
  padding:9px!important;
}
.rep-v2909-cart-prices strong{
  display:block!important;
  margin-top:5px!important;
  color:#344054!important;
}
.rep-v2909-cart-prices small{
  display:block!important;
  color:#98a2b3!important;
  font-size:10px!important;
  margin-top:2px!important;
}
.rep-v2909-grand-total{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid #eaecf0!important;
  font-size:20px!important;
}
@media(max-width:1100px){
  .rep-v2909-context{grid-template-columns:repeat(2,1fr)!important}
  .rep-v2909-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important}
}
@media(max-width:700px){
  .rep-v2909-page{padding:12px!important}
  .rep-v2909-header{flex-direction:column!important;align-items:flex-start!important}
  .rep-v2909-context{grid-template-columns:1fr!important}
  .rep-v2909-search{grid-template-columns:1fr!important}
  .rep-v2909-grid{grid-template-columns:1fr!important}
  .rep-v2909-prices{grid-template-columns:1fr!important}
  .rep-v2909-cart-prices{grid-template-columns:1fr!important}
}

/* V29.2 PROFESSIONAL SALES REP CART DRAWER */
.rep-v292-page{
  max-width:1600px!important;
  margin:0 auto!important;
  padding:22px!important;
  background:#fff!important;
}
.rep-v292-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:16px!important;
}
.rep-v292-header h1{
  margin:0!important;
  font-size:34px!important;
  line-height:1.1!important;
  letter-spacing:-.02em!important;
  color:#101828!important;
}
.rep-v292-header p{
  margin:7px 0 0!important;
  color:#667085!important;
}
.rep-v292-header-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.rep-v292-cart-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.08)!important;
}
.rep-v292-cart-button span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:26px!important;
  height:26px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#315b5b!important;
  font-weight:900!important;
  padding:0 8px!important;
}
.rep-v292-cart-button.has-items{
  background:#0b4f47!important;
}
.rep-v292-context{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(150px,1fr))!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #eaecf0!important;
  background:#f9fafb!important;
  border-radius:18px!important;
  margin-bottom:16px!important;
}
.rep-v292-context div{
  background:#fff!important;
  border:1px solid #eaecf0!important;
  border-radius:14px!important;
  padding:12px!important;
}
.rep-v292-context label{
  display:block!important;
  color:#667085!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  font-size:11px!important;
  font-weight:900!important;
}
.rep-v292-context strong{
  display:block!important;
  color:#344054!important;
  margin-top:6px!important;
}
.rep-v292-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.rep-v292-categories{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:10px 0 20px!important;
}
.rep-v292-cat{
  border:1px solid #d0d5dd!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  background:#f2f4f7!important;
  color:#344054!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.rep-v292-cat.active{
  background:#315b5b!important;
  border-color:#315b5b!important;
  color:#fff!important;
}
.rep-v292-cart-shade{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  background:rgba(16,24,40,.50)!important;
  backdrop-filter:blur(2px)!important;
  z-index:99990!important;
}
.rep-v292-cart-shade.open{
  display:block!important;
}
.rep-v292-cart{
  position:fixed!important;
  top:0!important;
  right:0!important;
  width:min(520px,96vw)!important;
  height:100vh!important;
  background:#f8fafc!important;
  z-index:99991!important;
  box-shadow:-24px 0 70px rgba(16,24,40,.30)!important;
  transform:translateX(105%)!important;
  transition:transform .22s ease!important;
  overflow:auto!important;
  padding:0!important;
  display:block!important;
}
.rep-v292-cart.open{
  transform:translateX(0)!important;
}
.rep-v292-cart-head{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:14px!important;
  padding:20px!important;
  border-bottom:1px solid #eaecf0!important;
  background:#fff!important;
}
.rep-v292-drawer-kicker{
  display:block!important;
  color:#0b4f47!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  margin-bottom:4px!important;
}
.rep-v292-cart-head h2{
  margin:0!important;
  color:#101828!important;
  font-size:28px!important;
  letter-spacing:-.02em!important;
}
.rep-v292-cart-head p{
  margin:5px 0 0!important;
  color:#667085!important;
  font-weight:800!important;
}
.rep-v292-close{
  border:0!important;
  background:#fee4e2!important;
  color:#b42318!important;
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  font-size:24px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.rep-v292-cart-summary{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  padding:14px 20px 0!important;
}
.rep-v292-cart-summary div{
  background:#fff!important;
  border:1px solid #eaecf0!important;
  border-radius:14px!important;
  padding:11px!important;
}
.rep-v292-cart-summary label,
.rep-v292-notes label,
.rep-v292-price-grid label,
.rep-v292-qty-row span,
.rep-v292-grand-total span{
  display:block!important;
  color:#667085!important;
  text-transform:uppercase!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
}
.rep-v292-cart-summary strong{
  display:block!important;
  color:#344054!important;
  margin-top:5px!important;
}
#salesRepDraftCartPanel{
  padding:16px 20px!important;
}
.rep-v292-empty-cart{
  background:#fff!important;
  border:1px dashed #d0d5dd!important;
  border-radius:18px!important;
  padding:28px!important;
  text-align:center!important;
  color:#667085!important;
}
.rep-v292-empty-icon{
  font-size:32px!important;
  margin-bottom:8px!important;
}
.rep-v292-empty-cart b{
  display:block!important;
  color:#344054!important;
  font-size:18px!important;
}
.rep-v292-empty-cart p{
  margin:6px 0 0!important;
}
.rep-v292-cart-list{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.rep-v292-cart-line{
  background:#fff!important;
  border:1px solid #eaecf0!important;
  border-radius:18px!important;
  padding:14px!important;
  box-shadow:0 1px 3px rgba(16,24,40,.06)!important;
}
.rep-v292-line-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
.rep-v292-line-sku{
  display:inline-block!important;
  background:#eef4ff!important;
  color:#3538cd!important;
  border-radius:999px!important;
  padding:3px 9px!important;
  font-size:12px!important;
  font-weight:900!important;
  margin-bottom:8px!important;
}
.rep-v292-line-main strong{
  display:block!important;
  color:#101828!important;
  font-size:16px!important;
  line-height:1.25!important;
}
.rep-v292-line-main small{
  display:block!important;
  margin-top:5px!important;
  color:#98a2b3!important;
}
.rep-v292-remove{
  border:0!important;
  background:#fee4e2!important;
  color:#b42318!important;
  border-radius:12px!important;
  width:36px!important;
  height:36px!important;
  font-size:20px!important;
  font-weight:900!important;
  cursor:pointer!important;
  flex:0 0 auto!important;
}
.rep-v292-qty-row{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  background:#f9fafb!important;
  border:1px solid #eaecf0!important;
  border-radius:14px!important;
  padding:10px!important;
  margin-bottom:10px!important;
}
.rep-v292-stepper{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.rep-v292-stepper button{
  width:34px!important;
  height:34px!important;
  border:1px solid #d0d5dd!important;
  background:#fff!important;
  border-radius:10px!important;
  font-size:18px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.rep-v292-stepper strong{
  min-width:20px!important;
  text-align:center!important;
  color:#344054!important;
}
.rep-v292-price-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.rep-v292-price-grid div{
  background:#f9fafb!important;
  border:1px solid #eaecf0!important;
  border-radius:14px!important;
  padding:11px!important;
}
.rep-v292-price-grid strong{
  display:block!important;
  margin-top:6px!important;
  color:#344054!important;
  font-size:17px!important;
}
.rep-v292-line-total{
  background:#ecfdf3!important;
  border-color:#abefc6!important;
}
.rep-v292-line-total strong{
  color:#027a48!important;
}
.rep-v292-grand-total{
  position:sticky!important;
  bottom:0!important;
  background:#fff!important;
  border-top:1px solid #eaecf0!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  padding:16px 20px!important;
  margin:0 -20px -16px!important;
  font-size:22px!important;
}
.rep-v292-grand-total strong{
  color:#027a48!important;
}
.rep-v292-notes{
  padding:0 20px 14px!important;
}
.rep-v292-notes textarea{
  width:100%!important;
  margin-top:8px!important;
  border:1px solid #d0d5dd!important;
  border-radius:14px!important;
  padding:12px!important;
  resize:vertical!important;
  background:#fff!important;
}
.rep-v292-submit-disabled{
  margin:0 20px 8px!important;
  width:calc(100% - 40px)!important;
}
.rep-v292-submit-note{
  margin:0 20px 22px!important;
  color:#667085!important;
  font-size:13px!important;
}
@media(max-width:1100px){
  .rep-v292-context{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:700px){
  .rep-v292-page{padding:12px!important}
  .rep-v292-header{flex-direction:column!important;align-items:flex-start!important}
  .rep-v292-context{grid-template-columns:1fr!important}
  .rep-v292-search{grid-template-columns:1fr!important}
  .rep-v292-price-grid{grid-template-columns:1fr!important}
  .rep-v292-cart-summary{grid-template-columns:1fr!important}
}

/* V29.3 COMPACT FRESH SALES REP CART */
.rep-v293-cart-compact{
  width:min(560px,96vw)!important;
  background:#f8fafc!important;
}
.rep-v293-empty-cart{
  background:#fff!important;
  border:1px dashed #d0d5dd!important;
  border-radius:14px!important;
  padding:18px!important;
  text-align:center!important;
  color:#667085!important;
}
.rep-v293-empty-cart b{
  display:block!important;
  color:#344054!important;
  font-size:16px!important;
  margin-bottom:4px!important;
}
.rep-v293-cart-table{
  background:#fff!important;
  border:1px solid #eaecf0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  box-shadow:0 1px 3px rgba(16,24,40,.06)!important;
}
.rep-v293-cart-head-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) 96px 82px 92px 36px!important;
  gap:8px!important;
  padding:10px 12px!important;
  background:#f2f4f7!important;
  border-bottom:1px solid #eaecf0!important;
  color:#667085!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  font-size:10px!important;
  font-weight:900!important;
  align-items:center!important;
}
.rep-v293-cart-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) 96px 82px 92px 36px!important;
  gap:8px!important;
  padding:11px 12px!important;
  border-bottom:1px solid #eaecf0!important;
  align-items:center!important;
  background:#fff!important;
}
.rep-v293-cart-row:last-child{
  border-bottom:0!important;
}
.rep-v293-cart-item{
  min-width:0!important;
}
.rep-v293-cart-item b{
  display:block!important;
  color:#101828!important;
  font-size:14px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.rep-v293-cart-item small{
  display:block!important;
  color:#667085!important;
  font-size:11px!important;
  margin-top:4px!important;
}
.rep-v293-case-stepper{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  background:#f9fafb!important;
  border:1px solid #eaecf0!important;
  border-radius:999px!important;
  padding:4px!important;
}
.rep-v293-case-stepper button{
  width:25px!important;
  height:25px!important;
  border:1px solid #d0d5dd!important;
  background:#fff!important;
  border-radius:999px!important;
  font-weight:900!important;
  cursor:pointer!important;
  line-height:1!important;
}
.rep-v293-case-stepper strong{
  min-width:18px!important;
  text-align:center!important;
  font-size:13px!important;
  color:#344054!important;
}
.rep-v293-money{
  font-weight:800!important;
  color:#344054!important;
  font-size:13px!important;
  text-align:right!important;
}
.rep-v293-money.strong{
  color:#027a48!important;
  font-size:14px!important;
}
.rep-v293-remove{
  width:30px!important;
  height:30px!important;
  border:0!important;
  border-radius:10px!important;
  background:#fee4e2!important;
  color:#b42318!important;
  font-weight:900!important;
  font-size:18px!important;
  cursor:pointer!important;
}
.rep-v293-grand-total{
  position:sticky!important;
  bottom:0!important;
  z-index:2!important;
  margin-top:14px!important;
  padding:14px 16px!important;
  background:#fff!important;
  border:1px solid #eaecf0!important;
  border-radius:16px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  box-shadow:0 -4px 18px rgba(16,24,40,.08)!important;
}
.rep-v293-grand-total span{
  color:#667085!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  font-size:11px!important;
  font-weight:900!important;
}
.rep-v293-grand-total strong{
  color:#027a48!important;
  font-size:22px!important;
}
.rep-v293-cart-compact #salesRepDraftCartPanel{
  padding:14px 20px!important;
}
.rep-v293-cart-compact .rep-v292-cart-head{
  padding:18px 20px!important;
}
.rep-v293-cart-compact .rep-v292-cart-summary{
  padding:12px 20px 0!important;
}
.rep-v293-cart-compact .rep-v292-notes textarea{
  min-height:84px!important;
}
@media(max-width:650px){
  .rep-v293-cart-head-row{
    display:none!important;
  }
  .rep-v293-cart-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .rep-v293-money{
    text-align:left!important;
  }
  .rep-v293-money:before{
    content:'Value: ';
    color:#667085!important;
    font-weight:700!important;
  }
}

/* V29.4 CART PRODUCT IMAGES + IMMEDIATE CLEAR */
.rep-v294-cart-head-row,
.rep-v294-cart-row{
  grid-template-columns:minmax(0,1.9fr) 96px 82px 92px 36px!important;
}
.rep-v294-cart-item-wrap{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.rep-v294-cart-img{
  width:54px!important;
  height:54px!important;
  border:1px solid #eaecf0!important;
  border-radius:12px!important;
  background:#f9fafb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px!important;
  cursor:zoom-in!important;
  overflow:hidden!important;
}
.rep-v294-cart-img img{
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.rep-v294-cart-img span{
  font-size:9px!important;
  color:#98a2b3!important;
  text-align:center!important;
}
.rep-v294-cart-row .rep-v293-cart-item b{
  font-size:13px!important;
}
.rep-v294-cart-row .rep-v293-cart-item small{
  font-size:10.5px!important;
}
@media(max-width:650px){
  .rep-v294-cart-row{
    grid-template-columns:1fr!important;
  }
}

/* V29.5 NO AUTO CART OVERLAY AFTER ADD */
body:not(.rep-cart-open) .rep-v292-cart-shade,
body:not(.rep-cart-open) #repCartShade{
  display:none!important;
  pointer-events:none!important;
}
body:not(.rep-cart-open) .rep-v292-cart,
body:not(.rep-cart-open) #salesRepDraftCartDrawer{
  transform:translateX(105%)!important;
}
body.rep-cart-open #repCartShade.open{
  display:block!important;
}
body.rep-cart-open #salesRepDraftCartDrawer.open{
  transform:translateX(0)!important;
}

/* V29.6.1 Customer Store Management Live Foundation */
.store-order-lock{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,360px);
  gap:12px;
  align-items:center;
  padding:12px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:16px;
  margin:12px 0;
}
.store-order-lock.warning{
  display:block;
  background:#fffaeb;
  border-color:#fedf89;
}
.store-order-lock b{display:block;color:#344054}
.store-order-lock span{display:block;color:#667085;font-size:13px;margin-top:3px}
.store-order-lock select{
  width:100%;
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:11px;
  background:#fff;
}
.live-store-request-v2961 label span{
  display:block;
  font-weight:800;
  margin-bottom:6px;
  color:#344054;
}
.live-stores-v2961 .badge.pending{
  background:#fffaeb;
  color:#b54708;
}
@media(max-width:700px){
  .store-order-lock{grid-template-columns:1fr}
}

/* V29.6.2 Customer Store UI Cleanup */
.live-stores-v2962 h2{
  margin-top:18px;
}
.live-stores-v2962 .table-wrap{
  margin-bottom:14px;
}
.store-cleanup-v2962 .branch-selector-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:14px;
}
.store-cleanup-v2962 .branch-selector-card p{
  margin:4px 0 0;
}
.live-store-request-v2962 label span{
  display:block;
  font-weight:800;
  margin-bottom:6px;
  color:#344054;
}

/* V29.6.3 Customer Store Reporting + Catalog Context */
.account-parent-banner{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:14px;
}
.account-parent-banner span{
  display:block;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
  font-weight:900;
}
.account-parent-banner b{
  display:block;
  color:#101828;
  font-size:20px;
  margin-top:4px;
}
.account-parent-banner small{
  color:#667085;
}
.customer-store-report-v2963 .store-report-filter{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:260px;
}
.customer-store-report-v2963 .store-report-filter span{
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
  font-weight:900;
}
.customer-store-report-v2963 select,
.store-order-select select{
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
}
.compact-kpis{
  margin:12px 0;
}
.store-order-lock-v2963{
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
}
.store-context-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.store-context-summary div{
  background:#fff;
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:10px 12px;
}
.store-context-summary label,
.store-order-select span{
  display:block;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
  font-weight:900;
  margin-bottom:5px;
}
.store-context-summary strong{
  color:#101828;
}
.store-order-select{
  display:flex;
  flex-direction:column;
  gap:6px;
}
@media(max-width:800px){
  .store-order-lock-v2963,
  .store-context-summary{
    grid-template-columns:1fr;
  }
}

/* V29.7 Sales Rep Customer + Store Dropdown */
.sales-rep-live-portal-v297 .toolbar{
  align-items:flex-start;
}
.rep-customer-store-picker-v297{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(260px,1.25fr) auto;
  gap:12px;
  align-items:end;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:18px;
  padding:14px;
  margin:14px 0;
}
.rep-picker-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.rep-picker-field label{
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
  font-weight:900;
}
.rep-picker-field select{
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:11px 12px;
  background:#fff;
  min-height:44px;
}
.rep-picker-field small.danger-text{
  color:#b42318;
  font-weight:800;
}
.sales-rep-live-portal-v297 tr.selected-row{
  background:#ecfdf3;
}
.sales-rep-live-portal-v297 tr.selected-row td{
  border-color:#abefc6;
}
@media(max-width:900px){
  .rep-customer-store-picker-v297{
    grid-template-columns:1fr;
  }
}

/* V29.8 Admin Store / Location Order Visibility */
.admin-store-filter-v298{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.admin-order-list-row-v298 .sub{line-height:1.35;}
.admin-order-context-v298{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;background:#f9fafb;border:1px solid #eaecf0;border-radius:16px;padding:12px;margin:12px 0;}
.admin-order-context-v298 div{background:#fff;border:1px solid #eaecf0;border-radius:12px;padding:10px;}
.admin-order-context-v298 span{display:block;color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:900;margin-bottom:5px;}
.admin-order-context-v298 b{color:#101828;word-break:break-word;}

/* V29.9 Sales Rep Submit Workflow */
.rep-submit-actions-v299{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  background:#fff;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:12px;
  margin-top:14px;
}
.rep-submit-actions-v299 p{
  grid-column:1/-1;
  margin:0;
}
.sales-rep-approval-modal-v299 label{
  display:block;
  margin:12px 0;
}
.sales-rep-approval-modal-v299 label span{
  display:block;
  font-weight:800;
  color:#344054;
  margin-bottom:6px;
}
.approval-summary-v299{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:12px;
  margin:12px 0;
}
.approval-summary-v299 div{
  background:#fff;
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:10px;
}
.approval-summary-v299 span{
  display:block;
  color:#667085;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.approval-summary-v299 b{
  display:block;
  margin-top:5px;
  color:#101828;
}
@media(max-width:700px){
  .rep-submit-actions-v299{grid-template-columns:1fr;}
}

/* V30.0A Customer Review for Sales Rep Drafts */
.pending-review-panel-v300a{
  border:1px solid #fdb022;
  background:#fffcf5;
  margin-bottom:16px;
}
.pending-review-row-v300a{
  background:#fffcf5;
}
.customer-review-actions-v300a{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  background:#fffcf5;
  border:1px solid #fdb022;
  border-radius:16px;
  padding:14px;
  margin:14px 0;
}
.customer-review-actions-v300a p{
  grid-column:1/-1;
  margin:0;
}
@media(max-width:700px){
  .customer-review-actions-v300a{grid-template-columns:1fr;}
}

/* V30.0B Customer Review List Cleanup */
.customer-review-page-v300b h2{
  margin-top:14px;
}
.customer-approval-info-v300b{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.customer-approval-info-v300b b{
  color:#027a48;
}
.customer-approval-info-v300b span{
  color:#667085;
  font-size:12px;
}

/* V30.0D Customer Edit Review Only */
.customer-review-actions-v300d{
  grid-template-columns:1fr 1fr 1fr;
}
.customer-edit-review-modal-v300d{
  max-width:1100px;
}
.customer-edit-review-table-v300d input{
  max-width:90px;
  text-align:center;
}
.customer-edit-review-summary-v300d{
  margin-top:12px;
}
@media(max-width:800px){
  .customer-review-actions-v300d{grid-template-columns:1fr;}
}

/* V30.0E Customer Add Items During Review */
.review-add-item-box-v300e{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:12px;
  margin:12px 0;
}
.review-add-item-box-v300e h3{
  margin:0 0 8px;
}
.review-add-results-v300e{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px;
  max-height:260px;
  overflow:auto;
  margin-top:10px;
}
.review-add-product-row-v300e{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:8px;
  align-items:center;
  text-align:left;
  border:1px solid #eaecf0;
  border-radius:12px;
  background:#fff;
  padding:8px;
  cursor:pointer;
}
.review-add-product-row-v300e img{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:8px;
  background:#fff;
}
.review-add-product-row-v300e b{
  font-size:13px;
}
.review-add-product-row-v300e small{
  grid-column:2/3;
  color:#667085;
}
.review-add-product-row-v300e strong{
  color:#006c67;
}

/* V30.0G Full Catalog Add During Customer Review */
.review-add-controls-v300g{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:10px;
}
.review-add-count-v300g{
  grid-column:1/-1;
  color:#667085;
  font-weight:800;
  font-size:12px;
  margin:3px 0 8px;
}
.review-add-results-v300e{
  max-height:460px;
}
@media(max-width:800px){
  .review-add-controls-v300g{grid-template-columns:1fr;}
}

/* V30.1A Sales Rep Dashboard + Live Order Tracking */
.sales-rep-dashboard-v301a{
  margin-top:18px;
}
.sr-kpi-grid-v301a{
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
  margin:12px 0;
}
.sr-pending-panel-v301a{
  border:1px solid #fdb022;
  background:#fffcf5;
  margin:14px 0;
}
.sr-tracking-panel-v301a{
  margin:14px 0;
}
.sales-rep-track-filters-v301a{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin:12px 0;
}
.sr-report-grid-v301a{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:14px;
  margin-top:14px;
}
.sales-rep-dashboard-v301a .qb-table small{
  color:#667085;
}

/* V30.1B Explicit Sales Rep Dashboard / Live Tracking Buttons */
.sales-rep-top-actions-v301b{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0 18px;
  padding:12px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:16px;
}
.sales-rep-dashboard-page-v301b,
.sales-rep-live-tracking-page-v301b{
  max-width:1500px;
}

/* V30.1C Sales Rep Live Portal Root Fix */
.sales-rep-live-root-v301c #salesRepLiveDashboardMount{
  margin-top:18px;
}
.sales-rep-live-root-v301c .sales-rep-top-actions-v301b{
  margin-top:0;
}

/* V30.1E Sales Rep Data Loading + Layout Fix */
.sales-rep-dashboard-v301a .sr-kpi-grid-v301a,
.sr-kpi-grid-v301a{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  align-items:stretch;
}
.sales-rep-dashboard-v301a .stat-card,
.sr-kpi-grid-v301a .stat-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-height:98px;
  padding:16px;
  border:1px solid #e4e7ec;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.sales-rep-dashboard-v301a .stat-card span,
.sr-kpi-grid-v301a .stat-card span{
  display:block;
  font-size:12px;
  font-weight:900;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.2;
}
.sales-rep-dashboard-v301a .stat-card b,
.sr-kpi-grid-v301a .stat-card b{
  display:block;
  font-size:24px;
  line-height:1.15;
  color:#101828;
  white-space:normal;
}
.sales-rep-dashboard-v301a .stat-card small,
.sr-kpi-grid-v301a .stat-card small{
  display:block;
  color:#667085;
  line-height:1.2;
}
.sales-rep-dashboard-v301a .table-wrap,
.sales-rep-live-tracking-page-v301b .table-wrap{
  overflow-x:auto;
}
.sales-rep-dashboard-v301a .qb-table th,
.sales-rep-dashboard-v301a .qb-table td{
  white-space:nowrap;
  vertical-align:top;
}
.sales-rep-dashboard-v301a .qb-table td:nth-child(2){
  white-space:normal;
  min-width:220px;
}

/* V30.1F Invoice-paid reporting */
.sr-paid-invoice-report-v301f{
  border:1px solid #12b76a;
  background:#f6fef9;
  margin:14px 0;
}
.paid-total-v301f{
  font-size:22px;
  font-weight:900;
  color:#027a48;
}
.invoice-paid-stamp-v301f,
.invoice-partial-stamp-v301f,
.invoice-unpaid-stamp-v301f{
  margin-top:12px;
  border-radius:14px;
  padding:12px;
  text-align:center;
  font-weight:900;
  letter-spacing:.08em;
}
.invoice-paid-stamp-v301f{
  border:3px solid #12b76a;
  color:#027a48;
  background:#ecfdf3;
}
.invoice-partial-stamp-v301f{
  border:3px solid #f79009;
  color:#b54708;
  background:#fffaeb;
}
.invoice-unpaid-stamp-v301f{
  border:3px solid #d0d5dd;
  color:#344054;
  background:#f9fafb;
}
.invoice-paid-stamp-v301f div,
.invoice-partial-stamp-v301f div,
.invoice-unpaid-stamp-v301f div{
  font-size:28px;
}
.invoice-paid-stamp-v301f span,
.invoice-partial-stamp-v301f span,
.invoice-unpaid-stamp-v301f span{
  display:block;
  font-size:12px;
  letter-spacing:0;
  margin-top:4px;
}

/* V30.2A Admin Top Menu Visibility Fix
   Root issue: admin had too many top buttons for the fixed-height header.
   Fix: keep primary actions visible and move secondary tools into one dropdown.
*/
.admin-nav-v302a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  padding:4px 0!important;
  scrollbar-width:thin!important;
}
.admin-nav-v302a .btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  min-height:38px!important;
  padding:8px 11px!important;
  font-size:.86rem!important;
}
.admin-more-select-v302a{
  flex:0 0 auto!important;
  min-height:38px!important;
  max-width:190px!important;
  border:1px solid #d0d5dd!important;
  border-radius:999px!important;
  padding:8px 34px 8px 12px!important;
  background:#fff!important;
  color:#101828!important;
  font-weight:800!important;
  font-size:.86rem!important;
}
.topbar .nav:has(.admin-nav-v302a){
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:visible!important;
}
.topbar .nav:has(.admin-nav-v302a) .admin-nav-v302a{
  justify-content:flex-end!important;
}
@media(max-width:980px){
  .top-inner{
    height:auto!important;
    min-height:var(--navH)!important;
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .topbar .nav:has(.admin-nav-v302a){
    width:100%!important;
  }
  .topbar .nav:has(.admin-nav-v302a) .admin-nav-v302a{
    justify-content:flex-start!important;
  }
  .admin-nav-v302a .btn,
  .admin-more-select-v302a{
    min-height:36px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
    font-size:.8rem!important;
  }
}

/* V30.2B Admin Payment Recording + Invoice Auto-Status */
.admin-payment-summary-v302b{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:12px 0}
.admin-payment-summary-v302b div{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:10px}
.admin-payment-summary-v302b span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;color:#667085;letter-spacing:.04em}
.admin-payment-summary-v302b b{display:block;margin-top:4px;color:#101828}
.admin-payment-modal-v302b{max-width:980px}

/* V30.2D Sticky Admin Top Menu + Professional Orders/Warehouse */

/* Make the top menu truly always visible while scrolling. Previous sticky rules were being overridden by older CSS blocks. */
:root{--adminFixedHeaderH:82px;}
.app-shell .topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:99999!important;
  width:100%!important;
  background:rgba(255,255,255,.98)!important;
  backdrop-filter:blur(14px)!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 8px 30px rgba(15,23,42,.10)!important;
  overflow:visible!important;
}
.app-shell .page{
  padding-top:calc(var(--adminFixedHeaderH) + 18px)!important;
}
.app-shell .top-inner{
  min-height:var(--adminFixedHeaderH)!important;
  max-width:1540px!important;
  margin:0 auto!important;
  padding:10px 16px!important;
  display:grid!important;
  grid-template-columns:minmax(210px,260px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
}
.app-shell .brand{
  min-width:0!important;
}
.app-shell .nav{
  min-width:0!important;
  overflow:visible!important;
}
.admin-nav-v302a{
  justify-content:flex-end!important;
  overflow-x:auto!important;
  padding-bottom:4px!important;
}
@media(max-width:900px){
  :root{--adminFixedHeaderH:132px;}
  .app-shell .top-inner{
    grid-template-columns:1fr!important;
    align-items:flex-start!important;
  }
  .admin-nav-v302a{
    justify-content:flex-start!important;
    width:100%!important;
  }
}

/* Professional admin order/warehouse pages */
.admin-pro-page-v302d{
  max-width:1560px;
  margin:0 auto;
}
.admin-page-hero-v302d{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(420px,1.45fr);
  gap:16px;
  align-items:stretch;
  margin-bottom:16px;
}
.admin-page-hero-title-v302d{
  border-radius:22px;
  padding:22px;
  background:linear-gradient(135deg,#0b3b3c,#006c67);
  color:white;
  box-shadow:0 16px 40px rgba(0,54,52,.18);
}
.warehouse-hero-v302d .admin-page-hero-title-v302d{
  background:linear-gradient(135deg,#101828,#344054);
}
.admin-page-hero-title-v302d h1{
  margin:0 0 8px;
  font-size:30px;
  letter-spacing:-.03em;
}
.admin-page-hero-title-v302d p{
  margin:0;
  opacity:.9;
  line-height:1.45;
}
.admin-page-kpis-v302d{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.admin-page-kpis-v302d div{
  border:1px solid #eaecf0;
  border-radius:18px;
  padding:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.06);
  min-width:0;
}
.admin-page-kpis-v302d span{
  display:block;
  font-size:11px;
  font-weight:900;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-page-kpis-v302d b{
  display:block;
  margin-top:8px;
  font-size:24px;
  color:#101828;
  line-height:1.1;
  word-break:break-word;
}
.admin-page-kpis-v302d small{
  display:block;
  margin-top:5px;
  color:#667085;
  line-height:1.25;
}
.admin-pro-layout-v302d{
  display:grid;
  grid-template-columns:minmax(420px,.92fr) minmax(520px,1.08fr);
  gap:16px;
  align-items:start;
}
.admin-pro-list-panel-v302d,
.admin-pro-detail-panel-v302d{
  border-radius:22px!important;
  box-shadow:0 10px 30px rgba(16,24,40,.07)!important;
}
.admin-pro-detail-panel-v302d{
  position:sticky;
  top:calc(var(--adminFixedHeaderH) + 18px);
  max-height:calc(100vh - var(--adminFixedHeaderH) - 34px);
  overflow:auto;
}
.admin-pro-panel-head-v302d{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.admin-pro-panel-head-v302d h2{
  margin:0 0 4px;
}
.admin-pro-filter-wrap-v302d{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:12px;
  margin-bottom:12px;
}
.admin-pro-order-list-v302d{
  display:grid;
  gap:10px;
  max-height:calc(100vh - var(--adminFixedHeaderH) - 255px);
  overflow:auto;
  padding-right:3px;
}
.admin-pro-order-card-v302d{
  display:block;
  width:100%;
  text-align:left;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:14px;
  background:#fff;
  cursor:pointer;
  transition:.16s ease;
  color:#101828;
}
.admin-pro-order-card-v302d:hover{
  border-color:#006c67;
  box-shadow:0 12px 26px rgba(0,108,103,.12);
  transform:translateY(-1px);
}
.order-card-top-v302d{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.order-card-top-v302d b{
  display:block;
  font-size:15px;
}
.order-card-top-v302d small{
  display:block;
  color:#667085;
  margin-top:3px;
}
.order-card-total-v302d{
  font-weight:900;
  font-size:17px;
  color:#006c67;
  white-space:nowrap;
}
.order-card-customer-v302d{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:4px 8px;
  margin:12px 0;
}
.order-card-customer-v302d span{
  color:#667085;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.order-card-customer-v302d strong{
  min-width:0;
  overflow-wrap:anywhere;
}
.order-card-status-v302d{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:9px;
}
.order-card-meta-v302d{
  color:#667085;
  font-size:12px;
}
.admin-detail-empty-v302d{
  min-height:360px;
  display:grid;
  place-content:center;
  text-align:center;
  color:#667085;
  background:linear-gradient(180deg,#fff,#f9fafb);
  border:1px dashed #d0d5dd;
  border-radius:18px;
  padding:28px;
}
.admin-detail-empty-v302d h2{
  margin:0 0 6px;
  color:#101828;
}
@media(max-width:1180px){
  .admin-page-hero-v302d,
  .admin-pro-layout-v302d{
    grid-template-columns:1fr;
  }
  .admin-pro-detail-panel-v302d{
    position:relative;
    top:auto;
    max-height:none;
  }
  .admin-pro-order-list-v302d{
    max-height:none;
  }
}
@media(max-width:720px){
  .admin-page-kpis-v302d{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-page-hero-title-v302d h1{
    font-size:24px;
  }
}

/* V30.3A Admin Payment History */
.payment-history-panel-v303a,
.audit-mini-panel-v303a{
  margin:14px 0;
  border-radius:18px!important;
}
.payment-history-panel-v303a{
  border:1px solid #12b76a!important;
  background:#f6fef9!important;
}
.payment-history-total-v303a{
  text-align:right;
}
.payment-history-total-v303a span{
  display:block;
  font-size:11px;
  font-weight:900;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.payment-history-total-v303a b{
  display:block;
  font-size:24px;
  color:#027a48;
}
.payment-history-summary-v303a{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:10px;
  margin:12px 0;
}
.payment-history-summary-v303a div{
  background:#fff;
  border:1px solid #d1fadf;
  border-radius:12px;
  padding:10px;
}
.payment-history-summary-v303a span{
  display:block;
  font-size:11px;
  font-weight:900;
  color:#667085;
  text-transform:uppercase;
}
.payment-history-summary-v303a b{
  display:block;
  margin-top:4px;
  color:#101828;
}
.payment-history-table-v303a td:nth-child(5){
  min-width:180px;
  white-space:normal;
}
.audit-mini-panel-v303a{
  background:#f9fafb!important;
  border:1px solid #eaecf0!important;
}

/* V31.0A Order detail display + A/R dropdown fixes */
.modal-content{
  max-width:min(1120px,94vw)!important;
  width:auto!important;
  max-height:90vh!important;
  overflow:auto!important;
}
.order-modal-v310a{
  max-width:1080px;
  padding:4px;
}
.order-modal-head-v310a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:18px;
  border-radius:18px;
  background:linear-gradient(135deg,#f9fafb,#eef8f7);
  border:1px solid #dbe7e5;
  margin-bottom:14px;
}
.order-modal-head-v310a h1{
  margin:4px 0;
  font-size:28px;
  letter-spacing:-.02em;
}
.order-modal-head-v310a p{
  margin:0;
  color:#667085;
}
.eyebrow-v310a{
  display:block;
  font-size:11px;
  font-weight:900;
  color:#006c67;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.order-modal-status-v310a{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.order-modal-context-v310a{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.order-modal-context-v310a div{
  border:1px solid #eaecf0;
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.order-modal-context-v310a span,
.order-modal-totals-v310a span{
  display:block;
  font-size:11px;
  font-weight:900;
  color:#667085;
  text-transform:uppercase;
}
.order-modal-context-v310a b,
.order-modal-totals-v310a b{
  display:block;
  margin-top:4px;
  color:#101828;
}
.order-modal-table-wrap-v310a{
  max-height:420px;
  overflow:auto;
  border:1px solid #eaecf0;
  border-radius:14px;
}
.order-modal-table-v310a th{
  position:sticky;
  top:0;
  z-index:2;
}
.order-modal-table-v310a td.desc{
  white-space:normal;
  min-width:240px;
}
.order-modal-totals-v310a{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:14px 0;
  flex-wrap:wrap;
}
.order-modal-totals-v310a div{
  min-width:130px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:14px;
  padding:12px;
}
.order-modal-totals-v310a .grand{
  background:#073b3a;
  color:#fff;
}
.order-modal-totals-v310a .grand span,
.order-modal-totals-v310a .grand b{
  color:#fff;
}
.order-modal-actions-v310a{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.admin-detail-section-v310a{
  margin:12px 0;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:10px 12px;
  background:#f9fafb;
}
.admin-detail-section-v310a summary{
  cursor:pointer;
  font-weight:900;
  color:#344054;
}
.invoice .payment-history-panel-v303a{
  display:none!important;
}
.ar-filter-tabs-v310a{
  align-items:center;
  flex-wrap:wrap;
}
.ar-customer-select-v310a{
  min-width:280px;
}
@media(max-width:720px){
  .order-modal-head-v310a{
    flex-direction:column;
  }
  .order-modal-status-v310a{
    justify-content:flex-start;
  }
  .ar-customer-select-v310a{
    min-width:100%;
  }
}

/* V31.0B Deep display audit fixes */
.order-items-card-grid-v310b{
  display:grid;
  gap:12px;
  margin:12px 0 16px;
}
.order-item-card-v310b{
  display:grid;
  grid-template-columns:82px minmax(180px,1fr) minmax(280px,.95fr);
  gap:14px;
  align-items:center;
  border:1px solid #eaecf0;
  border-radius:16px;
  background:#fff;
  padding:12px;
  box-shadow:0 6px 18px rgba(16,24,40,.04);
}
.order-item-image-box-v310b{
  width:72px;
  height:72px;
  border:1px solid #eaecf0;
  border-radius:14px;
  background:#f9fafb;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#98a2b3;
  font-size:11px;
  text-align:center;
}
.order-item-img-v310b{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.order-item-title-v310b{
  font-weight:900;
  color:#101828;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.order-item-meta-v310b{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
  color:#667085;
  font-size:12px;
}
.order-item-numbers-v310b{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.order-item-numbers-v310b div{
  background:#f9fafb;
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:8px;
}
.order-item-numbers-v310b span{
  display:block;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  color:#667085;
}
.order-item-numbers-v310b b{
  display:block;
  margin-top:3px;
  font-size:14px;
  color:#101828;
}
.section-title-v310b{
  margin:16px 0 8px;
  font-size:18px;
  letter-spacing:-.01em;
}
.professional-actions-v310b{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
.professional-summary-v310b{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;
  gap:10px!important;
}
.order-detail-v310b .table-wrap.order-items-table{
  overflow:visible!important;
}
.warehouse-order-detail-v310b .admin-detail-section-v310a,
.warehouse-order-detail-v310b .payment-history-panel-v303a,
.warehouse-order-detail-v310b .audit-mini-panel-v303a,
.warehouse-order-detail-v310b .admin-payment-summary-v302b{
  display:none!important;
}
.admin-pro-detail-panel-v302d{
  overflow:auto!important;
}
.ar-statement-v310b{
  max-width:1080px;
}
.statement-head-v310b{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:18px;
  border-radius:18px;
  background:linear-gradient(135deg,#f9fafb,#eef8f7);
  border:1px solid #dbe7e5;
  margin-bottom:14px;
}
.statement-head-v310b h1{
  margin:4px 0;
}
.statement-head-v310b p{
  margin:0;
  color:#667085;
}
.statement-kpis-v310b{
  display:grid;
  grid-template-columns:repeat(3,minmax(110px,1fr));
  gap:10px;
}
.statement-kpis-v310b div{
  background:#fff;
  border:1px solid #dbe7e5;
  border-radius:12px;
  padding:10px;
}
.statement-kpis-v310b span{
  display:block;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  color:#667085;
}
.statement-kpis-v310b b{
  display:block;
  margin-top:4px;
  color:#101828;
}
.statement-table-wrap-v310b{
  max-height:520px;
  overflow:auto;
  border:1px solid #eaecf0;
  border-radius:14px;
}
@media(max-width:980px){
  .order-item-card-v310b{
    grid-template-columns:72px 1fr;
  }
  .order-item-numbers-v310b{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .statement-head-v310b{
    flex-direction:column;
  }
  .statement-kpis-v310b{
    width:100%;
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .order-item-card-v310b{
    grid-template-columns:1fr;
  }
  .order-item-image-box-v310b{
    width:100%;
    height:120px;
  }
}

/* V31.1 Final Order Workflow Enforcement */
.workflow-rule-notice-v311{
  margin:12px 0;
  display:grid;
  gap:6px;
}
.workflow-rule-notice-v311 div{
  border:1px solid #fedf89;
  background:#fffaeb;
  color:#93370d;
  border-radius:12px;
  padding:10px 12px;
  font-weight:800;
}
.status-checklist-v311 .status-check.disabled-v311{
  opacity:.55;
  cursor:not-allowed;
}
.status-checklist-v311 .status-check.disabled-v311 input{
  cursor:not-allowed;
}
.btn.disabled-v311,
button.disabled-v311{
  opacity:.55!important;
  cursor:not-allowed!important;
}

/* V32.0 Warehouse Line-Level Pick/Pack */
.warehouse-v320-panel{margin:16px 0;border:1px solid rgba(15,118,110,.22);background:linear-gradient(180deg,rgba(240,253,250,.7),rgba(255,255,255,.96));}
.scan-row-v320{display:grid;grid-template-columns:1fr auto;gap:10px;margin:14px 0;align-items:center;}
.warehouse-lines-v320 .qty-v320{max-width:92px;min-width:72px;}
.warehouse-line-table-v320 td{vertical-align:top;}
.warehouse-audit-v320{margin-top:12px;}
@media(max-width:760px){.scan-row-v320{grid-template-columns:1fr}.warehouse-line-table-v320{min-width:760px}}

/* V32.0.1 Warehouse UX Patch */
.warehouse-v320-toolbar{gap:14px;align-items:flex-start;}
.warehouse-v320-actions{flex-wrap:wrap;justify-content:flex-end;}
.warehouse-logic-help-v320,
.warehouse-table-note-v320{
  margin:10px 0 12px;
  border:1px solid rgba(15,118,110,.18);
  background:#f0fdfa;
  color:#134e4a;
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
  line-height:1.45;
}
.warehouse-logic-help-v320 code{font-weight:800;color:#0f766e;background:rgba(255,255,255,.8);border-radius:6px;padding:1px 5px;}
.qty-stepper-v320{display:inline-grid;grid-template-columns:34px 76px 34px;gap:6px;align-items:center;}
.qty-btn-v320{height:34px;border:1px solid rgba(15,23,42,.16);border-radius:10px;background:#fff;font-weight:900;font-size:18px;cursor:pointer;line-height:1;}
.qty-btn-v320:hover{background:#f8fafc;}
.warehouse-lines-v320 .qty-v320{max-width:76px;min-width:76px;text-align:center;}
.short-preview-v320{font-weight:900;color:#0f172a;}
.save-line-v320{white-space:nowrap;}
@media(max-width:760px){.qty-stepper-v320{grid-template-columns:32px 68px 32px}.warehouse-v320-actions{justify-content:flex-start}}

/* V32.1-WMS Clean Warehouse Module Rebuild
   Enterprise intent: one workstation renderer, no horizontal scroll, finalized orders read-only. */
html,body{max-width:100%;overflow-x:hidden;}
.admin-pro-warehouse-v302d,.warehouse-layout,.warehouse-order-detail-v310b,.wms-panel-v321,.wms-panel-v321 *{box-sizing:border-box;max-width:100%;}
.warehouse-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;overflow-x:hidden!important;}
.order-detail.warehouse-detail,.warehouse-layout .order-detail,.warehouse-order-detail-v310b{overflow-x:hidden!important;min-width:0!important;max-width:100%!important;}
.warehouse-order-detail-v310b .table-wrap{overflow-x:hidden!important;}
.warehouse-order-detail-v310b table{min-width:0!important;width:100%!important;}
.wms-panel-v321{overflow-x:hidden!important;border:1px solid #d8e7e5!important;border-radius:22px!important;background:#f8fbfb!important;}
.wms-command-bar-v321{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;position:sticky!important;top:0!important;z-index:40!important;background:#f8fbfb!important;border:1px solid #dbe7e5!important;border-radius:18px!important;padding:12px!important;margin-bottom:12px!important;}
.wms-command-title-v321 h2{margin:0 0 4px!important;font-size:1.15rem!important;line-height:1.15!important;}
.wms-command-title-v321 p{margin:0!important;color:#64748b!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.wms-command-actions-v321{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;justify-content:flex-start!important;}
.wms-command-actions-v321 .btn{white-space:normal!important;min-height:42px!important;}
.wms-rule-banner-v321{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;align-items:center!important;border-radius:14px!important;padding:10px 12px!important;margin:10px 0!important;border:1px solid #bae6fd!important;background:#f0f9ff!important;color:#075985!important;}
.wms-rule-banner-v321.locked{border-color:#fed7aa!important;background:#fff7ed!important;color:#9a3412!important;}
.wms-rule-banner-v321 span{overflow-wrap:anywhere!important;}
.wms-scan-row-v321{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;position:sticky!important;top:96px!important;z-index:35!important;background:#f8fbfb!important;border-radius:14px!important;padding:8px 0!important;}
.wms-lines-v321{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;overflow-x:hidden!important;width:100%!important;}
.wms-line-card-v321{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;grid-template-areas:"image info" "qty qty" "actions actions"!important;gap:14px!important;width:100%!important;min-width:0!important;overflow:hidden!important;background:#fff!important;border:1px solid #dbe5e4!important;border-radius:22px!important;padding:14px!important;box-shadow:0 8px 22px rgba(15,23,42,.05)!important;}
.wms-line-card-v321.readonly{background:#fbfcfd!important;border-color:#e5e7eb!important;}
.wms-product-img-v321{grid-area:image!important;width:104px!important;height:104px!important;border:1px solid #e5e7eb!important;border-radius:16px!important;background:#f8fafc!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;position:relative!important;}
.wms-product-img-v321 img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;position:relative!important;z-index:2!important;background:#fff!important;}
.wms-product-img-v321 span{font-size:11px!important;font-weight:800!important;color:#94a3b8!important;text-align:center!important;padding:4px!important;}
.wms-product-info-v321{grid-area:info!important;min-width:0!important;overflow:hidden!important;}
.wms-product-title-v321{font-size:16px!important;line-height:1.25!important;font-weight:900!important;color:#0f172a!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.wms-meta-grid-v321{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important;}
.wms-meta-grid-v321 div{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:8px!important;min-width:0!important;}
.wms-meta-grid-v321 span,.wms-qty-grid-v321 span{display:block!important;font-size:11px!important;font-weight:900!important;letter-spacing:.03em!important;text-transform:uppercase!important;color:#64748b!important;}
.wms-meta-grid-v321 b{display:block!important;color:#0f172a!important;overflow-wrap:anywhere!important;margin-top:2px!important;}
.wms-note-block-v321{margin-top:10px!important;min-width:0!important;}
.wms-note-block-v321 label{display:block!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;color:#64748b!important;margin-bottom:5px!important;}
.wms-note-block-v321 textarea{width:100%!important;max-width:100%!important;resize:vertical!important;}
.wms-readonly-note-v321{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:8px!important;min-height:38px!important;overflow-wrap:anywhere!important;}
.wms-qty-grid-v321{grid-area:qty!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;width:100%!important;min-width:0!important;overflow:hidden!important;}
.wms-qty-grid-v321>div{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:14px!important;padding:10px!important;min-width:0!important;overflow:hidden!important;}
.wms-qty-grid-v321 b,.wms-readonly-qty-v321{display:block!important;font-size:20px!important;font-weight:900!important;color:#0f172a!important;margin-top:4px!important;}
.wms-qty-stepper-v321{display:grid!important;grid-template-columns:42px minmax(48px,1fr) 42px!important;gap:6px!important;align-items:center!important;margin-top:4px!important;min-width:0!important;}
.wms-qty-input-v321{min-width:0!important;text-align:center!important;font-weight:900!important;padding-left:4px!important;padding-right:4px!important;}
.wms-qty-btn-v321{width:42px!important;height:42px!important;border:1px solid #cbd5e1!important;background:#fff!important;border-radius:12px!important;font-size:20px!important;font-weight:900!important;cursor:pointer!important;}
.wms-line-actions-v321{grid-area:actions!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border-top:1px solid #e5e7eb!important;padding-top:10px!important;min-width:0!important;}
.wms-readonly-pill-v321{display:inline-flex!important;align-items:center!important;border:1px solid #fde68a!important;background:#fffbeb!important;color:#92400e!important;border-radius:999px!important;padding:7px 10px!important;font-size:12px!important;font-weight:900!important;}
.wms-empty-v321{background:#fff!important;border:1px dashed #cbd5e1!important;border-radius:16px!important;padding:16px!important;color:#64748b!important;}
.wms-progress-v321{background:#fff!important;border:1px solid #dbe5e4!important;border-radius:18px!important;padding:12px!important;margin:12px 0!important;overflow:hidden!important;}
.wms-progress-top-v321{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:baseline!important;color:#64748b!important;}
.wms-progress-top-v321 b{font-size:26px!important;color:#0f172a!important;}
.wms-progress-top-v321 em{font-style:normal!important;font-weight:900!important;color:#0f766e!important;}
.wms-progress-bar-v321{height:10px!important;border-radius:999px!important;background:#e2e8f0!important;overflow:hidden!important;margin:10px 0!important;}
.wms-progress-bar-v321 span{display:block!important;height:100%!important;background:#0f766e!important;border-radius:999px!important;}
.wms-kpi-grid-v321{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;}
.wms-kpi-grid-v321 div{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:8px!important;}
.wms-kpi-grid-v321 span{display:block!important;font-size:11px!important;font-weight:900!important;color:#64748b!important;text-transform:uppercase!important;}
.wms-kpi-grid-v321 b{font-size:18px!important;color:#0f172a!important;}
.wms-timeline-v321{display:grid!important;gap:8px!important;}
.wms-timeline-item-v321{border:1px solid #e5e7eb!important;border-radius:12px!important;padding:8px!important;background:#fff!important;}
.wms-timeline-item-v321.ok{border-color:#bbf7d0!important;background:#f0fdf4!important;}
.wms-timeline-item-v321.fail{border-color:#fecaca!important;background:#fff1f2!important;}
.warehouse-reference-details-v321{margin-top:14px!important;border:1px solid #e5e7eb!important;border-radius:16px!important;background:#fff!important;padding:10px!important;overflow:hidden!important;}
.warehouse-reference-details-v321 summary{cursor:pointer!important;font-weight:900!important;color:#334155!important;}
.warehouse-reference-details-v321[open] .order-items-card-grid-v310b{margin-top:10px!important;}
@media(max-width:1100px){.warehouse-layout{grid-template-columns:1fr!important}.order-detail{position:relative!important;top:auto!important;max-height:none!important}.wms-kpi-grid-v321{grid-template-columns:repeat(3,minmax(0,1fr))!important}.wms-scan-row-v321{position:static!important}}
@media(max-width:760px){.modal{padding:8px!important}.modal-card{padding:12px!important;margin:10px auto!important;width:100%!important;max-width:100%!important}.wms-command-bar-v321{position:static!important}.wms-command-actions-v321{display:grid!important;grid-template-columns:1fr 1fr!important}.wms-scan-row-v321{grid-template-columns:1fr!important}.wms-line-card-v321{grid-template-columns:1fr!important;grid-template-areas:"image" "info" "qty" "actions"!important}.wms-product-img-v321{width:100%!important;height:150px!important}.wms-meta-grid-v321{grid-template-columns:1fr!important}.wms-qty-grid-v321{grid-template-columns:repeat(2,minmax(0,1fr))!important}.wms-kpi-grid-v321{grid-template-columns:repeat(2,minmax(0,1fr))!important}.order-detail-head{grid-template-columns:1fr!important}.status-stack{justify-content:flex-start!important}}
@media(max-width:480px){.wms-command-actions-v321{grid-template-columns:1fr!important}.wms-qty-grid-v321{grid-template-columns:1fr!important}.wms-kpi-grid-v321{grid-template-columns:1fr!important}}

/* V32.4 Simplified Warehouse Step Workflow - legacy compatibility block */
.v322-unified-list-page .admin-pro-layout-v302d{display:block;grid-template-columns:1fr;overflow:visible;}
.v322-order-list-only{width:100%;max-width:1500px;margin:0 auto;}
.v322-full-order-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;max-height:none;overflow:visible;}
.v322-open-order-card{height:auto;text-align:left;display:flex;flex-direction:column;gap:10px;}
.v322-open-order-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(148,163,184,.28);padding-top:10px;color:#0f766e;font-weight:800;}
.v322-order-list-guidance{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:12px 14px;border:1px solid rgba(15,118,110,.22);border-radius:14px;background:rgba(240,253,250,.75);color:#134e4a;}
.v322-order-list-guidance span{color:#475569;font-size:.92rem;}
.v322-full-detail-page{max-width:1500px;margin:0 auto;padding:0 0 28px;overflow-x:hidden;}
.v322-detail-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin:-6px -4px 16px;padding:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.22);border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.07);}
.v322-detail-topbar h1{margin:2px 0 2px;font-size:1.45rem;}
.v322-detail-topbar p{margin:0;color:#64748b;}
.v322-detail-shell{overflow-x:hidden;}
.v322-detail-shell .order-detail-inner{max-width:100%;overflow-x:hidden;}
.v322-detail-shell .table-wrap{overflow-x:auto;}
.status-checklist-readonly-v322 input{pointer-events:none;}
.status-checklist-readonly-v322 .status-readonly-note-v3205{grid-column:1/-1;}
.v322-admin-detail .warehouse-panel-v3202 input,
.v322-admin-detail .warehouse-panel-v3202 textarea,
.v322-admin-detail .warehouse-panel-v3202 button[data-warehouse-edit]{pointer-events:none;}
@media(max-width:820px){
  .v322-detail-topbar{grid-template-columns:1fr;position:relative;}
  .v322-full-order-list{grid-template-columns:1fr;}
  .v322-order-list-guidance{flex-direction:column;}
}

/* V32.4 Simplified Warehouse Step Workflow - legacy compatibility block */
.v322-detail-shell,.v322-detail-shell .order-detail-inner,.v322-full-detail-page,.wms-panel-v323,.wms-panel-v323 *{box-sizing:border-box;max-width:100%;}
.v322-detail-shell{overflow-x:hidden!important;}
.v322-detail-shell .table-wrap{overflow-x:hidden!important;}
.v323-admin-detail .table-wrap,.v322-admin-detail .table-wrap{max-width:100%;}
.wms-panel-v323{overflow:hidden!important;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.08);}
.wms-command-bar-v323{position:sticky;top:74px;z-index:18;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 12px 30px rgba(15,23,42,.06);}
.wms-command-actions-v323{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;}
.wms-scan-row-v323{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(20,184,166,.22);background:#f0fdfa;border-radius:16px;margin:12px 0;}
.wms-lines-v323{display:grid;gap:14px;overflow-x:hidden!important;}
.wms-line-card-v323{display:grid;grid-template-columns:132px minmax(280px,1.4fr) minmax(360px,1fr) 180px;grid-template-areas:"image info qty actions";gap:16px;align-items:stretch;border:1px solid rgba(148,163,184,.28);border-radius:20px;background:#fff;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.06);overflow:hidden;}
.wms-line-card-v323.readonly{background:#f8fafc;}
.wms-line-card-v323.removed{border-color:#fdba74;background:#fff7ed;}
.wms-product-img-v323{grid-area:image;width:132px;min-height:132px;border-radius:16px;border:1px solid rgba(148,163,184,.24);background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#94a3b8;font-size:.8rem;text-align:center;}
.wms-product-img-v323 img{width:100%;height:100%;object-fit:contain;background:#fff;}
.wms-product-img-v323:not(.missing) span{display:none;}
.wms-product-info-v323{grid-area:info;min-width:0;display:flex;flex-direction:column;gap:10px;}
.wms-meta-grid-v323{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.wms-meta-grid-v323 div,.wms-qty-grid-v323>div{border:1px solid rgba(148,163,184,.24);background:#f8fafc;border-radius:14px;padding:10px;min-width:0;}
.wms-meta-grid-v323 span,.wms-qty-grid-v323 span{display:block;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;}
.wms-meta-grid-v323 b,.wms-qty-grid-v323 b{display:block;color:#0f172a;word-break:break-word;}
.wms-remove-toggle-v323{display:flex;gap:8px;align-items:center;font-weight:700;color:#92400e;background:#fffbeb;border:1px solid #fed7aa;border-radius:12px;padding:8px 10px;}
.wms-remove-toggle-v323 input{width:18px;height:18px;}
.wms-qty-grid-v323{grid-area:qty;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start;min-width:0;}
.wms-qty-stepper-v323{display:grid;grid-template-columns:42px minmax(64px,1fr) 42px;gap:6px;align-items:center;}
.wms-qty-stepper-v323 input{text-align:center;font-weight:800;font-size:1rem;}
.wms-line-actions-v323{grid-area:actions;display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:center;min-width:0;}
.wms-line-actions-v323 .badge{text-align:center;justify-content:center;white-space:normal;}
.wms-progress-v323{border:1px solid rgba(148,163,184,.24);border-radius:18px;padding:14px;background:#fff;margin:12px 0;}
.wms-kpi-grid-v323{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px;}
.wms-kpi-grid-v323 div{border:1px solid rgba(148,163,184,.24);border-radius:14px;padding:10px;background:#f8fafc;}
.wms-kpi-grid-v323 span{display:block;color:#64748b;font-size:.75rem;text-transform:uppercase;}
.wms-kpi-grid-v323 b{font-size:1.15rem;color:#0f172a;}
.v322-full-order-list{overflow-x:hidden!important;}
.v322-open-order-card{min-height:178px;text-align:left;}
.v322-open-order-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(148,163,184,.18);padding-top:10px;color:#0f766e;font-weight:800;}
.v322-detail-topbar{top:0;}
@media(max-width:1180px){
  .wms-command-bar-v323{grid-template-columns:1fr;position:relative;top:auto;}
  .wms-command-actions-v323{justify-content:flex-start;}
  .wms-line-card-v323{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"image info" "qty qty" "actions actions";}
  .wms-product-img-v323{width:112px;min-height:112px;}
  .wms-kpi-grid-v323{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .wms-command-actions-v323{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .wms-command-actions-v323 .btn{width:100%;}
  .wms-scan-row-v323{grid-template-columns:1fr;}
  .wms-line-card-v323{grid-template-columns:1fr;grid-template-areas:"image" "info" "qty" "actions";padding:12px;}
  .wms-product-img-v323{width:100%;min-height:160px;}
  .wms-meta-grid-v323,.wms-qty-grid-v323{grid-template-columns:1fr 1fr;}
  .wms-kpi-grid-v323{grid-template-columns:1fr 1fr;}
}

/* V32.4 Simplified Warehouse Step Workflow - enterprise no-confusion WMS */
.wms-panel-v324{max-width:100%;overflow-x:hidden!important;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 28px rgba(15,23,42,.08)}
.wms-panel-v324 *{box-sizing:border-box;max-width:100%}
.wms-command-bar-v324{position:sticky;top:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px;border-bottom:1px solid #e5e7eb;border-radius:18px 18px 0 0}
.wms-command-actions-v324{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.wms-scan-row-v324{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;margin:14px 16px;padding:12px;border:1px solid #dbeafe;background:#eff6ff;border-radius:14px}
.wms-step-shell-v324{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:14px;margin:14px 16px;align-items:stretch;overflow:hidden}
.wms-step-card-v324{border:1px solid #d1d5db;border-radius:16px;padding:16px;background:#f9fafb;min-width:0}
.wms-step-card-v324 span{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#475569;margin-bottom:6px}
.wms-step-card-v324 h3{margin:0 0 6px;font-size:20px;color:#111827}
.wms-step-card-v324 p{margin:0;color:#4b5563;line-height:1.45}
.wms-step-shell-v324.pick .wms-step-card-v324{border-color:#bfdbfe;background:#eff6ff}
.wms-step-shell-v324.pack .wms-step-card-v324{border-color:#fde68a;background:#fffbeb}
.wms-step-shell-v324.finalize .wms-step-card-v324{border-color:#bbf7d0;background:#f0fdf4}
.wms-step-shell-v324.locked .wms-step-card-v324{border-color:#cbd5e1;background:#f1f5f9}
.wms-progress-v324{min-width:0;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:14px;overflow:hidden}
.wms-kpi-grid-v324{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;margin-top:12px}
.wms-kpi-grid-v324>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:9px;min-width:0}
.wms-kpi-grid-v324 span{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wms-kpi-grid-v324 b{display:block;font-size:18px;color:#111827;margin-top:3px}
.wms-lines-v324{display:grid;grid-template-columns:1fr;gap:14px;margin:16px;overflow-x:hidden!important;width:auto!important}
.wms-line-card-v324{display:grid;grid-template-columns:112px minmax(260px,1.15fr) minmax(310px,.95fr) minmax(150px,.35fr);gap:14px;align-items:stretch;border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05);overflow:hidden;min-width:0}
.wms-line-card-v324.readonly{background:#f8fafc}.wms-line-card-v324.removed{border-color:#fed7aa;background:#fff7ed}
.wms-product-img-v324{width:112px;min-height:112px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#94a3b8;font-size:12px;text-align:center}
.wms-product-img-v324 img{width:100%;height:100%;object-fit:contain;padding:6px;background:#fff}.wms-product-img-v324 img+span{display:none}.wms-product-img-v324.missing span{display:block}
.wms-product-info-v324{min-width:0;display:flex;flex-direction:column;gap:10px}.wms-meta-grid-v324{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wms-meta-grid-v324>div{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:8px;min-width:0}.wms-meta-grid-v324 span{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:700}.wms-meta-grid-v324 b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111827;margin-top:2px}
.wms-exception-box-v324{display:grid;gap:8px;border:1px solid #e5e7eb;border-radius:12px;background:#fbfdff;padding:10px}.wms-exception-box-v324 label span{display:block;font-size:12px;font-weight:800;color:#334155;text-transform:uppercase;margin-bottom:5px}
.wms-qty-grid-v324{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.wms-qty-grid-v324>div{border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;padding:10px;min-width:0}.wms-qty-grid-v324 span{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:800;margin-bottom:6px}.wms-qty-grid-v324 b{font-size:20px;color:#111827}.wms-qty-stepper-v324{display:grid;grid-template-columns:38px minmax(58px,1fr) 38px;gap:6px;align-items:center}.wms-qty-stepper-v324 input{text-align:center;font-size:16px;font-weight:800;min-width:0}.wms-line-actions-v324{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:10px;min-width:0}.wms-line-actions-v324 .badge{text-align:center;white-space:normal;line-height:1.25}.wms-line-actions-v324 .btn{width:100%}
/* prevent legacy horizontal scroll in order/warehouse detail containers */
.admin-order-fullpage-v322,.warehouse-fullpage-v322,.admin-detail-section-v310a,.admin-card,.panel{max-width:100%;overflow-x:hidden}.admin-order-fullpage-v322 table,.warehouse-fullpage-v322 table{max-width:100%}
@media(max-width:1100px){.wms-step-shell-v324{grid-template-columns:1fr}.wms-line-card-v324{grid-template-columns:96px 1fr}.wms-qty-grid-v324,.wms-line-actions-v324{grid-column:1/-1}.wms-kpi-grid-v324{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.wms-command-bar-v324{position:static}.wms-command-actions-v324,.wms-scan-row-v324{grid-template-columns:1fr;display:grid}.wms-line-card-v324{grid-template-columns:1fr}.wms-product-img-v324{width:100%;height:160px}.wms-meta-grid-v324,.wms-qty-grid-v324,.wms-kpi-grid-v324{grid-template-columns:1fr 1fr}}

/* V32.6.1 Ready-Invoice State Alignment */
.wms-shipping-actions-v325{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
.wms-command-bar-v324{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;overflow:visible}
.wms-command-actions-v324{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:100%;overflow:visible}
.wms-lines-v324{display:grid;gap:14px;max-width:100%;overflow:visible}
.wms-line-card-v324{display:grid;grid-template-columns:96px minmax(220px,1fr) minmax(260px,380px) minmax(150px,190px);gap:14px;align-items:stretch;max-width:100%;overflow:hidden}
.wms-product-info-v324,.wms-qty-grid-v324,.wms-line-actions-v324{min-width:0}
.wms-meta-grid-v324,.wms-qty-grid-v324{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wms-qty-stepper-v324{display:flex;align-items:center;gap:6px;max-width:100%}.wms-qty-stepper-v324 input{min-width:64px;max-width:90px;text-align:center}
@media(max-width:980px){.wms-line-card-v324{grid-template-columns:80px 1fr}.wms-qty-grid-v324,.wms-line-actions-v324{grid-column:1/-1}.wms-command-actions-v324{justify-content:flex-start}.wms-shipping-actions-v325{margin-left:0}}
@media(max-width:640px){.wms-line-card-v324{grid-template-columns:1fr}.wms-product-img-v324{width:90px;height:90px}.wms-meta-grid-v324,.wms-qty-grid-v324{grid-template-columns:1fr}.wms-command-bar-v324{display:block}.wms-command-actions-v324,.wms-shipping-actions-v325{margin-top:10px}}

/* V32.6.1 Ready-Invoice State Alignment */
.invoice-ready-action-v3261{font-weight:800;box-shadow:0 8px 18px rgba(20,90,70,.12)}
.wms-next-action-note-v3261{display:inline-flex;align-items:center;padding:10px 14px;border-radius:14px;background:#fff8e6;border:1px solid rgba(180,130,40,.25);font-weight:700;color:#72520f}

/* V32.7 Proof of Delivery + Warehouse Audit */
.wms-delivery-confirmation-v327{width:100%;max-width:760px;border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;padding:14px;display:grid;gap:12px}
.wms-delivery-title-v327{display:flex;flex-direction:column;gap:3px;color:#0f172a}.wms-delivery-title-v327 b{font-size:15px}.wms-delivery-title-v327 span{font-size:12px;color:#475569}
.wms-delivery-grid-v327{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wms-delivery-grid-v327 textarea{grid-column:1/-1}
.wms-shipping-actions-v325{align-items:stretch}.wms-delivery-confirmation-v327 .btn{justify-self:start}
@media(max-width:720px){.wms-delivery-grid-v327{grid-template-columns:1fr}.wms-delivery-confirmation-v327 .btn{width:100%}}

/* V32.8 queue-driven workflow cleanup */
.status-checklist-v311{display:none!important}
.workflow-timeline-v328{border:1px solid #dbe5e4;background:#f8fbfa;border-radius:18px;padding:14px;margin:14px 0;overflow:hidden}
.workflow-timeline-note-v328{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;color:#334155;font-size:13px}
.workflow-timeline-note-v328 span{color:#64748b}
.workflow-timeline-rail-v328{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.workflow-step-v328{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:10px;min-width:0;text-align:center;opacity:.55}
.workflow-step-v328 span{display:inline-flex;width:24px;height:24px;border-radius:999px;align-items:center;justify-content:center;background:#e5e7eb;color:#475569;font-weight:900;margin-bottom:4px}
.workflow-step-v328 b{display:block;font-size:12px;line-height:1.15;color:#334155}
.workflow-step-v328.active{opacity:1;border-color:#0f766e;background:#ecfdf5;box-shadow:0 8px 18px rgba(15,118,110,.09)}
.workflow-step-v328.active span{background:#0f766e;color:#fff}
.queue-chip-row-v328{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.queue-chip-v328{border:1px solid #d7e3e0;background:#fff;border-radius:18px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;cursor:pointer;text-align:left;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.queue-chip-v328:hover{border-color:#0f766e;transform:translateY(-1px)}
.queue-chip-v328 b{font-size:24px;color:#0f3f3c}.queue-chip-v328 span{font-size:12px;font-weight:800;color:#64748b}.queue-chip-v328.primary{background:#ecfdf5;border-color:#99f6e4}.queue-chip-v328.secondary{background:#f8fafc}
.wms-command-actions-v324{flex-wrap:wrap}.wms-panel-v324{max-width:100%;overflow:hidden}.wms-lines-v324{max-width:100%;overflow:hidden}.wms-line-card-v324{grid-template-columns:110px minmax(0,1.3fr) minmax(0,1fr) minmax(150px,220px)!important;width:100%;max-width:100%;overflow:hidden}.wms-product-info-v324,.wms-qty-grid-v324,.wms-line-actions-v324{min-width:0}.wms-meta-grid-v324{grid-template-columns:repeat(2,minmax(0,1fr))}.wms-qty-grid-v324{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wms-line-actions-v324{display:flex;flex-direction:column;gap:10px;align-items:stretch}.wms-line-actions-v324 .btn{width:100%}
@media(max-width:1120px){.workflow-timeline-rail-v328{grid-template-columns:repeat(3,minmax(0,1fr))}.queue-chip-row-v328{grid-template-columns:repeat(2,minmax(0,1fr))}.wms-line-card-v324{grid-template-columns:90px 1fr!important}.wms-qty-grid-v324,.wms-line-actions-v324{grid-column:1/-1}}
@media(max-width:640px){.workflow-timeline-note-v328{display:block}.workflow-timeline-rail-v328,.queue-chip-row-v328{grid-template-columns:1fr}.wms-line-card-v324{grid-template-columns:1fr!important}.wms-meta-grid-v324,.wms-qty-grid-v324{grid-template-columns:1fr}.wms-product-img-v324{width:100%;height:150px}}

/* V32.9 workflow timeline separation + active queue + auto-sync visibility */
.workflow-timeline-v328{display:none!important}
.workflow-timeline-v329{border:1px solid #dbe5e4;background:#f8fbfa;border-radius:18px;padding:14px;margin:14px 0;display:grid;gap:12px;overflow:hidden}
.workflow-timeline-note-v329{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#334155;font-size:13px}
.workflow-timeline-note-v329 span{color:#64748b}
.workflow-section-v329{border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:12px;display:grid;gap:10px}
.workflow-section-head-v329{display:flex;justify-content:space-between;gap:10px;align-items:center}
.workflow-section-head-v329 b{font-size:14px;color:#0f172a}.workflow-section-head-v329 span{font-size:12px;color:#64748b;text-align:right}
.workflow-section-rail-v329{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.workflow-mini-step-v329{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:9px;display:flex;align-items:center;gap:8px;color:#64748b;font-weight:800;font-size:12px;min-width:0}
.workflow-mini-step-v329 span{width:13px;height:13px;border-radius:999px;background:#cbd5e1;flex:0 0 auto}.workflow-mini-step-v329.todo{opacity:.55}.workflow-mini-step-v329.active{background:#ecfdf5;border-color:#5eead4;color:#0f766e}.workflow-mini-step-v329.active span{background:#0f766e}.workflow-mini-step-v329.done{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.workflow-mini-step-v329.done span{background:#16a34a}
.active-filter-banner-v329{display:inline-flex;align-items:center;gap:8px;border:1px solid #99f6e4;background:#ecfdf5;color:#0f766e;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800;margin:12px 0 0}.active-filter-banner-v329 span{color:#0f172a}
.queue-chip-v328.active-queue-v329{border-color:#0f766e!important;background:#ccfbf1!important;box-shadow:0 12px 26px rgba(15,118,110,.16)!important;outline:3px solid rgba(20,184,166,.16)}
.queue-chip-v328.active-queue-v329 span::after{content:' • Active';color:#0f766e;font-weight:900}
.internal-details-v329{margin:8px 0 12px}.internal-details-v329 summary{font-size:12px;color:#64748b;font-weight:800;cursor:pointer}
@media(max-width:720px){.workflow-timeline-note-v329,.workflow-section-head-v329{display:block}.workflow-section-head-v329 span{text-align:left;display:block;margin-top:4px}}


/* V32.9.2 button reliability + active navigation polish */
.admin-nav-v302a .admin-nav-active-v3291,
.admin-nav-v302a .btn[aria-current="page"]{
  background:#0f3f3c!important;
  color:#fff!important;
  border-color:#0f3f3c!important;
  box-shadow:0 10px 24px rgba(15,63,60,.18)!important;
  transform:translateY(-1px);
}
.admin-nav-v302a .btn{transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;min-height:42px}
.admin-nav-v302a .btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.10)}
.admin-more-select-v302a.admin-nav-select-active-v3291{border-color:#0f3f3c!important;background:#ecfdf5!important;color:#0f3f3c!important;font-weight:900}
.ar-page .btn,.wms-delivery-confirmation-v327 .btn{min-height:42px}
.ar-statement-v310b{max-width:1120px;width:min(1120px,94vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:18px}
.statement-table-wrap-v310b{max-height:54vh;overflow:auto}
.wms-delivery-confirmation-v327 input:required,
.wms-delivery-confirmation-v327 textarea:required{border-color:#cbd5e1}

/* V32.9.2 POD + Navigation Reliability */
.pod-message-v3292{min-height:22px;margin:8px 0 0;font-size:13px;font-weight:800}
.pod-message-v3292.err{color:#b42318;background:#fff1f0;border:1px solid #fecaca;border-radius:10px;padding:8px 10px}
.pod-message-v3292.ok{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:8px 10px}
.admin-nav-v302a .admin-nav-active-v3291,
.admin-nav-v302a .btn[aria-current="page"]{position:relative}
.admin-nav-v302a .admin-nav-active-v3291::after,
.admin-nav-v302a .btn[aria-current="page"]::after{content:'Active';position:absolute;right:-8px;top:-9px;background:#14b8a6;color:#fff;border-radius:999px;font-size:9px;font-weight:900;padding:2px 5px;letter-spacing:.02em}
.admin-nav-v302a .btn:focus-visible,
.admin-more-select-v302a:focus-visible{outline:3px solid rgba(20,184,166,.35);outline-offset:2px}
.wms-delivery-confirmation-v327 input:focus,
.wms-delivery-confirmation-v327 textarea:focus{border-color:#0f766e!important;box-shadow:0 0 0 3px rgba(20,184,166,.14)!important}

/* V35.0.2 Scanner Center Responsive Layout Repair
   Root-cause fix: scanner center used generic grid-3/grid-4 classes that compress
   cards/buttons into overlapping columns on desktop zoom, tablets, and narrow screens.
   These scanner-specific classes use minmax widths, full-width controls, and stacking
   breakpoints so scan controls never overlap. */
.scanner-center-v3502{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;display:flex;flex-direction:column;gap:14px}
.scanner-center-v3502 *{box-sizing:border-box;min-width:0}
.scanner-toolbar-v3502{align-items:flex-start;margin-bottom:2px}
.scanner-nav-v3502{flex-shrink:0;justify-content:flex-end}
.scanner-kpi-grid-v3502{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;width:100%;align-items:stretch}
.scanner-card-v3502{padding:14px;display:flex;flex-direction:column;gap:6px;min-height:88px;overflow:hidden}
.scanner-card-v3502 .input,.scanner-action-panel-v3502 .input{width:100%;max-width:100%}
.scanner-action-panel-v3502{overflow:hidden}
.scanner-action-row-v3502{display:grid;grid-template-columns:minmax(280px,1fr) minmax(160px,220px) minmax(150px,210px);gap:12px;align-items:stretch;width:100%}
.scanner-action-row-v3502 .btn,.scanner-action-row-v3502 input{height:48px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scanner-input-v3502{font-size:1rem;font-weight:700}
.scanner-audit-panel-v3502 .table-wrap{max-width:100%;overflow:auto}
.scanner-match-card{margin-top:12px;overflow:hidden}
@media(max-width:980px){
  .scanner-action-row-v3502{grid-template-columns:1fr 1fr}
  .scanner-input-v3502{grid-column:1 / -1}
  .scanner-nav-v3502{justify-content:flex-start;width:100%}
}
@media(max-width:640px){
  .scanner-kpi-grid-v3502{grid-template-columns:1fr}
  .scanner-action-row-v3502{grid-template-columns:1fr}
  .scanner-action-row-v3502 .btn,.scanner-action-row-v3502 input{width:100%;height:50px}
  .scanner-toolbar-v3502 h1{font-size:1.45rem}
}

/* V35.1 Barcode Identity + Scan-to-Cart Foundation */
.scanner-center-v351 .scanner-cart-panel-v351{border:1px solid rgba(10,30,40,.12);background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(10,30,40,.06)}
.scanner-center-v351 .scanner-match-card{margin-top:14px;border:1px solid rgba(0,95,85,.18)}
.scanner-center-v351 .scanner-match-card .media-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.scanner-center-v351 .scanner-match-card .thumb{width:72px;height:72px;object-fit:contain;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff}
.scanner-center-v351 .scanner-action-row-v3502{grid-template-columns:minmax(240px,1fr) minmax(160px,260px) minmax(140px,220px)}
@media(max-width:900px){.scanner-center-v351 .scanner-action-row-v3502{grid-template-columns:1fr}.scanner-center-v351 .scanner-match-card .media-row{align-items:flex-start}}


/* V35.1.4 Unified Cart + Portal-Safe Scanner Runtime */
.scanner-workspace-v3511{padding-bottom:28px;overflow-x:hidden}
.scanner-toolbar-v3511{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.scanner-nav-v3511{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.scanner-workflow-strip-v3511{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:10px 0 16px}
.scanner-workflow-strip-v3511>div{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:16px;padding:14px;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.scanner-workflow-strip-v3511 span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800;margin-bottom:4px}
.scanner-workflow-strip-v3511 b{display:block;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ok-text{color:#047857!important}.warn-text{color:#b45309!important}
.scanner-operational-grid-v3511{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,450px);gap:16px;align-items:start}
.scanner-main-panel-v3511{display:flex;flex-direction:column;gap:14px;min-width:0}
.scanner-side-panel-v3511{display:flex;flex-direction:column;gap:14px;position:sticky;top:92px;min-width:0}
.scanner-kpi-grid-v3511{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.scanner-action-panel-v3511{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.scanner-action-row-v3511{grid-template-columns:minmax(260px,1fr) 150px 150px!important}
.scanner-result-zone-v3511{margin-top:14px}
.scanner-cart-panel-v3511,.scanner-draft-panel-v3511{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:18px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.compact-toolbar-v3511{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.compact-toolbar-v3511 h2{margin:0}.compact-toolbar-v3511 b{white-space:nowrap}
.scanner-cart-table-wrap-v3511{max-height:300px;overflow:auto;border-radius:12px}
.scanner-action-stack-v3511{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.scanner-action-stack-v3511 .btn{width:100%;height:44px}
.scanner-audit-panel-v3511{margin-top:0}
.scanner-match-card{border:1px solid rgba(4,120,87,.18);background:#f8fffb}
@media(max-width:1200px){.scanner-operational-grid-v3511{grid-template-columns:1fr}.scanner-side-panel-v3511{position:static}.scanner-kpi-grid-v3511{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.scanner-workflow-strip-v3511{grid-template-columns:1fr}.scanner-kpi-grid-v3511{grid-template-columns:1fr!important}.scanner-action-row-v3511{grid-template-columns:1fr!important}.scanner-toolbar-v3511,.scanner-nav-v3511{justify-content:flex-start;width:100%}.scanner-cart-table-wrap-v3511{max-height:none}.scanner-workspace-v3511 h1{font-size:1.55rem}}


/* V35.1.4 Unified Cart + Portal-Safe Scanner Runtime */
.scanner-workspace-v3514{max-width:1480px;margin:0 auto;}
.scanner-workspace-v3514 .scanner-toolbar-v3511{align-items:flex-start;gap:18px;}
.scanner-workspace-v3514 .scanner-nav-v3511{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.scanner-workspace-v3514 .scanner-operational-grid-v3511{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);gap:18px;align-items:start;}
.scanner-workspace-v3514 .scanner-kpi-grid-v3511{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px;}
.scanner-workspace-v3514 .scanner-action-row-v3511{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center;}
.scanner-workspace-v3514 .scanner-input-v3502{min-height:48px;font-size:18px;font-weight:700;letter-spacing:.03em;}
.scanner-workspace-v3514 .scanner-side-panel-v3511{position:sticky;top:12px;display:grid;gap:14px;}
.scanner-workspace-v3514 .scanner-action-stack-v3511{display:grid;gap:8px;margin-top:12px;}
.scanner-workspace-v3514 .compact-toolbar-v3511{gap:12px;align-items:flex-start;}
.scanner-workspace-v3514 .scanner-workflow-strip-v3511{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;}
.scanner-workspace-v3514 .scanner-workflow-strip-v3511>div{background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:12px;box-shadow:0 6px 18px rgba(15,23,42,.05);}
.scanner-workspace-v3514 .scanner-workflow-strip-v3511 span{display:block;font-size:12px;color:#64748b;margin-bottom:3px;}
.scanner-workspace-v3514 .scanner-workflow-strip-v3511 b{font-size:14px;}
.scanner-workspace-v3514.role-customer .scanner-draft-panel-v3511,
.scanner-workspace-v3514.role-customer .sales-rep-only{display:none!important;}
.scanner-workspace-v3514.role-customer .scanner-main-panel-v3511 h1:after{content:' Customer';}
.scanner-workspace-v3514.role-warehouse .scanner-action-stack-v3511 .btn-primary,
.scanner-workspace-v3514.role-admin .scanner-action-stack-v3511 .btn-primary{min-height:42px;}
.ok-text{color:#047857}.warn-text{color:#b45309}
@media(max-width:980px){
  .scanner-workspace-v3514 .scanner-operational-grid-v3511{grid-template-columns:1fr;}
  .scanner-workspace-v3514 .scanner-side-panel-v3511{position:static;}
  .scanner-workspace-v3514 .scanner-workflow-strip-v3511{grid-template-columns:repeat(2,minmax(0,1fr));}
  .scanner-workspace-v3514 .scanner-action-row-v3511{grid-template-columns:1fr;}
  .scanner-workspace-v3514 .scanner-nav-v3511{justify-content:flex-start;}
}
@media(max-width:560px){
  .scanner-workspace-v3514 .scanner-workflow-strip-v3511{grid-template-columns:1fr;}
  .scanner-workspace-v3514 .scanner-kpi-grid-v3511{grid-template-columns:1fr;}
}

/* V35.2 Unified Catalog Scanner + Persistent Draft Engine */
.catalog-embedded-scanner-v352{margin:14px 0;padding:16px;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:linear-gradient(180deg,#ffffff,#f8fafc);box-shadow:0 8px 22px rgba(15,23,42,.05)}
.catalog-embedded-scanner-v352 .scanner-inline-row-v352{display:grid;grid-template-columns:minmax(150px,220px) minmax(260px,1fr) auto;gap:10px;align-items:center;margin-top:10px}
.catalog-embedded-scanner-v352 .scanner-input{min-height:48px;font-size:17px;font-weight:700;letter-spacing:.03em}
.catalog-embedded-scanner-v352 .scanner-result-zone-v3511{margin-top:12px}
.draft-resume-v352{margin:12px 0;border-radius:14px}
.rep-v292-page .catalog-embedded-scanner-v352{margin:14px 0 18px}
.rep-v292-submit-note{color:#64748b;font-size:13px;line-height:1.4;margin-top:10px}
@media(max-width:900px){.catalog-embedded-scanner-v352 .scanner-inline-row-v352{grid-template-columns:1fr}.catalog-embedded-scanner-v352 .toolbar{align-items:flex-start}.catalog-embedded-scanner-v352 button{width:100%}}

/* V35.3 Phone Camera Auto-Scan + Database Draft Foundation */
.embedded-catalog-scanner-v353{border:1px solid rgba(20,70,120,.14);background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:0 10px 30px rgba(20,60,100,.06)}
.embedded-catalog-scanner-v353 .toolbar{gap:14px;align-items:flex-start;flex-wrap:wrap}
.scanner-mode-row-v353{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.scanner-mode-row-v353 .input{max-width:240px}
.manual-scan-fallback-v353{margin-top:10px;border:1px dashed rgba(0,0,0,.16);border-radius:12px;padding:10px;background:#fff}
.manual-scan-fallback-v353 summary{cursor:pointer;font-weight:700;color:#27405c}
.scanner-camera-modal-v353{max-width:760px;width:min(96vw,760px)}
.scanner-camera-modal-v353 video{display:block;margin:10px 0;object-fit:cover}
.scanner-match-card-v353{border-left:5px solid #1976d2}
@media(max-width:760px){
  .embedded-catalog-scanner-v353 .tabs{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
  .scanner-mode-row-v353{display:grid;grid-template-columns:1fr}
  .manual-scan-fallback-v353 .scanner-action-row-v3511{display:grid;grid-template-columns:1fr;gap:8px}
}


/* V35.4 Advanced Camera Scan Runtime */
.advanced-camera-scan-v354{border:1px solid rgba(15,23,42,.10);background:linear-gradient(180deg,#fff,#f8fafc)}
.advanced-camera-scan-v354 .toolbar{gap:14px;align-items:flex-start}
.advanced-camera-scan-v354 .tabs{gap:8px;flex-wrap:wrap}
.scanner-camera-modal-v354{max-width:760px;width:min(96vw,760px)}
.scanner-camera-modal-v354 .camera-frame-v354{position:relative;border-radius:16px;overflow:hidden;background:#111;min-height:260px}
.scanner-camera-modal-v354 video{display:block;width:100%;max-height:430px;min-height:260px;object-fit:cover;background:#111}
.camera-crosshair-v354{position:absolute;inset:18% 10%;border:2px solid rgba(255,255,255,.85);border-radius:18px;box-shadow:0 0 0 9999px rgba(0,0,0,.18);pointer-events:none}
.camera-crosshair-v354:after{content:'Align barcode inside this window';position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);background:rgba(15,23,42,.86);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;white-space:nowrap}
.scanner-camera-actions-v354{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
@media(max-width:760px){.scanner-camera-modal-v354{width:96vw}.advanced-camera-scan-v354 .toolbar{display:block}.advanced-camera-scan-v354 .tabs{margin-top:10px}.camera-crosshair-v354{inset:22% 8%}.scanner-camera-modal-v354 video{max-height:70vh}}

/* V35.5 draft save/resume hardening */
.draft-action-row-v355{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.draft-action-row-v355 .mini-btn{flex:1;min-width:120px}.draft-resume-banner-v3521{border-left:4px solid #2563eb}.rep-submit-actions-v299{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.rep-submit-actions-v299 .sub{flex-basis:100%;margin:4px 0 0}
@media(max-width:720px){.draft-action-row-v355{flex-direction:column}.draft-action-row-v355 .mini-btn{width:100%}.rep-submit-actions-v299{flex-direction:column;align-items:stretch}.rep-submit-actions-v299 .btn{width:100%}}


/* V35.5.3 Cart Footer Draft UX Runtime Repair */
#primeDraftActionBarV3551,.draft-action-bar-v3552{display:none!important;}
.cart-centered-draft-actions-v3553,.cart-draft-footer-v3553,.cart-draft-footer-v3552{border-top:1px solid rgba(15,23,42,.12);margin-top:12px;padding-top:12px;background:linear-gradient(180deg,rgba(255,255,255,.96),#fff);}
.cart-draft-summary-v3553,.cart-draft-summary-v3552,.rep-draft-summary-v3552{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:.95rem;}
.draft-action-row-v3553,.draft-action-row-v3552{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.draft-action-row-v3553 .mini-btn,.draft-action-row-v3552 .mini-btn{min-height:36px;padding:8px 12px;border-radius:10px;}
.draft-helper-v3553,.draft-helper-v3552{font-size:.82rem;color:#64748b;margin-top:8px;line-height:1.35;}
@media(max-width:760px){.draft-action-row-v3553,.draft-action-row-v3552{display:grid;grid-template-columns:1fr 1fr}.draft-action-row-v3553 .danger,.draft-action-row-v3552 .danger{grid-column:1/-1}.cart-draft-summary-v3553,.cart-draft-summary-v3552{align-items:flex-start;flex-direction:column}}

/* V35.6.10 Skeleton screens */
@keyframes pw-skeleton-pulse{0%{opacity:.6}50%{opacity:1}100%{opacity:.6}}
.skeleton-card{pointer-events:none;animation:pw-skeleton-pulse 1.4s ease-in-out infinite}
.skeleton-line{height:12px;background:var(--color-border-tertiary,#e5e7eb);border-radius:4px;display:block}

/* V35.6.10 Approvals page */
.approvals-page-v3610 .approvals-table-v3610 td{vertical-align:middle}
.approvals-page-v3610 .approvals-table-v3610 .tabs{flex-wrap:nowrap}
