table {
    position: relative;
    /* border: none; */
    margin: 0 0 0 0;
    table-layout: fixed;
    /* need to leave this a separate otherwise collapse shows bleeding at the top of tbl when scrolling down */
    border-collapse: separate;
    /* border-collapse: collapse; */
    /* helps avoid sticky/border seams */
    /* border-spacing: 1px; */
    border-color: blue;
    border-spacing: 0 1px;
}

table thead {
    /* the following doesnt work due to table element model not respecting thead min-height */
    min-height: 260px;
    /* height does work */
    height: 60px;
}

/* remove all borders first */
table th, table td {
    /* border: 0; */
}

tr, th, td {
    /* tr, td { */
    /* border-top: 1px solid var(--gray200); */
    /* for some reason we need the bottom borders here only for the clear theme */
    /* border-bottom: 1px solid var(--gray200); */
    border-bottom: calc(var(--table-border-bottom-width) * 1px) solid var(--color-table-cell-border);
    /* border: 0; */
    /* border-bottom: DarkGray 1px solid; */
}

th {
    position: sticky;
    top: 0;
    /* the following padding is overriden by the full-border-cells class */
    padding: 3px 5px;
    /* the following doesnt work due to table element model not respecting thead min-height */
    min-height: 60px;
    background: var(--color-table-col-headers-background);
    color: var(--color-table-col-headers-text);
    /* font-weight: 400; */
    font-weight: var(--color-table-col-headers-fontweight);
    user-select: none;
    /* border: 1px solid white; */
    text-align: left;
    font-size: 0.8rem;

    border-top: DarkGray 1px solid !important;
    border-bottom: DarkGray 1px solid;

}

th.center, td.left {
    text-align: left;
}

th.center, td.center {
    text-align: center;
}

th.right, td.right {
    text-align: right;
}

th.grayed, td.grayed {
    color: silver;
    font-size: 0.8rem;
}


tr:hover {
    background-color: var(--color-table-row-hover);
}

tr:hover td {
    /* 2025-11-12 - adding in following line - if the row is beign highlted for hovewr then also change the fore color for text to black otherwise we cant see the grayed out columns: ; */
    color: var(--color-table-row-hover-forecolor) !important;
}

tr {
    background-color: var(--color-table-row);
}

tr.selected {
    background-color: var(--color-table-row-selected);
}

tr.selected td {
    color: var(--color-table-row-selected-forecolor); 
}

tr.row-grayed>td {
    color: pink;
}

/* includes tbl and body so as not to affect the headers row */
table tbody tr:nth-child(even) {
    /* background-color: silver;  */
    /* var(--color-table-row-alt); */
}

table tbody tr:nth-child(odd) {
    /* background-color: var(--color-table-row); */
}



td.td-warning {
    color: var(--color-table-cell-warning);
    word-wrap: break-word;
    white-space: normal;
    max-width: 180px;
}



tr.totals {
    /* border-top: DarkGray 1px solid; */
}

tr.totals>td {
    font-weight: 600;
    line-height: 32px;
    /* background-color: var(--color-table-row-totals-background); */
    color: var(--color-table-row-totals);
    font-weight: 600;
    /*400*/
    border-top: DarkGray 1px solid; 
    border-bottom: DarkGray 2px solid;
}


td {
    font-size: 0.85rem;
    padding: 2px 6px 2px 12px;
    /* border: 1px solid silver; */
    text-align: left;
    line-height: 200%;
    color: var(--color-table-text);
    white-space: nowrap;
    user-select: none;
}

.full-border-cells th, td {
    /* border-top: none; */
    /* border-left: calc(var(--table-border-side-width) * 1px) solid var(--gray200); */
    border-right: calc(var(--table-border-side-width) * 1px) solid var(--color-background);

    font-size: 0.8rem;
    padding: calc(var(--table-row-spacing) * 1px) calc(var(--table-col-spacing) * 1px + 3px);
}

.simple-table {
    height: fit-content;
    background-color: white;
    padding: 60px;
}

.event-log-image {
    padding-top: 0px;
    padding-bottom: 5px;
    margin-right: 5px;
    vertical-align: bottom;
}


th.hide {
    /* display: none; */
    display: var(--toggle-hide-columns);
}

td.hide {
    /* display: none; */
    display: var(--toggle-hide-columns);
}


#butDelete svg {
    margin-left: 6px;
}


.sortable-th {
    /* position: relative;  */
}

.sortable-th::after {
    content: "\25B2\A\25BC";
    /* Up and down arrows stacked */
    white-space: pre;
    /* color: rgb(140, 140, 140); */
    color: var(--color-table-col-headers-updown-arrows);
    /* gray */
    display: inline-block;
    font-size: 8px;
    position: absolute;
    right: 3px;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 8px;
}

.sortable-th:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

th.sort-desc::after {
    content: " \25BC";
    /* Down arrow */
}


th.sort-asc::after {
    content: "\25B2";
    /* Up arrow */
}

.multi-lines-th::after {
    right: 4px;
}


.table-height-normal {
    /* this overrides auto fill 100% of height */
    height: max-content;
    /* or */
}


.selected-row {
    background-color: yellow;
}