/* General Styles */ body { overflow-x: hidden; } /* Estilos para el chat */ #chat-history { height: 70vh; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 0.75rem; } .message { max-width: 80%; padding: 0.75rem 1rem; border-radius: 1rem; word-wrap: break-word; position: relative; line-height: 1.4; } /* Mensajes entrantes */ .message.in { background-color: #f0f0f0; color: #333; align-self: flex-start; border-bottom-left-radius: 0.25rem; } /* Mensajes salientes */ .message.out { background-color: #007bff; color: white; align-self: flex-end; border-bottom-right-radius: 0.25rem; } /* Estilo para el nombre del remitente en grupos */ .message-sender { font-weight: bold; font-size: 0.85rem; margin-bottom: 0.25rem; } /* Estilo para el texto del mensaje */ .message-text { word-wrap: break-word; } /* Estilo para el contenedor del formulario de mensajes */ #message-form-container { padding: 1rem; border-top: 1px solid #dee2e6; background-color: #f8f9fa; } /* Estilos para la lista de usuarios */ .user-list { max-height: 80vh; overflow-y: auto; } .user-list .list-group-item { cursor: pointer; transition: background-color 0.2s; } .user-list .list-group-item:hover { background-color: #f8f9fa; } .user-list .list-group-item.active { background-color: #007bff; border-color: #007bff; } #wrapper { display: flex; transition: all 0.3s ease; } #sidebar-wrapper { min-height: 100vh; width: 250px; margin-left: -250px; transition: margin .25s ease-out; position: fixed; /* Added for mobile responsiveness */ z-index: 1000; /* Added for mobile responsiveness */ } #wrapper.toggled #sidebar-wrapper { margin-left: 0; } #page-content-wrapper { min-width: 100vw; flex-grow: 1; /* Added for mobile responsiveness */ } #wrapper.toggled #page-content-wrapper { min-width: calc(100vw - 250px); } .sidebar-heading { padding: 0.875rem 1.25rem; font-size: 1.2rem; } @media (min-width: 768px) { #sidebar-wrapper { margin-left: 0; position: relative; /* Changed for desktop */ z-index: 1; /* Changed for desktop */ } #page-content-wrapper { min-width: 0; width: 100%; } #wrapper.toggled #sidebar-wrapper { margin-left: -250px; } } /* Overlay for mobile when sidebar is open */ .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 999; display: none; opacity: 0; /* Initial opacity */ transition: opacity 0.3s ease-in-out; /* Smooth transition */ } .overlay.show { display: block; opacity: 1; /* Full opacity when shown */ } /* Estilos para el logo en el sidebar */ #sidebar-logo { width: 40px; /* Tamaño fijo para el ancho */ height: auto; /* Mantiene la proporción de aspecto */ vertical-align: middle; /* Alinea verticalmente con el texto */ margin-left: 8px; /* Espaciado a la izquierda del logo */ } .sidebar-heading { display: flex; align-items: center; /* Centra verticalmente el texto y el logo */ padding: 0.875rem 1.25rem; font-size: 1.2rem; white-space: nowrap; /* Evita que el texto se rompa en varias líneas */ }