/* ICPA Board elections: [icpa_board_apply] and [icpa_board_committee].
   The Speaker Hub look (0.17): ink header panel with the gold and blue
   arc, white 8px cards on a warm ground, gold primary buttons, status
   pills that carry words as well as colour, 44px touch targets, the same
   3px gold focus ring. Every rule is scoped under .board-el-apply or
   .board-el-committee. The page sits in the theme's plain shell
   (.wpband > .wpprose), whose generic form, table and list rules these
   override, so selectors carry at least two classes. No icpa- classes:
   the theme drops its page hero when it sees one. */

.board-el-apply,
.board-el-committee {
	--be-navy: #30588f;
	--be-dnavy: #232460;
	--be-mid: #5284ba;
	--be-tint: #dee7f1;
	--be-ink: #0a1220;
	--be-hair-ink: #22304a;
	--be-ground: #f3f2ef;
	--be-gold: #c9a227;
	--be-gold-b: #e3c25b;
	--be-gold-ink: #12203a;
	--be-gold-grad: linear-gradient(135deg, #a8841e 0%, #c9a227 26%, #f3da8c 50%, #c9a227 74%, #a8841e 100%);
	--be-body: #2c3a55;
	--be-meta: #4d5b76;
	--be-rule: #dfe5ef;
	--be-hair: #a7bada;
	--be-eyebrow: #44709f;
	--be-ok: #17673a;
	--be-ok-bg: #dff3e6;
	--be-warn: #7a4d00;
	--be-warn-bg: #fdecc4;
	--be-bad: #a3231b;
	--be-bad-bg: #fbe0dd;
	--be-neutral: #3d4a66;
	--be-neutral-bg: #eceff5;
	--be-radius: 4px;
	--be-card-radius: 8px;
	--be-card-shadow: 0 1px 2px rgba(10, 18, 32, .04), 0 10px 24px -18px rgba(10, 18, 32, .28);
	--be-ease: cubic-bezier(.23, 1, .32, 1);
	--be-dur: 160ms;
	--be-pad: clamp(18px, 3vw, 36px);
	display: grid;
	gap: 20px;
	margin: 0 auto;
	padding: clamp(16px, 3vw, 32px);
	color: var(--be-body);
	background: var(--be-ground);
	border-radius: var(--be-card-radius);
	font-family: var(--font-sans, "Open Sans", "Segoe UI", Arial, sans-serif);
	font-size: .9375rem;
	line-height: 1.5;
	color-scheme: light;
}
.board-el-apply,
.board-el-committee { max-width: none; }
.board-el-apply *,
.board-el-apply *::before,
.board-el-apply *::after,
.board-el-committee *,
.board-el-committee *::before,
.board-el-committee *::after { box-sizing: border-box; }
.board-el-committee [hidden] { display: none !important; }
.board-el-apply p,
.board-el-committee p { margin: 0; }
.board-el-apply a,
.board-el-committee a { color: var(--be-navy); text-underline-offset: 2px; }
@media (hover: hover) {
	.board-el-apply a:hover,
	.board-el-committee a:hover { color: var(--be-ink); }
}
.board-el-apply :is(a, button, input, select, textarea, summary):focus-visible,
.board-el-committee :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--be-gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
	.board-el-apply *,
	.board-el-committee * { transition: none !important; animation: none !important; }
}
.board-el-apply .board-el-sr,
.board-el-committee .board-el-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.board-el-apply .board-el-i,
.board-el-committee .board-el-i { flex: none; width: 16px; height: 16px; }

/* ---------- type ---------- */
.board-el-apply .board-el-eyebrow,
.board-el-committee .board-el-eyebrow {
	margin: 0;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--be-eyebrow);
}
.board-el-apply .board-el-h,
.board-el-committee .board-el-h {
	margin: 4px 0 0;
	font-family: inherit;
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--be-dnavy);
}
.board-el-apply .board-el-small,
.board-el-committee .board-el-small { display: block; font-size: .8125rem; color: var(--be-meta); }
.board-el-committee .board-el-text { line-height: 1.65; max-width: 70ch; }
.board-el-committee .board-el-text + .board-el-small { margin-top: 10px; }

/* ---------- ink header panel ---------- */
.board-el-apply .board-el-head,
.board-el-committee .board-el-head {
	position: relative;
	padding: 34px var(--be-pad) 0;
	color: #fff;
	background: var(--be-ink);
	border-radius: var(--be-card-radius);
	overflow: hidden;
	isolation: isolate;
}
.board-el-apply .board-el-head::before,
.board-el-committee .board-el-head::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(1000px 420px at 85% -10%, rgba(48, 88, 143, .45), transparent 62%);
}
.board-el-apply .board-el-arc,
.board-el-committee .board-el-arc {
	position: absolute;
	right: -20px;
	top: 0;
	z-index: -1;
	width: min(560px, 70%);
	height: 100%;
	opacity: .9;
	pointer-events: none;
}
.board-el-apply .board-el-head .board-el-eyebrow,
.board-el-committee .board-el-head .board-el-eyebrow { color: var(--be-gold-b); }
.board-el-apply .board-el-head__title,
.board-el-committee .board-el-head__title {
	margin: 10px 0 12px;
	max-width: 22ch;
	font-family: inherit;
	font-size: clamp(1.75rem, 3.8vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.01em;
	color: #fff;
	text-wrap: balance;
}
.board-el-apply .board-el-head__lead,
.board-el-committee .board-el-head__lead { max-width: 58ch; font-size: .98rem; color: #d3dbea; }
.board-el-apply .board-el-head a:not(.board-el-btn),
.board-el-committee .board-el-head a:not(.board-el-btn) { color: #fff; }
@media (hover: hover) {
	.board-el-apply .board-el-head a:not(.board-el-btn):hover,
	.board-el-committee .board-el-head a:not(.board-el-btn):hover { color: var(--be-gold-b); }
}
.board-el-apply .board-el-head__when,
.board-el-committee .board-el-head__done {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font-weight: 700;
	color: var(--be-gold-b);
}
.board-el-committee .board-el-head__done { margin: 0; min-height: 44px; }
.board-el-committee .board-el-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 14px;
	margin: 20px 0 30px;
}
/* The person header: headshot beside the name, no strip, closes under the CTA. */
.board-el-committee .board-el-head--person {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding-bottom: 30px;
}
.board-el-committee .board-el-head--person .board-el-cta { margin-bottom: 0; }
.board-el-committee .board-el-head__body { flex: 1; min-width: 0; }
.board-el-committee .board-el-head__photo {
	flex: none;
	width: 112px;
	height: 112px;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid var(--be-gold-b);
}
.board-el-committee .board-el-head--person .board-el-pills { margin-top: 14px; }
@media (max-width: 640px) {
	.board-el-committee .board-el-head--person { flex-direction: column; gap: 16px; }
	.board-el-committee .board-el-head__photo { width: 88px; height: 88px; }
}

/* Stat strip, inside the committee header. */
.board-el-committee .board-el-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 calc(-1 * var(--be-pad));
	border-top: 1px solid var(--be-hair-ink);
}
.board-el-committee .board-el-stat {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0 14px;
	align-items: center;
	min-width: 0;
	padding: 18px clamp(18px, 3vw, 28px) 20px;
	border-left: 1px solid var(--be-hair-ink);
}
.board-el-committee .board-el-stat:first-child { border-left: 0; }
.board-el-committee .board-el-stat .board-el-i { grid-row: span 2; width: 24px; height: 24px; color: var(--be-gold-b); }
.board-el-committee .board-el-stat__n {
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1.1;
	color: #fff;
	font-variant-numeric: tabular-nums;
}
.board-el-committee .board-el-stat__l { font-size: .8rem; color: #a9b8d2; }
@media (max-width: 760px) {
	.board-el-committee .board-el-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.board-el-committee .board-el-stat:nth-child(odd) { border-left: 0; }
	.board-el-committee .board-el-stat:nth-child(n+3) { border-top: 1px solid var(--be-hair-ink); }
}
@media (max-width: 640px) {
	.board-el-committee .board-el-stat { padding: 16px 14px; gap: 0 10px; }
	.board-el-committee .board-el-stat__n { font-size: 1.45rem; }
}

/* Three steps, inside the apply header where the strip would sit. */
.board-el-apply .board-el-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 28px calc(-1 * var(--be-pad)) 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--be-hair-ink);
}
.board-el-apply .board-el-steps li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 2px 12px;
	align-content: start;
	margin: 0;
	padding: 18px clamp(18px, 3vw, 28px) 22px;
	border-left: 1px solid var(--be-hair-ink);
}
.board-el-apply .board-el-steps li::before,
.board-el-apply .board-el-steps li::marker { content: none; }
.board-el-apply .board-el-steps li:first-child { border-left: 0; }
.board-el-apply .board-el-steps .board-el-i { grid-row: span 3; width: 24px; height: 24px; color: var(--be-gold-b); }
.board-el-apply .board-el-steps__n { font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--be-gold-b); }
.board-el-apply .board-el-steps__t { font-size: 1.05rem; font-weight: 800; color: #fff; }
.board-el-apply .board-el-steps__d { font-size: .82rem; line-height: 1.45; color: #a9b8d2; }
@media (max-width: 700px) {
	.board-el-apply .board-el-steps { grid-template-columns: 1fr; }
	.board-el-apply .board-el-steps li { border-left: 0; border-top: 1px solid var(--be-hair-ink); }
	.board-el-apply .board-el-steps li:first-child { border-top: 0; }
}

/* ---------- buttons ---------- */
.board-el-apply .board-el-btn,
.board-el-committee .board-el-btn,
.board-el-apply .board-el-formcard .gform_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 22px;
	font: inherit;
	font-size: .86rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--be-gold-ink);
	background: var(--be-gold-grad);
	border: 0;
	border-radius: var(--be-radius);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 8px 22px -10px rgba(201, 162, 39, .8);
	text-decoration: none;
	cursor: pointer;
	transition: transform 120ms var(--be-ease), filter var(--be-dur) var(--be-ease), background-color var(--be-dur) var(--be-ease);
}
@media (hover: hover) {
	.board-el-apply .board-el-btn:hover,
	.board-el-committee .board-el-btn:hover,
	.board-el-apply .board-el-formcard .gform_button:hover { color: var(--be-gold-ink); filter: brightness(1.07); }
}
.board-el-apply .board-el-btn:active,
.board-el-committee .board-el-btn:active { transform: scale(.97); }
/* Ghost for light surfaces, outline for the ink panel. Neither carries the gold. */
.board-el-apply .board-el-btn--ghost,
.board-el-committee .board-el-btn--ghost {
	color: var(--be-dnavy);
	background: #fff;
	border: 1px solid var(--be-hair);
	box-shadow: none;
	font-weight: 700;
}
@media (hover: hover) {
	.board-el-apply .board-el-btn--ghost:hover,
	.board-el-committee .board-el-btn--ghost:hover { color: var(--be-dnavy); background: var(--be-tint); filter: none; }
}
.board-el-apply .board-el-btn--outline,
.board-el-committee .board-el-btn--outline {
	color: #fff;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: none;
	font-weight: 700;
}
@media (hover: hover) {
	.board-el-apply .board-el-btn--outline:hover,
	.board-el-committee .board-el-btn--outline:hover { color: #fff; background: rgba(255, 255, 255, .1); filter: none; }
}
.board-el-committee .board-el-btn--sm { min-height: 36px; padding: 6px 14px; font-size: .8rem; white-space: nowrap; }

/* ---------- pills ---------- */
.board-el-committee .board-el-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.board-el-committee .board-el-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	border-radius: 99px;
	color: var(--be-neutral);
	background: var(--be-neutral-bg);
}
.board-el-committee .board-el-pill .board-el-i { width: 14px; height: 14px; }
.board-el-committee .board-el-pill--ok { color: var(--be-ok); background: var(--be-ok-bg); }
.board-el-committee .board-el-pill--warn { color: var(--be-warn); background: var(--be-warn-bg); }
.board-el-committee .board-el-pill--bad { color: var(--be-bad); background: var(--be-bad-bg); }
.board-el-committee .board-el-pill--tint { color: var(--be-dnavy); background: var(--be-tint); }

/* ---------- cards ---------- */
.board-el-apply .board-el-card,
.board-el-committee .board-el-card {
	margin: 0;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid var(--be-rule);
	border-radius: var(--be-card-radius);
	box-shadow: var(--be-card-shadow);
	overflow-wrap: anywhere;
}
.board-el-committee .board-el-card > .board-el-eyebrow + * { margin-top: 10px; }
.board-el-committee .board-el-card--flush { padding: 0; overflow: hidden; }
.board-el-committee .board-el-card__h { padding: 20px 22px 14px; }
.board-el-apply .board-el-card__sub,
.board-el-committee .board-el-card__sub { margin: 4px 0 0; font-size: .86rem; color: var(--be-meta); }
.board-el-committee #board-el-score .board-el-card__sub { margin-bottom: 14px; }
@media (max-width: 640px) {
	.board-el-apply .board-el-card,
	.board-el-committee .board-el-card { padding: 16px 14px; }
	.board-el-committee .board-el-card--flush { padding: 0; }
	.board-el-committee .board-el-card__h { padding: 16px 14px 12px; }
}

/* Gate (committee page, not on the committee). */
.board-el-committee .board-el-gate { display: flex; gap: 14px; align-items: flex-start; }
.board-el-committee .board-el-gate > .board-el-i { width: 24px; height: 24px; margin-top: 4px; color: var(--be-navy); }
.board-el-committee .board-el-gate .board-el-h { margin: 0 0 6px; }

/* Empty state. */
.board-el-committee .board-el-empty {
	display: grid;
	justify-items: center;
	gap: 8px;
	padding: 36px 22px 40px;
	text-align: center;
	border-top: 1px solid var(--be-rule);
}
.board-el-committee .board-el-empty > .board-el-i { width: 32px; height: 32px; color: var(--be-hair); }
.board-el-committee .board-el-empty h3 { margin: 0; font-size: 1.05rem; font-weight: 800; color: var(--be-dnavy); }
.board-el-committee .board-el-empty p { max-width: 46ch; color: var(--be-meta); }
.board-el-committee .board-el-empty .board-el-btn { margin-top: 8px; }

/* ---------- notices and boxes ---------- */
.board-el-committee .board-el-notice,
.board-el-apply .board-el-verified,
.board-el-apply .board-el-box {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 12px 16px;
	font-weight: 600;
	border: 1px solid;
	border-radius: var(--be-radius);
}
.board-el-committee .board-el-notice .board-el-i,
.board-el-apply .board-el-verified .board-el-i,
.board-el-apply .board-el-box .board-el-i { margin-top: 2px; }
.board-el-committee .board-el-notice--ok,
.board-el-apply .board-el-verified { color: var(--be-ok); background: var(--be-ok-bg); border-color: var(--be-ok); }
.board-el-committee .board-el-notice--err { color: var(--be-bad); background: var(--be-bad-bg); border-color: var(--be-bad); }
.board-el-apply .board-el-box { color: var(--be-dnavy); background: var(--be-tint); border-color: var(--be-hair); font-weight: 400; }
.board-el-apply .board-el-box--stop { color: var(--be-warn); background: var(--be-warn-bg); border-color: #c9a227; }
.board-el-apply .board-el-box a { color: inherit; font-weight: 700; text-decoration: underline; }
.board-el-apply .board-el-box p + p { margin-top: .6em; }

/* ---------- apply page: the form card ---------- */
.board-el-apply .board-el-formcard { padding: 26px clamp(16px, 3vw, 32px) 30px; }
.board-el-apply .board-el-formcard > .board-el-h { margin-bottom: 18px; }
.board-el-apply .board-el-formcard > .board-el-verified,
.board-el-apply .board-el-formcard > .board-el-box { margin-bottom: 20px; }
.board-el-apply .board-el-login { max-width: 420px; }
.board-el-apply .board-el-login :is(input[type="text"], input[type="password"], input[type="email"]) {
	width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	font: inherit;
	border: 1px solid var(--be-hair);
	border-radius: var(--be-radius);
}
.board-el-apply .board-el-login :is(input[type="submit"], button[type="submit"]) {
	min-height: 44px;
	padding: 8px 22px;
	font: inherit;
	font-weight: 800;
	color: var(--be-gold-ink);
	background: var(--be-gold-grad);
	border: 0;
	border-radius: var(--be-radius);
	cursor: pointer;
}
/* Gravity Forms html fields, renamed from icpa-be-* as the form prints. */
.board-el-apply .board-el-gf-intro { color: var(--be-body); line-height: 1.6; }
.board-el-apply .board-el-gf-heading {
	margin: 18px 0 0;
	padding-top: 22px;
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--be-dnavy);
	border-top: 1px solid var(--be-rule);
}
.board-el-apply .board-el-gf-note {
	padding: 12px 16px;
	font-size: .875rem;
	color: var(--be-dnavy);
	background: var(--be-tint);
	border-radius: var(--be-radius);
}
.board-el-apply .board-el-formcard .gfield_label,
.board-el-apply .board-el-formcard .gform-field-label { font-weight: 700; color: var(--be-dnavy); }
.board-el-apply .board-el-formcard .gfield_description { color: var(--be-meta); }
.board-el-apply .board-el-formcard :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
	min-height: 44px;
	font: inherit;
	border: 1px solid var(--be-hair);
	border-radius: var(--be-radius);
}
.board-el-apply .board-el-formcard :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--be-dnavy); }
.board-el-apply .board-el-formcard .gform_footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--be-rule); }

/* ---------- committee list: filters and table ---------- */
.board-el-committee .board-el-filters {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
	gap: 12px 16px;
	align-items: end;
	padding: 14px 22px 16px;
	background: #f8f9fc;
	border-top: 1px solid var(--be-rule);
	border-bottom: 1px solid var(--be-rule);
}
.board-el-committee .board-el-filters label {
	display: grid;
	gap: 4px;
	margin: 0;
	font-size: .8125rem;
	font-weight: 600;
	color: var(--be-meta);
}
.board-el-committee :is(.board-el-filters, .board-el-status-form) select,
.board-el-committee .board-el-notes textarea {
	width: 100%;
	min-height: 44px;
	padding: 8px 10px;
	font: inherit;
	font-size: .9rem;
	color: var(--be-body);
	background: #fff;
	border: 1px solid var(--be-hair);
	border-radius: var(--be-radius);
}
.board-el-committee .board-el-tablewrap { overflow-x: auto; }
.board-el-committee .board-el-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: .9375rem;
	background: #fff;
	border: 0;
}
.board-el-committee .board-el-table th,
.board-el-committee .board-el-table td {
	padding: 12px;
	text-align: left;
	vertical-align: middle;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--be-rule);
}
.board-el-committee .board-el-table :is(th, td):first-child { padding-left: 22px; }
.board-el-committee .board-el-table :is(th, td):last-child { padding-right: 22px; }
.board-el-committee .board-el-table thead th {
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--be-meta);
	background: #f8f9fc;
	white-space: nowrap;
}
.board-el-committee .board-el-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.board-el-committee .board-el-table th button {
	all: unset;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 28px;
	cursor: pointer;
}
.board-el-committee .board-el-table th button::after { content: "\2195"; font-size: .8rem; opacity: .4; }
.board-el-committee .board-el-table th[aria-sort="ascending"] button::after { content: "\2191"; opacity: 1; }
.board-el-committee .board-el-table th[aria-sort="descending"] button::after { content: "\2193"; opacity: 1; }
.board-el-committee .board-el-table th button:focus-visible { outline: 3px solid var(--be-gold); outline-offset: 2px; }
@media (hover: hover) {
	.board-el-committee .board-el-table th button:hover { color: var(--be-dnavy); }
	.board-el-committee .board-el-table[data-board-el-table] tbody tr:hover td { background: #fafbfd; }
}
.board-el-committee .board-el-who { display: flex; align-items: center; gap: 12px; min-width: 14rem; }
.board-el-committee .board-el-who > div { display: grid; min-width: 0; }
.board-el-committee .board-el-who__name { font-weight: 700; color: var(--be-dnavy); text-decoration: none; }
@media (hover: hover) {
	.board-el-committee .board-el-who__name:hover { color: var(--be-navy); text-decoration: underline; }
}
.board-el-committee .board-el-who__sub { font-size: .8125rem; color: var(--be-meta); }
.board-el-committee .board-el-thumb {
	flex: none;
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 50%;
}
.board-el-committee .board-el-thumb--none {
	display: inline-grid;
	place-items: center;
	font-size: .8rem;
	font-weight: 800;
	color: var(--be-dnavy);
	background: var(--be-tint);
}
.board-el-committee .board-el-avg { display: block; font-weight: 800; color: var(--be-dnavy); font-variant-numeric: tabular-nums; }
.board-el-committee .board-el-act { text-align: right; white-space: nowrap; }
.board-el-committee .board-el-table--scores td { font-variant-numeric: tabular-nums; vertical-align: top; }
.board-el-committee .board-el-table--scores tbody th { font-weight: 700; color: var(--be-dnavy); white-space: nowrap; vertical-align: top; }
.board-el-committee .board-el-table--scores td:last-child { min-width: 16rem; color: var(--be-meta); }

/* Election files: one row per download. */
.board-el-committee .board-el-files { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--be-rule); }
.board-el-committee .board-el-files li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 0;
	padding: 16px 22px;
	border-bottom: 1px solid var(--be-rule);
}
.board-el-committee .board-el-files li::before,
.board-el-committee .board-el-files li::marker { content: none; }
.board-el-committee .board-el-files li:last-child { border-bottom: 0; }
.board-el-committee .board-el-files li > div { flex: 1 1 22rem; min-width: 0; }
.board-el-committee .board-el-files h3 { margin: 0 0 4px; font-size: 1rem; font-weight: 800; color: var(--be-dnavy); }
.board-el-committee .board-el-files p { font-size: .875rem; color: var(--be-meta); max-width: 70ch; }
@media (max-width: 640px) {
	.board-el-committee .board-el-filters { padding: 12px 14px; }
	.board-el-committee .board-el-files li { padding: 14px; }
	.board-el-committee .board-el-table :is(th, td):first-child { padding-left: 14px; }
}

/* ---------- committee detail ---------- */
.board-el-committee .board-el-back { margin: 0; }
.board-el-committee .board-el-back a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	font-weight: 700;
	text-decoration: none;
}
.board-el-committee .board-el-detail {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
	gap: 20px;
	align-items: start;
}
.board-el-committee .board-el-detail__main,
.board-el-committee .board-el-detail__side { display: grid; gap: 20px; min-width: 0; }
@media (max-width: 900px) {
	.board-el-committee .board-el-detail { grid-template-columns: minmax(0, 1fr); }
	.board-el-committee .board-el-detail__side { order: -1; }
}
.board-el-committee .board-el-answers { display: grid; gap: 0; }
.board-el-committee .board-el-answers > div { padding: 14px 0; border-top: 1px solid var(--be-rule); }
.board-el-committee .board-el-answers > div:first-child { padding-top: 4px; border-top: 0; }
.board-el-committee .board-el-answers h3 { margin: 0 0 6px; font-size: .95rem; font-weight: 800; line-height: 1.35; color: var(--be-dnavy); }
.board-el-committee .board-el-bignum {
	font-size: 2.2rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--be-dnavy);
	font-variant-numeric: tabular-nums;
}
.board-el-committee .board-el-card > .board-el-small + p:not(.board-el-small) { margin-top: 10px; }
.board-el-committee .board-el-status-now + .board-el-small { margin-top: 8px; }
.board-el-committee .board-el-facts { display: grid; gap: 10px; margin: 12px 0; }
.board-el-committee .board-el-facts > div { display: grid; gap: 1px; }
.board-el-committee .board-el-facts dt { font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--be-meta); }
.board-el-committee .board-el-facts dd { margin: 0; font-weight: 600; color: var(--be-body); }

/* Status form. */
.board-el-committee .board-el-status-form { display: grid; gap: 14px; margin-top: 14px; }
.board-el-committee .board-el-field { display: grid; gap: 4px; margin: 0; font-size: .8125rem; font-weight: 600; color: var(--be-meta); }
.board-el-committee .board-el-checks {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--be-rule);
	border-radius: var(--be-radius);
}
.board-el-committee .board-el-checks legend { padding: 0 4px; font-size: .8125rem; font-weight: 700; color: var(--be-meta); }
.board-el-committee .board-el-checks label { display: flex; align-items: center; gap: 8px; min-height: 32px; font-weight: 600; }
.board-el-committee input[type="checkbox"],
.board-el-committee input[type="radio"] { accent-color: var(--be-dnavy); }
.board-el-committee input[type="checkbox"] { width: 18px; height: 18px; margin: 0; }

/* Score sheet. */
.board-el-committee .board-el-scale {
	margin: 0 0 18px;
	border: 1px solid var(--be-rule);
	border-radius: var(--be-radius);
	background: #f8f9fc;
}
.board-el-committee .board-el-scale summary {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	font-weight: 700;
	color: var(--be-navy);
	cursor: pointer;
}
.board-el-committee .board-el-scale dl { display: grid; gap: 8px; margin: 0; padding: 4px 14px 14px; }
.board-el-committee .board-el-scale dt { font-weight: 800; color: var(--be-dnavy); }
.board-el-committee .board-el-scale dd { margin: 0; font-size: .875rem; color: var(--be-meta); }
.board-el-committee .board-el-score-form { display: grid; gap: 14px; }
.board-el-committee .board-el-q {
	margin: 0;
	padding: 14px 16px 16px;
	border: 1px solid var(--be-rule);
	border-radius: var(--be-card-radius);
}
.board-el-committee .board-el-q legend { padding: 0 6px; font-weight: 800; color: var(--be-dnavy); }
.board-el-committee .board-el-q > .board-el-small { margin-bottom: 12px; }
/* Five score chips: the radio is real (and keyboard-reachable), the chip is its label. */
.board-el-committee .board-el-radios { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.board-el-committee .board-el-radios label { position: relative; display: block; margin: 0; cursor: pointer; }
.board-el-committee .board-el-radios input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}
.board-el-committee .board-el-radios span {
	display: grid;
	justify-items: center;
	gap: 2px;
	min-height: 56px;
	padding: 8px 4px;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: var(--be-meta);
	background: #fff;
	border: 1px solid var(--be-hair);
	border-radius: var(--be-radius);
	transition: background-color var(--be-dur) var(--be-ease), border-color var(--be-dur) var(--be-ease), color var(--be-dur) var(--be-ease);
}
.board-el-committee .board-el-radios b { font-size: 1.15rem; font-weight: 800; color: var(--be-dnavy); }
@media (hover: hover) {
	.board-el-committee .board-el-radios label:hover span { background: var(--be-tint); }
}
.board-el-committee .board-el-radios input:checked + span { color: #fff; background: var(--be-dnavy); border-color: var(--be-dnavy); }
.board-el-committee .board-el-radios input:checked + span b { color: var(--be-gold-b); }
.board-el-committee .board-el-radios input:focus-visible + span { outline: 3px solid var(--be-gold); outline-offset: 2px; }
@media (max-width: 520px) {
	.board-el-committee .board-el-radios span { font-size: 0; min-height: 48px; align-content: center; }
	.board-el-committee .board-el-radios b { font-size: 1.15rem; }
}
.board-el-committee .board-el-notes { display: grid; gap: 4px; margin: 0; font-size: .8125rem; font-weight: 600; color: var(--be-meta); }
.board-el-committee .board-el-notes textarea { min-height: 7rem; resize: vertical; }
.board-el-committee .board-el-submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--be-rule);
}
.board-el-committee .board-el-total { font-size: 1.05rem; font-weight: 700; color: var(--be-meta); }
.board-el-committee .board-el-total span { font-size: 1.4rem; font-weight: 800; color: var(--be-dnavy); font-variant-numeric: tabular-nums; }

/* ---------- page frame (0.2.1) ----------
   The plugin's ink header panel is the page's hero, so under
   body.board-el-page (frontend-ui.php) the theme's title band and
   breadcrumb go, as Speaker Hub does with body.sh-herop. The theme's
   .siteheader is absolute and transparent so it can float over that band;
   with the band gone it would float over the panel and eat its clicks, so
   it goes sticky with an ink nav row at the theme's scrolled size. The
   warm ground fills the band edge to edge and the panels fill the frame:
   the 880px cap left wide white margins either side. */
body.board-el-page .phero--wp,
body.board-el-page .crumbs { display: none; }
body.board-el-page .siteheader,
body.board-el-page .siteheader.is-stuck { position: sticky; top: 0; }
body.board-el-page .siteheader .nav { padding-top: 12px; padding-bottom: 12px; background: var(--icpa-ink); border-bottom: 1px solid var(--icpa-ink-hairline); }
body.board-el-page .siteheader .nav__logo { width: 150px; }
body.board-el-page .wpband { padding: 28px var(--frame) 72px; background: #f3f2ef; }
body.board-el-page .board-el-apply,
body.board-el-page .board-el-committee { padding: 0; border-radius: 0; }

/* ---------- apply page: form beside the side panel ---------- */
.board-el-apply .board-el-applygrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	gap: 20px;
	align-items: start;
}
.board-el-apply .board-el-aside { position: sticky; top: 125px; padding: 24px clamp(16px, 2.4vw, 28px) 26px; }
.board-el-apply .board-el-aside > .board-el-h { margin-bottom: 6px; }
.board-el-apply .board-el-aside__h {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 6px;
	padding-top: 16px;
	font-size: .95rem;
	font-weight: 800;
	color: var(--be-dnavy);
	border-top: 1px solid var(--be-rule);
}
.board-el-apply .board-el-aside__h .board-el-i { color: var(--be-navy); }
.board-el-apply .board-el-aside__list { margin: 0; padding-left: 1.1em; font-size: .875rem; }
.board-el-apply .board-el-aside__list li + li { margin-top: 4px; }
.board-el-apply .board-el-aside__p { font-size: .875rem; }
.board-el-apply .board-el-aside a { color: var(--be-navy); font-weight: 700; }
@media (max-width: 1000px) {
	.board-el-apply .board-el-applygrid { grid-template-columns: minmax(0, 1fr); }
	/* Read before the form on a narrow screen. */
	.board-el-apply .board-el-aside { position: static; order: -1; }
}
.board-el-apply .board-el-gf-sub { margin-top: 6px; font-size: .875rem; color: var(--be-meta); }
/* The mission question (field 17) prints the mission as its description,
   placed "above" in the form. GF still puts the label first, so the
   description moves ahead of the question here and reads as a panel. */
.board-el-apply .board-el-formcard .gfield.field_description_above { display: flex; flex-direction: column; }
.board-el-apply .board-el-formcard .gfield.field_description_above > .gfield_description {
	order: -1;
	margin: 0 0 14px;
	padding: 14px 18px;
	font-size: .9375rem;
	line-height: 1.55;
	color: var(--be-dnavy);
	background: var(--be-tint);
	border-radius: var(--be-radius);
}
