/* Statusseite ithp (E-119) */
:root {
    color-scheme: light dark;
    --akzent: #A92421;
    --hg: #f6f8fa; --karte: #ffffff; --text: #1f2328; --leise: #59636e; --rand: #d1d9e0;
    --gruen: #1a7f37; --gelb: #9a6700; --rot: #cf222e; --blau: #0969da; --grau: #6e7781;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--hg); color: var(--text); font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: var(--akzent); }
.leiste { display: flex; align-items: center; gap: 1rem; padding: 0.9rem 1rem; background: var(--karte); border-top: 4px solid var(--akzent); border-bottom: 1px solid var(--rand); }
.marke { display: inline-flex; align-items: center; }
.logo { height: 36px; width: auto; max-width: 220px; }
.logo-dunkel { display: none; }
.titel { font-size: 1.1rem; color: var(--leise); border-left: 1px solid var(--rand); padding-left: 1rem; }
main { max-width: 52rem; margin: 0 auto; padding: 1.5rem 1rem 2rem; }
h1 { font-size: 1.4rem; margin: 0 0 0.25rem; }
h2 { font-size: 1.05rem; margin: 0 0 0.75rem; color: var(--leise); font-weight: 600; }
h3 { font-size: 1rem; margin: 0; font-weight: 600; }
.vorschau, .hinweis { border: 1px solid var(--gelb); border-left-width: 4px; background: var(--karte); padding: 0.6rem 0.8rem; border-radius: 6px; margin: 0 0 1rem; }
.gesamt { background: var(--karte); border: 1px solid var(--rand); border-left: 6px solid var(--grau); border-radius: 8px; padding: 1rem 1.2rem; margin-bottom: 1.5rem; }
.gesamt p { margin: 0; color: var(--leise); }
.gesamt.z-betriebsbereit { border-left-color: var(--gruen); }
.gesamt.z-beeintraechtigt { border-left-color: var(--gelb); }
.gesamt.z-stoerung { border-left-color: var(--rot); }
.gesamt.z-wartung { border-left-color: var(--blau); }
.notfall { background: var(--karte); border: 1px solid var(--rot); border-left: 6px solid var(--rot); border-radius: 8px; padding: 1rem 1.2rem; margin-bottom: 1.5rem; }
.notfall.z-beeintraechtigt { border-color: var(--gelb); }
.notfall.z-hinweis { border-color: var(--blau); }
.notfall h2 { color: var(--text); font-size: 1.2rem; }
.notfall .text { white-space: pre-line; margin: 0 0 0.5rem; }
.dienste > ul { list-style: none; margin: 0; padding: 0; background: var(--karte); border: 1px solid var(--rand); border-radius: 8px; }
.dienst { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem; padding: 0.8rem 1.2rem; border-top: 1px solid var(--rand); }
.dienst:first-child { border-top: 0; }
.orte { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.4rem 1.2rem; min-width: 0; }
@media (max-width: 40rem) {
    .dienst { flex-direction: column; align-items: flex-start; padding: 0.7rem 1rem; }
    .orte { justify-content: flex-start; flex-direction: column; gap: 0.2rem; }
    .leiste { padding: 0.7rem 1rem; }
    .logo { height: 30px; }
}
.ort { display: inline-flex; align-items: center; gap: 0.4rem; white-space: nowrap; }
.ortname { color: var(--leise); }
.ortname::after { content: ":"; }
.punkt { width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--grau); flex: none; }
.z-betriebsbereit .punkt { background: var(--gruen); }
.z-beeintraechtigt .punkt { background: var(--gelb); }
.z-stoerung .punkt { background: var(--rot); }
.z-wartung .punkt { background: var(--blau); }
.z-beeintraechtigt .zustand, .z-stoerung .zustand { font-weight: 600; }
.klein { font-size: 0.85rem; color: var(--leise); }
.meldungen { margin-bottom: 1.5rem; }
.meldung { background: var(--karte); border: 1px solid var(--rand); border-left: 6px solid var(--grau); border-radius: 8px; padding: 0.9rem 1.2rem; margin-bottom: 0.75rem; }
.meldung.z-hinweis, .meldung.z-wartung { border-left-color: var(--blau); }
.meldung.z-beeintraechtigt { border-left-color: var(--gelb); }
.meldung.z-stoerung { border-left-color: var(--rot); }
.meldung .kopf { margin: 0.25rem 0 0; font-weight: 600; }
.meldung .betroffen { margin: 0.15rem 0 0; color: var(--leise); }
.eintraege { list-style: none; margin: 0.6rem 0 0; padding: 0; }
.eintraege li { border-top: 1px solid var(--rand); padding-top: 0.5rem; margin-top: 0.5rem; }
.eintraege time { color: var(--leise); font-size: 0.9rem; }
.eintraege p { margin: 0.2rem 0 0; white-space: pre-line; overflow-wrap: anywhere; }
.abo { margin-top: 1.5rem; }
footer { max-width: 52rem; margin: 0 auto; padding: 1rem; display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; font-size: 0.9rem; color: var(--leise); border-top: 1px solid var(--rand); }
[hidden] { display: none !important; }
@media (prefers-color-scheme: dark) {
    :root {
        --akzent: #C7716F;
        --hg: #0d1117; --karte: #151b23; --text: #e6edf3; --leise: #9198a1; --rand: #3d444d;
        --gruen: #3fb950; --gelb: #d29922; --rot: #f85149; --blau: #4493f8; --grau: #8b949e;
    }
    .logo-hell { display: none; }
    .logo-dunkel { display: inline; }
}