/*
 * RETRO BOXING e. V. – Lifetime UI Contract v1386
 * Verbindliche finale Schicht für Semantik, Feedback und konsistente Geometrie.
 * Diese Datei wird bewusst zuletzt geladen.
 */

:root {
  --rb-ui-space-0: 0;
  --rb-ui-space-1: 4px;
  --rb-ui-space-2: 8px;
  --rb-ui-space-3: 12px;
  --rb-ui-space-4: 16px;
  --rb-ui-space-5: 20px;
  --rb-ui-space-6: 24px;
  --rb-ui-space-7: 32px;
  --rb-ui-space-8: 40px;
  --rb-ui-space-9: 48px;
  --rb-ui-control-height: 42px;
  --rb-ui-control-height-lg: 46px;
  --rb-ui-transition-fast: 160ms;
  --rb-ui-transition-normal: 200ms;
}

/* Einheitliches, sofort erkennbares Feedback. Farbe ist nie das einzige Signal. */
.notice.success,
.notice.is-success,
.rb-form-inline-status.success,
.form-status.success {
  --rb-feedback-color: var(--rb-ui-success);
  --rb-feedback-soft: var(--rb-ui-success-soft);
}

.notice.error,
.notice.danger,
.notice.is-danger,
.rb-form-inline-status.error,
.form-status.error {
  --rb-feedback-color: var(--rb-ui-danger);
  --rb-feedback-soft: var(--rb-ui-danger-soft);
}

.notice.warning,
.notice.is-warning,
.rb-form-inline-status.warning,
.form-status.warning {
  --rb-feedback-color: var(--rb-ui-warning);
  --rb-feedback-soft: var(--rb-ui-warning-soft);
}

.notice.info,
.notice.is-info,
.rb-form-inline-status.info,
.form-status.info {
  --rb-feedback-color: var(--rb-ui-info);
  --rb-feedback-soft: var(--rb-ui-info-soft);
}

:is(
  .notice.success,
  .notice.error,
  .notice.danger,
  .notice.warning,
  .notice.info,
  .notice.is-success,
  .notice.is-danger,
  .notice.is-warning,
  .notice.is-info,
  .rb-form-inline-status.success,
  .rb-form-inline-status.error,
  .rb-form-inline-status.warning,
  .rb-form-inline-status.info,
  .form-status.success,
  .form-status.error,
  .form-status.warning,
  .form-status.info
) {
  position: relative !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 13px 15px 13px 46px !important;
  border: 1px solid color-mix(in srgb, var(--rb-feedback-color) 42%, var(--rb-ui-border)) !important;
  border-radius: var(--rb-ui-radius-md) !important;
  background:
    linear-gradient(90deg, var(--rb-feedback-soft), transparent 58%),
    var(--rb-ui-surface) !important;
  color: var(--rb-ui-text) !important;
  box-shadow: inset 3px 0 0 var(--rb-feedback-color) !important;
  line-height: 1.48 !important;
  font-weight: 700 !important;
}

:is(
  .notice.success,
  .notice.error,
  .notice.danger,
  .notice.warning,
  .notice.info,
  .notice.is-success,
  .notice.is-danger,
  .notice.is-warning,
  .notice.is-info,
  .rb-form-inline-status.success,
  .rb-form-inline-status.error,
  .rb-form-inline-status.warning,
  .rb-form-inline-status.info,
  .form-status.success,
  .form-status.error,
  .form-status.warning,
  .form-status.info
)::before {
  position: absolute;
  left: 14px;
  top: 50%;
  translate: 0 -50%;
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--rb-feedback-color);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}

:is(.notice.success, .notice.is-success, .rb-form-inline-status.success, .form-status.success)::before {
  content: '✓';
}

:is(.notice.error, .notice.danger, .notice.is-danger, .rb-form-inline-status.error, .form-status.error)::before {
  content: '!';
}

:is(.notice.warning, .notice.is-warning, .rb-form-inline-status.warning, .form-status.warning)::before {
  content: '!';
}

:is(.notice.info, .notice.is-info, .rb-form-inline-status.info, .form-status.info)::before {
  content: 'i';
}

.rb-form-inline-status:empty,
.form-status:empty {
  display: none !important;
}

/* Toasts: direkt sichtbar, aber nicht als störender Modal-Dialog. */
html body .toast-wrap {
  position: fixed !important;
  top: 18px !important;
  right: 18px !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  width: min(420px, calc(100vw - 36px)) !important;
  display: grid !important;
  gap: 10px !important;
  z-index: 999999 !important;
  pointer-events: none !important;
}

html body .toast-wrap .toast {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  pointer-events: auto !important;
  border-radius: var(--rb-ui-radius-md) !important;
  padding: 13px 14px !important;
  background: color-mix(in srgb, var(--rb-ui-surface-raised) 96%, transparent) !important;
  color: var(--rb-ui-text) !important;
  border: 1px solid var(--rb-ui-border-strong) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22) !important;
}

html body .toast-wrap .toast-success {
  border-left: 4px solid var(--rb-ui-success) !important;
}

html body .toast-wrap .toast-error {
  border-left: 4px solid var(--rb-ui-danger) !important;
}

html body .toast-wrap .toast-warning {
  border-left: 4px solid var(--rb-ui-warning) !important;
}

html body .toast-wrap .toast-info {
  border-left: 4px solid var(--rb-ui-info) !important;
}

html body .toast-wrap .toast .toast-copy {
  color: var(--rb-ui-text) !important;
  font-weight: 750 !important;
}

html body .toast-wrap .toast .toast-icon {
  background: var(--rb-ui-surface-2) !important;
  color: var(--rb-ui-text) !important;
}

/* Einheitliche Feldzustände. */
:where(input, select, textarea):user-invalid {
  border-color: color-mix(in srgb, var(--rb-ui-danger) 64%, var(--rb-ui-field-border)) !important;
}

:where(input, select, textarea):focus-visible {
  outline: none !important;
  border-color: var(--rb-ui-focus) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rb-ui-focus) 18%, transparent) !important;
}

/* Nachrichten: feste Arbeitsbreite wie besprochen – Kunde links, Verein rechts. */
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.user,
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.admin {
  width: 70% !important;
  max-width: 70% !important;
  min-width: 70% !important;
  box-sizing: border-box !important;
}

body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.user {
  justify-self: start !important;
  margin-right: auto !important;
}

body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.admin {
  justify-self: end !important;
  margin-left: auto !important;
}

/* v1388: Der eigentliche E-Mail-Inhalt nutzt die volle Breite der festen Nachrichtenblase.
   Viele HTML-Mails bringen einen eigenen 520/600px-Wrapper mit; nur dieser äußerste
   Layout-Wrapper wird auf 100 % der Nachrichten-Innenfläche gezogen. Bilder, Buttons
   und echte Unterspalten behalten ihre natürliche Größe. */
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.user > .bubble-body,
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.admin > .bubble-body,
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.user > .message-box-body,
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.admin > .message-box-body,
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble :is(.rendered-email-html) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble :is(.rendered-email-html) > :is(div, center, section, article, main, table) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.note,
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.forwarded {
  width: min(88%, 900px) !important;
  max-width: min(88%, 900px) !important;
  min-width: 0 !important;
}

/* Öffentlicher Seitenbaukasten: dieselbe DNA, aber unterschiedliche Kompositionen. */
.rb-cms-page {
  display: grid;
  gap: var(--rb-ui-space-6);
}

.rb-cms-block {
  min-width: 0;
  margin: 0;
  padding: clamp(18px, 2.2vw, 28px);
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-lg);
  background: var(--rb-ui-surface);
  color: var(--rb-ui-text);
}

.rb-cms-block > h2,
.rb-cms-copy > h2 {
  margin: 0 0 var(--rb-ui-space-3);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.16;
  color: var(--rb-ui-text-strong);
}

.rb-cms-block p,
.rb-cms-copy p {
  margin: 0 0 var(--rb-ui-space-3);
  line-height: 1.7;
  color: var(--rb-ui-text-secondary);
}

.rb-cms-block p:last-child,
.rb-cms-copy p:last-child {
  margin-bottom: 0;
}

.rb-cms-list {
  margin: 0;
  padding-left: 1.25rem;
  display: grid;
  gap: var(--rb-ui-space-2);
  color: var(--rb-ui-text-secondary);
  line-height: 1.6;
}

.rb-cms-image-text {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  gap: clamp(20px, 3vw, 38px);
  align-items: center;
}

.rb-cms-image-text.is-image-left .rb-cms-media {
  order: -1;
}

.rb-cms-media {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-media-bg);
  aspect-ratio: 4 / 3;
}

.rb-cms-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rb-cms-info {
  --rb-cms-state: var(--rb-ui-info);
  --rb-cms-state-soft: var(--rb-ui-info-soft);
  box-shadow: inset 3px 0 0 var(--rb-cms-state);
  background:
    linear-gradient(90deg, var(--rb-cms-state-soft), transparent 55%),
    var(--rb-ui-surface);
}

.rb-cms-info.is-success {
  --rb-cms-state: var(--rb-ui-success);
  --rb-cms-state-soft: var(--rb-ui-success-soft);
}

.rb-cms-info.is-warning {
  --rb-cms-state: var(--rb-ui-warning);
  --rb-cms-state-soft: var(--rb-ui-warning-soft);
}

.rb-cms-info.is-neutral {
  --rb-cms-state: var(--rb-ui-neutral);
  --rb-cms-state-soft: var(--rb-ui-neutral-soft);
}

.rb-cms-faq {
  display: grid;
  gap: 10px;
}

.rb-cms-faq > h2 {
  margin-bottom: var(--rb-ui-space-1);
}

.rb-cms-faq-item {
  overflow: hidden;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface-2);
}

.rb-cms-faq-item > summary {
  position: relative;
  padding: 14px 46px 14px 16px;
  cursor: pointer;
  list-style: none;
  font-weight: 820;
  color: var(--rb-ui-text-strong);
}

.rb-cms-faq-item > div {
  padding: 0 16px 15px;
}

.rb-cms-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rb-ui-space-3);
}

.rb-cms-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface-2);
}

.rb-cms-card h3 {
  margin: 0 0 var(--rb-ui-space-2);
  color: var(--rb-ui-text-strong);
}

.rb-cms-cta {
  padding-block: clamp(24px, 4vw, 42px);
  text-align: center;
  background:
    linear-gradient(135deg, var(--rb-ui-brand-soft), transparent 60%),
    var(--rb-ui-surface);
}

.rb-cms-cta .hero-actions {
  justify-content: center;
}

@media (max-width: 800px) {
  .rb-cms-page {
    gap: var(--rb-ui-space-4);
  }

  .rb-cms-image-text {
    grid-template-columns: 1fr;
  }

  .rb-cms-image-text .rb-cms-media {
    order: -1;
  }

  .rb-cms-card-grid {
    grid-template-columns: 1fr;
  }

  .rb-cms-block {
    padding: 18px;
  }
}

@media (max-width: 760px) {
  body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.user,
body.admin-page:is(.admin-page-messages, .admin-page-profile) .chat-messages > .bubble.admin {
    width: 92% !important;
    max-width: 92% !important;
    min-width: 92% !important;
  }
}

@media (max-width: 640px) {
  html body .toast-wrap {
    top: auto !important;
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    width: auto !important;
  }
}

/* Lifetime-Seitenvarianten: feste DNA, kontrollierte Abwechslung.
 * v1414: Inhaltsrahmen aller öffentlichen Seiten nutzen dieselbe zentrale
 * Containerbreite wie der Hero. So entstehen unterhalb des Seitenkopfs keine
 * optisch schmaleren Außenkanten mehr – unabhängig vom historischen CMS-Wert.
 */
.rb-page-width-narrow .rb-managed-content,
.rb-page-width-standard .rb-managed-content,
.rb-page-width-wide .rb-managed-content { max-width: none; }
.rb-page-hero-compact .rb-managed-hero { padding-block: clamp(20px, 3vw, 38px); }
.rb-page-hero-compact .rb-managed-hero .hero-card { padding-block: clamp(24px, 3.5vw, 44px); }
.rb-page-hero-split .rb-managed-hero .hero-card {
  position: relative;
  overflow: hidden;
  padding-block: clamp(34px, 5vw, 70px);
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--rb-ui-brand) 10%, transparent), transparent 62%),
    var(--rb-ui-surface);
}
.rb-page-hero-split .rb-managed-hero .hero-card::after {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  width: 4px;
  background: var(--rb-ui-brand);
  opacity: .7;
}
@media (max-width: 760px) {
  .rb-page-width-narrow .rb-managed-content,
.rb-page-width-standard .rb-managed-content,
.rb-page-width-wide .rb-managed-content { max-width: none; }
}

/* v1386 – neue Lifetime-Module nutzen denselben Komponentenrhythmus. */
.rb-security-page,
.rb-portal-admin-layout,
.rb-org-layout {
  align-items: start;
  gap: var(--rb-ui-space-6) !important;
}

.rb-security-page,
.rb-portal-admin-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rb-org-layout {
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
}

.rb-tabbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rb-ui-space-2);
  margin: 0 0 var(--rb-ui-space-6);
  padding: var(--rb-ui-space-2);
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-lg);
  background: var(--rb-ui-surface);
}

.rb-tabbar > a {
  min-height: var(--rb-ui-control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: var(--rb-ui-radius-md);
  color: var(--rb-ui-text-secondary);
  text-decoration: none;
  font-weight: 800;
  transition: background var(--rb-ui-transition-fast), border-color var(--rb-ui-transition-fast), color var(--rb-ui-transition-fast);
}

.rb-tabbar > a:hover,
.rb-tabbar > a:focus-visible {
  background: var(--rb-ui-hover);
  color: var(--rb-ui-text-strong);
}

.rb-tabbar > a.is-active {
  border-color: color-mix(in srgb, var(--rb-ui-brand) 36%, var(--rb-ui-border));
  background: var(--rb-ui-brand-soft);
  color: var(--rb-ui-text-strong);
  box-shadow: inset 0 -2px 0 var(--rb-ui-brand);
}

.rb-member-select-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: var(--rb-ui-space-3);
  max-height: 440px;
  overflow: auto;
  padding: var(--rb-ui-space-1);
}

.rb-member-select-grid .toggle-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface-2);
}

.rb-member-select-grid .toggle-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--rb-ui-brand) 50%, var(--rb-ui-border));
  background: var(--rb-ui-brand-soft);
}

.rb-recovery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--rb-ui-space-2);
  margin: var(--rb-ui-space-4) 0;
}

.rb-recovery-grid code,
.rb-secret-copy code,
.rb-break-code {
  display: block;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface-2);
  color: var(--rb-ui-text-strong);
  overflow-wrap: anywhere;
}

.rb-setup-steps {
  display: grid;
  gap: var(--rb-ui-space-4);
  margin: var(--rb-ui-space-5) 0;
}

.rb-danger-zone {
  margin-top: var(--rb-ui-space-5);
  border: 1px solid color-mix(in srgb, var(--rb-ui-danger) 38%, var(--rb-ui-border));
  border-radius: var(--rb-ui-radius-md);
  overflow: hidden;
}

.rb-danger-zone > summary {
  padding: 13px 16px;
  cursor: pointer;
  color: var(--rb-ui-danger);
  font-weight: 850;
}

.rb-danger-zone-body { padding: 0 16px 16px; }
.rb-details-form { margin-top: var(--rb-ui-space-4); }
.rb-inline-form { display: inline-flex; margin-top: var(--rb-ui-space-3); }
.rb-break-code { margin-top: var(--rb-ui-space-2); }

.rb-event-register-form {
  margin-top: var(--rb-ui-space-4);
  padding-top: var(--rb-ui-space-4);
  border-top: 1px solid var(--rb-ui-border);
}

.rb-check-row {
  display: inline-flex !important;
  align-items: flex-start;
  gap: 10px;
}
.rb-check-row input { margin-top: 3px; }

.rb-text-danger { color: var(--rb-ui-danger) !important; font-weight: 800; }

@media (max-width: 980px) {
  .rb-security-page,
.rb-portal-admin-layout,
.rb-org-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .rb-tabbar { display: grid; grid-template-columns: 1fr; }
  .rb-tabbar > a { justify-content: flex-start; }
  .rb-member-select-grid { grid-template-columns: 1fr; max-height: 360px; }
}

/* Öffentliche Lifetime-Formulare, Portal und persistente Rückmeldungen. */
.rb-feedback {
  --rb-feedback-color: var(--rb-ui-info);
  --rb-feedback-soft: var(--rb-ui-info-soft);
  display: grid;
  grid-template-columns: 1fr;
  gap: 3px;
  position: relative;
  padding: 14px 16px 14px 48px;
  border: 1px solid color-mix(in srgb, var(--rb-feedback-color) 42%, var(--rb-ui-border));
  border-radius: var(--rb-ui-radius-md);
  background:
    linear-gradient(90deg, var(--rb-feedback-soft), transparent 62%),
    var(--rb-ui-surface);
  color: var(--rb-ui-text);
  box-shadow: inset 3px 0 0 var(--rb-feedback-color);
}
.rb-feedback::before {
  content: 'i';
  position: absolute;
  left: 15px;
  top: 50%;
  translate: 0 -50%;
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--rb-feedback-color);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}
.rb-feedback > strong { color: var(--rb-ui-text-strong); }
.rb-feedback > span { color: var(--rb-ui-text-secondary); }
.rb-feedback-success { --rb-feedback-color: var(--rb-ui-success); --rb-feedback-soft: var(--rb-ui-success-soft); }
.rb-feedback-success::before { content: '✓'; }
.rb-feedback-error { --rb-feedback-color: var(--rb-ui-danger); --rb-feedback-soft: var(--rb-ui-danger-soft); }
.rb-feedback-error::before { content: '!'; }
.rb-feedback-warning { --rb-feedback-color: var(--rb-ui-warning); --rb-feedback-soft: var(--rb-ui-warning-soft); }
.rb-feedback-warning::before { content: '!'; }
.rb-feedback-persistent { margin-block: var(--rb-ui-space-4); }
.rb-public-feedback-wrap { margin-top: var(--rb-ui-space-5); }

.rb-application-shell,
.rb-member-portal,
.rb-member-portal-activation,
.rb-event-cancel {
  width: min(100%, 980px);
  margin-inline: auto;
}

.rb-public-form-head {
  display: grid;
  gap: var(--rb-ui-space-3);
  margin-bottom: var(--rb-ui-space-6);
}
.rb-public-form-head h2,
.rb-portal-head h2 {
  margin: 0;
  color: var(--rb-ui-text-strong);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
}
.rb-public-form-head p,
.rb-portal-head p { margin: 0; color: var(--rb-ui-text-secondary); line-height: 1.65; }

.rb-lifetime-form {
  display: grid;
  gap: var(--rb-ui-space-5);
}
.rb-form-submit-row { display: flex; align-items: center; gap: var(--rb-ui-space-3); flex-wrap: wrap; }
.rb-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.rb-portal-head,
.rb-portal-member-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rb-ui-space-4);
}
.rb-portal-head { margin-bottom: var(--rb-ui-space-6); }
.rb-portal-member-card {
  display: grid;
  gap: var(--rb-ui-space-5);
  margin-top: var(--rb-ui-space-5);
  padding: clamp(18px, 2.5vw, 26px);
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-lg);
  background: var(--rb-ui-surface-2);
}
.rb-portal-member-title h3 { margin: 0 0 4px; color: var(--rb-ui-text-strong); }
.rb-portal-member-title span { color: var(--rb-ui-text-secondary); }
.rb-member-portal details,
.rb-portal-member-card details {
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface);
  overflow: clip;
}
.rb-member-portal details > summary,
.rb-portal-member-card details > summary {
  position: relative;
  padding: 14px 46px 14px 16px;
  cursor: pointer;
  list-style: none;
  color: var(--rb-ui-text-strong);
  font-weight: 850;
}
.rb-member-portal details > :not(summary),
.rb-portal-member-card details > :not(summary) { margin: 0 var(--rb-ui-space-4) var(--rb-ui-space-4); }

.rb-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rb-ui-space-3);
}
.rb-kpi {
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface);
}
.rb-kpi strong { display: block; font-size: 1.65rem; color: var(--rb-ui-text-strong); }
.rb-kpi span { display: block; margin-top: 2px; color: var(--rb-ui-text-secondary); font-size: .9rem; }

@media (max-width: 700px) {
  .rb-portal-head,
.rb-portal-member-title { align-items: stretch; flex-direction: column; }
  .rb-kpi-grid { grid-template-columns: 1fr; }
}


/* Organisationsbereich: ruhige, einheitliche Arbeitsflächen. */
.rb-task-card {
  align-items: flex-start;
}

.rb-task-actions,
.rb-meeting-decision-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rb-ui-space-2);
  align-items: center;
}

.rb-task-actions form {
  margin: 0;
}

.rb-meeting-link {
  text-decoration: none;
  color: inherit;
}

.rb-meeting-link.is-active {
  border-color: color-mix(in srgb, var(--rb-ui-focus) 52%, var(--rb-ui-border));
  background: color-mix(in srgb, var(--rb-ui-info-soft) 55%, var(--rb-ui-surface));
}

.rb-meeting-detail {
  display: grid;
  gap: var(--rb-ui-space-4);
}

.rb-meeting-decision-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  align-items: start;
  gap: var(--rb-ui-space-6);
}

.rb-decision-card p,
.rb-details-copy {
  margin: var(--rb-ui-space-2) 0 0;
  color: var(--rb-ui-text-secondary);
  line-height: 1.65;
}

@media (max-width: 820px) {
  .rb-meeting-decision-grid {
    grid-template-columns: 1fr;
  }
}

/* Mitgliederportal: digitale Mitgliedskarte und Reset-Flächen. */
.rb-digital-member-card {
  display: flex;
  justify-content: space-between;
  gap: var(--rb-ui-space-4);
  align-items: center;
  margin: var(--rb-ui-space-4) 0;
  padding: var(--rb-ui-space-4) var(--rb-ui-space-5);
  border: 1px solid color-mix(in srgb, var(--rb-ui-focus) 28%, var(--rb-ui-border));
  border-radius: var(--rb-ui-radius-lg);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--rb-ui-brand) 9%, transparent), transparent 58%),
    var(--rb-ui-surface-2);
}

.rb-digital-member-card > div {
  display: grid;
  gap: var(--rb-ui-space-1);
}

.rb-digital-member-card small,
.rb-digital-member-card span {
  color: var(--rb-ui-text-secondary);
}

.rb-digital-member-card strong {
  color: var(--rb-ui-text-strong);
}

.rb-digital-member-number {
  text-align: right;
}

.rb-member-portal-reset {
  max-width: 760px;
  margin-inline: auto;
}

@media (max-width: 640px) {
  .rb-digital-member-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .rb-digital-member-number {
    text-align: left;
  }
}

/* v1387 – Systemgesundheit, Befehlssuche und Audit bleiben ruhig und sofort lesbar. */
.rb-health-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--rb-ui-space-3);
  margin: 0 0 var(--rb-ui-space-5);
}

.rb-health-summary-card {
  display: grid;
  gap: var(--rb-ui-space-1);
  min-width: 0;
  padding: var(--rb-ui-space-4);
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface-2);
  box-shadow: inset 3px 0 0 var(--rb-ui-neutral);
}

.rb-health-summary-card small,
.rb-health-summary-card span {
  color: var(--rb-ui-text-secondary);
}

.rb-health-summary-card strong {
  color: var(--rb-ui-text-strong);
  font-size: 1.45rem;
  line-height: 1.1;
}

.rb-health-summary-card.is-ok {
  border-color: color-mix(in srgb, var(--rb-ui-success) 30%, var(--rb-ui-border));
  background: color-mix(in srgb, var(--rb-ui-success-soft) 58%, var(--rb-ui-surface));
  box-shadow: inset 3px 0 0 var(--rb-ui-success);
}

.rb-health-summary-card.is-warning {
  border-color: color-mix(in srgb, var(--rb-ui-warning) 34%, var(--rb-ui-border));
  background: color-mix(in srgb, var(--rb-ui-warning-soft) 58%, var(--rb-ui-surface));
  box-shadow: inset 3px 0 0 var(--rb-ui-warning);
}

.rb-health-summary-card.is-error {
  border-color: color-mix(in srgb, var(--rb-ui-danger) 34%, var(--rb-ui-border));
  background: color-mix(in srgb, var(--rb-ui-danger-soft) 58%, var(--rb-ui-surface));
  box-shadow: inset 3px 0 0 var(--rb-ui-danger);
}

body.admin-page .rb-admin-global-search input {
  padding-right: 104px !important;
}

.rb-command-shortcut {
  position: absolute;
  top: 50%;
  right: 52px;
  transform: translateY(-50%);
  pointer-events: none;
  padding: 2px 6px;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-sm);
  background: var(--rb-ui-surface-2);
  color: var(--rb-ui-text-secondary);
  font: inherit;
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.35;
  box-shadow: none;
}

.rb-audit-details {
  display: grid;
  gap: var(--rb-ui-space-1);
  min-width: 0;
}

.rb-audit-details > span {
  display: block;
  color: var(--rb-ui-text-secondary);
  font-size: .84rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Portalinformationen verwenden dieselbe Statussemantik wie der Adminbereich. */
.rb-kpi:is(.is-success,.is-warning,.is-danger,.is-neutral) {
  border-color: color-mix(in srgb, var(--rb-ui-state, var(--rb-ui-neutral)) 30%, var(--rb-ui-border));
  box-shadow: inset 3px 0 0 var(--rb-ui-state, var(--rb-ui-neutral));
}

.rb-kpi.is-success { --rb-ui-state: var(--rb-ui-success); }
.rb-kpi.is-warning { --rb-ui-state: var(--rb-ui-warning); }
.rb-kpi.is-danger { --rb-ui-state: var(--rb-ui-danger); }
.rb-kpi.is-neutral { --rb-ui-state: var(--rb-ui-neutral); }

.rb-portal-details-stack {
  display: grid;
  gap: var(--rb-ui-space-3);
  margin-top: var(--rb-ui-space-4);
}

.rb-portal-details-stack > details {
  overflow: clip;
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-md);
  background: var(--rb-ui-surface);
}

.rb-portal-details-stack > details > summary {
  cursor: pointer;
  padding: var(--rb-ui-space-4);
  color: var(--rb-ui-text-strong);
  font-weight: 800;
}

.rb-portal-details-stack > details[open] > summary {
  border-bottom: 1px solid var(--rb-ui-border);
  background: var(--rb-ui-surface-2);
}

.rb-portal-details-stack > details > :not(summary) {
  margin-inline: var(--rb-ui-space-4);
}

.rb-portal-details-stack > details > :last-child {
  margin-bottom: var(--rb-ui-space-4);
}

.rb-portal-attendance-list {
  display: grid;
  gap: var(--rb-ui-space-2);
  padding-top: var(--rb-ui-space-4);
}

.rb-portal-attendance-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rb-ui-space-3);
  min-width: 0;
  padding: var(--rb-ui-space-3);
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-sm);
  background: var(--rb-ui-surface-2);
}

@media (max-width: 760px) {
  .rb-command-shortcut { display: none; }
  body.admin-page .rb-admin-global-search input { padding-right: var(--rb-ui-space-4) !important; }
}


/* Lifetime login: Markenabstand folgt dem zentralen Spacing-System. */
.rb-login-brand { margin-bottom: var(--rb-ui-space-5, 1.125rem); }

/* v1389 – UI & Workflow Perfection
 * Ein visueller Vertrag für alte und neue Adminseiten. Keine neue Designsprache,
 * sondern konsequente Nutzung der Lifetime-Tokens. */
body.admin-page {
  --rb-ui-page-gap: var(--rb-ui-space-4);
  --rb-ui-field-gap: var(--rb-ui-space-2);
  --rb-ui-action-gap: var(--rb-ui-space-2);
}

/* Verbindliche Spacing-Utilities für Altbestand und neue Komponenten. */
.rb-ui-mt-0 { margin-top: 0 !important; }
.rb-ui-mt-1 { margin-top: var(--rb-ui-space-1) !important; }
.rb-ui-mt-2 { margin-top: var(--rb-ui-space-2) !important; }
.rb-ui-mt-3 { margin-top: var(--rb-ui-space-3) !important; }
.rb-ui-mt-4 { margin-top: var(--rb-ui-space-4) !important; }
.rb-ui-mt-5 { margin-top: var(--rb-ui-space-5) !important; }
.rb-ui-mt-6 { margin-top: var(--rb-ui-space-6) !important; }
.rb-ui-mb-2 { margin-bottom: var(--rb-ui-space-2) !important; }
.rb-ui-mb-3 { margin-bottom: var(--rb-ui-space-3) !important; }
.rb-ui-mb-4 { margin-bottom: var(--rb-ui-space-4) !important; }

/* Inhaltsüberschriften: eine klare Hierarchie unterhalb des zentralen Seiten-H1. */
body.admin-page .admin-main :where(.section-head,.rb-stat-head,.rb-coupons-head,.rbs-section-head) {
  min-width: 0;
}
body.admin-page .admin-main :where(.section-head,.rb-stat-head,.rb-coupons-head,.rbs-section-head) :where(h2,h3) {
  margin-top: 0;
  text-wrap: balance;
}
body.admin-page .admin-main :where(.section-sub,.help,.rbs-note,.rbs-panel-note) {
  line-height: 1.48;
  color: var(--rb-ui-text-secondary);
}
body.admin-page .rb-admin-eyebrow {
  display: inline-block;
  margin: 0 0 var(--rb-ui-space-1);
  color: var(--rb-ui-text-meta);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

/* Formulare: dieselbe Feldgeometrie und dieselbe Erklärungshierarchie auf jeder Seite. */
body.admin-page :where(.form-row,.form-grid,.settings-subcard,.rb-form-group) > label,
body.admin-page :where(.form-row,.form-grid) label:not(.upload-box):not(.switch):not(.toggle) {
  min-width: 0;
}
body.admin-page :where(.form-row,.form-grid) label:not(.upload-box):not(.switch):not(.toggle) > :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  margin-top: var(--rb-ui-space-2);
}
body.admin-page :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  min-height: var(--rb-ui-control-height);
  border-radius: var(--rb-ui-radius-sm);
  border-color: var(--rb-ui-field-border);
  background: var(--rb-ui-field-bg);
  color: var(--rb-ui-text);
  transition: border-color var(--rb-ui-transition-fast) ease, box-shadow var(--rb-ui-transition-fast) ease, background var(--rb-ui-transition-fast) ease;
}
body.admin-page textarea { min-height: 104px; resize: vertical; }
body.admin-page :where(input,select,textarea)::placeholder { color: var(--rb-ui-text-meta); opacity: .82; }
body.admin-page :where(input,select,textarea):disabled,
body.admin-page :where(input,select,textarea)[readonly] {
  opacity: .72;
  cursor: not-allowed;
  background: var(--rb-ui-surface-2);
}
body.admin-page :where(.form-row,.form-grid) label > small,
body.admin-page :where(.form-row,.form-grid) .help {
  display: block;
  margin-top: var(--rb-ui-space-1);
  color: var(--rb-ui-text-meta);
  line-height: 1.42;
}

/* Aktionen: gleiche Höhe, keine springenden Hover-Effekte, klare Priorität. */
body.admin-page :where(.btn,button.btn) {
  gap: var(--rb-ui-space-2);
  min-height: var(--rb-ui-control-height);
  padding-inline: var(--rb-ui-space-4);
  border-radius: var(--rb-ui-radius-sm);
  transition: background var(--rb-ui-transition-fast) ease, border-color var(--rb-ui-transition-fast) ease, color var(--rb-ui-transition-fast) ease, opacity var(--rb-ui-transition-fast) ease;
  transform: none !important;
}
body.admin-page :where(.btn,button.btn):disabled,
body.admin-page :where(.btn,button.btn)[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none !important;
}
body.admin-page :where(.form-actions,.card-actions,.list-card-actions,.rb-action-bar,.hero-actions,.members-head-actions,.doc-actions) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rb-ui-action-gap);
}

/* Tabellen: ruhige Scanbarkeit und konsistente Kopfzeile. */
body.admin-page :where(.table-wrap,.admin-table-wrap,.rb-finance-table-wrap,.pm-table-wrap,.attendance-table-wrap) {
  border-radius: var(--rb-ui-radius-md);
  scrollbar-gutter: stable;
}
body.admin-page :where(.table,.admin-table,.pm-overview-table,.pm-month-truth) thead th {
  background: var(--rb-ui-surface-2);
  color: var(--rb-ui-text-secondary);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .015em;
}
@media (hover:hover) and (pointer:fine) {
  body.admin-page :where(.table,.admin-table,.pm-overview-table,.pm-month-truth) tbody tr:hover > td {
    background-color: color-mix(in srgb, var(--rb-ui-hover) 72%, transparent);
  }
}

/* Ein echter Empty State ist kein Fehler und kein Warnhinweis. */
body.admin-page .rb-empty-state {
  min-height: 84px;
  align-content: center;
  padding: var(--rb-ui-space-4);
  border: 1px dashed color-mix(in srgb, var(--rb-ui-border-strong) 76%, transparent);
  border-radius: var(--rb-ui-radius-md);
  background: color-mix(in srgb, var(--rb-ui-surface-2) 58%, transparent);
  color: var(--rb-ui-text);
}
body.admin-page .rb-empty-state strong { color: var(--rb-ui-text); }
body.admin-page .rb-empty-state span { color: var(--rb-ui-text-secondary); opacity: 1; }

/* Kleine Displays: Primäraktion gut erreichbar, ohne breite Desktop-Leisten zu imitieren. */
@media (max-width: 760px) {
  body.admin-page { --rb-ui-page-gap: var(--rb-ui-space-3); }
  body.admin-page :where(.form-actions,.card-actions,.list-card-actions,.rb-action-bar,.hero-actions,.members-head-actions,.doc-actions) {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    width: 100%;
  }
  body.admin-page :where(.form-actions,.card-actions,.list-card-actions,.rb-action-bar,.hero-actions,.members-head-actions,.doc-actions) > :where(.btn,button,form) {
    width: 100%;
    max-width: 100%;
  }
  body.admin-page :where(.form-actions,.card-actions,.list-card-actions,.rb-action-bar,.hero-actions,.members-head-actions,.doc-actions) > form > :where(.btn,button) {
    width: 100%;
  }
}

/* v1389 – Gefahr eindeutig, aber bewusst ruhig statt alarmistisch. */
body.admin-page :where(.btn-danger,button.btn-danger) {
  background: color-mix(in srgb, var(--rb-ui-danger-soft) 78%, var(--rb-ui-surface)) !important;
  border-color: color-mix(in srgb, var(--rb-ui-danger) 52%, var(--rb-ui-border)) !important;
  color: color-mix(in srgb, var(--rb-ui-danger) 86%, var(--rb-ui-text)) !important;
  box-shadow: none !important;
}
@media (hover:hover) and (pointer:fine) {
  body.admin-page :where(.btn-danger,button.btn-danger):hover {
    background: color-mix(in srgb, var(--rb-ui-danger-soft) 100%, var(--rb-ui-surface-2)) !important;
    border-color: color-mix(in srgb, var(--rb-ui-danger) 70%, var(--rb-ui-border)) !important;
    color: color-mix(in srgb, var(--rb-ui-danger) 94%, var(--rb-ui-text)) !important;
  }
}

/* v1392 – Light/Dark-Parität, mobile Systempflege und digitaler Mitgliedsantrag.
 * Keine neue Designsprache: ausschließlich bestehende Lifetime-Tokens und Komponenten. */

/* Systempflege mobil: Titel, Status und +/- haben feste kollisionsfreie Plätze.
   Der Status ist ein echtes gepolstertes Badge innerhalb der Summary und kann nie über deren Border ragen. */
@media (max-width: 720px) {
  html body.admin-page.admin-page-systempflege .admin-main .rb-systempflege-list > details > .admin-collapse-summary {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 38px !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px !important;
    row-gap: 9px !important;
    align-items: start !important;
    min-width: 0 !important;
    padding: 14px 12px 14px 14px !important;
    overflow: hidden !important;
  }
  html body.admin-page.admin-page-systempflege .admin-main .rb-systempflege-list > details > .admin-collapse-summary > div {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.admin-page.admin-page-systempflege .admin-main .rb-systempflege-list > details > .admin-collapse-summary > .badge {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.25 !important;
  }
}

/* Systempflege Light: exakt dieselbe Hierarchie wie Dark, nur mit den hellen Tokens.
   Alte fest verdrahtete Dark-Grau-/Weißwerte dürfen im hellen Modus keinen Kontrast verlieren. */
html[data-rb-theme="light"] body.admin-page-systempflege .rb-systempflege-list {
  color: var(--rb-ui-text) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-systempflege-list > details,
html[data-rb-theme="light"] body.admin-page-systempflege .rb-systempflege-list .admin-collapse-content,
html[data-rb-theme="light"] body.admin-page-systempflege :is(.thanks-box,.rb-seo-card,.system-version-grid > div,.rb-storage-subsection) {
  color: var(--rb-ui-text) !important;
  background: var(--rb-ui-surface) !important;
  border-color: var(--rb-ui-border) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .admin-collapse-summary {
  color: var(--rb-ui-text) !important;
  background: var(--rb-ui-surface) !important;
  border-color: var(--rb-ui-border) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege details[open] > .admin-collapse-summary {
  background: var(--rb-ui-surface-2) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .admin-collapse-content :where(p,li) {
  color: var(--rb-ui-text-secondary) !important;
  opacity: 1 !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .admin-collapse-content :where(h2,h3,h4,strong,b,code),
html[data-rb-theme="light"] body.admin-page-systempflege .system-care-btn strong,
html[data-rb-theme="light"] body.admin-page-systempflege .system-version-grid strong {
  color: var(--rb-ui-text-strong) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege :is(
  .system-care-btn span,
  .system-version-grid small,
  .rb-storage-subsection > summary span,
  .rb-duplicate-paths summary,
  .rb-data-quality-item-v1276 small,
  .rb-data-quality-item-v1276 span
) {
  color: var(--rb-ui-text-secondary) !important;
  opacity: 1 !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .system-care-btn {
  color: var(--rb-ui-text) !important;
  background: var(--rb-ui-surface-2) !important;
  border-color: var(--rb-ui-border) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .system-care-btn:hover {
  background: var(--rb-ui-hover) !important;
  border-color: var(--rb-ui-border-strong) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-data-quality-item-v1276 {
  color: var(--rb-ui-text) !important;
  background: var(--rb-ui-surface-2) !important;
  border-color: var(--rb-ui-border) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-data-quality-item-v1276 strong {
  color: var(--rb-ui-text-strong) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-data-quality-item-v1276.is-ok {
  border-color: color-mix(in srgb,var(--rb-ui-success) 42%,var(--rb-ui-border)) !important;
  background: color-mix(in srgb,var(--rb-ui-success-soft) 58%,var(--rb-ui-surface)) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-data-quality-item-v1276.is-watch {
  border-color: color-mix(in srgb,var(--rb-ui-warning) 44%,var(--rb-ui-border)) !important;
  background: color-mix(in srgb,var(--rb-ui-warning-soft) 62%,var(--rb-ui-surface)) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-data-quality-item-v1276.is-danger {
  border-color: color-mix(in srgb,var(--rb-ui-danger) 44%,var(--rb-ui-border)) !important;
  background: color-mix(in srgb,var(--rb-ui-danger-soft) 62%,var(--rb-ui-surface)) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-storage-subsection > summary,
html[data-rb-theme="light"] body.admin-page-systempflege .rb-duplicate-paths > summary {
  color: var(--rb-ui-text-strong) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-storage-subsection[open] > summary {
  border-bottom-color: var(--rb-ui-border) !important;
}
html[data-rb-theme="light"] body.admin-page-systempflege .rb-storage-bar-track {
  background: var(--rb-ui-surface-3) !important;
}

/* Digitaler Mitgliedsantrag: volle Inhaltsbreite, klare Feld-Border und dieselbe Komponentensprache
   wie Kontakt/Probetraining. */
.page-slug-mitgliedsantrag .rb-application-shell {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: clamp(20px, 2.8vw, 32px) !important;
}
.page-slug-mitgliedsantrag .rb-public-form-head {
  max-width: 920px;
}
.page-slug-mitgliedsantrag .rb-lifetime-form fieldset {
  min-width: 0;
  margin: 0;
  padding: clamp(16px, 2.2vw, 22px);
  border: 1px solid var(--rb-ui-border);
  border-radius: var(--rb-ui-radius-lg);
  background: var(--rb-ui-surface-2);
}
.page-slug-mitgliedsantrag .rb-lifetime-form legend {
  max-width: 100%;
  padding: 0 var(--rb-ui-space-2);
  color: var(--rb-ui-text-strong);
  font-size: .9rem;
  font-weight: 900;
  line-height: 1.35;
}
.page-slug-mitgliedsantrag .rb-lifetime-form legend small {
  color: var(--rb-ui-text-secondary);
  font-weight: 700;
}
.page-slug-mitgliedsantrag .rb-lifetime-form .form-grid {
  gap: var(--rb-ui-space-4);
}
.page-slug-mitgliedsantrag .rb-lifetime-form .form-row > label,
.page-slug-mitgliedsantrag .rb-lifetime-form > fieldset > .rb-check-row {
  color: var(--rb-ui-text-strong) !important;
}
.page-slug-mitgliedsantrag .rb-lifetime-form :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
) {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--rb-ui-field-border) !important;
  border-radius: var(--rb-ui-radius-sm) !important;
  background: var(--rb-ui-field-bg) !important;
  color: var(--rb-ui-text) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb,#fff 4%,transparent) !important;
}
.page-slug-mitgliedsantrag .rb-lifetime-form :is(input,select,textarea):focus-visible {
  border-color: var(--rb-ui-focus) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--rb-ui-focus) 18%,transparent) !important;
}
.page-slug-mitgliedsantrag .rb-lifetime-form :is(input,textarea)::placeholder {
  color: var(--rb-ui-text-meta) !important;
  opacity: 1 !important;
}
.page-slug-mitgliedsantrag .rb-lifetime-form .rb-check-row {
  width: 100%;
  line-height: 1.5;
}
.page-slug-mitgliedsantrag .rb-form-submit-row {
  justify-content: space-between;
  padding-top: var(--rb-ui-space-1);
}
.page-slug-mitgliedsantrag .rb-form-submit-row .help {
  max-width: 620px;
  color: var(--rb-ui-text-secondary) !important;
}

html[data-rb-theme="light"] body .page-slug-mitgliedsantrag .rb-application-shell,
html[data-rb-theme="light"] body .page-slug-mitgliedsantrag .rb-lifetime-form fieldset {
  background: var(--rb-ui-surface) !important;
  border-color: var(--rb-ui-border) !important;
}
html[data-rb-theme="light"] body .page-slug-mitgliedsantrag .rb-lifetime-form fieldset {
  background: var(--rb-ui-surface-2) !important;
}
html[data-rb-theme="light"] body .page-slug-mitgliedsantrag .rb-lifetime-form :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
) {
  border: 2px solid var(--rb-ui-field-border) !important;
  background: var(--rb-ui-field-bg) !important;
  color: var(--rb-ui-text) !important;
  -webkit-text-fill-color: var(--rb-ui-text) !important;
}

@media (max-width: 640px) {
  .page-slug-mitgliedsantrag .rb-application-shell {
    padding: var(--rb-ui-space-4) !important;
    border-radius: var(--rb-ui-radius-lg) !important;
  }
  .page-slug-mitgliedsantrag .rb-public-form-head {
    gap: var(--rb-ui-space-2);
    margin-bottom: var(--rb-ui-space-5);
  }
  .page-slug-mitgliedsantrag .rb-public-form-head h2 {
    font-size: clamp(1.55rem, 8vw, 2rem);
  }
  .page-slug-mitgliedsantrag .rb-lifetime-form {
    gap: var(--rb-ui-space-4);
  }
  .page-slug-mitgliedsantrag .rb-lifetime-form fieldset {
    padding: var(--rb-ui-space-4);
    border-radius: var(--rb-ui-radius-md);
  }
  .page-slug-mitgliedsantrag .rb-lifetime-form .form-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: var(--rb-ui-space-3);
  }
  .page-slug-mitgliedsantrag .rb-lifetime-form .form-row-full {
    grid-column: 1 !important;
  }
  .page-slug-mitgliedsantrag .rb-form-submit-row {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    align-items: stretch;
  }
  .page-slug-mitgliedsantrag .rb-form-submit-row .btn {
    width: 100%;
    min-height: 48px;
  }
  .page-slug-mitgliedsantrag .rb-form-submit-row .help {
    max-width: none;
    text-align: left;
  }
}


/* v1393 – Aufgaben-Popover gewinnt sicher gegen die Suchleiste.
   Nur die Stapelreihenfolge wird korrigiert; Geometrie und Bedienung bleiben unverändert. */
body.admin-page .rb-admin-global-search {
  z-index: 40 !important;
}
body.admin-page .admin-top-actions {
  position: relative !important;
  z-index: 80 !important;
}
body.admin-page .rb-admin-notifications {
  position: relative !important;
  z-index: 90 !important;
}
body.admin-page .rb-admin-notifications-popover {
  z-index: 1200 !important;
}

/* v1396 – Mitgliedsantrag: Light-Parität robust bis in mobile Chromium/WebView.
 * Keine neue Komponente: dieselben Formularmerkmale wie im Dark-Theme, nur mit
 * klaren Light-Tokens. Die zusätzliche innere Kontur verhindert, dass native
 * Mobile-Formdarstellung die sichtbare Border optisch verschluckt. */
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-application-shell {
  border: 1px solid var(--rb-ui-border-strong) !important;
  background: var(--rb-ui-surface) !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-public-form-head > p,
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-form-submit-row .help {
  color: var(--rb-ui-text-secondary) !important;
  -webkit-text-fill-color: var(--rb-ui-text-secondary) !important;
  opacity: 1 !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-public-form-head > .badge {
  border-color: color-mix(in srgb, var(--rb-ui-brand) 48%, var(--rb-ui-border)) !important;
  background: var(--rb-ui-brand-soft) !important;
  color: color-mix(in srgb, var(--rb-ui-brand) 78%, var(--rb-ui-text)) !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form fieldset {
  border: 2px solid var(--rb-ui-border) !important;
  background: var(--rb-ui-surface-2) !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form legend,
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form .form-row > label,
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form > fieldset > .rb-check-row {
  color: var(--rb-ui-text-strong) !important;
  -webkit-text-fill-color: var(--rb-ui-text-strong) !important;
  opacity: 1 !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form legend small {
  color: var(--rb-ui-text-secondary) !important;
  -webkit-text-fill-color: var(--rb-ui-text-secondary) !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
) {
  box-sizing: border-box !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-color: #5f707c !important;
  background: #ffffff !important;
  color: #111920 !important;
  -webkit-text-fill-color: #111920 !important;
  opacity: 1 !important;
  box-shadow: inset 0 0 0 1px rgba(57,73,84,.10), 0 2px 7px rgba(17,25,32,.055) !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="date"]) {
  -webkit-appearance: none !important;
  appearance: none !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus,
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus-visible {
  border-color: var(--rb-ui-brand) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--rb-ui-brand) 16%,transparent), 0 3px 10px rgba(17,25,32,.07) !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form .rb-check-row input[type="checkbox"] {
  border: 2px solid #5f707c !important;
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(57,73,84,.08) !important;
}
html[data-rb-theme="light"] body main.page-slug-mitgliedsantrag .rb-lifetime-form .rb-check-row input[type="checkbox"]:checked {
  border-color: var(--rb-ui-brand) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--rb-ui-brand) 13%,transparent) !important;
}

/* v1416 – Nachrichtensystem: finaler Feinschliff auf dem gemeinsamen Admin-Workspace. */
.rb-message-ui-v1416{--rb-msg-surface:var(--rb-ui-surface);--rb-msg-soft:var(--rb-ui-surface-2);--rb-msg-border:var(--rb-ui-border);--rb-msg-text:var(--rb-ui-text-strong);--rb-msg-muted:var(--rb-ui-text-secondary);display:grid!important;gap:var(--rb-ui-space-3)!important;min-width:0!important}
.rb-message-ui-v1416 .message-panel-full>.inbox-head{box-shadow:none!important}.rb-message-ui-v1416 .message-header-main-mailbox{box-shadow:none!important}.rb-message-ui-v1416 .chat-messages{min-height:280px!important;padding:16px 8px!important;gap:16px!important}.rb-message-ui-v1416 .chat-messages::before{content:""!important;position:absolute!important;inset:0!important;background:url('/assets/branding/logo-review.webp') center/min(32%,320px) auto no-repeat!important;opacity:.025!important;filter:grayscale(1)!important;pointer-events:none!important}.rb-message-ui-v1416 .chat-messages>*{position:relative!important;z-index:1!important}.rb-message-ui-v1416 :is(.chat-watermark,.chat-bg-logo){opacity:0!important}
.rb-message-ui-v1416 .chat-messages>.bubble{width:70%!important;min-width:70%!important;max-width:70%!important;padding:0!important;border:1px solid var(--rb-msg-border)!important;border-radius:var(--rb-ui-radius-lg)!important;background:var(--rb-msg-surface)!important;color:var(--rb-msg-text)!important;box-shadow:none!important}.rb-message-ui-v1416 .bubble.user{justify-self:start!important;border-top-left-radius:6px!important}.rb-message-ui-v1416 .bubble.admin{justify-self:end!important;border-color:color-mix(in srgb,var(--rb-ui-brand) 32%,var(--rb-msg-border))!important;border-top-right-radius:6px!important;background:color-mix(in srgb,var(--rb-ui-brand) 8%,var(--rb-msg-surface))!important}.rb-message-ui-v1416 .chat-messages>.bubble:is(.note,.forwarded){width:min(86%,900px)!important;min-width:0!important;max-width:min(86%,900px)!important;justify-self:center!important}.rb-message-ui-v1416 .bubble.note{background:color-mix(in srgb,var(--rb-ui-warning-soft) 64%,var(--rb-msg-surface))!important}.rb-message-ui-v1416 .bubble.forwarded{background:color-mix(in srgb,var(--rb-ui-info-soft) 64%,var(--rb-msg-surface))!important}.rb-message-ui-v1416 .bubble-head-subject-only{display:block!important;margin:0!important;padding:var(--rb-ui-space-4) var(--rb-ui-space-5)!important;border-bottom:1px solid var(--rb-msg-border)!important;background:color-mix(in srgb,var(--rb-ui-surface-3) 52%,transparent)!important}.rb-message-ui-v1416 .bubble-body.message-box-body{margin:0!important;padding:var(--rb-ui-space-5)!important;background:transparent!important}.rb-message-ui-v1416 .chat-meta{padding:0 var(--rb-ui-space-5) var(--rb-ui-space-4)!important;margin:0!important}
.rb-message-ui-v1416 .rb-message-toolbar-label{flex:1 0 100%!important;color:var(--rb-ui-text-meta)!important;font-size:.66rem!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important}.rb-message-ui-v1416 .message-toolbar-manage-group .rb-message-toolbar-label{text-align:right!important}.rb-message-ui-v1416 .rb-message-forward-open[aria-expanded=true]{background:var(--rb-ui-brand-soft)!important;border-color:color-mix(in srgb,var(--rb-ui-brand) 48%,var(--rb-msg-border))!important}
.rb-message-ui-v1416 .rb-message-forward-panel{width:100%!important;max-width:100%!important;margin:0 0 14px!important;padding:0!important;border:1px solid color-mix(in srgb,var(--rb-ui-brand) 38%,var(--rb-msg-border))!important;border-radius:var(--rb-ui-radius-lg)!important;background:var(--rb-msg-surface)!important;box-shadow:none!important;overflow:hidden!important}.rb-message-ui-v1416 .rb-message-forward-panel[hidden]{display:none!important}.rb-message-ui-v1416 .rb-message-forward-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 14px!important;border-bottom:1px solid var(--rb-msg-border)!important;background:linear-gradient(90deg,var(--rb-ui-brand-soft),transparent 58%)!important}.rb-message-ui-v1416 .rb-message-forward-head>div{display:grid!important;gap:3px!important}.rb-message-ui-v1416 .rb-message-forward-head small{color:var(--rb-msg-muted)!important}.rb-message-ui-v1416 .message-forward-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:14px!important}.rb-message-ui-v1416 .message-forward-inner label{display:grid!important;gap:6px!important;color:var(--rb-msg-muted)!important;font-size:.75rem!important;font-weight:800!important}.rb-message-ui-v1416 .message-forward-inner :is(input,textarea){width:100%!important;min-height:44px!important;border:1px solid var(--rb-ui-field-border)!important;background:var(--rb-ui-field-bg)!important;color:var(--rb-msg-text)!important}.rb-message-ui-v1416 :is(.message-forward-note,.message-forward-submit){grid-column:1/-1!important}.rb-message-ui-v1416 .message-forward-submit{justify-self:start!important}
.admin-page-messages .rb-message-ui-v1416 .rb-message-workflow-fold{margin:0 0 14px!important;border:1px solid var(--rb-msg-border)!important;border-radius:var(--rb-ui-radius-lg)!important;background:var(--rb-msg-surface)!important;overflow:hidden!important}.admin-page-messages .rb-message-ui-v1416 .rb-message-workflow-fold>summary{display:flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;padding:10px 14px!important;list-style:none!important;cursor:pointer!important;background:var(--rb-msg-soft)!important}.admin-page-messages .rb-message-ui-v1416 .rb-message-workflow-fold>summary small{margin-left:auto!important;color:var(--rb-ui-text-meta)!important}.admin-page-messages .rb-message-ui-v1416 .rb-message-workflow-fold-body{padding:12px!important;border-top:1px solid var(--rb-msg-border)!important}.admin-page-messages .rb-message-ui-v1416 .message-admin-workflow-grid{margin:0!important;gap:12px!important}.admin-page-messages .rb-message-ui-v1416 .message-workflow-card{background:var(--rb-msg-soft)!important;border-color:var(--rb-msg-border)!important;box-shadow:none!important}
.rb-message-ui-v1416 .rb-message-composer{display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.rb-message-ui-v1416 .rb-message-composer::before{display:none!important;content:none!important}.rb-message-ui-v1416 .rb-message-composer-body{display:grid!important;gap:12px!important;width:100%!important;margin:0!important;padding:16px!important;border:1px solid var(--rb-msg-border)!important;border-radius:var(--rb-ui-radius-lg)!important;background:var(--rb-msg-surface)!important;box-shadow:none!important}.rb-message-ui-v1416 .rb-message-composer.is-note-mode .rb-message-composer-body{border-color:color-mix(in srgb,var(--rb-ui-warning) 48%,var(--rb-msg-border))!important;background:color-mix(in srgb,var(--rb-ui-warning-soft) 36%,var(--rb-msg-surface))!important}.rb-message-ui-v1416 .rb-message-composer-head{display:flex!important;justify-content:space-between!important;gap:12px!important;padding-bottom:12px!important;border-bottom:1px solid var(--rb-msg-border)!important}.rb-message-ui-v1416 .rb-message-composer-head>div{display:grid!important;gap:3px!important}.rb-message-ui-v1416 .rb-message-composer-head small{color:var(--rb-msg-muted)!important}.rb-message-ui-v1416 .rb-message-composer-mode{align-self:start!important;padding:5px 9px!important;border:1px solid color-mix(in srgb,var(--rb-ui-info) 35%,var(--rb-msg-border))!important;border-radius:999px!important;background:var(--rb-ui-info-soft)!important;color:var(--rb-ui-info)!important;font-size:.68rem!important;font-weight:900!important;white-space:nowrap!important}.rb-message-ui-v1416 .is-note-mode .rb-message-composer-mode{border-color:var(--rb-ui-warning)!important;background:var(--rb-ui-warning-soft)!important;color:var(--rb-ui-warning)!important}.rb-message-ui-v1416 .reply-tools-grid{margin:0!important;padding:0!important;border:0!important}.rb-message-ui-v1416 .quick-reply-box{padding:10px!important;border:1px solid var(--rb-msg-border)!important;border-radius:var(--rb-ui-radius-md)!important;background:var(--rb-msg-soft)!important}.rb-message-ui-v1416 .quick-reply-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.rb-message-ui-v1416 .quick-reply-btn{min-height:34px!important;padding:7px 10px!important;border:1px solid var(--rb-msg-border)!important;border-radius:999px!important;background:var(--rb-msg-surface)!important;color:var(--rb-msg-muted)!important}.rb-message-ui-v1416 .rb-message-composer-body>textarea{min-height:150px!important;border-color:var(--rb-ui-field-border)!important;background:var(--rb-ui-field-bg)!important;color:var(--rb-msg-text)!important}.rb-message-ui-v1416 .reply-note-toggle{padding:9px 11px!important;border:1px solid var(--rb-msg-border)!important;border-radius:var(--rb-ui-radius-sm)!important;background:var(--rb-msg-soft)!important;color:var(--rb-msg-muted)!important}
@media(max-width:980px){.rb-message-ui-v1416 .chat-messages>.bubble:is(.user,.admin){width:82%!important;min-width:82%!important;max-width:82%!important}.rb-message-ui-v1416 .message-toolbar-manage-group{justify-content:flex-start!important}.rb-message-ui-v1416 .message-toolbar-manage-group .rb-message-toolbar-label{text-align:left!important}}
@media(max-width:720px){.rb-message-ui-v1416 .chat-messages{padding:10px 0!important;gap:12px!important}.rb-message-ui-v1416 .chat-messages>.bubble:is(.user,.admin){width:92%!important;min-width:92%!important;max-width:92%!important}.rb-message-ui-v1416 .chat-messages>.bubble:is(.note,.forwarded){width:100%!important;max-width:100%!important}.rb-message-ui-v1416 .message-toolbar-group{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.rb-message-ui-v1416 .message-toolbar-group :is(form,.btn){width:100%!important}.rb-message-ui-v1416 .message-forward-inner{grid-template-columns:1fr!important;padding:12px!important}.rb-message-ui-v1416 :is(.message-forward-note,.message-forward-submit){grid-column:1!important;width:100%!important}.rb-message-ui-v1416 .rb-message-forward-head{align-items:flex-start!important}.rb-message-ui-v1416 .rb-message-composer-body{padding:12px!important}.rb-message-ui-v1416 .rb-message-composer-head{display:grid!important}.rb-message-ui-v1416 .rb-message-composer-mode{justify-self:start!important}.rb-message-ui-v1416 .quick-reply-actions{display:grid!important;grid-template-columns:1fr!important}.rb-message-ui-v1416 .quick-reply-btn,
.rb-message-ui-v1416 .reply-note-toggle,
.rb-message-ui-v1416 .reply-send-panel>.btn{width:100%!important;max-width:none!important}}

/* v1419 – einheitliche Admin-Grundsprache.
 * Ziel: gleiche Oberflächen-Hierarchie in allen Verwaltungsmodulen, ohne
 * fachliche Spezialzustände oder das v1418-Nachrichtendesign zu übermalen. */
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main{
  --rb-admin-panel-bg:var(--rb-ui-surface);
  --rb-admin-panel-soft:var(--rb-ui-surface-2);
  --rb-admin-panel-line:var(--rb-ui-border);
  --rb-admin-panel-line-strong:var(--rb-ui-border-strong);
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(
  .admin-card,.section-card,.settings-card,.admin-list-card,.compact-card,.toggle-card,.rb-info-box
){
  color:var(--rb-ui-text)!important;
  border-color:var(--rb-admin-panel-line)!important;
  background:var(--rb-admin-panel-bg)!important;
  box-shadow:none!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.list-card,.rb-admin-workspace-group){
  color:var(--rb-ui-text)!important;
  border-color:var(--rb-admin-panel-line)!important;
  background:var(--rb-admin-panel-soft)!important;
  box-shadow:none!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(
  .admin-card,.section-card,.settings-card,.admin-list-card,.compact-card,.toggle-card,.list-card,.rb-info-box
){
  border-radius:var(--rb-ui-radius-md)!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.admin-card,.section-card,.settings-card) > .section-head:first-child{
  margin-bottom:var(--rb-ui-space-4)!important;
  padding-bottom:var(--rb-ui-space-3)!important;
  border-bottom:1px solid color-mix(in srgb,var(--rb-admin-panel-line) 78%,transparent)!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main .section-head h2{
  color:var(--rb-ui-text-strong)!important;
  font-size:1.03rem!important;
  line-height:1.3!important;
  letter-spacing:-.01em!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.section-sub,.help,.form-hint,small,.muted){
  color:var(--rb-ui-muted)!important;
  opacity:1!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea
){
  min-height:42px!important;
  border:1px solid var(--rb-ui-field-border)!important;
  border-radius:var(--rb-ui-radius-sm)!important;
  background:var(--rb-ui-field-bg)!important;
  color:var(--rb-ui-text)!important;
  box-shadow:none!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main textarea{min-height:96px!important}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea
):focus,
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea
):focus-visible{
  border-color:var(--rb-ui-brand)!important;
  outline:0!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rb-ui-brand) 16%,transparent)!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.btn,.btn-soft,.btn-dark,.btn-secondary,.btn-ghost,.btn-primary,.btn-danger,.btn-warning){
  min-height:40px!important;
  border-radius:var(--rb-ui-radius-sm)!important;
  box-shadow:none!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.btn-soft,.btn-dark,.btn-secondary,.btn-ghost){
  color:var(--rb-ui-text)!important;
  border-color:var(--rb-ui-border)!important;
  background:var(--rb-ui-surface-2)!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.btn-soft,.btn-dark,.btn-secondary,.btn-ghost):hover,
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.btn-soft,.btn-dark,.btn-secondary,.btn-ghost):focus-visible{
  border-color:var(--rb-ui-border-strong)!important;
  background:var(--rb-ui-hover)!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.table-wrap,.admin-table-wrap){
  border:1px solid var(--rb-ui-border)!important;
  border-radius:var(--rb-ui-radius-md)!important;
  background:var(--rb-ui-surface)!important;
  box-shadow:none!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.table,.admin-table) th{
  color:var(--rb-ui-text-secondary)!important;
  background:var(--rb-ui-surface-2)!important;
  border-color:var(--rb-ui-border)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.table,.admin-table) td{
  color:var(--rb-ui-text)!important;
  border-color:color-mix(in srgb,var(--rb-ui-border) 72%,transparent)!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(.table,.admin-table) tbody tr:hover{
  background:var(--rb-ui-hover)!important;
}
body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main > :is(
  .admin-card,.section-card,details.admin-collapse-card,details.rb-admin-collapse,form.admin-card,.rb-admin-workspace,.card-grid
) + :is(
  .admin-card,.section-card,details.admin-collapse-card,details.rb-admin-collapse,form.admin-card,.rb-admin-workspace,.card-grid
){
  margin-top:var(--rb-ui-space-4)!important;
}

/* Navigation: Gruppen dienen der Orientierung, nicht als zusätzliche Kastenebene. */
@media(min-width:981px){
  body.admin-page .admin-menu-grouped .admin-menu-section{
    padding:8px 0!important;
    border:0!important;
    border-top:1px solid color-mix(in srgb,var(--rb-ui-border) 64%,transparent)!important;
    border-radius:0!important;
    background:transparent!important;
  }
  body.admin-page .admin-menu-grouped .admin-menu-section:first-child{border-top:0!important;padding-top:0!important}
  body.admin-page .admin-menu-grouped .admin-menu-section-title{padding:2px 8px 6px!important}
  body.admin-page .admin-menu-grouped .admin-menu-section a{border-radius:10px!important}
}

html[data-rb-theme="light"] body.admin-page:not(.admin-page-messages):not(.admin-page-profile) .admin-main :is(
  .admin-card,.section-card,.settings-card,.admin-list-card,.compact-card,.toggle-card,.list-card,.rb-info-box
){
  box-shadow:none!important;
}


/* v1420 – einheitlicher Seitenrahmen, ruhige Innenabstände und Touch-Sicherheit.
 * Der äußere Content-Rahmen jeder öffentlichen CMS-Seite folgt exakt dem Hero.
 * Innere Textbreiten dürfen weiterhin bewusst lesefreundlich begrenzt sein. */
html body main.site-main{
  --rb-public-frame-max:var(--max,1220px);
  --rb-public-frame-gutter:32px;
}
html body main.site-main > .rb-managed-hero > .container,
html body main.site-main > .section > .container.rb-managed-content,
html body main.site-main.page-slug-home > .rb-home-hero-section > .container,
html body main.site-main.page-slug-home > :is(.section,.services-section,.home-contact-section,.home-newsletter-section) > .container{
  box-sizing:border-box!important;
  width:min(var(--rb-public-frame-max),calc(100% - var(--rb-public-frame-gutter)))!important;
  max-width:var(--rb-public-frame-max)!important;
  margin-inline:auto!important;
}
html body main.site-main.page-slug-home > :is(.rb-home-hours,.rb-home-gallery-preview) > .container{
  box-sizing:border-box!important;
  width:min(var(--rb-public-frame-max),calc(100% - var(--rb-public-frame-gutter)))!important;
  max-width:var(--rb-public-frame-max)!important;
  margin-inline:auto!important;
}
html body main.site-main > .rb-managed-hero > .container > .hero-card,
html body main.site-main > .section > .container.rb-managed-content > :where(div,section,article,form,details){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
}
/* Einheitliche Touch-Semantik reduziert zusätzlich verzögerte/sekundäre Browser-Klicks. */
html body :where(button,summary,a[href],[role="button"],[role="link"]){touch-action:manipulation}

/* Nachrichtendetails: auf kleinen Displays nie Text/Metadaten direkt am Kartenrand. */
@media(max-width:720px){
  .rb-message-ui-v1416 .bubble-head-subject-only{padding:14px 18px!important}
  .rb-message-ui-v1416 .bubble-body.message-box-body{padding:18px!important}
  .rb-message-ui-v1416 .chat-meta{padding:0 18px 14px!important}
  html body main.site-main{--rb-public-frame-gutter:24px}
}


body.admin-page .admin-main :where(input,select,textarea)[aria-invalid="true"],
body.admin-page .admin-main :where(input,select,textarea).is-invalid{border-color:color-mix(in srgb,var(--rb-ui-danger) 72%,var(--rb-ui-field-border))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rb-ui-danger) 14%,transparent)!important}body.admin-page .admin-main :where(.field-error,.form-error,.rb-field-error){display:block;margin-top:var(--rb-ui-space-1);color:var(--rb-ui-danger);font-size:.76rem;font-weight:750;line-height:1.4}body.admin-page .admin-main :where(.form-grid,.settings-grid,.rb-form-grid){row-gap:max(var(--rb-ui-space-3),12px)}body.admin-page :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid color-mix(in srgb,var(--rb-ui-focus) 72%,transparent)!important;outline-offset:2px!important}html body main.site-main :where(input,select,textarea)[aria-invalid="true"],
html body main.site-main :where(input,select,textarea).is-invalid{border-color:color-mix(in srgb,var(--rb-ui-danger) 72%,var(--rb-ui-field-border))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rb-ui-danger) 14%,transparent)!important}html body main.site-main :where(.field-error,.form-error,.rb-field-error){display:block;margin-top:var(--rb-ui-space-1);color:var(--rb-ui-danger);font-size:.78rem;font-weight:750;line-height:1.45}html body main.site-main>.section>.container.rb-managed-content>:first-child{margin-top:0}html body main.site-main>.section>.container.rb-managed-content>:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}html body *,
html body *::before,
html body *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ========================================================================== */
/* v1427 – Einheitliches UI: Plus oeffnet, Minus schliesst, ⓘ = Hilfe. */
/* ========================================================================== */
:root{--rb-ui-touch:44px;--rb-ui-control-radius:10px;--rb-ui-panel-radius:14px;--rb-ui-popover-width:340px;--rb-ui-row-height:46px;--rb-ui-disclosure-size:34px;--rb-ui-disclosure-size-sm:30px;--rb-ui-disclosure-radius:10px;--rb-ui-disclosure-line:16px;--rb-ui-disclosure-stroke:2px;}html[data-rb-theme="dark"],
html[data-rb-theme="light"]{--rb-ui-control-height:44px;--rb-ui-control-height-sm:36px;--rb-ui-card-padding:18px;--rb-ui-card-padding-compact:12px;--rb-ui-table-pad-y:10px;--rb-ui-table-pad-x:12px;}html body :is(.btn,.btn-primary,.btn-soft,.btn-dark,.btn-secondary,.btn-ghost,.btn-danger,.btn-warning){border-radius:var(--rb-ui-control-radius)!important;box-shadow:none!important;transform:none!important}html body :is(.section-card,.admin-card,.settings-card,.compact-card,.list-card,.toggle-card,.message-card,.member-card){border-radius:var(--rb-ui-panel-radius)!important;box-shadow:none!important}html body :is(.badge,.status-chip,.admin-nav-count){box-shadow:none!important}html body :where(button,a.btn,[role="button"],summary){min-height:var(--rb-ui-touch);-webkit-tap-highlight-color:transparent}html body.admin-page .admin-main details:not(.rb-info-tip):not(.rb-admin-notifications):not(.rb-coupon-package)>summary:not(.rb-action-summary),
html body main.site-main details:not(.rb-info-tip)>summary{list-style:none!important;position:relative!important}html body.admin-page .admin-main details:not(.rb-info-tip):not(.rb-admin-notifications):not(.rb-coupon-package)>summary:not(.rb-action-summary){padding-right:60px!important}html body main.site-main .faq-item>.faq-question{padding-right:60px!important}@media(max-width:980px){}html body .rb-add-plus{display:inline-grid!important;place-items:center!important;width:18px!important;height:18px!important;flex:0 0 18px!important}.rb-admin-title-line{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}.rb-admin-title-line>.admin-title{min-width:0!important}html body.admin-page .admin-main .rb-admin-title-line>.rb-admin-page-info{margin:0!important;flex:0 0 auto!important}html body :is(.notice,.rb-info-box,.faq-note,.rb-feedback){border-radius:12px!important;box-shadow:none!important}html body :is(.notice,.rb-info-box,.faq-note) :where(p:last-child,ul:last-child){margin-bottom:0!important}body.admin-page .admin-main :where(.table-wrap,.admin-table-wrap,.rb-finance-table-wrap){overflow:auto!important;overscroll-behavior-inline:contain!important;-webkit-overflow-scrolling:touch!important;border-radius:12px!important}body.admin-page .admin-main table{border-collapse:collapse!important;width:100%!important}body.admin-page .admin-main table th{font-size:.74rem!important;line-height:1.25!important;font-weight:850!important;letter-spacing:.02em!important;white-space:nowrap!important}body.admin-page .admin-main table td{line-height:1.4!important}body.admin-page .admin-main table :is(th,td){padding:var(--rb-ui-table-pad-y) var(--rb-ui-table-pad-x)!important}body.admin-page .admin-main table tbody tr+tr td{border-top:1px solid color-mix(in srgb,var(--rb-ui-border) 72%,transparent)!important}html body main.site-main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea),
body.admin-page .admin-main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){border-radius:var(--rb-ui-control-radius)!important;box-shadow:none!important}html body main.site-main :where(.form-row,.rb-form-row),
body.admin-page .admin-main :where(.form-row,.rb-form-row){gap:7px!important}html body main.site-main :where(label,.form-label),
body.admin-page .admin-main :where(label,.form-label){line-height:1.3!important}body.admin-page .admin-main :where(.section-head,.admin-section-head,.member-form-section-head),
html body main.site-main :where(.section-head,.rb-section-head){margin-bottom:14px!important}body.admin-page .admin-main :where(.section-head,.admin-section-head,.member-form-section-head) :where(h2,h3,h4),
html body main.site-main :where(.section-head,.rb-section-head) :where(h2,h3,h4){margin-top:0!important}html body .main-nav a{border-radius:var(--rb-ui-control-radius)!important;box-shadow:none!important}body.admin-page .admin-main :where(.section-head,.admin-section-head){display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}body.admin-page .admin-main :where(.section-head,.admin-section-head)>:first-child{min-width:0!important}body.admin-page .admin-main :where(.section-sub,.help,.form-hint){line-height:1.45!important}body.admin-page .admin-main :where(.form-actions,.admin-actions,.section-actions){display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important}body.admin-page .admin-main .rb-section-help-compacted{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;min-width:0!important}body.admin-page .admin-main .rb-section-help-compacted>:is(h2,h3,h4){margin:0!important}body.admin-page .admin-main .rb-section-help-compacted>.rb-section-info-tip{margin:0!important;flex:0 0 auto!important}html body.admin-page .admin-main details.rb-info-tip>summary{box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}@media(max-width:720px){:root{--rb-ui-card-padding:15px;--rb-ui-card-padding-compact:11px;--rb-ui-table-pad-y:9px;--rb-ui-table-pad-x:10px}.rb-ui-info-popover{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:18px!important;width:auto!important;max-width:none!important}.rb-admin-title-line{align-items:flex-start!important}.rb-admin-title-line>.admin-title{font-size:clamp(1.45rem,7vw,1.9rem)!important;line-height:1.12!important}body.admin-page .admin-main details:not(.rb-info-tip):not(.rb-admin-notifications):not(.rb-coupon-package)>summary:not(.rb-action-summary){min-height:50px!important;padding-right:56px!important}body.admin-page .admin-main details>summary small{max-width:100%!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}html body main.site-main .faq-item>.faq-question{min-height:50px!important;padding:13px 56px 13px 14px!important}body.admin-page .admin-main :where(.table-wrap,.admin-table-wrap,.rb-finance-table-wrap){border-radius:10px!important}body.admin-page .admin-main :where(.section-head,.admin-section-head){gap:10px!important;flex-direction:column!important}body.admin-page .admin-main :where(.form-actions,.admin-actions,.section-actions)>.btn{flex:1 1 180px!important}body.admin-page .rb-admin-info-popover{left:12px!important;right:12px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;max-height:min(48vh,390px)!important;border-radius:14px!important;font-size:13px!important}}
