/* Shared layout corrections. Keep content independent of the navigation's height. */
.admin-layout { align-items: start; }
.admin-content { min-width: 0; align-self: start; align-content: start; }
.admin-content > * { min-width: 0; }
.admin-content.ops-page > * + * { margin-top: 0; }
.page-heading > *, .panel-header > *, .config-section-heading > *, .ops-section-heading > * { min-width: 0; }
.page-heading h1, .panel h2, .panel h3 { overflow-wrap: anywhere; }
.config-list-panel, .config-form-section { align-content: start; }
.config-record.config-record-plain { grid-template-columns: minmax(0, 1fr) auto; }
.config-record-plain > :only-child { grid-column: 1 / -1; }
.admin-content > .org-lineage { margin-bottom: 0; }
.breadcrumbs { flex-wrap: wrap; overflow-wrap: anywhere; }
.config-facility-path { flex-wrap: wrap; overflow: visible; align-items: center; }
.config-path-node { flex: 1 1 8rem; align-content: start; }
.config-path-arrow { flex-basis: 1rem; }
.config-empty-state, .ops-empty-state, .empty-state, .compact-empty {
    min-height: 0;
    padding: 1.4rem;
}
.announcement-empty-state { min-height: 0; }

/* Let filters shrink inside the workspace and wrap controls on smaller screens. */
.form-field, .ops-toolbar-fields > *, .config-filter-bar > *, .config-filter-primary > * { min-width: 0; }
.ops-toolbar-fields { grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); }
.config-filter-bar { grid-template-columns: minmax(0, 1fr) minmax(0, .5fr) auto; }
.config-filter-primary { grid-template-columns: minmax(0, 1fr) auto; }
.form-field input, .form-field select, .form-field textarea { max-width: 100%; }
.panel, .ops-table-panel, .table-wrap, .ops-table-scroll, .guided-table-scroll { min-width: 0; max-width: 100%; }
.table-wrap, .ops-table-scroll, .guided-table-scroll { overflow-x: visible; }
table, .ops-table, .maintenance-closures-table, .guided-table-scroll table { min-width: 0; width: 100%; table-layout: fixed; }
.maintenance-closures-table th:last-child, .maintenance-closures-table td:last-child { min-width: 0; }
th, td { overflow-wrap: anywhere; }
.ops-status, .status-pill, .code-pill { white-space: normal; overflow-wrap: anywhere; }
.ops-primary-cell, .table-actions, .content-copy { min-width: 0; overflow-wrap: anywhere; }
.table-actions > *, td .button, td .ops-action { max-width: 100%; white-space: normal; }
.announcement-row-actions { min-width: 0; flex-wrap: wrap; }
.announcement-window-cell strong { white-space: normal; }
.upload-facility-values > span { min-width: 0; overflow-wrap: anywhere; }
.ops-dialog, .config-dialog, dialog { max-width: calc(100vw - 2rem); }
.ops-dialog-shell, .ops-split > * { min-width: 0; }

.page-numbers { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.page-number { min-width: 2.25rem; justify-content: center; }
.page-number[aria-current="page"] { color: #fff; background: var(--usp-navy, var(--navy)); border-color: var(--usp-navy, var(--navy)); }
.config-pagination, .page-actions, .guided-pagination { flex-wrap: wrap; justify-content: flex-start; gap: .65rem; }
.config-pagination > span, .page-actions > span { overflow-wrap: anywhere; }
.workspace-offcanvas .offcanvas-body { overscroll-behavior: contain; scrollbar-gutter: stable; }
.workspace-sidebar { align-content: start; }
.workspace-sidebar a { overflow-wrap: anywhere; }
.config-gallery-viewer-strip { flex-wrap: wrap; max-height: 10rem; overflow-y: auto; overflow-x: visible; }

/* Keep every cell available on phones instead of forcing a sideways table scroll. */
.table-cell-label { display: none; }
@media (max-width: 760px) {
    .responsive-table { display: block; table-layout: auto; }
    .responsive-table > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .responsive-table > tbody { display: block; }
    .responsive-table > tbody > tr { display: grid; gap: .2rem; padding: .85rem 1rem; border-bottom: 1px solid var(--border); }
    .responsive-table > tbody > tr > td,
    .responsive-table > tbody > tr > th { display: block; width: auto; padding: .3rem 0; border: 0; text-align: left; }
    .responsive-table > tbody > tr > :is(td, th):first-child,
    .responsive-table > tbody > tr > :is(td, th):last-child { padding-inline: 0; }
    .responsive-table > tbody > tr > td > .table-cell-label { display: block; margin-bottom: .15rem; color: var(--ink-soft); font-size: .66rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
    .responsive-table > tbody > tr > td:empty { display: none; }
    .config-filter-bar, .config-filter-primary { grid-template-columns: minmax(0, 1fr); }
    .config-filter-actions, .ops-toolbar-actions { justify-content: flex-start; }
    .config-record.config-record-plain { grid-template-columns: minmax(0, 1fr); }
    .config-record-plain > .config-record-actions { grid-column: 1; }
    .org-lineage, .org-lineage.org-lineage-five { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .5rem; gap: .3rem; }
    .org-lineage-node { padding: .65rem; }
    .org-lineage-node::before, .org-lineage-node::after { display: none; }
    .page-numbers { gap: .25rem; }
}
