/* Fassung 30: Statistikseite – Farben geprüft (hell #2f7fb5/#db0059, dunkel #3f93cc/#f0457f: Helligkeit, Sättigung, Farbsehschwäche, Kontrast) */
.gb-stat { --st-zu: #2f7fb5; --st-ab: #db0059; --st-bahn: color-mix(in srgb, var(--gb-heading, #111827) 8%, transparent); --st-gitter: color-mix(in srgb, var(--gb-heading, #111827) 14%, transparent); padding-bottom: 48px; }
body.dark-mode .gb-stat { --st-zu: #3f93cc; --st-ab: #f0457f; }
.gb-stat__leer { margin: 32px 0; color: var(--gb-muted); }
.gb-stat__kacheln { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 8px 0 22px; }
.gb-stat__kachel { padding: 18px 18px 16px; border: 1px solid var(--gb-line); border-radius: var(--gb-r-m, 14px); background: var(--gb-card); display: grid; gap: 4px; }
.gb-stat__zahl { font-size: clamp(1.8rem, 3.2vw, 2.4rem); font-weight: 750; color: var(--gb-heading); font-variant-numeric: tabular-nums; line-height: 1.1; }
.gb-stat__zahl small { font-size: .5em; font-weight: 600; color: var(--gb-muted); }
.gb-stat__was { color: var(--gb-muted); font-size: .9rem; }
.gb-stat__karte { margin: 0 0 22px; padding: 20px 22px; border: 1px solid var(--gb-line); border-radius: var(--gb-r-m, 14px); background: var(--gb-card); }
.gb-stat__karte h2 { margin: 0 0 4px; font-size: 1.2rem; }
.gb-stat__unter { margin: 0 0 12px; color: var(--gb-muted); font-size: .88rem; }
.gb-stat__legende { list-style: none; display: flex; gap: 18px; margin: 0 0 6px; padding: 0; font-size: .85rem; color: var(--gb-text); }
.gb-stat__legende i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.gb-stat__legende .is-zu { background: var(--st-zu); } .gb-stat__legende .is-ab { background: var(--st-ab); }
.gb-stat__svg { position: relative; }
.gb-stat__svg svg { width: 100%; height: auto; max-height: 300px; display: block; overflow: visible; }
.gb-stat__achse { stroke: var(--st-gitter); stroke-width: 1; }
.gb-stat__spalte path.is-zu { fill: var(--st-zu); } .gb-stat__spalte path.is-ab { fill: var(--st-ab); }
.gb-stat__treffer { fill: transparent; }
.gb-stat__spalte:hover .gb-stat__treffer, .gb-stat__spalte:focus .gb-stat__treffer { fill: var(--st-bahn); }
.gb-stat__spalte:focus { outline: none; } .gb-stat__spalte:focus-visible .gb-stat__treffer { stroke: var(--gb-focus, #db0059); stroke-width: 2; }
.gb-stat__jahr, .gb-stat__wert { font-size: 11px; fill: var(--gb-muted); font-family: inherit; font-variant-numeric: tabular-nums; }
.gb-stat__wert { fill: var(--gb-heading); font-weight: 650; }
.gb-stat__tip { position: absolute; top: 0; width: 180px; padding: 6px 10px; border-radius: 8px; background: var(--gb-heading, #111827); color: var(--gb-card, #fff); font-size: .8rem; pointer-events: none; text-align: center; }
.gb-stat__tabelle { margin-top: 8px; font-size: .88rem; }
.gb-stat__tabelle summary { cursor: pointer; color: var(--gb-link); }
.gb-stat__tabelle table { border-collapse: collapse; margin-top: 6px; }
.gb-stat__tabelle td, .gb-stat__tabelle th { padding: 3px 14px 3px 0; text-align: left; font-variant-numeric: tabular-nums; }
.gb-stat__balken { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gb-stat__balken li { display: grid; grid-template-columns: 7.5em minmax(0, 1fr) 7.5em; gap: 10px; align-items: center; }
.gb-stat__bname { font-weight: 600; color: var(--gb-heading); }
.gb-stat__bbahn { height: 16px; }
.gb-stat__bbahn i { display: block; height: 100%; min-width: 3px; background: var(--st-zu); border-radius: 0 4px 4px 0; }
.gb-stat__bwert { font-variant-numeric: tabular-nums; color: var(--gb-heading); font-weight: 600; }
.gb-stat__bwert small { color: var(--gb-muted); font-weight: 500; }
.gb-stat__tabwrap { overflow-x: auto; }
.gb-stat__firmen { width: 100%; border-collapse: collapse; font-size: .9rem; }
.gb-stat__firmen th { text-align: left; font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--gb-muted); padding: 6px 10px 6px 0; border-bottom: 1px solid var(--gb-line); cursor: pointer; white-space: nowrap; }
.gb-stat__firmen th[aria-sort="ascending"]::after { content: " ↑"; } .gb-stat__firmen th[aria-sort="descending"]::after { content: " ↓"; }
.gb-stat__firmen td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--gb-line); font-variant-numeric: tabular-nums; white-space: nowrap; }
.gb-stat__firmen td:first-child { white-space: normal; min-width: 12em; }
.gb-stat__firmen td small { color: var(--gb-muted); }
.gb-stat__mini { display: inline-block; width: 64px; height: 8px; margin-right: 8px; vertical-align: 0; background: var(--st-bahn); border-radius: 4px; overflow: hidden; }
.gb-stat__mini i { display: block; height: 100%; background: var(--st-zu); }
.gb-stat__fuss { color: var(--gb-muted); font-size: .85rem; }
@media (max-width: 760px) {
  .gb-stat__kacheln { grid-template-columns: 1fr 1fr; }
  .gb-stat__karte { padding: 16px; }
  .gb-stat__balken li { grid-template-columns: 6em minmax(0, 1fr) 6.5em; }
  .gb-stat__mini { display: none; }
}

@media (max-width: 760px) { .gb-stat__jahr, .gb-stat__wert { font-size: 30px; } .gb-stat__firmen td:first-child { min-width: 9em; } .gb-stat__firmen { font-size: .85rem; } }
