.mws-controls { align-items: flex-end; }
.mws-csv { display: inline-flex; flex-wrap: wrap; gap: .3rem; align-items: center; font-size: .72rem; color: var(--tw-gray-500); margin-left: auto; }
.mws-oracle { display: inline-block; padding: .1rem .5rem; border-radius: .35rem; background: rgba(240,160,75,.18); color: #b45d0c; }
.dark .mws-oracle { color: #f0b46a; }
.mws-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mws-kpis .ls-kpi strong.mws-small { font-size: .95rem; }
.mws-compare .mws-selected td { background: rgba(63,111,214,.08); font-weight: 600; }
.mws-chart { width: 100%; height: 300px; }
.mws-chart--dd { height: 160px; margin-top: .25rem; }
.mws-chart--cycle { height: 260px; margin: .5rem 0 .75rem; }
.mws-cycles td small, .mws-cycles th small { display: block; font-size: .7rem; color: var(--tw-gray-500); font-weight: 400; }
.mws-cycles .mws-status { text-transform: none; }
.mws-status-skipped td, .mws-status-unresolved td, .mws-status-insufficient_cash td { background: rgba(214,57,57,.05); }
.mws-status-open td { background: rgba(240,160,75,.06); }
.mws-detail h4 { margin: .9rem 0 .35rem; font-size: .82rem; font-weight: 600; }
.mws-ops code { font-size: .7rem; }
.mws-ops .mws-stale td { background: rgba(240,160,75,.07); }
.mws-weeks td, .mws-ops td { vertical-align: top; }
.mws-page .table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 1199.98px) { .mws-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .mws-kpis { grid-template-columns: minmax(0, 1fr); } .mws-chart { height: 240px; } .mws-csv { margin-left: 0; } }
.mws-page .table-scroll { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
.mws-page { overflow-x: hidden; }
.mws-controls { flex-wrap: wrap; }
.mws-controls label, .mws-controls select { max-width: 100%; }
.mws-compare .mws-mode { min-width: 13rem; white-space: normal; }
/* The site table gives each header 1rem a side on one line, which made the comparison wider than any screen: headers wrap instead. */
.mws-page .mws-compare thead th, .mws-page .mws-compare thead th.num { white-space: normal; padding-inline: .5rem; vertical-align: bottom; }
/* a result's running totals wrap under it rather than widening the column */
.mws-page .mws-cycles td.ls-result small { white-space: normal; }
/* narrower content (a smaller window or the expanded sidebar): the comparison steps down a size */
@media (max-width: 1279.98px) {
  .mws-page .mws-compare td { font-size: 13px; padding-inline: .4rem; }
  .mws-page .mws-compare thead th { font-size: 12px; }
  .mws-page .mws-compare .mws-mode { min-width: 11rem; }
}
@media (min-width: 1024px) and (max-width: 1479.98px) {
  body:not(.sidebar-collapse) .mws-page .mws-compare td { font-size: 13px; padding-inline: .4rem; }
  body:not(.sidebar-collapse) .mws-page .mws-compare thead th { font-size: 12px; }
  body:not(.sidebar-collapse) .mws-page .mws-compare .mws-mode { min-width: 11rem; }
}
.mws-chart { max-width: 100%; }
@media (max-width: 767.98px) { .mws-controls .ls-policy select { max-width: 100%; } .ls-heading h1 { font-size: 1.25rem; overflow-wrap: anywhere; } }
.mws-controls label { min-width: 0; }
@media (max-width: 767.98px) { .mws-controls label { flex: 1 1 100%; } .mws-controls select { width: 100%; } }
.mws-controls label, .mws-controls select, .mws-controls .mws-csv { min-width: 0; max-width: 100%; }
@media (max-width: 767.98px) { .mws-controls label { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; } .mws-controls select { width: 100%; min-width: 0; } .mws-controls .btn { max-width: 100%; } }
.ls-page.mws-page { grid-template-columns: minmax(0, 1fr); }
.mws-page > *, .mws-page .ls-panel, .mws-page .table-scroll, .mws-page .ls-kpi { min-width: 0; }
/* a wide table or canvas must not set the minimum width of the page's flex ancestors: scroll inside instead */
.mws-page .table-scroll, .mws-page .mws-chart { width: 0; min-width: 100%; contain: inline-size; }
