:root{--color-primary:#852c84;--color-primary-dark:#6b2369;--color-primary-light:#a33da2;--color-accent:#c98cff;--color-accent-soft:#f1d7e9;--color-neutral:#4d4d4d;--color-on-primary:#ffffff;--color-background:#fafafa;--color-surface:#ffffff;--color-border:#e2e2e2;--color-danger:#b00020;--color-danger-dark:#8e001a;--color-danger-soft:#fdecea;--color-success:#1b7a3d;--color-success-soft:#eaf6ee;color-scheme:light;--dunkel-primary:#d9a2d8;--dunkel-primary-dark:#e7c2e6;--dunkel-primary-light:#f0d5ef;--dunkel-accent:#a06ad0;--dunkel-accent-soft:#302639;--dunkel-neutral:#b9b4c2;--dunkel-on-primary:#1b1620;--dunkel-background:#15141a;--dunkel-surface:#1e1c24;--dunkel-border:#38343f;--dunkel-danger:#ff8080;--dunkel-danger-dark:#ffb3b3;--dunkel-danger-soft:#3a1f24;--dunkel-success:#5ed48b;--dunkel-success-soft:#17301f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-primary:var(--dunkel-primary);--color-primary-dark:var(--dunkel-primary-dark);--color-primary-light:var(--dunkel-primary-light);--color-accent:var(--dunkel-accent);--color-accent-soft:var(--dunkel-accent-soft);--color-neutral:var(--dunkel-neutral);--color-on-primary:var(--dunkel-on-primary);--color-background:var(--dunkel-background);--color-surface:var(--dunkel-surface);--color-border:var(--dunkel-border);--color-danger:var(--dunkel-danger);--color-danger-dark:var(--dunkel-danger-dark);--color-danger-soft:var(--dunkel-danger-soft);--color-success:var(--dunkel-success);--color-success-soft:var(--dunkel-success-soft)}}:root[data-theme=dark]{color-scheme:dark;--color-primary:var(--dunkel-primary);--color-primary-dark:var(--dunkel-primary-dark);--color-primary-light:var(--dunkel-primary-light);--color-accent:var(--dunkel-accent);--color-accent-soft:var(--dunkel-accent-soft);--color-neutral:var(--dunkel-neutral);--color-on-primary:var(--dunkel-on-primary);--color-background:var(--dunkel-background);--color-surface:var(--dunkel-surface);--color-border:var(--dunkel-border);--color-danger:var(--dunkel-danger);--color-danger-dark:var(--dunkel-danger-dark);--color-danger-soft:var(--dunkel-danger-soft);--color-success:var(--dunkel-success);--color-success-soft:var(--dunkel-success-soft)}@media print{:root,:root:not([data-theme=light]),:root[data-theme=dark]{color-scheme:light;--color-primary:#852c84;--color-primary-dark:#6b2369;--color-primary-light:#a33da2;--color-accent:#c98cff;--color-accent-soft:#f1d7e9;--color-neutral:#4d4d4d;--color-on-primary:#ffffff;--color-background:#ffffff;--color-surface:#ffffff;--color-border:#cccccc;--color-danger:#b00020;--color-danger-dark:#8e001a;--color-danger-soft:#fdecea;--color-success:#1b7a3d;--color-success-soft:#eaf6ee}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--color-neutral);background:var(--color-background)}a{color:var(--color-primary)}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1.5rem;background:var(--color-primary);color:var(--color-on-primary)}.app-header__brand{font-size:1.15rem;font-weight:600}.app-header__brandlink{color:var(--color-on-primary);text-decoration:none}.app-header__brandlink:hover{text-decoration:underline}.app-header__home{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--color-on-primary);border-radius:4px;padding:.3rem .7rem;color:var(--color-on-primary);text-decoration:none;white-space:nowrap}.app-header__home:hover{background:var(--color-primary-dark)}.app-header__status{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.app-header__logout{border:1px solid var(--color-on-primary);background:transparent;color:var(--color-on-primary);border-radius:4px;padding:.3rem .75rem;cursor:pointer}.app-header__logout:hover{background:var(--color-primary-dark)}.app-header__link{color:var(--color-on-primary);text-decoration:underline;margin-right:.75rem}.app-header__link:hover{text-decoration:none}.app-main{max-width:1800px;margin:0 auto;padding:1.5rem 2rem}.app-subheader{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.statusband{display:flex;flex-direction:column;gap:.4rem;flex:1 1 auto;min-width:0}.statusband--leer{color:var(--color-neutral);opacity:.8}.statusband__zeile{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.35rem .75rem;border-radius:6px;font-size:.9rem}.statusband__server{font-weight:600}.statusband__zeile--ok{background:var(--color-success-soft);color:var(--color-success)}.statusband__zeile--laeuft{background:var(--color-accent-soft);color:var(--color-primary-dark)}.statusband__zeile--warnung{background:var(--color-danger-soft);color:var(--color-danger-dark);font-weight:600;border:1px solid var(--color-danger)}.statusband__meldung{display:inline;font-weight:400}.statusband__meldung>summary{display:inline;cursor:pointer;text-decoration:underline;font-weight:600}.statusband__meldungstext{display:block;margin-top:.3rem;font-weight:400;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;white-space:pre-wrap;overflow-wrap:anywhere}.statusband__link{margin-left:auto;white-space:nowrap}.monatswaehler{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.monatswaehler--leer{color:var(--color-neutral);opacity:.8}.monatswaehler select{padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:4px}.monatswaehler__knopf{padding:.35rem .9rem;font-size:.9rem}@media (max-width:720px){.app-subheader{flex-direction:column;align-items:stretch}}.login-page{display:flex;min-height:calc(100vh - 4rem);align-items:center;justify-content:center}.login-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:2.5rem;max-width:420px;width:100%;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.06)}.login-box h1{font-size:1.3rem;color:var(--color-neutral)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:4px;padding:.65rem 1.5rem;font-size:1rem;cursor:pointer;margin-top:1rem}.btn-primary:hover{background:var(--color-primary-dark)}.kein-zugriff{display:flex;min-height:calc(100vh - 4rem);align-items:center;justify-content:center;padding:1.5rem}.kein-zugriff__box{background:var(--color-surface);border-top:4px solid var(--color-primary);border-radius:8px;padding:2.5rem;max-width:480px;width:100%;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.06)}.kein-zugriff__box h1{color:var(--color-primary);font-size:1.3rem;margin-top:0}.app-header__role{opacity:.85}@media (max-width:560px){.app-header{flex-direction:column;align-items:flex-start}}.btn-secondary{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:4px;padding:.65rem 1.25rem;font-size:1rem;cursor:pointer}.btn-secondary:hover{background:var(--color-accent-soft)}.btn-secondary:disabled{opacity:.6;cursor:default}.btn-danger{background:var(--color-danger);color:var(--color-on-primary);border:none;border-radius:4px;padding:.65rem 1.5rem;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block}.btn-danger:hover{background:var(--color-danger-dark)}.btn-danger:disabled{background:var(--color-neutral);cursor:not-allowed;opacity:.7}.app-dialog{border:none;border-radius:8px;padding:1.75rem 2rem;width:calc(100% - 2rem);box-shadow:0 8px 30px rgba(0,0,0,.18);color:var(--color-neutral);box-sizing:border-box;overflow-wrap:anywhere}.app-dialog::-webkit-backdrop{background:rgba(0,0,0,.45)}.app-dialog::backdrop{background:rgba(0,0,0,.45)}.app-dialog h2{margin-top:0;font-size:1.1rem}.app-dialog ul{padding-left:1.2rem}.dialog-knopf-sekundaer{margin-top:1.5rem;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:4px;padding:.5rem 1.25rem;cursor:pointer}.dialog-knopf-sekundaer:hover{background:var(--color-primary-dark)}.verbindungstest-dialog{border-top:4px solid var(--color-primary);max-width:420px}.verbindungstest-dialog__inhalt h2{color:var(--color-primary)}.verbindungstest-dialog__inhalt--erfolg h2{color:var(--color-success)}.verbindungstest-dialog__inhalt--fehler h2,.verbindungstest-dialog__inhalt--fehler p{color:var(--color-danger)}.verbindungstest-dialog__inhalt ul{margin:0}.loeschen-dialog{border-top:4px solid var(--color-danger);max-width:540px}.loeschen-dialog h2{color:var(--color-danger-dark)}.loeschen-dialog__aktionen{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1.5rem}.gefahrenbereich{margin-top:3rem;border:1px solid var(--color-danger);border-radius:8px;padding:1.25rem 1.5rem;background:var(--color-danger-soft);max-width:480px}.gefahrenbereich h2{margin-top:0;font-size:1.05rem;color:var(--color-danger-dark)}.gefahrenbereich p{color:var(--color-neutral)}.gefahrenbereich__aktionen{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.hinweis-info,.hinweis-neutral,.hinweis-warnung{color:var(--color-neutral);max-width:100ch}.hinweis-warnung{background:var(--color-accent-soft);border-left:4px solid var(--color-primary);padding:.6rem 1rem;border-radius:4px}.uebersicht-kopf{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:.75rem}.uebersicht-kopf__titel{color:var(--color-primary);font-size:1.5rem;margin:0}.uebersicht-kopf__regelsatz{color:var(--color-neutral);margin:0;font-size:.95rem}.erklaerung{margin-bottom:.75rem}.erklaerung>summary{cursor:pointer;color:var(--color-primary);font-size:.9rem}.erklaerung>summary:hover{text-decoration:underline}.erklaerung .hinweis-schwelle{margin-top:.5rem;margin-bottom:0}.hinweis-warnung__absatz{margin:.5rem 0}details.hinweis-warnung>summary{color:var(--color-neutral);font-weight:600;font-size:.95rem}.hinweis-warnung__absatz:last-child{margin-bottom:0}.hinweis-schwelle{color:var(--color-neutral);margin-bottom:1rem;max-width:100ch}.hinweis-badge{color:var(--color-primary-dark);background:var(--color-accent-soft);padding:.05rem .4rem;margin-left:.25rem}.badge,.hinweis-badge{display:inline-block;font-size:.75rem;border-radius:4px}.badge{padding:.1rem .45rem;margin-left:.35rem}.badge--warnung{background:var(--color-danger-soft);color:var(--color-danger-dark)}.datentabelle{margin-top:.5rem}.datentabelle__filter{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.datentabelle__suchfeld{padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:4px;min-width:220px;flex:1 1 220px}.datentabelle__zuruecksetzen{font-size:.9rem;color:var(--color-primary);text-decoration:underline;white-space:nowrap}.datentabelle__schalter{display:flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--color-neutral);white-space:nowrap}.datentabelle__scrollbereich{overflow-x:auto;border:1px solid var(--color-border);border-radius:6px}.datentabelle__tabelle{width:100%;border-collapse:collapse;font-size:.92rem}.datentabelle__tabelle td,.datentabelle__tabelle th{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:normal}.datentabelle__tabelle thead th{background:var(--color-accent-soft);color:var(--color-primary-dark);position:-webkit-sticky;position:sticky;top:0}.datentabelle__filterzeile th{background:var(--color-surface);padding:.35rem .6rem}.datentabelle__spaltenfilter{width:100%;min-width:80px;padding:.3rem .4rem;border:1px solid var(--color-border);border-radius:4px;font-size:.85rem;font-weight:400;color:var(--color-neutral);box-sizing:border-box}.datentabelle__td--numerisch,.datentabelle__th--numerisch{text-align:right}.datentabelle__td--numerisch{white-space:nowrap}.datentabelle__sortlink{color:inherit;text-decoration:none}.datentabelle__sortlink--aktiv{font-weight:700}.datentabelle__sortlink:hover{text-decoration:underline}.datentabelle__zeilenlink{color:var(--color-primary);text-decoration:none}.datentabelle__zeilenlink:hover{text-decoration:underline}.datentabelle__leer{text-align:center;color:var(--color-neutral);padding:1.5rem;white-space:normal}.kernkennzahl{color:var(--color-primary-dark)}.datentabelle__zeile--hervorgehoben{background:var(--color-accent-soft)}.datentabelle__summenzeile td{font-weight:700;background:var(--color-background);border-top:2px solid var(--color-primary)}.kachel-reihe{display:flex;flex-wrap:wrap;gap:1rem;margin:1.25rem 0 1.5rem}.kachel{flex:1 1 200px;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem}.kachel__titel{font-size:.85rem;color:var(--color-neutral);margin-bottom:.35rem}.kachel__wert{font-size:1.6rem;font-weight:700;color:var(--color-neutral)}.kachel__unterschrift{margin-top:.4rem;font-size:.8rem;color:var(--color-neutral);opacity:.85}.kachel--hervorgehoben{border-color:var(--color-primary);border-width:2px}.kachel--hervorgehoben .kachel__wert{color:var(--color-primary)}.kachel--ruhig{opacity:.75}.kachel--ruhig .kachel__wert{color:var(--color-neutral);font-weight:500}.datentabelle__aufklappbar{cursor:pointer}.datentabelle__aufklappbar:hover{background:var(--color-accent-soft)}.datentabelle__aufklappbar:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.aufklapp-pfeil{display:inline-block;margin-right:.4rem;color:var(--color-neutral);transition:transform .15s ease-in-out}.datentabelle__aufklappbar--offen .aufklapp-pfeil{transform:rotate(90deg)}.datentabelle__aufklappzeile>td{padding:0;background:var(--color-background);border-top:2px solid var(--color-primary)}.aufklapp{padding:.85rem 1rem 1rem}.aufklapp__tabelle{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--color-surface)}.aufklapp__tabelle td,.aufklapp__tabelle th{padding:.4rem .6rem;border-bottom:1px solid var(--color-border);text-align:left}.aufklapp__tabelle th{background:var(--color-accent-soft);font-weight:600}.aufklapp__fusszeile{margin:.7rem 0 0;font-size:.9rem}.kopierknopf{gap:.4rem}.kopierknopf,.kopierknopf__knopf{display:inline-flex;align-items:center}.kopierknopf__knopf{justify-content:center;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:4px;padding:.3rem .45rem;cursor:pointer}.kopierknopf__knopf:hover{background:var(--color-accent-soft)}.kopierknopf__bestaetigung{font-size:.85rem;color:var(--color-primary);white-space:nowrap}.kopierknopf__rueckfall{display:block;margin-top:.4rem;max-width:32rem}.kopierknopf__hinweis{display:block;font-size:.8rem;color:var(--color-neutral);margin-bottom:.25rem}.kopierknopf__feld{width:100%;font-family:inherit;font-size:.85rem;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:4px}.server-werkzeuge{flex-wrap:wrap;gap:.75rem}.aktionen,.server-werkzeuge{display:flex;align-items:center}.aktionen{gap:.35rem;white-space:nowrap}.aktion-knopf{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-neutral);cursor:pointer;text-decoration:none}.aktion-knopf:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-accent-soft)}.aktion-knopf:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.aktion-knopf:disabled{opacity:.35;cursor:not-allowed}.aktion-knopf--start:hover:not(:disabled){border-color:var(--color-success);color:var(--color-success);background:var(--color-success-soft)}.aktion-knopf--stop:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.laufstatus{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-primary-dark);font-weight:600;font-size:.9rem}.laufstatus__punkt{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:laufstatus-puls 1.4s ease-in-out infinite}@keyframes laufstatus-puls{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.laufstatus__punkt{animation:none}}.status-aktiv{color:var(--color-success)}.status-inaktiv{color:var(--color-neutral);opacity:.8}.laufmeldungen{display:grid;grid-gap:.5rem;gap:.5rem;margin:.5rem 0}.laufmeldungen__schliessen{background:none;border:none;padding:0;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:.85rem}.historie-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.historie-filter label{color:var(--color-neutral)}.historie-filter input[type=date]{padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:4px;font:inherit}.abschnitt-titel{color:var(--color-primary);font-size:1.2rem;margin:2rem 0 .75rem}.aufklapp__sortknopf{display:block;width:100%;padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--color-primary-dark);text-align:inherit;cursor:pointer}.aufklapp__sortknopf:hover{text-decoration:underline}.aufklapp__sortknopf:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.aufklapp__sortknopf--aktiv{color:var(--color-primary)}.aufklapp__tabelle th.aufklapp__th--aktiv{border-bottom:2px solid var(--color-primary)}.aufklapp__tabelle th.datentabelle__th--numerisch{text-align:right}.ansicht-umschalter{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-right:.5rem;border:1px solid rgba(255,255,255,.45);border-radius:4px;background:transparent;color:var(--color-on-primary);cursor:pointer;vertical-align:middle}.ansicht-umschalter:hover{background:rgba(255,255,255,.18)}.ansicht-umschalter:focus-visible{outline:2px solid var(--color-on-primary);outline-offset:2px}.ansicht-umschalter__zu-hell{display:none}.ansicht-umschalter__zu-dunkel{display:inline-flex}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ansicht-umschalter__zu-hell{display:inline-flex}:root:not([data-theme=light]) .ansicht-umschalter__zu-dunkel{display:none}}:root[data-theme=dark] .ansicht-umschalter__zu-hell{display:inline-flex}:root[data-theme=dark] .ansicht-umschalter__zu-dunkel{display:none}@media print{.ansicht-umschalter{display:none}}