.table {
    width: 100%;
    border-collapse: collapse;
}
.table-safewrap {
    width: 100%;
}

.table.sm th, .table.sm td {
    padding: var(--unit-3);
}

.table th, .table td,
.table.md th, .table.md td {
    padding: var(--unit-4);
}

.table.lg th, .table.lg td {
    padding: var(--unit-5);
}

.table.rounded {
    border-collapse: separate;
    overflow: hidden;
}

th, td {
    border: 1px solid var(--gray-30);
    text-align: left;
}

th {
    background-color: var(--gray-10);
}

tr {
    background-color: var(--white);
}

.striped tr:nth-child(even) {
    background-color: var(--gray-0);
}

.vertical-striped td:nth-child(even) {
    background-color: var(--gray-0);
}

.rounded th, .rounded td {
    border-bottom: none;
    border-left: none;
}

.rounded tr td:first-child {
    border-left: 1px solid var(--gray-30);
}

.rounded tr:last-child td {
    border-bottom: 1px solid var(--gray-30);
}

.rounded th:first-child {
    border-left: 1px solid var(--gray-30);
    border-top-left-radius: var(--unit-3);
}

.rounded th:last-child {
    border-top-right-radius: var(--unit-3);
}

.rounded tbody tr:last-child td:first-child {
    border-bottom-left-radius: var(--unit-3);
}

.rounded tbody tr:last-child td:last-child {
    border-bottom-right-radius: var(--unit-3);
}

.borderless tr {
    background-color: var(--gray-0);
}

.borderless tr, .borderless tr td, .borderless th, .borderless td {
    border: none !important;
}

.borderless th {
    background-color: var(--gray-20);
}

.borderless.striped tr:nth-child(even) {
    background-color: var(--gray-10);
}

.borderless.vertical-striped td:nth-child(even) {
    background-color: var(--gray-10);
}