/* 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 { display: none; } #page-content-wrapper { min-width: 100vw; flex-grow: 1; } /* Navbar styles */ .navbar-brand { font-weight: bold; font-size: 1.2rem; } .navbar-dark .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.8); transition: color 0.2s; } .navbar-dark .navbar-nav .nav-link:hover { color: white; } .navbar-dark .navbar-nav .nav-link.active { color: white; } .dropdown-menu { animation: slideDown 0.2s ease; } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .dropdown-item { transition: background-color 0.2s; } .dropdown-item:hover { background-color: #f8f9fa; } .dropdown-item.active, .dropdown-item:active { background-color: #0d6efd; color: white; } /* Responsive navbar */ @media (max-width: 991px) { .navbar-collapse { margin-top: 1rem; } .d-flex.align-items-center.gap-2 { flex-direction: column; align-items: flex-start !important; margin-top: 1rem; } } #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 */ }