/* Reset básico */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

body {
    background-color: #36393f;
    color: white;
    display: flex;
    height: 100vh;
}

/* Container principal */
.container {
    display: flex;
    width: 100%;
}

/* Coluna à esquerda */
.sidebar {
    width: 250px;
    background-color: #2f3136;
    display: flex;
    flex-direction: column;
}

/* Estilos para a barra de rolagem */
.categories-section::-webkit-scrollbar,
#logs-container::-webkit-scrollbar {
    width: 8px;
}

.categories-section::-webkit-scrollbar-track,
#logs-container::-webkit-scrollbar-track {
    background: transparent;
}

.categories-section::-webkit-scrollbar-thumb,
#logs-container::-webkit-scrollbar-thumb {
    background-color: #444;
    border-radius: 4px;
}

.categories-section::-webkit-scrollbar-thumb:hover,
#logs-container::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}

/* Estilos para a foto de perfil e dropdown */
.profile-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid #40444b;
}

.profile-dropdown {
    position: relative;
    display: inline-block;
}

.profile-pic {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
}

.profile-info {
    display: flex;
    align-items: center; /* Alinha verticalmente os itens */
}

.profile-name {
    margin-left: 10px; /* Espaço entre o avatar e o nome */
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #40444b;
    min-width: 120px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    right: 0;
    margin-top: 5px;
}

.logout-button, .change-password-button {
    background-color: #7289da;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    text-align: left;
    margin-bottom: 5px;
}

.logout-button:hover, .change-password-button:hover {
    background-color: #5c6bc0;
}

.categories-header {
    flex-shrink: 0;
    padding: 20px;
}

.categories-header h1 {
    font-size: 24px;
    margin-bottom: 10px;
    text-align: center;
}

.categories-header .search-section {
    padding: 10px;
}

.category-header {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 10px;
    width: 100%;
    border-radius: 6px;
    transition: background-color 0.3s ease, transform 0.2s ease; /* Adiciona transição */
}

.category-header:hover,
.category-header.active {
    background-color: #40444b;
    transform: translateX(5px); /* Efeito de deslocamento */
}

.category-header.active {
    background-color: #7289da;
    color: white;
}

.categories-section {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 20px;
}

.categories-section h3 {
    margin-bottom: 5px;
    font-size: 18px;
    color: #b9bbbe;
}

.categories-section ul {
    list-style: none;
    padding-left: 10px;
    margin-bottom: 15px;
}

.categories-section ul li {
    margin-bottom: 5px;
}

.rooms li.room-item {
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 6px;
    padding-left: 20px; /* Adiciona mais recuo para subcategorias */
}

.rooms li.room-item {
    cursor: pointer;
    padding: 5px 10px;
    padding-left: 20px;
    transition: background-color 0.3s ease, transform 0.2s ease; /* Removendo a transição de cor */
}

.rooms li.room-item a {
    color: #b9bbbe; /* Mantendo a cor original */
    text-decoration: none; /* Removendo o sublinhado */
}

.rooms li.room-item:hover,
.rooms li.room-item.active {
    background-color: #40444b;
    transform: translateX(10px);
}

/* Área central */
.main-content {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.main-content header {
    margin-bottom: 20px;
    flex-shrink: 0;
}

.main-content header h2 {
    font-size: 20px;
}

/* Estilo dos logs */
.log {
    background-color: #40444b;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.log .category {
    color: #7289da;
    font-weight: bold;
}

.log .room {
    color: #b9bbbe;
    font-size: 14px;
}

.log .message {
    color: white;
    margin: 10px 0;
}

.log .time {
    color: #b9bbbe;
    font-size: 12px;
}

.log .user-id {
    color: #99aab5;
    font-size: 14px;
    margin-top: 2px;
    margin-bottom: 5px;
}

#category-search {
    width: 100%;
    padding: 8px;
    border: 1px solid #40444b;
    background-color: #2f3136;
    color: white;
    border-radius: 5px;
    flex-shrink: 0;
}

#category-search:focus {
    outline: none;
    border-color: #7289da;
}

/* Estilos para os filtros de logs */
.logs-filter {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    flex-shrink: 0;
    background-color: #2f3136; /* Cor de fundo compatível com o seu sidebar */
    padding: 10px;
    border-radius: 5px;
}

.logs-filter input[type="text"],
.logs-filter input[type="datetime-local"],
.logs-filter select { /* Inclui o elemento select */
    padding: 8px;
    margin-right: 10px;
    border: 1px solid #40444b;
    background-color: #2f3136;
    color: white;
    border-radius: 5px;
}

.logs-filter input[type="text"]:focus,
.logs-filter input[type="datetime-local"]:focus,
.logs-filter select:focus { /* Inclui o elemento select */
    outline: none;
    border-color: #7289da;
}

.logs-filter button {
    padding: 8px 12px;
    background-color: #7289da;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease; /* Adicionando transições */
}

.logs-filter button:hover {
    background-color: #5c6bc0;
    transform: translateY(-2px); /* Efeito de elevação */
}

.logs-filter button:active {
    transform: scale(0.95); /* Efeito de clique */
}

/* Estilo para o campo de entrada de user_id */
.logs-filter input#user-id-search {
    padding: 8px;
    margin-right: 10px;
    border: 1px solid #40444b;
    background-color: #2f3136;
    color: white;
    border-radius: 5px;
}

.logs-filter input#user-id-search:focus {
    outline: none;
    border-color: #7289da;
}

/* Estilo para o menu de seleção de período */
.logs-filter select#time-filter {
    padding: 8px;
    margin-right: 10px;
    border: 1px solid #40444b;
    background-color: #2f3136;
    color: white;
    border-radius: 5px;
}

.logs-filter select#time-filter:focus {
    outline: none;
    border-color: #7289da;
}

.modal {
    display: none; /* Inicialmente oculto */
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4); /* Fundo semi-transparente */
}

.modal-content {
    background-color: #2f3136; /* Cor de fundo do modal */
    margin: 15% auto; /* Centraliza o modal verticalmente */
    padding: 20px;
    border: 1px solid #888;
    width: 30%; /* Largura do modal */
    border-radius: 5px;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: white;
}

/* Estilos para o formulário de alteração de senha */
#change-password-form label {
    display: block;
    margin-bottom: 5px;
}

#change-password-form input[type="password"] {
    width: 100%;
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid #40444b;
    background-color: #2f3136;
    color: white;
    border-radius: 5px;
}

#change-password-form input[type="password"]:focus {
    outline: none;
    border-color: #7289da;
}

#change-password-form button[type="submit"] {
    background-color: #7289da;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
}

#change-password-form button[type="submit"]:hover {
    background-color: #5c6bc0;
}

/* Estilo para logs-container */
#logs-container {
    flex: 1;
    overflow-y: auto;
}

/* Estilos para a seção de gerenciamento de usuários */
#userManagementSection {
    margin: 20px;
    padding: 20px;
    background-color: #2c3e50; /* Cor de fundo similar ao painel */
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    color: #ecf0f1; /* Cor do texto similar ao painel */
}

#userManagementSection h2 {
    color: #3498db; /* Cor do título */
    margin-bottom: 20px;
}

#userManagementSection table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

#userManagementSection th,
#userManagementSection td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #34495e; /* Cor da borda da tabela */
}

#userManagementSection th {
    background-color: #34495e; /* Cor de fundo do cabeçalho da tabela */
    font-weight: 600;
}

#userManagementSection tbody tr:hover {
    background-color: #34495e; /* Cor de fundo ao passar o mouse */
}

#userManagementSection button {
    padding: 8px 15px;
    margin: 5px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease;
}

#userManagementSection button#createUserButton {
    background-color: #27ae60; /* Cor do botão de criar usuário */
    color: #ecf0f1;
}

#userManagementSection button.editUserButton {
    background-color: #3498db; /* Cor do botão de editar usuário */
    color: #ecf0f1;
}

#userManagementSection button.deleteUserButton {
    background-color: #e74c3c; /* Cor do botão de excluir usuário */
    color: #ecf0f1;
}

#userManagementSection button:hover {
    opacity: 0.8;
}

#manageUsersLink {
    display: block; /* Garante que o botão seja um elemento de bloco */
    width: fit-content; /* Ajusta a largura do botão ao conteúdo */
    margin: 10px auto; /* Centraliza o botão horizontalmente e adiciona margem vertical */
    padding: 8px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease;
    background-color: #3498db;
    color: #ecf0f1;
}

#manageUsersLink:hover {
    opacity: 0.8;
}

/* Ajuste na ordem dos elementos */
.categories-header {
    display: flex;
    flex-direction: column; /* Coloca os elementos em coluna */
    align-items: center; /* Centraliza os elementos horizontalmente */
}

.categories-header h1 {
    margin-top: 10px; /* Adiciona margem acima do título "Logs" */
}

.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-content.create-user-modal {
    background-color: #282c34;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    width: 400px;
    color: #abb2bf;
}

.modal-title {
    color: #61afef;
    margin-bottom: 20px;
    text-align: center;
}

.close {
    color: #abb2bf;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #c2c2c2;
    text-decoration: none;
}

.create-user-form .form-group {
    margin-bottom: 15px;
}

.create-user-form label {
    display: block;
    margin-bottom: 5px;
}

.create-user-form input[type="text"],
.create-user-form input[type="email"],
.create-user-form input[type="password"],
.create-user-form input[type="number"] {
    width: calc(100% - 12px);
    padding: 6px;
    border: 1px solid #5c6370;
    border-radius: 4px;
    background-color: #3b4048;
    color: #abb2bf;
}

.create-user-button {
    background-color: #61afef;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    width: 100%;
}

.create-user-button:hover {
    background-color: #4a98d8;
}

#createUserModal {
    display: none 
}

#password-modal {
    display: none
}

#editUserModal {
    display: none
}

#editUserModal.show {
    display: block;
}

.log-image {
    max-width: 200px; /* Ajuste o tamanho conforme necessário */
    height: auto;
    display: block;
    margin-top: 5px;
}

.imagem-clicavel {
    cursor: pointer;
}

.log .message {
    color: white;
    margin: 10px 0;
    overflow-wrap: anywhere; /* Quebra qualquer sequência de caracteres */
}