/* E-commerce Sales Analysis V26 — equal-width table columns inspired by Cohorts.
   Products, Orders, Customers, and Inventory use a consistent 1/9 column rhythm.
   Cohorts keeps a consistent 1/7 rhythm. Horizontal scrolling protects small screens. */
:root{
  --esa-v26-black:#030305;
  --esa-v26-paper:#f8fafc;
  --esa-v26-ink:#07101f;
  --esa-v26-green:#39ff14;
  --esa-v26-pink:#ff1493;
  --esa-v26-cyan:#26e6ff;
  --esa-v26-nine-column-min:90rem;
  --esa-v26-seven-column-min:56rem;
}

/* Scroll only inside the table container; never force the entire page wider. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root [data-ecom-scroll-v26="true"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--esa-v26-green) #050506!important;
  padding-bottom:.55rem!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root [data-ecom-scroll-v26="true"]::-webkit-scrollbar{
  height:12px!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root [data-ecom-scroll-v26="true"]::-webkit-scrollbar-track{
  background:#050506!important;
  border:1px solid #171717!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root [data-ecom-scroll-v26="true"]::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,var(--esa-v26-green),var(--esa-v26-cyan),var(--esa-v26-pink))!important;
  border:2px solid #050506!important;
}

/* Shared stable layout. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26]{
  width:100%!important;
  max-width:none!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}

/* Products, Orders, Customers, and Inventory: every column gets exactly 1/9. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-equal-columns-v26="nine"]{
  width:max(100%,var(--esa-v26-nine-column-min))!important;
  min-width:var(--esa-v26-nine-column-min)!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-equal-columns-v26="nine"] col{
  width:11.111111%!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26][data-ecom-equal-columns-v26="nine"] :is(th,td){
  width:11.111111%!important;
  min-width:0!important;
  max-width:none!important;
}

/* Cohorts: preserve the same evenly distributed visual rhythm using 1/7 columns. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-equal-columns-v26="seven"]{
  width:max(100%,var(--esa-v26-seven-column-min))!important;
  min-width:var(--esa-v26-seven-column-min)!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-equal-columns-v26="seven"] col{
  width:14.285714%!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26][data-ecom-equal-columns-v26="seven"] :is(th,td){
  width:14.285714%!important;
  min-width:0!important;
  max-width:none!important;
}

/* Consistent header sizing and centering, matching the orderly Cohorts table. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] th{
  background:#030305!important;
  color:#ffffff!important;
  padding:.9rem .72rem!important;
  font-size:.76rem!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-align:center!important;
  vertical-align:middle!important;
}

/* Cells remain visually balanced; long descriptive values wrap inside their own equal column. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] td{
  color:var(--esa-v26-ink)!important;
  padding:.86rem .72rem!important;
  font-size:.83rem!important;
  line-height:1.28!important;
  font-weight:850!important;
  vertical-align:middle!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] tbody tr:nth-child(odd) td{
  background:#f8fafc!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] tbody tr:nth-child(even) td{
  background:#e9fff1!important;
}

/* Default compact fields: one line and centered. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] td{
  white-space:nowrap!important;
  text-align:center!important;
}

/* Products / Inventory descriptive fields. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) :is(th,td):nth-child(2),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) :is(th,td):nth-child(3),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) :is(th,td):nth-child(4){
  text-align:left!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) td:nth-child(2),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) td:nth-child(3),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) td:nth-child(4){
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Orders descriptive fields. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="orders"] :is(th,td):nth-child(2),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="orders"] :is(th,td):nth-child(3),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="orders"] :is(th,td):nth-child(4){
  text-align:left!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="orders"] td:nth-child(2),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="orders"] td:nth-child(3){
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Customers descriptive fields, including long email and location values. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] :is(th,td):nth-child(2),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] :is(th,td):nth-child(3),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] :is(th,td):nth-child(4),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] :is(th,td):nth-child(5){
  text-align:left!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] td:nth-child(2),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] td:nth-child(3),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] td:nth-child(5){
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Money and numeric fields keep stable alignment without changing column width. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) :is(th,td):nth-child(5),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table:is(
  [data-ecom-table-v26="products"],
  [data-ecom-table-v26="inventory"]
) :is(th,td):nth-child(6),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="orders"] :is(th,td):nth-child(5),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="orders"] :is(th,td):nth-child(6),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] :is(th,td):nth-child(6),
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="customers"] :is(th,td):nth-child(7){
  text-align:right!important;
}

/* ID and Actions retain accent colors while occupying the same width as every other column. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] :is(th,td):first-child{
  color:var(--esa-v26-green)!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] :is(th,td):last-child{
  color:var(--esa-v26-cyan)!important;
  text-align:center!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] td:last-child > div{
  width:100%!important;
  justify-content:center!important;
}

/* Cohort cells stay centered and equal. */
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="cohorts"] :is(th,td){
  text-align:center!important;
  white-space:nowrap!important;
}
body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26="cohorts"] :is(th,td):first-child{
  text-align:left!important;
}

/* Smaller devices keep the same proportions and use the local horizontal scrollbar. */
@media(max-width:900px){
  :root{
    --esa-v26-nine-column-min:81rem;
    --esa-v26-seven-column-min:52.5rem;
  }
}
@media(max-width:560px){
  :root{
    --esa-v26-nine-column-min:76.5rem;
    --esa-v26-seven-column-min:49rem;
  }
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] th{
    font-size:.7rem!important;
    padding:.76rem .58rem!important;
  }
  body[data-project-key="ECOMMERCE_SALES_ANALYSIS"] #root table[data-ecom-table-v26] td{
    font-size:.78rem!important;
    padding:.7rem .58rem!important;
  }
}
