/* Shared containment only: each surface continues to own its visual design.
   Never hide a message or truncate evidence to make a layout fit. */
:where([role="alert"], [role="status"], .error, .notice, .message) {
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}
:where(main h1, main h2, main h3, main summary, main label) {
  overflow-wrap: anywhere;
}
:where(main input, main textarea, main select, dialog input, dialog textarea) {
  min-inline-size: 0;
  max-inline-size: 100%;
}
:where(.admin-heading > *, .columns > *, .card, .scroll, main form > *, main fieldset) {
  min-inline-size: 0;
}
:where(.admin-diagnostics) {
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}
/* Preserve readable columns; the labelled table region owns narrow scrolling. */
:where(.ops-table table) {
  min-inline-size: 40rem;
}
:where(.ops-table) :is(th, td):not(:last-child) {
  white-space: nowrap;
  overflow-wrap: normal;
}
