/* Backend der zentralen Benutzerverwaltung */

.svbv-wrap .svbv-version {
	font-size: 12px;
	font-weight: 400;
	color: #646970;
	vertical-align: middle;
}

.svbv-wrap .nav-tab-wrapper {
	margin-bottom: 18px;
}

.svbv-tabelle {
	margin-top: 12px;
}

.svbv-tabelle th,
.svbv-tabelle td {
	vertical-align: top;
}

.svbv-zeilenaktionen {
	white-space: nowrap;
}

.svbv-zeilenaktionen form {
	display: inline-block;
	margin-left: 10px;
}

.svbv-loeschen {
	color: #b32d2e;
	cursor: pointer;
}

.svbv-inaktiv {
	color: #b32d2e;
}

/* Hinweis, wenn eine der drei Kontoangaben keine Pflicht mehr ist (ab 3.1.0). */
.svbv-warnung {
	border-left: 4px solid #dba617;
	background: #fcf9e8;
	padding: 8px 12px;
	margin: 12px 0;
}

.svbv-registrierung-formular .svbv-fehler {
	color: #b32d2e;
}

.svbv-suche {
	margin: 12px 0;
}

.svbv-aktionen {
	margin-top: 14px;
}

.svbv-abstand {
	margin-top: 18px;
}

.svbv-klein {
	margin-left: 10px;
	font-size: 12px;
}

.svbv-liste {
	margin-left: 18px;
	list-style: disc;
}

.svbv-formular .form-table th {
	width: 220px;
}

/* Rollenzeilen im Kontoformular */
.svbv-wrap .svbv-rollen {
	margin: 0;
	border-collapse: collapse;
}

.svbv-wrap .svbv-rollen td {
	padding: 4px 12px 4px 0;
	vertical-align: middle;
}

.svbv-wrap .svbv-rollen td:first-child {
	white-space: nowrap;
}

/* Mehrere Schaltflaechen bzw. Felder in einer Zeile */
.svbv-wrap .svbv-inline {
	display: inline-block;
	margin: 0 6px 6px 0;
	vertical-align: middle;
}

/* Sammelaktion in der Kontenliste */
.svbv-massenaktion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 12px 0;
}

.svbv-massenaktion .description {
	max-width: 640px;
	margin: 0;
}

.svbv-markiert-anzahl {
	font-style: italic;
}

.svbv-tabelle td.check-column,
.svbv-tabelle th.check-column {
	width: 2.2em;
	padding: 8px 0 8px 3px;
	vertical-align: middle;
}

/* Vormerkungen aus Entra ID (ab 2.2.0) */
.svbv-vormerkungen {
	margin: 14px 0;
	padding: 12px 14px;
	border: 1px solid #c3c4c7;
	border-left: 4px solid #2271b1;
	background: #fff;
}

.svbv-vormerkungen h3 {
	margin: 0 0 8px;
}

.svbv-vormerkungen .svbv-tabelle {
	margin-bottom: 8px;
}

.svbv-vormerkungen .svbv-inline {
	margin: 0 4px 0 0;
}

.svbv-abgelehnt {
	margin: 18px 0;
}

/* Ausgegraute Eintraege in den Entra-Listen */
.svbv-tabelle tr.svbv-ausgegraut td,
.svbv-tabelle tr.svbv-ausgegraut th {
	color: #8c8f94;
	background: #f6f7f7;
}

.svbv-tabelle tr.svbv-ausgegraut strong {
	font-weight: 400;
}

.svbv-hinweis-frist {
	max-width: 780px;
}

/* Formular der Zeilenaktionen: enthält nur versteckte Felder. */
.svbv-zeilenformular {
	margin: 0;
	padding: 0;
}

/* Gruppenprüfung: zwei Zeilen je Eintrag (ab 2.5.5), je Konto ab 2.6.1 */
.svbv-gruppen-umschalter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 12px 0;
}

.svbv-gruppen-umschalter .description {
	max-width: 640px;
	margin: 0;
}

/* Beide Zeilen eines Eintrags tragen die gleiche Hintergrundfarbe. */
.svbv-tabelle tr.svbv-gruppen-kopf > td,
.svbv-tabelle tr.svbv-gruppen-kopf > th,
.svbv-tabelle tr.svbv-gruppen-fuss > td {
	background: #fff;
}

/* Erste Zeile ohne unteren Trennstrich; der Strich oben trennt die Eintraege. */
.svbv-tabelle tr.svbv-gruppen-kopf > td,
.svbv-tabelle tr.svbv-gruppen-kopf > th {
	border-bottom: 0;
	border-top: 1px solid #c3c4c7;
	box-shadow: none;
	padding-bottom: 4px;
}

/* Zweite Zeile ohne Zellenrahmen. */
.svbv-tabelle tr.svbv-gruppen-fuss > td {
	border: 0;
	box-shadow: none;
	padding: 0 10px 12px 10px;
}

/* Beanstandete Einträge ohne Gruppe. */
.svbv-tabelle tr.svbv-gruppen-kopf.svbv-gruppen-offen > td,
.svbv-tabelle tr.svbv-gruppen-kopf.svbv-gruppen-offen > th,
.svbv-tabelle tr.svbv-gruppen-fuss.svbv-gruppen-offen > td {
	background: #fcf0f1;
}

.svbv-gruppen-marke {
	margin-left: 6px;
	font-weight: 600;
	color: #b32d2e;
}

/* Zweite Zeile: erst der Bereich "Plugins", danach der Bereich "Gruppen". */
.svbv-gruppen-zeile {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px 24px;
}

.svbv-gruppen-bereich {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 4px 12px;
	min-width: 0;
}

/* Je Plugin mit Gruppenpflicht ein eigener beschrifteter Block. */
.svbv-gruppen-block {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	padding: 2px 8px;
	border-left: 3px solid #dcdcde;
}

.svbv-gruppen-block-titel {
	font-weight: 600;
}

/* Plugin mit Gruppenpflicht, aber ohne gesetzte Gruppe. */
.svbv-gruppen-fluss .svbv-gruppe-offen {
	border-color: #b32d2e;
	border-radius: 3px;
	background: #fcf0f1;
	font-weight: 600;
}

/* Alle Gruppen von links nach rechts, mit Umbruch. */
.svbv-gruppen-fluss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
}

.svbv-gruppen-beschriftung {
	font-weight: 600;
	color: #646970;
}

.svbv-gruppen-fluss .svbv-gruppe {
	margin: 0;
	padding: 1px 6px;
	border: 1px solid transparent;
	white-space: nowrap;
}

/* Aktivierte Gruppen hervorheben. */
.svbv-gruppen-fluss .svbv-gruppe-aktiv {
	border-color: #2271b1;
	border-radius: 3px;
	background: #eaf3fb;
	font-weight: 600;
}

/* -------------------------------------------------------------------- */
/* Ansicht der Kontenübersicht (ab 2.9.0)                               */
/* -------------------------------------------------------------------- */

.svbv-ansicht {
	position: relative;
	margin: 12px 0 0;
}

.svbv-ansicht-menue {
	position: absolute;
	z-index: 20;
	top: 100%;
	left: 0;
	min-width: 280px;
	margin-top: 4px;
	padding: 12px 14px;
	border: 1px solid #c3c4c7;
	border-radius: 3px;
	background: #fff;
	box-shadow: 0 2px 6px rgba( 0, 0, 0, 0.12 );
}

.svbv-ansicht-liste {
	margin: 8px 0 10px;
	padding: 0;
	list-style: none;
}

.svbv-ansicht-liste li {
	margin: 0 0 4px;
}

.svbv-ansicht-fuss {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 6px;
}

.svbv-ansicht-hinweis {
	max-width: 320px;
	margin: 0;
}

/* Feste Aufteilung, damit das Ziehen der Breiten zuverlässig wirkt. */
.svbv-kontentabelle {
	table-layout: fixed;
}

.svbv-kontentabelle th,
.svbv-kontentabelle td {
	overflow-wrap: break-word;
	word-break: break-word;
}

.svbv-kontentabelle thead th.svbv-spalte {
	position: relative;
	padding-right: 14px;
}

.svbv-kontentabelle thead th.svbv-spalte a.svbv-spalten-sortierung {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	color: inherit;
	text-decoration: none;
}

.svbv-kontentabelle thead th.svbv-spalte a.svbv-spalten-sortierung:hover .svbv-spalten-titel {
	text-decoration: underline;
}

.svbv-kontentabelle thead th.svbv-spalte .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	line-height: 16px;
}

/* Ohne aktive Sortierung bleibt der Pfeil blass. */
.svbv-kontentabelle thead th.svbv-spalte .svbv-sortierung-frei {
	visibility: hidden;
	color: #8c8f94;
}

.svbv-kontentabelle thead th.svbv-spalte:hover .svbv-sortierung-frei,
.svbv-kontentabelle thead th.svbv-spalte:focus-within .svbv-sortierung-frei {
	visibility: visible;
}

.svbv-kontentabelle thead th.svbv-sortiert {
	background: #f0f6fc;
}

/* Griff am rechten Rand der Kopfzelle. */
.svbv-breite-griff {
	position: absolute;
	top: 0;
	right: 0;
	width: 8px;
	height: 100%;
	cursor: col-resize;
	user-select: none;
}

.svbv-breite-griff::after {
	position: absolute;
	top: 20%;
	right: 3px;
	width: 1px;
	height: 60%;
	background: #c3c4c7;
	content: "";
}

body.svbv-zieht {
	cursor: col-resize;
	user-select: none;
}

.svbv-haken {
	color: #007017;
}

.svbv-kein-haken {
	color: #646970;
}

/* Ab 3.0.0: Registrierungen und Kontoarten. */
.svbv-abschnitt {
	margin: 24px 0 8px;
	padding-bottom: 4px;
	border-bottom: 1px solid #dcdcde;
}

.svbv-registrierungen {
	margin: 0 0 24px;
}

.svbv-registrierungen .svbv-registrierung-werte {
	margin: 0;
	padding: 0;
	list-style: none;
}

.svbv-registrierungen .svbv-registrierung-werte li {
	margin: 0 0 2px;
}

.svbv-nicht-gepflegt {
	color: #646970;
	font-style: italic;
}

.svbv-registrierungen-erledigt > summary {
	cursor: pointer;
	padding: 6px 0;
	font-weight: 600;
}

.svbv-kontoart {
	display: inline-block;
	padding: 1px 8px;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	background: #f6f7f7;
	font-size: 11px;
}
