/* Eigenständiger Anmeldebereich; keine Änderungen an der Anwendungsnavigation. */
.auth-page { margin: 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: #f4f3ee; color: #1f2927; }
.auth-page *, .auth-page *::before, .auth-page *::after { box-sizing: border-box; }
.auth-brandbar { display: flex; align-items: center; gap: 32px; padding: 36px clamp(24px, 6vw, 96px); }
.auth-centralis-logo { width: clamp(240px, 32vw, 440px); height: auto; }
.auth-wpb-logo { width: clamp(130px, 17vw, 230px); height: auto; mix-blend-mode: multiply; }
.auth-brand-divider { width: 1px; height: 86px; flex-shrink: 0; background: #b9c8be; }
.auth-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: clamp(40px, 7vw, 112px); width: min(1200px, 100%); margin: auto; padding: 40px 40px 64px; }
.auth-intro { padding: 20px 0; }
.auth-eyebrow { color: #50675b; font-size: 11px; font-weight: 700; letter-spacing: .15em; margin: 0 0 24px; }
.auth-intro h1 { font-size: clamp(36px, 4.1vw, 56px); font-weight: 650; line-height: 1.12; letter-spacing: -.045em; color: #214f3b; margin: 0 0 24px; }
.auth-intro-copy { font-size: 17px; line-height: 1.7; color: #596964; margin: 0; }
.auth-card { min-width: 0; background: #fff; border: 1px solid #d5ded7; border-top: 4px solid #214f3b; border-radius: 16px; padding: clamp(24px, 4vw, 46px); box-shadow: 0 18px 65px rgba(31, 77, 57, .07); overflow-wrap: anywhere; }
.auth-card-label { display: flex; align-items: center; gap: 9px; color: #596964; font-size: 10px; font-weight: 700; letter-spacing: .14em; margin-bottom: 28px; }
.auth-card-label span { width: 7px; height: 7px; background: #7ea38a; border-radius: 50%; }
.auth-card h1, .auth-card h2 { color: #214f3b; font-size: 28px; font-weight: 650; line-height: 1.2; letter-spacing: -.025em; margin: 0 0 14px; }
.auth-card h3 { font-size: 19px; }
.auth-card p { color: #596964; font-size: 14px; line-height: 1.6; margin: 0 0 24px; }
.auth-card a { color: #214f3b; text-underline-offset: 3px; }
.auth-fields { margin: 28px 0 24px; }
.auth-fields > div { margin-bottom: 20px; }
.auth-fields label, .auth-fields legend { display: block; font-size: 13px; font-weight: 650; margin-bottom: 8px; }
.auth-fields input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .auth-fields select, .auth-fields textarea { display: block; width: 100%; min-width: 0; min-height: 48px; border: 1px solid #b9c8be; background: #fcfcfa; color: #1f2927; border-radius: 8px; padding: 12px 14px; font: inherit; font-size: 16px; }
.auth-fields input[type=checkbox], .auth-fields input[type=radio] { accent-color: #214f3b; width: 18px; height: 18px; }
.auth-fields input[aria-invalid=true] { border-color: #a94f46; }
.auth-card :focus-visible { outline: 3px solid #2f6f50; outline-offset: 3px; }
.auth-card .btn, .auth-card button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid #b9c8be; border-radius: 8px; padding: 10px 16px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; background: #f4f3ee; color: #214f3b; text-decoration: none; margin: 4px 4px 4px 0; box-shadow: none; }
.auth-card .btn-primary { width: 100%; background: #214f3b; border-color: #214f3b; color: #fff; min-height: 48px; margin-top: 16px; }
.auth-card .btn-primary:hover { background: #173b2c; }
.auth-card button:disabled { color: #69756f; background: #f0f1ed; cursor: default; border-color: #d5ded7; }
.auth-card .btn-link { background: none; border-color: transparent; text-decoration: underline; }
.auth-card .errorlist, .auth-card .alert-danger { list-style: none; padding: 12px 14px; border: 1px solid #dfb4ae; border-radius: 8px; background: #fbe8e5; color: #873b34; font-size: 13px; }
.auth-card .helptext { display: block; color: #596964; font-size: 12px; margin-top: 7px; }
.auth-card hr { border: 0; border-top: 1px solid #d5ded7; margin: 24px 0; }
.auth-card img { max-width: 100%; height: auto; }
.auth-card pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.auth-card fieldset { border: 0; padding: 0; min-width: 0; }
.auth-account-actions { margin-top: 28px; padding-top: 20px; border-top: 1px solid #d5ded7; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.auth-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 20px clamp(24px, 6vw, 96px); color: #596964; font-size: 12px; border-top: 1px solid #dce2da; }
@media (max-width: 760px) {
    .auth-brandbar { display: grid; grid-template-columns: minmax(0, 1.9fr) 1px minmax(0, 1fr); padding: 24px; gap: 16px; }
    .auth-centralis-logo { width: 100%; max-width: 320px; }
    .auth-wpb-logo { width: 100%; max-width: 170px; }
    .auth-layout { grid-template-columns: minmax(0, 1fr); padding: 8px 24px 36px; gap: 24px; max-width: 560px; }
    .auth-intro { padding: 12px 0 0; }
    .auth-intro h1 { font-size: 34px; margin-bottom: 12px; }
    .auth-eyebrow { font-size: 9px; margin-bottom: 14px; }
    .auth-intro-copy { font-size: 14px; }
    .auth-card { padding: 26px 22px; }
    .auth-footer { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .auth-page * { scroll-behavior: auto !important; transition: none !important; } }

@media (max-width: 480px) {
    .auth-brandbar { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 16px; }
    .auth-centralis-logo { width: min(100%, 300px); }
    .auth-wpb-logo { width: 170px; }
    .auth-brand-divider { width: 70px; height: 1px; }
}
