/* Öffentliche Seiten im v2.0-Stil (Design-Abgleich 15.10.2026): Anmelden, Passwort, E-Mail-Bestätigung,
   Fehler, Anmeldeeinstellungen, Passwortpflicht, Statusverlauf. Nur Tokens. Präfix au- (Anmeldekarte) und sv- (Statusverlauf). */

.au { display:grid; justify-items:center; gap:16px; padding:32px 0 48px; }
.au-card { position:relative; overflow:hidden; box-sizing:border-box; width:100%; max-width:480px; display:grid; gap:14px; padding:32px 32px 28px; border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:var(--shadow); font-size:17px; line-height:1.55; }
.au-card--wide { max-width:640px; }
.au-card::before { content:""; position:absolute; inset:0 0 auto; height:6px; background:var(--primary); }
.au-card--ok::before { background:var(--ok-dot); }
.au-card--warn::before { background:var(--warning-dot); }
.au-card > * { margin:0; }
.au-card h1 { color:var(--ink); font-size:30px; line-height:1.15; letter-spacing:-.02em; }
.au-eyebrow { color:var(--primary-text); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.au-card--ok .au-eyebrow { color:var(--ok-text); }
.au-card--warn .au-eyebrow { color:var(--warning-text); }
.au-lead { color:var(--text-2); }
.au-small { color:var(--muted); font-size:15px; margin:0; }
.au-mark { width:56px; height:56px; display:grid; place-items:center; border-radius:46% 54% 42% 58% / 55% 45% 55% 45%; font-size:26px; font-weight:800; background:var(--primary-soft); color:var(--primary-text); }
.au-card--ok .au-mark { background:var(--ok-soft); color:var(--ok-text); box-shadow:0 0 0 5px var(--ok-tint); }
.au-card--warn .au-mark { background:var(--warning-soft); color:var(--warning-text); box-shadow:0 0 0 5px var(--warning-tint); }
.au-form { display:grid; gap:14px; margin:4px 0 0; }
.au-form .lz-field span small { color:var(--muted); font-weight:400; margin-left:6px; }
.au-form .lz-field input { min-height:52px; font-size:18px; }
.au .lz-btn { min-height:52px; border-radius:14px; font-size:17px; font-weight:700; }
.au-actions { display:flex; flex-wrap:wrap; gap:10px; }
.au-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; padding-top:14px; border-top:1px solid var(--line-soft); font-size:16px; }
.au-links a { color:var(--link); font-weight:600; }
.au-links span { color:var(--text-2); }
.au-foot { margin:0; color:var(--text-2); font-size:15px; text-align:center; }
.au .lz-alert { margin:0; }
.au-choices { margin:0; padding:0; border:0; display:grid; gap:10px; }
.au-choices legend { margin-bottom:8px; color:var(--ink); font-weight:700; }
.au-choice { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border:1px solid var(--line-strong); border-radius:14px; background:var(--surface); cursor:pointer; }
.au-choice:has(input:checked) { border:2px solid var(--primary); padding:13px 15px; background:var(--primary-soft); }
.au-choice input { width:22px; height:22px; margin:2px 0 0; accent-color:var(--primary); flex:0 0 auto; }
.au-choice span { display:grid; gap:2px; }
.au-choice strong { color:var(--ink); }
.au-choice small { color:var(--text-2); font-size:15px; }
@media (max-width:560px) { .au { padding:16px 0 32px; } .au-card { padding:26px 20px 22px; border-radius:20px; } .au-card h1 { font-size:26px; } }

/* Statusverlauf */
.sv { display:grid; gap:20px; min-width:0; }
.sv-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 20px; }
.sv-head h1 { margin:0 0 4px; }
.sv-head p { margin:0; color:var(--text-2); max-width:720px; }
.sv-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.sv-summary > div { display:grid; gap:6px; padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.sv-summary span { color:var(--muted); font-size:14px; font-weight:600; }
.sv-summary strong { color:var(--ink); font-size:24px; font-variant-numeric:tabular-nums; }
.sv-days { display:grid; gap:6px; }
.sv-day { display:grid; grid-template-columns:120px minmax(0,1fr) auto; gap:14px; align-items:center; padding:10px 14px; border:1px solid var(--line-soft); border-radius:12px; background:var(--surface); }
.sv-day time { color:var(--ink); font-weight:700; font-variant-numeric:tabular-nums; }
.sv-bar { display:flex; height:12px; border-radius:6px; overflow:hidden; background:var(--surface-2); }
.sv-bar i { display:block; height:100%; }
.sv-bar .is-green { background:var(--ok-dot); } .sv-bar .is-yellow { background:var(--warning-dot); } .sv-bar .is-red { background:var(--danger-dot); } .sv-bar .is-unknown { background:var(--line-strong); }
.sv-day small { color:var(--muted); font-size:14px; white-space:nowrap; }
.sv-legend { display:flex; flex-wrap:wrap; gap:6px 16px; color:var(--muted); font-size:14px; }
.sv-legend span::before { content:""; display:inline-block; width:10px; height:10px; margin-right:6px; border-radius:3px; background:var(--ok-dot); }
.sv-legend .is-yellow::before { background:var(--warning-dot); } .sv-legend .is-red::before { background:var(--danger-dot); } .sv-legend .is-unknown::before { background:var(--line-strong); }
.sv-incidents { display:grid; gap:10px; }
.sv-incident { display:grid; gap:4px; padding:16px 18px; border:1px solid var(--line); border-left:4px solid var(--warning-dot); border-radius:14px; background:var(--surface); }
.sv-incident.is-maintenance { border-left-color:var(--primary); }
.sv-incident h3 { margin:0; color:var(--ink); font-size:18px; }
.sv-incident p { margin:0; color:var(--text-2); }
.sv details.sv-table { border:1px solid var(--line); border-radius:16px; background:var(--surface); padding:0 16px; }
.sv details.sv-table > summary { min-height:48px; display:flex; align-items:center; color:var(--link); font-weight:600; cursor:pointer; }
@media (max-width:640px) { .sv-day { grid-template-columns:minmax(0,1fr) auto; } .sv-day .sv-bar { grid-column:1 / -1; grid-row:2; } }

/* Login: registration is a separate action below its heading. */
.au-login-links{display:grid;gap:20px;justify-content:stretch}
.au-register{display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--line-soft)}
.au-register .lz-btn{width:100%;min-height:44px}
