.documents-table h4 {
    font-size: 18px;
    color: #2b2b2b;
}

.documents-table .row {
    justify-content: space-between;
}

.documents-table .row label {
    display: inline-block;
    width: auto;
}

.documents-table .row p {
    display: inline-block;
    width: auto;
}

.table {
    width: 100% !important;
    border-collapse: collapse;
    margin-bottom: 35px;
}

.table tr {
    border: 0px !important;
}

.table tr th,
.table tr td {
    border: 1px solid #ddd;
    font-size: 14px;
}

.table thead tr td {
    background: #f8f9fa;
    font-weight: 600;
    color: #0c0a3e;
}

.table thead tr th {
    background: #f8f9fa;
    font-weight: 600;
    color: #0c0a3e;
}

.table tr:nth-child(even) {
    background: #f8f9fa;
}

/* Plain links in table cells take the brand color, but links styled as
   buttons (`.btn`) must keep their own button text color — otherwise a
   dark-background button (e.g. `.safetyclerk-button`) renders dark-on-dark.
   `.btn-inline-link` is a submit button standing in for a plain link of this
   kind, so it is listed explicitly: being a button, it cannot match
   `a:not(.btn)`. See style.css. */
.table tr td a:not(.btn),
.table tr td .btn-inline-link {
    color: #0c0a3e;
    text-decoration: none;
}

.table tr td a:not(.btn):hover,
.table tr td .btn-inline-link:hover {
    opacity: 0.8;
}

.view-content-labels table {
    width: 100% !important;
    background: #fff;
    border-color: #ddd;
}

.documents-table {
    overflow: auto;
    width: 100%;
}

.view-content-labels table tr td {
    font-size: 16px;
    padding: 5px 10px;
}

/* `.btn-inline-link` is included for the same reason as in the rule above: it stands in
   for a link here and must be spaced like one. */
.documents-table tr td a,
.documents-table tr td .btn-inline-link {
    margin-right: 10px;
}

.page-item.active .page-link {
    background-color: #0c0a3e;
    border-color: #0c0a3e;
}

/* Make pagination close to table */
div.dataTables_wrapper div.dataTables_paginate {
    margin-top: -32px !important;
}

/* Make search bar longer */
.dataTables_filter label input {
    width: 350px !important;
}

div.dataTables_filter input.form-control-sm:focus {
    box-shadow: none;
    border-color: #0C0A3E;
}

.dt-search-actions-wrapper input.form-control-sm:focus {
    box-shadow: none;
    border-color: #0C0A3E;
}

body .dt-search-actions-wrapper .form-control.form-control-sm:focus {
    box-shadow: none;
    border-color: #0C0A3E;
}

/* The toolbar's search field (scDatatableSearchField) stands as tall as the -sm filter pills and
   export buttons beside it, 31px: a pixel under the design system's small field. */
.dt-search-actions-wrapper sc-form-input {
    --sc-form-input-sm-padding-block: 5.5px;
}

/* Standardize custom datatable filter/search column widths */
.controls-row-2 {
    --dt-filter-col-width: 40%;
    --dt-search-col-width: 60%;
}

@media (min-width: 768px) {
    .controls-row-2 > .dt-filter-placeholder {
        flex: 0 0 var(--dt-filter-col-width);
        width: var(--dt-filter-col-width);
        max-width: var(--dt-filter-col-width);
    }

    .controls-row-2 > .dt-search-actions-wrapper {
        flex: 0 0 var(--dt-search-col-width);
        width: var(--dt-search-col-width);
        max-width: var(--dt-search-col-width);
    }
}

@media (max-width: 767px) {
    .datatable-info-row {
        flex-wrap: wrap;
    }

    .datatable-info-row .datatable-info-text {
        margin-top: 0.25rem;
    }

    .datatable-info-text {
        flex: 0 0 100%;
        width: 100%;
        text-align: left;
    }

    #project_user_entries_wrapper .controls-row-2,
    #user_compliance_alerts_wrapper .controls-row-2,
    #user_invite_wrapper .controls-row-2,
    div[id^="bulk-invite-table-"][id$="_wrapper"] .controls-row-2 {
        --bs-gutter-x: 0;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #project_user_entries_wrapper .dt-search-actions-wrapper,
    #user_compliance_alerts_wrapper .dt-search-actions-wrapper,
    #user_invite_wrapper .dt-search-actions-wrapper,
    div[id^="bulk-invite-table-"][id$="_wrapper"] .dt-search-actions-wrapper {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    #project_user_entries_wrapper .dataTables_filter,
    #user_compliance_alerts_wrapper .dataTables_filter,
    #user_invite_wrapper .dataTables_filter,
    div[id^="bulk-invite-table-"][id$="_wrapper"] .dataTables_filter {
        margin-left: 0 !important;
        padding-left: 0 !important;
        float: none !important;
    }

    #project_user_entries_wrapper .dataTables_filter input,
    #user_compliance_alerts_wrapper .dataTables_filter input,
    #user_invite_wrapper .dataTables_filter input,
    div[id^="bulk-invite-table-"][id$="_wrapper"] .dataTables_filter input {
        margin-left: 0 !important;
    }

    .controls-row-2 > .dt-filter-placeholder {
        margin-bottom: 0.5rem;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .controls-row-2 > .dt-search-actions-wrapper {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .controls-row-2 .dataTables_filter {
        width: 100%;
        text-align: left;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .controls-row-2 .dataTables_filter label {
        width: 100%;
        margin: 0 !important;
    }

    /* Reset pagination to don't overlap */
    div.dataTables_wrapper div.dataTables_paginate {
        margin-top: auto !important;
    }

    div.dataTables_wrapper div.dataTables_paginate ul.pagination {
        -ms-flex-pack: center !important;
        justify-content: center !important;
        margin-top: 1rem;
    }

    /* Reset search bar width */
    .dataTables_filter label input {
        width: auto !important;
    }
}

@media (max-width:639px) {
    .table-responsive .table {
        width: 575px;
    }
}
