/* Einsatzstatistik – Anzeige. Eigenständig (Rückfallwerte), nutzt aber die Farben/Schrift des Themes, wenn vorhanden.
   Keine externen Schriften, Bilder oder Dienste. */
.ffes{
  --ffes-red:var(--red,#C8102E); --ffes-red-d:var(--red-d,#9a0c23); --ffes-ink:var(--ink,#171a1e);
  --ffes-steel:var(--steel,#3b434c); --ffes-muted:var(--muted,#5d6670); --ffes-mist:var(--mist,#f2f3f5);
  --ffes-line:var(--line,#e2e5e9); --ffes-paper:var(--paper,#fff);
  --ffes-mono:var(--mono,ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace);
  --ffes-ease:var(--ease-out,cubic-bezier(.23,1,.32,1));
  color:var(--ffes-ink); font-size:1rem; line-height:1.5;
}
.ffes *,.ffes *::before,.ffes *::after{box-sizing:border-box}
.ffes-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ffes-empty{color:var(--muted,#5d6670);font-style:italic}

/* Überschriften */
.ffes-h{font-size:clamp(1.2rem,2.6vw,1.5rem);line-height:1.2;letter-spacing:-.01em;font-weight:800;margin:0 0 .35em}
.ffes--full>.ffes-h{font-size:clamp(1.5rem,3.4vw,2rem);border-top:2px solid var(--ffes-ink);padding-top:16px;margin-bottom:20px}
.ffes-sub{margin:0 0 20px;color:var(--ffes-muted);font-size:.9375rem;max-width:60ch}

/* Kennzahl-Kacheln */
.ffes-kpis{display:grid;gap:12px;list-style:none;margin:0 0 32px;padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.ffes--kpi .ffes-kpis{margin:0}
.ffes-kpis--3>.ffes-kpi:first-child{grid-column:1/-1}
.ffes-kpi{display:flex;flex-direction:column;gap:2px;padding:18px 18px 16px;background:var(--ffes-mist);border-radius:6px;min-width:0}
.ffes-kpi__l{font:700 .8125rem/1.3 var(--ffes-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ffes-muted)}
.ffes-kpi__n{font-size:clamp(2.25rem,7vw,3.75rem);line-height:1.05;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:6px 0 4px}
.ffes-kpi__s{font-size:.9375rem;color:var(--ffes-muted)}
.ffes-kpi--accent{background:var(--ffes-red);color:#fff}
.ffes-kpi--accent .ffes-kpi__l,.ffes-kpi--accent .ffes-kpi__s{color:#fff}
.ffes-kpi--accent .ffes-kpi__s{opacity:.92}
@media (max-width:699px){
  .ffes-kpi{padding:16px 16px 14px}
  .ffes-kpi__l{letter-spacing:0}   /* „EINSATZSTUNDEN“ soll in der schmalen Kachel nicht mitten im Wort umbrechen */
}
@media (min-width:700px){
  .ffes-kpis--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ffes-kpis--3>.ffes-kpi:first-child{grid-column:auto}
  .ffes-kpi{padding:22px 22px 20px}
}
@media (min-width:900px){.ffes-kpis--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Startseiten-Block „Zahlen und Fakten“: Überschrift mittig mit roter Linie, 4 Kacheln mit Symbol (2 x 2 am Handy) */
.ffes-home__h{margin:0 0 28px;text-align:center;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.5rem,4.4vw,2.25rem);line-height:1.15;font-weight:900;text-wrap:balance}
.ffes-home__h::after{content:"";display:block;width:64px;height:4px;margin:14px auto 0;background:var(--ffes-red);border-radius:2px}
.ffes-home__y{color:var(--ffes-red)}
.ffes-kpis--home{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.ffes-kpis--home{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ffes-kpi--icon{align-items:center;text-align:center;gap:0;padding:22px 12px 20px}
.ffes-kpi__i{display:grid;place-items:center;width:56px;height:56px;margin-bottom:10px;border-radius:50%;background:var(--red-l,#fde8ec);color:var(--ffes-red)}
.ffes-kpi__i svg{width:30px;height:30px}
.ffes-kpi--icon .ffes-kpi__n{margin:0 0 4px}
.ffes-kpi--icon .ffes-kpi__l{font-weight:700;font-size:.9375rem;line-height:1.3;letter-spacing:0;text-transform:none;font-family:inherit;color:var(--ffes-muted)}
.ffes-home__more{margin:22px 0 0;text-align:center;font-size:.9375rem}
.ffes-home__more a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ffes-red);font-weight:700;text-underline-offset:3px;text-decoration-thickness:1px}
.ffes-home__more a svg{width:18px;height:18px;flex:none;transition:transform .2s var(--ffes-ease)}
@media (hover:hover) and (pointer:fine){.ffes-home__more a:hover{color:var(--ffes-red-d)}.ffes-home__more a:hover svg{transform:translateX(3px)}}
.ffes-home__more a:focus-visible{outline:3px solid var(--ffes-red);outline-offset:2px;border-radius:4px}

/* Karten */
.ffes-charts{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);margin-bottom:24px}
@media (min-width:1000px){.ffes-charts--two{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.ffes-card{margin:0 0 24px;padding:24px;background:var(--ffes-paper);border:1px solid var(--ffes-line);border-radius:6px;min-width:0}
.ffes-charts .ffes-card{margin:0}
@media (max-width:600px){.ffes-card{padding:16px 14px}}

/* Säulendiagramm */
.ffes-chart{--h:260px;--colmin:56px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px}
@media (max-width:600px){.ffes-chart{--h:210px;--colmin:40px;column-gap:4px}}
.ffes-chartwrap{position:relative}
.ffes-y{position:relative;height:var(--h);margin-top:30px;min-width:2.6em}
.ffes-y span{position:absolute;right:0;bottom:calc(var(--v) / var(--max) * 100%);transform:translateY(50%);font:.8125rem/1 var(--ffes-mono);color:var(--ffes-muted);font-variant-numeric:tabular-nums}
.ffes-scroll{overflow-x:auto;overflow-y:hidden;padding-top:30px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.ffes-inner{position:relative;min-width:calc(var(--n) * var(--colmin))}
.ffes-lines{position:absolute;left:0;right:0;top:0;height:var(--h);pointer-events:none}
.ffes-lines i{position:absolute;left:0;right:0;bottom:calc(var(--v) / var(--max) * 100%);height:1px;background:var(--ffes-line);transform:translateY(50%)}
.ffes-lines i:first-child{background:#aab1b9}
.ffes-cols{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.ffes-col{appearance:none;-webkit-appearance:none;background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:center;position:relative;display:flex;flex-direction:column;border-radius:6px;-webkit-tap-highlight-color:transparent}
.ffes-col::before{content:"";position:absolute;inset:0 3px;border-radius:6px;background:rgba(23,26,30,.06);opacity:0;transition:opacity .15s var(--ffes-ease)}
.ffes-col[aria-pressed="true"]::before{opacity:1;background:rgba(200,16,46,.08)}
@media (hover:hover) and (pointer:fine){.ffes-col:hover::before{opacity:1}}
.ffes-col:focus-visible{outline:3px solid var(--ffes-red);outline-offset:-3px}
.ffes-zone{position:relative;height:var(--h);display:flex;align-items:flex-end;justify-content:center}
.ffes-bar{position:relative;width:60%;max-width:72px;height:calc(var(--t) / var(--max) * 100%)}
.ffes-val{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);padding-bottom:4px;font-weight:800;font-size:.9375rem;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.ffes-stack{position:absolute;inset:0;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden;transform-origin:50% 100%}
.ffes-seg{flex:var(--v) 1 0%;min-height:0;background:var(--ffes-steel)}
.ffes-seg+.ffes-seg{border-top:1px solid #fff}
.ffes-seg--h{background:var(--ffes-steel)}
.ffes-col[aria-pressed="true"] .ffes-seg--h{background:var(--ffes-red)}
.ffes-yr{height:38px;display:grid;place-items:center;position:relative;font:700 .875rem/1 var(--ffes-mono);color:var(--ffes-muted);font-variant-numeric:tabular-nums}
.ffes-col[aria-pressed="true"] .ffes-yr{color:var(--ffes-red);font-weight:800}
.ffes-tip[hidden]{display:none}

/* Tooltip (wird von frontend.js eingefügt) */
.ffes-tipbox{position:absolute;z-index:6;left:0;top:0;pointer-events:none;min-width:190px;max-width:260px;padding:10px 12px;background:#fff;color:var(--ffes-ink);border:2px solid var(--ffes-ink);border-radius:6px;box-shadow:0 6px 18px rgba(23,26,30,.18);font-size:.875rem;line-height:1.35;opacity:0;visibility:hidden;transition:opacity .12s var(--ffes-ease)}
.ffes-tipbox.is-on{opacity:1;visibility:visible}
.ffes-tipbox b{display:block;font-size:1.0625rem;font-weight:800;margin-bottom:4px}
.ffes-tip__r{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.ffes-tip__r>span{display:inline-flex;align-items:center;gap:8px}
.ffes-tip__r i,.ffes-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}
.ffes-tip__r em{font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}
.ffes-tip__t{margin-top:4px;padding-top:4px;border-top:1px solid var(--ffes-line)}

/* Legende, Begriffe */
.ffes-legend{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:18px 0 0;padding:0;font-size:.9375rem}
.ffes-legend li{display:inline-flex;align-items:center;gap:8px}
.ffes-gloss,.ffes-data{margin-top:16px;font-size:.9375rem}
.ffes-gloss summary,.ffes-data summary{cursor:pointer;font-weight:700;color:var(--ffes-ink);padding:8px 0;min-height:44px;display:flex;align-items:center}
.ffes-gloss summary:hover,.ffes-data summary:hover{color:var(--ffes-red)}
.ffes-gloss dl{margin:4px 0 0;display:grid;gap:2px 16px;grid-template-columns:max-content 1fr}
.ffes-gloss dt{font-weight:700}
.ffes-gloss dd{margin:0;color:var(--ffes-muted)}
@media (max-width:600px){.ffes-gloss dl{grid-template-columns:1fr}.ffes-gloss dd{margin-bottom:8px}}

/* Jahresauswahl */
.ffes-tabs{display:none;position:relative;gap:8px;overflow-x:auto;padding:4px 2px 14px;margin:0 -2px;scrollbar-width:thin}
.ffes.is-js .ffes-tabs{display:flex}
.ffes-tab{flex:none;min-width:68px;min-height:46px;padding:0 18px;border:2px solid var(--ffes-ink);border-radius:6px;background:transparent;color:var(--ffes-ink);font-weight:800;font-size:1rem;line-height:1;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s var(--ffes-ease),border-color .15s var(--ffes-ease),color .15s var(--ffes-ease),transform .12s var(--ffes-ease);-webkit-tap-highlight-color:transparent}
.ffes-tab[aria-selected="true"]{background:var(--ffes-red);border-color:var(--ffes-red);color:#fff}
@media (hover:hover) and (pointer:fine){.ffes-tab[aria-selected="false"]:hover{border-color:var(--ffes-red);color:var(--ffes-red)}}
.ffes-tab:active{transform:scale(.97)}
.ffes-tab:focus-visible{outline:3px solid var(--ffes-red);outline-offset:2px}
.ffes-panel{display:grid;gap:20px 40px;margin-top:8px;grid-template-columns:minmax(0,1fr)}
.ffes-panel[hidden]{display:none}
.ffes-panel:focus-visible{outline:3px solid var(--ffes-red);outline-offset:4px;border-radius:6px}
.ffes-panel__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 20px}
.ffes-panel__y{margin:0;font-size:clamp(2.25rem,6vw,3.25rem);line-height:1;font-weight:900;letter-spacing:-.03em;color:var(--ffes-red);font-variant-numeric:tabular-nums}
.ffes-panel__t{margin:0;font-size:1.125rem}
.ffes-panel__t strong{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}
.ffes-hb{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.ffes-hb__r{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:baseline}
.ffes-hb__l{font-weight:700}
.ffes-hb__v{font-variant-numeric:tabular-nums;text-align:right}
.ffes-hb__v b{font-size:1.25rem;font-weight:800}
.ffes-hb__v small{font-size:.875rem;color:var(--ffes-muted);margin-left:4px}
.ffes-hb__track{grid-column:1/-1;display:block;height:14px;border-radius:4px;background:var(--ffes-mist);overflow:hidden}
.ffes-hb__fill{display:block;height:100%;width:calc(var(--p) * 1%);background:var(--c);border-radius:4px}
.ffes-facts{display:grid;gap:12px;margin:0;align-content:start}
.ffes-facts>div{padding:14px 16px;background:var(--ffes-mist);border-radius:6px}
.ffes-facts dt{font:700 .8125rem/1.3 var(--ffes-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ffes-muted)}
.ffes-facts dd{margin:2px 0 0;font-size:1.75rem;line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums}
@media (min-width:800px){.ffes-panel{grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr)}.ffes-panel__head{grid-column:1/-1}}

/* Hinweis, Tabelle */
.ffes-note{margin:4px 0 8px;color:var(--ffes-muted);font-size:.9375rem}
.ffes-data__w{overflow-x:auto;margin-top:8px;border:1px solid var(--ffes-line);border-radius:6px}
.ffes-data table{width:100%;min-width:620px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ffes-data caption{text-align:left;padding:10px 14px;font-weight:700;caption-side:top}
.ffes-data th,.ffes-data td{padding:9px 14px;border-top:1px solid var(--ffes-line);text-align:right;white-space:nowrap}
.ffes-data thead th{background:var(--ffes-mist);font-size:.875rem;vertical-align:bottom;white-space:normal}
.ffes-data th:first-child,.ffes-data tbody th{text-align:left}

/* Bewegung (nur mit JavaScript; ohne JS ist alles sofort sichtbar) */
@media (prefers-reduced-motion:no-preference){
  .ffes.is-js [data-reveal] .ffes-stack{transform:scaleY(0)}
  .ffes.is-js [data-reveal] .ffes-val{opacity:0}
  .ffes.is-js [data-reveal].is-in .ffes-stack{transform:none;transition:transform .9s var(--ffes-ease) calc(min(var(--i), 12) * 70ms)}
  .ffes.is-js [data-reveal].is-in .ffes-val{opacity:1;transition:opacity .4s ease calc(min(var(--i), 12) * 70ms + 450ms)}
  .ffes.is-js .ffes-kpis[data-reveal] .ffes-kpi{opacity:0;transform:translateY(12px)}
  .ffes.is-js .ffes-kpis[data-reveal].is-in .ffes-kpi{opacity:1;transform:none;transition:opacity .5s ease,transform .6s var(--ffes-ease)}
  .ffes.is-js .ffes-kpis.is-in .ffes-kpi:nth-child(2){transition-delay:.08s}
  .ffes.is-js .ffes-kpis.is-in .ffes-kpi:nth-child(3){transition-delay:.16s}
  .ffes.is-js .ffes-kpis.is-in .ffes-kpi:nth-child(4){transition-delay:.24s}
  .ffes.is-js .ffes-panel:not(.is-in) .ffes-hb__fill{width:0}
  .ffes.is-js .ffes-panel.is-in .ffes-hb__fill{transition:width .7s var(--ffes-ease)}
  .ffes.is-js .ffes-panel.is-in .ffes-hb__r:nth-child(2) .ffes-hb__fill{transition-delay:.06s}
  .ffes.is-js .ffes-panel.is-in .ffes-hb__r:nth-child(3) .ffes-hb__fill{transition-delay:.12s}
  .ffes.is-js .ffes-panel.is-in .ffes-hb__r:nth-child(4) .ffes-hb__fill{transition-delay:.18s}
}

/* Seiten mit der vollständigen Statistik: breitere Inhaltsspalte (Theme-Klasse .ff-narrow) */
body.ffes-wide .ff-narrow{max-width:var(--wrap,1200px)}
