/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

/* Matches legacy bootstrap.css trustee-feedback change (commit 6dec8d0): removes default 2rem
   left padding on ol/ul. Placed here (after bootstrap.css in load order) so specificity wins. */
ol,
ul {
	padding-left: 0;
}

body.stretched {
	color: #004990;
}

body.admin-layout {
	overflow-x: hidden;
}

@media (max-width: 575.98px) {
	body.admin-layout .row {
		margin-left: 0;
		margin-right: 0;
	}

	#copyrights .row {
		margin-left: 0;
		margin-right: 0;
	}
}

.admin-page {
	padding-bottom: 3rem;
	padding-top: 1.5rem;
}

.admin-identity-bar {
	align-items: center;
	background: #eef3f7;
	border: 1px solid #cbd5df;
	border-radius: 6px;
	color: #23384c;
	display: flex;
	gap: 1.25rem;
	margin-bottom: 1rem;
	min-height: 56px;
	padding: .5rem .75rem .5rem 1rem;
}

.admin-identity-bar__name {
	color: #004990;
	overflow-wrap: anywhere;
}

.admin-identity-bar__role span {
	font-weight: 700;
}

.admin-identity-bar form {
	margin: 0 0 0 auto;
}

.admin-identity-bar__sign-out {
	height: 38px;
}

.admin-shell {
	align-items: start;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 250px minmax(0, 1fr);
}

.admin-shell__content {
	min-width: 0;
}

.admin-navigation {
	background: #fff;
	border: 1px solid #cbd5df;
	border-radius: 6px;
	overflow: hidden;
}

.admin-navigation__heading {
	align-items: center;
	background: #004990;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-weight: 700;
	justify-content: space-between;
	list-style: none;
	padding: .9rem 1rem;
}

.admin-navigation__heading::-webkit-details-marker {
	display: none;
}

.admin-navigation__heading i {
	transition: transform .16s ease;
}

.admin-navigation[open] .admin-navigation__heading i {
	transform: rotate(180deg);
}

.admin-navigation__list {
	list-style: none;
	margin: 0;
	padding: .5rem;
}

.admin-navigation__list li + li {
	border-top: 1px solid #e1e7ec;
}

.admin-navigation__list a {
	align-items: center;
	color: #23384c;
	display: grid;
	font-weight: 700;
	gap: .75rem;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	line-height: 1.3;
	padding: .85rem .75rem;
	text-decoration: none;
}

.admin-navigation__list a:focus,
.admin-navigation__list a:hover {
	background: #e9f2f9;
	color: #004990;
}

.admin-navigation__list a.is-active {
	background: #dcecf8;
	box-shadow: inset 4px 0 0 #0067ad;
	color: #003b72;
}

.admin-tool {
	background: #fff;
	border: 1px solid #cbd5df;
	border-radius: 6px;
	overflow: hidden;
}

.admin-tool__header {
	align-items: center;
	background: #f4f6f8;
	border-bottom: 1px solid #cbd5df;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1.125rem 1.5rem;
}

.admin-tool__header h2 {
	color: #004990;
	font-size: 1.5rem;
	line-height: 1.25;
	margin: 0;
}

.admin-tool__header--stacked p {
	color: #5e7183;
	margin: .35rem 0 0;
}

.admin-tool__header form {
	margin: 0;
}

.admin-search-disclosure > summary {
	cursor: pointer;
	list-style: none;
}

.admin-search-disclosure > summary::-webkit-details-marker {
	display: none;
}

.admin-search-disclosure__toggle {
	align-items: center;
	color: #004990;
	display: inline-flex;
	font-size: .875rem;
	font-weight: 700;
	gap: .5rem;
}

.admin-search-disclosure__toggle i {
	transition: transform .16s ease;
}

.admin-search-disclosure[open] .admin-search-disclosure__toggle i {
	transform: rotate(180deg);
}

.admin-search-form {
	padding: 1.5rem;
}

.admin-search-group {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.admin-search-group legend {
	color: #004990;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 .75rem;
	padding: 0;
}

.admin-search-grid {
	align-items: end;
	display: grid;
	gap: 1rem;
}

.admin-search-grid--demographics {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-search-grid--single {
	grid-template-columns: minmax(260px, 560px);
	justify-content: start;
}

.admin-search-separator {
	align-items: center;
	color: #5e7183;
	display: flex;
	font-size: .75rem;
	font-weight: 700;
	gap: .75rem;
	margin: 1rem 0;
	text-transform: uppercase;
}

.admin-search-separator::before,
.admin-search-separator::after {
	background: #dfe5eb;
	content: "";
	height: 1px;
}

.admin-search-separator::before {
	width: 1.5rem;
}

.admin-search-separator::after {
	flex: 1;
}

.admin-search-actions {
	border-top: 1px solid #dfe5eb;
	display: flex;
	justify-content: flex-end;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
}

.admin-field {
	display: flex;
	flex-direction: column;
	gap: .4rem;
	min-width: 0;
}

.admin-field label {
	color: #23384c;
	font-size: .85rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}

.admin-field input,
.admin-field select,
.admin-field textarea {
	background: #fff;
	border: 1px solid #9eacba;
	border-radius: 4px;
	color: #172b3d;
	font: inherit;
	height: 44px;
	letter-spacing: 0;
	min-width: 0;
	padding: .6rem .75rem;
	width: 100%;
}

.admin-field textarea {
	height: auto;
	min-height: 7rem;
	resize: vertical;
}

.admin-field input:focus,
.admin-field select:focus,
.admin-field textarea:focus {
	border-color: #006fc9;
	box-shadow: 0 0 0 3px rgba(0, 111, 201, .18);
	outline: 0;
}

.admin-field__hint {
	color: #5e7183;
	font-size: .8rem;
	margin: 0;
}

.admin-filter-form {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(210px, 1.4fr) repeat(2, minmax(150px, 1fr)) auto;
	padding: 1.25rem 1.5rem;
}

.admin-filter-form__actions {
	display: flex;
}

.admin-results-summary {
	border-top: 1px solid #dfe5eb;
	color: #5e7183;
	font-size: .85rem;
	font-weight: 700;
	padding: .75rem 1.5rem;
}

.admin-results__table--history {
	min-width: 800px;
	table-layout: fixed;
}

.admin-results__table.admin-results__table--history {
	min-width: 800px;
}

.admin-results__table.admin-results__table--history td:last-child {
	text-align: left;
}

.admin-results__table--history th,
.admin-results__table--history td {
	overflow-wrap: anywhere;
}

.admin-results__table--history th:nth-child(1) { width: 20%; }
.admin-results__table--history th:nth-child(2) { width: 20%; }
.admin-results__table--history th:nth-child(3),
.admin-results__table--history th:nth-child(4) { width: 16%; }
.admin-results__table--history th:nth-child(5) { width: 12%; }
.admin-results__table--history th:nth-child(6) { width: 16%; }

.admin-results__table small {
	color: #5e7183;
}

.admin-session-status {
	border-radius: 999px;
	display: inline-flex;
	font-size: .78rem;
	font-weight: 700;
	padding: .25rem .55rem;
}

.admin-session-status--open {
	background: #e6f4ea;
	color: #176b35;
}

.admin-session-status--ended {
	background: #e8edf2;
	color: #405466;
}

.admin-blocked-count {
	color: #a33b24;
	font-weight: 700;
}

.admin-session-events-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: #004990;
	display: flex;
	font: inherit;
	font-weight: 700;
	gap: .75rem;
	justify-content: space-between;
	padding: .4rem;
	text-align: left;
	width: 100%;
}

.admin-session-events-toggle:focus,
.admin-session-events-toggle:hover {
	background: #e9f2f9;
	color: #003b72;
	outline: 0;
}

.admin-session-events-toggle:focus-visible {
	box-shadow: 0 0 0 3px rgba(0, 111, 201, .18);
}

.admin-session-events-toggle i {
	transition: transform .18s ease;
}

.admin-session-events-toggle[aria-expanded="true"] i {
	transform: rotate(180deg);
}

.admin-session-events-row[hidden] {
	display: none !important;
}

.admin-session-events-row > td {
	background: #f4f8fb;
	padding: 0 !important;
}

.admin-session-events {
	padding: 1rem 1.5rem 1.25rem;
}

.admin-session-events h3 {
	color: #23384c;
	font-size: 1rem;
	margin: 0 0 .75rem;
}

.admin-session-events__empty {
	color: #5e7183;
	margin: 0;
}

.admin-session-events__list {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.admin-session-event {
	align-items: baseline;
	background: #fff;
	border: 1px solid #d5dfe8;
	border-radius: 4px;
	display: grid;
	font-size: .82rem;
	gap: .35rem 1rem;
	grid-template-columns: minmax(145px, .85fr) minmax(115px, .75fr) minmax(180px, 1.5fr) auto;
	padding: .65rem .75rem;
}

.admin-session-event time,
.admin-session-event span {
	color: #526577;
}

.admin-session-event__request {
	font-family: Consolas, "Courier New", monospace;
	overflow-wrap: anywhere;
}

.admin-session-event__meta {
	display: flex;
	flex-direction: column;
	gap: .15rem;
}

.admin-empty-state {
	align-items: center;
	border-top: 1px solid #dfe5eb;
	color: #5e7183;
	display: flex;
	flex-direction: column;
	padding: 3rem 1.5rem;
	text-align: center;
}

.admin-empty-state i {
	color: #7890a5;
	font-size: 2rem;
}

.admin-empty-state h3 {
	color: #23384c;
	font-size: 1.15rem;
	margin: .75rem 0 .25rem;
}

.admin-empty-state p {
	margin: 0;
}

.admin-pagination {
	align-items: center;
	border-top: 1px solid #dfe5eb;
	display: flex;
	gap: 1rem;
	justify-content: flex-end;
	padding: 1rem 1.5rem;
}

.admin-pagination .is-disabled {
	opacity: .5;
	pointer-events: none;
}

.admin-add-user-form {
	display: grid;
	gap: 1.5rem;
	max-width: 720px;
	padding: 1.5rem;
}

.admin-directory-search {
	position: relative;
}

.admin-directory-search__input {
	align-items: center;
	display: flex;
	position: relative;
}

.admin-directory-search__input > i {
	color: #5e7183;
	left: .8rem;
	position: absolute;
}

.admin-directory-search__input input {
	padding-left: 2.4rem;
	padding-right: 2.5rem;
}

.admin-directory-search__input .admin-progress-spinner {
	position: absolute;
	right: .85rem;
}

.admin-directory-search__input .admin-progress-spinner[hidden] {
	display: none;
}

.admin-directory-results {
	background: #fff;
	border: 1px solid #9eacba;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(20, 44, 66, .16);
	display: grid;
	left: 0;
	max-height: 300px;
	overflow-y: auto;
	position: absolute;
	right: 0;
	top: calc(100% - 1.6rem);
	z-index: 20;
}

.admin-directory-results[hidden] {
	display: none;
}

.admin-directory-result {
	background: #fff;
	border: 0;
	border-bottom: 1px solid #e1e7ec;
	color: #23384c;
	display: grid;
	gap: .2rem;
	padding: .75rem 1rem;
	text-align: left;
}

.admin-directory-result:focus,
.admin-directory-result:hover {
	background: #e9f2f9;
	color: #003b72;
	outline: 0;
}

.admin-directory-result span,
.admin-directory-status {
	color: #5e7183;
	font-size: .82rem;
}

.admin-directory-status {
	min-height: 1.1rem;
}

.admin-selected-user {
	align-items: center;
	background: #eef7fc;
	border: 1px solid #b8d5e8;
	border-left: 4px solid #0067ad;
	display: grid;
	gap: 1rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 1rem;
}

.admin-selected-user[hidden] {
	display: none;
}

.admin-selected-user > i {
	color: #0067ad;
	font-size: 1.5rem;
}

.admin-selected-user div {
	display: grid;
	overflow-wrap: anywhere;
}

.admin-selected-user span {
	color: #5e7183;
}

.admin-role-field {
	max-width: 440px;
}

.admin-add-user-form__actions {
	border-top: 1px solid #dfe5eb;
	display: flex;
	justify-content: flex-end;
	padding-top: 1.25rem;
}

.admin-add-user-form__progress {
	align-items: center;
	background: #eef6fb;
	border-left: 4px solid #0067ad;
	color: #23384c;
	display: flex;
	gap: .75rem;
	margin-top: .25rem;
	padding: .75rem 1rem;
}

.admin-add-user-form__progress[hidden] {
	display: none;
}

.admin-add-user-form.is-saving .admin-directory-search,
.admin-add-user-form.is-saving .admin-selected-user,
.admin-add-user-form.is-saving .admin-role-field {
	opacity: .72;
	pointer-events: none;
}

.admin-confirm-warning {
	align-items: flex-start;
	background: #fff5d6;
	border-left: 4px solid #b56b00;
	display: grid;
	gap: .75rem;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 1rem;
}

.admin-confirm-warning i {
	color: #8a4c00;
	font-size: 1.35rem;
}

.admin-confirm-warning p {
	margin: 0;
}

.admin-role-confirmation {
	align-items: flex-start;
	background: #fff7e8;
	border: 1px solid #e2b66f;
	border-radius: 4px;
	display: flex;
	gap: .65rem;
	margin-top: 1rem;
	padding: .85rem;
}

.admin-role-confirmation input {
	flex: 0 0 auto;
	margin-top: .2rem;
}

.admin-role-confirmation label {
	font-weight: 700;
	margin: 0;
}

.admin-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 4px;
	display: inline-flex;
	font: inherit;
	font-weight: 700;
	gap: .5rem;
	height: 44px;
	justify-content: center;
	letter-spacing: 0;
	padding: 0 1rem;
	white-space: nowrap;
}

.admin-button--primary {
	background: #0067ad;
	border-color: #0067ad;
	color: #fff;
}

.admin-button--primary:focus,
.admin-button--primary:hover {
	background: #004f87;
	border-color: #004f87;
	color: #fff;
}

.admin-button--secondary {
	background: #fff;
	border-color: #8b9bab;
	color: #004990;
}

.admin-button--secondary:focus,
.admin-button--secondary:hover {
	background: #e9f2f9;
	border-color: #0067ad;
	color: #003b72;
}

/* An admin button rendered as an anchor (a link that opens in a new tab, rather than a form
   submit) sits inside #content, so `#content a { color: #0060aa }` further down this file wins
   over the class rules above and tints it a different blue from the <button> elements beside it.
   Scoped to anchors only so nothing else moves; the colours are the ones already declared above. */
#content a.admin-button {
	/* Anchors carry an underline that the button classes never suppressed, so a link styled as a
	   button rendered underlined next to identical <button> elements that were not. */
	text-decoration: none;
}

#content a.admin-button--secondary {
	color: #004990;
}

#content a.admin-button--secondary:focus,
#content a.admin-button--secondary:hover {
	color: #003b72;
}

#content a.admin-button--primary,
#content a.admin-button--primary:focus,
#content a.admin-button--primary:hover {
	color: #fff;
}

.admin-button--danger {
	background: #fff;
	border-color: #b42318;
	color: #8a1c14;
}

.admin-button--danger:focus,
.admin-button--danger:hover {
	background: #fff1f1;
	border-color: #8a1c14;
	color: #68150f;
}

.admin-button:disabled {
	cursor: not-allowed;
	opacity: .68;
}

.admin-notice {
	border-left: 4px solid;
	margin: 1rem 1.5rem 0;
	padding: .75rem 1rem;
}

.admin-notice--success {
	background: #eef8f1;
	border-color: #298348;
	color: #205d35;
}

.admin-notice--error {
	background: #fff1f1;
	border-color: #b42318;
	color: #8a1c14;
}

.admin-results {
	border-top: 1px solid #cbd5df;
	overflow-x: auto;
}

/* min-width is the floor before the container scrolls horizontally; below 576px the table becomes
   a stacked card layout instead. It was 1080px while the admin content column measures 1048px at
   1920 and 868px at 1366, so the member-search table was always wider than its space — a scrollbar
   at every desktop size with Start impersonation clipped at the right edge. 860px clears both of
   those containers. The floor still earns its place: removing it entirely lets the name columns
   collapse to ~46px at tablet widths and the row grow past 300px tall. */
.admin-results__table {
	border-collapse: collapse;
	color: #172b3d;
	margin: 0;
	min-width: 860px;
	width: 100%;
}

/* Deliberately NOT adding overflow-wrap here. It would let the table squeeze into narrower
   containers, but measured at 1366 the cost is a three-line email and an SSN split across two
   lines, and applying it to every cell breaks names mid-word ("TOMM/Y"). Below roughly 1440 the
   admin column is genuinely too narrow for seven columns, so the horizontal scroll that
   .admin-results already provides is the better answer than cramming. */

.admin-results__table.admin-users-table {
	min-width: 900px;
}

.admin-results__table th,
.admin-results__table td {
	border-bottom: 1px solid #dfe5eb;
	padding: .85rem 1rem;
	text-align: left;
	vertical-align: middle;
}

.admin-results__table th {
	background: #f4f6f8;
	color: #23384c;
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
}

.admin-results__table tbody tr:nth-child(even) {
	background: #f9fafb;
}

.admin-results__table td:last-child {
	text-align: right;
}

.admin-results__action .admin-button {
	height: 38px;
}

/* Start impersonation is wrapped in a form for its antiforgery token; Edit email is a bare button.
   The site's base form rule adds a 30px bottom margin, so that cell measures 68px against the
   other's 38px, and because both cells centre vertically the buttons end up 15px out of line.
   Zero it here rather than only in the mobile block below, where it already was. */
.admin-results__action form {
	margin: 0;
}

.admin-status {
	border-radius: 999px;
	display: inline-block;
	font-size: .78rem;
	font-weight: 700;
	padding: .2rem .55rem;
}

.admin-status--active {
	background: #e5f5eb;
	color: #205d35;
}

.admin-status--inactive {
	background: #edf0f3;
	color: #526577;
}

.admin-users-table__email,
.admin-users-table__detail {
	color: #5e7183;
	display: block;
	font-size: .8rem;
	margin-top: .2rem;
}

.admin-users-table__value {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.admin-users-table__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	justify-content: flex-end;
}

.admin-email-dialog {
	background: #fff;
	border: 0;
	border-radius: 6px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
	color: #172b3d;
	max-height: calc(100vh - 2rem);
	max-width: min(520px, calc(100vw - 2rem));
	padding: 0;
	width: 100%;
}

.admin-email-dialog::backdrop {
	background: rgba(16, 31, 46, .62);
}

.admin-email-dialog__form {
	margin: 0;
}

.admin-email-dialog__header {
	align-items: flex-start;
	background: #f4f6f8;
	border-bottom: 1px solid #cbd5df;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
}

.admin-email-dialog__header h3 {
	color: #004990;
	font-size: 1.25rem;
	line-height: 1.3;
	margin: 0;
}

.admin-email-dialog__header p {
	color: #5e7183;
	margin: .25rem 0 0;
}

.admin-dialog-close {
	align-items: center;
	background: transparent;
	border: 0;
	color: #23384c;
	display: inline-flex;
	font-size: 1.1rem;
	height: 36px;
	justify-content: center;
	padding: 0;
	width: 36px;
}

.admin-dialog-close:focus,
.admin-dialog-close:hover {
	background: #e3e9ef;
	color: #004990;
	outline: 0;
}

.admin-email-dialog__body {
	display: grid;
	gap: 1.25rem;
	padding: 1.5rem;
}

.admin-email-dialog__current {
	background: #eef3f7;
	border-left: 4px solid #0067ad;
	display: grid;
	gap: .25rem;
	overflow-wrap: anywhere;
	padding: .75rem 1rem;
}

.admin-email-dialog__current span {
	color: #5e7183;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
}

.admin-email-dialog__error {
	margin: 0;
}

.admin-email-dialog__progress {
	align-items: center;
	background: #eef3f7;
	border-left: 4px solid #0067ad;
	display: flex;
	font-weight: 700;
	gap: .75rem;
	padding: .75rem 1rem;
}

.admin-email-dialog__progress[hidden] {
	display: none;
}

.admin-progress-spinner {
	animation: admin-progress-spin .8s linear infinite;
	border: 2px solid currentcolor;
	border-right-color: transparent;
	border-radius: 50%;
	display: inline-block;
	flex: 0 0 auto;
	height: 1rem;
	width: 1rem;
}

@keyframes admin-progress-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.admin-progress-spinner {
		animation-duration: 1.6s;
	}
}

.admin-email-dialog__actions {
	border-top: 1px solid #dfe5eb;
	display: flex;
	gap: .75rem;
	justify-content: flex-end;
	padding: 1rem 1.5rem;
}

@media (max-width: 991.98px) {
	.admin-shell {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.admin-filter-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.admin-search-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.admin-search-submit {
		justify-self: start;
		min-width: 140px;
	}
}

@media (max-width: 575.98px) {
	.admin-shell {
		display: block;
	}

	.admin-navigation {
		margin-bottom: 1rem;
	}

	.admin-filter-form {
		grid-template-columns: minmax(0, 1fr);
		padding: 1rem;
	}

	.admin-filter-form__actions .admin-button,
	.admin-add-user-form__actions .admin-button {
		width: 100%;
	}

	.admin-add-user-form {
		padding: 1rem;
	}

	.admin-selected-user {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.admin-selected-user .admin-button {
		grid-column: 1 / -1;
		width: 100%;
	}

	.admin-pagination {
		align-items: stretch;
		flex-direction: column;
		text-align: center;
	}

	.admin-page {
		padding-top: 1rem;
	}

	.admin-tool__header {
		align-items: stretch;
		flex-direction: column;
		padding: 1rem;
	}

	.admin-tool__header .admin-button {
		width: 100%;
	}

	.admin-search-disclosure__toggle {
		justify-content: space-between;
		width: 100%;
	}

	.admin-identity-bar {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: .35rem 1rem;
		padding: .75rem;
	}

	.admin-identity-bar__name {
		flex-basis: 100%;
	}

	.admin-identity-bar form {
		margin-left: auto;
	}

	.admin-search-form {
		padding: 1rem;
	}

	.admin-search-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.admin-search-submit {
		justify-self: auto;
		width: 100%;
	}

	.admin-search-actions {
		justify-content: stretch;
	}

	.admin-notice {
		margin-left: 1rem;
		margin-right: 1rem;
	}

	.admin-results {
		overflow-x: visible;
	}

	.admin-results__table {
		display: block;
		min-width: 0;
	}

	.admin-results__table.admin-results__table--history {
		min-width: 0;
	}

	.admin-results__table.admin-users-table {
		min-width: 0;
	}

	.admin-results__table thead {
		display: none;
	}

	.admin-results__table tbody,
	.admin-results__table tr {
		display: block;
	}

	.admin-results__table tr {
		padding: .5rem 1rem 1rem;
	}

	.admin-results__table th,
	.admin-results__table td {
		border-bottom: 1px solid #dfe5eb;
		display: grid;
		gap: .75rem;
		grid-template-columns: 7rem minmax(0, 1fr);
		overflow-wrap: anywhere;
		padding: .75rem 0;
	}

	.admin-results__table td::before {
		color: #23384c;
		content: attr(data-label);
		font-size: .75rem;
		font-weight: 700;
		text-transform: uppercase;
	}

	.admin-results__table td:last-child {
		border-bottom: 0;
		display: block;
		padding-bottom: 0;
		padding-top: 1rem;
		text-align: left;
	}

	.admin-results__table td:last-child::before {
		content: none;
	}

	.admin-users-table__actions {
		display: flex !important;
		flex-direction: column;
	}

	.admin-users-table__actions .admin-button {
		width: 100%;
	}

	.admin-results__table--history td:last-child {
		border-bottom: 0;
		display: grid;
		gap: .75rem;
		grid-template-columns: 7rem minmax(0, 1fr);
		padding: .75rem 0;
	}

	.admin-results__table--history td:last-child::before {
		content: attr(data-label);
	}

	.admin-session-events-row {
		padding: 0 !important;
	}

	.admin-session-events-row > td {
		display: block !important;
		padding: 0 !important;
	}

	.admin-session-events-row > td::before {
		content: none !important;
	}

	.admin-session-events {
		padding: 1rem;
	}

	.admin-session-event {
		grid-template-columns: 1fr;
	}

	.admin-results__action form,
	.admin-results__action .admin-button {
		margin: 0;
		width: 100%;
	}

	.admin-email-dialog__header,
	.admin-email-dialog__body,
	.admin-email-dialog__actions {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.admin-email-dialog__actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.admin-email-dialog__actions .admin-button {
		width: 100%;
	}
}

body.has-admin-impersonation-banner {
	--admin-impersonation-banner-height: 64px;
	padding-top: var(--admin-impersonation-banner-height);
}

.admin-impersonation-banner {
	background: #fff2b8;
	border-bottom: 3px solid #a15c00;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
	color: #2d2513;
	height: var(--admin-impersonation-banner-height);
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 400;
}

.admin-impersonation-banner__content {
	align-items: center;
	display: grid;
	gap: .875rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	height: 100%;
}

.admin-impersonation-banner__content::before,
.admin-impersonation-banner__content::after {
	content: none;
	display: none;
}

.admin-impersonation-banner__icon {
	color: #7a3e00;
	font-size: 1.4rem;
}

.admin-impersonation-banner__message {
	align-items: baseline;
	display: flex;
	gap: .65rem;
	letter-spacing: 0;
	line-height: 1.3;
	min-width: 0;
}

.admin-impersonation-banner__message strong {
	color: #522900;
	font-size: 1rem;
	white-space: nowrap;
}

.admin-impersonation-banner__message span {
	color: #2d2513;
}

.admin-impersonation-banner__actions {
	align-items: center;
	display: flex;
	gap: .75rem;
}

.admin-impersonation-banner__actions form {
	margin: 0;
}

.admin-impersonation-banner__home {
	color: #522900;
	font-size: .9rem;
	font-weight: 700;
	text-decoration: underline;
	white-space: nowrap;
}

.admin-impersonation-banner__home:focus,
.admin-impersonation-banner__home:hover {
	color: #7a3e00;
}

.admin-impersonation-banner__stop {
	align-items: center;
	background: #fff;
	border: 1px solid #7a3e00;
	border-radius: 4px;
	color: #522900;
	display: inline-flex;
	font: inherit;
	font-size: .85rem;
	font-weight: 700;
	height: 34px;
	justify-content: center;
	letter-spacing: 0;
	padding: 0 .7rem;
	white-space: nowrap;
}

.admin-impersonation-banner__stop:focus,
.admin-impersonation-banner__stop:hover {
	background: #522900;
	color: #fff;
}

body.has-admin-impersonation-banner.is-expanded-menu #header-wrap,
body.has-admin-impersonation-banner #header.sticky-header #header-wrap {
	top: var(--admin-impersonation-banner-height) !important;
}

@media (max-width: 767.98px) {
	body.has-admin-impersonation-banner {
		--admin-impersonation-banner-height: 112px;
	}

	.admin-impersonation-banner__content {
		column-gap: .65rem;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto auto;
		padding-bottom: .45rem;
		padding-top: .45rem;
		row-gap: .35rem;
	}

	.admin-impersonation-banner__icon {
		align-self: start;
		margin-top: .15rem;
	}

	.admin-impersonation-banner__message {
		align-items: flex-start;
		flex-direction: column;
		font-size: .85rem;
		gap: .15rem;
		grid-column: 2;
	}

	.admin-impersonation-banner__message strong {
		font-size: .95rem;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.admin-impersonation-banner__stop {
		min-width: 0;
		padding-left: .55rem;
		padding-right: .55rem;
	}

	.admin-impersonation-banner__actions {
		grid-column: 1 / -1;
		justify-content: flex-end;
	}
}

.f00-breadcrumb {
	background: #fff;
	border-bottom: 1px solid rgba(0, 73, 144, .08);
	color: #66788a;
	font-size: .85rem;
	line-height: 1.4;
	position: relative;
	z-index: 1;
}

@media (min-width: 992px) {
	#header + .f00-breadcrumb,
	#header + .header-wrap-clone + .f00-breadcrumb {
		margin-top: 22px;
	}
}

.f00-breadcrumb__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	list-style: none;
	margin: 0;
	min-height: 38px;
	padding: .45rem 0;
}

.f00-breadcrumb__item {
	align-items: center;
	display: inline-flex;
	font-weight: 500;
	letter-spacing: 0;
}

.f00-breadcrumb__item + .f00-breadcrumb__item::before {
	color: #9aa8b6;
	content: "/";
	font-weight: 400;
	margin-right: .35rem;
}

.f00-breadcrumb__item a {
	color: #5b7187;
	text-decoration: none;
}

.f00-breadcrumb__item a:focus,
.f00-breadcrumb__item a:hover {
	color: #004990;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.f00-breadcrumb__item span[aria-current="page"] {
	color: #33485d;
}

.body-wrapper .f00-signin {
	align-items: flex-start;
	display: flex;
	justify-content: center;
	min-height: 520px;
	padding: 4.5rem 1.25rem 5.5rem;
}

.body-wrapper .f00-signin__panel {
	background: #fff;
	border: 1px solid rgba(0, 73, 144, .18);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
	color: #222;
	max-width: 520px;
	padding: 2rem;
	width: 100%;
}

.body-wrapper .f00-signin__header {
	margin-bottom: 1.5rem;
}

.body-wrapper .f00-signin__header h1 {
	color: #004990;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 .65rem;
}

.body-wrapper .f00-signin__header p,
.body-wrapper .f00-signin__alert p {
	color: #333;
	margin: 0;
}

/* Legacy-account note under the sign-in instructions (client, 2026-08-11). Deliberately NOT the
   __alert treatment: the alert is the failed-lookup message, and two blue panels stacked would
   make the actual error easy to miss. Smaller and muted so it reads as standing context. */
.body-wrapper .f00-signin__notice {
	margin-top: .75rem;
}

.body-wrapper .f00-signin__notice p {
	color: #555;
	font-size: .875rem;
	line-height: 1.5;
	margin: 0;
}

.body-wrapper .f00-signin__form label {
	color: #222;
	font-weight: 700;
	margin-bottom: .45rem;
}

.body-wrapper .f00-signin__form .form-control {
	border: 1px solid #9aa0a6;
	border-radius: 2px;
	color: #222;
	min-height: 42px;
	width: 100%;
}

.body-wrapper .f00-signin__form .form-control:focus {
	border-color: #1c5f9b;
	box-shadow: 0 0 0 .2rem rgba(28, 95, 155, .18);
}

.body-wrapper .f00-signin__alert {
	background: #eff6fc;
	border-left: 4px solid #1c5f9b;
	margin-bottom: 1.25rem;
	padding: .875rem 1rem;
}

.body-wrapper .f00-signin__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.5rem;
}

.body-wrapper .f00-signin__actions .button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	margin: 0;
	/* 44px, not 40: this is the primary action on the page members reported trouble with, and 44
	   is the minimum comfortable touch target. Measured at 116x40 on a Pixel 8 (API 35). */
	min-height: 44px;
	min-width: 116px;
}

.body-wrapper .f00-signin__register {
	color: #0060aa;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.body-wrapper .f00-signin__register:focus,
.body-wrapper .f00-signin__register:hover {
	color: #004990;
}

#content,
#content .content-wrap,
#content .form-widget,
#content .wiwet-feature,
#content p,
#content label,
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
#content .form-control,
#content .dataTables_wrapper,
#content .dataTables_info,
#content .dataTables_length,
#content .dataTables_paginate {
	color: #004990;
}

#content table.dataTable tbody th,
#content table.dataTable tbody td,
#content .dataTables_wrapper .dataTables_info,
#content .dataTables_wrapper .dataTables_length,
#content .dataTables_wrapper .dataTables_filter,
#content .dataTables_wrapper .dataTables_paginate,
#content .dataTables_wrapper .dataTables_paginate .paginate_button {
	color: #004990 !important;
}

#content a {
	color: #0060aa;
}

.registration-page .registration-panel {
	border: 1px solid #333;
	background-color: #fff;
	padding: 0 20px 28px;
}

.registration-page .registration-row {
	display: grid;
	grid-template-columns: 220px 260px 220px 260px;
	column-gap: 18px;
	align-items: center;
	margin-bottom: 18px;
}

.registration-page .registration-row > div {
	float: none;
	width: auto;
	margin: 0;
}

.registration-page .registration-row-half {
	grid-template-columns: 220px 260px 220px 260px;
}

.registration-page .form_label {
	display: block;
	margin: 0;
	font-weight: 700;
	color: #111;
}

.registration-page .inputs-modern {
	width: 200px !important;
	max-width: 100%;
}

.registration-page .ssn-input-wrap {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
}

.registration-page .ssn-input-wrap .inputs-modern {
	flex: 0 0 auto;
}

.registration-page .ssn-reveal {
	align-items: center;
	background: #e8eef3;
	border: 1px solid #8fb1c8;
	border-radius: 4px;
	color: #1f4f73;
	cursor: pointer;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	height: 30px;
	justify-content: center;
	line-height: 1;
	min-width: 46px;
	padding: 0 8px;
}

.registration-page .ssn-reveal:focus-visible {
	outline: 2px solid #005a9c;
	outline-offset: 2px;
}

.registration-page .ssn-reveal:active {
	background: #d5e3ed;
}

.registration-page .registration-disclaimer {
	overflow: auto;
	height: 400px;
	font-size: 11pt;
	color: #000;
	text-align: left;
}

.registration-page .registration-disclaimer h1 {
	color: #000;
	font-family: Calibri, sans-serif;
	font-size: 11pt;
	font-style: normal;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
}

.registration-page .registration-disclaimer p,
.registration-page .registration-disclaimer .p,
.registration-page .registration-disclaimer li {
	color: #000;
	font-family: Calibri, sans-serif;
	font-size: 11pt;
	font-style: normal;
	font-weight: 400;
	line-height: 1.25;
	margin: 0;
	text-decoration: none;
	letter-spacing: 0;
}

.registration-page .registration-disclaimer li {
	display: block;
}

.registration-page .registration-disclaimer #l1 {
	padding-left: 0;
}

.registration-page .registration-disclaimer #l1 > li > *:first-child::before {
	content: "• ";
	color: #000;
	font-family: Symbol, serif;
	font-size: 11pt;
	font-style: normal;
	font-weight: 400;
	text-decoration: none;
}

.registration-page .registration-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 18px;
	padding: 0 10px;
}

.registration-page .registration-actions > div {
	float: none;
	width: auto;
	margin: 0;
}

.registration-page .registration-actions .button-modern {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	min-height: 40px;
}

@media (max-width: 991.98px) {
	.registration-page .registration-panel {
		padding: 0 14px 24px;
	}

	.registration-page .registration-row,
	.registration-page .registration-row-half {
		grid-template-columns: 1fr;
		row-gap: 6px;
		margin-bottom: 14px;
	}

	.registration-page .inputs-modern {
		width: min(260px, 100%) !important;
	}

	.registration-page .ssn-input-wrap {
		width: 100%;
	}

	.registration-page .registration-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
		padding: 0;
	}
}

/* ----------------------------------------------------------------
	Entra External ID registration page (/register)

	The page markup is owned by the WilsonMcShane.Authentication.EntraExternalId.Web
	package (neutral .wms-registration__* BEM classes, styled by the package's own
	stylesheet). These rules skin it to match the fund site. Selectors are prefixed
	with .body-wrapper (an ancestor from _Layout) so they out-specify the package
	stylesheet, which is linked later in the page body.
-----------------------------------------------------------------*/

.body-wrapper .wms-registration {
	background: #fff;
	max-width: 1140px;
	margin: 4.5rem auto 0;
	min-height: 1400px;
	padding: 1.75rem 1.875rem 2.5rem;
	color: #222;
}

.body-wrapper .wms-registration__header {
	margin-bottom: 5.75rem;
}

.body-wrapper .wms-registration__header > .wms-registration__sr-only {
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.body-wrapper .f00-registration-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.body-wrapper .f00-registration-header__logo {
	display: block;
	height: auto;
	max-width: 420px;
	width: min(100%, 420px);
}

.body-wrapper .f00-registration-header__text {
	padding-left: 22px;
}

.body-wrapper .f00-registration-header__title {
	color: #004990;
	font-size: 1.45rem;
	font-weight: 600;
	line-height: 1.25;
}

.body-wrapper .f00-registration-header__title {
	max-width: 1030px;
}

.body-wrapper .wms-registration__fund {
	color: #333;
	font-size: 1.05rem;
}

.body-wrapper .wms-registration h1,
.body-wrapper .wms-registration__terms h2 {
	color: #1c5f9b;
	font-weight: 700;
}

.body-wrapper .wms-registration label {
	color: #333;
}

.body-wrapper .wms-registration__intro {
	margin-bottom: 3.25rem;
	max-width: 1080px;
}

.body-wrapper .wms-registration__grid {
	column-gap: 4.5rem;
	max-width: 960px;
	row-gap: 1.35rem;
}

.body-wrapper .wms-registration__field {
	align-items: start;
	column-gap: 1.25rem;
	display: grid;
	grid-template-columns: 200px 200px;
}

.body-wrapper .wms-registration__field label {
	padding-top: .45rem;
}

.body-wrapper .wms-registration input[type="email"],
.body-wrapper .wms-registration input[type="tel"],
.body-wrapper .wms-registration input[type="password"],
.body-wrapper .wms-registration input[type="text"] {
	border: 1px solid #9aa0a6;
	border-radius: 2px;
	background: linear-gradient(180deg, #f6f6f6 0%, #e2e2e2 100%);
	color: #222;
	min-height: 38px;
	width: 200px;
}

.body-wrapper .wms-registration input:focus {
	border-color: #1c5f9b;
	outline: 2px solid rgba(28, 95, 155, .25);
	outline-offset: 0;
}

/* Scrollable, bordered Terms of Use / Disclaimer box, like the legacy site. */
.body-wrapper .wms-registration__terms {
	border-block: 0;
	margin: 4.75rem 0 1.25rem;
	padding: 0;
}

.body-wrapper .wms-registration__terms h2 {
	color: #000;
	font-size: 1.25rem;
	margin-bottom: .75rem;
	text-align: center;
}

.body-wrapper .wms-registration__terms-body {
	color: #004990;
	max-height: 400px;
	overflow-y: auto;
	padding: .25rem .5rem .75rem;
	background: #fff;
	font-size: .9rem;
	line-height: 1.45;
	scrollbar-gutter: stable;
}

.body-wrapper .wms-registration__terms-body h3 {
	color: #000;
	font-size: .8rem;
	font-weight: 700;
	margin: 0 0 3rem;
	text-align: center;
	text-transform: uppercase;
}

.body-wrapper .wms-registration__terms-body p,
.body-wrapper .wms-registration__terms-body li {
	color: #004990;
}

.body-wrapper .wms-registration__check {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	width: max-content;
}

.body-wrapper .wms-registration__assistance {
	margin-top: 1.25rem;
}

/* Primary "Register" button + "Cancel" link. */
.body-wrapper .wms-registration__actions {
	justify-content: space-between;
	margin-top: 2rem;
}

.body-wrapper .wms-registration__actions a,
.body-wrapper .wms-registration__actions button {
	align-items: center;
	border-radius: 4px;
	display: inline-flex;
	font-weight: 700;
	height: 40px;
	justify-content: center;
	line-height: 40px;
	min-height: 40px;
	min-width: 120px;
	padding: 0 16px;
	text-decoration: none;
}

.body-wrapper .wms-registration__actions button {
	background: #7eb4dc;
	color: #fff;
}

.body-wrapper .wms-registration__actions button:not(:disabled):hover {
	background: #0067ac;
}

.body-wrapper .wms-registration__actions a {
	background: #0067ac;
	color: #fff;
}

.body-wrapper .wms-registration__actions a:hover {
	background: #00558d;
	text-decoration: none;
}

@media (max-width: 991.98px) {
	.body-wrapper .wms-registration {
		margin-top: 1.5rem;
		min-height: auto;
	}

	.body-wrapper .wms-registration__grid,
	.body-wrapper .wms-registration__field {
		grid-template-columns: 1fr;
	}

	.body-wrapper .wms-registration input[type="email"],
	.body-wrapper .wms-registration input[type="tel"],
	.body-wrapper .wms-registration input[type="password"],
	.body-wrapper .wms-registration input[type="text"] {
		width: 100%;
	}
}

/* Auth pages now use the same site layout as content pages. These overrides keep
   the local /signin and package-owned /register surfaces aligned with that chrome. */
#wrapper .f00-signin {
	background: #fff;
	display: block;
	margin: 0 auto;
	max-width: 1140px;
	min-height: auto;
	padding: 3.5rem 1.25rem 4.5rem;
}

#wrapper .f00-signin__panel {
	background: #fff;
	border: 1px solid rgba(0, 73, 144, .28);
	box-shadow: 0 8px 22px rgba(0, 73, 144, .08);
	color: #222;
	max-width: 620px;
	padding: 2rem;
	width: 100%;
}

#wrapper .f00-signin__header {
	margin-bottom: 1.5rem;
}

#wrapper .f00-signin__header h1 {
	color: #004990;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 .65rem;
}

#wrapper .f00-signin__header p,
#wrapper .f00-signin__alert p {
	color: #333;
	margin: 0;
}

#wrapper .f00-signin__form label {
	color: #222;
	font-weight: 700;
	margin-bottom: .45rem;
}

#wrapper .f00-signin__form .form-control {
	border: 1px solid #9aa0a6;
	border-radius: 2px;
	color: #222;
	min-height: 42px;
	width: 100%;
}

#wrapper .f00-signin__form .form-control:focus {
	border-color: #1c5f9b;
	box-shadow: 0 0 0 .2rem rgba(28, 95, 155, .18);
}

#wrapper .f00-signin__alert {
	background: #eff6fc;
	border-left: 4px solid #1c5f9b;
	margin-bottom: 1.25rem;
	padding: .875rem 1rem;
}

#wrapper .f00-signin__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.5rem;
}

#wrapper .f00-signin__actions p {
	margin: 0;
}

#wrapper .f00-signin__support {
	margin: 1.5rem 0 0;
}

#wrapper .f00-signin__support a,
#wrapper .f00-registration-header__links a {
	color: #0060aa;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#wrapper .f00-signin__actions .button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	margin: 0;
	/* 44px, not 40: this is the primary action on the page members reported trouble with, and 44
	   is the minimum comfortable touch target. Measured at 116x40 on a Pixel 8 (API 35). */
	min-height: 44px;
	min-width: 116px;
}

#wrapper .f00-signin__register {
	color: #0060aa;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#wrapper .f00-signin__register:focus,
#wrapper .f00-signin__register:hover {
	color: #004990;
}

#wrapper .wms-registration {
	background: #fff;
	border: 1px solid rgba(0, 73, 144, .28);
	box-shadow: 0 8px 22px rgba(0, 73, 144, .08);
	color: #222;
	margin: 3.5rem auto 4.5rem;
	max-width: 1140px;
	min-height: auto;
	padding: 2rem;
}

#wrapper .wms-registration__header {
	margin-bottom: 3.25rem;
}

#wrapper .wms-registration__header > .wms-registration__sr-only {
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

#wrapper .f00-registration-header {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

#wrapper .f00-registration-header__text {
	padding-left: 0;
}

#wrapper .f00-registration-header__title {
	color: #004990;
	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.25;
	max-width: 1030px;
}

#wrapper .f00-registration-header__notice {
	background: #eaf4fb;
	border: 1px solid #7eb4dc;
	border-left: 5px solid #004990;
	color: #1f3342;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.45;
	margin-top: .25rem;
	max-width: 980px;
	padding: 1rem 1.125rem;
}

#wrapper .f00-registration-header__notice strong {
	color: #004990;
	font-weight: 800;
}

#wrapper .f00-registration-header__links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.5rem;
}

#wrapper .wms-registration__intro {
	margin-bottom: 2.5rem;
	max-width: 1080px;
}

#wrapper .wms-registration__validation.validation-summary-valid,
#wrapper .wms-registration__validation:empty {
	display: none;
}

#wrapper .wms-registration__alert,
#wrapper .wms-registration__validation {
	background: #fff4f4;
	border: 1px solid #d92d20;
	color: #7a271a;
	margin-bottom: 1rem;
	padding: .75rem;
}

#wrapper .wms-registration__grid {
	column-gap: 4.5rem;
	max-width: 1030px;
	row-gap: 1.35rem;
}

#wrapper .wms-registration__field {
	align-items: start;
	column-gap: 1.25rem;
	display: grid;
	grid-template-columns: 230px 200px;
}

#wrapper .wms-registration__field label {
	color: #333;
	padding-top: .45rem;
}

#wrapper .wms-registration input[type="email"],
#wrapper .wms-registration input[type="tel"],
#wrapper .wms-registration input[type="password"],
#wrapper .wms-registration input[type="text"] {
	background: linear-gradient(180deg, #f6f6f6 0%, #e2e2e2 100%);
	border: 1px solid #9aa0a6;
	border-radius: 2px;
	color: #222;
	min-height: 38px;
	width: 200px;
}

#wrapper .wms-registration input:focus {
	border-color: #1c5f9b;
	outline: 2px solid rgba(28, 95, 155, .25);
	outline-offset: 0;
}

#wrapper .wms-registration__terms {
	border-block: 0;
	margin: 4rem 0 1.25rem;
	padding: 0;
}

#wrapper .wms-registration__terms h2 {
	color: #000;
	font-size: 1.25rem;
	margin-bottom: .75rem;
	text-align: center;
}

#wrapper .wms-registration__terms-body {
	background: #fff;
	color: #004990;
	font-size: .9rem;
	line-height: 1.45;
	max-height: 400px;
	overflow-y: auto;
	padding: .25rem .5rem .75rem;
	scrollbar-gutter: stable;
}

#wrapper .wms-registration__terms-body h3 {
	color: #000;
	font-size: .8rem;
	font-weight: 700;
	margin: 0 0 3rem;
	text-align: center;
	text-transform: uppercase;
}

#wrapper .wms-registration__terms-body p,
#wrapper .wms-registration__terms-body li {
	color: #004990;
}

#wrapper .wms-registration__check {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	width: max-content;
}

#wrapper .wms-registration__actions {
	justify-content: space-between;
	margin-top: 2rem;
}

#wrapper .wms-registration__actions a,
#wrapper .wms-registration__actions button {
	align-items: center;
	border-radius: 4px;
	display: inline-flex;
	font-weight: 700;
	height: 40px;
	justify-content: center;
	line-height: 40px;
	min-height: 40px;
	min-width: 120px;
	padding: 0 16px;
	text-decoration: none;
}

#wrapper .wms-registration__actions button {
	background: #7eb4dc;
	color: #fff;
}

#wrapper .wms-registration__actions button[data-state="ready"] {
	background: #0067ac;
}

#wrapper .wms-registration__actions button:not(:disabled):hover {
	background: #0067ac;
}

#wrapper .wms-registration button.wms-registration__reveal {
	background: transparent;
	color: #0060aa;
	font-weight: 400;
	height: auto;
	line-height: normal;
	min-height: 0;
	min-width: 0;
	padding: .25rem .35rem;
}

#wrapper .wms-registration button.wms-registration__reveal:hover,
#wrapper .wms-registration button.wms-registration__reveal:focus-visible {
	background: transparent;
	color: #004990;
	text-decoration: underline;
}

#wrapper .wms-registration__actions a {
	background: #0067ac;
	color: #fff;
}

#wrapper .wms-registration__actions a:hover {
	background: #00558d;
	text-decoration: none;
}

@media (max-width: 991.98px) {
	#wrapper .f00-signin,
	#wrapper .wms-registration {
		margin-top: 1.5rem;
		padding: 1.25rem;
	}

	#wrapper .wms-registration__grid,
	#wrapper .wms-registration__field {
		grid-template-columns: 1fr;
	}

	#wrapper .wms-registration input[type="email"],
	#wrapper .wms-registration input[type="tel"],
	#wrapper .wms-registration input[type="password"],
	#wrapper .wms-registration input[type="text"] {
		width: 100%;
	}

	#wrapper .wms-registration__check {
		width: auto;
	}
}

/* Legacy parity: the legacy site's css/bootstrap.css hand-edit comments out Bootstrap's
   default anchor color (so links inherit the surrounding text color, e.g. the #004990
   headings the forms links sit in) and hovers gold. Our bootstrap.css is regenerated
   from stock SCSS on every build, so the same two rules live here, loaded after it. */
a {
	color: inherit;
}

a:hover {
	color: #FFC600;
}

.button-modern.admin-impersonation-start {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	line-height: 1.2;
	min-width: 170px;
	padding: 0 16px;
	white-space: nowrap;
	width: auto;
}

.admin-localization__progress {
	align-items: center;
	background: #eef6fb;
	border-left: 4px solid #0067ad;
	color: #23384c;
	display: flex;
	gap: .75rem;
	margin-top: .75rem;
	padding: .75rem 1rem;
}

.admin-localization__progress[hidden] {
	display: none;
}

.admin-localization__hint {
	color: #5a6b7a;
	font-size: .85rem;
	margin: .35rem 0 1rem;
}









.l10n-col-text {
	width: 32%;
}

.l10n-textarea {
	box-sizing: border-box;
	transition: min-height .15s ease-in-out;
	vertical-align: top;
	width: 100%;
}

.l10n-textarea:focus {
	min-height: 10rem;
}

.l10n-note {
	font-size: .8rem;
	margin: .35rem 0 0;
	overflow-wrap: break-word;
}

.l10n-note--machine {
	color: #6a5b00;
}

.l10n-note--live {
	color: #0067ad;
}

.member-photo-hero,
.member-photo-highlight,
.member-photo-card {
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.member-photo-hero,
.member-photo-highlight {
    aspect-ratio: 4 / 3;
}

.member-photo-card {
    aspect-ratio: 4 / 3;
}

.member-photo-hero--portrait {
    object-position: center 48%;
}

@media (max-width: 600px) {
    .cl-team-card .member-photo-card,
    .mobile-hide-img .member-photo-highlight {
        display: block;
    }
}

.vapp-video-card__content,
.vapp-video-embed {
    width: 100%;
}

.vapp-video-embed {
    aspect-ratio: 16 / 9;
    position: relative;
}

.vapp-video-embed iframe {
    border: 0;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.site-notification {
    background: #ffc600;
    color: #002269;
    position: relative;
    z-index: 1001;
}

.site-notification__content {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: center;
    min-height: 3rem;
    padding-block: 0.55rem;
    text-align: center;
}

.site-notification__content a {
    color: #002269;
    font-weight: 700;
    text-decoration: underline;
}

/* NOTE: the rule above does not actually win. The legacy theme carries
   `a:not(.btn-link):not(.text-decoration-underline):not(.more-link) { text-decoration: none }`,
   which scores (0,3,1) — higher than `.site-notification__content a` at (0,1,1) — so the bar's
   link renders as plain bold text. Rather than escalate specificity, links inside the notification
   content block carry the theme's own opt-out class, `text-decoration-underline`, which that
   selector deliberately excludes. See sql/056. Colour stays navy: the bar is #FFC600 and the
   site's link blue does not hold contrast on it. */

/* Homepage hero bottom gap on mobile (client, 2026-08-11: "Can we reduce the white space on the
   homepage? The other white space section dividers on the website are all smaller.").
   Measured at 390px: the hero carries padding-bottom 80px + margin-bottom 48px = 128px, while every
   other divider on the page is `my-3` (~16px). That is the outlier the client is pointing at.
   Halved rather than removed - the hero still needs to read as a distinct band.
   `!important` is required, not sloppiness: pb-6/mb-5 are spacing utilities and Bootstrap declares
   every one of them `!important` by design, so a plain override loses no matter its specificity. */
@media (max-width: 767.98px) {
	#wrapper .include-header.pb-6 {
		padding-bottom: 2.5rem !important;
	}

	#wrapper .include-header.mb-5 {
		margin-bottom: 1rem !important;
	}
}

/* Sign-in legacy-account note: match the site's normal link treatment so "create a new account"
   reads as a link. Client asked for it to be hyperlinked; an unstyled link is the same complaint
   Maryza raised about the participant-info link in T27. */
.body-wrapper .f00-signin__notice a,
#wrapper .f00-signin__notice a {
	color: #0060aa;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 575.98px) {
    .site-notification__content {
        align-items: stretch;
        flex-direction: column;
        gap: 0.1rem;
        line-height: 1.25;
    }
}

/* ==========================================================================
   Localization admin (/admin/localization)
   Values reuse the existing admin palette - see .admin-tool, .admin-button and
   .admin-navigation above. Nothing here introduces a new colour or radius.
   ========================================================================== */

.admin-localization__header {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.admin-localization__subtitle {
	color: #5e7183;
	font-size: 14px;
	margin: .25rem 0 0;
}

.admin-localization__header-actions {
	align-items: flex-end;
	display: flex;
	gap: 12px;
}

/* Without this the button wraps to two lines in a narrow window. */
.admin-localization__bulk-toggle {
	flex: 0 0 auto;
	white-space: nowrap;
}

.admin-localization__bulk-toggle.is-open .bi-chevron-down {
	transform: rotate(180deg);
}

/* Same wrap guard as the bulk toggle: the label must stay on one line. */
.admin-localization__flush {
	flex: 0 0 auto;
}

	.admin-localization__flush button {
		white-space: nowrap;
	}

.admin-localization__bulk {
	background: #fbfcfd;
	border-bottom: 1px solid #cbd5df;
	display: grid;
	gap: 16px;
	grid-template-columns: 220px minmax(0, 1fr);
	padding: 16px 24px;
}

.admin-localization__bulk form {
	display: contents;
}

.admin-localization__bulk .admin-localization__hint {
	align-self: center;
	margin: 0;
}

.admin-localization__bulk .admin-localization__progress {
	grid-column: 1 / -1;
}

/* ---------------------------------------------------------------- status chips */

.admin-localization__chips {
	border-bottom: 1px solid #e1e7ec;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 16px 24px 14px;
}

/* The chips are anchors inside #content, so `#content a { color: #0060aa }` (an ID selector,
   further up this file) outranks any class-only rule here no matter how many classes it carries.
   Left unscoped, the SELECTED chip rendered its label in that link blue on the navy fill --
   #0060aa on #004990 is 1.38:1, against the 4.5:1 WCAG AA needs, so the text was effectively
   invisible while its white count badge looked fine. These three rules are prefixed with #content
   purely to win that specificity contest; the colours themselves are unchanged, and white on
   #004990 is 8.91:1.

   The real fix is narrowing `#content a` so it stops ambushing admin components, but that is a
   site-wide change and this is not the place for it. */
#content .admin-localization__chip {
	align-items: center;
	background: #fff;
	border: 1px solid #cbd5df;
	border-radius: 17px;
	color: #23384c;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	gap: 8px;
	height: 34px;
	padding: 0 10px 0 12px;
	text-decoration: none;
	transition: background .14s ease, border-color .14s ease, color .14s ease;
}

#content .admin-localization__chip:hover {
	background: #e9f2f9;
	border-color: #0067ad;
	color: #003b72;
	text-decoration: none;
}

#content .admin-localization__chip.is-active {
	background: #004990;
	border-color: #004990;
	color: #fff;
}

.admin-localization__chip-count {
	background: #eef1f4;
	border-radius: 10px;
	color: #5e7183;
	font-size: 12px;
	font-weight: 700;
	padding: 2px 7px;
}

.admin-localization__chip.is-active .admin-localization__chip-count {
	background: rgba(255, 255, 255, .22);
	color: #fff;
}

/* -------------------------------------------------------------------- toolbar */

.admin-localization__toolbar {
	align-items: end;
	background: #fbfcfd;
	border-bottom: 1px solid #cbd5df;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 14px 24px;
}

.admin-localization__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	min-width: 170px;
}

.admin-localization__field--grow {
	flex: 1 1 220px;
}

.admin-localization__field-label {
	color: #5e7183;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
}

.admin-localization__field select,
.admin-localization__field input {
	border: 1px solid #8b9bab;
	border-radius: 4px;
	color: #23384c;
	font-size: 15px;
	height: 40px;
	padding: 0 10px;
	width: 100%;
}

/* ----------------------------------------------------------------- row list */

.admin-localization__list-head,
.admin-localization__row {
	display: grid;
	/* The English source must always be the widest track. A fixed key column starves it
	   below ~1200px and can collapse it to nothing. */
	grid-template-columns: minmax(110px, 1.05fr) minmax(190px, 2.2fr) 158px 26px;
	gap: 14px;
}

.admin-localization__list-head {
	background: #f4f6f8;
	color: #5e7183;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .4px;
	padding: 10px 24px;
	text-transform: uppercase;
}

.admin-localization__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.admin-localization__item {
	border-bottom: 1px solid #dfe5eb;
}

.admin-localization__row {
	align-items: center;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 14px 24px;
	text-align: left;
	width: 100%;
}

.admin-localization__row:hover {
	background: #e9f2f9;
}

.admin-localization__row:focus-visible {
	outline: 2px solid #9cc6e4;
	outline-offset: -2px;
}

.admin-localization__item.is-open .admin-localization__row {
	box-shadow: inset 4px 0 0 #0067ad;
}

.admin-localization__key {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-localization__key-prefix {
	color: #5e7183;
	opacity: .72;
}

.admin-localization__key-leaf {
	color: #23384c;
	font-weight: 700;
}

.admin-localization__source {
	color: #172b3d;
	font-size: 15px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-localization__pill {
	border-radius: 13px;
	font-size: 12.5px;
	font-weight: 700;
	justify-self: start;
	padding: 4px 10px;
	white-space: nowrap;
}

.admin-localization__pill--notstarted {
	background: #f1f4f7;
	border: 1px solid #d5dde5;
	color: #5e7183;
}

.admin-localization__pill--needsreview {
	background: #fff7e8;
	border: 1px solid #e2b66f;
	color: #845009;
}

.admin-localization__pill--edited {
	background: #e9f2f9;
	border: 1px solid #9cc6e4;
	color: #004990;
}

.admin-localization__pill--approved {
	background: #eef8f1;
	border: 1px solid #8cc7a1;
	color: #205d35;
}

.admin-localization__caret {
	color: #5e7183;
	font-size: 13px;
	transition: transform .16s ease;
}

.admin-localization__item.is-open .admin-localization__caret {
	transform: rotate(180deg);
}

/* ------------------------------------------------------------- expanded editor */

.admin-localization__panel {
	background: #fbfcfd;
	border-top: 1px solid #cbd5df;
	padding: 22px 24px 24px;
}

.admin-localization__editor {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.admin-localization__section-label {
	color: #5e7183;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.admin-localization__section-label--active {
	color: #004990;
}

.admin-localization__reference {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.admin-localization__card {
	background: #fff;
	border: 1px solid #dfe5eb;
	border-radius: 5px;
}

.admin-localization__card-head {
	align-items: center;
	border-bottom: 1px solid #eef1f4;
	color: #5e7183;
	display: flex;
	font-size: 12px;
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: .4px;
	padding: 8px 12px;
	text-transform: uppercase;
}

.admin-localization__count {
	color: #8b9bab;
	font-size: 11px;
	font-weight: 600;
}

.admin-localization__card-body {
	color: #172b3d;
	font-size: 15px;
	line-height: 1.55;
	padding: 12px;
	white-space: pre-wrap;
}

.admin-localization__card-body--muted {
	color: #3d4f60;
}

/* Clamp with a fade rather than a hard cut, so it is obvious the text continues. */
.admin-localization__card-body.is-clamped {
	max-height: 124px;
	overflow: hidden;
	position: relative;
}

.admin-localization__card-body.is-clamped::after {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
	bottom: 0;
	content: "";
	height: 46px;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
}

.admin-localization__card--live .admin-localization__card-body.is-clamped::after {
	background: linear-gradient(to bottom, rgba(244, 251, 246, 0), #f4fbf6);
}

.admin-localization__card-foot {
	border-top: 1px solid #eef1f4;
	padding: 6px 12px;
}

.admin-localization__more {
	background: none;
	border: 0;
	color: #0067ad;
	font-size: 13px;
	font-weight: 700;
	padding: 0;
	text-decoration: underline;
}

.admin-localization__card--live {
	background: #f4fbf6;
	border: 1px solid #bcdcc8;
	border-left: 4px solid #298348;
}

.admin-localization__card--live .admin-localization__card-head {
	color: #205d35;
}

.admin-localization__card--live .admin-localization__card-body {
	color: #1c4b2c;
}

.admin-localization__provenance {
	background: #e4f2e9;
	border: 1px solid #bcdcc8;
	border-radius: 10px;
	color: #205d35;
	font-size: 11px;
	padding: 2px 7px;
	text-transform: none;
}

.admin-localization__provenance.is-machine {
	background: #fff7e8;
	border-color: #e2b66f;
	color: #845009;
}

.admin-localization__card--empty {
	border: 1px dashed #cbd5df;
	color: #5e7183;
	font-size: 14px;
	padding: 14px;
}

.admin-localization__use {
	background: #fff;
	border: 1px solid #cbd5df;
	border-radius: 4px;
	color: #004990;
	font-size: 13px;
	font-weight: 700;
	height: 30px;
	padding: 0 10px;
	text-transform: none;
}

.admin-localization__use:hover {
	background: #e9f2f9;
	border-color: #0067ad;
	color: #003b72;
}

.admin-localization__edit-head {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.admin-localization__draft-chip {
	background: #f1f4f7;
	border: 1px solid #e1e7ec;
	border-radius: 10px;
	color: #8b9bab;
	font-size: 12px;
	font-weight: 700;
	padding: 2px 8px;
}

.admin-localization__draft-chip.is-draft {
	background: #e9f2f9;
	border-color: #9cc6e4;
	color: #004990;
}

/* The blue border is deliberate: this is the only enabled field in the panel. */
.admin-localization__textarea {
	border: 1px solid #0067ad;
	border-radius: 5px;
	font-size: 15px;
	line-height: 1.5;
	min-height: 196px;
	padding: 12px;
	resize: vertical;
	width: 100%;
}

.admin-localization__textarea:focus {
	box-shadow: 0 0 0 3px rgba(0, 103, 173, .10);
	outline: none;
}

/* ---------------------------------------------------------------- action bar */

.admin-localization__actions {
	border-top: 1px solid #dfe5eb;
	display: grid;
	gap: 10px;
	grid-column: 1 / -1;
	padding-top: 16px;
}

/* flex-wrap is required: without it the row overflows in a narrow window and the
   panel overflow:hidden clips the Approve button in half. */
.admin-localization__action-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
}

.admin-localization__action-row .admin-button {
	height: 44px;
	white-space: nowrap;
}

.admin-localization__action-spacer {
	margin-left: auto;
}

/* min-height stops the bar jumping as the text swaps on hover. */
.admin-localization__consequence {
	color: #5e7183;
	font-size: 13px;
	justify-self: end;
	margin: 0;
	max-width: 68ch;
	min-height: 18px;
	text-align: right;
}

.admin-localization__consequence.is-warning {
	color: #845009;
}

.admin-localization__consequence.is-muted {
	color: #8b9bab;
}

/* ------------------------------------------------------------------ pager, empty */

.admin-localization__pager {
	align-items: center;
	color: #5e7183;
	display: flex;
	font-size: 14px;
	gap: 16px;
	justify-content: space-between;
	padding: 14px 24px;
}

.admin-localization__pager-links {
	display: flex;
	gap: 16px;
}

.admin-localization__empty {
	color: #5e7183;
	padding: 24px;
}

/* -------------------------------------------------------------------- narrow */
/* Desktop-only by product decision, but a half-screen window beside the live site
   is a real case: degrade rather than break. */
@media (max-width: 900px) {
	.admin-localization__editor {
		grid-template-columns: minmax(0, 1fr);
	}

	.admin-localization__list-head,
	.admin-localization__row {
		grid-template-columns: minmax(190px, 2.2fr) 158px 26px;
	}

	.admin-localization__list-head span:first-child,
	.admin-localization__key {
		display: none;
	}

	.admin-localization__bulk {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --------------------------------------------------------------------------
   Enrollment label/value pairs: stack on narrow screens.

   These pairs render as two inline spans separated by <br /><br />, which is
   the legacy markup shape and reads fine on desktop. On a phone the label and
   value compete for one line, so the VALUE wraps mid-content: Dan reported the
   "Currently submitted Health & Welfare open enrollment election" block on an
   iPhone, where the contact phone broke as "952-555-" / "0103" and the
   submitted timestamp split across two lines. It is also ragged, because a long
   label (e.g. "Indicated Election of Coverage:") already pushes its value onto
   its own line while shorter labels do not.

   Making the label a block below 768px puts every value on its own line, which
   is consistent and never breaks a phone number. Desktop is untouched, so the
   legacy parity layout the enrollment pages were built to match is preserved.
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    .demograph_label {
        display: block;
        margin-bottom: 2px;
    }
}

/* ---------------------------------------------------------------------------
   Header row: keep the language toggle on the header line (T03b).

   .header-row is a wrapping flex row. The desktop menu runs from 992px up (the
   theme swaps to the hamburger at 991), and at 1400px the row is 1340 wide while
   the logo + nav + toggle needed 1453 in Spanish - so .header-misc, which carries
   the toggle, wrapped onto its own line under the logo.

   It is a LANGUAGE problem, not a width problem: measured at 1400px the nav is
   756px in English and 940px in Spanish, because the Spanish labels are longer
   ("Inscripcion de nuevos miembros" against "New Hire Enrollment"). English had
   62px of slack and Spanish overflowed by 113px, which is exactly why Maryza saw
   it break at full width in Spanish but only part-way narrowed in English.

   Recovering the space in the nav rather than shrinking the toggle: the toggle is
   a tap target, and the nav's 15px link padding is the largest recoverable block
   (eleven gaps of it across the bar).
   --------------------------------------------------------------------------- */
@media (min-width: 992px) {
    .primary-menu .menu-container > .menu-item > .menu-link {
        padding-left: 9px;
        padding-right: 9px;
    }

    /* Do not let the toggle be the thing that wraps. */
    .header-misc {
        flex-shrink: 0;
    }

    .cl-language-toggle button {
        white-space: nowrap;
    }
}

/* The tightest desktop band. Deliberately moderate: a harsher squeeze (4px padding,
   13.5px text, shrunken sub-labels) was measured and did NOT rescue Spanish either -
   see the note below - so it only made the bar cramped for no gain. */
@media (min-width: 992px) and (max-width: 1399.98px) {
    .primary-menu .menu-container > .menu-item > .menu-link {
        padding-left: 6px;
        padding-right: 6px;
        font-size: 14px;
    }
}

/* KNOWN RESIDUAL - Spanish, and it is a design decision rather than a CSS bug.
   Measured after this change (Health page, networkidle + fonts.ready, header row
   height 94 = one line / 134 = wrapped):
       English  992,1024,1100,1200,1280,1366,1440,1600 -> all one line. FIXED.
       Spanish  wraps at 992,1024,1100,1280,1366,1440; one line only at 1200 and 1600.
   Mobile (900,768,430,390) is unaffected in both languages, and no width scrolls
   horizontally. So this change fixes English outright and does NOT fix Spanish.
   The Spanish nav is ~180px wider than the English one because the labels are longer,
   and this theme hands off to the hamburger only at 991px, so the full bar has to fit
   from 992 up. Closing the rest needs one of two visible choices, neither of which is
   a stylesheet tweak: shorten the Spanish nav labels, or raise the hamburger
   breakpoint (it is set in the theme's minified functions.bundle.js, not in CSS).
   Tracked as T03b in .claude/site-repair/20260807/todo.md. */
