.alert-danger > p {
	margin-top: 1rem;
	color: red;
}

.alert-success > p {
	margin-top: 1rem;
	color: green;
}

input[type=submit].btn {
	width: 100%;
	grid-column-start: 1;
	grid-column-end: -1;
	margin: auto;
	color: white;
	cursor: pointer;
	font-size: 1rem;
}

div.summary {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

div.row {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

div.row > span.key {
	font-weight: bold;
}

p.important {
	font-weight: bold;
}

form > .interval {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2em;
}

.date-section > .date-header {
	margin-bottom: 0.3em;
	border-bottom: 0.1em solid black;
}

.date-header > .month {
	display: inline-block;
	text-transform: uppercase;
}

.date-header > .year {
	display: inline-block;
}

.date-section {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.date-section table {
	width: 100%;
}

.date-section table td {
	text-align: center;
}

.date-section .disabled {
	color: grey;
}

.date-section .taken {
	color: black;
}

.date-radio > input[type=checkbox] {
	display: none;
}

span.free,
span.used,
.date-radio input[type=checkbox]+div {
	display: inline-block;
	border-radius: 1em;
	width: 1.4em;
	height: 1.4em;
	margin: auto auto;
}

span.free,
td.free > .date-radio input[type=checkbox]+div {
	border: 0.1em solid green;
}

span.used,
td.used > .date-radio input[type=checkbox]+div {
	border: 0.1em solid orangered;
}

.date-radio input[type=checkbox]:checked+div {
	color: white;
	background-color: green;
}

.legend > ul {
	list-style: none;
}

.legend .free,
.legend .used,
.legend .used-elsewhere {
	display: inline-block;
	margin-right: 1em;
}
