/* App – Lobby „Wer ist da?“ (Design: App-Lobby.dc.html) */
.lb-kick { color: var(--ap-green-t); }
.lb-kick.is-closed { color: var(--ap-muted); }
.lb-sr { position: absolute !important; width: 1px; height: 1px; padding: 0 !important; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0 !important; }

/* Eigener Status */
.lb-me { margin: 0; background: linear-gradient(135deg, rgba(34,197,94,.18), var(--ap-card)); border: 1px solid var(--ap-line); border-radius: 24px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; position: relative; }
.lb-me.is-in { border-color: var(--ap-green); }
.lb-me__row { display: flex; align-items: center; gap: 12px; }
.lb-me__row .ap-av { font-size: 15px !important; }
.lb-me__txt { flex: 1; min-width: 0; }
.lb-me__txt strong { font-size: 16px; }
.lb-tog { font: inherit; cursor: pointer; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--ap-green); color: var(--ap-on-gold); font-weight: 700; font-size: 14px; white-space: nowrap; flex: none; }
.lb-tog.is-leave { background: var(--ap-card2); color: var(--ap-text); }
.lb-kasse { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; background: rgba(227,179,65,.14); border: 1px solid rgba(227,179,65,.5); font-size: 13px; line-height: 1.35; }
.lb-kasse__ic { color: var(--ap-gold-t); display: flex; flex: none; }
.lb-ok { display: flex; gap: 6px; align-items: center; font-size: 13px; color: var(--ap-green-t); }
.lb-q { margin-bottom: 6px; }
.lb-durs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.lb-durs button { font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; min-height: 44px; padding: 0 2px; border-radius: 12px; border: 1px solid var(--ap-line); background: var(--ap-card); color: var(--ap-muted); line-height: 1.15; }
.lb-durs button[aria-pressed="true"] { border-color: var(--ap-green); background: rgba(34,197,94,.16); color: var(--ap-text); }
.lb-note input { font: inherit; font-size: 13px; width: 100%; min-height: 44px; color: var(--ap-text); background: var(--ap-sunk); border: 1px solid var(--ap-line); border-radius: 12px; padding: 0 12px; }
.lb-note input:focus { outline: none; border-color: var(--ap-gold); }
.lb-note input::placeholder { color: var(--ap-ph); }

/* Zähler */
.lb-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.lb-stat { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 22px; padding: 10px 12px; min-width: 0; }
.lb-stat b { display: block; font-family: var(--ap-mono); font-weight: 600; font-size: 24px; white-space: nowrap; }
.lb-stat b.is-green { color: var(--ap-green-t); }
.lb-stat b.is-gold { color: var(--ap-gold-t); }
.lb-stat span { font-size: 12px; color: var(--ap-muted); }

/* Listen */
.lb-list { background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 22px; padding: 4px 14px; }
.lb-list__h { font-family: var(--ap-mono); font-size: 10px; color: var(--ap-muted); padding: 10px 0 4px; }
.lb-empty { font-size: 13px; color: var(--ap-muted); padding: 10px 0 12px; border-top: 1px solid var(--ap-line); }
.lb-p { display: flex; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--ap-line); }
.lb-p.is-coming { opacity: .8; }
.lb-p.is-coming .ap-av { font-size: 11px !important; }
.lb-p__av { position: relative; flex: none; display: flex; }
.lb-p__av .ap-av { font-size: 13px !important; }
.lb-p__av i { position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border-radius: 50%; background: var(--ap-green); border: 2px solid var(--ap-card); }
.lb-p__txt { flex: 1; min-width: 0; line-height: 1.3; }
.lb-p__txt strong { font-size: 14px; font-weight: 600; }
.lb-p__end { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex: none; }
.lb-p__note { font-size: 10px; color: var(--ap-muted); white-space: nowrap; max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
.lb-p__n { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; }
.lb-p__tm { font-size: 12px; color: var(--ap-gold-t); white-space: nowrap; }
.lb-list__foot { font-size: 11px; color: var(--ap-muted); padding: 8px 0 10px; border-top: 1px solid var(--ap-line); line-height: 1.4; }

/* Geschlossen / nächster Termin */
.lb-closed { display: flex; gap: 12px; align-items: center; padding: 16px; border-radius: 24px; border: 1.5px dashed var(--ap-dash2); background: var(--ap-stripes); }
.lb-closed strong { font-size: 17px; }
.lb-closed__ic { width: 44px; height: 44px; flex: none; border-radius: 14px; background: var(--ap-slate); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.lb-nextev { display: flex; gap: 12px; align-items: center; text-decoration: none; color: var(--ap-text) !important; background: var(--ap-card); border: 1px solid var(--ap-line); border-radius: 20px; padding: 10px 14px; }
.lb-nextev__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.lb-nextev > svg { color: var(--ap-gold-t); flex: none; }
