/* Sprechgruppen */
.live-ticker{color:#8be0a8;font-weight:700}
.banner.ok{background:#e3f4e6;border-color:#7cc58a;color:#1d5a2a}
.tg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:25px}
.tg-card{background:#fff;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.05);border-top:3px solid #2b6cb0;min-height:100px;display:flex;flex-direction:column;overflow:hidden}
.tg-card.active-group{border-top-color:#e53e3e}
.tg-card h4{margin:0;color:#2d3748;font-size:13px;background:#fff0a3;padding:6px 10px;border-bottom:1px solid #e1d276;font-weight:700}
.tg-card.active-group h4{background:#ffe98a;border-bottom-color:#fed7d7}
.tg-user-list{display:flex;flex-direction:column;gap:5px;padding:10px 12px;flex-grow:1}
.user-button{padding:6px 10px;font-weight:700;font-size:12px;border-radius:3px;text-transform:uppercase;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.online{background:#c6f6d5;color:#22543d;border:1px solid #98e6b1}
.talking{background:#e53e3e;color:#fff;animation:pulse 1s infinite}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.talking{animation:none}}
.empty-text{color:#8a9aab;font-size:11px;font-style:italic;text-align:center;padding-top:8px}
.log-container h3{color:#4a5568;font-size:14px;margin:15px 0 5px}
pre#log-content{background:#2d3748;color:#fff;padding:10px;border-radius:6px;max-height:120px;overflow:auto;font-family:'Courier New',monospace;font-size:11px;white-space:pre}
.infotext,.formular{background:#fff;border-radius:8px;border:1px solid var(--line);border-top:3px solid #2b6cb0;padding:22px 26px}
.infotext{font-size:1rem;line-height:1.6;overflow-wrap:break-word}
.infotext h2,.infotext h3,.infotext h4{color:var(--navy);line-height:1.25;margin:1.3em 0 .45em}
.infotext h2{font-size:1.5rem}.infotext h3{font-size:1.2rem}.infotext h4{font-size:1.05rem}
.infotext>:first-child{margin-top:0}.infotext>:last-child{margin-bottom:0}
.infotext p{margin:0 0 .85em}.infotext ul{margin:0 0 .85em;padding-left:1.4em}.infotext li{margin:.15em 0}
.infotext .leer{color:#8a9aab;font-style:italic}
.stand{margin-top:10px;font-size:.82rem;color:var(--ink-soft);text-align:right}
.formular h2{color:var(--navy);font-size:1.2rem;margin:0 0 14px}
.formular textarea{width:100%;min-height:420px;padding:12px;resize:vertical;font-family:'Courier New',monospace;font-size:14px;line-height:1.5;border:1.5px solid var(--line);border-radius:6px}
.formular textarea:focus{outline:3px solid #1f5f99;outline-offset:1px}
.formular .aktionen{margin-top:12px}
.formhilfe{font-size:.85rem;color:var(--ink-soft);line-height:1.7;margin:12px 0 0}
.formhilfe code{background:#eef2f5;padding:1px 5px;border-radius:3px}
.druckkopf{display:none}
@media (max-width:560px){.infotext,.formular{padding:16px}}
@media print{.druckkopf{display:block;border-bottom:1.5px solid #000;padding-bottom:6px;margin-bottom:16px}.druckkopf strong{font-size:14pt;display:block}.stand{display:none}.infotext{border:0;padding:0}}
/* Teilnehmertabelle */
.tn-titel{color:#4a5568;font-size:14px;margin:18px 0 6px}
.tn-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:8px}
.tn-tabelle{width:100%;border-collapse:collapse;font-size:.95rem}
.tn-tabelle th{text-align:left;background:#fff0a3;color:#2d3748;padding:8px 12px;border-bottom:1px solid #e1d276;font-size:.85rem;white-space:nowrap}
.tn-tabelle td{padding:8px 12px;border-bottom:1px solid #eef0f3;white-space:nowrap}
.tn-tabelle tr:last-child td{border-bottom:0}
.tn-tabelle tr.off{color:#6b7a8a}
.tn-tabelle small{color:#6b7a8a}
.pkt{display:inline-block;width:10px;height:10px;border-radius:50%;background:#b8c2cc;margin-right:4px}
tr.on .pkt{background:#2f9e44}
.tn-stand{margin:6px 2px 0;font-size:.82rem;color:var(--ink-soft)}
