button, input, select, textarea {
font-family: inherit;
font-size: 100%;
box-sizing: border-box;
width: 100%;
margin-bottom: 1em;
}

input {
    position: relative;
    display: inline-block;
}

input[valid] {
    border-color: var(--green);
    box-shadow: 0 0 6px var(--green);
}

input[invalid] {
    border-color: var(--red);
    box-shadow: 0 0 6px var(--red);
}

label {
display: block;
font-size: 0.8em;
}

form .duration {
    width: 6ch;
}

.autocomplete {
    position: relative;
    display: inline-block;
    width: 100%;
    margin-bottom: 1em;
}

.autocomplete input {
    margin-bottom: 0;
}

.autocomplete-items {
    position: absolute;
    z-index: 99;
    top: 100%;
    left: 0;
    right: 0;

    background-color: var(--white);
    border: 1px solid var(--lightgray);
}

.autocomplete-items div {
    padding: 2px;
    cursor: default;
    border-bottom: 1px solid var(--lightgray);
}

.autocomplete-items div:hover {
    background-color: var(--darkgray);
}

form button {
    border: none;
    background-color: var(--lightgray);
    font-size: 1.2em;
    font-weight: bold;
    padding: 0.5em 1em;
}
