/* Keep the supplied source-theme.css unchanged. Grid-only Bootstrap integration. */
.nimble-grid-host { min-width: 0; width: 100%; overflow: visible; }
.nimble-grid { width: 100% !important; }
.nimble-grid-host .dt-container { width: 100%; min-width: 0; }
.nimble-grid-host .dt-scroll { border: 1px solid #dce5ef; border-radius: .65rem; overflow: hidden; }
.nimble-grid-host .dt-scroll-head { background: #edf3f9; }
.nimble-grid-host .dt-scroll-head th { background: #edf3f9; color: #253b58; white-space: nowrap; }
.nimble-grid-host .dt-scroll-body { overscroll-behavior: contain; }
.nimble-grid-host td { vertical-align: middle; }
.nimble-grid-host td:last-child .d-flex { flex-wrap: nowrap; }
.nimble-grid-host .dt-info, .nimble-grid-host .dt-length, .nimble-grid-host .dt-search { font-size: .9rem; }
.nimble-grid-host .dt-input { border-radius: .5rem; }
.nimble-grid-host .page-link { color: #2563a1; }
.nimble-grid-host .page-item.active .page-link { background-color: #2563a1; border-color: #2563a1; color: #fff; }
.nimble-grid-host button:focus-visible, .nimble-grid-host th:focus-visible,
.nimble-grid-host a:focus-visible { outline: 3px solid #598bd1; outline-offset: 2px; }
.nimble-grid-host .grid-notice { overflow-wrap: anywhere; }
/* Existing small and editable tables: scroll without removing input rows. */
#content .table-responsive { max-height: 440px; overflow: auto; overscroll-behavior: contain; }
#content .table-responsive > table > thead > tr > th { position: sticky; top: 0; z-index: 2; background: #edf3f9; }
#content .table-responsive > table { border-collapse: separate; border-spacing: 0; }
#content .dt-scroll-body > table > thead > tr > th { position: static; }
@media (max-width: 767px) {
    .nimble-grid-host .dt-layout-row { flex-wrap: wrap; }
    .nimble-grid-host .dt-search input { max-width: 100%; }
    .nimble-grid-host .dt-paging { overflow-x: auto; }
    #content .table-responsive { max-height: 360px; }
}
