/* Compact tables fit their module; the horizontal rail is always available. */
.eac-table-scope, .eac-table-layout, .eac-table-scroll, .eac-table-scrollbar {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
.eac-table-scroll {
    width: 100%;
    overflow-x: scroll;
    overscroll-behavior-x: contain;
    margin: 0 0 1em;
}
.eac-table-scrollbar {
    width: 100%;
    height: 20px;
    overflow-x: scroll;
    overflow-y: hidden;
    background: #f1f5f9;
    border: 1px solid #d5dde6;
    border-radius: 4px;
    margin: 0 0 5px;
}
.eac-table-scrollbar > div { height: 1px; }
.eac-table-scrollbar::-webkit-scrollbar, .eac-table-scroll::-webkit-scrollbar { height: 12px; }
.eac-table-scrollbar::-webkit-scrollbar-track, .eac-table-scroll::-webkit-scrollbar-track { background: #edf1f5; }
.eac-table-scrollbar::-webkit-scrollbar-thumb, .eac-table-scroll::-webkit-scrollbar-thumb {
    background: #94a3b8; border: 2px solid #edf1f5; border-radius: 8px;
}
.eac-table-scroll:focus-visible, .eac-table-scrollbar:focus-visible { outline: 2px solid #005a9c; outline-offset: 2px; }
.eac-table-layout :is(input, select, textarea) { box-sizing: border-box; max-width: 100%; }
.eac-table-scroll > table {
    display: table !important;
    width: 100% !important;
    max-width: none;
    min-width: var(--eac-table-min-width, 0px) !important;
    table-layout: fixed !important;
    margin-bottom: 0;
}
.eac-table-scroll > table > colgroup > col { width: auto !important; }
.eac-table-scroll > table > :is(thead, tbody, tfoot) > tr > :is(th, td),
.eac-table-scroll > table > tr > :is(th, td) {
    width: var(--eac-column-width, auto) !important;
    min-width: 0 !important;
    padding: 9px 8px;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    vertical-align: top;
}
.eac-table-cell {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-width: 100%;
    max-height: 3.2em;
    line-height: 1.6;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}
.eac-table-cell :is(p, div, span, a, small, strong, em, code, pre) {
    white-space: inherit !important;
    word-break: inherit !important;
    overflow-wrap: inherit !important;
}
.eac-table-cell > :first-child { margin-top: 0; }
/* Keyboard focus must never land on a link hidden by the compact preview. */
.eac-table-cell:focus-within { display: block; -webkit-line-clamp: unset; max-height: none; }
.eac-table-toggle-cell { position: relative; padding-left: 2.25rem !important; }
.eac-table-scroll .eac-table-row-toggle {
    position: absolute; top: .45rem; left: .2rem;
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.7rem; height: 1.7rem; min-height: 0;
    margin: 0; padding: 0;
    border: 1px solid #cbd5e1; border-radius: 4px;
    background: #fff; color: #005a9c; cursor: pointer; box-shadow: none;
    font: 20px/1 system-ui, sans-serif;
}
.eac-table-row-toggle::before { content: '\203A'; }
.eac-table-row-toggle[aria-expanded="true"]::before { transform: rotate(90deg); }
.eac-table-row-toggle[hidden] { display: none !important; }
.eac-table-row-toggle:focus-visible { outline: 2px solid #005a9c; outline-offset: 2px; }
.eac-table-control-cell :is(div, form, details) { box-sizing: border-box; min-width: 0 !important; max-width: 100% !important; flex-wrap: wrap !important; }
.eac-table-control-cell :is(button, a.button, input, select, textarea) {
    box-sizing: border-box; min-width: 0 !important; max-width: 100% !important;
    white-space: normal !important; overflow-wrap: break-word !important;
}
.eac-table-detail-row > td { padding: 0 !important; }
.eac-table-detail-panel {
    box-sizing: border-box;
    position: sticky; left: 0;
    width: var(--eac-table-view-width, 100%);
    max-width: 100%;
    padding: 16px;
    background: #f8fafc;
    border-bottom: 2px solid #cbd5e1;
    white-space: normal;
    text-align: left;
}
.eac-table-detail-fields { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 16px 24px; }
.eac-table-detail-field { min-width: 0; }
.eac-table-detail-field dt { margin: 0 0 5px; font-weight: 600; color: #334155; }
.eac-table-detail-field dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; line-height: 1.6; }
.eac-table-detail-close { margin-top: 16px; cursor: pointer; }
.eac-table-hint { margin: 6px 0 8px; color: #475569; font: 13px/1.5 system-ui, sans-serif; }
.eac-table-hint[hidden] { display: none !important; }
.eac-table-text { white-space: pre-wrap; }
/* Preserve a usable fallback before JavaScript loads or when it is disabled. */
.eac-table-scope table:not([data-eac-table-ready]) {
    display: block;
    width: 100%;
    overflow-x: auto;
}
:is(.elementor-widget-shortcode, .elementor-widget-container, .elementor-column, .elementor-widget-wrap, .e-con, .e-con-inner):has(.eac-table-scope) {
    min-width: 0;
    max-width: 100%;
}
.finding-filling-lifecycle .tab-buttons { flex-wrap: wrap; gap: 4px; }
.finding-filling-lifecycle .two-col .col { min-width: min(250px, 100%); }

/* These module grids otherwise impose their desktop width on the tables. */
.sms-haz-wrap .sms-haz-grid { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); }
.sms-haz-wrap .sms-haz-card { min-width: 0; overflow-wrap: anywhere; }
.moc2-wrapper .moc2-cell { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 800px) {
    .sms-haz-wrap .sms-haz-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 901px) {
    .moc2-wrapper .moc2-header,
    .moc2-wrapper .moc2-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr) minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, .7fr);
    }
}

@media print {
    .eac-table-hint, .eac-table-scrollbar, .eac-table-row-toggle, .eac-table-detail-row { display: none !important; }
    .eac-table-scroll { overflow: visible; }
    .eac-table-scroll > table { min-width: 0 !important; width: 100% !important; table-layout: fixed !important; }
    .eac-table-toggle-cell { padding-left: 8px !important; }
    .eac-table-cell { display: block; -webkit-line-clamp: unset; max-height: none; overflow: visible; overflow-wrap: anywhere !important; }
    .eac-table-cell .eac-table-text { white-space: pre-wrap !important; }
}
