/* Sprachumschalter DE | EN */
.lang-seg { display: inline-flex !important; gap: 0; padding: 3px !important; }
.lang-seg .lg-opt { padding: 4px 10px; border-radius: 7px; color: var(--text-muted); font-weight: 600; font-size: .82rem; cursor: pointer; user-select: none; }
.lang-seg .lg-opt { display: inline-flex; align-items: center; gap: 6px; }
.lang-seg .lg-opt b { font-weight: 700; }
.lang-seg .flag { border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.25); flex: none; }
.lang-seg .lg-opt.on { background: rgba(0,242,254,.16); color: var(--cyan); box-shadow: inset 0 0 0 1px var(--border-cyan); }
.lang-seg .lg-opt:not(.on):hover { color: #fff; }

/* Passwortfelder */
.pw-wrap { position: relative; }
.pw-wrap > .cyber-input { padding-right: 46px; }
.pw-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: transparent; border: 0; cursor: pointer;
  font-size: 1.05rem; line-height: 1; padding: 6px 8px; border-radius: 8px; color: var(--text-muted); }
.pw-eye:hover, .pw-eye:focus-visible { background: rgba(255,255,255,.08); outline: none; }
.pw-keys { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.kchip { font-size: .72rem; padding: 2px 9px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid var(--border-glass); color: var(--text-muted); }
.kchip.warn { background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.5); color: var(--amber); }
.remember-row { flex-direction: row !important; align-items: center; gap: 8px !important; font-size: .82rem !important; color: var(--text-muted); cursor: pointer; display: flex; margin: 0; }

/* Angemeldet als */
.who-name { display: block; font-weight: 800; }
.who-mail { display: block; font-family: var(--font-mono); font-size: .86rem; color: var(--text-muted); font-weight: 500; }
.who-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.wbadge { font-size: .7rem; padding: 2px 9px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid var(--border-glass); color: var(--text-muted); font-family: var(--font-body, inherit); font-weight: 600; }
.wbadge.admin { background: rgba(0,242,254,.1); border-color: var(--border-cyan); color: var(--cyan); }
.wbadge.ok { background: rgba(16,185,129,.1); border-color: var(--border-emerald); color: var(--emerald); }

/* Konto-Bereich */
.acc-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 18px; border-bottom: 1px solid var(--border-glass); padding-bottom: 10px; }
.acc-tab { background: transparent; border: 1px solid var(--border-glass); color: var(--text-muted); border-radius: 999px; padding: 6px 14px; font-size: .84rem; cursor: pointer; }
.acc-tab:hover { color: #fff; border-color: var(--border-glass-hover); }
.acc-tab.on { background: rgba(0,242,254,.12); border-color: var(--border-cyan); color: var(--cyan); }
.acc-pane { display: none; }
.acc-pane.on { display: block; }
.acc-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 18px; }
.acc-fact { background: rgba(0,0,0,.3); border: 1px solid var(--border-glass); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.acc-fact span { font-size: .68rem; color: var(--text-dim); text-transform: uppercase; font-weight: 700; }
.acc-form { display: flex; flex-direction: column; gap: 14px; }
.acc-l { display: flex; flex-direction: column; gap: 6px; font-size: .75rem; color: var(--text-muted); font-weight: 700; text-transform: uppercase; }
.acc-l .cyber-input { text-transform: none; font-weight: 400; }
.acc-hint { font-size: .78rem; color: var(--text-dim); margin: 4px 0; line-height: 1.45; }
.acc-datahead { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin-bottom: 12px; }
.acc-databody { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.acc-det { border: 1px solid var(--border-glass); border-radius: 10px; background: rgba(0,0,0,.22); }
.acc-det > summary { cursor: pointer; padding: 10px 14px; font-weight: 700; font-size: .9rem; }
.acc-detbody { padding: 4px 14px 14px; font-size: .84rem; color: var(--text-muted); }
.acc-kv { width: 100%; border-collapse: collapse; }
.acc-kv th { text-align: left; font-weight: 600; color: var(--text-dim); padding: 5px 12px 5px 0; white-space: nowrap; vertical-align: top; width: 38%; }
.acc-kv td { padding: 5px 0; color: #fff; word-break: break-word; }
.acc-prof { border-top: 1px solid var(--border-glass); padding: 10px 0; }
.acc-prof:first-child { border-top: 0; }
.acc-rules { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 6px; }
.acc-rules > span { font-size: .72rem; color: var(--text-dim); }
.acc-delinfo { background: rgba(244,63,94,.05); border: 1px solid rgba(244,63,94,.2); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; font-size: .84rem; color: var(--text-muted); }
.acc-delinfo ul { margin: 6px 0 0 18px; padding: 0; }
@media (max-width: 560px) { .acc-kv th { width: auto; display: block; padding-bottom: 0; } .acc-kv td { display: block; padding-bottom: 8px; } }

/* Listen im Konto-Bereich: Punkte lagen ausserhalb des Containers (globaler Reset auf ul) */
.acc-detbody ul, .acc-delinfo ul, .acc-help ol, .modal-apps ul { list-style: disc outside; margin: 8px 0; padding: 0 0 0 22px; }
.acc-help ol { list-style: decimal outside; }
.acc-detbody li, .acc-delinfo li, .acc-help li { margin: 3px 0; padding-left: 2px; }
.acc-detbody p { margin: 8px 0; line-height: 1.55; }
.acc-tok th, .acc-tok td { padding: 6px 12px 6px 0; }
.acc-tok thead th { color: var(--text-muted); font-size: .72rem; text-transform: uppercase; }

/* Profil bearbeiten (Modal) */
.wmodal { position: fixed; inset: 0; background: rgba(0,0,0,.65); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 16px; }
.wmodal-card { background: var(--bg-elevated); border: 1px solid var(--border-cyan); border-radius: 14px; padding: 22px; width: 100%; max-width: 460px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--shadow-card); }
.wmodal-card h3 { margin: 0; color: var(--cyan); font-family: var(--font-heading); }
.wmodal-actions { display: flex; justify-content: flex-end; gap: 10px; }

/* 2FA-Hilfe */
.acc-help { margin-bottom: 18px; }
.acc-warn { background: rgba(245,158,11,.1); border: 1px solid rgba(245,158,11,.4); border-radius: 8px; padding: 10px 12px; color: var(--text-main); }
.os-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0; }
.os-tab { background: transparent; border: 1px solid var(--border-glass); color: var(--text-muted); border-radius: 999px; padding: 4px 12px; font-size: .78rem; cursor: pointer; }
.os-tab.on { background: rgba(0,242,254,.12); border-color: var(--border-cyan); color: var(--cyan); }
.app-list a { color: var(--cyan); text-decoration: none; font-weight: 600; }
.app-list a:hover { text-decoration: underline; }
.app-list span { color: var(--text-dim); }
.modal-apps { text-align: left; background: rgba(0,242,254,.05); border: 1px solid var(--border-glass); border-radius: 10px; padding: 10px 12px; margin-bottom: 14px; font-size: .82rem; color: var(--text-muted); }
.modal-apps a { color: var(--cyan); text-decoration: none; font-weight: 600; }

/* Datenexport */
.acc-export-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.acc-exp { text-align: left; background: rgba(255,255,255,.03); border: 1px solid var(--border-glass); border-radius: 10px; padding: 10px 12px; cursor: pointer; color: var(--text-main); display: flex; flex-direction: column; gap: 4px; }
.acc-exp:hover, .acc-exp:focus-visible { border-color: var(--border-cyan); background: rgba(0,242,254,.06); outline: none; }
.acc-exp-t { font-weight: 700; font-size: .88rem; }
.acc-exp-d { font-size: .74rem; color: var(--text-dim); line-height: 1.4; }
