[x-cloak] { display: none !important; }

header.site { padding-block: 1rem; border-bottom: 1px solid var(--pico-muted-border-color); margin-bottom: 1.5rem; }
header.site a { text-decoration: none; font-weight: 600; }

.flash, .errors, .warn { padding: .75rem 1rem; border-radius: var(--pico-border-radius); margin-bottom: 1rem; }
.flash { background: #e6f4ea; color: #1e4620; }
.errors { background: #fdecea; color: #611a15; }
.errors ul { margin: 0; }
.warn { background: #fff4e5; color: #663c00; }
.muted { color: var(--pico-muted-color); }

/* Compact controls inside tables and repeating rows */
table input:not([type=checkbox]), table select, table button { margin-bottom: 0; }
table button, .inline button, button.small { padding: .25rem .6rem; font-size: .875rem; width: auto; }
form.inline { display: inline; margin: 0; }
.row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin-bottom: .75rem; }
.row > label { flex: 1 1 9rem; margin: 0; }
.row > button { width: auto; margin-bottom: var(--pico-spacing); }
.days { display: flex; flex-wrap: wrap; gap: .25rem .9rem; flex: 2 1 18rem; margin-bottom: var(--pico-spacing); }
.days label { margin: 0; white-space: nowrap; }

.grid-wrap { overflow-x: auto; }
table.availability th, table.availability td { text-align: center; white-space: nowrap; }
table.availability th:first-child, table.availability td:first-child { text-align: left; }
table.availability tr.day th { text-align: left; background: var(--pico-card-sectioning-background-color); }
table.availability input[type=checkbox] { margin: 0; }
nav.tabs { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
