/* public/css/app.css */
html,
body {
    min-height: 100%;
    margin: 0;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: sans-serif;
}

main {
    flex: 1;
}

.site-header {
    background-color: #f59f28;
    color: #000000;
    font-family: sans-serif;
    padding: 1rem;
}

.site-header__brand h1 {
    margin: 0 0 0.75rem;
}

.site-header__user {
    margin: 0.75rem 0 0;
}

.site-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nav__item {
    display: flex;
    align-items: center;
}

.site-nav__item + .site-nav__item::before {
    content: "|";
    margin: 0 0.75rem;
    color: #000000;
}

.site-nav__link,
.site-nav__button {
    color: #000000;
    font: inherit;
    text-decoration: none;
}

.site-nav__link:hover,
.site-nav__link:focus,
.site-nav__button:hover,
.site-nav__button:focus {
    text-decoration: underline;
}

.site-main {
    background-color: #ffffff;
    color: #000000;
    font-family: sans-serif;
    padding: 1rem;
}

.form {
    max-width: 96rem;
}

.form__columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
    align-items: start;
}

.form__column {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form__actions {
    margin-top: 1.5rem;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.form-field:has(input[type="checkbox"]) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.form-field__label {
    font-weight: 700;
}

.form-field__control {
    box-sizing: border-box;
    width: 100%;
    max-width: 28rem;
    padding: 0.5rem;
    font: inherit;
}

.form-field__control[readonly] {
    background-color: #eeeeee;
    color: #555555;
}

@media (max-width: 48rem) {
    .form__columns {
        grid-template-columns: 1fr;
    }
}

.site-footer {
    background-color: #f59f28;
    color: #000000;
    font-family: sans-serif;
    padding: 1rem;
}

.site-footer p {
    margin: 0;
}
