html, body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  height: 100vh;
  background-color: #f8f9fa;
  display: flex;
  flex-direction: column;
}

.layout {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.mapa-section {
  height: calc(100vh - 35px);
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#mapa {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  z-index: 1;
}

/* ========================
   ÍCONES DOS MARCADORES
======================== */
.emoji-marker {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  border-radius: 50%;
  border: 3px solid black;
  width: 36px;
  height: 36px;
}

/* ========================
   CORES POR TIPO DE PERFIL
======================== */
.icone-prestador {
  border-color: #ff8800;
}

.icone-cliente {
  border-color: #00ff66;
}

.icone-ambos {
  border-color: #00ccff;
}