#schedule {
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

#schedule table {
    border-collapse: collapse;
}

#schedule table > tr {
    overflow: hidden;
}

#schedule table tr.header > th {
    border: #aaa 1px solid;
    border-bottom-width: 2px;
    padding: 0.4em 1em 0.4em 1em;
}

#schedule table th.day:nth-of-type(7n),
#schedule table th.day:nth-of-type(7n + 1),
#schedule table td.day:nth-of-type(7n),
#schedule table td.day:nth-of-type(7n + 1) {
    color: #800000;
}

#schedule table th.day:nth-of-type(7n-5),
#schedule table td.day:nth-of-type(7n-5) {
    border-left-width: 2px;
}

#schedule table td.title {
    border: #aaa 1px solid;
    font-weight: bold;
    padding: 0.2em 1em 0.2em 0.4em;
    cursor: default;
    white-space: nowrap;
}

#schedule table td .hours {
    font-weight: normal;
    font-size: 75%;
}

#schedule table td.day {
    border: #aaa 1px solid;
    text-align: center;
    padding: 0.2em 0.4em 0.2em 0.4em;
    cursor: default;
    user-select: none;
}

#schedule table td.day.selected,
#schedule table th.currentDate {
    background-color: #fff085;
}

#schedule table td.day.changeable {
    background-color: #7bf1a8;
}

button {
    background-color: oklch(48.8% 0.243 264.376);
    color: #fff;
    border-radius: 0.25rem;
    border: 0 solid;
    margin: 0 0.2em 0.2em 0;
    padding: 0;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    font-size: 1.2em;
    font-weight: 600;
    cursor: pointer;
}

button:disabled {
    background-color: oklch(55.1% 0.027 264.364);
    cursor: default;
}
