.bem-meldung {
	max-width: 860px;
	margin: 1.5em 0;
	font-size: 15px;
}

.bem-meldung h3 {
	margin: 0 0 .5em;
}

.bem-meldung .bem-intro,
.bem-meldung .bem-club-heading {
	margin: 0 0 1em;
}

.bem-meldung .bem-field {
	margin: 0 0 .8em;
}

.bem-meldung label {
	display: inline-block;
	min-width: 90px;
	font-weight: 600;
}

.bem-meldung select,
.bem-meldung input[type="password"],
.bem-meldung input[type="text"] {
	padding: .35em .5em;
	min-width: 240px;
	max-width: 100%;
}

.bem-button {
	display: inline-block;
	padding: .5em 1.1em;
	background: #2a6db0;
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.2;
}

.bem-button:hover {
	background: #21578c;
}

.bem-button.bem-add {
	padding: .35em .8em;
}

.bem-link {
	background: none;
	border: none;
	color: #b02a2a;
	cursor: pointer;
	text-decoration: underline;
	padding: 0 0 0 .5em;
	font-size: 13px;
}

.bem-message {
	min-height: 1.2em;
	margin: .6em 0;
	font-weight: 600;
}

.bem-message.bem-ok { color: #1a7f37; }
.bem-message.bem-err,
.bem-error { color: #b02a2a; }

.bem-deadline {
	margin: 0 0 1em;
	padding: .5em .8em;
	background: #eef3f8;
	border-left: 4px solid #2a6db0;
	border-radius: 3px;
}

.bem-deadline-closed {
	background: #fbeaea;
	border-left-color: #b02a2a;
	color: #7a1c1c;
	font-weight: 600;
}

.bem-add:disabled,
.bem-remove:disabled,
.bem-ageclass:disabled {
	opacity: .5;
	cursor: not-allowed;
}

.bem-club-heading .bem-link {
	color: #2a6db0;
}

.bem-sort {
	display: flex;
	align-items: center;
	gap: .5em;
	margin: 0 0 .8em;
}

.bem-sort label {
	min-width: 0;
	font-weight: 600;
}

.bem-sort select {
	min-width: 0;
	width: auto;
	padding: .3em .5em;
}

.bem-table-wrap {
	overflow-x: auto;
}

table.bem-members {
	width: 100%;
	border-collapse: collapse;
	margin-top: .5em;
}

table.bem-members th,
table.bem-members td {
	padding: .45em .6em;
	border-bottom: 1px solid #e0e0e0;
	text-align: left;
	vertical-align: middle;
}

table.bem-members th {
	background: #f3f5f7;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .02em;
}

table.bem-members tr.is-registered {
	background: #eaf6ec;
}

table.bem-members .bem-c-name {
	font-weight: 600;
}

table.bem-members select.bem-ageclass {
	min-width: 90px;
}

.bem-status {
	display: inline-block;
	margin-left: .5em;
	color: #1a7f37;
	font-size: 13px;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.bem-meldung label { min-width: 0; display: block; margin-bottom: .2em; }
	.bem-meldung select,
	.bem-meldung input { min-width: 0; width: 100%; }
}
