
/* To allow blank rows to show up propertly */
.table-container td:empty::before {
    content: "\00a0";
}

.table-container td, .table-container th {
    min-width: 8rem;
}

.table-container .variance-bad {
    background-color: lightpink !important;
}

.table-container .variance-good {
    background-color: lightgreen !important;
}

.table-container .variance-pct {
    min-width: 3.5rem;
    max-width: 3.5rem;
}

.table-container .variance-dir {
    min-width: 2rem;
    max-width: 2rem;
    padding: 0;
}



.table-container .report-header th {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table-container .expandable {
    cursor: pointer;
    padding-left: 1.5rem;
}

    .table-container .expandable::before {
        font: var(--fa-font-sharp-solid);
        content: "\f0da"; /* Unicode for the caret-right icon */
        margin-top: 0.25rem;
        margin-right: 0.5rem;
        margin-left: 0.5rem;
        color: #007bff; /* Adjust the color as needed */
    }

    .table-container .expandable.expanded::before {
        font: var(--fa-font-sharp-solid);
        content: "\f0d7"; /* Unicode for the caret-down icon */
        margin-top: 0.25rem;
        margin-right: 0.5rem;
        margin-left: 0.5rem;
        color: #007bff; /* Adjust the color as needed */
    }



.table-container {
    max-height: calc(100vh - 9rem );
    overflow: auto;
}

.expand .table-container {
    max-height: calc(100vh - 9rem - var(--navbar-height) );
    overflow: auto;
}

.table-container table {
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
}

.table-container th, .table-container td {
    padding: 0 1rem;
    vertical-align: middle;
    text-align: left;
}



.table-container tr.bg-blank td {
    border-top: 1px solid #ccc;
}

.table-container tr.bg-calc th {
    border-top: 1px solid #ccc;
}



.table-container thead {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: white;
}



.table-container tr.report-calc-row {
    border-top: double black !important;
    border-bottom: solid 2px black !important;
}

.table-container th.row-header, .table-container td:first-child {
    padding-left: 1.5rem;
    position: sticky;
    left: 0;
    background-color: #fff;
    z-index: 2;
    white-space: nowrap;
}

    .table-container th.row-header > div {
        width: 20rem
    }

    .table-container th:first-child::before, .table-container td:first-child::before {
        position: absolute;
        top: 0;
        left: 0;
        background-color: #fff;
        z-index: 1;
    }


.table-container tr.bg-header th {
    border-top: solid thin black;
    border-bottom: solid thin black;
}

.table-container tr.bg-blank td {
    border-left: none;
}


/* Change cursor for  drilldowns */
.table-container td.drilldown, .table-container .drilldown {
    cursor: pointer;
}

/* Subheaders are bold */
.table-container td.subheader, .table-container .subheader {
    font-weight: bold;
}


/* No visible borders between data cells */
.table-container tbody tr:not(.bg-blank):not(.bg-header) > td, .table-container tbody tr:not(.bg-blank):not(.bg-header) > th {
    border: solid 0px transparent;
}

.table-container .spacer {
    min-width: 5rem !important;
}


.table-container tbody tr:not(.bg-blank):hover td, .table-container tbody tr:not(.bg-blank):hover th {
    border-top: black dashed thin;
    border-bottom: black dashed thin;
}



.control-panel {
    z-index: 2;
    padding-top: 1rem;
    position: fixed;
    background-color: rgb(0, 21, 41);
    color: white;
    top: 0;
    left: 0;
    min-width: 250px;
    height: 100vh;
    margin-right: 1rem;
}

    .control-panel span.header {
        font-size: 20px;
        font-weight: 500;
    }


    .control-panel grid2 {
        align-items: center;
        line-height: 3rem;
    }









/* Top-left cell */
.table-container thead > tr > .row-header {
    border-left: 1px solid #ccc;
}

.table-container thead > tr > .date-controls {
    min-width: 8rem;
}

/* Border at the top of the table */
.table-container thead > tr:first-child > th {
    border-top: 1px solid #ccc;
}



/* Report colouring section */
.table-container tbody {
    filter: opacity(1);
}
