.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;font-size:11px;line-height:1.6}.legal-links a{color:#6a7481;text-decoration:none}.legal-links a:hover{color:#b4001e;text-decoration:underline}.legal-links a:focus-visible,.legal-page a:focus-visible{outline:2px solid #b4001e;outline-offset:4px;border-radius:3px}.auth-card>.legal-links{padding-top:17px;margin-top:14px;border-top:1px solid #edf0f3}.portal-legal-footer{padding:22px 20px 30px;background:#ffffffeb}
.legal-page{margin:0;background:#f5f4f5;color:#252b34;font-family:Arial,Helvetica,sans-serif;line-height:1.75}.legal-page-header{max-width:960px;margin:0 auto;padding:26px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.legal-brand{color:#252b34;text-decoration:none;font-size:15px;font-weight:700;line-height:1.5}.legal-brand span{display:block;font-size:11px;color:#b4001e;letter-spacing:.08em;font-weight:600}.legal-back{font-size:12px;color:#b4001e;text-decoration:none}.legal-content{box-sizing:border-box;max-width:860px;margin:10px auto 0;padding:42px 48px;background:#fff;border:1px solid #e7e4e7;border-top:4px solid #b4001e;border-radius:16px;box-shadow:0 10px 32px #22222206}.legal-eyebrow{font-size:10px;color:#b4001e;font-weight:700;letter-spacing:.12em}.legal-content h1{font-size:32px;line-height:1.3;margin:10px 0 34px;letter-spacing:-.025em}.legal-content h2{font-size:15px;line-height:1.5;margin:0 0 10px;font-weight:700}.legal-content section{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid #edf0f3}.legal-content p{font-size:14px;margin:0 0 14px}.legal-content p:last-child{margin-bottom:0}.legal-content a{color:#a30c28;overflow-wrap:anywhere}.legal-crosslink,.legal-placeholder{padding:20px;background:#fff5f7;border-radius:10px}.legal-page-footer{padding:30px 20px 40px}@media(max-width:640px){.legal-page-header{padding:20px;flex-wrap:wrap}.legal-content{margin:0 14px;padding:28px 22px}.legal-content h1{font-size:28px}.legal-links{gap:8px 14px}}

/* Public legal links stay visible above the login screen and portal views. */
body:not(.legal-page){padding-bottom:92px}
.auth-screen{box-sizing:border-box;padding-bottom:112px!important;overflow-y:auto}
.portal-legal-footer{position:fixed;inset:auto 0 0;z-index:150;display:flex;align-items:center;justify-content:center;gap:20px;box-sizing:border-box;min-height:72px;padding:12px 20px;background:#fff;border-top:2px solid #b4001e;box-shadow:0 -6px 24px #0002}
.portal-version{font-size:11px;font-weight:700;color:#68717e;white-space:nowrap}
.portal-legal-footer .legal-links{gap:8px;font-size:14px}
.portal-legal-footer .legal-links a{display:block;padding:9px 14px;border:1px solid #e7c4cb;border-radius:9px;background:#fff5f7;color:#9a102a;font-weight:700}
.portal-legal-footer .legal-links a:hover{background:#b4001e;color:#fff}
.auth-card>.legal-links{font-size:13px;font-weight:700}
.auth-card>.legal-links a{color:#9a102a}
@media(max-width:600px){.portal-legal-footer{flex-direction:column;gap:5px;padding:8px;min-height:84px}.portal-legal-footer .legal-links{gap:5px;font-size:12px}.portal-legal-footer .legal-links a{padding:8px}.auth-screen{padding-bottom:112px!important}.portal-version{font-size:10px}}

.legal-prominent{font-size:14px;font-weight:700;padding:14px 0;margin:0 0 16px;gap:10px 18px}.legal-prominent a{color:#9a102a;text-decoration:underline;text-underline-offset:3px}.portal-legal-header{position:relative;z-index:2;background:#fff;border-bottom:1px solid #eadde0;padding:0 20px}.portal-legal-header .legal-prominent{margin:0;min-height:48px;align-items:center;box-sizing:border-box}.auth-card>.legal-prominent{padding:0 0 16px;margin:0 0 20px;border-top:0;border-bottom:1px solid #eadde0}

/* High-contrast legal buttons on login and inside the portal. */
body:not(.legal-page) .legal-links{display:flex!important;visibility:visible!important;opacity:1!important;flex-wrap:wrap;gap:8px!important}
body:not(.legal-page) .legal-links a{display:inline-flex!important;align-items:center;justify-content:center;visibility:visible!important;opacity:1!important;color:#fff!important;background:#8f0923!important;border:2px solid #8f0923!important;border-radius:8px!important;padding:10px 14px!important;font-size:14px!important;font-weight:800!important;line-height:1.4!important;text-decoration:none!important;min-height:40px;box-sizing:border-box}
body:not(.legal-page) .legal-links a:hover{background:#61051a!important;border-color:#61051a!important}
body:not(.legal-page) .legal-links a:focus-visible{outline:3px solid #111!important;outline-offset:3px!important}
.portal-legal-header,.portal-legal-footer{background:#fff!important}
@media(max-width:600px){body:not(.legal-page) .legal-links a{padding:9px 10px!important;font-size:12px!important}}

/* v296: one legal navigation and a consistent dark login. */
.auth-card{background:rgba(22,26,33,.97)!important;border:1px solid #39404b!important;box-shadow:0 24px 64px #0006!important;border-radius:22px!important;padding:34px!important;color:#f5f6f8!important}
.auth-card h1{color:#fff!important;font-size:36px!important;line-height:1.15!important;margin:0 0 28px!important;letter-spacing:-.03em}
.auth-card .auth-form label{color:#e7eaf0!important;font-size:12px!important}
.auth-card .auth-form input{color:#fff!important;background:#10141b!important;border:1px solid #46505d!important;border-radius:10px!important;padding:13px 14px!important}
.auth-card .auth-form input:focus{outline:2px solid #e04961;outline-offset:2px}
.auth-card .auth-link{color:#f092a3!important;font-size:12px!important;padding:8px}
.auth-card .auth-admin-note{color:#acb5c2!important;border-color:#39404b!important;line-height:1.6;font-size:11px!important}
.auth-card .auth-message{color:#ffa1b0!important;font-size:12px!important;line-height:1.5}
.auth-card .auth-message.success{color:#95e7b1!important}
.portal-legal-footer{background:#12161d!important;border-top:1px solid #39404b!important;box-shadow:0 -8px 24px #0003!important}
.portal-version{color:#acb5c2!important}
body:not(.legal-page) .portal-legal-footer .legal-links a{color:#f2f4f8!important;background:#202630!important;border:1px solid #46505d!important;font-weight:600!important;font-size:13px!important}
body:not(.legal-page) .portal-legal-footer .legal-links a:hover{background:#8f0923!important;border-color:#bf2845!important}
body:not(.legal-page) .portal-legal-footer .legal-links a:focus-visible{outline-color:#fff!important}
.legal-page{background:#10141b;color:#e8ecf2}
.legal-brand{color:#fff}.legal-brand span,.legal-back{color:#f092a3}
.legal-content{background:#1b212b;border-color:#39404b;border-top-color:#bc2444;box-shadow:0 12px 40px #0003}
.legal-content section{border-color:#39404b}.legal-content a,.legal-eyebrow{color:#f092a3}
.legal-crosslink,.legal-placeholder{background:#29222c}.legal-page-footer .legal-links a{color:#cdd4df}
@media(max-width:600px){.auth-card{padding:26px 22px!important}.auth-card h1{font-size:30px!important}body:not(.legal-page) .portal-legal-footer .legal-links a{font-size:12px!important}}

/* Rechtliche Seiten bleiben über der aktuellen Portalansicht geöffnet. */
.legal-dialog{width:min(960px,calc(100vw - 24px));height:min(850px,calc(100dvh - 32px));max-width:none;max-height:none;padding:0;border:1px solid #575757;border-radius:16px;background:#171719;color:#fff;box-shadow:0 24px 80px #0009}
.legal-dialog[open]{display:flex;flex-direction:column}
.legal-dialog::backdrop{background:#000b}
.legal-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #454545}
.legal-dialog-header button{border:1px solid #777;border-radius:9px;padding:9px 12px;background:#303034;color:white;cursor:pointer}
.legal-dialog iframe{flex:1;min-height:0;width:100%;border:0;background:#171719}
