/* FB5-9 transposed phone tables (dates down the side, entities across). Horizontal scroll lives INSIDE .tx-scroll only. */
.tx-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;border:1px solid var(--tm-grid,#e8e8e8);border-radius:8px;background:#fff}
.tx-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px;font-variant-numeric:tabular-nums}
.tx-table th,.tx-table td{padding:7px 10px;border-bottom:1px solid var(--tm-grid,#e8e8e8);white-space:nowrap;text-align:right;background:#fff}
.tx-table thead th{font-size:12px;font-weight:650;vertical-align:bottom;text-transform:none;letter-spacing:0}
.tx-table .tx-date{position:sticky;left:0;z-index:2;text-align:left;font-weight:600;border-right:1px solid var(--tm-grid,#e8e8e8);min-width:88px}
.tx-table .tx-corner{z-index:3}
.tx-table td[data-heat]{color:#1b2a35}
.tx-table td.negative{color:#b42318}
.tx-table th.is-open{background:var(--tm-subtotal-bg,#e8f1f8)}
.tx-table td.tx-parent{background:#f7f8f9} /* POL-SALES-31: a quiet cue under an opened header; the blue tint fought the heat colours */
.tx-table .tx-total-row th,.tx-table .tx-total-row td{font-weight:700;border-top:2px solid var(--tm-grid,#e8e8e8)}
.tx-table .tx-d1{box-shadow:inset 0 3px 0 #9dbcd4}.tx-table .tx-d2,.tx-table .tx-d3{box-shadow:inset 0 3px 0 #c9d9e6}
.tx-toggle{font:inherit;font-weight:650;background:none;border:0;padding:6px 2px;min-height:40px;cursor:pointer;color:inherit;text-align:right}
.tx-toggle:focus-visible{outline:2px solid #1d6fb8;outline-offset:2px}
.tx-caret{display:inline-block;width:1em}
.tx-link{color:inherit}
/* trend-matrix: the transposed block replaces the table and the P13 cards at phone width, only when the data qualifies. */
.trend-matrix-wrap .tm-tx{display:none}
@media (max-width:600px){
 .trend-matrix-wrap.has-tx .tm-tx{display:block}
 .trend-matrix-wrap.has-tx .trend-matrix,.trend-matrix-wrap.has-tx .tm-cards{display:none!important}
}
/* FB5-SNAPT: Snapshot Team / Guest / Financials transposed on the phone (cards stay when the rule does not hold). */
.snapshot-tx{display:none}
@media (max-width:600px){
 html.ui2 .has-snap-tx .snapshot-tx{display:block}
 html.ui2 .has-snap-tx .ui2-mcards,html.ui2 .has-snap-tx>#snapshot-section-panel>.snapshot-table{display:none!important}
 .snapshot-tx .tx-open{font:inherit;background:none;border:0;padding:4px 2px;min-height:32px;color:inherit;cursor:pointer;text-decoration:underline dotted}
 .snapshot-tx .tx-sub{display:block;font-size:11px;opacity:.75}
 .snapshot-tx td.snapshot-rwg-green{background:#e7f3ed;color:#205744}.snapshot-tx td.snapshot-rwg-yellow{background:#fbf0cf;color:#6a4800}.snapshot-tx td.snapshot-rwg-red{background:#f9e6e8;color:#763239}
}

/* POL-SALES-31: long store names wrap to two lines then end in an ellipsis (they used to cut mid-word); header cells stay one height. */
.tx-table thead th.tx-col{max-width:112px;min-width:72px;white-space:normal;line-height:1.2;vertical-align:bottom}
.tx-table thead th.tx-col .tx-toggle,.tx-table thead th.tx-col .tx-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere}
.tx-table thead th.tx-col .tx-toggle{display:inline-block;-webkit-line-clamp:unset}
.tx-table th.tx-col .tx-link{display:-webkit-box}
@media (prefers-reduced-motion:reduce){.tx-scroll,.tx-scroll *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
