*
{
	box-sizing: border-box;
}

body
{
	font-family: Arial, sans-serif;
	padding: 30px;
	margin: 0;
	font-size: 14px;
}

nav
{
	background: #333;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	padding: 10px;
	margin: -30px -30px 30px;
	position: sticky;
	top: 0;
	gap: 20px;
}

nav :last-child
{
	margin-left: auto;
}

nav a
{
	color: #FFF;
}

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

th,
td
{
	border: 1px solid #ddd;
	padding: 8px;
	text-align: center;
}

tr:hover td
{
	background: #F1F1F1;
}

th
{
	background-color: #f2f2f2;
}

form
{
	display: grid;
	gap: 20px;
}

input[type="search"],
input[type="email"],
input[type="text"],
input[type="number"],
input[type="password"],
input[type=date],
select,
textarea
{
	border: 1px solid #CCC;
	padding: 5px;
	width: 100%;
	font-family: inherit;
	font-size: inherit;
}

label input[type="search"],
label input[type=email],
label input[type=text],
label input[type="number"],
label input[type=date],
label textarea,
label select
{
	margin-top: 5px;
}

textarea
{
	resize: vertical;
}

button
{
	justify-self: left;
	cursor: pointer;
	padding: 5px 15px;
	border: 1px solid #999;
	border-radius: 5px;
}

button.delete
{
	background: rgb(205, 36, 36);
	color: #FFF;
}

.notified
{
	background: lightgreen;
}

.notice
{
	color: lightgreen;
}

#changes
{
	color: lightblue;
}

dialog
{
	padding-top: 30px;
}

dialog .close
{
	position: absolute;
	background: #000;
	color: #FFF;
	padding: 5px;
	top: 5px;
	right: 5px;
	border: 0;
	width: 30px;
	height: 30px;
	line-height: 1;
	padding: 0;
}

.error
{
	color: red;
}

#loginForm
{
	max-width: 500px;
	margin: 0 auto;
}

#waitlist input[type=date]
{
	border: 0;
	padding: 0;
	background: unset;
	color: unset;
	text-align: center;
}

#waitlist input[value=""]
{
	display: none;
}

.searchForm
{
	display: flex;
	gap: 20px;
	margin-bottom: 30px;
}

#updated
{
	margin-bottom: 20px;
	text-align: center;
}
