– Tabelle im Wochenend-Look */
.ffl-ap-sc{max-width:none}
.ffl-ap-tabelle{overflow-x:auto}
.ffl-ap-tab{width:100%;border-collapse:collapse;font-size:14px}
.ffl-ap-tab th,.ffl-ap-tab td{padding:9px 14px;text-align:left;border-bottom:1px solid #f0f2f0;vertical-align:top}
.ffl-ap-tab th:nth-child(3),.ffl-ap-tab td.ffl-ap-ligen{width:100%}
.ffl-ap-tab th{background:#fafbfa;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--ink-2)}
.ffl-ap-tab tr:last-child td{border-bottom:none}
.ffl-ap-name{font-weight:600;white-space:nowrap}
.ffl-ap-mail{white-space:nowrap}
.ffl-ap-mail a{color:var(--ffl-farbe-dunkel);text-decoration:none}
.ffl-ap-mail a:hover{text-decoration:underline}
.ffl-ap-ligen{display:flex;flex-wrap:wrap;gap:4px}
.ffl-ap-liga{display:inline-block;font-size:12px;padding:2px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ffl-farbe-dunkel);text-decoration:none;white-space:nowrap}
a.ffl-ap-liga:hover{border-color:var(--ffl-farbe);background:var(--ffl-farbe);color:#fff}
.ffl-ap-leer{color:var(--ink-3)}
/* Halle je Spiel in den Terminen */
.ffl-hallen-mehrere{display:flex;flex-direction:column;gap:4px}
.ffl-halle-nr{font-weight:700;color:var(--ffl-farbe-dunkel)}
.ffl-paar-hallenr{font-size:11px;font-weight:700;color:var(--ffl-farbe-dunkel);margin-left:3px}
/* Link in der Leer-Meldung (z. B. „Alle Termine dieser Liga anzeigen") */
.ffl-empty-link{display:inline-block;margin-left:6px;color:var(--ffl-farbe-dunkel);font-weight:600;text-decoration:underline}
.ffl-empty-link:hover{color:var(--ffl-farbe)}
/* Abweichendes Datum eines einzelnen Spiels */
.ffl-paar-datum{font-size:10px;font-weight:700;color:var(--ffl-warnung);margin-left:3px;border:1px solid var(--ffl-warnung);border-radius:3px;padding:0 3px}
/* Shortcode
Schiedsrichter-Kontingente
Kat. Kategorie Ligen Kontingent K 1 Ü30, FZL 1 Person K 2 Erw. KF, Erw. GF 3 Personen K 3 U17 3 Personen K 4 U13, U15 3 Personen K 5 U9, U11 2 Personen
Das Kontingent gilt je Kategorie für das erste gemeldete Team; jedes weitere Team derselben Kategorie erhöht die Zahl um eine Person (gemäß SRO).
Angaben ohne Gewähr. Es gilt die jeweils aktuelle SRO.
– SR-Kontingente, Lizenzen, Vergütung */
.ffl-srt{max-width:none}
.ffl-srt-body{overflow-x:auto}
.ffl-srt-tab{width:100%;border-collapse:collapse;font-size:14px}
.ffl-srt-tab th,.ffl-srt-tab td{padding:9px 14px;text-align:left;border-bottom:1px solid #f0f2f0;vertical-align:top}
.ffl-srt-tab th{background:#fafbfa;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--ink-2)}
.ffl-srt-tab th.num,.ffl-srt-tab td.num{text-align:right;white-space:nowrap}
.ffl-srt-tab tr:last-child td{border-bottom:none}
.ffl-srt-code,.ffl-srt-liga,.ffl-srt-liz{font-weight:600;white-space:nowrap}
.ffl-srt-vj{font-size:11px;color:var(--ffl-farbe-dunkel)}
.ffl-srt-hinweis{padding:10px 16px;font-size:12.5px;margin:0}
.ffl-srt-gewaehr{margin:0;padding:7px 16px;border-top:1px solid #f0f2f0;font-size:11px;line-height:1.4;color:var(--ink-3)}
/* Termin-Hinweise (aus Sperrzeiten) – dezent unter dem Datum */
/* Hinweiszeile gehört zum Termin DARUNTER: oben abgesetzt, unten nahtlos anschließend */
.ffl-hinweiszeile td{padding:7px 14px 4px !important;background:#faf9f6;border-top:2px solid #e6e2d8;border-bottom:none}
.ffl-terminhinweis{display:inline-block;font-size:11px;color:var(--ink-2);margin-right:12px}
.ffl-terminhinweis::before{content:"\2193";margin-right:5px;color:var(--ink-3);font-weight:700}
/* Aktiver Vereinsfilter – deutlich sichtbar mit Aufheben-Link */
.ffl-aktivfilter{margin:0 0 10px;padding:8px 14px;background:#fdf3ef;border:1px solid #f6d0c0;border-radius:8px;font-size:13.5px;color:var(--ink)}
.ffl-filter-x{display:inline-block;margin-left:8px;color:var(--ffl-farbe,#ED1A3B);font-weight:600;text-decoration:none;white-space:nowrap}
.ffl-filter-x:hover{text-decoration:underline}
/* Shortcode
Klasse 2026/2027 2027/2028 2028/2029 2029/2030 U7 2020 u. jünger 2021 u. jünger 2022 u. jünger 2023 u. jünger U9 2018 u. jünger 2019 u. jünger 2020 u. jünger 2021 u. jünger U11 2016 u. jünger 2017 u. jünger 2018 u. jünger 2019 u. jünger U13 2014 u. jünger 2015 u. jünger 2016 u. jünger 2017 u. jünger U15 2012 u. jünger 2013 u. jünger 2014 u. jünger 2015 u. jünger U17 2010 u. jünger 2011 u. jünger 2012 u. jünger 2013 u. jünger U19 2008 u. jünger 2009 u. jünger 2010 u. jünger 2011 u. jünger Ü30 1996 u. älter 1997 u. älter 1998 u. älter 1999 u. älter Ü40 1986 u. älter 1987 u. älter 1988 u. älter 1989 u. älter
*/
.ffl-ag{max-width:none}
.ffl-ag-body{overflow-x:auto}
.ffl-ag-tab{width:100%;border-collapse:collapse;font-size:14px}
.ffl-ag-tab th,.ffl-ag-tab td{padding:8px 14px;text-align:left;border-bottom:1px solid #f0f2f0;white-space:nowrap}
.ffl-ag-tab th{background:#fafbfa;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--ink-2)}
.ffl-ag-tab th.num,.ffl-ag-tab td.num{text-align:center}
.ffl-ag-tab tr:last-child td{border-bottom:none}
.ffl-ag-klasse{font-weight:700;background:#fafbfa}
/* ---------------------------------------------------------- SR-Kurse */
.ffl-sr-kurse-liste{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}
.ffl-sr-kurs-karte{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px 10px;display:flex;flex-direction:column}
.ffl-sr-kurs-karte h4{margin:0 0 4px;font-family:var(--display);font-size:19px;line-height:1.15;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ffl-sr-kurs-karte .row{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-3);margin:0 0 3px;line-height:1.3}
.ffl-sr-anmeldung form,.ffl-sr-ergebnisse form{display:flex;flex-direction:column;gap:10px;max-width:480px}
.ffl-sr-ergebnisse table{width:100%;border-collapse:collapse;margin:10px 0}
.ffl-sr-ergebnisse table{max-width:none}
.ffl-sr-erg-tabelle th,.ffl-sr-erg-tabelle td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;font-size:13px}
.ffl-sr-erg-tabelle th{line-height:1.15}
.ffl-sr-erg-tabelle th.ffl-sr-erg-breit{min-width:150px}
.ffl-sr-erg-tabelle th.ffl-sr-erg-name{min-width:170px}
.ffl-sr-erg-form{display:block!important;width:100%!important;max-width:none!important}
.ffl-sr-erg-sammelzeile{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;box-sizing:border-box;margin:0 0 12px;padding:8px 12px;background:#fafbf9;border:1px solid var(--line);border-radius:8px}
.ffl-sr-erg-sammelzeile label{display:flex;align-items:center;gap:6px;font-size:13px;margin:0}
.ffl-sr-erg-sammel-trenner{width:1px;align-self:stretch;background:var(--line)}
/* SR-Kurse: Vor-Ort-Nachmeldeformular – kompaktes Label-neben-Feld-Layout wie im Backend-Popup */
.ffl-sr-vor-ort-box{max-width:520px}
.ffl-sr-vor-ort-box label{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}
.ffl-sr-vor-ort-box .ffl-sr-vor-ort-label{flex:0 0 150px;font-weight:600}
.ffl-sr-vor-ort-box input,.ffl-sr-vor-ort-box select{flex:1 1 auto;min-width:0;box-sizing:border-box;padding:6px 8px}
.ffl-sr-erg-status,.ffl-sr-erg-lizenz{width:100%;min-width:140px}
.ffl .tag{display:inline-block;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.ffl .tag.info{background:var(--ffl-farbe-hell);color:var(--ffl-farbe-dunkel)}
.ffl .tag.warn{background:#fdf1e6;color:#b34d0a}
.ffl .tag.error{background:#fdecef;color:#a1152e}
/* SR-Kurse: Kursauswahl als Kacheln im Anmeldeformular */
.ffl-sr-kurskacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.ffl-sr-kurskachel{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit;transition:border-color .15s}
.ffl-sr-kurskachel-abgesagt{opacity:.65;background:#fafafa}
.ffl-sr-kurskachel:hover{border-color:var(--ffl-farbe)}
.ffl-sr-kurskachel b{font-family:var(--display);font-size:17px}
.ffl-sr-kurskachel span{font-size:13px;color:var(--ink-3)}
.ffl-sr-kk-gastverein{display:block;min-height:2.8em;line-height:1.4}
.ffl-sr-kurskachel .ffl-sr-kk-adresse{min-height:2.6em;line-height:1.3}
.ffl-sr-kurskachel .tag{align-self:flex-start;margin-top:4px}
/* SR-Kurse: vergangene Kurse abgedimmt */
.ffl-sr-vergangen-titel{margin:22px 0 10px;font-size:15px;color:var(--ink-3);font-weight:600}
.ffl-sr-aktuell-titel{margin:18px 0 6px;font-family:var(--display);font-size:20px;font-weight:600;color:var(--ink)}
.ffl-sr-aktuell-titel:first-child{margin-top:0}
.ffl-sr-kurskacheln-vergangen{opacity:.55;grid-template-columns:repeat(3,1fr)}
@media (max-width:520px){.ffl-sr-kurskacheln-vergangen{grid-template-columns:1fr}}
.ffl-sr-kurskacheln-vergangen .ffl-sr-kurskachel-vergangen{padding:9px 12px;gap:2px}
.ffl-sr-kurskacheln-vergangen .ffl-sr-kurskachel-vergangen b{font-size:14px}
.ffl-sr-kurskacheln-vergangen .ffl-sr-kurskachel-vergangen span{font-size:11px}
/* SR-Kurse: zweispaltige Kursdetails (Angaben links ~60%, quadratische Karte rechts ~40%) */
@media (max-width:640px){.ffl-sr-kursdetails-karte{max-width:none;width:100%}}
/* SR-Kurse: Kapazitätsleiste als diskrete Elemente (ein Element je Platz) */
.ffl-sr-kapleiste-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 18px;margin-bottom:12px}
.ffl-sr-kapleiste{display:flex;gap:2px;height:10px}
.ffl-sr-kapleiste-schmal{height:4px;margin-top:auto}
.ffl-sr-kapleiste span{flex:1;border-radius:1px;min-width:2px}
.ffl-sr-kap-zartrot{background:#f6c6cc}
.ffl-sr-kap-dunkelrot{background:#ED1A3B}
.ffl-sr-kap-zartgruen{background:#e6f2e8}
.ffl-sr-kap-dunkelgruen{background:#3e8f4a}
/* SR-Kurse: Punkte-Statistik-Badge (Durchschnitt + Streuung) in den Kacheln vergangener Kurse */
.ffl-sr-punkte-badge{display:flex;gap:1px;margin-top:8px;border-radius:8px;overflow:hidden}
.ffl-sr-punkte-badge-wert{flex:1;background:#c9e3cd;text-align:center;padding:6px 4px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}
.ffl-sr-punkte-badge-wert:last-child{background:#e6f2e8}
.ffl-sr-punkte-badge-wert b{display:block;font-size:17px;line-height:1.2;font-family:var(--display);color:#2d6b37}
.ffl-sr-punkte-badge-wert:last-child b{color:#2d6b37}
.ffl-sr-punkte-badge-wert small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3)}
.ffl-sr-punkte-badge-wert.ffl-sr-punkte-badge-abgesagt{background:#fdeceb}
.ffl-sr-punkte-badge-wert.ffl-sr-punkte-badge-abgesagt b{color:var(--ffl-fehler,#ED1A3B);letter-spacing:.05em;font-size:13px;white-space:nowrap}
.ffl-sr-punkte-badge-wert.ffl-sr-punkte-badge-ausstehend{background:var(--ffl-warnung-tint,#feefe3)}
.ffl-sr-punkte-badge-wert.ffl-sr-punkte-badge-ausstehend b{color:var(--ffl-warnung,#F6701A);font-size:11px;font-weight:600;white-space:nowrap}
.ffl-sr-kap-text{margin:4px 0 0;font-size:12px;color:var(--ink-3)}
/* SR-Kurse: Infos zur Kursvorbereitung (in der Textspalte) */
.ffl-sr-vorbereitung{font-size:13px;color:var(--ink-3);margin:4px 0}
.ffl-sr-vorbereitung p{margin:0 0 4px}
.ffl-sr-vorbereitung p:last-child{margin-bottom:0}
/* SR-Kurse: Kursinfo-Kopf in der Ergebniserfassung */
.ffl-sr-erfasst-von{background:var(--ffl-farbe-hell);color:var(--ffl-farbe-dunkel);border-radius:8px;padding:8px 14px;font-size:14px;margin:0 0 14px}
/* SR-Kurse: Popup für individuelle Mail an alle Teilnehmer:innen */
.ffl-sr-modal-hg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;align-items:center;justify-content:center;padding:16px}
.ffl-sr-modal-box{background:#fff;border-radius:10px;padding:20px 24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto}
.ffl-sr-modal-box h3{margin-top:0}
.ffl-sr-modal-box textarea{width:100%}
.ffl-sr-modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.ffl-sr-massenmail-hinweis{background:var(--ffl-farbe-hell);color:var(--ffl-farbe-dunkel);border-radius:8px;padding:8px 14px;font-size:14px}
/* Schiedsrichter-Kontingentmeldung (plugin-eigenes Formular, ersetzt Gravity Forms) */
.ffl-srm h3{font-family:var(--display);color:var(--ffl-farbe-dunkel);margin:0 0 8px}
.ffl-srm-block{border:1px solid var(--line);border-radius:10px;padding:12px 14px 10px;margin:0 0 14px;background:#fff}
.ffl-srm-block legend{font-family:var(--display);font-size:18px;padding:0 6px;color:var(--ffl-farbe-dunkel)}
.ffl-srm-kopf{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.ffl-srm-chip{display:inline-block;border-radius:99px;padding:3px 10px;font-size:13px}
.ffl-srm-chip-pflicht{background:var(--ffl-farbe-hell);color:var(--ffl-farbe-dunkel)}
.ffl-srm-chip-sg{background:#eef2fb;color:#2c4a8a}
.ffl-srm-zeile{display:grid;grid-template-columns:1fr 1fr 105px 85px 104px 92px 28px;gap:6px;margin:0 0 6px;align-items:center}
.ffl-srm-zeile input,.ffl-srm-zeile select{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:14px}
.ffl-srm-zeile.ffl-srm-doppelt input{border-color:var(--ffl-fehler,#ED1A3B);background:#fff5f5}
.ffl-srm-vj{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap;cursor:pointer}
.ffl-srm-vj input{width:auto;margin:0}
.ffl-srm-zeile.ffl-srm-widerspruch input[type=number],.ffl-srm-zeile.ffl-srm-widerspruch .ffl-srm-vj{outline:2px solid var(--ffl-warnung,#F6701A);border-radius:6px}
.ffl-srm-weg{border:0;background:none;font-size:20px;line-height:1;color:var(--ink-3);cursor:pointer}
.ffl-srm-weg:hover{color:var(--ffl-fehler,#ED1A3B)}
.ffl-srm-fuss{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.ffl-srm-plus{border:1px dashed var(--line);background:#fafbf9;border-radius:6px;padding:5px 12px;cursor:pointer;font-size:13px}
.ffl-srm-stand{font-size:13px;color:var(--ink-3)}
.ffl-srm-stand .warn{color:var(--ffl-fehler,#ED1A3B)}
.ffl-srm-stand .ok{color:#2d6b37}
.ffl-srm-stand .sg{color:#2c4a8a}
.ffl-srm-melder{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.ffl-srm-melder label{display:flex;flex-direction:column;font-size:13px;gap:3px}
.ffl-srm-melder input{padding:6px 8px;border:1px solid var(--line);border-radius:6px}
.ffl-srm-check{display:flex;gap:8px;align-items:flex-start;font-size:13px}
.ffl-srm-senden{background:var(--ffl-farbe);color:#fff;border:0;border-radius:8px;padding:10px 20px;font-size:15px;cursor:pointer}
@media (max-width:640px){
.ffl-srm-zeile{grid-template-columns:1fr 1fr;padding:8px;border:1px solid var(--line);border-radius:8px}
.ffl-srm-zeile .ffl-srm-weg{grid-column:2;justify-self:end}
.ffl-srm-melder{grid-template-columns:1fr}
}
/* Einheitliche Hinweisboxen für Shortcodes – ffl_hinweis() (3.97.0) */
.ffl-hinweisbox{position:relative;margin:0 0 12px;padding:14px 16px 14px 46px;border-left:4px solid;border-radius:0 8px 8px 0;font-size:15px;line-height:1.5}
.ffl-hinweisbox::before{position:absolute;left:14px;top:13px;width:22px;height:22px;border-radius:50%;color:#fff;font-weight:700;font-size:14px;line-height:22px;text-align:center}
.ffl-hinweisbox-fehler{background:#fdeceb;border-color:var(--ffl-fehler,#ED1A3B);color:#7a1020}
.ffl-hinweisbox-fehler::before{content:"!";background:var(--ffl-fehler,#ED1A3B)}
.ffl-hinweisbox-erfolg{background:#e6f2e8;border-color:#3e8f4a;color:#1f4d27}
.ffl-hinweisbox-erfolg::before{content:"\2713";background:#3e8f4a}
.ffl-hinweisbox-info{background:#eef2fb;border-color:#2c4a8a;color:#1f3563}
.ffl-hinweisbox-info::before{content:"i";background:#2c4a8a;font-family:Georgia,serif;font-style:italic}
.ffl-hinweisbox a{color:inherit;font-weight:600}
/* Liga-Handzettel-Link in der Ligen-Tabelle eines Vereins (3.98.0) */
.ffl-handzettel{display:inline-block;margin-top:3px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--line);border-radius:4px;padding:1px 7px;color:var(--ffl-farbe-dunkel)}
.ffl-handzettel::before{content:"\1F4C4 "}
.ffl-handzettel:hover{border-color:var(--ffl-farbe)}
/* Ligen-Übersicht eines Vereins: eigene Spalte für PDF/SM/ICS (3.99.1) */
.ffl-linkspalte{white-space:nowrap}
.ffl-linkspalte .ffl-smlinks{margin-left:0}
/* SR-Kurse Ergebniserfassung: Foto der Kursergebnisdokumentation (3.101.0) */
.ffl-sr-foto-box label{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.ffl-sr-foto-vorhanden{display:flex;align-items:center;gap:10px;margin:6px 0}
.ffl-sr-foto-vorhanden img{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
/* SR-Kurse Ergebniserfassung: Kopf wie der Kurskopf im Backend (3.102.1) */
.ffl-sr-ergkopf-etikett{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.ffl-sr-ergkopf{display:flex;align-items:stretch;border:1px solid #cfe5d3;border-left:6px solid var(--ffl-farbe);border-radius:10px;background:#eef7f0;overflow:hidden;margin:0 0 10px}
.ffl-sr-ergkopf-haupt{flex:1;min-width:0;padding:14px 18px;display:flex;flex-direction:column;gap:3px}
.ffl-sr-ergkopf-titel{font-size:19px;line-height:1.3;font-family:var(--display);color:var(--ffl-farbe-dunkel)}
.ffl-sr-ergkopf-titel span{font-weight:normal;font-size:16px;color:var(--ink-2)}
.ffl-sr-ergkopf-datum{font-weight:700;color:var(--ink);font-size:15px}
.ffl-sr-ergkopf-zeile{color:var(--ink-2);font-size:14px}
.ffl-sr-ergkopf-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ffl-sr-ergkopf-chips span{background:#fff;border:1px solid #cfe5d3;border-radius:99px;padding:2px 10px;font-size:12.5px;color:var(--ink-2)}
.ffl-sr-ergkopf-wert{flex:0 0 108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-left:1px solid #cfe5d3;background:#dcefe0;text-align:center;padding:8px}
.ffl-sr-ergkopf-wert b{font-size:24px;line-height:1.1;font-family:var(--display);color:#2d6b37}
.ffl-sr-ergkopf-wert span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}
.ffl-sr-ergkopf-wert small{font-size:12px;color:#2d6b37}
.ffl-sr-ergkopf-wert-warnung{background:var(--ffl-warnung-tint,#feefe3)}
.ffl-sr-ergkopf-wert-warnung b{color:#b25400}
.ffl-sr-ergkopf-logo{flex:0 0 96px;display:flex;align-items:center;justify-content:center;border-left:1px solid #cfe5d3;background:#fff;padding:8px}
.ffl-sr-ergkopf-logo img{max-width:76px;max-height:76px;object-fit:contain}
.ffl-sr-ergkopf-logo:empty{display:none}
.ffl-sr-ergkopf-leiste{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.ffl-sr-ergkopf-leiste .ffl-sr-erfasst-von{margin:0;font-size:13px;color:var(--ink-2)}
@media (max-width:600px){
.ffl-sr-ergkopf{flex-wrap:wrap}
.ffl-sr-ergkopf-haupt{flex:1 1 100%}
.ffl-sr-ergkopf-wert,.ffl-sr-ergkopf-logo{flex:1 1 50%;border-left:0;border-top:1px solid #cfe5d3}
}
/* Kursdetails (Anmeldeseite) – wiederhergestellt */
.ffl-sr-kursdetails-flex{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:12px;flex-wrap:wrap}
.ffl-sr-kursdetails-info{flex:3 1 260px}
.ffl-sr-kursdetails-karte{flex:2 1 200px;max-width:320px}
.ffl-sr-kursdetails-karte .ffl-sr-maps{aspect-ratio:1/1 !important;height:auto !important;border-radius:8px}
.ffl-sr-kursdetails-info h3{margin:0 0 4px;font-family:var(--display);font-size:19px;line-height:1.15}
.ffl-sr-kursdetails-info .row{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-3);margin:0 0 3px;line-height:1.3}
.ffl-sr-kursdetails-info .ffl-sr-zurueck{margin:6px 0 0;font-size:13px}
/* SR-Kurse: Foto-Kasten grau, Button „= Zugehöriger Verein“ (3.104.1) */
.ffl-sr-foto-box{max-width:520px;margin:16px 0;padding:12px 14px;background:#f3f4f2;border:1px solid #dcdfda;border-radius:8px}
.ffl-sr-foto-box>b{display:block;margin-bottom:4px}
.ffl-sr-verein-kopieren{margin:4px 0 0 6px;padding:2px 8px;font-size:12px;line-height:1.6;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.ffl-sr-verein-kopieren:hover{border-color:var(--ffl-farbe);color:var(--ffl-farbe-dunkel)}
.ffl-sr-verein-kopieren.ffl-sr-kopiert{background:#e6f2e8;border-color:#3e8f4a;color:#1f4d27}
.ffl-sr-ergkopf-chips .ffl-sr-ergkopf-chip-hinweis{background:#fff7e0;border-color:#e0c46b;color:#7a5600}
/*
Zum Anzeigen der Karte wird Google Maps geladen. Dabei werden Daten an Google übertragen.
Karte anzeigen Die Zustimmung wird gemerkt und gilt dann für alle Karten dieser Website. Widerrufen lässt sie sich über die Cookie-Einstellungen.
In Rot: 7 Hallen mit Spielen an diesem Wochenende (Sa. 07.11. / So. 08.11.)
73Spiele dieses Wochenende · 6 Spiele Robert-Blum Monumentenstraße 13C, 10829 Berlin BB BR SCS SSVR 68Spiele dieses Wochenende · 4 Spiele von-Steuben Bellavitestraße 1, 14480 Potsdam SCP 59Spiele dieses Wochenende · 4 Spiele Glückskompass Quedlinburger Straße 56, 12627 Berlin BFK RR 53Spiele Anne-Frank John-Schehr-Straße 18, 14513 Teltow RSVE 49Spiele dieses Wochenende · 5 Spiele Ludwig-Hoffmann-Quartier Wiltbergstraße 90, 13125 Berlin EJB UHC 45Spiele dieses Wochenende · 4 Spiele Hoffmann-von-Fallersleben Ziekowstraße 80-88, 13509 Berlin BR TT 40Spiele Erwin-Benke Clara-Zetkin-Str. 5a, 15834 Rangsdorf RR 27Spiele dieses Wochenende · 9 Spiele Kant-Gymnasium Liselotte-Herrmann-Str. 4D, 14513 Teltow RSVE 18Spiele KW 11 Konrad-Wolf-Straße 11, 13055 Berlin EJB 16Spiele Schwärzseehalle Potsdamer Allee 37, 16227 Eberswalde EWS 15Spiele dieses Wochenende · 5 Spiele Ehm-Welk Alexander-von-Humboldt-Str. 43, 03222 Lübbenau/Spreewald PSV 15Spiele Hans-Fallada Harzer Str. 73-74, 12059 Berlin FTB 15Spiele Mellensee Hauptstraße 21, 15834 Am Mellensee MS 13Spiele Rennbahn Rennbahnstraße 46, 13086 Berlin EJB RR 12Spiele Preußenhalle Heinz-Sielmann-Ring 65, 14476 Potsdam SC2000 12Spiele Werner-Ruhemann Forckenbeckstraße 37, 14199 Berlin BB SSVR 11Spiele Fontane-Gymnasium Fontaneweg 24, 15834 Rangsdorf RR 8Spiele GS am Panketal Achillesstraße 31, 13125 Berlin KD 7Spiele Carl-Friedrich-von-Siemens-Gym. Jungfernheideweg 79, 13629 Berlin EJB SCS SSVR 5Spiele OSZ Elinor-Ostrom links Mandelstr. 6 - 8, 10409 Berlin TSC 3Spiele Schloßstraße Schlossstraße 56, 14059 Berlin BB SSVR 2Spiele Havelland Wilhelm-Kabus-Straße 30 - 30 a, 10829 Berlin BR SCS 2Spiele Kniprodestr. Kniprodestr. 27, 10407 Berlin 0Spiele OSZ Elinor-Ostrom rechts Mandelstr. 6 - 8, 10409 Berlin TSC
: Kachelleiste unter der Karte (3.106.0) */
.ffl-hk-leiste{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.ffl-hk-kachel{flex:0 0 210px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font:inherit;color:inherit;transition:transform .12s,box-shadow .12s,border-color .12s}
.ffl-hk-kachel:hover:not([disabled]){transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08);border-color:var(--ffl-farbe-mittel,#b9d7be)}
.ffl-hk-kachel.aktiv{border-color:var(--ffl-farbe);box-shadow:0 0 0 2px var(--ffl-farbe-hell,#e6f2e8)}
.ffl-hk-kachel[disabled]{cursor:default;opacity:.75}
.ffl-hk-zahl{font-family:var(--display);font-size:30px;line-height:1;font-weight:700;display:flex;align-items:baseline;gap:5px}
.ffl-hk-zahl small{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
.ffl-hk-name{font-weight:700;font-size:14.5px;line-height:1.25;margin-top:4px;color:var(--ink)}
.ffl-hk-adr{font-size:12.5px;line-height:1.35;color:var(--ink-3)}
.ffl-hk-vereine{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.ffl-hk-vereine i{font-style:normal;font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--ffl-farbe-hell,#eef4ef);color:var(--ffl-farbe-dunkel,#1f4d27)}
.ffl-hk-balken{align-self:stretch;height:5px;border-radius:3px;background:#eef0ed;margin-top:auto;overflow:hidden}
.ffl-hk-balken b{display:block;height:100%;border-radius:3px}
/* Vereins-Pills und Balken als Block am unteren Kachelrand – auf allen Kacheln auf einer Höhe */
.ffl-hk-kachel .ffl-hk-vereine{margin-top:auto;padding-top:8px}
.ffl-hk-kachel .ffl-hk-vereine:empty{padding-top:0}
.ffl-hk-kachel .ffl-hk-balken{margin-top:10px}
/*
Schiedsrichter-Kontingente
Kat. Kategorie Ligen Kontingent K 1 Ü30, FZL 1 Person K 2 Erw. KF, Erw. GF 3 Personen K 3 U17 3 Personen K 4 U13, U15 3 Personen K 5 U9, U11 2 Personen
Das Kontingent gilt je Kategorie für das erste gemeldete Team; jedes weitere Team derselben Kategorie erhöht die Zahl um eine Person (gemäß SRO).
Angaben ohne Gewähr. Es gilt die jeweils aktuelle SRO.
: abgekürzte Spaltentitel mit Tooltip (3.106.1) */
.ffl-tip{position:relative;display:inline-block;border-bottom:1px dotted currentColor;cursor:default;outline:none}
.ffl-tip::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);z-index:20;padding:4px 9px;border-radius:5px;background:#1c1f1b;color:#fff;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.18);opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none}
.ffl-tip:hover::after,.ffl-tip:focus::after{opacity:1;visibility:visible}
.ffl-tip-rechts::after{left:auto;right:0}
.ffl-tip:focus-visible{box-shadow:0 0 0 2px var(--ffl-farbe-hell,#e6f2e8);border-radius:2px}
.ffl-nur-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/*
Zum Anzeigen der Karte wird Google Maps geladen. Dabei werden Daten an Google übertragen.
Karte anzeigen Die Zustimmung wird gemerkt und gilt dann für alle Karten dieser Website. Widerrufen lässt sie sich über die Cookie-Einstellungen.
In Rot: 7 Hallen mit Spielen an diesem Wochenende (Sa. 07.11. / So. 08.11.)
73Spiele dieses Wochenende · 6 Spiele Robert-Blum Monumentenstraße 13C, 10829 Berlin BB BR SCS SSVR 68Spiele dieses Wochenende · 4 Spiele von-Steuben Bellavitestraße 1, 14480 Potsdam SCP 59Spiele dieses Wochenende · 4 Spiele Glückskompass Quedlinburger Straße 56, 12627 Berlin BFK RR 53Spiele Anne-Frank John-Schehr-Straße 18, 14513 Teltow RSVE 49Spiele dieses Wochenende · 5 Spiele Ludwig-Hoffmann-Quartier Wiltbergstraße 90, 13125 Berlin EJB UHC 45Spiele dieses Wochenende · 4 Spiele Hoffmann-von-Fallersleben Ziekowstraße 80-88, 13509 Berlin BR TT 40Spiele Erwin-Benke Clara-Zetkin-Str. 5a, 15834 Rangsdorf RR 27Spiele dieses Wochenende · 9 Spiele Kant-Gymnasium Liselotte-Herrmann-Str. 4D, 14513 Teltow RSVE 18Spiele KW 11 Konrad-Wolf-Straße 11, 13055 Berlin EJB 16Spiele Schwärzseehalle Potsdamer Allee 37, 16227 Eberswalde EWS 15Spiele dieses Wochenende · 5 Spiele Ehm-Welk Alexander-von-Humboldt-Str. 43, 03222 Lübbenau/Spreewald PSV 15Spiele Hans-Fallada Harzer Str. 73-74, 12059 Berlin FTB 15Spiele Mellensee Hauptstraße 21, 15834 Am Mellensee MS 13Spiele Rennbahn Rennbahnstraße 46, 13086 Berlin EJB RR 12Spiele Preußenhalle Heinz-Sielmann-Ring 65, 14476 Potsdam SC2000 12Spiele Werner-Ruhemann Forckenbeckstraße 37, 14199 Berlin BB SSVR 11Spiele Fontane-Gymnasium Fontaneweg 24, 15834 Rangsdorf RR 8Spiele GS am Panketal Achillesstraße 31, 13125 Berlin KD 7Spiele Carl-Friedrich-von-Siemens-Gym. Jungfernheideweg 79, 13629 Berlin EJB SCS SSVR 5Spiele OSZ Elinor-Ostrom links Mandelstr. 6 - 8, 10409 Berlin TSC 3Spiele Schloßstraße Schlossstraße 56, 14059 Berlin BB SSVR 2Spiele Havelland Wilhelm-Kabus-Straße 30 - 30 a, 10829 Berlin BR SCS 2Spiele Kniprodestr. Kniprodestr. 27, 10407 Berlin 0Spiele OSZ Elinor-Ostrom rechts Mandelstr. 6 - 8, 10409 Berlin TSC
: Wochenend-Markierung in Rot (3.107.0, ohne Pulsieren seit 3.107.1) */
.ffl-hk-unten{margin:0!important;padding:0}
.ffl-hk-unten .ffl-hk-legende{display:flex;align-items:center;gap:8px;margin:6px 0 4px!important;padding:0;font-size:12px;line-height:1.4;color:var(--ink-3)}
.ffl-hk-legende-puls{position:relative;flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:#d91a2e}
.ffl-hk-kachel.ffl-hk-wochenende{border-color:#f3b3bc;box-shadow:0 0 0 1px #f3b3bc inset}
.ffl-hk-we-marke{align-self:flex-start;margin-top:4px;padding:1px 8px;border-radius:99px;background:#fdeceb;color:#a3101f;font-size:11px;font-weight:700}
/* Gebühren: Marke Teamrückzug (3.110.3) */
.ffl-status.ffl-rz{background:#fdeceb;color:#a3101f}
/* Gebühren: Zeile eines zurückgezogenen Teams zartorange (3.110.4) */
.ffl-plan tr.ffl-row-rueckzug td{background:#fff3e3}
.ffl-plan tr.ffl-row-rueckzug:hover td{background:#ffe9cf}
/* Zentrierte Spalten, z. B. „ID SM (FD)“ (3.110.5) */
.ffl-plan th.ffl-mitte,.ffl-plan td.ffl-mitte{text-align:center}
/*
96% Erfüllungsgrad 192 von 199 gemeldet
Rückmeldungen der 20 Vereine mit Kontingent
18 vollständig1 teilweise1 ohne Rückmeldung
Meldungen und Nachmeldungen nehmen die Vereine über individuelle, von der RSK bereitgestellte Links vor.
: kompaktes Band zum Stand der SR-Kontingentmeldungen (3.111.1) – Ring + Vereinspunkte */
.ffl-sms{width:100%;box-sizing:border-box;padding:10px 16px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}
.ffl-sms-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin-bottom:2px}
.ffl-sms-kpis{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 18px;margin-bottom:6px}
.ffl-sms-titel{font-weight:700;font-size:13px;color:var(--ink)}
.ffl-sms-kpi{font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.ffl-sms-kpi b{font-family:var(--display);font-size:22px;line-height:1;color:var(--ffl-farbe-dunkel,var(--ink));margin-right:2px}
.ffl-sms-kpi small{font-size:11px;font-weight:500;color:var(--ink-3)}
.ffl-sms-link{margin-left:auto;font-size:12.5px;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--ffl-farbe-dunkel,var(--ffl-farbe))}
.ffl-sms-link:hover{text-decoration:underline}
.ffl-sms-inhalt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.ffl-sms-ring{display:flex;align-items:center;gap:10px;color:var(--ink)}
.ffl-sms-inhalt .ffl-sms-ring svg{width:58px;height:58px}
.ffl-sms-ring span{display:flex;flex-direction:column;font-size:12px;line-height:1.3}
.ffl-sms-ring small{color:var(--ink-3);font-size:11px}
.ffl-sms-punkte{flex:1 1 240px;min-width:0}
.ffl-sms-label{font-size:11.5px;color:var(--ink-3);margin-bottom:4px}
.ffl-sms-reihe{display:flex;flex-wrap:wrap;gap:3px}
.ffl-sms-p{display:block;width:13px;height:13px;border-radius:3px}
.ffl-sms-p.voll,.ffl-sms-legende .voll::before{background:#2f8f46}
.ffl-sms-p.teil,.ffl-sms-legende .teil::before{background:#f08a1c}
.ffl-sms-p.keine,.ffl-sms-legende .keine::before{background:#d9302c}
.ffl-sms-legende{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:5px;font-size:11.5px;color:var(--ink-2)}
.ffl-sms-legende span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.ffl-sms-hinweis{margin:6px 0 0!important;font-size:11px;line-height:1.35;color:var(--ink-3)}
/* SBB-Pill (3.112.1) */
.ffl-sm.sbb{background:#fff;border-color:#1f6b32;color:#1f6b32;font-weight:700;margin-left:4px;line-height:1.6;vertical-align:2px} /* gleiche Höhe/Lage wie .ffl-bericht und .ffl-sr-link */
/* Ergebnisse aus dem Saisonmanager (FF SM Importer) in Terminlisten (3.116.0) */
.ffl-erg{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:#1c1f1b;color:#fff;font-family:var(--display);font-size:11.5px;font-weight:700;line-height:1.6;vertical-align:1px;white-space:nowrap}
.ffl-erg small{font-size:9.5px;font-weight:600;opacity:.85}
.ffl-erg.live{background:#d9302c;animation:none}
.ffl-erg.hinweis{background:#fdeceb;color:#a3101f;font-family:inherit;font-weight:600}
td.ffl-erg-zelle .ffl-erg{margin-left:0}
/* Spielberichte/SR-Abrechnungen: festes Raster – Ergebnis in eigener Spalte nach der Uhrzeit (3.116.1) */
.ffl-auswahl-tag li{display:grid;grid-template-columns:34px 48px 88px minmax(180px,1fr) auto;align-items:center;column-gap:12px;row-gap:6px}
.ffl-auswahl-tag .erg{text-align:left}
.ffl-auswahl-tag .erg .ffl-erg{margin-left:0;font-size:13px;padding:1px 7px;vertical-align:0}
.ffl-auswahl-tag .paar{min-width:0}
.ffl-auswahl-tag .akt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ffl-auswahl-tag .akt .ffl-sm.sbb{margin-left:0;vertical-align:0}
@media (max-width:640px){.ffl-auswahl-tag li{grid-template-columns:30px 44px 1fr;}.ffl-auswahl-tag .paar{grid-column:1 / -1;order:4}.ffl-auswahl-tag .akt{grid-column:1 / -1;order:5;justify-content:flex-start}.ffl-auswahl-tag .erg{order:3}}
/* Spiele unter dem Spieltag-Kopf (volle Breite) */
tr.ffl-spiele-reihe > td{padding:0 12px 8px 12px!important;border-top:0!important;background:inherit}
tr:has(+ tr.ffl-spiele-reihe) > td{border-bottom:0!important;padding-bottom:4px}
tr.ffl-spiele-reihe .ffl-spiele{margin-left:2px}
tr.ffl-spiele-reihe .ffl-spiele-tab{margin-left:14px}
.ffl-termine tr.ffl-spiele-reihe.ffl-vergangen > td{opacity:1} /* Ergebnisse vergangener Spieltage gut lesbar; nur der Kopf bleibt blass */
.ffl-plan th.mitte,.ffl-plan td.mitte{text-align:center}
.ffl-plan td.mitte .ffl-tip{display:inline-block}
/* Termine/Vereine (3.116.2): Spieltag-Kopf dominant, Spiele als einheitliches Raster über die volle Breite */
table.ffl-plan > tbody > tr:has(+ tr.ffl-spiele-reihe) > td{background:var(--ffl-farbe-hell,#f4f7f4);font-weight:600;font-size:14.5px;border-top:2px solid var(--line);padding-top:10px;padding-bottom:8px}
table.ffl-plan > tbody > tr:has(+ tr.ffl-spiele-reihe) > td.date{font-size:15px;color:var(--ffl-farbe-dunkel,var(--ink))}
tr.ffl-spiele-reihe > td{padding:4px 12px 12px!important;border-top:0!important;background:#fff}
.ffl-spiele > summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-2);padding:2px 0 4px}
.ffl-spiele > summary::-webkit-details-marker{display:none}
.ffl-spiele > summary::before{content:"";width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s}
.ffl-spiele[open] > summary::before{transform:rotate(90deg)}
.ffl-sp{width:100%;font-size:13px}
.ffl-sp-z{display:grid;grid-template-columns:38px 56px minmax(0,1.3fr) minmax(0,1.3fr) 100px 52px minmax(0,1fr) 56px 92px 80px;align-items:center;column-gap:10px;padding:4px 0;border-bottom:1px solid #eef0ee;line-height:1.4}
.ffl-sp-z:last-child{border-bottom:0}
.ffl-sp-z > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ffl-sp-kopf{border-bottom:1px solid var(--line);padding:0 0 3px}
.ffl-sp-kopf > span{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}
.ffl-sp .nr{text-align:right;color:var(--ink-3);font-family:var(--mono,monospace);font-size:12px}
.ffl-sp-kopf .nr{font-family:inherit}
.ffl-sp .zeit{font-variant-numeric:tabular-nums;color:var(--ink-2)}
.ffl-sp .heim,.ffl-sp .gast{font-weight:600;color:var(--ink)}
.ffl-sp .heim.eigen,.ffl-sp .gast.eigen{color:var(--ffl-farbe-dunkel,var(--ink))} /* nur das Team des gewählten Vereins */
.ffl-sp .sr.eigen{color:var(--ffl-farbe-dunkel,var(--ink));font-weight:600}
.ffl-sp .erg .ffl-erg{margin-left:0;vertical-align:middle;font-size:12.5px;padding:1px 7px}
.ffl-sp .sr{color:var(--ink-3);font-size:12px}
.ffl-sp .l-sbb > a,.ffl-sp .l-ber > a,.ffl-sp .l-sr > a,.ffl-sp .l-sr > span,.ffl-sp .l-ber > span{margin:0;vertical-align:middle}
.ffl-sp .ffl-sm.sbb{margin-left:0;vertical-align:middle}
@media (max-width:760px){.ffl-sp-kopf{display:none}.ffl-sp-z{grid-template-columns:30px 48px minmax(0,1fr) minmax(0,1fr) auto;row-gap:4px}.ffl-sp .halle,.ffl-sp .sr{display:none}.ffl-sp .l-sbb{grid-column:3}.ffl-sp .l-ber{grid-column:4}}
/* SR-Abrechnungen: abgerechnete Spiele ausgegraut, über zwei Abrechnungen zartrot; Frist (3.117.0) */
.ffl-auswahl-tag li.voll{opacity:.5}
.ffl-auswahl-tag li.voll.mehr{background:#fdecec;opacity:.6}
.ffl-hinweiskasten{margin:14px 0 4px;padding:10px 14px;border-left:4px solid var(--ffl-farbe,#ED1A3B);background:#f6f7f6;border-radius:0 6px 6px 0;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.ffl-sr-link.abgelaufen{opacity:.55;cursor:default;text-decoration:none}
/* SR-Kurse: Pins wie auf der Kursorte-Karte (anstehend Grün, bereits durchgeführt Zartrot) + Legende (3.121.0) */
.ffl-sr-pin{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.14),0 1px 2px rgba(0,0,0,.18);vertical-align:.08em;margin-left:2px;flex:0 0 auto}
.ffl-sr-karte-legende{text-align:right;font-size:12px;color:#6b7280;margin:6px 2px 18px}
.ffl-sr-karte-legende .ffl-sr-pin{width:10px;height:10px;margin:0 3px 0 0;vertical-align:-.05em}
.ffl-sr-karte-legende .abst{display:inline-block;width:14px}
.ffl-sr-kurskachel b .ffl-sr-pin{width:9px;height:9px;border-width:1.5px;vertical-align:-.02em;margin-left:3px} /* kleinere Schrift der Kacheln */
/* SR-Kurs-Anmeldung: Gastgebender Verein und Kursort als Block ohne Abstand (3.121.2) */
.ffl-sr-kursdetails-info .ffl-sr-ortblock{margin:6px 0 0;line-height:1.45;color:var(--ink-2,#4a524a);font-size:.95em}
.ffl-sr-kursdetails-info .ffl-sr-ortblock > div{margin:0;padding:0}
/* SR-Kurse Ergebniseingabe: Kommentar je Teilnehmer:in (3.122.0) */
.ffl-sr-erg-tabelle td.ffl-sr-erg-kommentar input{width:100%;min-width:160px;box-sizing:border-box}
.ffl-sr-erg-tabelle th.ffl-sr-erg-kommentar{min-width:170px}
/*
(3.132.0) */
.ffl-mein-profil .ffl-p-box{background:#fff;border:1px solid var(--line,#dde2dd);border-radius:8px;padding:14px 18px;margin:0 0 16px}
.ffl-mein-profil .ffl-p-box h3{margin:0 0 10px}
.ffl-mein-profil .ffl-p-box > summary{cursor:pointer}
.ffl-mein-profil .ffl-p-tag{display:inline-block;font-size:11px;font-weight:600;color:#1f5f99;background:#e8f1fb;border:1px solid #bcd6f0;border-radius:3px;padding:0 6px;vertical-align:middle}
.ffl-mein-profil .ffl-p-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 12px}
.ffl-mein-profil .ffl-p-dl dt{font-weight:600;color:var(--ink-2,#4a524a)}
.ffl-mein-profil .ffl-p-dl dd{margin:0}
.ffl-mein-profil .ffl-p-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0}
.ffl-mein-profil .ffl-p-form label{display:flex;flex-direction:column;gap:3px;font-weight:600;font-size:14px}
.ffl-mein-profil .ffl-p-hist{width:100%}
/* Verknüpfen: nach erster Verknüpfung nur noch zugeklappte Zeile (4.2.5) */
.ffl-mein-profil .ffl-p-verknuepfen.kompakt:not([open]){background:transparent;border-style:dashed;padding:8px 14px}
.ffl-mein-profil .ffl-p-verknuepfen.kompakt:not([open]) summary b{font-weight:600;color:var(--ffl-farbe-dunkel,#2d6b37)}
.ffl-mein-profil .ffl-p-fuer{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;flex-basis:100%}
.ffl-mein-profil .ffl-p-fuer legend{font-weight:600;font-size:14px;padding:0;margin-bottom:3px}
.ffl-mein-profil .ffl-p-fuer label{flex-direction:row;align-items:center;gap:6px;font-weight:400}
/* Kästchen gut erkennbar – leer: weiß mit kräftigem Rahmen, angekreuzt: grün mit Haken (4.0.8). Überschreibt fremde Admin-Designs. */
.ffl input[type=checkbox]{-webkit-appearance:none !important;appearance:none !important;width:18px !important;height:18px !important;min-width:18px;margin:0 4px 0 0;padding:0;border:2px solid #7b847d !important;border-radius:4px !important;background:#fff !important;box-shadow:none !important;display:inline-block;vertical-align:-4px;position:relative;cursor:pointer;transition:background .12s,border-color .12s}
.ffl input[type=checkbox]:hover{border-color:#3e8f4a !important}
.ffl input[type=checkbox]:checked{background:#3e8f4a !important;border-color:#3e8f4a !important}
.ffl input[type=checkbox]:checked::before{content:"" !important;position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);margin:0 !important;background:none !important;float:none !important}
.ffl input[type=checkbox]:focus-visible{outline:2px solid #2271b1;outline-offset:2px}
.ffl input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}
/* Spiele mit offenem Termin (4.1.1) */
.ffl-offen{margin:18px 0 6px}
.ffl-offen .ffl-h small{display:block;margin-top:2px;font-family:var(--body,inherit);font-size:12px;text-transform:none;font-weight:400;color:#6b7280}
.ffl-offen-tab{border-left:3px solid #F6701A}
.ffl-offen-tab .ffl-muted{color:#6b7280}
/* SR-Abrechnung: Schiedsrichter-Block unter der Paarung – drei feste Spalten (4.1.10) */
.ffl-auswahl-tag .paar > b{font-weight:700}
.ffl-auswahl-tag .ffl-sr-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px;margin-top:6px;padding:6px 10px;background:#f6f7f6;border:1px solid var(--line,#e5e7eb);border-radius:6px;font-weight:400}
.ffl-auswahl-tag .ffl-sr-feld{display:flex;flex-direction:column;min-width:0}
.ffl-auswahl-tag .ffl-sr-feld .k{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3,#8a9089);line-height:1.4}
.ffl-auswahl-tag .ffl-sr-feld .v{font-size:13px;line-height:1.35;color:var(--ink,#1f2937);overflow-wrap:anywhere}
.ffl-auswahl-tag .ffl-sr-feld.gep .v{font-weight:600}
.ffl-auswahl-tag .ffl-sr-feld .v i{font-style:normal;font-weight:400;color:var(--ink-3,#9ca3af)}
.ffl-auswahl-tag .ffl-sr-feld.abw .v{color:#b45309}
.ffl-auswahl-tag .ffl-sr-feld.abw .k::after{content:"abweichend";margin-left:6px;padding:0 5px;border-radius:3px;background:#fdecd6;color:#9a3412;font-size:9.5px;letter-spacing:.04em}
@media (max-width:640px){.ffl-auswahl-tag .ffl-sr-info{grid-template-columns:1fr}}
/* SR-Abrechnung: feste Aktionsspalte – Status über der Schaltfläche, Schiedsrichter-Block immer gleich breit (4.1.11) */
.ffl-auswahl-sr .ffl-auswahl-tag li{grid-template-columns:34px 48px 88px minmax(0,1fr) 210px;align-items:start}
.ffl-auswahl-sr .ffl-auswahl-tag li > .nr,.ffl-auswahl-sr .ffl-auswahl-tag li > .zeit,.ffl-auswahl-sr .ffl-auswahl-tag li > .erg{padding-top:3px}
.ffl-auswahl-sr .ffl-auswahl-tag .akt{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;flex-wrap:nowrap;padding-top:26px}
.ffl-auswahl-sr .ffl-auswahl-tag .akt .btn{text-align:center;white-space:nowrap}
.ffl-auswahl-sr .ffl-auswahl-tag .akt .status{text-align:center}
@media (max-width:640px){.ffl-auswahl-sr .ffl-auswahl-tag li{grid-template-columns:30px 44px 1fr}.ffl-auswahl-sr .ffl-auswahl-tag .akt{padding-top:0}}
/*
Bitte melde dich an , um deine Schiedsrichter-Abrechnungen zu sehen.
(4.2.1) */
.ffl-meine-sr .ffl-msr-saisons{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px 0}
.ffl-meine-sr .ffl-msr-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;line-height:1.5}
.ffl-meine-sr .ffl-msr-pill span{font-size:12px;font-weight:600;color:var(--ink-3);background:#f1f3f1;border-radius:999px;padding:0 7px}
.ffl-meine-sr .ffl-msr-pill:hover{border-color:var(--ffl-farbe)}
.ffl-meine-sr .ffl-msr-pill.aktiv{background:var(--ffl-farbe);border-color:var(--ffl-farbe);color:#fff}
.ffl-meine-sr .ffl-msr-pill.aktiv span{background:rgba(255,255,255,.25);color:#fff}
.ffl-meine-sr .ffl-msr-kacheln{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px}
.ffl-meine-sr .ffl-msr-kachel{background:var(--ffl-farbe-hell);border:1px solid var(--ffl-farbe-mittel);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.ffl-meine-sr .ffl-msr-kachel b{font-family:var(--display);font-size:24px;font-weight:700;line-height:1.1;color:var(--ffl-farbe-dunkel);white-space:nowrap}
.ffl-meine-sr .ffl-msr-kachel span{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);font-weight:600}
.ffl-meine-sr .ffl-msr-kachel.haupt{background:var(--ffl-farbe);border-color:var(--ffl-farbe)}
.ffl-meine-sr .ffl-msr-kachel.haupt b,.ffl-meine-sr .ffl-msr-kachel.haupt span{color:#fff}
.ffl-meine-sr .ffl-msr-wrap{padding:0 16px 12px;overflow-x:auto}
.ffl-meine-sr .ffl-msr-tab{width:100%;border-collapse:collapse;font-size:14.5px}
.ffl-meine-sr .ffl-msr-tab th{text-align:left;font-family:var(--display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);border-bottom:2px solid var(--line);padding:8px 8px}
.ffl-meine-sr .ffl-msr-tab td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.ffl-meine-sr .ffl-msr-tab tbody tr:nth-child(even) td{background:#fafbfa}
.ffl-meine-sr .ffl-msr-tab tbody tr:hover td{background:var(--ffl-farbe-hell)}
.ffl-meine-sr .ffl-msr-tab .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ffl-meine-sr .ffl-msr-tab td.klein{font-size:13px;color:var(--ink-3);white-space:nowrap}
.ffl-meine-sr .ffl-msr-tab td:first-child{white-space:nowrap}
.ffl-meine-sr .ffl-msr-paar{display:block;font-family:var(--display);font-size:16px;font-weight:600}
.ffl-meine-sr .ffl-msr-tab td.spiel small{display:block;font-size:12.5px;color:var(--ink-3)}
.ffl-meine-sr .ffl-msr-tab tfoot th,.ffl-meine-sr .ffl-msr-tab tfoot td{border-top:2px solid var(--ink);border-bottom:0;padding-top:10px;color:var(--ink);font-size:14.5px;text-transform:none;letter-spacing:0;font-family:inherit;font-weight:700}
.ffl-meine-sr .ffl-msr-tab tr.raus td{color:var(--ink-3)}
.ffl-meine-sr .ffl-msr-tab tr.raus td.num{text-decoration:line-through}
.ffl-meine-sr .ffl-msr-tag{display:inline-block;font-size:11px;font-weight:600;border-radius:3px;padding:0 6px;border:1px solid var(--line);background:#f1f3f1;color:#4a524a;vertical-align:middle;text-decoration:none}
.ffl-meine-sr .ffl-msr-tag.int{background:var(--ffl-farbe-hell);border-color:var(--ffl-farbe-mittel);color:var(--ffl-farbe-dunkel)}
.ffl-meine-sr .ffl-msr-tag.ext{background:#e8f1fb;border-color:#bcd6f0;color:#1f5f99}
.ffl-meine-sr .ffl-msr-tag.alt{background:#f3eefb;border-color:#d9cdf0;color:#5b3f8f}
.ffl-meine-sr .ffl-msr-pill.alt:not(.aktiv){border-style:dashed}
.ffl-meine-sr .ffl-msr-tag.warn{background:var(--ffl-warnung-tint);border-color:#f6c39b;color:#b34d0a}
.ffl-meine-sr .ffl-msr-h{margin:16px 16px 0;font-family:var(--display);font-size:18px;font-weight:600;color:var(--ink)}
.ffl-meine-sr .ffl-msr-h small{display:block;font-family:inherit;font-size:12.5px;font-weight:400;color:var(--ink-3)}
.ffl-meine-sr .ffl-msr-andere{margin:10px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.ffl-meine-sr .ffl-msr-andere > summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;cursor:pointer;background:#f6f7f6;list-style:none}
.ffl-meine-sr .ffl-msr-andere > summary::-webkit-details-marker{display:none}
.ffl-meine-sr .ffl-msr-andere > summary::before{content:"▸";color:var(--ink-3);transition:transform .15s}
.ffl-meine-sr .ffl-msr-andere[open] > summary::before{transform:rotate(90deg)}
.ffl-meine-sr .ffl-msr-wer{font-family:var(--display);font-size:16px;font-weight:600}
.ffl-meine-sr .ffl-msr-wer-sum{margin-left:auto;font-size:14px;color:var(--ink-3)}
.ffl-meine-sr .ffl-msr-wer-sum b{color:var(--ink)}
.ffl-meine-sr .ffl-msr-andere .ffl-msr-wrap{padding:6px 12px 10px}
.ffl-meine-sr .ffl-msr-tag.raus{background:#fdeceb;border-color:#f3b7bf;color:#a1152e}
.ffl-meine-sr .ffl-msr-grund-raus{display:block;margin-top:6px;padding:6px 10px;background:#fdeceb;border-left:3px solid var(--ffl-fehler,#ED1A3B);border-radius:0 6px 6px 0;font-size:13px;line-height:1.45;color:#7a1020;text-decoration:none}
.ffl-meine-sr .ffl-msr-grund-raus small{color:#9a4a55}
.ffl-meine-sr .ffl-msr-tab tr.raus td.spiel .ffl-msr-paar{color:var(--ink-3)}
.ffl-meine-sr .ffl-msr-weg{color:var(--ink-3)}
.ffl-meine-sr .ffl-msr-grund{font-size:12.5px;color:var(--ink-3)}
.ffl-meine-sr .ffl-msr-tag.kind{background:#e8f1fb;border-color:#bcd6f0;color:#1f5f99}
.ffl-meine-sr .ffl-msr-fuss{margin:0;padding:0 16px 12px;font-size:13px;color:var(--ink-3)}
@media (max-width:720px){
.ffl-meine-sr .ffl-msr-kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}
.ffl-meine-sr .ffl-msr-tab thead{display:none}
.ffl-meine-sr .ffl-msr-tab,.ffl-meine-sr .ffl-msr-tab tbody,.ffl-meine-sr .ffl-msr-tab tfoot,.ffl-meine-sr .ffl-msr-tab tr,.ffl-meine-sr .ffl-msr-tab td,.ffl-meine-sr .ffl-msr-tab tfoot th{display:block;width:auto}
.ffl-meine-sr .ffl-msr-tab tbody tr{border:1px solid var(--line);border-radius:8px;margin:0 0 10px;overflow:hidden}
.ffl-meine-sr .ffl-msr-tab td{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef0ee;padding:7px 10px;text-align:right}
.ffl-meine-sr .ffl-msr-tab td::before{content:attr(data-label);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);text-align:left;flex:0 0 auto}
.ffl-meine-sr .ffl-msr-tab td.spiel{display:block;text-align:left}
.ffl-meine-sr .ffl-msr-tab td.spiel::before{display:block;margin-bottom:2px}
.ffl-meine-sr .ffl-msr-tab td:last-child{border-bottom:0}
.ffl-meine-sr .ffl-msr-tab tfoot tr{border:2px solid var(--ink);border-radius:8px;overflow:hidden}
.ffl-meine-sr .ffl-msr-tab tfoot td:empty{display:none}
.ffl-meine-sr .ffl-msr-tab tr.raus td.num{text-decoration:none;font-style:italic}
.ffl-meine-sr .ffl-msr-tab tfoot th{border:0;padding:8px 10px 4px}
.ffl-meine-sr .ffl-msr-tab tfoot td{border-top:0;padding:4px 10px}
}
/* SR-Kurse: Anmeldeschluss (4.2.13) */
.ffl-sr-anmeldeschluss{display:block;margin:6px 0 0;font-size:13px;color:#7a5200}
.ffl-sr-kurskachel .ffl-sr-anmeldeschluss{font-size:12px}
/* Termine: zuständiger Ansprechpartner (SBK) je Spieltag */
.ffl .ffl-st-ap{display:block;margin-top:2px;font-size:.82em;color:var(--ink-3);font-weight:400;line-height:1.3}
.ffl .ffl-st-ap a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.ffl .ffl-st-ap a:hover{color:var(--ffl-farbe-dunkel);border-bottom-style:solid}
.ffl .ffl-st-ap-label{display:inline-block;font-size:.78em;font-weight:600;letter-spacing:.03em;padding:0 5px;border-radius:3px;background:var(--ffl-farbe-hell,#eef3fb);color:var(--ffl-farbe-dunkel,#1e3a5f);margin-right:2px}
/* Termine: Halle, Adresse und Ausrichter platzsparend – Name · Adresse in einer Zeile, Ausrichter als kleine Marke dahinter */
.ffl-termine td[data-l="Halle"]{line-height:1.3}
.ffl-termine td[data-l="Halle"] a.ffl-halle{display:inline;line-height:inherit}
.ffl-termine td[data-l="Halle"] a.ffl-halle span:not(.ffl-halle-nr){display:inline;font-size:11.5px}
.ffl-termine td[data-l="Halle"] a.ffl-halle span:not(.ffl-halle-nr)::before{content:" · ";color:var(--ink-3)}
.ffl-termine td[data-l="Halle"] .ffl-ausrichter{display:inline-block;margin:0 0 0 6px;padding:0 6px;border-radius:3px;background:var(--ffl-farbe-hell);color:var(--ffl-farbe-dunkel);font-size:10.5px;font-weight:600;line-height:17px;vertical-align:1px;white-space:nowrap}
.ffl-termine td[data-l="Halle"] .ffl-hallen-mehrere{gap:1px}
.ffl-termine td[data-l="Halle"] a.ffl-halle .ffl-halle-nr{display:inline;font-size:12px;color:var(--ffl-farbe-dunkel)}
.ffl-termine td[data-l="Halle"] .ffl-hallen-mehrere + .ffl-ausrichter{margin:3px 0 0}
/* Karten-Zustimmung: Hinweis auch im Hallen-Popup; kleiner Zusatztext */
.ffl-mapframe{position:relative}
.ffl-karte-consent p.ffl-karte-consent-klein{font-size:12px;color:var(--ink-3)}
/* ===================== Bereiche & Ansprechpartner (Website-Stil: Rot/Bordeaux, Lato/Roboto) ===================== */
.ffl-org-sc{--ffl-org-rot:#ED1A3B;--ffl-org-bord:#7C2629;--ffl-org-text:#54595F;--ffl-org-rand:#E6E6E6;font-family:Roboto,system-ui,sans-serif;color:var(--ffl-org-text);font-size:15px;line-height:1.45;margin:0 0 20px}
.ffl-org-sc *{box-sizing:border-box}
.ffl-org-sc a{color:var(--ffl-org-bord)}
.ffl-org-sc-raster{display:grid;grid-template-columns:repeat(var(--ffl-org-spalten,3),minmax(0,1fr));gap:16px}
@media (max-width:1024px){.ffl-org-sc-raster{grid-template-columns:repeat(min(2,var(--ffl-org-spalten,3)),minmax(0,1fr))}}
@media (max-width:640px){.ffl-org-sc-raster{grid-template-columns:minmax(0,1fr)}}
.ffl-org-sc-karte{border:1px solid var(--ffl-org-rand);border-radius:5px;padding:14px 16px;background:#fff;position:relative;min-width:0;overflow-wrap:anywhere}
.ffl-org-sc-karte.ist-leitung{border-top:3px solid var(--ffl-org-rot)}
.ffl-org-sc-karte.ist-vakant{background:#fafafa;border-style:dashed}
.ffl-org-sc-karte.ist-vakant .ffl-org-sc-name{font-style:italic;color:#8a8f94}
.ffl-org-sc-foto{width:56px;height:56px;border-radius:50%;object-fit:cover;display:block;margin:0 0 8px}
.ffl-org-sc-name{font-family:Lato,system-ui,sans-serif;font-weight:600;font-size:17px;color:#1f2327;line-height:1.3;margin:0}
.ffl-org-sc-zeile{margin:3px 0 0;font-size:14px}
.ffl-org-sc-extra{margin:10px 0 0;padding:8px 0 0;border-top:1px solid var(--ffl-org-rand);display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.ffl-org-sc-funk{color:var(--ffl-org-text);font-size:13px}
.ffl-org-sc-pill{display:inline-block;background:#f4f4f4;border-radius:3px;padding:1px 7px;font-size:12px;line-height:1.5;color:var(--ffl-org-text)}
.ffl-org-sc-pill.ffl-org-sc-leit{background:#ED1A3B14;color:var(--ffl-org-rot);font-weight:600}
.ffl-org-sc-karte>.ffl-org-sc-leit{position:absolute;top:10px;right:10px}
.ffl-org-sc-liste{list-style:none;margin:0;padding:0}
.ffl-org-sc-liste li{padding:8px 0;border-bottom:1px solid var(--ffl-org-rand);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.ffl-org-sc-liste .ffl-org-sc-name{font-size:15px}
.ffl-org-sc-kompakt-zeile .ffl-org-sc-name{font-size:15px;display:inline}
.ffl-org-sc-zentral{margin:10px 0 0;font-size:14px}
.ffl-org-sc-hinweis{background:#fdeeee;border:1px solid #ED1A3B;border-radius:5px;padding:8px 12px;margin:0 0 16px;color:#7C2629;font-size:14px}
.ffl-org-sc-hinweis b{display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;background:#ED1A3B;color:#fff;margin-right:4px}
/* Kontaktkasten (wie Abschlusskasten der Beitragsvorlage) */
.ffl-org-kontakt{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;background:#ED1A3B14;border-left:4px solid var(--ffl-org-rot);border-radius:5px;padding:18px 20px}
.ffl-org-kontakt.mit-moek{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.ffl-org-kontakt-moek{min-width:0}
.ffl-org-kontakt.mit-moek .ffl-org-kontakt-moek{border-left:1px solid #ED1A3B33;padding-left:16px}
.ffl-org-kontakt-titel{font-family:Lato,system-ui,sans-serif;font-weight:600;font-size:19px;color:#1f2327;margin:0 0 4px}
.ffl-org-kontakt-person{margin:0 0 10px}
.ffl-org-kontakt-knoepfe{display:flex;flex-wrap:wrap;gap:8px}
.ffl-org-btn{display:inline-block;padding:8px 16px;border-radius:5px;font-family:Lato,system-ui,sans-serif;font-weight:600;font-size:14px;text-decoration:none !important;line-height:1.3}
.ffl-org-btn-rot{background:var(--ffl-org-rot);color:#fff !important;border:1px solid var(--ffl-org-rot)}
.ffl-org-btn-rot:hover{background:var(--ffl-org-bord);border-color:var(--ffl-org-bord)}
.ffl-org-btn-rand{border:1px solid var(--ffl-org-bord);color:var(--ffl-org-bord) !important;background:transparent}
.ffl-org-btn-rand:hover{background:var(--ffl-org-bord);color:#fff !important}
@media (max-width:640px){.ffl-org-kontakt.mit-moek{grid-template-columns:minmax(0,1fr)}.ffl-org-kontakt.mit-moek .ffl-org-kontakt-moek{border-left:0;border-top:1px solid #ED1A3B33;padding:12px 0 0}}
/* Übersicht */
.ffl-org-kachel-kurz{font-family:Lato,system-ui,sans-serif;font-weight:600;color:var(--ffl-org-rot);font-size:13px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 2px}
.ffl-org-kachel .ffl-org-sc-name a{color:#1f2327;text-decoration:none}
.ffl-org-kachel-text{margin:6px 0 0;font-size:14px}
.ffl-org-kachel-link{margin:10px 0 0;font-size:14px}
/* Trikotfarben (4.4.0): Symbole und Farbkonflikt-Hinweis in Spielzeilen */
/* Symbole und Hinweis an Spieltagen (Terminlisten) */
.ffl-tk-ico{display:inline-block;vertical-align:-4px;margin-right:4px;line-height:0}
.ffl-tk-ico .ffl-tk-svg{display:inline-block;height:1.25em;width:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
.ffl-sp .ffl-sp-tk{display:block;padding:2px 0 6px;white-space:normal}
.ffl-sp .ffl-sp-tk > span{white-space:normal;overflow:visible}
.ffl-tk-hinweis{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px;background:#fdeeee;border:1px solid #ED1A3B;border-radius:6px;padding:4px 10px 4px 8px;color:#7C2629;font-size:12.5px;line-height:1.35}
.ffl-tk-hinweis .ffl-tk-svg{height:16px;width:auto}
.ffl-we-trikot{margin:4px 0 2px}
.ffl-we-teamtext .ffl-tk-ico{margin:0 4px 0 0}
.ffl-we-paarung .ffl-we-team:last-child .ffl-tk-ico{margin:0 0 0 4px}
/* Website-Screenshot eines Vereins (4.8.0) */
.ffl-screen{margin:0 0 18px;max-width:100%}
.ffl-screen-titel{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;font-size:22px;text-transform:uppercase;margin:0 0 10px}
.ffl-screen-rahmen{border:1px solid #dfe3df;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08);transition:box-shadow .2s,transform .2s}
.ffl-screen-rahmen:hover{box-shadow:0 12px 30px rgba(0,0,0,.14);transform:translateY(-2px)}
.ffl-screen-leiste{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f3f4f3;border-bottom:1px solid #e6e8e6}
.ffl-screen-leiste i{width:10px;height:10px;border-radius:50%;background:#d6d9d6;flex:0 0 auto}
.ffl-screen-leiste i:first-child{background:#ED1A3B}
.ffl-screen-leiste span{margin-left:8px;flex:1 1 auto;min-width:0;background:#fff;border:1px solid #e3e6e3;border-radius:999px;padding:2px 12px;font-size:12px;color:#6b726d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ffl-screen-rahmen img{display:block;width:100%;height:auto;aspect-ratio:1280/800;object-fit:cover;object-position:top}
.ffl-screen-rahmen a{display:block}
.ffl-screen-stand{font-size:12px;color:#8b928d;margin-top:6px}
@media (prefers-reduced-motion:reduce){.ffl-screen-rahmen,.ffl-screen-rahmen:hover{transition:none;transform:none}}
/*
(4.9.0) */
.ffl-bp .ffl-bp-block{border:0;margin:0;padding:14px 16px;border-top:1px solid var(--line)}
.ffl-bp .ffl-bp-form>fieldset:first-of-type{border-top:0}
.ffl-bp .ffl-bp-block legend{font-family:var(--display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--ffl-farbe-dunkel,#1f4d27);padding:0;margin:0 0 10px;float:left;width:100%}
.ffl-bp .ffl-bp-raster{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.ffl-bp .ffl-bp-feld{display:flex;flex-direction:column;gap:4px;margin:0}
.ffl-bp .ffl-bp-feld>span,.ffl-bp .ffl-bp-checks>span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3)}
.ffl-bp input[type=text],.ffl-bp input[type=email],.ffl-bp input[type=tel],.ffl-bp input[type=password],.ffl-bp select,.ffl-bp textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:15px;background:#fff;color:var(--ink)}
.ffl-bp input:focus,.ffl-bp select:focus,.ffl-bp textarea:focus{outline:2px solid var(--ffl-farbe-mittel,#9cc9a3);border-color:var(--ffl-farbe)}
.ffl-bp .ffl-bp-fest{display:block;padding:8px 10px;border:1px dashed var(--line);border-radius:6px;background:#f6f7f6;font-size:15px;letter-spacing:.5px}
.ffl-bp .ffl-bp-checks{clear:both;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:12px 0 10px}
.ffl-bp .ffl-bp-checks>span{flex-basis:100%}
.ffl-bp .ffl-bp-checks label{display:inline-flex;align-items:center;gap:6px;font-size:15px;margin:0}
.ffl-bp .ffl-bp-hilfe{margin:8px 0 0;font-size:13px;color:var(--ink-3);line-height:1.45}
.ffl-bp .ffl-bp-fuss{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
.ffl-bp .ffl-bp-antrag .ffl-bp-fuss{padding:12px 0 0;border:0}
.ffl-bp .ffl-bp-btn{background:var(--ffl-farbe);color:#fff;border:0;border-radius:6px;padding:9px 18px;font-weight:700;font-size:15px;cursor:pointer}
.ffl-bp .ffl-bp-btn:hover{filter:brightness(1.08)}
.ffl-bp .ffl-bp-antrag summary{padding:12px 16px;font-weight:700;cursor:pointer;color:var(--ffl-farbe-dunkel,#1f4d27)}
.ffl-bp .ffl-bp-antrag .ffl-bp-block{border-top:1px solid var(--line)}
.ffl-bp .ffl-bp-antrag .ffl-bp-feld{margin-top:10px}
@media (max-width:640px){.ffl-bp .ffl-bp-raster{grid-template-columns:1fr}}
/*
4.9.1: Auswahlfelder wie Textfelder, Pop-up */
.ffl-bp select{-webkit-appearance:none;appearance:none;height:42px;line-height:24px;padding:8px 34px 8px 10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238b928d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;cursor:pointer}
.ffl-bp input[type=text],.ffl-bp input[type=email],.ffl-bp input[type=tel],.ffl-bp input[type=password]{height:42px;line-height:24px}
.ffl-bp [hidden]{display:none!important}
.ffl-bp-dialog{width:calc(100% - 32px);max-width:780px;max-height:calc(100vh - 48px);padding:0;border:0;border-radius:10px;background:transparent;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.ffl-bp-dialog::backdrop{background:rgba(20,24,20,.55)}
.ffl-bp-dialog .ffl-card{margin:0}
.ffl-bp-dialog .ffl-bp-antrag{margin-top:10px}
.ffl-bp-dialog .ffl-hinweisbox{margin:0 0 10px;background-clip:padding-box}
.ffl-bp-dialog .ffl-card-head{position:sticky;top:0;z-index:2;align-items:center}
.ffl-bp-dialog .ffl-bp-zu{margin-left:auto;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:24px;line-height:34px;cursor:pointer}
.ffl-bp-dialog .ffl-bp-zu:hover{background:rgba(255,255,255,.35)}
html.ffl-bp-offen{overflow:hidden}
/* (4.10.0, Optik wie seit 4.10.1) */
.ffl-mg{max-width:720px}
.ffl-mg .ffl-mg-titel{font-weight:700;font-size:26px;text-transform:uppercase;letter-spacing:.01em;margin:0 0 2px}
.ffl-mg .ffl-mg-stand{margin:0 0 14px;font-size:13px;color:var(--ink-3)}
.ffl-mgv .ffl-mgv-fuss{margin-top:14px;padding-top:10px;border-top:1px solid var(--line,#e5e7eb)}
.ffl-mgv .ffl-mgv-fuss .ffl-mg-stand{margin:0;font-size:12px}
.ffl-mg .ffl-mg-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.ffl-mg .ffl-mg-fig{position:relative;display:flex;flex-direction:column;margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 14px 12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ffl-mg .ffl-mg-fig::before{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--ffl-farbe)}
.ffl-mg figcaption{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ffl-farbe);text-align:center;margin:0 0 10px}
.ffl-mg .ffl-mg-svg{display:block;width:100%;height:auto;overflow:visible}
.ffl-mg .ffl-mg-saeule{fill:var(--ffl-farbe);fill-opacity:.35}
.ffl-mg .ffl-mg-saeule.aktuell{fill-opacity:1}
.ffl-mg .ffl-mg-m{fill:var(--ffl-farbe)}
.ffl-mg .ffl-mg-w{fill:var(--ffl-farbe);fill-opacity:.4}
.ffl-mg .ffl-mg-achse{stroke:var(--line);stroke-width:1}
.ffl-mg .ffl-mg-wert{font-size:12px;font-weight:700;fill:var(--ink);font-variant-numeric:tabular-nums}
.ffl-mg .ffl-mg-wert.klein{font-size:10.5px;font-weight:600}
.ffl-mg .ffl-mg-label{font-size:11px;fill:var(--ink-3)}
.ffl-mg .ffl-mg-zahl{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;gap:2px}
.ffl-mg .ffl-mg-zahl b{font-family:var(--display);font-size:56px;line-height:1;font-weight:700;color:var(--ffl-farbe)}
.ffl-mg .ffl-mg-zahl span{font-size:13px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.ffl-mg .ffl-mg-hinweis{margin:8px 0 0;font-size:12.5px;color:var(--ink-3);text-align:center}
.ffl-mg .ffl-mg-quelle{margin:10px 0 0;font-size:12.5px;color:var(--ink-3)}
.ffl-mz-jahr{font-size:.65em;font-weight:400;opacity:.7}
/*
25 Vereine im Verband ■ ±0 zu 2025
1.875 Mitglieder Stand 2026 ▲ +150 (+8,7 %) zu 2025
1.300 in Berlin 13 Vereine ▲ +105 (+8,8 %) zu 2025
575 in Brandenburg 9 Vereine ▲ +45 (+8,5 %) zu 2025
Vereine nach Mitgliederzahl 2010 LSB Berlin LSB Brandenburg ehemaliger Verein
Sportgruppe im Bezirksamt Tempelhof-Schöneberg 217 TSV Rangsdorf 2004 30 Pommerhoc Greifswald 23 Berlin Broilers 04 22 UHC Berlin 21 NUSZ in der ufafabrik 18 Berliner Floorball Klub 15 Franz-Marc-Grundschule 15 Altersgruppen und Geschlecht 2010 männlich weiblich 0–6 5 28 7–14 8 14 15–18 14 2 19–26 0 12 27–40 133 23 41–60 51 53 61+ 18 0 361 Mitglieder in 8 Vereinen
Vereine nach Mitgliederzahl 2011 LSB Berlin LSB Brandenburg ehemaliger Verein
Sportgruppe im Bezirksamt Tempelhof-Schöneberg 254 Charlie-Rivel-Grundschule 124 Förderverein der Scharmützelsee-Grundschule 96 EHC Blaubären Lindenberg 54 Berliner Floorball Klub 46 TSV Rangsdorf 2004 42 UHC Berlin 30 Berlin Broilers 04 28 VfL Tegel 1891 25 Pommerhoc Greifswald 22 NUSZ in der ufafabrik 21 Kreissportbund Märkisch Oderland 17 Franz-Marc-Grundschule 15 CJD Garz Gesundheitssportverein 13 Berliner Turnerschaft Korporation 10 Hockey Eintracht Steglitz 10 Altersgruppen und Geschlecht 2011 männlich weiblich 0–6 22 6 7–14 329 148 15–18 26 9 19–26 80 27 27–40 92 22 41–60 43 3 61+ 0 0 807 Mitglieder in 16 Vereinen
Vereine nach Mitgliederzahl 2012 LSB Berlin LSB Brandenburg ehemaliger Verein
Sportgruppe im Bezirksamt Tempelhof-Schöneberg 263 Charlie-Rivel-Grundschule 102 Berliner Floorball Klub 63 Förderverein der Scharmützelsee-Grundschule 60 EHC Blaubären Lindenberg 54 TSV Rangsdorf 2004 46 Franz-Marc-Grundschule 40 UHC Berlin 35 Berlin Broilers 04 30 VfL Tegel 1891 22 NUSZ in der ufafabrik 21 Pommerhoc Greifswald 21 CJD Garz Gesundheitssportverein 18 Berliner Turnerschaft Korporation 17 Kreissportbund Märkisch Oderland 17 Hockey Eintracht Steglitz 10 Altersgruppen und Geschlecht 2012 männlich weiblich 0–6 7 24 7–14 229 138 15–18 29 6 19–26 54 28 27–40 148 54 41–60 66 28 61+ 8 0 819 Mitglieder in 16 Vereinen
Vereine nach Mitgliederzahl 2013 LSB Berlin LSB Brandenburg ehemaliger Verein
Sportgruppe im Bezirksamt Tempelhof-Schöneberg 186 NUSZ in der ufafabrik 64 TSV Rangsdorf 2004 61 Förderverein der Scharmützelsee-Grundschule 60 EHC Blaubären Lindenberg 50 Berliner Floorball Klub 47 UHC Berlin 33 Berlin Broilers 04 30 Franz-Marc-Grundschule 30 Floorball Team Charlottenburg 26 SSV Rapid 26 Berliner Turnerschaft Korporation 22 RSV Mellensee 08 20 Pommerhoc Greifswald 18 CJD Garz Gesundheitssportverein 17 VfL Tegel 1891 10 SC Potsdam 8 Altersgruppen und Geschlecht 2013 männlich weiblich 0–6 22 11 7–14 225 82 15–18 38 8 19–26 80 25 27–40 124 32 41–60 52 8 61+ 0 1 708 Mitglieder in 17 Vereinen
Vereine nach Mitgliederzahl 2014 LSB Berlin LSB Brandenburg ehemaliger Verein
Sportgruppe im Bezirksamt Tempelhof-Schöneberg 216 Central Hoops Berlin Cosmopolitan 91 RSV Mellensee 08 83 NUSZ in der ufafabrik 64 SC Potsdam 63 TSV Rangsdorf 2004 56 Berliner Floorball Klub 48 Berlin Broilers 04 33 UHC Berlin 33 VfL Tegel 1891 31 SSV Rapid 27 Floorball Team Charlottenburg 23 Förderverein der Scharmützelsee-Grundschule 20 Pommerhoc Greifswald 18 CJD Garz Gesundheitssportverein 17 Berliner Turnerschaft Korporation 16 Altersgruppen und Geschlecht 2014 männlich weiblich 0–6 26 20 7–14 207 133 15–18 51 12 19–26 103 48 27–40 126 42 41–60 49 15 61+ 6 1 839 Mitglieder in 16 Vereinen
Mitgliederentwicklung im Verband LSB Berlin LSB Brandenburg ohne Angabe / außerhalb
2010 · Berlin: 308 2010 · Brandenburg: 30 2010 · übrige: 23 361 2010 2011 · Berlin: 659 2011 · Brandenburg: 113 2011 · übrige: 35 807 2011 2012 · Berlin: 663 2012 · Brandenburg: 117 2012 · übrige: 39 819 2012 2013 · Berlin: 534 2013 · Brandenburg: 139 2013 · übrige: 35 708 2013 2014 · Berlin: 602 2014 · Brandenburg: 202 2014 · übrige: 35 839 2014 2015 · Berlin: 521 2015 · Brandenburg: 202 2015 · übrige: 31 754 2015 2016 · Berlin: 539 2016 · Brandenburg: 214 2016 · übrige: 26 779 2016 2017 · Berlin: 580 2017 · Brandenburg: 233 2017 · übrige: 11 824 2017 2018 · Berlin: 705 2018 · Brandenburg: 260 2018 · übrige: 13 978 2018 2019 · Berlin: 776 2019 · Brandenburg: 298 2019 · übrige: 13 1.087 2019 2020 · Berlin: 882 2020 · Brandenburg: 325 2020 · übrige: 11 1.218 2020 2021 · Berlin: 896 2021 · Brandenburg: 290 2021 · übrige: 9 1.195 2021 2022 · Berlin: 953 2022 · Brandenburg: 331 2022 · übrige: 11 1.295 2022 2023 · Berlin: 954 2023 · Brandenburg: 417 1.371 2023 2024 · Berlin: 1.051 2024 · Brandenburg: 485 1.536 2024 2025 · Berlin: 1.195 2025 · Brandenburg: 530 1.725 2025 2026 · Berlin: 1.300 2026 · Brandenburg: 575 1.875 2026
Alle Vereine des jeweiligen Jahres, auch ehemalige; LSB nach heutiger Zugehörigkeit.
Vereine im Verband Vereine aus dem Vorjahr neu hinzugekommen ausgeschieden
2010: 8 Vereine 8 2010 2011: 16 Vereine · 8 aus dem Vorjahr 2011 neu: Berliner Turnerschaft Korporation, CJD Garz Gesundheitssportverein, Charlie-Rivel-Grundschule, EHC Blaubären Lindenberg, Förderverein der Scharmützelsee-Grundschule, Hockey Eintracht Steglitz, Kreissportbund Märkisch Oderland, VfL Tegel 1891 16 +8 2011 2012: 16 Vereine 16 2012 2013: 17 Vereine · 13 aus dem Vorjahr 2013 neu: Floorball Team Charlottenburg, RSV Mellensee 08, SC Potsdam, SSV Rapid 17 +4 2013 ausgeschieden: Charlie-Rivel-Grundschule, Hockey Eintracht Steglitz, Kreissportbund Märkisch Oderland −3 2013 2014: 16 Vereine · 15 aus dem Vorjahr 2014 neu: Central Hoops Berlin Cosmopolitan 16 +1 2014 ausgeschieden: EHC Blaubären Lindenberg, Franz-Marc-Grundschule −2 2014 2015: 14 Vereine · 14 aus dem Vorjahr 14 2015 ausgeschieden: Förderverein der Scharmützelsee-Grundschule, NUSZ in der ufafabrik −2 2015 2016: 15 Vereine · 14 aus dem Vorjahr 2016 neu: Floorball Turtles Berlin 15 +1 2016 2017: 15 Vereine · 12 aus dem Vorjahr 2017 neu: Eisbären Juniors Berlin, SC Siemensstadt, Zehlendorfer TSV von 1888 15 +3 2017 ausgeschieden: CJD Garz Gesundheitssportverein, Central Hoops Berlin Cosmopolitan, Floorball Team Charlottenburg −3 2017 2018: 15 Vereine 15 2018 2019: 17 Vereine · 15 aus dem Vorjahr 2019 neu: Berliner TSC, SV-Grün-Weiß Letschin 17 +2 2019 2020: 20 Vereine · 16 aus dem Vorjahr 2020 neu: Berlin Rockets, Familien-Sport-Verein Oberhavel, Floorball Club Potsdam, TuS Hohenschönhausen 1990 20 +4 2020 ausgeschieden: Sportgruppe im Bezirksamt Tempelhof-Schöneberg −1 2020 2021: 18 Vereine · 18 aus dem Vorjahr 18 2021 ausgeschieden: Familien-Sport-Verein Oberhavel, Floorball Club Potsdam −2 2021 2022: 20 Vereine · 16 aus dem Vorjahr 2022 neu: Köpenicker SC, RSV Eintracht 1949, SV Motor Eberswalde, Sporttreff Karower Dachse 20 +4 2022 ausgeschieden: Berliner Turnerschaft Korporation, Zehlendorfer TSV von 1888 −2 2022 2023: 21 Vereine · 19 aus dem Vorjahr 2023 neu: Judoschule Falkensee, PSV Lübbenau-Calau 21 +2 2023 ausgeschieden: Pommerhoc Greifswald −1 2023 2024: 21 Vereine 21 2024 2025: 22 Vereine · 21 aus dem Vorjahr 2025 neu: SC 2000 Groß Glienicke 22 +1 2025 2026: 22 Vereine · 21 aus dem Vorjahr 2026 neu: ASV Michendorf 22 +1 2026 ausgeschieden: SV-Grün-Weiß Letschin −1 2026
Vereine mit gemeldeten Mitgliedern je Jahr, auch ehemalige. Neu und ausgeschieden jeweils gegenüber dem vorigen Jahr mit Meldung. Namen beim Antippen der Säulen.
Stand 2026 · Bestandserhebung der Landessportbünde
(4.11.0) */
.ffl-mgv{max-width:none;--mgv-be:var(--ffl-farbe);--mgv-bb:#7C2629;--mgv-ohne:#b9bfba}
.ffl-mgv .ffl-mgv-kacheln{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.ffl-mgv .ffl-mgv-kachel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;border-top:3px solid var(--ink-3)}
.ffl-mgv .ffl-mgv-kachel.be{border-top-color:var(--mgv-be)}
.ffl-mgv .ffl-mgv-kachel.bb{border-top-color:var(--mgv-bb)}
.ffl-mgv .ffl-mgv-kachel b{font-family:var(--display);font-size:34px;line-height:1.05;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.ffl-mgv .ffl-mgv-kachel.be b{color:var(--mgv-be)}
.ffl-mgv .ffl-mgv-kachel.bb b{color:var(--mgv-bb)}
.ffl-mgv .ffl-mgv-kachel span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}
.ffl-mgv .ffl-mgv-kachel small{font-size:12px;color:var(--ink-3)}
.ffl-mgv .ffl-mgv-raster{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.ffl-mgv .ffl-mgv-legende{display:flex;justify-content:center;gap:16px;margin:0 0 10px;font-size:12px;color:var(--ink-3)}
.ffl-mgv .ffl-mgv-legende span::before{content:"";display:inline-block;width:12px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;background:var(--mgv-be)}
.ffl-mgv .ffl-mgv-legende .bb::before{background:var(--mgv-bb)}
.ffl-mgv .ffl-mgv-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.ffl-mgv .ffl-mgv-liste li{display:grid;grid-template-columns:minmax(0,46%) 1fr 40px;align-items:center;gap:8px;margin:0;padding:0;font-size:13px;line-height:1.25}
.ffl-mgv .ffl-mgv-liste .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.ffl-mgv .ffl-mgv-liste .n a{color:inherit;text-decoration:none}
.ffl-mgv .ffl-mgv-liste .n a:hover{color:var(--ffl-farbe);text-decoration:underline}
.ffl-mgv .ffl-mgv-liste .b{height:12px;background:#f3f4f3;border-radius:3px;overflow:hidden}
.ffl-mgv .ffl-mgv-liste .b i{display:block;height:100%;border-radius:3px;background:var(--mgv-ohne)}
.ffl-mgv .ffl-mgv-liste li.be .b i{background:var(--mgv-be)}
.ffl-mgv .ffl-mgv-liste li.bb .b i{background:var(--mgv-bb)}
.ffl-mgv .ffl-mgv-liste li.beide .b i{background:linear-gradient(90deg,var(--mgv-be) 50%,var(--mgv-bb) 50%)}
.ffl-mgv .ffl-mgv-liste .z{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.ffl-mgv.kompakt .ffl-mgv-kachel b{font-size:28px}
@media (max-width:640px){.ffl-mgv .ffl-mgv-kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}.ffl-mgv .ffl-mgv-liste li{grid-template-columns:minmax(0,55%) 1fr 34px}.ffl-mgv .ffl-mgv-liste .n{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
.ffl-mgv .ffl-mg-fig .ffl-mg-svg{max-width:400px;margin:0 auto}
.ffl-mgv.kompakt .ffl-mg-fig .ffl-mg-svg{max-width:340px}
.ffl-mgv a.ffl-mgv-kachel{text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s,border-color .15s}
.ffl-mgv a.ffl-mgv-kachel:hover,.ffl-mgv a.ffl-mgv-kachel:focus-visible{box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-1px);border-color:var(--ffl-farbe)}
.ffl-mgv a.ffl-mgv-kachel::after{content:"→";position:absolute;right:12px;top:10px;color:var(--ink-3);font-size:14px}
.ffl-mgv .ffl-mgv-kachel{position:relative}
.ffl-mgv .ffl-mgv-entwicklung{margin-top:40px}
.ffl-mgv .ffl-mg-fig.ffl-mgv-entwicklung .ffl-mg-svg{max-width:760px}
.ffl-mgv .ffl-mgv-st.be{fill:var(--mgv-be)}
.ffl-mgv .ffl-mgv-st.bb{fill:var(--mgv-bb)}
.ffl-mgv .ffl-mgv-st.sonst{fill:var(--mgv-ohne)}
.ffl-mgv .ffl-mgv-legende .sonst::before{background:var(--mgv-ohne)}
.ffl-mgv .ffl-mgv-legende{flex-wrap:wrap}
.ffl-mgv .ffl-mgv-legende span{white-space:nowrap}
.ffl-mgv .ffl-mgv-entw-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;direction:rtl}
.ffl-mgv .ffl-mgv-entw-wrap>svg{direction:ltr}
@media (max-width:640px){.ffl-mgv .ffl-mg-fig.ffl-mgv-entwicklung .ffl-mg-svg{min-width:600px;margin:0}}
/* 4.12.1: Veränderung zum Vorjahr, Vereinszahl, Jahresregler */
.ffl-mgv .ffl-mgv-delta{font-style:normal;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:6px;display:flex;gap:3px;align-items:baseline;white-space:nowrap}
@media (max-width:640px){.ffl-mgv .ffl-mgv-delta{font-size:11px;gap:2px}}
.ffl-mgv .ffl-mgv-delta.auf{color:#2e7d32}
.ffl-mgv .ffl-mgv-delta.ab{color:#b32d2e}
.ffl-mgv .ffl-mgv-delta.gleich{color:var(--ink-3)}
.ffl-mgv .ffl-mgv-delta i{font-style:normal}
.ffl-mgv .ffl-mgv-delta .zu{font-weight:400;color:var(--ink-3)}
.ffl-mgv .ffl-mgv-vz.bleib{fill:var(--ink-3);fill-opacity:.45}
.ffl-mgv .ffl-mgv-vz.neu{fill:#2e7d32}
.ffl-mgv .ffl-mgv-vz.weg{fill:#b32d2e;fill-opacity:.8}
.ffl-mgv .ffl-mgv-vz-t{font-size:10.5px;font-weight:700}
.ffl-mgv .ffl-mgv-vz-t.neu{fill:#fff}
.ffl-mgv .ffl-mgv-vz-t.weg{fill:#b32d2e}
.ffl-mgv .ffl-mgv-legende .bleib::before{background:var(--ink-3);opacity:.45}
.ffl-mgv .ffl-mgv-legende .neu::before{background:#2e7d32}
.ffl-mgv .ffl-mgv-legende .weg::before{background:#b32d2e}
.ffl-mgv .ffl-mgv-legende .ehem::before{background:var(--mgv-ohne);opacity:.7}
.ffl-mgv .ffl-mgv-liste li.ehem .n{color:var(--ink-3);font-style:italic}
.ffl-mgv .ffl-mgv-liste li.ehem .b i{opacity:.45}
.ffl-mgv .ffl-mgv-liste li.ehem small{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-left:4px}
.ffl-mgv .ffl-mgv-jahrwahl{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;margin:0 0 14px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.ffl-mgv .ffl-mgv-jahrwahl label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--ink-3)}
.ffl-mgv .ffl-mgv-jahrwahl input[type=range]{width:100%;accent-color:var(--ffl-farbe);margin:0}
.ffl-mgv .ffl-mgv-jahrwahl output{font-family:var(--display);font-size:22px;font-weight:700;color:var(--ffl-farbe);font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}
.ffl-mgv .ffl-mgv-skala{grid-column:2;display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:-2px}
Sa., 14. Nov.
10:00Ü30
Sportanlage Monumentenstraße Monumentenstraße 13C, 10829 Berlin
11:00Ü30
Sportanlage Monumentenstraße Monumentenstraße 13C, 10829 Berlin
12:00Ü30
Sportanlage Monumentenstraße Monumentenstraße 13C, 10829 Berlin
13:00Ü30
Sportanlage Monumentenstraße Monumentenstraße 13C, 10829 Berlin
14:00Ü30
Sportanlage Monumentenstraße Monumentenstraße 13C, 10829 Berlin