/* ===== MEMBERS PANEL ===== */
.members-panel { width: 0; overflow: hidden; background: #fff; border-left: 1px solid #e5e5e5; transition: width 0.3s; flex-shrink: 0; }
.members-panel.open { width: 250px; }
.members-panel h4 { padding: 16px; font-size: 15px; border-bottom: 1px solid #eee; }
.member-item { display: flex; align-items: center; padding: 10px 16px; gap: 10px; cursor: pointer; }
.member-item:hover { background: #f8f8f8; }
.member-avatar { width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: bold; font-size: 13px; position: relative; }
.member-online { position: absolute; bottom: -1px; right: -1px; width: 10px; height: 10px; background: var(--success); border-radius: 50%; border: 2px solid #fff; }
.member-offline { position: absolute; bottom: -1px; right: -1px; width: 10px; height: 10px; background: #bbb; border-radius: 50%; border: 2px solid #fff; }
.member-name { font-size: 14px; color: #333; flex: 1; }
.member-kick { background: none; border: 1px solid var(--danger); color: var(--danger); font-size: 11px; padding: 3px 8px; border-radius: 8px; cursor: pointer; margin-left: auto; flex-shrink: 0; transition: all 0.2s; }
.member-kick:hover { background: var(--danger); color: #fff; }
.member-role { font-size: 10px; color: var(--primary); margin-left: 4px; }

/* ===== CONTEXT MENU ===== */
.ctx-menu { display: none; position: fixed; background: #fff; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); z-index: 200; min-width: 160px; padding: 6px 0; }
.ctx-menu.show { display: block; }
.ctx-menu-item { padding: 10px 18px; cursor: pointer; font-size: 14px; color: #333; display: flex; align-items: center; gap: 8px; }
.ctx-menu-item:hover { background: #f5f5f5; }
.ctx-menu-item.danger { color: var(--danger); }

/* ===== INVITE MODAL ===== */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.4); z-index: 300; align-items: center; justify-content: center; }
.modal-overlay.show { display: flex; }
.modal-box { background: #fff; border-radius: 20px; padding: 24px; width: 380px; max-width: 90vw; max-height: 70vh; display: flex; flex-direction: column; }
.modal-box h3 { margin-bottom: 12px; font-size: 18px; flex-shrink: 0; }
.modal-box input { width: 100%; padding: 10px 14px; border: 2px solid #e0e0e0; border-radius: 12px; font-size: 14px; outline: none; margin-bottom: 12px; }
.modal-box input:focus { border-color: var(--primary); }
.modal-results { flex: 1; overflow-y: auto; min-height: 100px; max-height: 300px; }
.modal-user-item { display: flex; align-items: center; padding: 8px 12px; cursor: pointer; border-radius: 10px; gap: 10px; }
.modal-user-item:hover { background: #f0e6ff; }
.modal-user-item.selected { background: #ede7f6; }
.modal-user-item.is-member { opacity: 0.55; cursor: default; }
.modal-user-item.is-member:hover { background: transparent; }
.member-badge { margin-left: auto; font-size: 11px; color: #999; background: #f0f0f0; padding: 2px 8px; border-radius: 8px; flex-shrink: 0; }
.modal-actions { display: flex; gap: 8px; margin-top: 12px; flex-shrink: 0; }
.modal-actions button { flex: 1; padding: 12px; border: none; border-radius: 12px; font-size: 14px; cursor: pointer; font-weight: 600; }
.modal-actions .btn-cancel { background: #f0f0f0; color: #666; }
.modal-actions .btn-confirm { background: var(--primary-gradient); color: #fff; }

/* ===== IMAGE MODAL ===== */
.img-modal { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.85); z-index: 999; align-items: center; justify-content: center; cursor: pointer; }
.img-modal.show { display: flex; }
.img-modal img { max-width: 90%; max-height: 90%; border-radius: 8px; }
