/** @format */
html {
	margin: 0;
	font-size: 1rem;
}

body {
	font-size: 1rem;
	margin: 0;
	margin-top: 10px;
	/* background-image: url(fundo.png); */
	background-color: rgb(40, 51, 61);
	font-family: 'Roboto', sans-serif;
	color: #000;
	padding: 0;
}

#login {
	display: flex;
	margin: auto;
	margin-top: 40px;
	background-color: #fff;
	align-items: center;
	justify-content: center;
	padding: 50px 0px;
	flex-direction: column;
	width: 30%;
}
#login input {
	padding: 5px;
	width: 80%;
	border: solid 1px;
	border-radius: 5px;
	padding: 10px;
	box-sizing: border-box;
	font-size: 1.2rem;
}
#login button {
	background-color: rgb(40, 51, 61);
	border-radius: 5px;
	border: none;
	color: #fff;
	padding: 5px 10px;
	width: 80%;
	font-size: 1.2rem;
}
ion-icon {
	font-size: 1.5rem;
}
ion-icon:hover {
	cursor: pointer;
}
button {
	background-color: rgb(40, 51, 61);
	border-radius: 5px;
	border: none;
	color: #fff;
	padding: 10px 10px;
	margin-top: 20px;
	font-size: 1.5rem;
}
button:hover {
	cursor: pointer;
	background-color: rgb(55, 89, 119);
}
#menus {
	display: none;
	margin: auto;
	margin-top: 20px;
	padding: 20px;
	width: 25%;
	background-color: #fff;
	border: solid 1px;
	border-radius: 5px;
	flex-direction: column;
	gap: 20px;
}

.opcoesMenu {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px;
	width: 100%;
	font-size: 1.5rem;
}

.opcoesMenu ion-icon {
	font-size: 2rem;
}
.opcoesMenu:hover {
	cursor: pointer;
	background-color: rgb(55, 89, 119);
	color: #fff;
	border-radius: 5px;
	padding: 5px;
}
.loader {
	display: none; /* começa escondido */
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background-color: rgba(255, 255, 255, 0.6);
	width: 100%;
	height: 100%;
}

.loader img {
	width: 40px;
	height: 40px;
	animation: girar 1s linear infinite;
	margin: auto;
}

@keyframes girar {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

#frmAddDespesas,
#formAddReceitas,
#formAddCategorias,
#frmAddDespesasParceladas {
	display: none;
	background-color: #fff;
	flex-direction: column;
	padding: 20px;
	font-size: 1.5rem;
	width: 40%;
	margin: auto;
}

#frmAddDespesas,
#formAddCategorias,
#frmAddDespesasParceladas,
#formAddReceitas ion-icon {
	font-size: 2rem;
}
.cabecalhoForms {
	display: flex;
	font-size: 1.8rem;
	font-weight: bold;
	justify-content: space-between;
	margin-bottom: 10px;
}

label {
	margin-top: 20px;
}
input,
select {
	padding: 10px;
	font-size: 1.5rem;
	border: solid 1px;
	border-radius: 5px;
	background-color: #fff;
}

#consultaDespesas,
#consultaReceitas,
#consultaResumo,
#listaCategorias {
	display: none;
	background-color: #fff;
	flex-direction: column;
	padding: 20px;
	font-size: 1.5rem;
	width: 40%;
	margin: auto;
}
#dadosCD,
#dadosCR {
	display: flex;
	flex-direction: column;
	margin-top: 40px;
}
#dadosCD div {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	border: solid 1px;
	border-radius: 5px;
	margin-bottom: 5px;
	padding: 10px;
	gap: 5px;
	margin-top: 10px;
}
#dadosCR div {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	border: solid 1px;
	border-radius: 5px;
	margin-bottom: 5px;
	padding: 10px;
	gap: 5px;
	margin-top: 10px;
}

#dadosCD div div {
	display: flex;
	flex-direction: column;
	border: none;
}

#dadosCR div div {
	display: flex;
	flex-direction: column;
	border: none;
}

#anoCd,
#mesCd,
#anoCR,
#mesCR {
	box-sizing: border-box;
	width: 100%;
}
#criteriosCD,
#criteriosCR {
	display: flex;
	gap: 10px;
	flex-direction: column;
	width: 80%;
	margin: auto;
}
#cabecalhoCD,
#cabecalhoCR {
	display: flex;
	justify-content: left;
	gap: 20px;
	border-bottom: solid 1px #ccc;
	align-items: center;
	padding: 10px;
}

#cabecalhoCD,
#cabecalhoCR ion-icon {
	font-size: 2rem;
}

#criteriosCD,
#criteriosCR button {
	padding: 5px 10px;
}
hr {
	border: 0; /* Remove a borda padrão */
	border-top: 1px solid #ccc; /* Define espessura, tipo e cor */
	width: 100%; /* Define a largura */
	margin: 20px auto; /* Centraliza e dá espaçamento */
}

#anoCResumo {
	width: 8ch;
	padding: 5px;
}

#criteriosCResumo {
	margin-top: 10px;
}

#anoConsultaResumo {
	display: flex;
	gap: 10px;

	overflow-x: auto;
	overflow-y: hidden;

	white-space: nowrap;

	padding-bottom: 5px;
}

#anoConsultaResumo button {
	flex: 0 0 auto;

	padding: 8px 16px;
	border: none;
	border-radius: 6px;
	cursor: pointer;

	background: rgb(55, 89, 119);
	color: white;

	font-size: 1.5rem;
	transition: 0.2s;
}

#anoConsultaResumo::-webkit-scrollbar {
	height: 6px;
}

#anoConsultaResumo::-webkit-scrollbar-thumb {
	background: #999;
	border-radius: 10px;
}

#logo {
	width: 200px;
	height: auto;

	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 9999; /* Garante que a imagem fique sobre outros elementos */
}

#dados div {
	display: flex;
	align-items: center;
	border: solid 1px #ccc;
	border-radius: 5px;
	margin-top: 5px;
	padding: 10px;
	justify-content: space-between;
}

@media (max-width: 768px) {
	#logo {
		display: block;
		margin: auto;
		position: relative;
		margin-top: 20px;
		width: 200px;
		height: auto;

		z-index: -1;
	}

	#login {
		display: flex;
		margin: auto;
		margin-top: 40px;
		background-color: #fff;
		align-items: center;
		justify-content: center;
		padding: 50px 0px;
		flex-direction: column;
		width: 100%;
	}

	#menus {
		display: none;
		margin: auto;
		margin-top: 20px;
		padding: 20px;
		width: 100%;
		background-color: rgba(255, 255, 255, 0.9);
		border-radius: 5px;
		border: none;
		flex-direction: column;
		gap: 20px;
		box-sizing: border-box;
	}

	#frmAddDespesas,
	#formAddReceitas,
	#formAddCategorias {
		display: none;
		background-color: #fff;
		flex-direction: column;
		padding: 20px;
		font-size: 1.5rem;
		width: 100%;
		box-sizing: border-box;
	}

	#consultaDespesas,
	#consultaReceitas,
	#consultaResumo,
	#listaCategorias {
		display: none;
		background-color: #fff;
		flex-direction: column;
		padding: 20px;
		font-size: 1.5rem;
		width: 100%;
		box-sizing: border-box;
	}
}
