:root{--auth-ink:#17223b;--auth-muted:#66738b;--auth-accent:#5069e8;--auth-border:#e4e9f2}
*{box-sizing:border-box}body.auth-body{margin:0;color:var(--auth-ink);background:#f7f9fd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,44%) 1fr}
.auth-intro{background:linear-gradient(145deg,#101d3a 0%,#1a3264 65%,#3147a0 100%);color:#fff;padding:clamp(32px,5vw,74px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-intro:after{content:"";position:absolute;width:450px;height:450px;border:1px solid #ffffff22;border-radius:50%;right:-230px;bottom:0;pointer-events:none}
.auth-brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:-.8px}.auth-brand:hover{color:white}
.auth-mark{display:grid;place-items:center;width:43px;height:43px;background:#ffffff22;border:1px solid #ffffff33;border-radius:12px;font-size:15px;letter-spacing:0}.auth-brand-accent{color:#9cb4ff}
.auth-intro-content{max-width:480px;padding:60px 0}.auth-eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;color:#9fb5fa}
.auth-intro h1{font-size:clamp(32px,3.5vw,54px);font-weight:780;letter-spacing:-1.9px;line-height:1.12;margin:22px 0}.auth-intro h1 em{font-style:normal;color:#a9baff}
.auth-intro-content p{font-size:16px;line-height:1.8;color:#d5dff6;margin-bottom:32px}.auth-feature{display:flex;align-items:center;gap:12px;margin:13px 0;font-size:14px;color:#e7edff}.auth-feature span{background:#ffffff24;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}
.auth-intro small{color:#b4c3e9}.auth-content{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;min-width:0}
.auth-panel{width:min(100%,440px)}.auth-mobile-brand{display:none}.auth-footer{margin:40px 0 0;font-size:12px;color:#9aa4b6}
.auth-kicker{display:inline-block;color:var(--auth-accent);font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:12px}
.auth-panel h1{font-size:clamp(28px,3vw,37px);font-weight:770;letter-spacing:-1.1px;margin:0 0 12px}.auth-subtitle{color:var(--auth-muted);line-height:1.65;margin-bottom:30px}
.auth-panel .form-floating{margin-bottom:17px}.auth-panel .form-control{border:1px solid var(--auth-border);border-radius:12px;min-height:56px;background:#fff}
.auth-panel .form-control:focus{border-color:#7188ee;box-shadow:0 0 0 4px #5069e820}.auth-panel .form-floating>label{color:#6d7890}
.auth-panel .btn-primary{background:#5069e8;border-color:#5069e8;border-radius:12px;min-height:52px;font-weight:700}.auth-panel .btn-primary:hover{background:#4057ce;border-color:#4057ce}
.auth-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:24px;font-size:14px}.auth-panel a{color:#425ed5;text-decoration:none;font-weight:600}.auth-panel a:hover{text-decoration:underline}
.auth-panel .text-danger{font-size:13px}.auth-panel .validation-summary-errors{background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:12px;margin-bottom:18px}
.auth-panel .form-check{margin:12px 0 20px}.auth-message{padding:20px;border:1px solid #dce8f6;background:#f2f7ff;border-radius:14px;line-height:1.7}.auth-message.success{border-color:#c6e8d7;background:#f0fbf5}
.auth-back{margin-top:24px;font-size:14px}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}.auth-content{min-height:100vh}.auth-mobile-brand{display:block;margin-bottom:40px;font-size:22px;font-weight:800}.auth-mobile-brand a{color:#17223b}}

/* Anmeldung über externe Anbieter (Google, Microsoft) */
.cf-social-form { display:grid; gap:.6rem; }
body .cf-social-button { display:flex; align-items:center; justify-content:center; gap:.7rem; width:100%; min-height:46px; padding:.6rem 1rem; background:#fff; color:#1f2937; border:1px solid #d1d5db; border-radius:12px; font-weight:600; font-size:15px; cursor:pointer; transition:background .15s, box-shadow .15s, border-color .15s; }
body .cf-social-button:hover { background:#f8fafc; border-color:#9ca3af; box-shadow:0 2px 8px rgba(15,23,42,.08); }
body .cf-social-button:focus-visible { outline:3px solid rgba(79,70,229,.35); outline-offset:2px; }

/* Kontakt-Einstellungen für Empfänger */
.cf-optout-card { border:1px solid #e5e7eb; border-radius:14px; padding:1rem 1.1rem; margin-bottom:.9rem; background:#fff; }
.cf-optout-card h2 { font-size:1.05rem; margin:0 0 .3rem; }
.cf-optout-card p { font-size:.9rem; color:#6b7280; margin-bottom:.7rem; }
.cf-optout-chosen { border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.15); }

.auth-lang { display:flex; justify-content:flex-end; margin-bottom:.6rem; }

/* Sprachumschalter (EN/DE) auf den Anmeldeseiten */
.auth-lang .cf-lang-switch { display:inline-flex; align-items:center; gap:2px; background:#eef0f6; border-radius:999px; padding:3px; margin:0; }
.auth-lang .cf-lang-switch button { border:0; background:transparent; color:#4b5563; font:inherit; font-size:12px; font-weight:700; line-height:1; padding:.4rem .75rem; border-radius:999px; cursor:pointer; min-height:0; box-shadow:none; }
.auth-lang .cf-lang-switch button.active { background:#fff; color:#1f2a44; box-shadow:0 1px 3px rgba(15,23,42,.15); }
.auth-lang .cf-lang-switch button:hover { color:#1f2a44; }
.auth-lang .cf-lang-switch button:focus-visible { outline:2px solid #2f5df5; outline-offset:1px; }
