table {
    width: 100%;
    border-collapse: collapse
}

    table caption {
        font-size: 0.875rem;
        line-height: 1.5;
        width: 100%;
        margin-bottom: 0.5rem;
        text-align: left
    }

th, td {
    padding: 1rem 1.25rem;
    text-align: left;
    vertical-align: top;
    border: 0.0625rem solid #dde1e4
}

th {
    border-bottom-color: #6c7c89;
    background: #f4f5f6;
    font-weight: 600;
    color: #25455f
}

@media only screen and (max-width: 39.999rem) {
    th {
        display: none
    }
}

td {
    background: white
}

@media only screen and (max-width: 39.999rem) {
    td {
        display: grid
    }
}

@media only screen and (min-width: 30rem) {
    td {
        grid-template-columns: 12ch auto
    }
}

@media only screen and (max-width: 39.999rem) {
    td:not(:first-child) {
        border-top: none
    }
}

@media only screen and (max-width: 39.999rem) {
    td:first-child {
        padding-block-start: 2rem
    }
}

@media only screen and (max-width: 39.999rem) {
    td:last-child {
        padding-block-end: 2rem
    }
}

@media only screen and (max-width: 39.999rem) {
    td::before {
        font-weight: 600;
        content: attr(data-cellheadline) ": "
    }
}

tr:nth-child(even):not([class*="week_"]) td {
    background: #f9fafb
}
