table {
	border-collapse: collapse;
}

table#main {
	border: 2px solid black;
}

th, td {
	border: 1px solid black;
	padding: 0.5rem;
	max-width: 17rem;
	max-height: 30rem;
}

td:has(> table#sub) {
	padding: unset;
	height: 10rem;
}

table#sub {
	height: 100%;

	> tbody {
		> tr {
			> th {
				border-left: none;
			}

			> td {
				width: 100%;
				/*height: 100%;*/
				border-right: none;
			}
		}	

		> tr:first-of-type {
			> th, td {
				border-top: none;
			}
		}

		> tr:last-of-type {
			> th, td {
				border-bottom: none;
			}
		}

		> tr:nth-of-type(odd) {
			background-color: white;
		}
	}
} 

caption {
	font-size: 18pt;
	font-weight: bold;
	padding: 1rem;
}

th[scope="col"], table#main > tbody > tr:nth-of-type(even) {
  background-color: lightgray;
}