html {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

html::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

/* Estilos gerais */
body {
  background-color: #f4f4f4;
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

#h4-space {
  margin-top: 12px;
  margin-bottom: 5px;
}
/* Container geral */
.container-space {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* Barra de pesquisa */
.search-bar {
  display: flex;
  justify-content: center;
  margin: 20px 0;
  position: relative;
}
.search-form {
  width: 100%;
}

.search-bar #search-input {
  width: 100%;
  padding: 10px 45px 10px 20px;
  border-radius: 25px;
  border: 1px solid #ccc;
  font-size: 16px;
  margin: 0;
  box-sizing: border-box;
}

.icons-container {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
}

.icons-container label,
.icons-container button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 5px;
  margin: 0;
}

.icons-container img {
  width: 20px;
  height: 20px;
  margin-left: 10px;
}

.filter-checkbox {
  display: none;
}

.filters {
  display: none;
  position: absolute;
  top: 60px;
  right: 10px;
  width: 260px;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  padding: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  z-index: 100;
}

.filter-checkbox:checked + .icons-container + .filters {
  display: block;
}

.filters h4 {
  margin-top: 0;
  font-size: 16px;
  font-weight: bold;
  color: #333;
}

.filters label {
  display: block;
  margin-bottom: 10px; 
  margin-top: 6px;
}

.filters input[type="checkbox"] {
  margin-left: 2px;
}

/* Grade de Espaços */
.spaces-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 47px 18px;
  margin-top: 40px;
  justify-content: center;
  width: 100% !important;
}

.space-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #d9d9d9;
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  position: relative; /* Para o uso do position: absolute no grupo de ícones */
  height: 94%;
}
.space-item.disabled {
  background-color: #ce7e7e; 
  color: #a0a0a0;
}

.space-item.disabled:hover {
  background-color: #c57c7c;
}

.space-item:hover {
  background-color: #cccccc;
}

.space-item .space-name {
  text-decoration: none;
  color: black;
}

.space-item .menu-container {
  position: absolute;
  top: 10px;
  right: 10px;
}

.menu-button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.dropdown-menu {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.dropdown-menu.active {
  display: block;
}

.dropdown-item {
  display: block;
  padding: 5px 10px;
  text-decoration: none;
  color: black;
}

.dropdown-item:hover {
  background-color: #f0f0f0;
}

.delete-item {
  color: red;
}

/* Responsividade */
@media (max-width: 768px) {
  .spaces-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .filters {
    right: 20px;
  }
}

@media (max-width: 480px) {
  .spaces-grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .filters {
    top: 120px;
    right: 10px;
  }

  .search-bar input {
    width: 80%;
  }
}

label {
  display: block;
  margin: 0 0 9px;
  font-weight: bold;
}

input[type="text"], input[type="number"], input[type="file"] {
  width: 100%;
  padding: 10px;
  margin: 0 0 25px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#number-search {
  margin: 0;
  max-width: 70px;
}

/* Cadastrar Space */
.checkbox-group {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}

.checkbox-group div {
  text-align: center;
  display: block;
  unicode-bidi: isolate;
}

.checkbox-group label {
  display: block;
  text-align: center;
  margin-bottom: 5px;
}

#reservation_form label{
  margin-bottom: 10px;
}

.button-container-space {
  display: flex;
  justify-content: flex-end; /* Alinha o botão à direita */
  margin-top: 10px; /* Ajuste a margem conforme necessário */
}

.submit-tag {
  background-color: #28a745; /* Cor de fundo verde */
  color: rgb(0, 0, 0); /* Cor do texto */
  border: none;
  padding: 7px 13px; /* Espaçamento interno */
  border-radius: 5px; /* Borda arredondada */
  font-size: 16px; /* Tamanho da fonte */
  cursor: pointer; /* Muda o cursor para pointer */
  transition: background-color 0.3s; /* Transição suave */
}

.submit-tag:hover {
  background-color: darkgreen; /* Cor ao passar o mouse */
}

#span-space {
  margin-right: 10px;
  color: #002249;
  font-size: 15px;
  font-weight: bold;
}

.button-toggle-status {
  background-color: white;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 16px;
  padding: 5px 10px;
  cursor: pointer;
}

.flex-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.flex-item-reservation {
  margin-right: 20px;
}

/* Pending reservations */
.pending-list {
  width: 100%;
  font-family: Arial, sans-serif;
  background-color: #f0eaea;
}

.pending-row {
  display: flex;
  align-items: center;
  padding: 10px;
  margin-bottom: 10px; /* Espaço entre os itens */
  border-radius: 8px; /* Borda arredondada para os itens */
  background-color: #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Adiciona sombra */
}

.pending-row.header {
  font-weight: bold;
  color: #000000;
  background-color: transparent; /* Sem sombra e background para o cabeçalho */
  margin-bottom: 0; /* Remove o espaçamento do cabeçalho */
  box-shadow: none;
}

.pending-column {
  padding: 5px;
}

.pending-column.pending {
  display: flex;
  align-items: center;
  width: 30%;
}

.pending-column.start-date,
.pending-column.end-date,
.pending-column.booking-information,
.pending-column.status {
  width: 15%;
  text-align: center;
}

.pending-column.actions {
  width: 10%;
  display: flex;
  gap: 5px;
  justify-content: center;
}

.pending-info .name {
  font-weight: bold;
  margin: 0;
}

.pending-info .booking-information {
  font-size: 0.9em;
  color: #777;
  margin: 0;
}

.status-label {
  padding: 3px 8px;
  border-radius: 4px;
  color: white;
  font-size: 0.9em;
}

.status-label.inactive { background-color: #6c757d; }
.status-label.active { background-color: #28a745; }
.status-label.pending { background-color: #ffc107; }

.bt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background-color: #6c757d;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.bt.edit { background-color: #17a2b8; }
.bt.delete { background-color: #dc3545; }

.icone-cancel {
  text-align: center;
}

.details-space-group {
  flex: 1; 
  display: flex;
  flex-direction: column;
  gap: 8px;    
}

.icon-space-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  position: absolute;
  bottom: 10px; 
  left: 50%;
  transform: translateX(-50%); 
  /* min-height: 40px; */
}

.icon-space {
  width: 30px;
  height: 30px;
}

.toggle-checkbox {
  display: none; 
}

.menu {
  display: none; 
}

.toggle-checkbox:checked + .menu {
  display: block; 
}

/* Container do botão e do menu */
[data-controller="history-filter"] {
  position: relative;
}

/* Estilo do menu de filtros */
.history-filter-options {
  display: none;
  position: absolute;
  top: 50px; /* Alinha o topo do menu com o topo do botão */
  right: 5px; /* Posiciona o menu à direita do botão */
  margin-left: 10px; /* Espaçamento entre o botão e o menu */
  z-index: 10;
  padding: 10px;
  background-color: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #ddd;
}

.history-filter-options.active {
  display: block; /* Mostra o menu quando a classe active é adicionada */
}
