.table {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    --table-def-color: #ACD89B;
    --table-def-border-color: #82aa73;
    --table-def-color-hover: #e6ffdd;
    --table-def-marked-bg-color: #91c77e;
    --table-def-marked-fnt-color: white;
    /* --table-def-color-hover: #a3d192; */
    /* --table-def-color-hover: #cddec7; */
    --table-primary-color: #CFE2FF;
    --table-primary-border-color: #8da6ca;
    --table-primary-color-hover: #ebf6ff;
    --table-secondary-color: #dbe2ec;
    --table-secondary-border-color: #acb0b6;
    --table-white-color: white;
    --table-content-color: transparent;
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-emphasis-color);
    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color);
    color: black !important;
}

.table th.align-center,
.table td.align-center {
    text-align: center;
}

table {
    display: table;
    border-collapse: separate;
    box-sizing: border-box;
    text-indent: initial;
    unicode-bidi: isolate;
    line-height: normal;
    font-weight: normal;
    font-size: medium;
    font-style: normal;
    color: -internal-quirk-inherit;
    text-align: start;
    border-spacing: 2px;
    border-color: gray;
    white-space: normal;
    font-variant: normal;
}

table {
    caption-side: bottom;
    border-collapse: collapse;
}

table {
    max-width: 100%;
    background-color: transparent;
    border-collapse: collapse;
    border-spacing: 0;
}

.table {
    width: 100%;
    margin-bottom: 20px;
}

table.table.table-sticky {
    border-collapse: separate;
}

table.table.table-sticky thead tr {
    position: sticky;
    top: 0;
    z-index: 1;
}

table.table.table-sticky thead tr th {
    border-left: none !important;
}

/* Bordas mais grossas */
.table.table-bordered {
    border: none;
    border-collapse: separate;
}

.table.table-bordered th, td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-top: none !important;
  border-left: none !important;
}

.table.table-bordered th, 
.table.table-sticky th{
    /* border: 1px solid #82aa73 !important;  */
    /* padding: 8px; */
    vertical-align: middle;
}

.table tbody .td-sticky {
    position: sticky;
}

.table tbody .td-sticky.td-sticky-last {
    box-shadow: 2px 0 5px rgba(0,0,0,0.1);
}


.table.table-sm {
    /* --table-sm-fnt-size: 12px; */
    --table-sm-fnt-size: clamp(12px, 1.2vw, 14px);
    font-size: var(--table-sm-fnt-size);
}

/* Aplicando padding */

.table th, .table td {
    padding: 8px !important;
}

.table.table-sm th, .table.table-sm td {
    padding: 1px 4px !important;
    /* padding: clamp(1px, 0.8vw, 4px) !important; */
    max-width: 100px;
}

.table.table-sm th, .table.table-sm td * {
    max-width: 100%;    
    margin: 0 !important;
    font-size: var(--table-sm-fnt-size);
}

.table.table-sm td {
    white-space: normal;
    word-break: break-word;
    /* overflow-wrap: break-word; */
    /* word-break: break-word; */
    /* overflow-wrap: anywhere; */
}

/* th { */
  /* white-space: nowrap; */
  /* overflow: hidden; */
  /* text-overflow: ellipsis; */
/* } */

/* Definindo cores */

.table.table-white {
    --table-color: var(--table-white-color);
    --table-content-color: var(--table-white-color);
}

.table thead.table-def > tr,
.table thead.table-def + tbody tr { 
    --table-color: var(--table-def-color);
    --table-color-hover: var(--table-def-color-hover);
}

.table thead.table-def > tr th {
    --table-border-color: var(--table-def-border-color);
}

.table thead.table-def + tbody td.td-marked {
    --table-marked-bg-color: var(--table-def-marked-bg-color);
    --table-marked-fnt-color: var(--table-def-marked-fnt-color);
}

.table thead.table-primary > tr, 
.table thead.table-primary + tbody tr {
    --table-color: var(--table-primary-color);
    --table-color-hover: var(--table-primary-color-hover);
}

.table thead.table-primary > tr th {
    --table-border-color: var(--table-primary-border-color);
}

/* secondary */
.table thead.table-secondary > tr, 
.table thead.table-secondary + tbody tr {
    --table-color: var(--table-secondary-color);
}

.table thead.table-secondary > tr th {
    --table-border-color: var(--table-secondary-border-color);
}

/* Aplicando cores */

.table {
    background-color: var(--table-content-color);
}

.table thead tr {
    background-color: var(--table-color);
}

.table tbody tr.tr-hover {
    background-color: var(--table-color-hover);
}

.table tbody tr td.td-marked {
    background-color: var(--table-marked-bg-color);
    color: var(--table-marked-fnt-color);
}

.table.table-bordered thead tr th:first-of-type,
.table.table-sticky thead tr th:first-of-type {
    border-left: 1px solid var(--table-border-color) !important;
}

.table.table-bordered thead tr th {
    border-top: 1px solid var(--table-border-color) !important;
    border-right: 1px solid var(--table-border-color) !important;
}

.table thead tr th {
    border: 1px solid var(--table-border-color) !important;
}

/* .table.table-bordered tbody tr td { */
.table.table-bordered tbody tr td:first-of-type,
.table.table-sticky tbody tr td:first-of-type {
    border-left: 1px solid #ddd !important;
}


/* .table.table-bordered th, td */

.table.table-bordered td {
    border-right: 1px solid #ddd;
}

.table td {
    border: 1px solid #ddd;
}


@media (max-width: 1300px) {
    .table.table-sm {
        /* --table-sm-fnt-size: 12px; */
        --table-sm-fnt-size: clamp(12px, 1.05vw, 14px);
        font-size: var(--table-sm-fnt-size);
    }
}