/* CCL Vorstand-Portal
 * Vereinsfarbe anpassen: --ccl-akzent (und ggf. --ccl-akzent-hell).
 */
.ccl-p,
.ccl-f {
	--ccl-akzent: #2b3a8f;
	--ccl-akzent-hell: #e8ebf8;
	--ccl-text: #1c1d26;
	--ccl-leise: #636678;
	--ccl-linie: #dcdee8;
	--ccl-flaeche: #f5f6fa;
	--ccl-weiss: #ffffff;
	--ccl-gelb: #8a5a00;
	--ccl-gelb-hell: #fdf1d8;
	--ccl-gruen: #24694b;
	--ccl-gruen-hell: #e2f2ea;
	--ccl-rot: #a3262e;
	--ccl-rot-hell: #fbe6e7;
	--ccl-radius: 6px;

	color: var(--ccl-text);
	font-size: 1rem;
	line-height: 1.5;
	box-sizing: border-box;
}
.ccl-p *,
.ccl-f * { box-sizing: inherit; }

.ccl-p { max-width: 72rem; margin: 0 auto; }
.ccl-f { max-width: 40rem; }

.ccl-p h2,
.ccl-p h3 { margin: 0 0 .25rem; line-height: 1.2; }
.ccl-leise { color: var(--ccl-leise); font-size: .9rem; margin: 0; }

/* Felder ---------------------------------------------------------------- */
.ccl-form,
.ccl-bearbeiten { display: grid; gap: 1rem; }
.ccl-reihe { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.ccl-feld { display: grid; gap: .3rem; margin: 0; }
.ccl-feld > span { font-weight: 600; font-size: .92rem; }
.ccl-feld small,
.ccl-check small { font-weight: 400; color: var(--ccl-leise); }

.ccl-p input[type="text"],
.ccl-p input[type="email"],
.ccl-p input[type="password"],
.ccl-p input[type="search"],
.ccl-p input[type="date"],
.ccl-p select,
.ccl-p textarea,
.ccl-f input[type="text"],
.ccl-f input[type="email"],
.ccl-f input[type="tel"],
.ccl-f input[type="date"],
.ccl-f textarea {
	width: 100%;
	font: inherit;
	color: inherit;
	background: var(--ccl-weiss);
	border: 1px solid var(--ccl-linie);
	border-radius: var(--ccl-radius);
	padding: .6rem .75rem;
	min-height: 2.75rem;
}
.ccl-p textarea,
.ccl-f textarea { min-height: 6rem; resize: vertical; }

.ccl-p :focus-visible,
.ccl-f :focus-visible {
	outline: 3px solid var(--ccl-akzent);
	outline-offset: 2px;
}

.ccl-check { display: flex; gap: .6rem; align-items: flex-start; margin: 0; }
.ccl-check input { margin-top: .3rem; width: 1.1rem; height: 1.1rem; flex: none; accent-color: var(--ccl-akzent); }

.ccl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Buttons ---------------------------------------------------------------- */
.ccl-btn,
.ccl-login #wp-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: inherit;
	font-weight: 600;
	color: var(--ccl-weiss);
	background: var(--ccl-akzent);
	border: 1px solid var(--ccl-akzent);
	border-radius: var(--ccl-radius);
	padding: .6rem 1.1rem;
	min-height: 2.75rem;
	cursor: pointer;
	text-decoration: none;
	justify-self: start;
}
.ccl-btn:hover,
.ccl-login #wp-submit:hover { filter: brightness(1.1); color: var(--ccl-weiss); }
.ccl-btn--leise { color: var(--ccl-akzent); background: var(--ccl-weiss); }
.ccl-btn--leise:hover { background: var(--ccl-akzent-hell); color: var(--ccl-akzent); filter: none; }
.ccl-btn--gefahr { color: var(--ccl-rot); background: transparent; border-color: transparent; padding-left: 0; font-weight: 500; text-decoration: underline; }
.ccl-btn--gefahr:hover { color: var(--ccl-rot); filter: none; }

/* Meldungen -------------------------------------------------------------- */
.ccl-meldung { padding: .8rem 1rem; border-radius: var(--ccl-radius); margin: 0 0 1rem; border-left: 4px solid; }
.ccl-meldung--ok { background: var(--ccl-gruen-hell); border-color: var(--ccl-gruen); }
.ccl-meldung--fehler { background: var(--ccl-rot-hell); border-color: var(--ccl-rot); }
.ccl-hinweis { background: var(--ccl-gelb-hell); color: var(--ccl-text); padding: .8rem 1rem; border-radius: var(--ccl-radius); margin: 1rem 0; }

/* Login ------------------------------------------------------------------ */
.ccl-login {
	max-width: 26rem;
	margin: 2rem auto;
	padding: 2rem;
	background: var(--ccl-weiss);
	border: 1px solid var(--ccl-linie);
	border-radius: 10px;
	border-top: 5px solid var(--ccl-akzent);
}
.ccl-login h2 { margin-bottom: .4rem; }
.ccl-login > .ccl-leise:first-of-type { margin-bottom: 1.5rem; }
.ccl-login #loginform p { margin: 0 0 1rem; }
.ccl-login #loginform label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: .3rem; }
.ccl-login #loginform .login-remember label { display: flex; gap: .5rem; align-items: center; font-weight: 400; }
.ccl-login #wp-submit { width: 100%; }

/* Portal-Kopf ------------------------------------------------------------ */
.ccl-kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.25rem; }
.ccl-konto { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; font-size: .92rem; max-width: 100%; }
.ccl-konto a { color: var(--ccl-akzent); }

/* Reiter ----------------------------------------------------------------- */
.ccl-reiter { display: flex; gap: .25rem; border-bottom: 2px solid var(--ccl-linie); overflow-x: auto; margin-bottom: 1rem; }
.ccl-reiter a {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .7rem 1rem;
	color: var(--ccl-leise);
	text-decoration: none;
	font-weight: 600;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
}
.ccl-reiter a:hover { color: var(--ccl-text); }
.ccl-reiter a.is-aktiv { color: var(--ccl-akzent); border-bottom-color: var(--ccl-akzent); }
.ccl-zahl {
	min-width: 1.6rem; padding: 0 .45rem;
	font-size: .8rem; line-height: 1.5rem; text-align: center;
	border-radius: 1rem;
	background: var(--ccl-flaeche); color: var(--ccl-leise);
}
.is-aktiv .ccl-zahl { background: var(--ccl-akzent); color: var(--ccl-weiss); }

/* Filter ----------------------------------------------------------------- */
.ccl-filter { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-bottom: 1rem; }
.ccl-filter select { width: auto; }
.ccl-filter .ccl-suche { flex: 1 1 14rem; }
.ccl-filter .ccl-btn:last-child { margin-left: auto; }
.ccl-p .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Tabelle ---------------------------------------------------------------- */
.ccl-tabelle-wrap { overflow-x: auto; border: 1px solid var(--ccl-linie); border-radius: var(--ccl-radius); background: var(--ccl-weiss); }
.ccl-tabelle { width: 100%; border-collapse: collapse; margin: 0; font-size: .95rem; }
.ccl-tabelle th { text-align: left; font-size: .85rem; color: var(--ccl-leise); font-weight: 600; background: var(--ccl-flaeche); }
.ccl-tabelle th,
.ccl-tabelle td { padding: .7rem .9rem; border: 0; border-bottom: 1px solid var(--ccl-linie); vertical-align: top; }
.ccl-tabelle tbody tr:last-child td { border-bottom: 0; }
.ccl-tabelle tbody tr:hover { background: var(--ccl-flaeche); }
.ccl-tabelle a { color: inherit; }
.ccl-name { font-weight: 600; color: var(--ccl-akzent) !important; }

.ccl-status { display: inline-block; padding: .1rem .6rem; border-radius: 1rem; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.ccl-status--neu { background: var(--ccl-akzent-hell); color: var(--ccl-akzent); }
.ccl-status--in_bearbeitung { background: var(--ccl-gelb-hell); color: var(--ccl-gelb); }
.ccl-status--erledigt { background: var(--ccl-gruen-hell); color: var(--ccl-gruen); }

.ccl-seiten { display: flex; flex-wrap: wrap; gap: .3rem; margin: 1rem 0 .5rem; }
.ccl-seiten a { min-width: 2.4rem; text-align: center; padding: .35rem .5rem; border: 1px solid var(--ccl-linie); border-radius: var(--ccl-radius); text-decoration: none; color: inherit; }
.ccl-seiten a.is-aktiv { background: var(--ccl-akzent); border-color: var(--ccl-akzent); color: var(--ccl-weiss); }
.ccl-p > .ccl-leise { margin-top: .5rem; }

.ccl-leer { padding: 2.5rem 1rem; text-align: center; border: 1px dashed var(--ccl-linie); border-radius: var(--ccl-radius); color: var(--ccl-leise); }
.ccl-leer p { margin: .25rem 0; }

/* Detail ----------------------------------------------------------------- */
.ccl-zurueck { color: var(--ccl-akzent); }
.ccl-detail { max-width: 44rem; padding: 1.5rem; background: var(--ccl-weiss); border: 1px solid var(--ccl-linie); border-radius: var(--ccl-radius); }
.ccl-daten { display: grid; grid-template-columns: 11rem 1fr; gap: .6rem 1rem; margin: 1.25rem 0 1.5rem; }
.ccl-daten dt { color: var(--ccl-leise); font-size: .92rem; }
.ccl-daten dd { margin: 0; overflow-wrap: anywhere; }
.ccl-bearbeiten { padding-top: 1.25rem; border-top: 1px solid var(--ccl-linie); }
.ccl-loeschen { margin-top: 1rem; }

/* Einstellungen ---------------------------------------------------------- */
.ccl-einstellungen { margin-top: 2rem; border: 1px solid var(--ccl-linie); border-radius: var(--ccl-radius); background: var(--ccl-weiss); }
.ccl-einstellungen summary { padding: .9rem 1rem; cursor: pointer; font-weight: 600; }
.ccl-einstellungen form { display: grid; gap: 1rem; padding: 0 1rem 1rem; max-width: 40rem; }

/* Mobil: Tabellenzeilen als Blöcke -------------------------------------- */
@media (max-width: 640px) {
	.ccl-tabelle thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ccl-tabelle tr { display: block; padding: .75rem .9rem; border-bottom: 1px solid var(--ccl-linie); }
	.ccl-tabelle td, .ccl-p .ccl-tabelle td { display: block; position: relative; min-height: 1.4em; padding: .2rem 0 .2rem 6.5rem; border: 0; }
	.ccl-p .ccl-tabelle td:not([data-label]) { padding-left: 0; }
	.ccl-p .ccl-tabelle td:first-child { font-weight: inherit; }
	.ccl-p { overflow-wrap: anywhere; }
	.ccl-konto { gap: .3rem .9rem; font-size: .88rem; }
	.ccl-tabelle td::before, .ccl-p .ccl-tabelle td::before { content: attr(data-label); position: absolute; left: 0; top: .3rem; width: 6rem; color: var(--ccl-leise); font-size: .85rem; line-height: 1.3; }
	.ccl-daten { grid-template-columns: 1fr; gap: .1rem; }
	.ccl-daten dd { margin-bottom: .6rem; }
	.ccl-filter .ccl-btn:last-child { margin-left: 0; }
	.ccl-login { padding: 1.5rem; margin: 1rem auto; }
}

/* Bestätigung nach dem Absenden ------------------------------------------ */
.ccl-f .ccl-erfolg {
	display: flex;
	gap: .9rem;
	align-items: flex-start;
	padding: 1.25rem 1.4rem;
	font-size: 1.05rem;
	border-left-width: 6px;
}
.ccl-f .ccl-erfolg::before {
	content: "✓";
	flex: none;
	width: 2rem; height: 2rem;
	border-radius: 50%;
	display: grid; place-items: center;
	background: var(--ccl-gruen); color: var(--ccl-weiss);
	font-weight: 700;
}
.ccl-f .ccl-erfolg:focus,
.ccl-meldung--fehler:focus { outline: none; }
@media (prefers-reduced-motion: no-preference) {
	.ccl-f .ccl-erfolg { animation: ccl-rein .35s ease-out; }
	@keyframes ccl-rein { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
}
.ccl-btn:disabled { opacity: .6; cursor: progress; }

/* Einwilligungsnachweis und technische Angaben in der Detailansicht ------- */
.ccl-nachweis,
.ccl-technik { margin: 0 0 1.25rem; }
.ccl-nachweis summary,
.ccl-technik summary { cursor: pointer; color: var(--ccl-leise); font-size: .92rem; }
.ccl-nachweis .ccl-daten { margin-top: .75rem; font-size: .92rem; }
.ccl-technik { margin-top: 1.5rem; }

/* Feedback-Portal */
.ccl-fb-zahlen { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; margin: 0 0 1.5rem; }
.ccl-fb-zahl { background: var(--ccl-weiss); border: 1px solid var(--ccl-linie); border-top: 4px solid var(--ccl-akzent); border-radius: var(--ccl-radius); padding: .8rem 1rem; }
.ccl-fb-zahl strong { display: block; font-size: 1.8rem; line-height: 1.1; color: var(--ccl-akzent); }
.ccl-fb-zahl span { font-size: .85rem; }
.ccl-fb-h { margin: 1.75rem 0 .6rem !important; }
.ccl-fb-liste { margin: 0; padding-left: 1.2rem; }
.ccl-fb-liste li { margin: .35rem 0; }
.ccl-fb-detail h3 + .ccl-leise { margin-bottom: 1rem; }
.ccl-fb-detail table { border-collapse: collapse; margin-bottom: .75rem; }
.ccl-fb-detail h3:not(:first-child) { font-size: 1.05rem; margin-top: 1.25rem; }

/* Unterlagen zum Mitgliedsantrag */
.ccl-ul { margin: 1.25rem 0; padding: 1rem 1.1rem; background: var(--ccl-flaeche, #F4F6F8); border: 1px solid var(--ccl-linie); border-left: 4px solid var(--ccl-akzent); border-radius: var(--ccl-radius); }
.ccl-ul h4 { margin: 0 0 .6rem; }
.ccl-ul-liste { margin: 0 0 .8rem; padding-left: 1.1rem; }
.ccl-ul-liste li { margin: .25rem 0; }
.ccl-ul-check { display: grid; gap: .35rem; margin: .6rem 0; }
.ccl-ul-check label { display: flex; gap: .45rem; align-items: flex-start; font-size: .92rem; }
.ccl-ul-check button { justify-self: start; margin-top: .3rem; }
.ccl-ul-aktionen { display: flex; flex-wrap: wrap; gap: .6rem; margin: .6rem 0; }

/* Blanko-Einladungen */
.ccl-ei-blanko summary { cursor: pointer; }
.ccl-ei-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .7rem 1rem; margin: .8rem 0; align-items: end; }
.ccl-ei-form .ccl-feld span { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .2rem; }
.ccl-ei-form input, .ccl-ei-form select { width: 100%; }
.ccl-ei-form button { justify-self: start; }
.ccl-ei-tab { margin-top: .8rem; font-size: .88rem; }

/* Beschlüsse */
.ccl-b-aktionen { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: .5rem 0 1rem; }
.ccl-b-karte { display: grid; gap: .2rem; padding: .8rem 1rem; margin: .5rem 0; background: var(--ccl-weiss); border: 1px solid var(--ccl-linie); border-left: 4px solid var(--ccl-akzent); border-radius: var(--ccl-radius); text-decoration: none; color: inherit; }
.ccl-b-karte:hover { border-color: var(--ccl-akzent); }
.ccl-b-status { display: inline-block; font-size: .78rem; font-weight: 600; padding: .1rem .5rem; border-radius: 999px; background: #e8ecf5; vertical-align: middle; }
.ccl-b-angenommen { background: #dff3e4; color: #1d6b34; } .ccl-b-abgelehnt { background: #fbe3e3; color: #9b1c1c; }
.ccl-b-ungueltig, .ccl-b-zurueckgezogen { background: #eee; color: #555; } .ccl-b-widerspruch { background: #fff1d6; color: #8a5200; } .ccl-b-offen { background: #e3ecf8; color: #1f4e79; }
.ccl-b-text { background: var(--ccl-flaeche); border-left: 4px solid var(--ccl-akzent); padding: .8rem 1rem; margin: .6rem 0 1rem; white-space: normal; }
.ccl-b-form .ccl-feld { display: block; margin-bottom: .8rem; } .ccl-b-form .ccl-feld > span { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .25rem; }
.ccl-b-form input[type=text], .ccl-b-form input[type=url], .ccl-b-form input[type=date], .ccl-b-form input[type=datetime-local], .ccl-b-form input[type=number], .ccl-b-form textarea { width: 100%; }
.ccl-b-zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; } .ccl-b-vier { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 .8rem; }
.ccl-b-check { display: flex; gap: .5rem; align-items: flex-start; margin: .5rem 0; }
.ccl-b-form fieldset, .ccl-b-stimmen { border: 0; padding: 0; margin: 0 0 .8rem; display: grid; gap: .35rem; }
.ccl-b-stimmen legend { font-weight: 700; margin-bottom: .3rem; }
.ccl-b-widerspruch { margin: 1rem 0; } .ccl-b-widerspruch summary { cursor: pointer; color: #9b1c1c; }
.ccl-b-log { list-style: none; padding: 0; margin: .5rem 0; font-size: .88rem; } .ccl-b-log li { padding: .3rem 0; border-bottom: 1px solid var(--ccl-linie); }
@media (max-width: 640px) { .ccl-b-zwei, .ccl-b-vier { grid-template-columns: 1fr; } }

/* Coach-Verzeichnis */
.ccl-cr-klein { padding: .25rem .6rem !important; font-size: .8rem !important; }
.ccl-cr-link { font-family: monospace; font-size: .85rem; padding: .45rem .6rem; border: 1px solid var(--ccl-linie); border-radius: 4px; background: #fff; }
.ccl-cr-filter { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 .6rem; }
.ccl-cr-filter a { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .75rem; border: 1px solid var(--ccl-linie); border-radius: 999px; background: #fff; color: inherit; text-decoration: none; font-size: .88rem; }
.ccl-cr-filter a.is-aktiv { background: var(--ccl-akzent); border-color: var(--ccl-akzent); color: #fff; }
.ccl-cr-filter a.is-aktiv .ccl-zahl { background: #fff; color: var(--ccl-akzent); }
.ccl-cr-klein { white-space: nowrap; }

.ccl-cr-filter { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 .6rem; }
.ccl-cr-filter a { padding: .3rem .7rem; border: 1px solid var(--ccl-linie); border-radius: 999px; text-decoration: none; color: inherit; font-size: .88rem; background: #fff; }
.ccl-cr-filter a.is-aktiv { background: var(--ccl-akzent); border-color: var(--ccl-akzent); color: #fff; }
.ccl-cr-filter a.is-aktiv .ccl-zahl { background: #fff; color: var(--ccl-akzent); }
.ccl-cr-klein { white-space: nowrap; }
.ccl-cr-fz details summary { cursor: pointer; margin: .4rem 0; }
/* Unterlagen: Bearbeiten-Formular in der Tabelle kompakt halten */
#ccl-cu .ccl-tabelle td:last-child { width: 13rem; }
.ccl-cu-bearb form { display: grid; gap: .45rem; margin: .5rem 0; max-width: 16rem; }
.ccl-cu-bearb label { display: grid; gap: .15rem; font-size: .85rem; }
.ccl-cu-bearb input[type=text], .ccl-cu-bearb input[type=file] { width: 100%; max-width: 16rem; box-sizing: border-box; font-size: .85rem; }
.ccl-cu-bearb fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .15rem; font-size: .82rem; }
.ccl-cu-bearb fieldset label { display: flex; gap: .35rem; align-items: center; }
.ccl-cu-bearb .ccl-b-check { display: flex; }
.ccl-cu-bearb summary { cursor: pointer; }

/* Warteliste für Head Coaches ------------------------------------------- */
.ccl-wlc-filter { margin: .5rem 0 1rem; }
.ccl-wlc-liste { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.ccl-wlc-liste > li { border: 1px solid var(--ccl-linie, #D2DDE8); border-left: 4px solid var(--ccl-akzent, #1F497C); border-radius: 6px; padding: .7rem .9rem; margin: 0 0 .7rem; background: #fff; }
.ccl-wlc-liste p { margin: .4rem 0 0; }
.ccl-wlc-kopf { display: flex; gap: .7rem; align-items: flex-start; }
.ccl-wlc-platz { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--ccl-akzent, #1F497C); color: #fff; font-weight: 700; }
.ccl-wlc-knopf { display: inline-flex; align-items: center; min-height: 40px; padding: 0 .9rem; margin: .2rem .3rem 0 0; border-radius: 20px; background: #1E7B3C; color: #fff !important; font-weight: 700; text-decoration: none; }
.ccl-wlc-knopf--leise { background: #EEF3F8; color: var(--ccl-akzent, #1F497C) !important; }
.ccl-wlc-protokoll { margin: 1rem 0; }
.ccl-wlc-alle { margin-top: .5rem; }
.ccl-wlc-alle summary { cursor: pointer; color: var(--ccl-akzent, #1F497C); font-weight: 600; font-size: .92rem; }
.ccl-wlc-abschnitt { margin: .8rem 0 .3rem; font-size: .95rem; }
.ccl-wlc-daten { display: grid; grid-template-columns: minmax(9rem, 38%) 1fr; gap: .3rem .8rem; margin: 0; font-size: .92rem; }
.ccl-wlc-daten dt { color: var(--ccl-leise, #6B7480); }
.ccl-wlc-daten dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) { .ccl-wlc-daten { grid-template-columns: 1fr; gap: .1rem; } .ccl-wlc-daten dd { margin-bottom: .5rem; } }
.ccl-sb-name { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .4rem 0; font-size: .9rem; }
.ccl-sb-name input { max-width: 12rem; }
.ccl-fb-liste .ccl-sb-name { display: inline-flex; margin: .2rem 0 0 .5rem; }

/* Funktionen mit Vorstandsbeschluss --------------------------------------- */
.ccl-fn-karte { border: 1px solid var(--ccl-linie, #D2DDE8); border-left: 5px solid var(--ccl-akzent, #1F497C); border-radius: 6px; padding: .9rem 1rem; margin: 1rem 0; background: #fff; }
.ccl-fn-karte.is-beendet { border-left-color: #9AA5B1; opacity: .85; }
.ccl-fn-kuerzel { display: inline-block; padding: 0 .45rem; border-radius: 4px; background: #EEF3F8; font-size: .82rem; font-weight: 700; letter-spacing: .03em; }
.ccl-fn-status { margin: .4rem 0; font-weight: 600; }
.ccl-fn-status.is-warn { color: #B3261E; }
.ccl-fn-pflicht { padding: .4rem .6rem; border-radius: 4px; font-size: .92rem; }
.ccl-fn-pflicht.is-ok { background: #E7F4EA; color: #1E6B34; }
.ccl-fn-pflicht.is-offen { background: #FDECEA; color: #B3261E; }
.ccl-fn-daten { display: grid; grid-template-columns: minmax(8rem, 22%) 1fr; gap: .2rem .8rem; font-size: .92rem; margin: .6rem 0; }
.ccl-fn-daten dt { color: var(--ccl-leise, #6B7480); }
.ccl-fn-daten dd { margin: 0; }
.ccl-fn-upload { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: .85rem; }
.ccl-fn-inline { display: inline; }
.ccl-fn-klein { background: none; border: 0; color: #B3261E; cursor: pointer; font-size: .82rem; text-decoration: underline; padding: 0; }
.ccl-fn-warn { color: #B3261E; font-size: .85rem; font-weight: 600; }
.ccl-fn-details { margin: .5rem 0; }
.ccl-fn-details summary { cursor: pointer; color: var(--ccl-akzent, #1F497C); font-weight: 600; }
.ccl-fn-form { display: grid; gap: .5rem; max-width: 34rem; margin-top: .5rem; }
.ccl-fn-form label { display: flex; flex-direction: column; gap: .15rem; font-size: .9rem; }
.ccl-fn-form label.ccl-fn-haken { flex-direction: row; align-items: flex-start; gap: .45rem; }
@media (max-width: 640px) { .ccl-fn-daten { grid-template-columns: 1fr; } }

/* Kurzporträt-Formular */
.ccl-kp h3 { margin-top: 1.6rem; }
.ccl-kp textarea { width: 100%; }
.ccl-kp-kreuze { border: 0; padding: 0; margin: .6rem 0 1rem; display: grid; gap: .3rem; }
.ccl-kp-kreuze legend { font-weight: 600; margin-bottom: .2rem; }
.ccl-kp-kreuze label { display: flex; gap: .5rem; align-items: flex-start; font-weight: 400; }
.ccl-kp-zaehler { display: block; font-size: .85rem; color: #6B7480; margin-top: .2rem; }
.ccl-kp-freigabe textarea { width: 100%; }
.ccl-kp-liste { list-style: none; margin: .4rem 0 1rem; padding: 0; }
.ccl-kp-liste > li { padding: .5rem .2rem; border-bottom: 1px solid #E3EBF4; }
.ccl-kp-liste details summary { cursor: pointer; color: var(--ccl-akzent, #1F497C); font-size: .9rem; margin-top: .2rem; }
.ccl-kp-haken { color: #1E7B3C; font-weight: 700; }
.ccl-kp-veroeff > summary { cursor: pointer; margin: .8rem 0 .3rem; }
.ccl-cr-bea { margin-top: .4rem; }
.ccl-cr-bea > summary { cursor: pointer; color: var(--ccl-akzent, #1F497C); font-size: .88rem; font-weight: 600; }
.ccl-cr-bea .ccl-fn-form { min-width: 16rem; }
.ccl-cr-bea .ccl-kp-kreuze label, .ccl-cr-bea .ccl-fn-haken { display: flex !important; flex-direction: row !important; align-items: center; gap: .45rem; font-weight: 400; }
.ccl-cr-bea input[type=checkbox] { width: auto !important; margin: 0; flex: 0 0 auto; }
.ccl-cr-bea select { min-height: 0; padding: .3rem .4rem; }
