.bbbc-participant-card {
	--bbbc-color-primary: #3157e5;
	--bbbc-color-primary-hover: #2546c7;
	--bbbc-color-text: #172033;
	--bbbc-color-muted: #5d6678;
	--bbbc-color-border: #d9deea;
	--bbbc-color-surface: #ffffff;
	--bbbc-color-soft: #f5f7fc;
	--bbbc-color-info: #eef4ff;
	--bbbc-color-info-border: #9bb8ff;
	--bbbc-color-error: #a32020;
	--bbbc-color-error-background: #fff1f1;
	--bbbc-color-error-border: #e6a3a3;
	--bbbc-radius: 16px;
	--bbbc-radius-small: 9px;
	box-sizing: border-box;
	width: min(100%, 680px);
	margin: 1.5rem auto;
	padding: clamp(1.25rem, 4vw, 2rem);
	color: var(--bbbc-color-text);
	background: var(--bbbc-color-surface);
	border: 1px solid var(--bbbc-color-border);
	border-radius: var(--bbbc-radius);
	box-shadow: 0 16px 40px rgba(23, 32, 51, 0.09);
	font-family: inherit;
	line-height: 1.5;
}
.bbbc-participant-card *,
.bbbc-participant-card *::before,
.bbbc-participant-card *::after {
	box-sizing: inherit;
}
.bbbc-participant-header {
	margin: 0 0 1.5rem;
	padding: 0 0 1.25rem;
	border-bottom: 1px solid var(--bbbc-color-border);
}
.bbbc-participant-kicker {
	margin: 0 0 0.35rem;
	color: var(--bbbc-color-primary);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}
.bbbc-participant-title {
	margin: 0;
	color: var(--bbbc-color-text);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.2;
}
.bbbc-participant-intro {
	margin: 0.65rem 0 0;
	color: var(--bbbc-color-muted);
	font-size: 1rem;
}
.bbbc-participant-form {
	display: grid;
	gap: 1.25rem;
	margin: 0;
}
.bbbc-participant-field {
	display: grid;
	gap: 0.45rem;
	margin: 0;
}
.bbbc-participant-label {
	display: inline-block;
	margin: 0;
	color: var(--bbbc-color-text);
	font-size: 0.95rem;
	font-weight: 650;
	line-height: 1.4;
}
.bbbc-participant-required {
	margin-left: 0.25rem;
	color: var(--bbbc-color-error);
}
.bbbc-participant-input {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0.7rem 0.85rem;
	color: var(--bbbc-color-text);
	background: var(--bbbc-color-surface);
	border: 1px solid var(--bbbc-color-border);
	border-radius: var(--bbbc-radius-small);
	box-shadow: inset 0 1px 2px rgba(23, 32, 51, 0.04);
	font: inherit;
	line-height: 1.4;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}
.bbbc-participant-input:hover {
	border-color: #aeb7ca;
}
.bbbc-participant-input:focus-visible {
	border-color: var(--bbbc-color-primary);
	outline: 3px solid rgba(49, 87, 229, 0.2);
	outline-offset: 1px;
	box-shadow: none;
}
.bbbc-participant-help {
	margin: 0;
	color: var(--bbbc-color-muted);
	font-size: 0.84rem;
	line-height: 1.45;
}
.bbbc-participant-actions {
	margin: 0;
}
.bbbc-participant-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0;
	padding: 0.75rem 1.25rem;
	color: #ffffff;
	background: var(--bbbc-color-primary);
	border: 1px solid var(--bbbc-color-primary);
	border-radius: var(--bbbc-radius-small);
	box-shadow: 0 8px 18px rgba(49, 87, 229, 0.2);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.bbbc-participant-submit:hover {
	color: #ffffff;
	background: var(--bbbc-color-primary-hover);
	border-color: var(--bbbc-color-primary-hover);
	box-shadow: 0 10px 22px rgba(49, 87, 229, 0.26);
	transform: translateY(-1px);
}
.bbbc-participant-submit:focus-visible {
	outline: 3px solid rgba(49, 87, 229, 0.28);
	outline-offset: 3px;
}
.bbbc-participant-submit:disabled {
	cursor: wait;
	opacity: 0.7;
	transform: none;
}
.bbbc-participant-approval {
	margin: 0;
	padding: 0.9rem 1rem;
	background: var(--bbbc-color-info);
	border: 1px solid var(--bbbc-color-info-border);
	border-radius: var(--bbbc-radius-small);
}
.bbbc-participant-approval strong {
	display: block;
	margin: 0;
	color: var(--bbbc-color-text);
	font-size: 0.92rem;
}
.bbbc-participant-approval p {
	margin: 0.25rem 0 0;
	color: var(--bbbc-color-muted);
	font-size: 0.86rem;
}
.bbbc-participant-error {
	margin: 0 0 1.25rem;
	padding: 0.9rem 1rem;
	color: var(--bbbc-color-error);
	background: var(--bbbc-color-error-background);
	border: 1px solid var(--bbbc-color-error-border);
	border-left-width: 4px;
	border-radius: var(--bbbc-radius-small);
}
.bbbc-participant-error p {
	margin: 0;
	color: inherit;
	font-size: 0.92rem;
	font-weight: 600;
}
@media (max-width: 480px) {
	.bbbc-participant-card {
		margin: 1rem auto;
		padding: 1.15rem;
		border-radius: 12px;
	}
	.bbbc-participant-submit {
		width: 100%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bbbc-participant-input,
	.bbbc-participant-submit {
		transition: none;
	}
}
@media (forced-colors: active) {
	.bbbc-participant-card,
	.bbbc-participant-input,
	.bbbc-participant-submit,
	.bbbc-participant-approval,
	.bbbc-participant-error {
		border-color: CanvasText;
	}
}