/* so_history_table_html — the History tab's own rules, kept here because the
 * server strips a template's <style> block.
 *
 * Only what is this leaf's alone is here. The five rules this tab shared byte
 * for byte with the Outstanding and Endorse tabs (.so-order-id, the
 * .so-filter-row th pair and the .so-filter-row input/select pair with its
 * placeholder rule) live in specials_ordering.css, so the head does not load
 * three copies of them.
 *
 * The form root is the .px-table-wrapper div, which carries the new private
 * class .so-history-root; the wrapper itself is styled by the shared
 * .px-table-wrapper, not by this file, so there is no bare root rule here.
 * Every rule is scoped :where(.so-history-root), which adds no specificity and
 * so cannot change which rule wins. Scoping on .px-table-wrapper instead would
 * reach every table on the page.
 *
 * No second-class fix is needed in this file: the two status
 * classes sit on a <tr> whose only competitor is .px-table tbody tr:hover at
 * (0,1,1), which already beats them today from a body <style> and still does
 * from a head link. The custom properties all three rules read (--accent,
 * --so-danger-bg, --so-success-bg) are declared on .so-page, the shell root and
 * an ancestor of this one.
 *
 * No designer gate: nothing in this file hides content
 * until JavaScript runs.
 */
:where(.so-history-root) .so-history-loading {
  text-align: center;
  padding: 28px;
  color: var(--accent);
  font-weight: 600;
}

:where(.so-history-root) .so-status-cancelled {
  background: var(--so-danger-bg);
}

:where(.so-history-root) .so-status-completed {
  background: var(--so-success-bg);
}
