/* define GenericTable */

.GenericTable {
    display: flex;
    flex-direction: column;
    max-height: 100%;
}

.GenericTable-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.GenericTable-rowSummary {
    align-self: flex-end;
}

.GenericTable-filters {
    display: flex;
    z-index: 100;
    gap: 1rem;
}

.GenericTable-infoIcon {
    margin-right: 20px;
}

.GenericTable-tableContainer {
    overflow-y: auto;
}

.GenericTable-table--bordered {
    border-collapse: separate;
    border-spacing: 0;
}

.GenericTable-table--bordered td,
.GenericTable-table--bordered th {
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
}

.GenericTable-table--bordered thead tr th {
    border-top: 1px solid #dee2e6;
}

.GenericTable-table--bordered tr td:first-of-type,
.GenericTable-table--bordered tr th:first-of-type {
    border-left: 1px solid #dee2e6;
}

.GenericTable-table--card tr:first-child th:first-child {
    border-top-left-radius: 4px;
}

.GenericTable-table--card tr:first-child th:last-child {
    border-top-right-radius: 4px;
}

.GenericTable-table--card tr:last-child td:first-child {
    border-bottom-left-radius: 4px;
}

.GenericTable-table--card tr:last-child td:last-child {
    border-bottom-right-radius: 4px;
}

.GenericTable-tableContainer tbody tr:last-of-type {
    border-bottom: 2px solid #dee2e6;
}

.GenericTable-table--fixed {
    table-layout: fixed;
}

.GenericTable-tableHead {
    z-index: 100;
}

.GenericTable-headerCell {
    user-select: none;
}

.GenericTable-headerCellContent {
    display: flex;
    align-items: start;
}

.GenericTable-sortIcon {
    margin-top: 0.25rem;
    margin-right: 0.5rem;
}

.GenericTable-selectionHeaderCell {
    width: 50px;
}

.GenericTable-actionsHeaderCell {
    width: 64px;
}

.GenericTable-row.is-removed .GenericTable-cell {
    text-decoration: line-through;
}

.GenericTable-validationIndicator {
    display: inline-block;
    margin-bottom: 2px;
    margin-left: 2px;
}

.GenericTable-removeRowButton {
    width: 32px;
    height: 32px;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.GenericTable-noRowsToDisplay {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}

.GenericTable-noRowsToDisplay--card {
    border: 1px solid #dee2e6;
    border-top: 0;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.GenericTable-footer {
    display: flex;
    justify-content: center;
}

.GenericTable-footer--card {
    justify-content: end;
}

.operation-insert-cell {
    color: green;
}

.operation-update-cell {
    color: blue;
}

.operation-delete-cell {
    color: red;
}

.GenericTable-row-checkbox-always-visible {
    position: sticky;
    left: 0;
    background-color: inherit;
}

.GenericTable-header-checkbox-always-visible {
    position: sticky;
    left: 0;
}

.GenericTable-headerTooltipIcon {
    margin-left: 4px;
    color: var(--text-primary);
    cursor: pointer;
    align-self: center;
}

.GenericTable-customButton {
    display: grid;
    align-items: end;
}
