Brazilian workers on Thursday blocked roads and staged protest rallies across the country in a day of industrial action called by major unions to press demands for better work conditions.
The "National Day of Struggles" was called by the country's five leading labor federations during last month's mass street protests to demand better public services and an end to endemic corruption.
The unions are demanding better wages, shorter working hours, job security, improved public transport and bigger investments in public health and education.
In the huge Sao Paulo metropolitan area, home to 20 million people, a peaceful march by demonstrators blocked traffic on several roads as they converged on the central Avenida Paulista.
"We want things to improve in the country. We are marching because health and education are in crisis in Brazil. There must be a change," said Rosely Paschetti, a 49-year-old Sao Paulo municipal employee.
"More taxes for the rich, fewer taxes for the poor," read a huge banner.
In nearby Sao Jose dos Campos, the Metalworkers Union said more than 15,000 workers from 20 local plants were taking part in strikes and demonstrations.
Among companies affected were General Motors, where a 24-hour strike was in effect, and Embraer, Brazil's top planemaker, a union statement said.
"The protests that shook the country in the past few weeks proved that only the struggle brings victory. It is time to demand that the federal government change its economic policy and take measures in support of workers," Antonio Ferreira de Barros, president of the Metalworkers Union, said.
In Rio, mass transit was operating normally at the request of unions which called on the public to join a protest march in the city center later in the day.
Banks and shops were closed for fear of looting and ransacking.
In other major cities such as Salvador de Bahia, Porto Alegre, Belo Horizonte, Curitiba, Florianopolis, Fortaleza and Manaus, public transport was seriously disrupted.
Several schools closed and in some hospitals around the country, only emergency services were operating.
Access to the Suape port and industrial complex in the northeastern state of Pernambuco, which employs 75,000 workers, was also blocked.
In the port of Santos, Latin America's biggest, dockworkers also joined the national protest.
Wednesday, Santos port activity was disrupted for several hours when stevedores went on strike, complaining that Embraport, the largest Brazilian private multi-modal port terminal, is not hiring through the state-run labor management agency OGMO, which places union members in jobs.
The workers fear that bypassing OGMO will make it possible for private companies to recruit non-unionized workers who will accept lower wages.
The dockworkers also fear that legislation passed by Congress in May will mean loss of jobs and benefits as private port operators are no longer required to hire through OGMO.
Top unions meanwhile appear divided on whether to support President Dilma Rousseff who last month vowed to hear "the voices of the street" and pledged to boost investments in public transport, health and education.
The country's biggest labor federation, the Unified Workers' Central commonly known by the acronym CUT and founded in the 1980's by ex-president Luiz Inacio Lula da Silva (2003-2010), backs Rousseff's proposal for a popular plebisicite to usher in broad political reform.
It seeks to ensure that Thursday's protests do not directly target the president but instead take aim at the discredited Congress.
But the Forca Sindical union chided the government over rising inflation, which reached an annualized 6.7 percent in June, above the 6.5 percent upper limit of the government target.
"Workers' salaries are being eroded by the rising inflation," said its president, Paulo Pereira da Silva, in a statement.
"We hope that the president (Rousseff) will respond to our demands. Already she sat down with us three times and nothing came of it. If she fails to meet our demands, we will continue to mobilize," he added.