.lug-icon {
	display: inline-block;
	vertical-align: middle;
	flex: 0 0 auto;
	margin-inline-end: .35em;
}

.lug-workflow {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	list-style: none;
	margin: 18px 0;
	padding: 0;
}

.lug-workflow li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
	font-size: 12px;
	line-height: 1.4;
	border-top: 3px solid var(--lug-officers-card-border, #dcdcde);
	padding-top: 12px;
	min-width: 0;
	overflow-wrap: anywhere;
}

.lug-workflow-symbol {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--lug-officers-bg-lighter, #f0f0f1);
}

.lug-workflow-symbol .lug-icon { margin: 0; }
.lug-workflow .lug-workflow-active { border-color: #2271b1; font-weight: 700; }
.lug-workflow-active .lug-workflow-symbol { background: #2271b1; color: #fff; }
.lug-workflow .lug-workflow-complete { border-color: #27803d; }
.lug-workflow-complete .lug-workflow-symbol { background: #e7f7e7; color: #006600; }

.lug-officers-admin :focus-visible,
.lug-modal :focus-visible,
.lug-officer-elections-container :focus-visible {
	outline: 3px solid #2271b1;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.lug-modal, .lug-modal-content, .lug-officer-card { animation: none; transition: none; }
}

.lug-workflow .screen-reader-text {
    position: absolute; width: 1px; height: 1px; padding: 0;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (max-width: 480px) {
    .lug-workflow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .lug-workflow li { overflow-wrap: normal; }
}
