body {
    background-color: #eee;
    font-family: Poppins,Helvetica,Arial,sans-serif;
    line-height: 1.6;
    background-color: #fffbf7;
    color: #0f4661;
    margin: 0;
}
header, footer {
    background-color: #b6dec0;
}
header nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1280px;
    margin: 0 auto;
}
header nav a {
    margin: 1em;
}
header nav a:not(:first-child) {
    background: #0f4661;
    color: #fffbf7;
    padding: 0.4em 0.8em;
    text-decoration: none;
    border: 1px solid #0f4661;
    border-radius: 0.4em;
}
header nav a:not(:first-child):hover {
    background: #fffbf7;
    color: #0f4661;
}
header nav a.logout {
    margin-left: auto;
}
section {
    max-width: 1280px;
    margin: 0 auto;
    padding: 1em;
}
footer {
    padding: 2em;
    text-align: center;
}
div.alert {
    background-color: #f9f996;
    padding: 0.2em 0.6em;
    border-radius: 0.3em;
    border: 1px solid tomato;
}
span#enrolled_count, span#enrolled_limit {
    font-size: 1.2em;
    font-weight: bold;
}
table {
    border-collapse: collapse;
}
th, td {
    border: 1px solid #ccc;
    padding: 0.2em 0.4em;
}
tr.error td {
    background-color: tomato;
}
tr.pending td {
    background-color: #f9f996;
}
td.past {
    background-color: tomato;
}
td.soon {
    background-color: #f9f996;
}
form {
    margin: 1em 0;
}
label {
    font-weight: bold;
    display: inline-block;
    min-width: 120px;
}
input {
    padding: 0.2em;
    width: 240px;
}
textarea {
    display: block;
    width: 400px;
    max-width: 95%;
}
input, textarea {
    max-width: 95%;
}
button {
    font-size: 0.9em;
    padding: 0.2em 0.4em;
}
dialog>.btn-close {
    float: right;
}
span.date {
    text-wrap: nowrap;
}
.edit_end {
    font-size: 0.9em;
}
