/* Auswertungen (auswertung.js) – ruhig und klar wie das Portal (PlanCraft-Stil). Farben und Schrift aus den Variablen der Seite (--ink, --line, --muted …).
   Nur Klassen mit au-… . Diagrammfarben: Referenzpalette Platz 1–3 (Blau, Orange, Aqua – auch für Farbsehschwäche geprüft), Grau für „nicht aufteilbar“/„fertig“,
   Auslastung als einfarbige Blau-Stufen, Überbuchung mit Statusfarbe + ▲. Bewegung nur ohne „Bewegung reduzieren“. */
:root {
  --au-s1: #2a78d6; --au-s1-hell: #86b6ef; --au-s2: #eb6834; --au-s3: #1baf7a; --au-grau: #948f87; --au-fertig: #898781;
  --au-gitter: #eeeae4; --au-achse: #c9c3ba; --au-ernst: #ec835a; --au-flaeche: #fff; --au-zart: #faf8f5; --au-hover: var(--g-hover, #f3efeb);
}
.au-seite { min-width: 0; }
.au { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
.au > * { min-width: 0; }
.au-raster, .au-kpis { transition: opacity .18s; }
.au.au-laedt .au-raster, .au.au-laedt .au-kpis, .au.au-laedt .au-hinweise { opacity: .5; pointer-events: none; }
.au-leer { color: var(--muted); margin: 0; padding: 10px 2px; }
.au-fehlerbox { background: #fdecec; color: var(--bad, #c62828); border: 1px solid #f3c4c4; border-radius: 10px; padding: 12px 14px; margin: 0; }
.au-warn { background: var(--g-gelb, #fdf1c4); color: var(--g-gelb-ink, #6f5300); border-radius: 9px; padding: 9px 12px; margin: 0; font-size: 13.5px; }
.au-link { border: 0; background: none; color: var(--ink); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; padding: 4px 2px; }
.au-link:hover { color: var(--red); }

/* Kopf und Filter (eine Zeile über allem) */
.au-kopfbereich { display: grid; gap: 12px; }
.au-kopf { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 6px 16px; }
.au-kopf .page-title { margin: 4px 0 0; }
.au-stand { font-size: 13px; color: var(--muted); display: flex; gap: 12px; align-items: center; }
.au-filter { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }
.au-seg { display: inline-flex; background: var(--au-hover); border-radius: 10px; padding: 3px; gap: 2px; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.au-seg::-webkit-scrollbar { display: none; }
.au-seg button { flex: none; border: 0; background: none; border-radius: 8px; padding: 7px 13px; min-height: 38px; font: inherit; font-size: 14px; font-weight: 700; color: var(--muted); cursor: pointer; white-space: nowrap; }
.au-seg button:hover:not(:disabled) { color: var(--ink); }
.au-seg button.an { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .14); }
.au-seg button:disabled { opacity: .45; cursor: not-allowed; }
.au-seg-klein button { padding: 4px 10px; min-height: 30px; font-size: 12.5px; }
.au-zr { display: flex; align-items: center; gap: 6px; }
.au-zr b { min-width: 150px; text-align: center; font-size: 15px; }
.au-pfeil { width: 38px; height: 38px; border: 1px solid var(--line); background: #fff; border-radius: 9px; font: inherit; font-size: 20px; line-height: 1; color: var(--ink); cursor: pointer; }
.au-pfeil:hover:not(:disabled) { border-color: var(--ink); }
.au-pfeil:disabled { opacity: .35; cursor: not-allowed; }
.au-frei { display: flex; gap: 10px; flex-wrap: wrap; }
.au-frei label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--muted); }
.au-frei input, .au-firma select { min-height: 38px; border: 1px solid var(--line); border-radius: 9px; padding: 6px 10px; font: inherit; font-size: 15px; background: #fff; color: var(--ink); }
.au-firma { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); margin-left: auto; }

/* Hinweise: was in den Daten fehlt */
.au-hinweise { background: var(--au-zart); border: 1px solid var(--line); border-radius: 10px; padding: 8px 14px; font-size: 13.5px; }
.au-hinweise summary { cursor: pointer; font-weight: 700; color: var(--ink); min-height: 28px; display: flex; align-items: center; gap: 8px; }
.au-hinweise ul { margin: 6px 0 4px; padding-left: 20px; color: var(--muted); display: grid; gap: 4px; }
.au-i { width: 18px; height: 18px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 12px; font-weight: 800; display: inline-grid; place-items: center; font-style: italic; font-family: Georgia, serif; }

/* Kennzahlen */
.au-kpis { display: flex; flex-wrap: wrap; gap: 12px 14px; align-items: stretch; }
.au-kpi-gruppe { display: grid; grid-template-rows: auto 1fr; gap: 6px; min-width: 0; }
.au-kpi-zeitraum { flex: 5 1 900px; }
.au-kpi-jetzt { flex: 2 1 360px; max-width: 560px; }
.au-kpi-titel { margin: 0; font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.au-kpi-raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.au-kpi { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 13px 15px; display: grid; gap: 3px; align-content: start; text-align: left; font: inherit; color: var(--ink); min-width: 0; }
button.au-kpi { cursor: pointer; }
button.au-kpi:hover { border-color: var(--ink); }
.au-kpi-heute { background: var(--au-zart); }
.au-k-l { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.au-k-w { font-size: 25px; font-weight: 800; line-height: 1.15; overflow-wrap: anywhere; }
.au-kpi small { color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.au-kpi .au-vj { font-size: 12px; }

/* Raster der Karten: breit zwei Spalten, sonst untereinander */
.au-raster { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
/* bis 1700 px (z. B. 1366 px): alle Karten über die ganze Breite, untereinander.
   breit (z. B. 1920 px): Verlauf + Herkunft, Leads, Auslastung, Telefon + Karte (Karte füllt die Höhe der Telefon-Karte) */
@media (min-width: 1700px) {
  .au-raster { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .au-sp-monate { grid-column: span 7; } .au-sp-herkunft { grid-column: span 5; }
  .au-sp-leads, .au-sp-voll { grid-column: span 12; }
  .au-sp-telefon { grid-column: span 5; } .au-sp-karte { grid-column: span 7; }
}
.au-karte.au-sp-karte { display: flex; flex-direction: column; }
.au-sp-karte .au-map { flex: 1 1 auto; }
.au-karte { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; min-width: 0; display: grid; gap: 12px; align-content: start; }
.au-k-kopf { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px 14px; flex-wrap: wrap; }
.au-k-kopf h2 { font-size: 17px; font-weight: 800; margin: 0; }
.au-k-kopf p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.au-k-rechts { display: flex; gap: 8px; flex-wrap: wrap; }
.au-h3, .au-leads h3 { font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); margin: 4px 0 0; font-weight: 700; }
.au-fuss { margin: 0; color: var(--muted); font-size: 12.5px; }

/* Legende */
.au-legende { display: flex; flex-wrap: wrap; gap: 4px 16px; list-style: none; margin: 0; padding: 0; font-size: 12.5px; color: var(--muted); }
.au-legende li { display: inline-flex; align-items: center; }
.au-sw { width: 10px; height: 10px; border-radius: 3px; background: var(--f); display: inline-block; margin-right: 6px; flex: none; vertical-align: -1px; }
.au-sw-punkt { border-radius: 50%; }
.au-sw-ring { border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px var(--f); }

/* Säulendiagramm (SVG) */
.au-diagramm { position: relative; min-width: 0; }
.au-svg { display: block; overflow: visible; }
.au-svg text { font-family: inherit; font-size: 11px; fill: var(--muted); }
.au-ytick { text-anchor: end; font-variant-numeric: tabular-nums; }
.au-xtick { text-anchor: middle; }
.au-xjahr { font-weight: 700; fill: var(--ink) !important; }
.au-wert { text-anchor: middle; font-weight: 700; fill: var(--ink) !important; font-size: 11.5px !important; }
.au-gitter { stroke: var(--au-gitter); stroke-width: 1; shape-rendering: crispEdges; }
.au-basis { stroke: var(--au-achse); stroke-width: 1; shape-rendering: crispEdges; }
.au-blass .au-bar { opacity: .32; }
.au-blass-t { opacity: .65; }
.au-saeule { transition: opacity .12s; }
.au-saeule.hover .au-bar { opacity: 1; filter: saturate(1.15) brightness(1.06); }
.au-hit { fill: transparent; cursor: pointer; outline: none; }
.au-hit:not([data-au-drill]) { cursor: default; }
.au-hit:focus-visible { fill: rgba(43, 38, 33, .05); stroke: var(--ink); stroke-width: 1.5; }
.au-anim .au-saeule { transform-box: fill-box; transform-origin: 50% 100%; animation: au-wachsen .55s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i, 0) * 16ms); }
@keyframes au-wachsen { from { transform: scaleY(0); } }

/* Tooltip */
.au-tip { position: fixed; z-index: 95; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 28px rgba(0, 0, 0, .14); padding: 8px 12px; font-size: 13px; color: var(--ink); pointer-events: none; max-width: 270px; display: grid; gap: 2px; }
.au-tip[hidden] { display: none; }
.au-tip-w { font-size: 17px; font-weight: 800; }
.au-tip-z { display: flex; gap: 6px; align-items: center; } .au-tip-z small { color: var(--muted); }
.au-tip-k { width: 12px; height: 3px; border-radius: 2px; background: var(--f); flex: none; }

/* Tabellen-Ansicht */
.au-tab { font-size: 13.5px; }
.au-tab summary { cursor: pointer; color: var(--muted); font-weight: 700; font-size: 12.5px; min-height: 26px; display: inline-flex; align-items: center; }
.au-tab-rollen { overflow-x: auto; max-height: 360px; overflow-y: auto; margin-top: 6px; border: 1px solid var(--line); border-radius: 9px; }
.au-tab table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.au-tab th, .au-tab td { padding: 6px 10px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.au-tab th:first-child, .au-tab td:first-child { text-align: left; }
.au-tab thead th { position: sticky; top: 0; background: var(--au-zart); font-size: 12px; color: var(--muted); }
.au-tab tr.au-im td { background: #f5f9fe; }
.au-tab small { color: var(--muted); }

/* Herkunft: Spur = Anfragen, Füllung = davon Auftrag */
.au-hz-kopf, .au-hz { display: grid; grid-template-columns: minmax(96px, 150px) minmax(60px, 1fr) 70px 92px; gap: 10px; align-items: center; }
.au-hz-kopf { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 700; padding: 0 6px; }
.au-hz-kopf span:nth-child(n+3) { text-align: right; }
.au-hz-liste { display: grid; gap: 2px; }
.au-hz { border: 0; background: none; font: inherit; color: var(--ink); text-align: left; padding: 7px 6px; border-radius: 8px; cursor: pointer; min-height: 44px; }
.au-hz:hover, .au-hz:focus-visible { background: var(--au-hover); }
.au-hz-n { font-weight: 700; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-hz-bar { position: relative; height: 10px; }
.au-hz-spur, .au-hz-voll { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 0 4px 4px 0; }
.au-hz-spur { background: var(--au-s1-hell); }
.au-hz-voll { background: var(--au-s1); border-right: 2px solid #fff; box-sizing: content-box; }
.au-hz-voll[style^="width:0"] { display: none; }
.au-hz-z, .au-hz-w { display: grid; justify-items: end; line-height: 1.2; font-variant-numeric: tabular-nums; }
.au-hz-z small, .au-hz-w small { color: var(--muted); font-size: 11.5px; }
.au-anim .au-hz-spur, .au-anim .au-hz-voll, .au-anim .au-kat-bar span, .au-anim .au-tr-bar span { animation: au-breit .6s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes au-breit { from { max-width: 0; } to { max-width: 100%; } }

/* Lead-Trichter */
.au-leads { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 14px 36px; }
.au-trichter { display: grid; gap: 2px; align-content: start; }
.au-tr-kopf { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; flex-wrap: wrap; } .au-tr-kopf span { color: var(--muted); font-size: 13px; }
.au-tr-stufe { display: grid; grid-template-columns: minmax(120px, 170px) minmax(40px, 1fr) 44px; gap: 10px; align-items: center; font: inherit; font-size: 13px; color: var(--ink); border: 0; background: none; padding: 4px 6px; border-radius: 7px; text-align: left; font-variant-numeric: tabular-nums; }
button.au-tr-stufe { cursor: pointer; min-height: 32px; } button.au-tr-stufe:hover, button.au-tr-stufe:focus-visible { background: var(--au-hover); }
button.au-tr-stufe .au-tr-l { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--au-achse); }
.au-tr-stufe b { text-align: right; }
.au-tr-l { color: var(--muted); }
.au-tr-bar { height: 8px; background: var(--au-gitter); border-radius: 0 4px 4px 0; overflow: hidden; }
.au-tr-bar span { display: block; height: 100%; background: var(--au-s1); border-radius: 0 4px 4px 0; }

/* Auslastung: Personen × Wochen/Monate */
.au-skala { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; font-size: 12px; color: var(--muted); }
.au-skala i { width: 18px; height: 12px; border-radius: 3px; display: inline-block; }
.au-skala span { margin: 0 6px 0 2px; }
.au-skala span:first-child { margin-left: 0; }
.au-heat-rollen { overflow-x: auto; max-width: 100%; border-radius: 9px; outline: none; }
.au-heat-rollen:focus-visible { box-shadow: 0 0 0 2px var(--ink); }
.au-heat { border-collapse: separate; border-spacing: 2px; font-variant-numeric: tabular-nums; min-width: 100%; }
.au-heat th { font-size: 12px; color: var(--muted); font-weight: 700; padding: 4px 6px; white-space: nowrap; text-align: center; }
.au-heat thead th small { display: block; font-weight: 400; font-size: 11px; }
.au-heat th.au-jetzt { color: var(--ink); box-shadow: inset 0 -2px 0 var(--red); }
.au-heat-p { position: sticky; left: 0; z-index: 1; background: #fff; text-align: left !important; min-width: 148px; max-width: 200px; }
.au-heat tbody .au-heat-p { display: table-cell; padding: 4px 10px 4px 2px; }
.au-heat tbody .au-heat-p b { display: block; font-size: 14px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.au-heat tbody .au-heat-p small { display: flex; gap: 6px; align-items: center; font-weight: 400; color: var(--muted); font-size: 11.5px; }
.au-chip { border-radius: 999px; padding: 0 7px; font-size: 10.5px; font-weight: 700; background: #f1ece6; color: var(--ink); }
.au-chip-369 { background: #fde6dc; color: #8a3a12; }
.au-z { min-width: 56px; height: 44px; border-radius: 6px; text-align: center; padding: 3px 4px; background: #f4f2ee; color: var(--ink); line-height: 1.15; }
.au-z b { display: block; font-size: 13px; } .au-z small { display: block; font-size: 10.5px; opacity: .8; }
.au-z[role="button"] { cursor: pointer; }
.au-z[role="button"]:hover, .au-z[role="button"]:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.au-z-leer { color: var(--muted); background: #f7f6f3; }
.au-z-abw, .au-skala i.au-z-abw { background: repeating-linear-gradient(45deg, #eeebe6 0 4px, #f8f6f3 4px 8px); color: var(--muted); font-size: 12px; }
.au-s0 { background: #f4f2ee; color: var(--muted); }
.au-s1 { background: #cde2fb; } .au-s2 { background: #9ec5f4; } .au-s3 { background: #6da7ec; }
.au-s4 { background: #3987e5; color: #fff; } .au-s5 { background: #256abf; color: #fff; } .au-s6 { background: #184f95; color: #fff; }
.au-sueber, .au-z.au-sueber, td.au-sueber { background: var(--au-ernst); color: #2b2622; }
.au-z-sum { min-width: 86px; text-align: right; padding: 3px 4px 3px 12px; line-height: 1.15; }
.au-z-sum b { display: block; font-size: 14px; } .au-z-sum small { color: var(--muted); font-size: 11px; white-space: nowrap; }

/* Telefon-KI */
.au-minis { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; }
.au-mini { background: var(--au-zart); border: 1px solid transparent; border-radius: 10px; padding: 9px 11px; display: grid; gap: 1px; text-align: left; font: inherit; color: var(--ink); min-width: 0; }
button.au-mini { cursor: pointer; } button.au-mini:hover, button.au-mini:focus-visible { border-color: var(--ink); }
.au-mini span { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-mini b { font-size: 19px; font-weight: 800; }
.au-mini small { color: var(--muted); font-size: 11.5px; }
.au-tel-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px 18px; }
.au-tel-2 > div { display: grid; gap: 6px; align-content: start; min-width: 0; }
.au-kat { display: grid; gap: 1px; }
.au-kat-z { display: grid; grid-template-columns: minmax(90px, 130px) minmax(30px, 1fr) 36px; gap: 8px; align-items: center; border: 0; background: none; font: inherit; font-size: 13px; color: var(--ink); text-align: left; padding: 5px 6px; border-radius: 7px; cursor: pointer; min-height: 32px; font-variant-numeric: tabular-nums; }
.au-kat-z:hover, .au-kat-z:focus-visible { background: var(--au-hover); }
.au-kat-n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-kat-z b { text-align: right; }
.au-kat-bar { height: 8px; }
.au-kat-bar span { display: block; height: 100%; background: var(--au-s1); border-radius: 0 4px 4px 0; }
.au-dringend { color: var(--bad, #c62828); }

/* Karte */
.au-phasen { display: flex; flex-wrap: wrap; gap: 6px; }
.au-ph { display: inline-flex; align-items: center; gap: 2px; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 5px 12px; font: inherit; font-size: 13px; color: var(--ink); cursor: pointer; min-height: 34px; }
.au-ph b { margin-left: 6px; font-variant-numeric: tabular-nums; }
.au-ph:hover { border-color: var(--ink); }
.au-ph.aus { opacity: .45; text-decoration: line-through; }
.au-map { height: 470px; min-height: 470px; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); position: relative; z-index: 0; isolation: isolate; background: #eef0ec; }
.au-map .leaflet-tooltip { font-size: 12.5px; line-height: 1.35; border-radius: 8px; }
.au-map .leaflet-tooltip i { color: var(--muted); }

/* Seitenleiste: zugehörige Vorgänge / Anrufe / Einsätze */
.au-scrim { position: fixed; inset: 0; background: var(--g-scrim, rgba(43, 38, 33, .42)); z-index: 89; }
.au-scrim[hidden] { display: none; }
.au-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(540px, 100vw); background: #fff; z-index: 90; box-shadow: -12px 0 30px rgba(0, 0, 0, .16); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .2s ease-out; }
.au-panel[hidden] { display: none; }
.au-panel.auf { transform: none; }
.au-p-kopf { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; padding: 16px 18px 12px; border-bottom: 1px solid var(--line); }
.au-p-kopf h2 { margin: 0; font-size: 18px; font-weight: 800; }
.au-p-kopf p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.au-p-kopf .au-p-sum { color: var(--ink); font-weight: 700; }
.au-x { width: 40px; height: 40px; flex: none; border: 1px solid var(--line); background: #fff; border-radius: 10px; font-size: 16px; cursor: pointer; color: var(--ink); }
.au-x:hover { border-color: var(--ink); }
.au-p-liste { overflow-y: auto; padding: 4px 12px 16px; flex: 1; overscroll-behavior: contain; }
.au-p-liste h3 { font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); margin: 14px 6px 4px; font-weight: 700; }
.au-p-z { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; width: 100%; border: 0; border-bottom: 1px solid var(--line); background: none; font: inherit; color: var(--ink); text-align: left; padding: 10px 6px; min-height: 44px; }
button.au-p-z { cursor: pointer; } button.au-p-z:hover, button.au-p-z:focus-visible { background: var(--au-hover); }
.au-p-haupt { display: flex; align-items: center; gap: 2px; min-width: 0; overflow: hidden; }
.au-p-haupt b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 0 0 auto; max-width: 72%; }
.au-p-haupt > span:not(.au-sw) { color: var(--muted); font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-left: 6px; flex: 1 1 auto; min-width: 0; }
.au-p-wert { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.au-p-wert small { color: var(--muted); font-weight: 400; }
.au-p-neben { grid-column: 1 / -1; color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.au-p-fuss { border-top: 1px solid var(--line); padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); display: flex; gap: 8px; }
body.au-panel-offen { overflow: hidden; }

/* Handy: Kacheln untereinander */
@media (max-width: 860px) {
  .au-kpi-zeitraum, .au-kpi-jetzt { flex: 1 1 100%; max-width: none; }
  .au-kpi-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .au-kpi { padding: 11px 12px; }
  .au-k-w { font-size: 21px; }
  .au-karte { padding: 14px 13px; }
  .au-firma { margin-left: 0; }
  .au-zr b { min-width: 0; flex: 1; }
  .au-zr { flex: 1 1 100%; }
  .au-filter > .au-seg { flex: 1 1 100%; }
  .au-filter > .au-seg button { flex: 1; padding: 7px 8px; min-height: 42px; }
  .au-map { height: 360px; min-height: 360px; }
  .au-panel { top: auto; left: 0; right: 0; width: 100%; max-height: 86vh; border-radius: 16px 16px 0 0; transform: translateY(100%); box-shadow: 0 -12px 30px rgba(0, 0, 0, .16); }
  .au-panel.auf { transform: none; }
}
@media (max-width: 560px) {
  .au-hz-kopf { display: none; }
  .au-hz { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "n z w" "b b b"; row-gap: 6px; }
  .au-hz-n { grid-area: n; } .au-hz-bar { grid-area: b; } .au-hz-z { grid-area: z; } .au-hz-w { grid-area: w; min-width: 64px; }
  .au-tr-stufe { grid-template-columns: minmax(100px, 1fr) minmax(40px, 1fr) 36px; }
  .au-k-w { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .au-anim .au-saeule, .au-anim .au-hz-spur, .au-anim .au-hz-voll, .au-anim .au-kat-bar span, .au-anim .au-tr-bar span { animation: none !important; }
  .au-panel, .au-raster, .au-kpis, .au-saeule { transition: none !important; }
}
@media print { .au-filter, .au-tab, .au-stand { display: none !important; } .au-karte, .au-kpi { break-inside: avoid; } }
