/* E-commerce Sales Analysis V23 — balanced table widths, inventory generator UI, modern confirm/success messaging. */
:root{
  --esa-v23-black:#050506;
  --esa-v23-ink:#020617;
  --esa-v23-paper:#f8fafc;
  --esa-v23-soft:#e5e7eb;
  --esa-v23-green:#39ff14;
  --esa-v23-pink:#ff1493;
  --esa-v23-cyan:#26e6ff;
  --esa-v23-warn:#ffcc00;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root{
  --table-radius:14px;
}
/* Keep data grids wide enough on laptop, but prevent columns from becoming wastefully huge. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root :is([class*="overflow-x-auto"], [data-radix-scroll-area-viewport]){
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--esa-v23-green) #111!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23]{
  width:100%!important;
  max-width:none!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  background:var(--esa-v23-paper)!important;
  border:2px solid #111!important;
  border-radius:var(--table-radius)!important;
  overflow:hidden!important;
  box-shadow:6px 6px 0 var(--esa-v23-green),10px 10px 0 var(--esa-v23-pink)!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] thead,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] thead tr,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] th{
  background:#050506!important;
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] th{
  font-size:.78rem!important;
  line-height:1.15!important;
  letter-spacing:.035em!important;
  font-weight:950!important;
  padding:.78rem .7rem!important;
  vertical-align:middle!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] th:first-child{color:var(--esa-v23-green)!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] th:last-child{color:var(--esa-v23-cyan)!important;text-align:center!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] td{
  color:#050506!important;
  background:#f8f8f8!important;
  opacity:1!important;
  font-size:.86rem!important;
  line-height:1.28!important;
  font-weight:800!important;
  padding:.72rem .7rem!important;
  vertical-align:middle!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  border-bottom:1px solid #1f2937!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] tbody tr:nth-child(even) td{background:#ededed!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] tbody tr:hover td{background:#e9fff2!important;color:#000!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] button{
  min-width:38px!important;min-height:34px!important;background:#050506!important;color:#fff!important;border:1px solid #050506!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] button svg{stroke:#fff!important;}
/* Products / inventory style table */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"],
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"]{min-width:1040px!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(1),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(1){width:6.1rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(2),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(2){width:15.2rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(3),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(3){width:10.5rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(4),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(4){width:8.2rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(5),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(6),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(5),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(6){width:7rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(7),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(7){width:7.2rem!important;text-align:center!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):nth-child(8),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):nth-child(8){width:6.5rem!important;text-align:center!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="products"] :is(th,td):last-child,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="inventory"] :is(th,td):last-child{width:7.4rem!important;text-align:center!important;}
/* Orders */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"]{min-width:1120px!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(1){width:7.2rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(2){width:8rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(3){width:15rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(4){width:9rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(5){width:6rem!important;text-align:center!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(6){width:8rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(7){width:8rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):nth-child(8){width:9rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="orders"] :is(th,td):last-child{width:7.2rem!important;text-align:center!important;}
/* Customers */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"]{min-width:1180px!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(1){width:6.5rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(2){width:14rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(3){width:19rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(4){width:9rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(5){width:12rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(6){width:6.5rem!important;text-align:center!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(7){width:8.5rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):nth-child(8){width:9rem!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"] :is(th,td):last-child{width:7.2rem!important;text-align:center!important;}
/* Inventory helper + Data Gen helper */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v21,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v23,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .data-gen-inventory-v23{
  display:flex!important;
  gap:.8rem!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  margin:0 0 1rem!important;
  padding:1rem 1.1rem!important;
  border:2px solid var(--esa-v23-green)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#050506 0%,#121212 60%,#051b0b 100%)!important;
  color:#ffffff!important;
  box-shadow:6px 6px 0 var(--esa-v23-pink),0 0 22px rgba(57,255,20,.18)!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v21 span,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v23 span,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .data-gen-inventory-v23 span,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .data-gen-inventory-v23 p{
  color:#ffffff!important;
  opacity:1!important;
  font-weight:850!important;
  line-height:1.45!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v21 strong,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v23 strong,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .data-gen-inventory-v23 strong{color:var(--esa-v23-green)!important;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v21 button,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v23 button,
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .data-gen-inventory-v23 button{
  background:var(--esa-v23-green)!important;
  color:#050506!important;
  border:2px solid #050506!important;
  box-shadow:4px 4px 0 var(--esa-v23-pink)!important;
  padding:.75rem 1rem!important;
  border-radius:2px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal-backdrop{
  position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal{
  width:min(520px,calc(100vw - 32px));background:#050506;color:#fff;border:2px solid var(--esa-v23-green);box-shadow:8px 8px 0 var(--esa-v23-pink),0 0 38px rgba(38,230,255,.28);padding:1.25rem;border-radius:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal h3{font-size:1.15rem;color:var(--esa-v23-green);margin:0 0 .65rem;text-transform:uppercase;letter-spacing:.08em;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal p{color:#fff!important;line-height:1.5;margin:.35rem 0 .95rem;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal-actions button{border:2px solid #fff;padding:.72rem 1rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal-actions .confirm{background:var(--esa-v23-green);color:#050506;box-shadow:4px 4px 0 var(--esa-v23-pink);}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-modal-actions .cancel{background:#111;color:#fff;}
/* Success toast should be black, bold, and easy to read. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] :is([data-sonner-toast],[data-radix-toast-root],[role="status"],[role="alert"],.toast,.Toastify__toast){
  background:#050506!important;color:#ffffff!important;border:2px solid var(--esa-v23-green)!important;box-shadow:5px 5px 0 var(--esa-v23-pink)!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] :is([data-sonner-toast],[data-radix-toast-root],[role="status"],[role="alert"],.toast,.Toastify__toast) *{
  color:#ffffff!important;opacity:1!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .ecom-v23-success-pop{
  position:fixed;right:18px;bottom:18px;z-index:99998;max-width:min(420px,calc(100vw - 34px));background:#050506;color:#fff;border:2px solid var(--esa-v23-green);box-shadow:5px 5px 0 var(--esa-v23-pink),0 0 30px rgba(57,255,20,.18);border-radius:14px;padding:.9rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:850;
}
@media(max-width:900px){
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23]{min-width:940px!important;}
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23="customers"]{min-width:1060px!important;}
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] th{font-size:.72rem!important;padding:.66rem .62rem!important;}
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v23] td{font-size:.78rem!important;padding:.62rem .62rem!important;}
}
@media(max-width:520px){
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v21,
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v23,
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .data-gen-inventory-v23{align-items:stretch!important;}
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v21 button,
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .inventory-quick-generate-v23 button,
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] .data-gen-inventory-v23 button{width:100%!important;}
}
