.sbaa-filters,
.sbaa-letters,
.sbaa-mail-nav,
.sbaa-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	align-items: end;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.sbaa-filters input,
.sbaa-filters select,
.sbaa-form input,
.sbaa-form select,
.sbaa-form textarea,
.sbaa-gallery-fields input[type="text"] {
	font: inherit;
	color: inherit;
	background: #fffdf8;
	border: 1px solid #c9bfb0;
	border-radius: 2px;
	padding: 0.45rem 0.55rem;
	width: 100%;
	max-width: 36rem;
}

.sbaa-filters button,
.sbaa-form button,
.sbaa-logout button,
.sbaa-roster button {
	font: inherit;
	background: #8c3a2f;
	color: #fffaf4;
	border: 0;
	border-radius: 2px;
	padding: 0.5rem 0.9rem;
	cursor: pointer;
}

.sbaa-form button + button,
.sbaa-logout {
	margin-top: 0.75rem;
}

.sbaa-logout button,
.sbaa-roster button {
	background: transparent;
	color: #8c3a2f;
	border: 1px solid #8c3a2f;
}

.sbaa-letters a,
.sbaa-mail-nav a,
.sbaa-pager a {
	color: inherit;
	text-decoration: none;
	padding: 0.15rem 0.35rem;
}

.sbaa-letters a[aria-current],
.sbaa-mail-nav a[aria-current] {
	background: #1c1915;
	color: #f6f1e8;
}

.sbaa-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
	gap: 1.25rem;
}

.sbaa-card-media,
.sbaa-board-portrait {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 5;
	background: #ebe4d6;
	overflow: hidden;
}

.sbaa-card-media img,
.sbaa-board-portrait img,
.sbaa-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sbaa-initials {
	font-family: Palatino, Georgia, serif;
	font-size: 2rem;
	letter-spacing: 0.04em;
}

.sbaa-card-name {
	font-size: 1.05rem;
	margin: 0.55rem 0 0.15rem;
}

.sbaa-card-name a,
.sbaa-board-person h2 a {
	color: inherit;
	text-decoration: none;
}

.sbaa-card-meta,
.sbaa-card-count,
.sbaa-role,
.sbaa-help,
.sbaa-count {
	color: #5c564c;
	margin: 0.15rem 0;
}

.sbaa-role {
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.78rem;
}

.sbaa-board-person,
.sbaa-profile-head {
	display: grid;
	grid-template-columns: 9rem 1fr;
	gap: 1.25rem;
	margin: 0 0 2rem;
}

.sbaa-statement {
	max-width: 42rem;
}

.sbaa-gallery-grid,
.sbaa-gallery-edit {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: 0.75rem;
	list-style: none;
	padding: 0;
}

.sbaa-gallery-open {
	display: grid;
	gap: 0.35rem;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.sbaa-art-img,
.sbaa-gallery-open img,
.sbaa-gallery-edit img {
	width: 100%;
	height: 12rem;
	object-fit: contain;
	background: #ebe4d6;
}

dialog[data-sbaa-lightbox-dialog] {
	width: min(960px, calc(100vw - 2rem));
	border: 0;
	background: #1c1915;
	color: #f6f1e8;
	padding: 1rem;
}

dialog[data-sbaa-lightbox-dialog] img {
	width: 100%;
	max-height: 75vh;
	object-fit: contain;
}

dialog[data-sbaa-lightbox-dialog]::backdrop {
	background: rgba(28, 25, 21, 0.72);
}

.sbaa-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: 0 1rem;
}

.sbaa-field {
	margin: 0 0 0.9rem;
}

.sbaa-field label,
.sbaa-gallery-fields label,
.sbaa-portrait label {
	display: block;
	margin-bottom: 0.25rem;
}

.sbaa-error {
	color: #8c3a2f;
	display: block;
}

.sbaa-banner {
	background: #f3e2c4;
	border-left: 4px solid #8c3a2f;
	padding: 0.75rem 1rem;
}

.sbaa-notice {
	padding: 0.75rem 1rem;
	background: #e7efe8;
}

.sbaa-notice.is-error {
	background: #f8e6e2;
}

.sbaa-roster {
	width: 100%;
	border-collapse: collapse;
	margin-top: 1.5rem;
}

.sbaa-roster th,
.sbaa-roster td {
	text-align: left;
	padding: 0.45rem 0.4rem;
	border-bottom: 1px solid #ddd4c6;
	vertical-align: top;
}

.sbaa-mail-body {
	white-space: pre-wrap;
	background: #fffdf8;
	border: 1px solid #ddd4c6;
	padding: 1rem;
}

.sbaa-shifts {
	width: 100%;
	border-collapse: collapse;
}

.sbaa-shifts th,
.sbaa-shifts td {
	border-bottom: 1px solid #ddd4c6;
	padding: 0.55rem 0.4rem;
	vertical-align: top;
	text-align: left;
}

.sbaa-shifts form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
	margin-top: 0.35rem;
}

.sbaa-shifts input[type="text"],
.sbaa-shifts input:not([type="hidden"]) {
	width: 8rem;
	font: inherit;
	padding: 0.25rem 0.35rem;
}

.sbaa-shifts button {
	font: inherit;
	background: #8c3a2f;
	color: #fffaf4;
	border: 0;
	border-radius: 2px;
	padding: 0.3rem 0.55rem;
	cursor: pointer;
}

.sbaa-readonly {
	display: flex;
	gap: 1.5rem;
}

.sbaa-readonly dt {
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #5c564c;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

@media (max-width: 640px) {
	.sbaa-board-person,
	.sbaa-profile-head {
		grid-template-columns: 1fr;
	}

	.sbaa-board-portrait,
	.sbaa-card-media {
		max-width: 12rem;
	}
}
