/**
 * REGEL 7 – Einheitliche Größen (seit 2.42.0, Modul 29).
 * Die drei Werte stehen NUR hier. Neue Module verwenden die Variablen bzw.
 * tragen ihre Klassen in die Listen unten ein.
 * !important nur für Maße: Module und Theme sollen die Höhe nicht ändern.
 */
:root {
	--gfcwm-btn-h: 34px;      /* Knopf normal: Aktionen */
	--gfcwm-btn-h-sm: 26px;   /* Knopf klein: Filter, Seitenzahlen, Tabellenzellen */
	--gfcwm-badge-h: 22px;    /* Badge */
}

/* Knöpfe normal */
.gfcwm-claims-btn,
.gfcwm-claims-modal-btn,
.gfcwm-claims .gfcwm-claims-upload button,
.gfcwm-cust-back-btn,
.gfcwm-cust-broker-btn,
.gfcwm-cust-edit-toggle,
.gfcwm-cust-save-btn,
.gfcwm-cust-cancel-btn,
.gfcwm-cust-assign-btn,
.gfcwm-cust-export-btn,
.gfcwm-cust-filter-btn,
.gfcwm-cust-mail-btn,
.gfcwm-cust-modal-btn,
.gfcwm-cust-profile .gfcwm-aktion-btn,
.gfcwm-kpi-btn,
.gfcwm-my-action,
.gfcwm-my-profile-edit,
.gfcwm-my-profile-save,
.gfcwm-my-profile-cancel,
.gfcwm-my-modal-actions button,
.gfcwm-view-switch,
.gfcwm-vertragsliste-btn {
	display: inline-flex !important;
	column-gap: .3em; /* Seit 2.43.1: Abstand Text ↔ Zahl/Symbol (Flex schluckt Leerzeichen). */
	align-items: center !important;
	justify-content: center;
	box-sizing: border-box !important;
	height: var(--gfcwm-btn-h) !important;
	min-height: var(--gfcwm-btn-h) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	max-width: 100%;
	overflow: hidden;
	vertical-align: middle;
	text-decoration: none;
}

/* Knöpfe klein */
.gfcwm-cust-status-btn,
.gfcwm-cust-page-btn,
.gfcwm-claims-docbtn,
.gfcwm-claims-pages a,
.gfcwm-claims-pages span {
	display: inline-flex !important;
	column-gap: .3em; /* Seit 2.43.1: Abstand Text ↔ Zahl/Symbol (Flex schluckt Leerzeichen). */
	align-items: center !important;
	justify-content: center;
	box-sizing: border-box !important;
	height: var(--gfcwm-btn-h-sm) !important;
	min-height: var(--gfcwm-btn-h-sm) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	vertical-align: middle;
}

/* Badges: eine Höhe, immer einzeilig */
.gfcwm-cust-badge,
.gfcwm-claims-badge,
.gfcwm-claims-status {
	display: inline-block !important;
	box-sizing: border-box !important;
	height: var(--gfcwm-badge-h) !important;
	max-width: 100%;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	font-size: 12px !important;
	line-height: var(--gfcwm-badge-h) !important;
	white-space: nowrap !important;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: middle;
}
/* Badges mit 1-px-Rahmen: Text trotzdem mittig */
.gfcwm-cust-badge { line-height: calc(var(--gfcwm-badge-h) - 2px) !important; }

/* =========================================================================
 * Optik (seit 2.42.2, Entscheidung 06.10.2026): Vorbild ist das
 * Vertragsprofil [gfcwm_customer_profile]. Drei Knopfarten, eine
 * Badge-Form mit Farbvarianten. Farben und Schrift ebenfalls mit
 * !important, weil das Theme Knöpfe sonst umfärbt.
 * ========================================================================= */
:root {
	--gfcwm-ui-primary: var(--gfcwm-primary, #0073aa);
	--gfcwm-ui-secondary-bg: #f0f0f0;
	--gfcwm-ui-secondary-hover: #e0e0e0;
	--gfcwm-ui-secondary-text: #333;
}

/* Gemeinsam: Schrift, Ecken, kein Theme-Schmuck */
.gfcwm-claims-btn, .gfcwm-claims-modal-btn, .gfcwm-claims .gfcwm-claims-upload button,
.gfcwm-cust-back-btn, .gfcwm-cust-broker-btn, .gfcwm-cust-edit-toggle, .gfcwm-cust-save-btn,
.gfcwm-cust-cancel-btn, .gfcwm-cust-assign-btn, .gfcwm-cust-export-btn, .gfcwm-cust-filter-btn, .gfcwm-cust-mail-btn, .gfcwm-km-status-btn, .gfcwm-cust-modal-btn,
.gfcwm-kpi-btn, .gfcwm-my-action, .gfcwm-my-profile-edit, .gfcwm-my-profile-save,
.gfcwm-my-profile-cancel, .gfcwm-my-modal-actions button, .gfcwm-view-switch, .gfcwm-vertragsliste-btn,
.gfcwm-cust-status-btn, .gfcwm-cust-page-btn, .gfcwm-claims-docbtn, .gfcwm-claims-pages a, .gfcwm-claims-pages span {
	padding-left: 12px !important;
	padding-right: 12px !important;
	border-radius: 4px !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

/* 1) Primär – gefüllt in der Hauptfarbe (Speichern, Senden, Anzeigen) */
.gfcwm-claims-btn:not(.is-secondary), .gfcwm-claims-modal-btn--primary, .gfcwm-cust-save-btn,
.gfcwm-cust-assign-btn, .gfcwm-cust-modal-btn--primary, .gfcwm-kpi-btn:not(.gfcwm-kpi-btn--secondary),
.gfcwm-my-profile-save, .gfcwm-my-modal-actions .is-primary, .gfcwm-vertragsliste-btn,
.gfcwm-cust-status-btn--active, .gfcwm-cust-page-btn--active, .gfcwm-claims-pages span.is-current {
	border: 1px solid var(--gfcwm-ui-primary) !important;
	background: var(--gfcwm-ui-primary) !important;
	color: #fff !important;
}
.gfcwm-claims-btn:not(.is-secondary):hover, .gfcwm-claims-modal-btn--primary:hover, .gfcwm-cust-save-btn:hover,
.gfcwm-cust-assign-btn:hover, .gfcwm-cust-modal-btn--primary:hover, .gfcwm-kpi-btn:not(.gfcwm-kpi-btn--secondary):hover,
.gfcwm-my-profile-save:hover, .gfcwm-my-modal-actions .is-primary:hover, .gfcwm-vertragsliste-btn:hover {
	opacity: .85;
	color: #fff !important;
	filter: none;
}

/* 2) Sekundär – hellgrau (Bearbeiten, Export, Aktionen, Abbrechen, Filter) */
.gfcwm-claims-btn.is-secondary, .gfcwm-claims-modal-btn--secondary, .gfcwm-claims .gfcwm-claims-upload button,
.gfcwm-cust-broker-btn, .gfcwm-cust-edit-toggle, .gfcwm-cust-cancel-btn, .gfcwm-cust-export-btn, .gfcwm-cust-filter-btn, .gfcwm-cust-mail-btn, .gfcwm-km-status-btn,
.gfcwm-cust-modal-btn--secondary, .gfcwm-kpi-btn--secondary, .gfcwm-my-action, .gfcwm-my-profile-edit,
.gfcwm-my-profile-cancel, .gfcwm-my-modal-actions .is-cancel,
.gfcwm-cust-status-btn:not(.gfcwm-cust-status-btn--active), .gfcwm-claims-docbtn {
	border: 1px solid var(--gfcwm-ui-secondary-bg) !important;
	background: var(--gfcwm-ui-secondary-bg) !important;
	color: var(--gfcwm-ui-secondary-text) !important;
}
.gfcwm-claims-btn.is-secondary:hover, .gfcwm-claims-modal-btn--secondary:hover, .gfcwm-claims .gfcwm-claims-upload button:hover,
.gfcwm-cust-broker-btn:hover, .gfcwm-cust-edit-toggle:hover, .gfcwm-cust-cancel-btn:hover, .gfcwm-cust-export-btn:hover, .gfcwm-cust-filter-btn:hover, .gfcwm-cust-mail-btn:hover, .gfcwm-km-status-btn:hover,
.gfcwm-cust-modal-btn--secondary:hover, .gfcwm-kpi-btn--secondary:hover, .gfcwm-my-action:hover, .gfcwm-my-profile-edit:hover,
.gfcwm-my-profile-cancel:hover, .gfcwm-my-modal-actions .is-cancel:hover,
.gfcwm-cust-status-btn:not(.gfcwm-cust-status-btn--active):hover, .gfcwm-claims-docbtn:hover {
	border-color: var(--gfcwm-ui-secondary-hover) !important;
	background: var(--gfcwm-ui-secondary-hover) !important;
	color: var(--gfcwm-ui-secondary-text) !important;
	filter: none;
	opacity: 1;
}

/* 3) Umriss – weiß mit Rahmen (Zurück, Ansicht umstellen, Seitenzahlen) */
.gfcwm-cust-back-btn, .gfcwm-claims-btn.gfcwm-claims-back, .gfcwm-view-switch,
.gfcwm-cust-page-btn:not(.gfcwm-cust-page-btn--active), .gfcwm-claims-pages a {
	border: 1px solid var(--gfcwm-ui-primary) !important;
	background: #fff !important;
	color: var(--gfcwm-ui-primary) !important;
}
.gfcwm-cust-back-btn:hover, .gfcwm-claims-btn.gfcwm-claims-back:hover, .gfcwm-view-switch:hover,
.gfcwm-cust-page-btn:not(.gfcwm-cust-page-btn--active):hover, .gfcwm-claims-pages a:hover {
	background: var(--gfcwm-ui-primary) !important;
	color: #fff !important;
	filter: none;
}
/* Auslassung in der Seitenleiste ist kein Knopf */
.gfcwm-claims-pages span:not(.is-current) {
	border: 0 !important;
	background: transparent !important;
	color: #646970 !important;
	cursor: default;
}

/* Gesperrt */
.gfcwm-claims-btn:disabled, .gfcwm-cust-save-btn:disabled, .gfcwm-cust-assign-btn:disabled,
.gfcwm-kpi-btn:disabled, .gfcwm-my-profile-save:disabled {
	opacity: .6 !important;
	cursor: not-allowed;
}

/* Badges – Form wie „Aktiv / Storniert / Schaden“ im Vertragsprofil */
.gfcwm-cust-badge, .gfcwm-claims-badge, .gfcwm-claims-status {
	padding-left: 9px !important;
	padding-right: 9px !important;
	border: 1px solid transparent !important;
	border-radius: 3px !important;
	font-weight: 700 !important;
	line-height: calc(var(--gfcwm-badge-h) - 2px) !important;
	text-decoration: none !important;
}
/* grün: Aktiv, verknüpft, vorhanden */
.gfcwm-cust-badge--active, .gfcwm-claims-badge.is-ok {
	background: #edfaef !important; color: #1e6b30 !important; border-color: #a6d9b0 !important;
}
/* rot: Storniert, prüfen, nicht vorhanden */
.gfcwm-cust-badge--storno, .gfcwm-claims-badge.is-open {
	background: #fdecec !important; color: #a52a2c !important; border-color: #f0b3b4 !important;
}
/* gelb: Schaden */
.gfcwm-cust-badge--claim {
	background: #fff6d5 !important; color: #7a5a00 !important; border-color: #f0d77a !important;
}
/* grau: neutral (nicht zuordenbar, Vertrag storniert-Hinweis) */
.gfcwm-claims-badge.is-no {
	background: #f0f0f1 !important; color: #50575e !important; border-color: #dcdcde !important;
}
/* blau: Status eines Schadens, Produkt-Badge (z. B. „2.0“) */
.gfcwm-claims-status, .gfcwm-cust-badge--product {
	background: #eef4fa !important; color: #1d4f7a !important; border-color: #c5d9ed !important;
}

/* Seit 2.42.5: Abstand des Produkt-Badges zur Versicherungsnummer */
.gfcwm-cust-badge--product { margin-left: 5px; }
/* Seit 2.42.5 (OP 39): Datei fehlt auf dem Server – durchgestrichen, nicht klickbar */
.gfcwm-claims-docbtn.is-missing,
.gfcwm-claims-docbtn.is-missing:hover {
	border-color: #f0b3b4 !important;
	background: #fdecec !important;
	color: #a52a2c !important;
	cursor: not-allowed;
}
.gfcwm-claims-docbtn.is-missing s { text-decoration-thickness: 2px; }
.gfcwm-claims .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* =========================================================================
 * OP 36 (seit 2.42.6, Freigabe 07.10.2026): REGEL 7 auch für die als
 * abgeschlossen markierten Module – nur Optik, Code der Module unverändert:
 * Vermittler-/Pool-Liste, Vermittler-/Pool-Profil mit Aktionskarte,
 * Sammelmail, „Neuer Vermittler“, Inline-Bearbeitung, Mail-Vorschau,
 * OP-Liste (Vermittler-Zuordnung), CSV-Import, Makler-Karte.
 * ========================================================================= */

/* Größe normal (34 px) */
.gfcwm-aktion-btn, .gfcwm-btn-primary, .gfcwm-btn-secondary, .gfcwm-bulk-btn, .gfcwm-create-user-btn,
.gfcwm-csv-btn, .gfcwm-orphan-btn, .gfcwm-bmap-go, .gfcwm-bmap-locate, .gfcwm-accordion-toggle, .gfcwm-back-btn {
	display: inline-flex !important;
	column-gap: .3em; /* Seit 2.43.1: Abstand Text ↔ Zahl/Symbol (Flex schluckt Leerzeichen). */
	align-items: center !important;
	justify-content: center;
	box-sizing: border-box !important;
	height: var(--gfcwm-btn-h) !important;
	min-height: var(--gfcwm-btn-h) !important;
	padding: 0 12px !important;
	border-radius: 4px !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	vertical-align: middle;
	cursor: pointer;
}
/* Aufklapp-Knopf „Verträge ansehen“ bleibt volle Breite */
.gfcwm-accordion-toggle, .gfcwm-vertragsliste-btn { display: flex !important; justify-content: space-between; width: 100%; padding: 0 16px !important; }

/* Größe klein (26 px): Filter, Seitenzahlen, Platzhalter-Chips */
.gfcwm-badge-filter-btn, .gfcwm-cust-filter2-btn, .gfcwm-page-btn, .gfcwm-merge-tag-btn {
	display: inline-flex !important;
	column-gap: .3em; /* Seit 2.43.1: Abstand Text ↔ Zahl/Symbol (Flex schluckt Leerzeichen). */
	align-items: center !important;
	justify-content: center;
	box-sizing: border-box !important;
	height: var(--gfcwm-btn-h-sm) !important;
	min-height: var(--gfcwm-btn-h-sm) !important;
	padding: 0 10px !important;
	border-radius: 4px !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	vertical-align: middle;
	cursor: pointer;
}

/* Ansicht umschalten (☰ / ▦): quadratisch, Symbol bleibt groß */
.gfcwm-layout-btn {
	display: inline-flex !important;
	column-gap: .3em; /* Seit 2.43.1: Abstand Text ↔ Zahl/Symbol (Flex schluckt Leerzeichen). */
	align-items: center !important;
	justify-content: center;
	box-sizing: border-box !important;
	width: var(--gfcwm-btn-h) !important;
	height: var(--gfcwm-btn-h) !important;
	padding: 0 !important;
	border-radius: 4px !important;
	line-height: 1 !important;
}

/* Primär */
.gfcwm-aktion-btn:not(.gfcwm-aktion-btn--secondary), .gfcwm-btn-primary, .gfcwm-bulk-btn--primary,
.gfcwm-create-user-btn, .gfcwm-csv-btn:not(.gfcwm-csv-btn-plain), .gfcwm-orphan-btn--primary, .gfcwm-bmap-go,
.gfcwm-accordion-toggle, .gfcwm-page-btn--active, .gfcwm-layout-btn--active,
.gfcwm-badge-filter-btn--active[data-badge=""], .gfcwm-cust-filter2-btn--active {
	border: 1px solid var(--gfcwm-ui-primary) !important;
	background: var(--gfcwm-ui-primary) !important;
	color: #fff !important;
}
.gfcwm-aktion-btn:not(.gfcwm-aktion-btn--secondary):hover, .gfcwm-btn-primary:hover, .gfcwm-bulk-btn--primary:hover,
.gfcwm-create-user-btn:hover, .gfcwm-csv-btn:not(.gfcwm-csv-btn-plain):hover, .gfcwm-orphan-btn--primary:hover,
.gfcwm-bmap-go:hover, .gfcwm-accordion-toggle:hover {
	opacity: .85;
	color: #fff !important;
}

/* Sekundär */
.gfcwm-aktion-btn--secondary, .gfcwm-btn-secondary, .gfcwm-bulk-btn:not(.gfcwm-bulk-btn--primary),
.gfcwm-csv-btn-plain, .gfcwm-orphan-btn:not(.gfcwm-orphan-btn--primary),
.gfcwm-badge-filter-btn:not(.gfcwm-badge-filter-btn--active), .gfcwm-cust-filter2-btn:not(.gfcwm-cust-filter2-btn--active) {
	border: 1px solid var(--gfcwm-ui-secondary-bg) !important;
	background: var(--gfcwm-ui-secondary-bg) !important;
	color: var(--gfcwm-ui-secondary-text) !important;
}
.gfcwm-aktion-btn--secondary:hover, .gfcwm-btn-secondary:hover, .gfcwm-bulk-btn:not(.gfcwm-bulk-btn--primary):hover,
.gfcwm-csv-btn-plain:hover, .gfcwm-orphan-btn:not(.gfcwm-orphan-btn--primary):hover,
.gfcwm-badge-filter-btn:not(.gfcwm-badge-filter-btn--active):hover, .gfcwm-cust-filter2-btn:not(.gfcwm-cust-filter2-btn--active):hover {
	border-color: var(--gfcwm-ui-secondary-hover) !important;
	background: var(--gfcwm-ui-secondary-hover) !important;
	color: var(--gfcwm-ui-secondary-text) !important;
	opacity: 1;
}

/* Umriss: Zurück, Standort, Seitenzahlen, Ansicht, Platzhalter */
.gfcwm-back-btn, .gfcwm-bmap-locate, .gfcwm-page-btn:not(.gfcwm-page-btn--active),
.gfcwm-layout-btn:not(.gfcwm-layout-btn--active), .gfcwm-merge-tag-btn {
	border: 1px solid var(--gfcwm-ui-primary) !important;
	background: #fff !important;
	color: var(--gfcwm-ui-primary) !important;
}
.gfcwm-back-btn:hover, .gfcwm-bmap-locate:hover, .gfcwm-page-btn:not(.gfcwm-page-btn--active):hover,
.gfcwm-layout-btn:not(.gfcwm-layout-btn--active):hover, .gfcwm-merge-tag-btn:hover {
	background: var(--gfcwm-ui-primary) !important;
	color: #fff !important;
}

/* Gesperrt */
.gfcwm-aktion-btn:disabled, .gfcwm-btn-primary:disabled, .gfcwm-bulk-btn:disabled, .gfcwm-csv-btn:disabled, .gfcwm-orphan-btn:disabled {
	opacity: .6 !important;
	cursor: not-allowed;
}

/* Badges: Status NL / FD / OK in der Vermittlerliste, Fehlerzähler im Import */
.gfcwm-status-badge, .gfcwm-csv-badge {
	display: inline-block !important;
	box-sizing: border-box !important;
	height: var(--gfcwm-badge-h) !important;
	padding: 0 9px !important;
	border: 1px solid transparent !important;
	border-radius: 3px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: calc(var(--gfcwm-badge-h) - 2px) !important;
	white-space: nowrap !important;
	vertical-align: middle;
}
.gfcwm-status-badge--ok { background: #edfaef !important; color: #1e6b30 !important; border-color: #a6d9b0 !important; }
.gfcwm-status-badge--missing { background: #fff6d5 !important; color: #7a5a00 !important; border-color: #f0d77a !important; }
.gfcwm-status-badge--newsletter { background: #fdf0e6 !important; color: #9a4a12 !important; border-color: #f2c39d !important; }
.gfcwm-csv-badge { background: #fdecec !important; color: #a52a2c !important; border-color: #f0b3b4 !important; }

/* =========================================================================
 * OP 60 (seit 2.42.7): Einladung an unbekannte Vermittler
 * ========================================================================= */
.gfcwm-cust-invite { margin: 10px 0 0; }
.gfcwm-cust-invite-form { margin: 0; }
.gfcwm-cust-invite-info,
.gfcwm-cust-invite-msg { margin: 6px 0 0; font-size: 11px; line-height: 1.4; color: #555; }
.gfcwm-cust-invite-msg { color: #1e7e34; font-weight: 600; }
.gfcwm-cust-invite-msg.is-error { color: #b32d2e; }
.gfcwm-cust-modal.gfcwm-cust-invite-modal { max-width: 560px; }
.gfcwm-cust-invite-meta { margin: 0 0 10px; font-size: 13px; line-height: 1.5; word-break: break-word; }
.gfcwm-cust-invite-preview {
	max-height: 45vh;
	overflow: auto;
	margin: 0 0 20px;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fafafa;
	font-size: 13px;
	line-height: 1.5;
	white-space: pre-wrap;
	word-break: break-word;
}

/* Seit 2.42.8: Hinweis im Titel der Karte „Status“ (Schaden-Einzelansicht) */
.gfcwm-claims-area-note { font-weight: 400; font-style: italic; text-transform: none; letter-spacing: normal; color: #8a5a00; }

/* =========================================================================
 * Seit 2.43.0: Filter der Kundenliste (nur Verwaltung) – Pop-up
 * ========================================================================= */
.gfcwm-cust-filter-btn.is-active { border-color: var(--gfcwm-ui-primary) !important; color: var(--gfcwm-ui-primary) !important; }
.gfcwm-cust-filter-count { margin-left: 2px; font-weight: 700; }
.gfcwm-cust-filter-overlay {
	position: fixed; inset: 0; z-index: 100000;
	display: flex; align-items: center; justify-content: center;
	padding: 16px; background: rgba(0, 0, 0, .45);
}
.gfcwm-cust-filter-modal {
	box-sizing: border-box; width: 100%; max-width: 740px; max-height: calc(100vh - 32px);
	display: flex; flex-direction: column;
	padding: 24px; border-radius: 6px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
	font-size: 13px; color: #333;
}
.gfcwm-cust-filter-title { margin: 0 0 14px; font-size: 15px; }
.gfcwm-cust-filter-title span { font-size: 12px; color: #777; }
.gfcwm-cust-filter-rows { overflow: auto; margin: 0 -4px; padding: 0 4px; }
.gfcwm-cust-filter-row {
	display: grid; grid-template-columns: 190px 1fr; gap: 10px; align-items: center;
	padding: 7px 0 7px 8px; border-bottom: 1px solid #eee; border-left: 3px solid transparent;
}
/* Seit 2.50.1: Umschalter „ist / nicht“ vor dem Wert */
.gfcwm-cust-filter-op {
	position: relative; display: inline-flex; flex: none; box-sizing: border-box;
	height: var(--gfcwm-btn-h); border: 1px solid #ccc; border-radius: 4px; overflow: hidden; cursor: pointer; user-select: none;
	font-size: 12px; line-height: 1;
}
.gfcwm-cust-filter-op input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.gfcwm-cust-filter-op span { display: inline-flex; align-items: center; padding: 0 9px; color: #888; background: #fff; white-space: nowrap; }
.gfcwm-cust-filter-op span + span { border-left: 1px solid #ccc; }
.gfcwm-cust-filter-op .gfcwm-cust-filter-op-a { background: #e8f1f8; color: #0a4b78; font-weight: 600; }
.gfcwm-cust-filter-op input:checked ~ .gfcwm-cust-filter-op-a { background: #fff; color: #888; font-weight: 400; }
.gfcwm-cust-filter-op input:checked ~ .gfcwm-cust-filter-op-b { background: #a52a2c; color: #fff; font-weight: 600; }
.gfcwm-cust-filter-op:focus-within { outline: 2px solid var(--gfcwm-ui-primary); outline-offset: 1px; }
.gfcwm-cust-filter-row:has(.gfcwm-cust-filter-op input:checked) { border-left-color: #a52a2c; background: #fdf6f6; }
.gfcwm-cust-filter-row--multi .gfcwm-cust-filter-ctrl { align-items: flex-start; }
.gfcwm-cust-filter-row--multi .gfcwm-cust-filter-checks { flex: 1 1 260px; }
.gfcwm-cust-filter-label { font-weight: 600; font-size: 12px; }
.gfcwm-cust-filter-ctrl { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.gfcwm-cust-filter-ctrl input,
.gfcwm-cust-filter-ctrl select {
	box-sizing: border-box; height: var(--gfcwm-btn-h); min-height: var(--gfcwm-btn-h);
	padding: 0 8px; border: 1px solid #ccc; border-radius: 4px; background: #fff;
	font-size: 13px; font-family: inherit; color: #333; margin: 0;
}
.gfcwm-cust-filter-ctrl select,
.gfcwm-cust-filter-ctrl input[data-part="q"] { flex: 1; min-width: 160px; }
.gfcwm-cust-filter-ctrl input[type="date"] { width: 150px; }
.gfcwm-cust-filter-ctrl input[inputmode="decimal"] { width: 110px; }
.gfcwm-cust-filter-sep { color: #777; font-size: 12px; }
/* Seit 2.48.0: Mehrfachauswahl (Produkt, Pool) als Häkchen */
.gfcwm-cust-filter-row--multi { align-items: start; }
.gfcwm-cust-filter-row--multi .gfcwm-cust-filter-label { padding-top: 4px; }
.gfcwm-cust-filter-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 4px 12px; max-height: 190px; overflow: auto; }
.gfcwm-cust-filter-check { display: flex; align-items: center; gap: 6px; min-height: 24px; font-size: 13px; cursor: pointer; line-height: 1.25; }
.gfcwm-cust-filter-ctrl .gfcwm-cust-filter-check input[type="checkbox"] { width: 16px; height: 16px; min-height: 0; padding: 0; margin: 0; flex: none; }
.gfcwm-cust-filter-actions { display: flex; gap: 8px; margin-top: 18px; }
.gfcwm-cust-filter-actions button { flex: 1; }
.gfcwm-cust-filter-active {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
	margin: -6px 0 14px; font-size: 12px;
}
.gfcwm-cust-filter-active[hidden] { display: none; }
.gfcwm-cust-filter-lead { font-weight: 600; color: #555; }
.gfcwm-cust-filter-chip {
	display: inline-flex; align-items: center; gap: 4px; box-sizing: border-box;
	height: var(--gfcwm-badge-h); padding: 0 4px 0 9px; border-radius: 11px;
	background: #e8f1f8; color: #0a4b78; white-space: nowrap;
}
.gfcwm-cust-filter-x {
	display: inline-flex; align-items: center; justify-content: center;
	width: 18px; height: 18px; min-height: 0; padding: 0 !important; margin: 0;
	border: 0 !important; border-radius: 50%; background: transparent !important;
	color: #0a4b78 !important; font-size: 14px; line-height: 1; cursor: pointer; box-shadow: none !important;
}
.gfcwm-cust-filter-x:hover { background: rgba(10, 75, 120, .15) !important; }
.gfcwm-cust-filter-clear {
	padding: 0 !important; margin: 0 0 0 4px; border: 0 !important; background: none !important;
	color: var(--gfcwm-ui-primary) !important; font-size: 12px; text-decoration: underline; cursor: pointer; box-shadow: none !important;
}
@media (max-width: 600px) {
	.gfcwm-cust-filter-row { grid-template-columns: 1fr; gap: 4px; }
	.gfcwm-cust-filter-modal { padding: 16px; }
}

/* Seit 2.43.1: Abstand zwischen Reitertext und Zahl (Schadenliste) */
.gfcwm-claims-tab .n { margin-left: 6px; }


/* =========================================================================
 * Modul 34: Kunden-Mail (seit 2.49.0)
 * ========================================================================= */
.gfcwm-cust-mail-btn { margin-right: 8px; }
.gfcwm-km-status-btn {
	display: inline-flex !important; align-items: center !important; box-sizing: border-box !important;
	height: var(--gfcwm-btn-h-sm) !important; min-height: var(--gfcwm-btn-h-sm) !important;
	padding-top: 0 !important; padding-bottom: 0 !important; white-space: nowrap !important;
}
.gfcwm-km-modal { max-width: 720px; }
.gfcwm-km-body { overflow: auto; margin: 0 -4px; padding: 0 4px; }
.gfcwm-km-kind { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.gfcwm-km-kind label { display: flex; align-items: baseline; gap: 6px; cursor: pointer; }
.gfcwm-km-kind input[disabled] + strong { opacity: .5; }
.gfcwm-km-hint { margin: 0 0 8px; padding: 6px 10px; border-left: 3px solid #e0b400; background: #fffaf0; font-size: 12px; }
.gfcwm-km-hint[hidden] { display: none; }
.gfcwm-km-label { display: block; margin: 10px 0 4px; font-weight: 600; font-size: 12px; }
.gfcwm-km-subject, .gfcwm-km-text {
	box-sizing: border-box; width: 100%; padding: 6px 8px; border: 1px solid #ccc; border-radius: 4px;
	font-family: inherit; font-size: 13px; color: #333; background: #fff; margin: 0;
}
.gfcwm-km-subject { height: var(--gfcwm-btn-h); }
.gfcwm-km-text { min-height: 150px; resize: vertical; line-height: 1.45; }
.gfcwm-km-ph { margin: 4px 0 0; font-size: 12px; color: #777; }
.gfcwm-km-preview { margin-top: 12px; padding: 10px 12px; border: 1px solid #e3e6ea; border-radius: 4px; background: #fafbfc; }
.gfcwm-km-preview[hidden] { display: none; }
.gfcwm-km-sel { margin: 0 0 6px; font-size: 12px; color: #555; }
.gfcwm-km-stats { margin: 0 0 8px; padding-left: 18px; font-size: 13px; }
.gfcwm-km-final { margin-top: 4px; }
.gfcwm-km-sample { padding: 8px 10px; border: 1px solid #e3e6ea; border-radius: 4px; background: #fff; max-height: 220px; overflow: auto; }
.gfcwm-km-sample p { margin: 0 0 6px; }
.gfcwm-km-sample pre { margin: 0; white-space: pre-wrap; word-break: break-word; font-family: inherit; font-size: 13px; }
.gfcwm-km-actions { flex-wrap: wrap; }
.gfcwm-km-actions button[disabled] { opacity: .45; cursor: not-allowed; }
.gfcwm-km-msg { min-height: 1.2em; margin-top: 8px; font-size: 12px; color: #1e6b30; }
.gfcwm-km-msg.is-error { color: #a52a2c; }
.gfcwm-km-status { display: flex; flex-direction: column; gap: 6px; margin: -6px 0 14px; }
.gfcwm-km-status[hidden] { display: none; }
.gfcwm-km-status-row {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	padding: 8px 10px; border: 1px solid #a6d9b0; border-left: 4px solid #1e6b30; border-radius: 4px; background: #edfaef; font-size: 12px;
}
.gfcwm-km-status-text { flex: 1 1 260px; }
.gfcwm-km-bar { flex: 0 0 120px; height: 6px; border-radius: 3px; background: #cfe8d4; overflow: hidden; }
.gfcwm-km-bar span { display: block; height: 100%; background: #1e6b30; }
.gfcwm-km-contract { margin-top: 18px; }
.gfcwm-km-contract-title { margin: 0 0 8px; font-size: 15px; }
.gfcwm-km-contract-list { margin: 0; padding-left: 18px; font-size: 13px; }
.gfcwm-km-contract-out { margin: 0 0 6px; color: #a52a2c; font-size: 13px; }
.gfcwm-km-err { color: #a52a2c; }
@media (max-width: 600px) {
	.gfcwm-km-actions button { flex: 1 1 45%; }
}

/* =========================================================================
 * Modul 44: Sammeländerung in der Vertragsliste (seit 2.69.0)
 * ========================================================================= */
.gfcwm-be-modal { max-width: 820px; }
.gfcwm-be-row {
	display: grid; grid-template-columns: minmax(150px, 1.2fr) 150px minmax(160px, 2fr) 34px; gap: 8px; align-items: start;
	padding: 8px 0; border-bottom: 1px solid #eee;
}
.gfcwm-be-row select, .gfcwm-be-row input[type="text"] {
	box-sizing: border-box; width: 100%; height: var(--gfcwm-btn-h); min-height: var(--gfcwm-btn-h);
	padding: 0 8px; border: 1px solid #ccc; border-radius: 4px; background: #fff;
	font-size: 13px; font-family: inherit; color: #333; margin: 0;
}
.gfcwm-be-val { display: flex; flex-direction: column; gap: 6px; }
.gfcwm-be-val label { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #555; }
.gfcwm-be-val label input { width: 16px; height: 16px; min-height: 0; margin: 0; }
.gfcwm-be-del, .gfcwm-be-add {
	height: var(--gfcwm-btn-h); min-height: var(--gfcwm-btn-h); padding: 0 10px !important; margin: 0;
	border: 1px solid #ccc !important; border-radius: 4px; background: #fff !important; color: #333 !important;
	font-size: 13px; cursor: pointer; box-shadow: none !important;
}
.gfcwm-be-del { width: 34px; padding: 0 !important; font-size: 16px; line-height: 1; }
.gfcwm-be-del:hover, .gfcwm-be-add:hover { border-color: #999 !important; }
.gfcwm-be-res { margin: 8px 0 0; }
.gfcwm-be-res h4 { margin: 10px 0 4px; font-size: 13px; }
.gfcwm-be-res table { width: 100%; border-collapse: collapse; font-size: 12px; }
.gfcwm-be-res td, .gfcwm-be-res th { padding: 4px 6px; border-bottom: 1px solid #e3e6ea; text-align: left; vertical-align: top; word-break: break-word; }
.gfcwm-be-warn { color: #a52a2c; font-weight: 600; }
.gfcwm-be-progress { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 12px; }
.gfcwm-be-progress[hidden] { display: none; }
.gfcwm-be-progress .gfcwm-km-bar { flex: 1 1 auto; max-width: 320px; }
@media (max-width: 600px) {
	.gfcwm-be-row { grid-template-columns: 1fr 34px; }
	.gfcwm-be-row .gfcwm-be-col { grid-column: 1 / 2; }
	.gfcwm-be-row .gfcwm-be-mode, .gfcwm-be-row .gfcwm-be-val { grid-column: 1 / 3; }
	.gfcwm-be-row .gfcwm-be-del { grid-column: 2; grid-row: 1; }
}

/* =========================================================================
 * Seit 2.69.2: Menü „Aktionen“ in der Vertragsliste
 * ========================================================================= */
.gfcwm-act { position: relative; display: inline-flex; margin-right: 10px; }
.gfcwm-act-btn {
	display: inline-flex !important; align-items: center !important; gap: 6px; box-sizing: border-box !important;
	height: var(--gfcwm-btn-h, 34px) !important; min-height: var(--gfcwm-btn-h, 34px) !important; padding: 0 12px !important; margin: 0 !important;
	border: 1px solid var(--gfcwm-ui-secondary-bg, #f0f0f0) !important; border-radius: 4px !important;
	background: var(--gfcwm-ui-secondary-bg, #f0f0f0) !important; color: var(--gfcwm-ui-secondary-text, #333) !important;
	font: inherit !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1 !important;
	white-space: nowrap !important; cursor: pointer; box-shadow: none !important; text-transform: none !important;
}
.gfcwm-act-btn:hover, .gfcwm-act.is-open .gfcwm-act-btn { background: #e4e4e4 !important; border-color: #e4e4e4 !important; }
.gfcwm-act-caret { font-size: 11px; transition: transform .15s ease; }
.gfcwm-act.is-open .gfcwm-act-caret { transform: rotate(180deg); }
.gfcwm-act-menu {
	position: absolute; top: calc(100% + 4px); right: 0; z-index: 1000; min-width: 230px;
	display: flex; flex-direction: column; padding: 6px 0; border: 1px solid #dcdcde; border-radius: 6px;
	background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
}
.gfcwm-act-menu[hidden] { display: none; }
.gfcwm-act-menu .gfcwm-act-item,
.gfcwm-act-menu .gfcwm-act-item:visited,
.gfcwm-act-menu .gfcwm-cust-mail-btn {
	display: flex !important; align-items: center !important; justify-content: flex-start !important; box-sizing: border-box !important; width: 100% !important;
	height: var(--gfcwm-btn-h, 34px) !important; min-height: var(--gfcwm-btn-h, 34px) !important; padding: 0 14px !important; margin: 0 !important;
	border: 0 !important; border-radius: 0 !important; background: #fff !important; color: #1d2327 !important;
	font: inherit !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.2 !important;
	text-align: left !important; text-decoration: none !important; white-space: nowrap !important; cursor: pointer; box-shadow: none !important;
}
.gfcwm-act-menu .gfcwm-act-item:hover, .gfcwm-act-menu .gfcwm-act-item:focus,
.gfcwm-act-menu .gfcwm-cust-mail-btn:hover, .gfcwm-act-menu .gfcwm-cust-mail-btn:focus { background: #f2f4f7 !important; color: #1d2327 !important; outline: none; }
.gfcwm-act-menu .gfcwm-act-item:focus-visible, .gfcwm-act-menu .gfcwm-cust-mail-btn:focus-visible { box-shadow: inset 3px 0 0 var(--gfcwm-ui-primary, #d71920) !important; }
.gfcwm-act-sep { display: block; height: 1px; margin: 6px 0; background: #e3e6ea; }
@media (max-width: 600px) {
	.gfcwm-act { position: static; width: 100%; margin: 0 0 6px; }
	.gfcwm-act-btn { width: 100% !important; justify-content: space-between !important; }
	.gfcwm-act-menu { position: absolute; left: 0; right: 0; min-width: 0; }
	.gfcwm-act { position: relative; }
}
