/* ================================================================
 * RISE Signin Enhancement — innovative Login-Seite
 * ----------------------------------------------------------------
 * Aktiviert sich automatisch, wenn signin-enhance.js die Klasse
 * .rst-signin-active am <body> anbringt (URL match /signin).
 * ================================================================ */

/* ── Aurora-Background: animierter Gradient-Blob-Swirl ────────── */
body.rst-signin-active {
  min-height: 100vh;
  margin: 0;
  position: relative;
  overflow-x: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  background: #0f1424 !important;   /* Dark-Default */
}
html:not([data-theme="dark"]) body.rst-signin-active {
  background: linear-gradient(135deg, #eef2ff 0%, #fce7f3 50%, #e0f2fe 100%) !important;
}

body.rst-signin-active::before,
body.rst-signin-active::after {
  content: '';
  position: fixed;
  border-radius: 50%;
  filter: blur(110px);
  opacity: .55;
  pointer-events: none;
  z-index: 0;
  animation: rstAuroraFloat 22s ease-in-out infinite;
}
body.rst-signin-active::before {
  width: 45vmax; height: 45vmax;
  background: radial-gradient(circle at 30% 30%, #6366f1, transparent 60%);
  top: -10vmax; left: -10vmax;
  animation-delay: 0s;
}
body.rst-signin-active::after {
  width: 50vmax; height: 50vmax;
  background: radial-gradient(circle at 70% 70%, #ec4899, transparent 60%);
  bottom: -15vmax; right: -10vmax;
  animation-delay: -11s;
}
body.rst-signin-active > .rst-signin-blob {
  position: fixed;
  width: 40vmax; height: 40vmax;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #06b6d4, transparent 60%);
  filter: blur(110px);
  opacity: .45;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rstAuroraFloat 28s ease-in-out infinite -6s;
  pointer-events: none;
  z-index: 0;
}
/* Light-Mode: Blobs werden wärmer und etwas heller */
html:not([data-theme="dark"]) body.rst-signin-active::before {
  background: radial-gradient(circle at 30% 30%, #a5b4fc, transparent 60%);
  opacity: .75;
}
html:not([data-theme="dark"]) body.rst-signin-active::after {
  background: radial-gradient(circle at 70% 70%, #f9a8d4, transparent 60%);
  opacity: .7;
}
html:not([data-theme="dark"]) body.rst-signin-active > .rst-signin-blob {
  background: radial-gradient(circle at 50% 50%, #7dd3fc, transparent 60%);
  opacity: .55;
}
@keyframes rstAuroraFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25%      { transform: translate(10vmax, 8vmax) scale(1.1); }
  50%      { transform: translate(-8vmax, 12vmax) scale(.95); }
  75%      { transform: translate(12vmax, -6vmax) scale(1.05); }
}

/* ── Karte: Glassmorphism, zentriert, einladende Animation ────── */
body.rst-signin-active .main-content,
body.rst-signin-active .center-wrapper,
body.rst-signin-active .signin-wrapper {
  min-height: auto !important;
  width: auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
}

/* Nur die ÄUSSERE Karte wird zum Glass-Container — wir markieren
   sie per JS mit .rst-signin-card, damit nicht alle Nachfahren
   mit einem zweiten Karten-Look überdeckt werden. */
body.rst-signin-active .rst-signin-card {
  position: relative;
  z-index: 2;
  margin: 0 auto !important;
  width: 100% !important;
  max-width: 440px !important;
  min-width: 0 !important;
  background: rgba(255,255,255,.06) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 3px !important;
  padding: 44px 38px 36px !important;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.6),
              0 8px 20px -8px rgba(99,102,241,.3),
              inset 0 1px 0 rgba(255,255,255,.2) !important;
  color: #f1f5f9 !important;
  animation: rstSigninIn .6s cubic-bezier(.2,.9,.2,1.1) .05s both;
}
/* Light-Mode-Version: weicheres Weiß auf warmem Backdrop */
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-card {
  background: rgba(255,255,255,.75) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  box-shadow: 0 30px 60px -20px rgba(99,102,241,.25),
              0 10px 24px -10px rgba(236,72,153,.15),
              inset 0 1px 0 rgba(255,255,255,.8) !important;
  color: #1e293b !important;
}

/* Verschachtelte Karten/Panels innerhalb der Signin-Card entfernen */
body.rst-signin-active .rst-signin-card .card,
body.rst-signin-active .rst-signin-card .panel,
body.rst-signin-active .rst-signin-card .panel-body,
body.rst-signin-active .rst-signin-card .box,
body.rst-signin-active .rst-signin-card .box-body,
body.rst-signin-active .rst-signin-card .well {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
@keyframes rstSigninIn {
  from { opacity: 0; transform: translateY(20px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Entfernt Default-Hintergrund von RISE-Body-Wrappern */
body.rst-signin-active .body_bg,
body.rst-signin-active .signin_background {
  background: transparent !important;
}

/* ── Logo + Headline ──────────────────────────────────────────── */
body.rst-signin-active .signin-logo,
body.rst-signin-active .logo-container,
body.rst-signin-active .login-logo,
body.rst-signin-active .signin_form_bg .logo img {
  max-width: 180px !important;
  margin: 0 auto 16px !important;
  display: block !important;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.2));
}
body.rst-signin-active .signin_form_bg hr,
body.rst-signin-active .login-form hr {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(99,102,241,.4), transparent) !important;
  margin: 20px 0 24px !important;
}

/* ── Form-Inputs: Floating-Label-ähnliche Pills ───────────────── */
body.rst-signin-active input[type="email"],
body.rst-signin-active input[type="password"],
body.rst-signin-active input[type="text"][name="email"],
body.rst-signin-active input[name="password"],
body.rst-signin-active .form-control {
  width: 100% !important;
  height: 52px !important;
  padding: 0 18px !important;
  margin-bottom: 14px !important;
  background: rgba(255,255,255,.06) !important;
  color: #f1f5f9 !important;
  border: 1.5px solid rgba(255,255,255,.1) !important;
  border-radius: 3px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  transition: all .2s ease !important;
  box-sizing: border-box !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.15) !important;
}
body.rst-signin-active input[type="email"]::placeholder,
body.rst-signin-active input[type="password"]::placeholder,
body.rst-signin-active input[name="password"]::placeholder,
body.rst-signin-active .form-control::placeholder {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}
body.rst-signin-active input[type="email"]:focus,
body.rst-signin-active input[type="password"]:focus,
body.rst-signin-active input[name="password"]:focus,
body.rst-signin-active .form-control:focus {
  outline: none !important;
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(99,102,241,.6) !important;
  box-shadow: 0 0 0 4px rgba(99,102,241,.18),
              inset 0 1px 2px rgba(0,0,0,.15) !important;
  transform: translateY(-1px);
}
body.rst-signin-active input:-webkit-autofill {
  -webkit-text-fill-color: #f1f5f9 !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(30,36,64,.9) inset !important;
  caret-color: #f1f5f9;
}

/* Light-Mode-Inputs: Sanftes Weiß mit Indigo-Akzent beim Fokus */
html:not([data-theme="dark"]) body.rst-signin-active input[type="email"],
html:not([data-theme="dark"]) body.rst-signin-active input[type="password"],
html:not([data-theme="dark"]) body.rst-signin-active input[name="password"],
html:not([data-theme="dark"]) body.rst-signin-active .form-control {
  background: rgba(255,255,255,.9) !important;
  color: #0f172a !important;
  border: 1.5px solid rgba(99,102,241,.15) !important;
  box-shadow: inset 0 1px 3px rgba(99,102,241,.06),
              0 2px 6px rgba(99,102,241,.06) !important;
}
html:not([data-theme="dark"]) body.rst-signin-active input[type="email"]::placeholder,
html:not([data-theme="dark"]) body.rst-signin-active input[type="password"]::placeholder,
html:not([data-theme="dark"]) body.rst-signin-active .form-control::placeholder {
  color: #94a3b8 !important;
}
html:not([data-theme="dark"]) body.rst-signin-active input[type="email"]:focus,
html:not([data-theme="dark"]) body.rst-signin-active input[type="password"]:focus,
html:not([data-theme="dark"]) body.rst-signin-active .form-control:focus {
  background: #fff !important;
  border-color: rgba(99,102,241,.55) !important;
  box-shadow: 0 0 0 4px rgba(99,102,241,.15),
              0 4px 12px rgba(99,102,241,.12) !important;
}
html:not([data-theme="dark"]) body.rst-signin-active input:-webkit-autofill {
  -webkit-text-fill-color: #0f172a !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  caret-color: #6366f1;
}

/* ── Passwort-Feld mit Eye-Toggle ─────────────────────────────── */
.rst-signin-pw-wrap {
  position: relative;
  width: 100%;
  margin-bottom: 14px;
}
.rst-signin-pw-wrap input {
  margin-bottom: 0 !important;
  padding-right: 52px !important;
}
.rst-signin-pw-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 38px; height: 38px;
  border-radius: 3px;
  background: transparent;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .15s ease;
}
.rst-signin-pw-toggle:hover {
  background: rgba(99,102,241,.15);
  color: #a5b4fc;
}
.rst-signin-pw-toggle svg {
  width: 20px; height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

/* ── „Angemeldet bleiben" Checkbox + Forgot Link in einer Zeile ── */
.rst-signin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 13.5px;
}
.rst-signin-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #cbd5e1;
  cursor: pointer;
  user-select: none;
}
.rst-signin-remember input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px; height: 20px;
  border-radius: 3px;
  border: 1.5px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.04);
  cursor: pointer;
  position: relative;
  transition: all .15s ease;
  flex: 0 0 auto;
  margin: 0 !important;
}
.rst-signin-remember input[type="checkbox"]:checked {
  background: linear-gradient(135deg,#6366f1,#8b5cf6);
  border-color: #6366f1;
}
.rst-signin-remember input[type="checkbox"]:checked::after {
  content: '✓';
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}

/* ── Submit-Button: Gradient mit Hover-Glow + Loading-Spinner ─── */
body.rst-signin-active button[type="submit"],
body.rst-signin-active input[type="submit"],
body.rst-signin-active .btn-primary {
  width: 100% !important;
  height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: linear-gradient(135deg,#6366f1 0%,#8b5cf6 55%,#ec4899 100%) !important;
  background-size: 200% 100% !important;
  color: #fff !important;
  border: none !important;
  border-radius: 3px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  box-shadow: 0 12px 30px -10px rgba(99,102,241,.55),
              0 2px 4px rgba(0,0,0,.15) !important;
  position: relative;
  overflow: hidden;
}
body.rst-signin-active button[type="submit"]:hover,
body.rst-signin-active input[type="submit"]:hover,
body.rst-signin-active .btn-primary:hover {
  background-position: 100% 0 !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 40px -8px rgba(99,102,241,.75),
              0 2px 4px rgba(0,0,0,.15) !important;
}
body.rst-signin-active button[type="submit"]:active,
body.rst-signin-active input[type="submit"]:active,
body.rst-signin-active .btn-primary:active {
  transform: translateY(0);
}
body.rst-signin-active button.rst-signin-loading,
body.rst-signin-active input.rst-signin-loading {
  pointer-events: none;
  opacity: .88;
}
body.rst-signin-active button.rst-signin-loading::after,
body.rst-signin-active input.rst-signin-loading::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 22px; height: 22px;
  margin-top: -11px; margin-left: -11px;
  border: 2.5px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: rstSpin .8s linear infinite;
}
body.rst-signin-active button.rst-signin-loading {
  color: transparent !important;
}
@keyframes rstSpin {
  to { transform: rotate(360deg); }
}

/* ── Links: Passwort vergessen + Registrieren ──────────────────── */
body.rst-signin-active .rst-signin-card a,
body.rst-signin-active a[href*="forgot_password"],
body.rst-signin-active a[href*="signup"],
body.rst-signin-active .forgot-password-link {
  color: #a5b4fc !important;
  text-decoration: none;
  font-weight: 600;
  transition: color .15s ease;
}
body.rst-signin-active .rst-signin-card a:hover,
body.rst-signin-active a[href*="forgot_password"]:hover,
body.rst-signin-active a[href*="signup"]:hover {
  color: #c7d2fe !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.rst-signin-active p,
body.rst-signin-active label {
  color: #cbd5e1 !important;
  font-size: 14px;
}

/* Light-Mode: dunkle Basis-Texte + kräftige Indigo-Links */
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-card a,
html:not([data-theme="dark"]) body.rst-signin-active a[href*="forgot_password"],
html:not([data-theme="dark"]) body.rst-signin-active a[href*="signup"] {
  color: #4f46e5 !important;
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-card a:hover,
html:not([data-theme="dark"]) body.rst-signin-active a[href*="forgot_password"]:hover,
html:not([data-theme="dark"]) body.rst-signin-active a[href*="signup"]:hover {
  color: #4338ca !important;
}
html:not([data-theme="dark"]) body.rst-signin-active p,
html:not([data-theme="dark"]) body.rst-signin-active label,
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-remember,
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-remember span {
  color: #475569 !important;
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-remember input[type="checkbox"] {
  border-color: rgba(99,102,241,.35);
  background: #fff;
}
html:not([data-theme="dark"]) body.rst-signin-active hr {
  background: linear-gradient(90deg, transparent, rgba(99,102,241,.28), transparent) !important;
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-pw-toggle {
  color: #64748b;
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-pw-toggle:hover {
  background: rgba(99,102,241,.1);
  color: #4338ca;
}

/* ── Validierungs-/Fehlermeldung ──────────────────────────────── */
body.rst-signin-active .alert,
body.rst-signin-active [class*="error"]:not(.rst-signin-loading),
body.rst-signin-active .ajax-response {
  background: rgba(239,68,68,.12) !important;
  color: #fca5a5 !important;
  border: 1px solid rgba(239,68,68,.3) !important;
  border-radius: 3px !important;
  padding: 12px 14px !important;
  font-size: 13.5px !important;
  margin-bottom: 14px !important;
  animation: rstShake .4s ease;
}
@keyframes rstShake {
  0%,100% { transform: translateX(0); }
  20%     { transform: translateX(-4px); }
  40%     { transform: translateX(4px); }
  60%     { transform: translateX(-3px); }
  80%     { transform: translateX(3px); }
}

/* ── Utility-Leiste oben rechts: Sprache + Theme-Toggle ────────── */
.rst-signin-utilbar {
  position: fixed;
  top: 20px; right: 20px;
  z-index: 10;
  display: flex;
  gap: 10px;
  align-items: center;
}
.rst-signin-utilbar button,
.rst-signin-utilbar select {
  all: unset;
  cursor: pointer;
  height: 38px;
  min-width: 38px;
  padding: 0 12px;
  border-radius: 3px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(20px);
  color: #e2e8f0;
  font-weight: 600;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all .15s ease;
}
.rst-signin-utilbar button:hover,
.rst-signin-utilbar select:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.2);
}
.rst-signin-utilbar button svg {
  width: 18px; height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}
.rst-signin-lang {
  padding-right: 10px !important;
  cursor: pointer;
}
.rst-signin-lang-opts {
  position: absolute;
  top: 46px;
  right: 0;
  min-width: 140px;
  background: rgba(15,20,36,.92);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 3px;
  padding: 6px;
  box-shadow: 0 20px 40px -16px rgba(0,0,0,.6);
  display: none;
  flex-direction: column;
  gap: 2px;
}
.rst-signin-lang-opts.open { display: flex; }
.rst-signin-lang-opts button {
  all: unset;
  cursor: pointer;
  padding: 10px 12px;
  border-radius: 3px;
  color: #e2e8f0;
  font-size: 13.5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: background .12s ease;
}
.rst-signin-lang-opts button:hover { background: rgba(99,102,241,.2); }
.rst-signin-lang-opts button.active {
  background: rgba(99,102,241,.3);
  color: #fff;
  font-weight: 700;
}

/* Light-Mode-Util-Bar */
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-utilbar button,
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-utilbar select,
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-lang {
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(99,102,241,.18) !important;
  color: #1e293b !important;
  box-shadow: 0 2px 10px rgba(99,102,241,.08);
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-utilbar button:hover,
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-lang:hover {
  background: #fff !important;
  border-color: rgba(99,102,241,.32) !important;
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-lang-opts {
  background: rgba(255,255,255,.95);
  border-color: rgba(99,102,241,.18);
  box-shadow: 0 20px 40px -16px rgba(99,102,241,.25);
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-lang-opts button {
  color: #1e293b;
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-lang-opts button:hover {
  background: rgba(99,102,241,.1);
}
html:not([data-theme="dark"]) body.rst-signin-active .rst-signin-lang-opts button.active {
  background: linear-gradient(135deg,#6366f1,#8b5cf6) !important;
  color: #fff !important;
}

/* ── Footer (AGB / Impressum) unaufdringlich ──────────────────── */
body.rst-signin-active footer,
body.rst-signin-active .footer {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  padding: 14px 20px;
  background: transparent !important;
  color: #94a3b8 !important;
  font-size: 12.5px;
  display: flex;
  justify-content: space-between;
  z-index: 3;
  pointer-events: none;
}
body.rst-signin-active footer a,
body.rst-signin-active .footer a {
  color: #cbd5e1 !important;
  pointer-events: auto;
  margin-left: 12px;
}
html:not([data-theme="dark"]) body.rst-signin-active footer,
html:not([data-theme="dark"]) body.rst-signin-active .footer {
  color: #64748b !important;
}
html:not([data-theme="dark"]) body.rst-signin-active footer a,
html:not([data-theme="dark"]) body.rst-signin-active .footer a {
  color: #475569 !important;
}

/* ── Mobile: weniger Padding, ganze Karten-Breite ─────────────── */
@media (max-width: 520px) {
  body.rst-signin-active { padding: 20px 14px; }
  body.rst-signin-active .signin_form_bg,
  body.rst-signin-active .login-form,
  body.rst-signin-active .card {
    padding: 32px 24px !important;
    border-radius: 3px !important;
  }
  .rst-signin-utilbar { top: 12px; right: 12px; }
  body.rst-signin-active footer,
  body.rst-signin-active .footer {
    flex-direction: column;
    gap: 4px;
    text-align: center;
    align-items: center;
  }
}

/* ── Light-Mode-Overrides (falls jemand :not(dark) nutzt) ──────── */
html:not([data-theme="dark"]) body.rst-signin-active {
  background: #0f1424 !important;
  /* Login-Enhancer ist bewusst immer „dark", passt zum Aurora-BG */
}

/* Reduced motion: Animationen abschalten */
@media (prefers-reduced-motion: reduce) {
  body.rst-signin-active::before,
  body.rst-signin-active::after,
  body.rst-signin-active > .rst-signin-blob {
    animation: none !important;
  }
  body.rst-signin-active .signin_form_bg,
  body.rst-signin-active .login-form,
  body.rst-signin-active .card {
    animation: none !important;
  }
}

/* ================================================================
 * Light-Mode Overrides v2 — klassenbasiert (.rst-signin-light)
 * ----------------------------------------------------------------
 * Die alten html:not([data-theme="dark"]) Selektoren haben bei
 * manchen RISE-Versionen nicht gegriffen, weil das data-theme-
 * Attribut von RISE selbst gesetzt wird. Wir schreiben das
 * ganze Light-Mode jetzt über die Body-Klasse .rst-signin-light,
 * die vom JS parallel zum data-theme gesetzt wird.
 * ================================================================ */
body.rst-signin-active.rst-signin-light {
  background: linear-gradient(135deg, #eef2ff 0%, #fce7f3 50%, #e0f2fe 100%) !important;
}
body.rst-signin-active.rst-signin-light::before {
  background: radial-gradient(circle at 30% 30%, #a5b4fc, transparent 60%);
  opacity: .85;
}
body.rst-signin-active.rst-signin-light::after {
  background: radial-gradient(circle at 70% 70%, #f9a8d4, transparent 60%);
  opacity: .8;
}
body.rst-signin-active.rst-signin-light > .rst-signin-blob {
  background: radial-gradient(circle at 50% 50%, #7dd3fc, transparent 60%);
  opacity: .65;
}

/* Glass-Card im Light-Mode: kräftiges Weiß, weiche farbige Schatten */
body.rst-signin-active.rst-signin-light .rst-signin-card {
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,.95) !important;
  box-shadow:
    0 30px 60px -16px rgba(99,102,241,.3),
    0 12px 24px -8px rgba(236,72,153,.18),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  color: #0f172a !important;
}

/* Logo sichtbar machen — in Light-Mode brauchen wir das
   schwarze Logo, in Dark-Mode einen weichen Drop-Shadow der es
   kontrastreicher macht. */
body.rst-signin-active.rst-signin-dark .rst-signin-card img[src*="logo"],
body.rst-signin-active.rst-signin-dark .rst-signin-card .logo img {
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.3)) !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-card img[src*="logo"],
body.rst-signin-active.rst-signin-light .rst-signin-card .logo img {
  filter: drop-shadow(0 2px 6px rgba(99,102,241,.2)) !important;
}

/* Trenner — im Light-Mode kräftigerer Indigo-Hauch */
body.rst-signin-active.rst-signin-light hr {
  background: linear-gradient(90deg, transparent, rgba(99,102,241,.35), transparent) !important;
  opacity: 1 !important;
}

/* Inputs — kräftigeres Weiß + klarer Ring beim Fokus */
body.rst-signin-active.rst-signin-light input[type="email"],
body.rst-signin-active.rst-signin-light input[type="password"],
body.rst-signin-active.rst-signin-light input[name="password"],
body.rst-signin-active.rst-signin-light .form-control {
  background: #fff !important;
  color: #0f172a !important;
  border: 1.5px solid rgba(99,102,241,.22) !important;
  box-shadow:
    inset 0 1px 3px rgba(99,102,241,.06),
    0 1px 2px rgba(0,0,0,.02) !important;
}
body.rst-signin-active.rst-signin-light input[type="email"]::placeholder,
body.rst-signin-active.rst-signin-light input[type="password"]::placeholder,
body.rst-signin-active.rst-signin-light .form-control::placeholder {
  color: #94a3b8 !important;
}
body.rst-signin-active.rst-signin-light input[type="email"]:focus,
body.rst-signin-active.rst-signin-light input[type="password"]:focus,
body.rst-signin-active.rst-signin-light .form-control:focus {
  border-color: rgba(99,102,241,.6) !important;
  box-shadow:
    0 0 0 4px rgba(99,102,241,.15),
    0 4px 12px rgba(99,102,241,.15) !important;
}
body.rst-signin-active.rst-signin-light input:-webkit-autofill {
  -webkit-text-fill-color: #0f172a !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  caret-color: #6366f1;
}

/* Password-Toggle */
body.rst-signin-active.rst-signin-light .rst-signin-pw-toggle {
  color: #64748b !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-pw-toggle:hover {
  background: rgba(99,102,241,.12) !important;
  color: #4338ca !important;
}

/* Remember-Checkbox */
body.rst-signin-active.rst-signin-light .rst-signin-remember,
body.rst-signin-active.rst-signin-light .rst-signin-remember span {
  color: #334155 !important;
  font-weight: 500;
}
body.rst-signin-active.rst-signin-light .rst-signin-remember input[type="checkbox"] {
  border-color: rgba(99,102,241,.4) !important;
  background: #fff !important;
}

/* Texte + Paragraphe im Card — dunkles Slate für gute Lesbarkeit */
body.rst-signin-active.rst-signin-light .rst-signin-card,
body.rst-signin-active.rst-signin-light .rst-signin-card p,
body.rst-signin-active.rst-signin-light .rst-signin-card label,
body.rst-signin-active.rst-signin-light .rst-signin-card span {
  color: #1e293b !important;
}

/* Links im Card */
body.rst-signin-active.rst-signin-light .rst-signin-card a,
body.rst-signin-active.rst-signin-light a[href*="forgot_password"],
body.rst-signin-active.rst-signin-light a[href*="signup"] {
  color: #4f46e5 !important;
  font-weight: 700 !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-card a:hover,
body.rst-signin-active.rst-signin-light a[href*="forgot_password"]:hover,
body.rst-signin-active.rst-signin-light a[href*="signup"]:hover {
  color: #4338ca !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Submit-Button mit kräftigerem Shadow im Light-Mode */
body.rst-signin-active.rst-signin-light button[type="submit"],
body.rst-signin-active.rst-signin-light input[type="submit"],
body.rst-signin-active.rst-signin-light .btn-primary {
  box-shadow:
    0 14px 30px -8px rgba(99,102,241,.5),
    0 4px 8px rgba(0,0,0,.06) !important;
}

/* Utility-Bar (Theme + Sprache) */
body.rst-signin-active.rst-signin-light .rst-signin-utilbar button,
body.rst-signin-active.rst-signin-light .rst-signin-utilbar select,
body.rst-signin-active.rst-signin-light .rst-signin-lang {
  background: rgba(255,255,255,.85) !important;
  border: 1px solid rgba(99,102,241,.2) !important;
  color: #1e293b !important;
  box-shadow: 0 4px 12px rgba(99,102,241,.1);
}
body.rst-signin-active.rst-signin-light .rst-signin-utilbar button:hover,
body.rst-signin-active.rst-signin-light .rst-signin-lang:hover {
  background: #fff !important;
  border-color: rgba(99,102,241,.4) !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-lang-opts {
  background: rgba(255,255,255,.97) !important;
  border-color: rgba(99,102,241,.2) !important;
  box-shadow: 0 20px 40px -16px rgba(99,102,241,.3) !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-lang-opts button {
  color: #1e293b !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-lang-opts button:hover {
  background: rgba(99,102,241,.12) !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-lang-opts button.active {
  background: linear-gradient(135deg,#6366f1,#8b5cf6) !important;
  color: #fff !important;
}

/* ── Footer (Content Agency UG ©, AGB, Impressum) ──────────────── */
/* Light-Mode: dunkles Slate auf hellem BG → gut lesbar */
body.rst-signin-active.rst-signin-light footer,
body.rst-signin-active.rst-signin-light .footer {
  color: #334155 !important;
  font-weight: 500;
}
body.rst-signin-active.rst-signin-light footer a,
body.rst-signin-active.rst-signin-light .footer a {
  color: #4f46e5 !important;
  font-weight: 600;
}
body.rst-signin-active.rst-signin-light footer a:hover,
body.rst-signin-active.rst-signin-light .footer a:hover {
  color: #4338ca !important;
  text-decoration: underline;
}

/* Dark-Mode: helles Slate, damit Footer lesbar bleibt */
body.rst-signin-active.rst-signin-dark footer,
body.rst-signin-active.rst-signin-dark .footer {
  color: #cbd5e1 !important;
}
body.rst-signin-active.rst-signin-dark footer a,
body.rst-signin-active.rst-signin-dark .footer a {
  color: #a5b4fc !important;
}

/* Logo-Fallback: falls kein <img> vorhanden (reine Textzeile),
   bekommt sie trotzdem guten Kontrast in beiden Modi */
body.rst-signin-active.rst-signin-light .rst-signin-card h1,
body.rst-signin-active.rst-signin-light .rst-signin-card h2,
body.rst-signin-active.rst-signin-light .rst-signin-card h3 {
  color: #0f172a !important;
}
body.rst-signin-active.rst-signin-dark .rst-signin-card h1,
body.rst-signin-active.rst-signin-dark .rst-signin-card h2,
body.rst-signin-active.rst-signin-dark .rst-signin-card h3 {
  color: #f1f5f9 !important;
}

/* ================================================================
 * RISE-SPECIFIC OVERRIDES v3
 * ----------------------------------------------------------------
 * RISE fügt auf der Signin-Seite inline Styles ein, die unsere
 * Regeln überdecken. Wir überschreiben mit maximaler Spezifität
 * + !important:
 *   • inline html,body { background-image: url(...) } → entfernen
 *   • inline .scrollable-page { height: 452px } → entfernen
 *   • .card.bg-white → unser Glass-Look erzwingen
 *   • .form-signin / .scrollable-page → flex-zentrierung
 * ================================================================ */

/* Hintergrund-Bild von RISE deaktivieren — auf html UND body.
   Die inline-<style> hat keine !important → unsere mit
   !important gewinnen. */
html,
html body.rst-signin-active,
html body.signin-page,
body.rst-signin-active,
body.signin-page {
  background-image: none !important;
}

/* Body-Farb-Backgrounds je nach Theme */
html body.rst-signin-active.rst-signin-dark,
body.rst-signin-active.rst-signin-dark {
  background: #0f1424 !important;
  background-image: none !important;
}
html body.rst-signin-active.rst-signin-light,
body.rst-signin-active.rst-signin-light {
  background: linear-gradient(135deg, #eef2ff 0%, #fce7f3 50%, #e0f2fe 100%) !important;
  background-image: linear-gradient(135deg, #eef2ff 0%, #fce7f3 50%, #e0f2fe 100%) !important;
}

/* .scrollable-page wird auf Flex-Centering umgestellt —
   inline-height wird via !important überschrieben, overflow
   bleibt sichtbar, damit nichts abgeschnitten wird. */
body.rst-signin-active .scrollable-page {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
  position: relative !important;
  z-index: 1 !important;
}
body.rst-signin-active .form-signin {
  width: 100% !important;
  max-width: 460px !important;
  margin: 0 auto !important;
}

/* RISE-Card mit .bg-white zurücksetzen — wir übernehmen das Styling
   selbst via .rst-signin-card. */
body.rst-signin-active .form-signin .card.bg-white,
body.rst-signin-active .form-signin .rst-signin-card {
  background: rgba(255,255,255,.06) !important;
  background-color: rgba(255,255,255,.06) !important;
}
body.rst-signin-active.rst-signin-light .form-signin .card.bg-white,
body.rst-signin-active.rst-signin-light .form-signin .rst-signin-card {
  background: rgba(255,255,255,.88) !important;
  background-color: rgba(255,255,255,.88) !important;
}
body.rst-signin-active.rst-signin-dark .form-signin .card.bg-white,
body.rst-signin-active.rst-signin-dark .form-signin .rst-signin-card {
  background: rgba(255,255,255,.06) !important;
  background-color: rgba(255,255,255,.06) !important;
}

/* RISE-interne Card-Header + Card-Body → transparent, damit unser
   Glass-Container durchscheint */
body.rst-signin-active .rst-signin-card .card-header,
body.rst-signin-active .rst-signin-card .card-body {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.rst-signin-active .rst-signin-card .card-header {
  padding: 0 0 16px 0 !important;
}
body.rst-signin-active .rst-signin-card .card-body {
  padding: 0 !important;
}

/* RISE-Input `.form-control.p10` → unser Pill-Look */
body.rst-signin-active .rst-signin-card .form-group {
  margin-bottom: 14px !important;
}
body.rst-signin-active .rst-signin-card .form-control.p10 {
  padding: 0 18px !important;
}

/* RISE-Submit-Button `.w-100.btn.btn-lg.btn-primary` */
body.rst-signin-active .rst-signin-card button[type="submit"].btn,
body.rst-signin-active .rst-signin-card .btn-primary.btn-lg {
  width: 100% !important;
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}

/* „Passwort vergessen" + „Registrieren" Abstände aufgeräumt */
body.rst-signin-active .rst-signin-card .mt5,
body.rst-signin-active .rst-signin-card .mt20 {
  text-align: center;
  margin-top: 14px !important;
}

/* Footer-Alignment im RISE-Layout (float-start/float-end) */
body.rst-signin-active .footer {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  padding: 14px 22px !important;
  background: transparent !important;
  z-index: 3;
  pointer-events: none;
}
body.rst-signin-active .footer .container-fluid {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  pointer-events: auto;
}
body.rst-signin-active .footer .float-start,
body.rst-signin-active .footer .float-end {
  float: none !important;
}
body.rst-signin-active .footer a {
  margin-left: 14px;
}

/* RISE-Sidebar/Topbar komplett raus auf Signin-Seite (falls
   versehentlich eingebunden) — auf Signin sehen wir nur die Form */
body.rst-signin-active .navbar,
body.rst-signin-active .sidebar,
body.rst-signin-active #header-bar,
body.rst-signin-active .admin-top-bar {
  display: none !important;
}

/* Autofill-Farben je Theme */
body.rst-signin-active.rst-signin-dark .rst-signin-card input:-webkit-autofill,
body.rst-signin-active.rst-signin-dark .rst-signin-card input:-webkit-autofill:hover,
body.rst-signin-active.rst-signin-dark .rst-signin-card input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f1f5f9 !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(30,36,64,.9) inset !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-card input:-webkit-autofill,
body.rst-signin-active.rst-signin-light .rst-signin-card input:-webkit-autofill:hover,
body.rst-signin-active.rst-signin-light .rst-signin-card input:-webkit-autofill:focus {
  -webkit-text-fill-color: #0f172a !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
}

/* Logo-Kontrast: im Dark-Mode invertieren, damit das schwarze
   „CONTENT AGENCY"-Logo auf dunklem BG sichtbar wird */
body.rst-signin-active.rst-signin-dark .rst-signin-card .card-header img {
  filter: brightness(0) invert(1) drop-shadow(0 2px 10px rgba(99,102,241,.5)) !important;
  max-width: 180px !important;
  margin: 4px auto !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-card .card-header img {
  filter: drop-shadow(0 2px 6px rgba(99,102,241,.18)) !important;
  max-width: 200px !important;
  margin: 4px auto !important;
}
body.rst-signin-active .rst-signin-card .card-header img {
  display: block !important;
}

/* Scrollbar-Wrapper (perfect-scrollbar) darf keine eigene Height
   haben, damit unser Flex-Layout greift */
body.rst-signin-active .ps,
body.rst-signin-active .ps__rail-y,
body.rst-signin-active .ps__rail-x {
  display: none !important;
}

/* ================================================================
 * Checkbox „Angemeldet bleiben" — Light-Mode :checked Fix
 * ----------------------------------------------------------------
 * Der vorherige Light-Mode-Override mit !important auf background
 * blockierte den :checked-Pseudo-Class-Gradient. Jetzt explizit
 * :checked mit höherer Spezifität + !important.
 * ================================================================ */
body.rst-signin-active.rst-signin-light .rst-signin-remember input[type="checkbox"]:checked,
body.rst-signin-active.rst-signin-dark  .rst-signin-remember input[type="checkbox"]:checked,
body.rst-signin-active .rst-signin-remember input[type="checkbox"]:checked {
  background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
  background-color: #6366f1 !important;
  border-color: #6366f1 !important;
}
body.rst-signin-active.rst-signin-light .rst-signin-remember input[type="checkbox"]:checked::after,
body.rst-signin-active.rst-signin-dark  .rst-signin-remember input[type="checkbox"]:checked::after,
body.rst-signin-active .rst-signin-remember input[type="checkbox"]:checked::after {
  content: '✓';
  color: #fff !important;
  font-size: 13px;
  font-weight: 900;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
}

/* Focus-Ring für Barrierefreiheit */
body.rst-signin-active .rst-signin-remember input[type="checkbox"]:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,.3) !important;
}

/* v5.88.0/v5.90.3 · Vertrauensleiste unter dem Anmeldeformular (signin-enhance.js addTrustBar) – so breit wie das Formular,
   Symbol über dem Text, keine Worttrennung; sehr schmal: untereinander. Radius 3 px, kein Orange-Glow */
body.rst-signin-active .cp-trust { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; box-sizing: border-box; margin: 26px 0 0; border: 1px solid rgba(255,255,255,.10); border-radius: 3px; background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01)); overflow: hidden; }
body.rst-signin-active .cp-trust-line { position: absolute; left: 0; top: 0; height: 1px; width: 40%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); animation: cp-trust-scan 5.5s ease-in-out infinite; }
body.rst-signin-active .cp-trust-item { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; min-width: 0; padding: 14px 8px 13px; text-align: center; opacity: 0; transform: translateY(6px); animation: cp-trust-in .6s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: calc(.25s + var(--i) * .14s); }
body.rst-signin-active .cp-trust-item + .cp-trust-item { border-left: 1px solid rgba(255,255,255,.08); }
body.rst-signin-active .cp-trust-item svg { flex: none; width: 40px; height: 40px; overflow: visible; }
body.rst-signin-active .cp-trust-item span { display: flex; flex-direction: column; align-items: center; min-width: 0; line-height: 1.3; }
body.rst-signin-active .cp-trust-item b { font-size: 12.5px; font-weight: 600; letter-spacing: .2px; color: #F4F4F2; white-space: nowrap; }
body.rst-signin-active .cp-trust-item small { margin-top: 2px; font-size: 10.5px; color: rgba(244,244,242,.6); word-break: normal; overflow-wrap: normal; hyphens: manual; text-wrap: balance; }
body.rst-signin-active .cp-trust-stars { fill: #F2C94C; transform-origin: 20px 20px; animation: cp-trust-spin 40s linear infinite; }
body.rst-signin-active .cp-trust-item.is-eu .cp-trust-stars { animation-direction: reverse; animation-duration: 55s; }
body.rst-signin-active .cp-trust-orbit { fill: none; stroke: rgba(255,255,255,.22); stroke-width: 1.1; stroke-dasharray: 3 4.3; transform-origin: 20px 20px; animation: cp-trust-spin 30s linear infinite; }
body.rst-signin-active .cp-trust-draw { fill: none; stroke: #F4F4F2; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60; stroke-dashoffset: 60; animation: cp-trust-draw 1.2s cubic-bezier(.6,0,.2,1) forwards; animation-delay: calc(.55s + var(--i) * .14s); }
body.rst-signin-active .cp-trust-d2 { animation-delay: calc(1.05s + var(--i) * .14s); }
body.rst-signin-active .cp-trust-item.is-gdpr .cp-trust-d2 { stroke: #5BD69B; }
body.rst-signin-active .cp-trust-shackle { animation: cp-trust-draw 1.2s cubic-bezier(.6,0,.2,1) forwards, cp-trust-lock 6s ease-in-out 2.2s infinite; }
body.rst-signin-active .cp-trust-led { fill: #5BD69B; animation: cp-trust-blink 2.4s ease-in-out infinite; }
body.rst-signin-active .cp-trust-led2 { animation-delay: 1.2s; }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust { border-color: rgba(11,8,6,.12); background: linear-gradient(180deg, rgba(11,8,6,.03), rgba(11,8,6,.01)); }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust-item + .cp-trust-item { border-left-color: rgba(11,8,6,.10); }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust-item b { color: #0B0806; }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust-item small { color: rgba(11,8,6,.6); }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust-draw { stroke: #0B0806; }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust-stars { fill: #C79A12; }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust-orbit { stroke: rgba(11,8,6,.25); }
html:not([data-theme="dark"]) body.rst-signin-active .cp-trust-line { background: linear-gradient(90deg, transparent, rgba(11,8,6,.35), transparent); }
@keyframes cp-trust-in { to { opacity: 1; transform: none; } }
@keyframes cp-trust-draw { to { stroke-dashoffset: 0; } }
@keyframes cp-trust-spin { to { transform: rotate(360deg); } }
@keyframes cp-trust-scan { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(260%); } }
@keyframes cp-trust-blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes cp-trust-lock { 0%, 88%, 100% { transform: none; } 92% { transform: translateY(-1.2px); } 96% { transform: none; } }
/* v5.90.3: abhängig von der tatsächlichen Breite der Leiste (signin-enhance.js setzt .is-narrow unter 400 px) */
body.rst-signin-active .cp-trust.is-narrow { grid-template-columns: 1fr; }
  body.rst-signin-active .cp-trust.is-narrow .cp-trust-item { flex-direction: row; justify-content: flex-start; gap: 12px; padding: 10px 14px; text-align: left; }
  body.rst-signin-active .cp-trust.is-narrow .cp-trust-item span { align-items: flex-start; }
  body.rst-signin-active .cp-trust.is-narrow .cp-trust-item b { white-space: normal; }
  body.rst-signin-active .cp-trust.is-narrow .cp-trust-item svg { width: 34px; height: 34px; }
  body.rst-signin-active .cp-trust.is-narrow .cp-trust-item + .cp-trust-item { border-left: 0; border-top: 1px solid rgba(255,255,255,.08); }
  html:not([data-theme="dark"]) body.rst-signin-active .cp-trust.is-narrow .cp-trust-item + .cp-trust-item { border-top-color: rgba(11,8,6,.10); }

@media (prefers-reduced-motion: reduce) {
  body.rst-signin-active .cp-trust-item, body.rst-signin-active .cp-trust-draw { animation: none !important; opacity: 1; transform: none; stroke-dashoffset: 0; }
  body.rst-signin-active .cp-trust-stars, body.rst-signin-active .cp-trust-orbit, body.rst-signin-active .cp-trust-line, body.rst-signin-active .cp-trust-led, body.rst-signin-active .cp-trust-shackle { animation: none !important; }
}

/* v5.91.2 · Breiteres Anmeldefenster (E-Mail-Adressen vollständig sichtbar), Vertrauensleiste nebeneinander;
   Handy/PWA: volle Breite mit 16 px Rand, kompaktere Innenabstände, Safe-Area */
body.rst-signin-active .form-signin { width: min(540px, calc(100vw - 32px)) !important; max-width: none !important; }
body.rst-signin-active .form-signin .rst-signin-card { padding-left: 48px !important; padding-right: 48px !important; }
body.rst-signin-active .form-signin .rst-signin-card .form-control { font-size: 15px !important; }
body.rst-signin-active .rst-signin-card { max-width: none !important; }
body.rst-signin-active .rst-signin-card > .card-body, body.rst-signin-active .rst-signin-card form { width: 100% !important; align-self: stretch !important; max-width: none !important; }
body.rst-signin-active .cp-trust.is-compact .cp-trust-item { padding: 11px 4px 10px; gap: 4px; }
body.rst-signin-active .cp-trust.is-compact .cp-trust-item svg { width: 32px; height: 32px; }
body.rst-signin-active .cp-trust.is-compact .cp-trust-item b { font-size: 11px; letter-spacing: 0; }
body.rst-signin-active .cp-trust.is-compact .cp-trust-item small { font-size: 9.5px; line-height: 1.3; }
@media (max-width: 600px) {
  body.rst-signin-active .scrollable-page { width: 100% !important; box-sizing: border-box !important; padding: calc(20px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom)) !important; }
  body.rst-signin-active .form-signin { width: calc(100vw - 32px) !important; }
  body.rst-signin-active .form-signin .rst-signin-card { padding-left: 22px !important; padding-right: 22px !important; }
  body.rst-signin-active .form-signin .rst-signin-card .form-control { font-size: 16px !important; } /* iOS: kein Zoom beim Fokussieren */
}
