#rcLegalDock{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:14px 12px 22px;font:12px system-ui,sans-serif}#rcLegalDock a{color:#466754;text-decoration:underline;text-underline-offset:3px}#rcLegalInfo{position:fixed;z-index:90000;bottom:18px;left:50%;transform:translateX(-50%);box-sizing:border-box;max-width:540px;width:calc(100% - 28px);background:#fff;border:1px solid #cadbd0;border-radius:13px;box-shadow:0 8px 22px #10231825;padding:15px;color:#25392b;font:13px/1.5 system-ui,sans-serif}#rcLegalInfo p{margin:6px 0 10px}#rcLegalInfo button{background:#2e6848;color:white;border:0;border-radius:8px;padding:9px 14px;cursor:pointer;font:inherit}@media(prefers-reduced-motion:reduce){#rcLegalInfo{transition:none}}
/* RoethiCheck 0.12a – Legal links am unteren sichtbaren Fensterrand der Login-Seite.
   Nur aktiv, wenn SPA data-view="login" setzt. Andere Seiten bleiben unverändert.
   Auf sehr kleinen Displays scrollt ausschliesslich der Anmeldebereich. */
@supports selector(body:has(#app[data-view="login"])) {
  body:has(#app[data-view="login"]) {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  body:has(#app[data-view="login"]) > .appbar {
    flex: 0 0 56px;
  }
  body:has(#app[data-view="login"]) > #app[data-view="login"] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding: 12px 14px 8px;
    align-items: safe center;
  }
  body:has(#app[data-view="login"]) #app[data-view="login"] .rc-login-card {
    margin: 0 auto;
  }
  body:has(#app[data-view="login"]) > #rcLegalDock {
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    padding: 10px 12px max(12px, env(safe-area-inset-bottom));
    background: #f3f7f4;
    border-top: 1px solid #e4ede6;
    line-height: 1.45;
    z-index: 2;
  }
}
