/* Anmeldung & Sicherheit (public/js/pages/sicherheit.js, anmeldung.js) */
.sich-karte h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 18px; }
.sich-karte h3 { margin: 18px 0 8px; font-size: 15px; }
.sich-karte .row-between { gap: 10px; flex-wrap: wrap; }
.sich-baustein { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; margin: 10px 0; max-width: 560px; }
.sich-baustein .field { width: 100%; }
.sich-reihe { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }
.sich-liste { list-style: none; margin: 10px 0 14px; padding: 0; display: flex; flex-direction: column; }
.sich-liste li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.sich-liste li:first-child { border-top: 0; }
.sich-liste .grow { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.sich-ereignisse li { align-items: baseline; }
.sich-schritte { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }
.sich-qr { margin: 10px 0; display: inline-block; padding: 6px; background: #fff; border-radius: var(--radius-s); border: 1px solid var(--line); line-height: 0; }
.sich-qr svg { width: min(220px, 60vw); height: auto; }
.sich-geheim code, .sich-codes code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 15px; letter-spacing: .06em; user-select: all; }
.sich-geheim { margin-top: 6px; padding: 8px 10px; background: var(--bg); border-radius: var(--radius-s); overflow-wrap: anywhere; }
.sich-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; margin: 0; padding-left: 26px; }
.sich-code-feld { font-size: 20px; letter-spacing: .25em; max-width: 12ch; }
.sich-rechte { border: 1px solid var(--line); border-radius: var(--radius-s); padding: 10px 14px; margin: 8px 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px 16px; }
.sich-rechte legend { padding: 0 6px; font-weight: 600; }
.sich-tabelle td { vertical-align: middle; }
.login-oder { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.login-oder::before, .login-oder::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.login-hinweis { margin: 0; text-align: center; }
@media (max-width: 560px) { .sich-codes { grid-template-columns: 1fr; } .sich-liste li { flex-wrap: wrap; } }
@media print { .sich-karte:not(:has(.sich-codes)) { display: none; } }
