﻿:root {
    /*Time sheet variables*/
    --ts-bg-client-description: #fafafa;
    --ts-bg-off: #fafafa;
    --ts-bg-current-day: rgb(222, 250, 255);
    --ts-border-current-day: Orange;
    --ts-bg-future: #dfdfdf;
    --ts-bg-summary-light: rgba(250, 250, 210, 0.5);
    --ts-color-billable: black;
    --ts-color-current-day: inherit;
    --ts-bg-color-current-day: rgba(250, 250, 210, 0.35);
    --ts-color-difference-negative: red;
    --ts-color-difference-positive: DarkGreen;
    --ts-color-future: #777;
    --ts-color-future-total: #777;
    --ts-color-non-billable: red;
    --ts-color-vacation: blue;
    --ts-total-highlight: lightgoldenrodyellow;
    --ts-progress-bar-height: 3px;
}

.drawer-container {
}


.time-sheet-container {
    max-height: calc(100vh - var(--top-row-height) - 8rem);
    overflow: auto;
    /*background-color: lightblue;*/
}

table {
    border-collapse: separate; /*Don't collapse */
    border-spacing: 0;
    padding: 0;
    margin: 0;
}

thead {
}


th {
    z-index: 50 !important;
    border-bottom: 2px solid black;
    background: white;
    position: sticky;
    top: 0; /* Don't forget this, required for the stickiness */
    /*box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);*/
    font-weight: bold;
    font-size: 1rem;
    opacity: 1.0 !important;
}

    th.sticky-left, th.sticky-right {
        z-index: 55 !important;
        border-right: 1px solid black;
    }

.sticky-left {
    border-collapse: collapse; /* Don't collapse */
    position: sticky;
    left: 0;
    z-index: 45 !important;
    border-right: 1px solid black;
}

.sticky-right {
    border-collapse: collapse; /* Don't collapse */
    position: sticky;
    right: 0;
    z-index: 45 !important;
    border-left: 3px double black;
}

.btn {
    height: 1.95rem;
    margin: 0 .15rem;
}

.card-header {
    background-color: darkblue;
    color: white;
    font-weight: bold;
}



.client {
    text-transform: uppercase;
    font-weight: bold;
    font-size: .95rem;
}

.project {
    font-size: .85rem;
    font-weight: 500;
}

.activity {
    font-size: .85rem;
    font-weight: 100 !important;
    color: #888;
}

.client-project-activity-col {
    min-width: calc(100vw * .3) !important;
    background-color: var(--ts-bg-client-description);
}

    .client-project-activity-col .header:not(.filter-active) {
        opacity: 0.25;
        color: #777;
    }

    .client-project-activity-col .filter-active {
        color: black;
        font-weight: bolder;
    }

    .client-project-activity-col.billable,
    .billable .activity {
        color: black;
    }

    .client-project-activity-col.non-billable,
    .non-billable .activity {
        color: var(--ts-color-non-billable);
    }

        .client-project-activity-col.non-billable.vacation,
        .vacation .activity {
            color: var(--ts-color-vacation) !important;
        }


.week-day {
    text-align: center;
    vertical-align: middle;
    min-width: 5.95rem !important;
    background-color: white;
}
    .week-day .hours-per-workday {
        color: #888;
        font-size: smaller;
    }
    .week-day :not(.mobile-container) .work-hours {
        font-weight: bold;
        text-align: center;
        color: black;
    }

    .week-day.header {
        text-align: center;
        font-weight: bold;
    }

    .week-day.off {
        background-color: var(--ts-bg-off) !important;
    }

    .week-day.zero {
        color: #ddd;
        text-align: center;
    }

    .week-day.current {
        font-weight: bold;
    }
        .week-day.current {
            background-color: var(--ts-bg-color-current-day) !important;
        }
    .week-day.negative {
        color: var(--ts-color-negative);
    }

    .week-day.total.difference.positive,
    .work-hours.difference.positive {
        color: var(--ts-color-difference-positive);
    }

    .week-day.total.difference.negative,
    .work-hours.difference.negative {
        color: var(--ts-color-difference-negative);
    }

    .work-hours alt-item {
        background-color: yellow !important;
    }

.billable, .billable .activity {
    color: var(--ts-color-billable);
}

.non-billable.positive:not(.vacation),
.non-billale.positive:not(.vacation).week-day {
    color: var(--ts-color-non-billable);
}

.non-billable.positive.vacation {
    color: var(--ts-color-vacation);
}

.total {
    background-color: var(--ts-total-highlight) !important;
    font-weight: bold;
}

    .total.off:not(.future) {
        opacity: 0.5;
    }

.week-day.future {
    color: var(--ts-color-future);
    background-color: var(--ts-bg-future) !important;
}

    .week-day.future.total {
        color: var(--ts-color-future-total);
        background-color: var(--ts-bg-future) !important;
    }

.footer-seperator .bottom {
    background-color: transparent;
    margin: -0.6rem -0.5rem;
    border-bottom: 6px double black;
    border-spacing: 0;
    overflow: hidden;
}



.ts-label {
    font-weight: bold;
    border-bottom: 1px solid black;
    margin-bottom: 10px;
}

.td-icon {
    text-align: center;
    width: 25px;
}
.tvw-summary {
    /*background-color: var(--ts-bg-summary-light);*/
}
.mobile-container {
    margin: 12px 5px;
    padding: 0px;
    height: calc(100vh - var(--top-row-height) - 10rem);
    overflow: auto;
}

    .mobile-container .week-day {
        min-height: 3rem;
        padding: 0;
        border: 1px solid black;
    }

        .mobile-container .week-day.current .date-header {
            background-color: var(--bs-warning);
        }

        .mobile-container .week-day .date-header {
            font-weight: bold;
            padding: 0;
            margin: 0;
            padding-top: 2px;
            border-bottom: 2px solid black;
            min-height: 1.75rem;
            vertical-align: middle;
        }

        .mobile-container .week-day.summary {
            background-color: var(--ts-bg-summary-light);
        }

    .mobile-container .work-hours.line-summary {
        min-height: 2.1rem;
    }

    .mobile-container .work-hours.summary {
        background-color: var(--ts-bg-summary-light);
        min-height: 2.0rem;
    }

    .mobile-container .work-hours.total-day {
        font-weight: normal;
        text-align: center;
        font-size: 1.75rem;
        padding: 5px;
    }

        .mobile-container .work-hours.total-day.zero,
        .mobile-container .btn-zero,
        .work-hours.difference.zero {
            color: #eee;
        }

    .mobile-container .btn-zero {
        font-size: 1.25rem;
    }

    .mobile-container .progress-bar {
        min-height: var(--ts-progress-bar-height);
        max-height: var(--ts-progress-bar-height);
        height: var(--ts-progress-bar-height);
        overflow: hidden;
        padding: 0;
        margin: 0;
        z-order: -10;
        position: relative;
        top: -0.55rem;

        display: none;
    }

        .mobile-container .progress-bar.billable {
            border-bottom: var(--ts-progress-bar-height) solid black;
            opacity: 1;
        }

        .mobile-container .progress-bar.non-billable {
            border-bottom: var(--ts-progress-bar-height) solid red;
            opacity: 1;
        }

        .mobile-container .progress-bar.vacation {
            border-bottom: var(--ts-progress-bar-height) solid blue;
            opacity: 1;
        }

.material-symbols-outlined {
    font-size-adjust: .39;
    vertical-align: middle;
}

.footer-row {
    border-top: 6px double black !important;
}

    .footer-row.diff {
        border-top: 1px solid black !important;
    }
.time-sheet-container .footer {
    height:5px !important;
    line-height:5px !important;
    font-size: 5px;
    border-top: 1px solid black;
    border-bottom: 3px solid  black;
}

tfoot {
    position: sticky;
    bottom: 0;
    z-index: 60 !important;
}

.sum-border-top {
    border-top: double 4px black !important;
}