table.calendar, table.calendar thead, table.calendar tbody, table.calendar tr, table.calendar td, table-calendar label {
    margin: 0px;
    border: 0px;
    padding: 0px;
    border-collapse: collapse;
} 
table.calendar td {
    width: 50px;
    height: 50px;
    border: 1px solid white;
    background-color: #dddddd;
    color: #000000;
    font-size: 28pt;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    line-height: 50px;
}
table.calendar tbody td label {
    display: block;
    width: 100%;
    height: 100%;
}
table.calendar tbody td input {
    display: none;
}
table.calendar tbody td input + label {
    background-color: #ff0000;
    text-decoration: line-through;
}
table.calendar tbody td input + label:hover {
    cursor: pointer;
    font-size: 32pt;
}
table.calendar tbody td input:checked + label {
    background-color: #00f000;
    text-decoration: none;
}
table.calendar tbody td input:checked + label:hover {
    cursor: pointer;
    font-size: 32pt;
}
table.calendar tbody td input:disabled + label {
    background-color: #444444;
    color: #dddddd;
    cursor: auto;
    text-decoration: line-through;
}
table.calendar tbody td input:disabled + label:hover {
    font-size: 28pt;
}
table.calendar tbody td input:checked:disabled + label {
    background-color: #007000;
    cursor: auto;
    text-decoration: none;
}

div.invoicing_interval, div.invoicing_interval_plan, div.booking_interval {
    border: 1px solid white;
    width: fit-content;
    margin: 3px;
}

div.invoicing_interval_container, div.booking_interval_container {
    float: left;
}

div.invoicing_interval_container_last, div.booking_interval_container_last {
    clear: both;
}

div.invoicing_interval input[type=submit], div.invoicing_interval_plan input[type=submit], div.booking_interval input[type=submit] {
	width: 350px;
}
