body {
    color: #333;
}

.item, .item.not_started {
    position: relative;
    margin: 1em 0;
    padding: 0.5em 0;
    background-color: #eee;
    border-left: 1em solid #e33a35;
    box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.45);
}

.item.present {
    border-left: 1em solid #dd0;
}

.item.absent, .item.cancelled {
    border-left: 1em solid gray;
}

ul {
    list-style: none;
    margin: 1em 0;
    padding: 0 1em;
}

.btn-group {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
}

#add-filter-btn {
    position: relative;
    display: flex;
    gap: 8px;
}

#error_explanation, #notice, #alert, #timesheet {
    position: relative;
    margin: 1em 0;
    padding: 0.5em 1em;
    background-color: #eee;
    border-left: 1em solid deepskyblue;
    box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.45);
}

#timesheet {
    border-left: 1em double #e33a35;
}

#error_explanation ul {
    list-style-type: disc;
}

.ghost-btn {
    background: transparent;
    color: #e33a35;
    border: 1px solid #e33a35;
    padding: 0.5em 1em;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
    font-size: 1em;
}

.ghost-btn:hover {
    background-color: #e33a35;
    color: white;
}

input[type="radio"] {
    display: none;
}

input[type="radio"]:checked + label {
    background-color: #e33a35;
    color: white;
    border-radius: 16px;
}

.field {
    margin: 0.5em 0;
}

.field textarea {
    position: relative;
    top: 15px;
}

header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 80px;
    background: linear-gradient(90deg, rgb(4, 126, 174), rgb(0, 255, 255));
}

header li {
    list-style: none;
    font-size: 20px;
    margin-left: 30px;
    display: inline-block;
}

#logout {
    margin-left: 0;
}

header li a {
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    text-shadow:
    1px 1px 3px rgba(0,0,0,0.3),
    -1px 1px 3px rgba(0,0,0,0.3),
    1px -1px 3px rgba(0,0,0,0.3),
    -1px -1px 3px rgba(0,0,0,0.3);
}

.header-user-info {
    display: flex;
    flex-direction: column;
}

.header-user-info li {
    font-size: large;
    text-shadow:
    1px 1px 1px rgb(255, 255, 255),
    -1px 1px 1px rgba(255, 255, 255),
    1px -1px 1px rgba(255, 255, 255),
    -1px -1px 1px rgba(255, 255, 255);
}

.page-title {
    position: absolute;
    left: 30px;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
}

.wide-textarea {
    width: 40%;
    min-width: 300px;
}

#subject-textarea {
    width: 25%;
    min-width: 150px;
}
