/* 3.2.27 — historical data and controlled option labels share a visual standard. */
#content, #modal-body, #notification-list, .user-identity,
body:has(#scheduleTable), .uppercase-input, select, option { text-transform: uppercase; }
input[type="password"], input[type="email"], input[type="url"], input[type="file"],
.preserve-case, [data-preserve-case], td[data-column="occurrence_password"], code, pre, .mfa-secret, .mfa-recovery-list,
a[href^="http"] { text-transform: none; }
/* A real layout cell replaces translateY centering. :active must not move
   the button away from the pointer between pointerdown and pointerup. */
.freight-table .column-filter {
  display: flex; align-items: center; gap: 4px; padding-right: 0;
  position: relative; min-width: 0; overflow: visible;
}
.freight-table .column-filter > :not(.column-exclude) { flex: 1 1 0; min-width: 0; width: 0; }
.freight-table .column-filter > .column-exclude,
.freight-table .column-filter > .column-exclude:not(:disabled):active {
  position: static; inset: auto; transform: none; transition: background .15s,color .15s;
  flex: 0 0 28px; width: 28px; min-width: 28px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0; padding: 0; cursor: pointer; touch-action: manipulation;
}
.column-exclude > svg, .column-exclude > svg * { pointer-events: none; }
.freight-table .column-head { padding-right: 5px; }
.freight-table .column-resizer { right: 0; width: 5px; }
.column-exclude:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
