/* Funkpolitik (AFU-398, AFU-399): /funkpolitik. Farben der Stufen wie die Zeichen 🔴 🟠 🟢, in beiden Themen lesbar. */
.fp-seite {
  --fp-rot: #ef4444;
  --fp-orange: #f59e0b;
  --fp-gruen: #10b981;
  --fp-blass: color-mix(in srgb, var(--muted) 45%, transparent);
  /* AFU-407: Ausgang, getrennt von 🔴 der Stufe (Band und eckiger Stempel statt runder Punkt) */
  --fp-angenommen: #34d399;
  --fp-abgelehnt: #f87171;
}
@media (prefers-color-scheme: light) {
  .fp-seite { --fp-angenommen: #157a45; --fp-abgelehnt: #c42b2b; }
}
.fp-hinweis { max-width: none; margin: 0.6rem 0 0; }

/* ------------------------------------------------------------------- Lagebild */
.fp-lage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fp-lage-spalte {
  border: 1px solid var(--border); border-top: 4px solid var(--fp-farbe, var(--border)); border-radius: var(--radius);
  background: var(--card-bg); padding: 0.8rem 1rem; min-width: 0;
}
.fp-lage-spalte.rot { --fp-farbe: var(--fp-rot); }
.fp-lage-spalte.orange { --fp-farbe: var(--fp-orange); }
.fp-lage-spalte.gruen { --fp-farbe: var(--fp-gruen); }
.fp-lage-kopf {
  display: flex; align-items: baseline; gap: 0.5rem; width: 100%; padding: 0; border: 0; background: none;
  color: var(--fg); font: inherit; cursor: pointer; text-align: left;
}
.fp-lage-kopf .titel { font-weight: 600; font-size: 1.05rem; }
.fp-lage-kopf .zahl { margin-left: auto; font-size: 1.6rem; font-weight: 700; color: var(--fp-farbe); font-variant-numeric: tabular-nums; }
.fp-lage-kopf:hover .titel { color: var(--accent); }
.fp-lage-spalte > .field-hint { margin: 0.1rem 0 0.5rem; }
.fp-lage-liste { list-style: none; margin: 0; padding: 0; }
.fp-lage-liste li { padding: 0.4rem 0; border-top: 1px solid var(--border); display: grid; gap: 0.1rem; }
.fp-lage-liste a {
  color: var(--fg); display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; overflow-wrap: anywhere;
}
.fp-lage-liste a:hover { color: var(--accent); }

/* ------------------------------------------------------------------- Liste und Detail */
.fp-arbeit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.fp-liste { min-width: 0; }
.fp-liste .filters.flach { margin-top: 0; }
table.data.fp-tabelle td { vertical-align: top; white-space: normal; }
@media (max-width: 760px) { .fp-tabelle th:nth-child(4), .fp-tabelle td:nth-child(4) { display: none; } }
.fp-tabelle .fp-sp-stufe { width: 2.5rem; text-align: center; }
.fp-tabelle .fp-sp-termin { white-space: nowrap; font-variant-numeric: tabular-nums; }
.fp-tabelle tr.gewaehlt td { background: var(--card-hover); }
.fp-tabelle tr.gewaehlt td:first-child { box-shadow: inset 3px 0 0 var(--accent); }
.fp-titel { color: var(--fg); font-weight: 500; overflow-wrap: anywhere; }
.fp-titel:hover { color: var(--accent); }
.fp-zeile2 { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.6rem; font-size: 0.8rem; color: var(--muted); margin-top: 0.15rem; }
.fp-stufe { white-space: nowrap; }

/* Mini-Verlauf: ein Strich je Station */
.fp-mini { display: inline-flex; gap: 2px; align-items: center; }
.fp-mini i { display: block; width: 10px; height: 4px; border-radius: 2px; background: var(--fp-blass); }
.fp-mini i.erledigt { background: var(--accent); }
.fp-mini i.laeuft { background: var(--accent); outline: 1px solid var(--accent); outline-offset: 1px; width: 14px; }
.fp-mini i.geplant { background: transparent; border: 1px dashed var(--muted); height: 6px; }

.fp-detail {
  min-width: 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--card-bg);
  padding: 1rem 1.2rem; position: sticky; top: calc(var(--kopf-hoehe) + 12px);
  max-height: calc(100vh - var(--kopf-hoehe) - 24px); overflow-y: auto;
}
.fp-detail:focus { outline: none; }
.fp-detail-kopf { display: flex; gap: 0.6rem; align-items: baseline; }
.fp-detail-kopf h3 { margin: 0; font-size: 1.2rem; overflow-wrap: anywhere; }
.fp-detail .btn-row { margin: 0.7rem 0; }
.fp-teil { margin-top: 1rem; }
.fp-teil h4 { margin: 0 0 0.35rem; font-size: 0.95rem; color: var(--muted); text-transform: none; }
.fp-teil p { margin: 0.3rem 0; max-width: var(--lesebreite); }
.fp-begruendung { white-space: pre-line; }
.fp-auto { margin-top: 0.4rem; }
.fp-fakten { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 0.25rem 1rem; margin: 1rem 0 0; font-size: 0.93rem; }
.fp-fakten dt { color: var(--muted); }
.fp-fakten dd { margin: 0; display: flex; flex-wrap: wrap; gap: 0.3rem; overflow-wrap: anywhere; }
.fp-frist { font-weight: 600; }
.fp-abst { padding: 0.4rem 0; border-top: 1px solid var(--border); }
.fp-abst p { margin: 0.2rem 0; }
.fp-voten { list-style: none; padding: 0; margin: 0.3rem 0 0; display: flex; flex-wrap: wrap; gap: 0.3rem; }
.fp-voten li {
  display: inline-flex; gap: 0.4rem; padding: 0.1rem 0.5rem; border: 1px solid var(--border); border-radius: 999px; font-size: 0.82rem;
}
.fp-voten li span:last-child { color: var(--muted); }

/* ------------------------------------------------------------------- Schrittleiste */
.fp-verlauf { margin: 0.8rem 0 0.4rem; }
.fp-leiste { list-style: none; margin: 0; padding: 0; display: flex; }
.fp-leiste li {
  flex: 1 1 0; min-width: 0; position: relative; display: grid; justify-items: center; text-align: center;
  gap: 0.15rem; padding-top: 0.1rem; font-size: 0.8rem;
}
/* Linie zum Vorgänger */
.fp-leiste li + li::before {
  content: ""; position: absolute; top: calc(0.1rem + 6px); right: 50%; width: 100%; height: 2px;
  background: var(--fp-blass); z-index: 0;
}
.fp-leiste li.erledigt + li::before, .fp-leiste li.erledigt + li.laeuft::before { background: var(--accent); }
.fp-leiste .punkt {
  position: relative; z-index: 1; width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid var(--fp-blass); background: var(--bg2);
}
.fp-leiste .name { overflow-wrap: anywhere; line-height: 1.25; padding: 0 0.15rem; }
.fp-leiste .name a { color: inherit; }
.fp-leiste .wann { color: var(--muted); font-size: 0.75rem; font-variant-numeric: tabular-nums; }
.fp-leiste li.erledigt .punkt { background: var(--accent); border-color: var(--accent); }
.fp-leiste li.laeuft .punkt { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent); }
.fp-leiste li.laeuft .name { color: var(--accent); font-weight: 600; }
.fp-leiste li.laeuft .wann { color: var(--accent); }
.fp-leiste li.geplant .punkt { border-style: dashed; border-color: var(--muted); }
.fp-leiste li.geplant .name, .fp-leiste li.offen .name { color: var(--muted); }
.fp-leiste li.offen .punkt { opacity: 0.7; }
.fp-leiste li.naechster .punkt { border-color: var(--fp-orange); }
.fp-leiste li.naechster .wann { color: var(--fp-orange); font-weight: 600; }
.fp-leiste .sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.fp-naechster { margin: 0.6rem 0 0.1rem; }
.fp-verlauf > .field-hint { margin: 0; }

/* ------------------------------------------------------------------- Fuß */
.fp-fuss-teil .field-hint { max-width: none; margin: 0.3rem 0; }
.fp-fuss-teil .btn-row { margin-top: 0.6rem; }

/* ------------------------------------------------------------------- AFU-399: Reiter, Profil, Bänder unter Druck */
.fp-seite .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fp-reiter { margin-top: 1rem; }
.fp-zahl:not(:empty) {
  display: inline-block; min-width: 1.4em; padding: 0 0.35em; margin-left: 0.3rem; border-radius: 999px;
  background: var(--accent); color: var(--bg); font-size: 0.75rem; font-weight: 700; text-align: center; line-height: 1.5;
}
.fp-profil { border: 1px solid var(--border); border-radius: var(--radius); background: var(--card-bg); padding: 0.6rem 1rem; }
.fp-profil > summary { cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 1rem; }
.fp-profil-titel { font-weight: 600; }
.fp-profil-form { margin-top: 0.6rem; }
.fp-profil-raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 0.6rem 1rem; }
.fp-wahl { border: 0; padding: 0; margin: 0.8rem 0 0; min-width: 0; }
.fp-wahl legend { font-size: 0.85rem; color: var(--muted); margin-bottom: 0.3rem; }
.fp-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
.fp-chip {
  display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.6rem; border: 1px solid var(--border);
  border-radius: 999px; font-size: 0.85rem; cursor: pointer; user-select: none;
}
.fp-chip:has(input:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 15%, transparent); }
.fp-chip input { margin: 0; }
.fp-druck-liste {
  list-style: none; margin: 0.4rem 0 0; padding: 0; display: grid; gap: 0.3rem 1rem;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}
.fp-druck-liste li {
  display: flex; align-items: baseline; gap: 0.5rem; padding: 0.3rem 0.6rem; border: 1px solid var(--border);
  border-radius: var(--radius); background: var(--card-bg); min-width: 0;
}
.fp-druck-band { border: 0; background: none; padding: 0; color: var(--accent); font: inherit; font-weight: 600; cursor: pointer; }
.fp-druck-zahl { font-weight: 700; font-variant-numeric: tabular-nums; }
.fp-druck-plan { margin-left: auto; font-size: 0.8rem; }
.fp-trend.auf { color: var(--fp-rot); }
.fp-trend.ab { color: var(--fp-gruen); }
.fp-trend.gleich { color: var(--muted); }
.fp-band-wahl { min-width: 10rem; }

/* ------------------------------------------------------------------- AFU-399: betrifft dich, Themen, Mitmachen, Konkret */
.fp-tabelle .fp-sp-dich { width: 6.5rem; }
.fp-tabelle.ohne-profil .fp-sp-dich { display: none; }
.fp-dich {
  display: inline-block; padding: 0 0.45rem; border-radius: 999px; font-size: 0.75rem; white-space: nowrap;
  border: 1px solid var(--accent); color: var(--accent);
}
.fp-dich.direkt { background: var(--accent); color: var(--bg); }
.fp-dich.klasse { border-style: dashed; }
td .fp-dich { margin-left: 0.3rem; }
.fp-neu {
  display: inline-block; margin-left: 0.4rem; padding: 0 0.4rem; border-radius: 4px; font-size: 0.7rem; font-weight: 700;
  background: var(--fp-orange); color: #000; vertical-align: middle;
}
.fp-detail > .fp-chips { margin: 0.5rem 0 0; }
.fp-thema-chip {
  display: inline-block; padding: 0.05rem 0.55rem; border: 1px solid var(--border); border-radius: 999px; font-size: 0.8rem;
}
.fp-abk { color: inherit; text-decoration: none; }
.fp-abk abbr { text-decoration: underline dotted; text-underline-offset: 2px; cursor: help; }
.fp-abk:hover abbr { color: var(--accent); }
.fp-mitmachen {
  margin: 0.8rem 0; padding: 0.7rem 0.9rem; border: 1px solid var(--fp-orange); border-left-width: 4px;
  border-radius: var(--radius); background: color-mix(in srgb, var(--fp-orange) 8%, transparent);
}
.fp-mitmachen h4 { margin: 0 0 0.3rem; font-size: 1rem; }
.fp-mitmachen p { margin: 0.25rem 0; }
.fp-mitmachen .btn-row { margin: 0.5rem 0 0; }
.fp-schritte { margin: 0.4rem 0; padding-left: 1.3rem; }
.fp-schritte li { margin: 0.15rem 0; }
.fp-konkret { margin: 0.3rem 0; padding-left: 1.2rem; }
.fp-konkret li { margin: 0.15rem 0; }
.fp-k-dich { padding: 0.3rem 0.6rem; border-left: 3px solid var(--accent); background: var(--card-hover); }
.fp-themen { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); gap: 1rem; }
.fp-thema {
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--card-bg); padding: 0.8rem 1rem; min-width: 0;
  scroll-margin-top: calc(var(--kopf-hoehe) + 12px);
}
.fp-thema:target { border-color: var(--accent); }
.fp-thema header { display: flex; align-items: baseline; gap: 0.5rem; }
.fp-thema h3 { margin: 0; font-size: 1.05rem; }
.fp-thema header .field-hint { margin-left: auto; white-space: nowrap; }
.fp-kaskade { list-style: none; margin: 0.6rem 0; padding: 0; }
.fp-kaskade li {
  /* Mitte des Punkts von der Oberkante der Zeile: Punkt sitzt mittig auf der ersten Textzeile (AFU-403) */
  --fp-pm: calc(0.25rem + 0.8em);
  --fp-pm: calc(0.25rem + 0.5lh);
  position: relative; display: grid; grid-template-columns: 14px minmax(0, 11rem) minmax(0, 1fr); gap: 0.6rem;
  align-items: start; padding: 0.25rem 0; font-size: 0.88rem;
}
/* Strich von diesem Punkt bis zum nächsten, egal wie hoch die Zeile ist (Zeilen liegen ohne Abstand aneinander) */
.fp-kaskade li:not(:last-child)::before {
  content: ""; position: absolute; left: 6px; width: 2px; top: var(--fp-pm); bottom: calc(-1 * var(--fp-pm)); background: var(--fp-blass);
}
.fp-kaskade .punkt {
  width: 14px; height: 14px; box-sizing: border-box; border-radius: 50%; border: 2px solid var(--fp-blass); background: var(--bg2);
  position: relative; z-index: 1; align-self: start; margin-top: calc(var(--fp-pm) - 0.25rem - 7px);
}
.fp-kaskade li.ok .punkt { background: var(--accent); border-color: var(--accent); }
.fp-kaskade li.jetzt .punkt { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent); }
.fp-kaskade li.jetzt .name { color: var(--accent); font-weight: 600; }
.fp-kaskade li.leer .name, .fp-kaskade li.leer .text { color: var(--muted); }
.fp-kaskade .text { overflow-wrap: anywhere; }
.fp-thema-vorgaenge { list-style: none; margin: 0; padding: 0; font-size: 0.88rem; }
.fp-thema-vorgaenge li { padding: 0.2rem 0; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
table.data.fp-mit-tabelle td { vertical-align: top; white-space: normal; }
.fp-mit-tabelle .fp-sp-termin { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------------- Rückblick (AFU-400) */
.fp-rb-kopf { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; align-items: flex-end; justify-content: space-between; }
.fp-rb-wahl { min-width: 12rem; }
.fp-rb { max-width: var(--lesebreite, 80ch); }
.fp-rb-ueber { margin: 0.8rem 0 0.2rem; overflow-wrap: anywhere; }
.fp-rb-knoepfe { flex-wrap: wrap; }
.fp-rb-abschnitte { list-style: none; margin: 0.6rem 0; padding: 0; }
.fp-rb-abschnitt { padding: 0.6rem 0; border-top: 1px solid var(--border); }
.fp-rb-abschnitt h4 { margin: 0 0 0.15rem; font-size: 1rem; overflow-wrap: anywhere; }
.fp-rb-abschnitt p { margin: 0.2rem 0; overflow-wrap: anywhere; }
.fp-rb-ausblick h4 { margin: 0.8rem 0 0.2rem; }
.fp-rb-rundspruch { margin: 1rem 0; padding: 0.6rem 0.8rem; border: 1px solid var(--border); border-radius: 6px; background: var(--bg2); }
.fp-rb-rundspruch summary { cursor: pointer; font-weight: 600; }
.fp-rb-rs-text { white-space: pre-line; line-height: 1.6; overflow-wrap: anywhere; }
.fp-rb-quellen { overflow-wrap: anywhere; }

/* ------------------------------------------------------------------- schmal */
@media (max-width: 1100px) {
  .fp-arbeit { grid-template-columns: minmax(0, 1fr); }
  .fp-detail { position: static; max-height: none; overflow: visible; }
}
@media (max-width: 760px) {
  .fp-lage { grid-template-columns: minmax(0, 1fr); }
  .fp-kaskade li { grid-template-columns: 14px minmax(0, 1fr); }
  .fp-kaskade .text { grid-column: 2; }
  .fp-mit-tabelle th:nth-child(3), .fp-mit-tabelle td:nth-child(3) { display: none; }
  /* Schrittleiste senkrecht */
  .fp-leiste { flex-direction: column; }
  .fp-leiste li {
    display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; justify-items: start; align-items: center;
    text-align: left; gap: 0.6rem; padding: 0.3rem 0;
  }
  .fp-leiste li + li::before { top: auto; bottom: 50%; right: auto; left: 6px; width: 2px; height: 100%; }
  .fp-leiste .wann { justify-self: end; }
}

/* ------------------------------------------------------------------- AFU-404: weniger Luft zwischen Leiste und Abschnitten */
.fp-seite .fp-hinweis { margin-bottom: 0; }
.fp-reiter { margin: 0.8rem 0 0.8rem; }
.fp-seite .section.folge { padding-block: clamp(0.6rem, 1.2vw, 0.9rem); }
.fp-seite .reiter-seite > .section.folge:first-child { padding-top: 0; }
.fp-seite .section.folge.fp-profil-teil { padding-bottom: 0.2rem; }

/* ------------------------------------------------------------------- AFU-406: Stand, Filterleiste, Monate, untere Reihe */
.fp-stand { max-width: none; }
.fp-stand a { white-space: nowrap; }
.fp-stand-q.alt { color: var(--fp-orange); }
.fp-stand-q.gestoert { color: var(--fp-rot); }

.fp-filterleiste { align-items: end; gap: 0.6rem 1rem; }
.fp-filterleiste .field select, .fp-filterleiste .field input { min-width: 0; }
.fp-filterleiste .fp-suche-feld { flex: 1 1 12rem; min-width: 10rem; }
.fp-filterleiste .fp-suche-feld input { width: 100%; }
.fp-filterleiste .fp-nur-mich { padding-bottom: 0.55rem; white-space: nowrap; }
.fp-feld-titel { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--muted); font-weight: 600; line-height: 1.1; align-self: end; }
.fp-stufen { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0; }
.fp-stufen-chip {
  display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.42rem 0.65rem; border: 1px solid var(--border);
  border-radius: 999px; background: var(--bg2); color: var(--fg); font: inherit; font-size: 0.9rem; cursor: pointer;
}
.fp-stufen-chip .zahl { font-variant-numeric: tabular-nums; font-weight: 600; }
.fp-stufen-chip[aria-checked="true"] { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 15%, transparent); }
.fp-stufen-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

.fp-listenkopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.4rem 1rem; margin: 0 0 0.4rem; }
.fp-listenkopf .count-line { margin: 0; }
.fp-ansicht button { flex: 0 0 auto; padding: 4px 10px; }
.fp-tabelle tr.fp-monat th {
  text-align: left; font-weight: 600; font-size: 0.85rem; padding: 0.55rem 0.6rem 0.3rem; background: var(--bg2);
  border-top: 1px solid var(--border); text-transform: none; letter-spacing: 0; color: var(--fg);
}
.fp-tabelle tr.fp-monat th .field-hint { font-weight: 400; }

.fp-unten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.fp-kasten { border: 1px solid var(--border); border-radius: var(--radius); background: var(--card-bg); padding: 0.8rem 1rem; min-width: 0; }
.fp-kasten h3 { margin: 0; font-size: 1rem; }
.fp-kasten > .field-hint { margin: 0.2rem 0 0.5rem; }
.fp-kasten .fp-druck-liste { grid-template-columns: minmax(0, 1fr); }
.fp-kasten .fp-druck-liste li { background: var(--bg2); }
.fp-quellen:focus { outline: 2px solid var(--accent); outline-offset: 2px; }

.fp-zeit {
  --fp-frist: var(--fp-rot); --fp-termin: #3b82f6; --fp-konferenz: #a855f7;
}
.fp-zeit-svg { display: block; width: 100%; height: auto; overflow: visible; }
.fp-zeit-monat { font-size: 11px; fill: var(--muted); }
.fp-zeit-monatslinie { stroke: var(--border); stroke-width: 1; }
.fp-zeit-achse { stroke: var(--muted); stroke-width: 1.5; }
.fp-zeit-heute { stroke: var(--accent); stroke-width: 2; }
.fp-zeit-marke .stiel { stroke: var(--border); stroke-width: 1; }
.fp-zeit-marke.frist { fill: var(--fp-frist); }
.fp-zeit-marke.termin { fill: var(--fp-termin); }
.fp-zeit-marke.konferenz { fill: var(--fp-konferenz); }
.fp-zeit-marke.blass { opacity: 0.3; }
.fp-zeit-marke:hover path, .fp-zeit-marke:hover circle, .fp-zeit-marke:focus-visible path, .fp-zeit-marke:focus-visible circle { stroke: var(--fg); stroke-width: 2; }
.fp-zeit-liste { display: none; list-style: none; margin: 0; padding: 0; }
.fp-zeit-liste li { display: grid; grid-template-columns: 12px 3.6rem minmax(0, 1fr); gap: 0.5rem; align-items: baseline; padding: 0.3rem 0; border-top: 1px solid var(--border); }
.fp-zeit-liste li.blass { opacity: 0.45; }
.fp-zeit-liste a { color: var(--fg); overflow-wrap: anywhere; }
.fp-zeit-datum { font-variant-numeric: tabular-nums; color: var(--muted); font-size: 0.85rem; }
.fp-zeit-zeichen { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--fp-termin); }
.frist > .fp-zeit-zeichen { background: var(--fp-frist); border-radius: 1px; transform: rotate(45deg) scale(0.85); }
.konferenz > .fp-zeit-zeichen { background: var(--fp-konferenz); }
.fp-zeit-legende { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; margin: 0.5rem 0 0; }
.fp-zeit-leg { display: inline-flex; align-items: center; gap: 0.35rem; }

.fp-quellen-liste { list-style: none; margin: 0; padding: 0; }
.fp-q { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.1rem 0.8rem; padding: 0.4rem 0; border-top: 1px solid var(--border); }
.fp-q-name { font-weight: 600; overflow-wrap: anywhere; }
.fp-q-zahl { text-align: right; font-variant-numeric: tabular-nums; }
.fp-q-wann { grid-column: 1 / -1; font-size: 0.85rem; color: var(--muted); display: flex; align-items: center; gap: 0.4rem; }
.fp-q-punkt { width: 8px; height: 8px; border-radius: 50%; background: var(--fp-gruen); flex: none; }
.fp-q.alt .fp-q-punkt { background: var(--fp-orange); }
.fp-q.alt .fp-q-wann { color: var(--fp-orange); }
.fp-q.gestoert .fp-q-punkt { background: var(--fp-rot); }
.fp-q.gestoert .fp-q-wann { color: var(--fp-rot); }
.fp-q.unbekannt .fp-q-punkt { background: var(--muted); }

@media (max-width: 1100px) {
  .fp-unten { grid-template-columns: minmax(0, 1fr); }
  .fp-kasten .fp-druck-liste { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
}
@media (max-width: 760px) {
  .fp-zeit-svg { display: none; }
  .fp-zeit-liste { display: block; }
  .fp-filterleiste .field { flex: 1 1 100%; }
  .fp-filterleiste .field select { width: 100%; }
}

/* ------------------------------------------------------------------- AFU-407: Ausgang angenommen/abgelehnt */
.fp-ausgang-band {
  --fp-a: var(--fp-abgelehnt);
  margin: 0.7rem 0 0.2rem; padding: 0.55rem 0.85rem; border-left: 5px solid var(--fp-a); border-radius: 4px;
  background: color-mix(in srgb, var(--fp-a) 11%, transparent); max-width: none;
}
.fp-ausgang-band.angenommen { --fp-a: var(--fp-angenommen); }
.fp-ausgang-band strong { color: var(--fp-a); }
.fp-ausgang {
  --fp-a: var(--fp-abgelehnt);
  display: inline-block; margin-left: 0.4rem; padding: 0 0.4rem; border: 1px solid currentColor;
  border-radius: 3px; color: var(--fp-a); font-size: 0.75rem; font-weight: 700; line-height: 1.5; white-space: nowrap; vertical-align: 0.1em;
}
.fp-ausgang.angenommen { --fp-a: var(--fp-angenommen); }
.fp-tabelle tr.fp-zu td > .fp-titel, .fp-tabelle tr.fp-zu .fp-zeile2 { opacity: 0.78; }
.fp-mini i.ab { background: var(--fp-abgelehnt); width: 14px; }
.fp-mini i.an { background: var(--fp-angenommen); width: 14px; }
.fp-leiste li.ab { --fp-a: var(--fp-abgelehnt); }
.fp-leiste li.an { --fp-a: var(--fp-angenommen); }
.fp-leiste li.ab::before, .fp-leiste li.an::before { background: var(--fp-a) !important; }
.fp-leiste li.ab .punkt, .fp-leiste li.an .punkt {
  width: 22px; height: 22px; margin-top: -4px; border: 0; background: var(--fp-a); color: var(--bg2);
  display: grid; place-items: center; font-size: 0.8rem; font-weight: 800; line-height: 1;
}
.fp-leiste li.ab .name, .fp-leiste li.an .name { color: var(--fp-a); font-weight: 700; }
