/* UserList - Liste des participants */ .user-list { background: var(--color-surface); border-bottom: 1px solid var(--color-border); max-height: 300px; overflow-y: auto; overflow-x: hidden; /* Améliorer le scroll sur mobile */ -webkit-overflow-scrolling: touch; /* Style de scrollbar personnalisé */ scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.3) transparent; } /* Scrollbar personnalisée (webkit) */ .user-list::-webkit-scrollbar { width: 6px; } .user-list::-webkit-scrollbar-track { background: transparent; } .user-list::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.3); border-radius: 3px; } .user-list::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.5); } .user-list.empty { display: flex; align-items: center; justify-content: center; padding: var(--spacing-lg); max-height: none; } .empty-message { color: var(--color-text-secondary); font-size: 0.9rem; } .user-list-header { padding: var(--spacing-sm) var(--spacing-lg); background: var(--color-bg); border-bottom: 1px solid var(--color-border); position: sticky; top: 0; z-index: 1; } .user-count { font-size: 0.85rem; color: var(--color-text-secondary); font-weight: 500; } .user-list-items { padding: var(--spacing-xs) var(--spacing-sm); display: flex; flex-direction: column; gap: 4px; } /* Item utilisateur */ .user-item { display: flex; align-items: center; gap: var(--spacing-md); padding: var(--spacing-sm) var(--spacing-md); border-radius: 8px; transition: background 0.15s; } .user-item:hover { background: var(--color-surface-hover); } .user-item.speaking { background: rgba(16, 185, 129, 0.1); } /* Avatar */ .user-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--color-primary); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 1.1rem; flex-shrink: 0; } .user-item.speaking .user-avatar { background: var(--color-success); } /* Info */ .user-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } .user-name { font-weight: 500; font-size: 0.95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .user-status { font-size: 0.8rem; color: var(--color-success); font-weight: 500; } /* Indicateurs */ .user-indicator { width: 24px; height: 24px; flex-shrink: 0; } .speaking-indicator { width: 100%; height: 100%; color: var(--color-success); } .speaking-indicator svg { width: 100%; height: 100%; } .audio-indicator { width: 100%; height: 100%; color: var(--color-text-secondary); opacity: 0.5; } .audio-indicator svg { width: 100%; height: 100%; } /* Responsive */ @media (max-width: 640px) { .user-list { max-height: 250px; } .user-avatar { width: 36px; height: 36px; font-size: 1rem; } .user-name { font-size: 0.9rem; } .user-status { font-size: 0.75rem; } } /* Portrait mobile - encore plus d'espace */ @media (max-width: 640px) and (orientation: portrait) { .user-list { max-height: 200px; min-height: 100px; } } /* Paysage - réduire un peu pour laisser place au PTT */ @media (max-height: 500px) and (orientation: landscape) { .user-list { max-height: 120px; } }