.tt-table {
    width: 100%;
    color: var(--text-color);
}

/* HEADER (THEAD) */
.tt-table thead th {
    padding: var(--step--2) 0; /* vertical padding inside row */
    /*text-align: left;*/
    border-bottom: 1px solid var(--border-muted, #cfcfcf);
    font-weight: 600;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

/* BODY (TBODY) */
.tt-table tbody tr {
    border-bottom: 1px solid var(--bg-muted);
}

.tt-table tbody tr > td {
    padding: var(--step--3) 0; /* vertical padding inside row */
}

/* FOOTER (TFOOT) */
.tt-table tfoot td {
    padding: var(--step--2) 0; /* vertical padding inside row */
    border-top: 1px solid var(--border-muted);
    font-weight: 600;
}

/* LAST ROW NO BORDERS */
.tt-table tbody tr:last-child {
    border-bottom: none;
}
/* FIRST CHILD */
.tt-table thead th:first-child,
.tt-table tbody tr > td:first-child,
.tt-table tfoot tr > td:first-child {
    padding-left: var(--step--3);
}

/* LAST CHILD */
.tt-table thead th .tt-text-right,
.tt-table td .tt-text-right,
.tt-table tr > td:last-child,
.tt-table thead th:last-child,
.tt-table tfoot tr > td:last-child {
    text-align: right;
    white-space: nowrap; /* optional: keeps numbers tidy */
}
.tt-table thead th:last-child,
.tt-table tbody tr > td:last-child,
.tt-table tfoot tr > td:last-child {
    padding-right: var(--step--3);
}