/* Beta-Leiste, Zustimmungsdialog (E12) – funktioniert mit Hell- und Dunkelmodus der Seiten */
.beta-bar {
  display: flex; align-items: center; gap: 10px; padding: 4px 14px;
  background: #1D4F91; color: #EAF1FB; border-bottom: 1px solid #12305C;
  font: 12.5px/1.35 system-ui, sans-serif; position: relative; z-index: 5;
}
:root:not([data-theme="light"]) .beta-bar { background: #DCE7F7; color: #0B1D38; border-bottom-color: #9DB7DD; }
:root:not([data-theme="light"]) .beta-bar-tag { background: #12305C; color: #fff; }
.beta-bar-tag { font-weight: 700; letter-spacing: .06em; font-size: 11px; padding: 1px 6px; border-radius: 4px; background: #fff; color: #12305C; }
.beta-bar-short { display: none; }
.beta-bar-link { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; white-space: nowrap; }
@media (max-width: 640px) {
  .beta-bar-long { display: none; }
  .beta-bar-short { display: inline; flex: 1; }
}
.login-beta { font-size: 13px; text-align: center; margin: 10px 0 0; color: #12305C; background: #E6EDF8; border-radius: 8px; padding: 8px 10px; }

.pay-beta { margin: 8px 0 12px; padding: 10px 12px; border: 1px solid #C3CFE2; background: #E6EDF8; color: #12305C; border-radius: 8px; font-size: 13.5px; }
:root:not([data-theme="light"]) .pay-beta, [data-theme="dark"] .login-beta { background: #12305C; color: #DCE7F7; border-color: #1D4F91; }
.pay-beta p { margin: 0 0 8px; }

.legal-overlay { position: fixed; inset: 0; z-index: 10000; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; padding: 12px; }
.legal-card { background: #fff; color: #1b1f24; width: min(720px, 100%); max-height: 100%; display: flex; flex-direction: column; border-radius: 12px; padding: 18px 18px 14px; box-shadow: 0 10px 40px rgba(0,0,0,.35); }
:root:not([data-theme="light"]) .legal-card { background: #0B1F3D; color: #E6EDF8; border: 1px solid #1D4F91; }
:root:not([data-theme="light"]) .legal-card h2, :root:not([data-theme="light"]) .legal-doc h3 { color: #fff; }
:root:not([data-theme="light"]) .legal-scroll { scrollbar-color: #1D4F91 #0B1F3D; }
:root:not([data-theme="light"]) .legal-status { background: #3a1f24; color: #f0b8b8; }
:root:not([data-theme="light"]) .legal-btn.secondary { background: #12305C; color: #E6EDF8; }
:root:not([data-theme="light"]) .legal-btn:not(.secondary) { background: #3A7BD5; color: #fff; }
:root:not([data-theme="light"]) .legal-error { color: #ff8a8a; }
.legal-card h2 { margin: 0 0 10px; font-size: 18px; }
.legal-scroll { overflow-y: auto; flex: 1; padding-right: 4px; font-size: 14px; line-height: 1.5; }
.legal-doc h3 { font-size: 14.5px; margin: 14px 0 4px; }
.legal-doc p, .legal-doc ul { margin: 4px 0; }
.legal-status { background: #fde8e8; color: #7a1c1c; padding: 6px 8px; border-radius: 6px; font-size: 12.5px; }
.legal-note { font-size: 12.5px; opacity: .8; }
.legal-checks { margin: 14px 0 6px; display: grid; gap: 8px; }
.legal-check { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.legal-check input { margin-top: 3px; flex: none; }
.legal-error { color: #b00020; font-size: 13px; min-height: 1em; margin: 6px 0 0; }
.legal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.legal-btn { border: 0; border-radius: 8px; padding: 9px 18px; font-size: 14px; cursor: pointer; background: #1f4f8f; color: #fff; }
.legal-btn.secondary { background: #e3e7ec; color: #1b1f24; }
.legal-btn:disabled { opacity: .45; cursor: not-allowed; }

.beta-bar-top { position: fixed; top: 0; left: 0; right: 0; }

/* Pilot-Störer: Blau passend zur Oberfläche; im Dunkelmodus hell abgesetzt */
.beta-bar.pilot { background: #1D4F91; color: #fff; font-weight: 600; }
.beta-bar.pilot .beta-bar-tag { background: #fff; color: #12305C; }
.beta-bar.pilot .beta-bar-link { color: #fff; }
:root:not([data-theme="light"]) .beta-bar.pilot, [data-theme="dark"] .beta-bar.pilot { background: #DCE7F7; color: #0B1D38; }
:root:not([data-theme="light"]) .beta-bar.pilot .beta-bar-tag { background: #12305C; color: #fff; }
:root:not([data-theme="light"]) .beta-bar.pilot .beta-bar-link { color: #0B1D38; }
/* Pilot-Banderole: senkrechte Spalte am rechten Rand, Klick öffnet die Nutzungserklärung */
.pilot-ribbon { position: fixed; top: 56px; bottom: 130px; right: 0; display: flex; pointer-events: none; z-index: 9000; }
.pilot-ribbon-btn {
  pointer-events: auto; cursor: pointer; border: 0; padding: 14px 12px; text-align: center; justify-content: center; align-items: center;
  writing-mode: vertical-rl; display: flex; flex-direction: row; gap: 10px; line-height: 1.15;
  background: repeating-linear-gradient(135deg, #1D4F91 0 12px, #12305C 12px 24px);
  color: #fff; font-family: system-ui, sans-serif; border-radius: 8px 0 0 8px;
  box-shadow: -2px 2px 8px rgba(0,0,0,.35); border-left: 1px dashed rgba(255,255,255,.7);
}
.pilot-ribbon-main { font-weight: 800; font-size: 24px; letter-spacing: .16em; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.pilot-ribbon-sub { font-weight: 600; font-size: 16px; letter-spacing: .04em; text-shadow: 0 1px 2px rgba(0,0,0,.5); align-self: center; }
.pilot-ribbon-btn:hover { filter: brightness(1.12); }
:root:not([data-theme="light"]) .pilot-ribbon-btn, [data-theme="dark"] .pilot-ribbon-btn { background: repeating-linear-gradient(135deg, #DCE7F7 0 12px, #BFD3EE 12px 24px); color: #0B1D38; border-left-color: rgba(11,29,56,.5); }
:root:not([data-theme="light"]) .pilot-ribbon-main, :root:not([data-theme="light"]) .pilot-ribbon-sub, [data-theme="dark"] .pilot-ribbon-main, [data-theme="dark"] .pilot-ribbon-sub { text-shadow: none; }
@media (max-width: 640px) { .pilot-ribbon-btn { padding: 10px 5px; } .pilot-ribbon-main { font-size: 14px; letter-spacing: .14em; } .pilot-ribbon-sub { display: none; } }
.login-beta.pilot { background: #E6EDF8; color: #12305C; border: 1px solid #1D4F91; font-weight: 600; }
[data-theme="dark"] .login-beta.pilot { background: #DCE7F7; color: #0B1D38; }
