/* Stile für js/features/* und admin.html */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2100;padding:12px}
.modal{background:var(--panel,#fff);color:var(--fg,#111);border-radius:12px;width:100%;max-width:420px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.modal.wide{max-width:640px}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border,#ddd)}
.modal-body{padding:16px;overflow-y:auto}
.btn{background:var(--red,#FF2800);color:#fff;border:0;border-radius:8px;padding:9px 16px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{background:var(--red-dark,#D40000)}
.btn.ghost{background:transparent;color:var(--fg,#111);border:1px solid var(--border,#ccc)}
.btn.ghost:hover{background:rgba(128,128,128,.15)}
.btn.danger{background:var(--red-dark,#D40000)}
.btn.small{padding:4px 10px;font-size:.85em}
.btn:disabled{opacity:.5;cursor:default}
.icon-btn{background:none;border:0;color:inherit;font-size:1.1em;cursor:pointer;padding:4px 8px}
.row{display:flex;gap:8px;align-items:center;margin:8px 0}
.row.end{justify-content:flex-end}
.row.wrap{flex-wrap:wrap}
.grow{flex:1;min-width:0}
#toasts{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:6px;z-index:2200;align-items:center}
.toast{background:#222;color:#fff;padding:10px 16px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.3);max-width:90vw}
.team-tag{font-weight:700;font-size:.85em}
.team-owner{color:var(--red,#FF2800)}
.team-admin{color:#1e6fe0}
.team-mod{color:#1a9a3a}
.verified{display:inline-block;background:var(--red,#FF2800);color:#fff;border-radius:50%;width:.95em;height:.95em;line-height:.95em;font-size:.65em;text-align:center;vertical-align:middle}

.modal input[type=text],.modal input[type=url],.modal input[type=password],.modal select,.modal textarea,.admin-wrap input,.admin-wrap select{background:var(--bg,#fff);color:var(--fg,#111);border:1px solid var(--border,#ccc);border-radius:8px;padding:8px;font:inherit;max-width:100%}
.modal textarea{width:100%;box-sizing:border-box;margin:6px 0}
.field{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.muted{opacity:.65}
.small{font-size:.85em}
.error{color:var(--red,#FF2800)}
h4{margin:16px 0 6px}
.list-row{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border,#ddd);background:none;color:inherit;border-left:0;border-right:0;border-top:0;width:100%;text-align:left;font:inherit}
.list-row.col{flex-direction:column;align-items:stretch}
.list-row.wrap{flex-wrap:wrap}
.list-row.link{cursor:pointer}
.list-row.link:hover{background:rgba(128,128,128,.1)}
.role-dot{width:14px;height:14px;border-radius:50%;flex:none}
.role-chip{display:inline-block;border:1px solid var(--c,#888);color:var(--c,#888);border-radius:10px;padding:0 8px;font-size:.75em}
.switch-list{margin:8px 0}
.switch-row{display:flex;gap:10px;align-items:center;padding:6px 0}
.info-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.avatar-lg{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--red,#FF2800);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2em;flex:none}
.code-big{font-family:ui-monospace,Menlo,monospace;font-size:1.9em;font-weight:700;letter-spacing:.06em;text-align:center;margin:14px 0;word-break:break-all;user-select:all}
.qr{display:block;margin:0 auto;background:#fff;border-radius:8px}
.code-input{width:100%;box-sizing:border-box;font-size:1.5em;text-align:center;letter-spacing:.1em;font-family:ui-monospace,Menlo,monospace}
.scan-video{width:100%;border-radius:8px;margin-top:8px;background:#000}
.status{font-size:.75em;border-radius:8px;padding:1px 8px;background:rgba(128,128,128,.25)}
.status-aktiv{background:#1a9a3a;color:#fff}
.status-widerrufen{background:var(--red-dark,#D40000);color:#fff}
.status-abgelaufen{background:#b8860b;color:#fff}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border,#ddd);margin-bottom:10px;flex-wrap:wrap}
.tab{background:none;border:0;color:inherit;padding:8px 14px;cursor:pointer;font:inherit;border-bottom:3px solid transparent}
.tab.active{border-bottom-color:var(--red,#FF2800);font-weight:700}
.ctx-list{margin:10px 0}
.ctx-msg{padding:6px 8px;border-radius:8px;margin:3px 0;background:rgba(128,128,128,.12)}
.ctx-msg.flagged{outline:2px solid var(--red,#FF2800)}

/* Admin-Seite */
.admin-page{background:var(--bg,#fff);color:var(--fg,#111);margin:0;overflow:auto;height:auto}
.admin-banner{background:var(--red-dark,#D40000);color:#fff;text-align:center;padding:10px;font-weight:700;position:sticky;top:0;z-index:10}
.admin-wrap{max-width:900px;margin:0 auto;padding:16px}
.admin-msgs{margin-top:10px}
.admin-msg{padding:8px 10px;margin:6px 0;border-radius:8px;background:var(--panel,#f4f4f4);border:1px solid var(--border,#ddd);word-break:break-word}
.admin-msg.deleted{border-color:var(--red,#FF2800);background:rgba(255,40,0,.08)}
.edits{margin:4px 0 0;padding-left:18px;font-size:.9em}
.countdown{font-family:ui-monospace,Menlo,monospace;font-weight:700}
.table-scroll{overflow-x:auto}
.audit{border-collapse:collapse;width:100%;font-size:.85em}
.audit th,.audit td{border-bottom:1px solid var(--border,#ddd);padding:6px;text-align:left;vertical-align:top;word-break:break-word}
.admin-wrap details{margin-top:20px}
.admin-overlay{position:fixed;inset:0;z-index:2000;background:var(--bg,#fff);color:var(--fg,#111);overflow:auto}

.admin-home{position:fixed;top:calc(6px + env(safe-area-inset-top));left:8px;z-index:20;background:#fff;color:var(--red-dark,#D40000);border:0;border-radius:8px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}

.emoji-row{display:flex;justify-content:space-around;gap:4px;padding:8px 4px;border-bottom:1px solid var(--border,#ddd)}
.menu-list .emoji-row button{width:auto;display:inline-block;text-align:center;font-size:26px;padding:4px 8px;border:0;border-radius:10px}
.menu-list .emoji-row button.on{background:rgba(255,40,0,.18)}
.reacts{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.react-chip{background:var(--panel,#f4f4f4);color:var(--fg,#111);border:1px solid var(--border,#ddd);border-radius:12px;padding:1px 8px;font-size:14px;cursor:pointer}
.react-chip.on{border-color:var(--red,#FF2800);background:rgba(255,40,0,.12)}
.badge.muted{background:#9a9a9a}
.mute-icon{font-size:13px;opacity:.7}

.pin-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--panel,#f4f4f4);border-bottom:1px solid var(--border,#ddd);font-size:14px}
.pin-bar .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.mention{color:#0b6bcb;font-weight:600}
.mention.me{background:rgba(255,200,0,.35);border-radius:4px;padding:0 2px}
.poll{min-width:220px}
.poll-q{font-weight:700;margin-bottom:6px}
.poll-opt{position:relative;display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;margin:4px 0;padding:6px 8px;border:1px solid var(--border,#ddd);border-radius:8px;background:var(--panel,#fff);color:var(--fg,#111);overflow:hidden;cursor:pointer;font:inherit}
.poll-opt.on{border-color:var(--red,#FF2800)}
.poll-bar{position:absolute;left:0;top:0;bottom:0;background:rgba(255,40,0,.15)}
.poll-label,.poll-n{position:relative}
.poll-opts input{display:block;width:100%;box-sizing:border-box;margin:6px 0}

.mention-box{display:flex;flex-direction:column;border-top:1px solid var(--border,#ddd);background:var(--panel,#fff);max-height:220px;overflow-y:auto}
.mention-box button{text-align:left;background:none;border:0;border-bottom:1px solid var(--border,#eee);padding:10px 14px;font:inherit;color:inherit;cursor:pointer}
.mention-box button:hover{background:var(--hover,#f0f0f0)}
.msg.clickable{cursor:pointer}
.avatar.xs{width:20px;height:20px;font-size:11px}
.avatar.lg{width:72px;height:72px;font-size:36px}
.who-row{display:flex;align-items:center;gap:6px;margin-bottom:1px}
.who-row .who{margin-bottom:0}
.avatar-editor{margin:8px 0}
.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0}
.emoji-grid button{font-size:24px;padding:6px;border:2px solid transparent;border-radius:8px;background:none;cursor:pointer}
.emoji-grid button.on{border-color:var(--red,#FF2800)}
.color-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.swatch{width:30px;height:30px;border-radius:50%;border:3px solid transparent;cursor:pointer}
.swatch.on{border-color:#333}
.avatar-notice{margin:8px 0;padding:8px;border-radius:8px;background:rgba(255,40,0,.1)}
/* Verifiziert-Siegel wie bei WhatsApp, in Grün */
.verified, .topbar .verified, .chat-head .verified {
  display: inline-block; width: 1.05em; height: 1.05em; font-size: 16px; line-height: 0; color: transparent; overflow: hidden;
  vertical-align: -3px; margin-left: 3px; border-radius: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2325D366' d='M12 1l2.6 1.9 3.2-.1 1 3 2.6 1.9-1 3.1 1 3.1-2.6 1.9-1 3-3.2-.1L12 23l-2.6-1.9-3.2.1-1-3-2.6-1.9 1-3.1-1-3.1 2.6-1.9 1-3 3.2.1z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M7.8 12.4l3 3 5.6-6.2'/%3E%3C/svg%3E") center/contain no-repeat;
}
