/* Admin-Dashboard: nutzt die Grundstile der App, dazu etwas Breite und Tabellen */
body.admin #app { max-width: 960px; margin: 0 auto; padding: 16px 16px calc(var(--nav-h, 70px) + 24px); }
body.admin nav.tabs button { max-width: none; }
body.admin.ohne-konto nav.tabs { display: none; }
.ampel { display: inline-block; width: 14px; height: 14px; border-radius: 50%; vertical-align: middle; margin-right: 8px; }
.ampel.gruen { background: var(--olive); } .ampel.gelb { background: var(--safran); } .ampel.rot { background: var(--tomate); }
.kennzahlen { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 10px 0; }
.kennzahl { background: var(--karte-2); border-radius: 14px; padding: 12px; }
.kennzahl b { display: block; font-size: 1.4rem; font-family: var(--kopf); }
.kennzahl span { color: var(--text-2); font-size: .85rem; font-weight: 700; }
.meldung { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--linie); }
.meldung:last-child { border-bottom: 0; }
.meldung .stufe { flex: none; width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; }
.meldung.info .stufe { background: var(--text-2); } .meldung.warnung .stufe { background: var(--safran); } .meldung.fehler .stufe { background: var(--tomate); }
.meldung.gelesen { opacity: .6; }
.meldung small { display: block; color: var(--text-2); font-weight: 700; }
.aub-sagt-admin { display: flex; gap: 14px; align-items: flex-start; }
.aub-sagt-admin svg { width: 56px; height: 68px; flex: none; }
table.liste { width: 100%; border-collapse: collapse; font-size: .92rem; }
table.liste th, table.liste td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--linie); vertical-align: top; }
table.liste th { color: var(--text-2); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
table.liste tr.gesperrt td { opacity: .55; }
.mail-liste .mail { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--linie); padding: 10px 4px; cursor: pointer; font: inherit; color: var(--text); }
.mail-liste .mail.ungelesen b { color: var(--aubergine); }
.mail-liste .mail small { display: block; color: var(--text-2); }
.mail-text { white-space: pre-wrap; background: var(--karte-2); border-radius: 12px; padding: 12px; margin: 10px 0; max-height: 50vh; overflow: auto; font-size: .92rem; }
textarea.antwort { width: 100%; box-sizing: border-box; min-height: 120px; border-radius: 12px; border: 1px solid var(--linie); padding: 10px; font: inherit; background: var(--karte); color: var(--text); }
.qr svg { width: 220px; height: 220px; background: #fff; padding: 8px; border-radius: 12px; }
.zeile-knoepfe { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.filter { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 12px; }
@media (min-width: 700px) { body.admin nav.tabs { justify-content: center; } }
