/* Regras globais */
html {
	overflow: hidden !important;
}
body {
	height: 100vh;
	overflow: hidden !important;
	min-height: 650px !important;
	min-width: 1090px !important;
}
.body_login {
	display: flex;
	justify-content: center;
	align-items: center;
}
/* Elementos comuns */
label {
	font-size: 0.7rem;
	margin-top: 5px;
}
.form-control {
	font-family: monospace;
	font-size: 1.05em;
	margin-bottom: 0.1em;
}
.form-group.has-checkbox {
	position: relative;
	text-align: center;
	top: -31px;
	display: inline-grid;
	margin-bottom: -31px;
}
.form-check-input[type=checkbox] {
	border-radius: .25em;
	padding: 1.163em;
	margin: 0px auto !important;
	margin-bottom: 0.1em !important;
}
.form-control.is-invalid {
	padding-right: 0px !important;
	background-size: 0.875em 0.875em;
	background-position: right 0.375em top 0.375em;
}
.input-group .form-control:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
input[type="file"]::-webkit-file-upload-button {
	display: none; /* Para navegadores WebKit (Chrome, Safari, etc.) */
}
input[type="file"]::file-selector-button {
	display: none; /* Para Firefox */
}
#user-name {
	text-transform: capitalize;
	overflow-wrap: break-word;
}
/* Containers principais */
.container-fluid {
	padding: 0px !important;
}
.login-container {
	max-width: 400px;
	width: 100%;
	margin: -100px auto 0px auto;
}
.login-container input {
	margin-bottom: 0px !important;
}
.login-container .btn-blind {
	margin-bottom: 0px !important;
}
.login-image {
	width: 50%;
	height: auto;
	margin-bottom: 20px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.custom-button {
	margin: 10px auto;
	width: 90%;
}
#logo {
	padding: 0px 10px;
	margin-top: 15px;
}
.icon-placeholder {
	font-size: 3rem;
	display: none;
}
/* Menu principal */
.menu-bar {
	padding: 15px;
	min-width: 100px;
}
.menu-bar .btn {
	width: 100%;
	margin-bottom: 10px;
}
.menu-bar .menu-header img, .menu-bar .menu-header i {
	max-width: 150px;
	max-height: 150px;
	margin-bottom: 10px;
	position: static;
	float: none;
}
.menu-bar .btn_eye {
	border: var(--bs-border-width) solid var(--bs-border-color) !important;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-left: none !important;
}
.menu-bar .btn_eye .fa-eye {
	color: var(--bs-body-color);
}
.menu-bar .menu-items {
	width: 100%;
}
.menu-items .btn {
	width: 100%; /* Botões ocupam toda a largura */
}
.menu-items .dropdown .dropdown-menu li button {
	margin-bottom: 5px !important;
}
.dropdown-menu {
	min-width: 100%;
}
/* Modal e formulários */
.modal {
	width: auto;
	--bs-modal-width: auto;
	height: auto;
	padding: 0px;
	margin: 0px;
	overflow-y: hidden !important;
}
.modal-max {
	--bs-modal-border-radius: 0px !important;
	--bs-modal-inner-border-radius: 0px !important;
}
.modal-header {
	cursor: grab;
	padding: 10px 15px;
}
.modal-header:active {
	cursor: grabbing;
}
.modal-header h5, .modal-header .h5 {
	font-size: 1.5rem;
}
.modal-body {
	flex-grow: 1;
	overflow: hidden;
}
.modal-body form div {
	display: inline-block;
	margin-right: 0.96em;
}
.modal.show .modal-dialog {
	margin-right: 0px !important;
	padding-right: 0px;
	min-width: 1px;
	position: relative;
	display: block;
	overflow: hidden;
}
.form-personalisa {
	display: flex !important;
	margin-right: 0px !important;
	width: 303px;
	padding: 0px;
}
.form-personalisa button {
	float: right;
	margin-right: 0px !important;
	margin-top: 0px !important;
}
.form-personalisa input {
	margin-bottom: 0px !important;
}
.form-personalisa label {
	margin-top: 10px !important;
}
form button {
	float: right;
	margin-right: 1.21em;
	margin-top: 2em;
}
/* Botões e elementos de interface */
.buttons-group {
	display: flex !important;
	justify-content: flex-end;
	margin-right: 0px !important;
}
.btn-blind {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 2px;
	width: 48px;
}
.preview-imagem, .reduzido .menu-bar .user_imagem {
	width: 100px;
	height: 100px;
	float: right;
	display: inline-block;
	top: 2px;
	position: absolute;
	right: 23px;
	border-radius: 50%;
	background-color: #595555;
	background-image: url("../imagens/user.png");
	background-size: 100% 100%;
	font-size: 0;
	color: transparent;
}
.user_imagem {
	display: inline-block;
	border-radius: 50px;
	margin-top: 15px;
	margin-bottom: 14px !important;
	height: 120px !important;
	width: 120px !important;
}
.label_foto {
	display: block;
}
.input-foto-usuario {
	display: inline-block;
}
.invertida {
	filter: invert(100%);
}
.menu-header img {
	max-width: 150px;
	max-height: 150px;
	margin-bottom: 10px;
	position: static;
	float: none;
}
.corpo {
	display: inline-block;
	position: absolute;
	top: 0px;
}
#resize-menu {
	width: 100%; /* Largura do botão de redução do menu */
}
.mt-auto {
	margin-top: auto;
}
/* Estilo para menu reduzido */
.reduzido .menu-bar {
	width: 100px !important;
}
.reduzido .conteudo > .container-fluid {
	width: calc(100vw - 100px) !important;
}
.reduzido .max, .reduzido .modal-max {
	width: calc(100vw - 100px) !important;
	left: 100px !important;
}
.reduzido .menu-bar .dropdown button span, .reduzido .menu-bar .mb-2 button span, .reduzido #resize-menu span {
	display: none; /* Esconde o texto de todos os botões */
}
.reduzido .menu-bar > .dropdown > button i, .reduzido .menu-bar > .mb-2 > button i {
	display: inline-block;
	margin-right: 0;
}
.reduzido .menu-bar .menu-header img {
	max-width: 80px;
	max-height: 80px;
	margin-bottom: 10px;
	position: static;
	float: none;
}
.reduzido .menu-bar .user_imagem {
	margin-top: 15px;
	margin-bottom: 14px !important;
	height: 60px;
	width: 60px;
}
/* Mídia queries */
@media (min-width: 576px) {
	.modal {
		margin: 0;
	}
}
@media (max-height: 835px) {
	.menu-bar .dropdown button, .menu-bar .mb-2 button {
		padding-bottom: 2px;
		padding-top: 2px;
		margin-bottom: 3px;
	}
}
@media (max-height: 651px) {
	body.reduzido .menu-bar {
		width: 110px !important;
	}
	body.reduzido .menu-bar .menu-items {
		overflow-x: visible;
		overflow-y: scroll;
		scrollbar-width: thin; /* Para navegadores como Firefox */
		scroll-padding: 0px;
		scroll-snap-align: start;
		scroll-snap-type: none;
		padding-right: 3px; /* Margem entre o conteúdo e o scroll */
		position: relative;
		z-index: 1; /* Define o z-index para garantir que o submenu possa ser sobreposto */
	}
	/* Estilização do scroll para navegadores Webkit (Chrome, Safari) */
	body.reduzido .menu-bar .menu-items::-webkit-scrollbar {
		width: 3px;
	}
	body.reduzido .menu-bar .menu-items::-webkit-scrollbar-thumb {
		background-color: #999; /* Cor da barra de rolagem */
		border-radius: 3px;
	}
	body.reduzido .menu-bar .menu-items::-webkit-scrollbar-track {
		background: transparent; /* Faz o trilho do scroll ficar invisível */
	}
	/* Ocultando trilho do scrollbar no Firefox */
	body.reduzido .menu-bar .menu-items {
		scrollbar-color: #999 transparent;
	}
	/* Estilização do submenu para aparecer sobre o scroll */
	body.reduzido .menu-bar .menu-items .dropdown-menu {
		position: fixed !important;
		z-index: 2;
		top: 0px !important;
		left: 0px !important;
		min-width: fit-content;
		min-height: min-content;
	}
	#menu_config {
		transform: translate(16px, 395px) !important;
	}
}
@media (max-height: 712px) {
	body:not(.reduzido) .menu-bar .menu-items {
		width: calc(100% + 15px);
	}
	body:not(.reduzido) .menu-bar .menu-items {
		overflow-x: visible;
		overflow-y: scroll;
		scrollbar-width: thin; /* Para navegadores como Firefox */
		scroll-padding: 0px;
		scroll-snap-align: start;
		scroll-snap-type: none;
		padding-right: 3px; /* Margem entre o conteúdo e o scroll */
		position: relative;
		z-index: 1; /* Define o z-index para garantir que o submenu possa ser sobreposto */
	}
	/* Estilização do scroll para navegadores Webkit (Chrome, Safari) */
	body:not(.reduzido) .menu-bar .menu-items::-webkit-scrollbar {
		width: 3px;
	}
	body:not(.reduzido) .menu-bar .menu-items::-webkit-scrollbar-thumb {
		background-color: #999; /* Cor da barra de rolagem */
		border-radius: 3px;
	}
	body:not(.reduzido) .menu-bar .menu-items::-webkit-scrollbar-track {
		background: transparent; /* Faz o trilho do scroll ficar invisível */
	}
	/* Ocultando trilho do scrollbar no Firefox */
	body:not(.reduzido) .menu-bar .menu-items {
		scrollbar-color: #999 transparent;
	}
	/* Estilização do submenu para aparecer sobre o scroll */
	body:not(.reduzido) .menu-bar .menu-items .dropdown-menu {
		position: fixed !important;
		z-index: 2;
		top: 0px !important;
		left: 0px !important;
		min-width: fit-content;
		min-height: min-content;
	}
	#menu_config {
		transform: translate(16px, 395px) !important;
	}
}
.footer {
	position: relative;
}
.container-footer {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
}
.status-icons {
	position: relative;
	padding: 4px 15px 0px 10px;
	border-radius: 5px;
	display: inline-block;
	float: right;
}
/* Estilos para os ícones de status no rodapé */
#status-icons i {
	color: #ffffff;
	margin-right: 10px;
	font-size: 18px;
}
#status-icons i.text-success {
	color: #28a745;
}
#status-icons i.text-danger {
	color: #dc3545;
}
/*listas*/
.modal .max .modal-header, .modal.max, .max {
	--bs-modal-border-radius: 0px !important;
	--bs-modal-inner-border-radius: 0px !important;
}
.max, .modal-max {
	width: calc(-15% + 100vw) !important;
	left: calc(-85% + 100vw) !important;
	top: 0px;
	right: 0px;
	position: absolute;
}
.lista-container {
	position: relative;
	overflow: visible;
	height: calc(-177px + 100vh);
	box-sizing: border-box;
	padding-bottom: 20px;
	padding-right: 20px;
	border-collapse: collapse;
	border-bottom: var(--bs-modal-border-color) solid 1px;
	border-right: var(--bs-modal-border-color) solid 1px;
	border-left: var(--bs-modal-border-color) solid 1px;
}
/* Estilização do SimpleBar */
.simplebar-track {
	background: transparent !important;
}
.simplebar-track.simplebar-vertical {
	width: 20px !important;
	height: 100% !important;
	right: 0; /* Mantendo a barra no limite direito */
}
.simplebar-scrollbar:before {
	background-color: #555 !important;
	opacity: 1 !important;
	border-radius: 10px !important;
}
/* Polegar vertical */
.simplebar-track.simplebar-vertical .simplebar-scrollbar {
	top: 0px !important;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar, .simplebar-track.simplebar-vertical {
	width: 20px !important;
	right: 0 !important;
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar.simplebar-visible {
	top: 45px !important;
}
.simplebar-scrollbar.simplebar-vertical:before {
	border-left: 2px solid #000 !important;
	min-height: 10px !important;
}
/* Polegar horizontal */
.simplebar-track.simplebar-horizontal .simplebar-scrollbar, .simplebar-track.simplebar-horizontal {
	height: 20px !important;
	bottom: 0 !important;
	right: 25px;
	display: block !important;
}
.simplebar-scrollbar.simplebar-horizontal:before {
	border-top: 2px solid #000 !important;
	min-width: 10px !important;
}
/* Efeitos de hover */
.simplebar-scrollbar:hover:before {
	background-color: #333 !important;
}
/* Efeitos de active */
.simplebar-scrollbar:active:before {
	background-color: #111 !important;
}
.ferramentas-barra {
	display: inline-flex;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background-color: #212529;
	padding-bottom: 12px;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}
.ferramentas-barra button, .ferramentas-barra div {
	margin-right: 13px;
}
.ferramentas-barra div .busca-input {
	margin-right: -38px;
	border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius);
	width: 35em;
}
.ferramentas-barra div button {
	border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
	border-top-width: 2px;
	margin-top: -1px;
}
.ferramentas-barra div select {
	width: 20em;
	color: var(--bs-body-color);
	font-family: monospace;
	font-size: 1.05em;
	font-weight: 400;
}
.busca-container {
	display: inline-flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
}
.list-group {
	display: table;
	width: auto;
	border-collapse: collapse;
	overflow: auto;
	position: relative;
	white-space: nowrap;
	table-layout: fixed;
	margin-left: -1px;
}
/* Estilizando o cabeçalho */
.list-group-item.cabecalho {
	display: table-row;
	position: sticky;
	top: 0px;
	z-index: 5;
	box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);
	border: none;
	background-color: #006400;
}
.list-group-item.cabecalho .coluna {
	display: table-cell;
	padding: 8px;
	text-align: center;
	border: none;
	vertical-align: middle;
	background-color: var(--bs-title-modal-bg-color);
	text-shadow: var(--bs-title-text-shadow);
	color: rgb(222, 226, 230);
	font-weight: 400;
	font-size: 1rem;
	position: relative;
}
.list-group-item.cabecalho .coluna::after {
	content: '';
	position: absolute;
	top: 0;
	left: -1px;
	right: 0;
	bottom: 0;
	border: 1px solid #888;
	border-collapse: collapse;
	border-top-color: var(--bs-title-modal-bg-color);
	border-bottom-color: var(--bs-title-modal-bg-color);
	pointer-events: none;
}
/* Estilizando as linhas de dados */
.list-group-item {
	display: table-row;
}
.list-group-item:not(.cabecalho) .coluna {
	display: table-cell;
	padding: 8px;
	border: 1px solid var(--bs-border-color);
	text-align: left;
	font-size: 0.8rem;
	vertical-align: middle;
	white-space: nowrap;
}
/* Alterando a aparência das linhas alternadas */
.list-group-item:nth-child(even):not(.cabecalho) {
	background-color: #3d3d3d;
}
.list-group-item:hover:not(.cabecalho) {
	background-color: #e8e8e882;
}
/* form criador de forms */
.form_criador {
	margin-top: 15px;
	padding-left: 15px;
	border-top: var(--bs-modal-border-color) solid 1px;
	border-radius: var(--bs-border-radius);
}
.form_criador .form-group {
	margin-top: 10px;
    display: flex;
    width: 100%;
    gap: 1em;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
.form_criador .modal-body form div {
	margin-right: 0px !important;
}
.form-group .form-group.has-checkbox {
	top: 0px;
	display: -webkit-inline-box;
	width: 16em;
	border-radius: var(--bs-border-radius-lg);
	padding: 10px 15px;
	background-color: var(--bs-title-modal-bg-color);
	text-shadow: var(--bs-title-text-shadow);
	height: 39px;
	margin-bottom: 0px;
	margin-right: 0px;
}
.form-group .form-group.has-checkbox label {
	display: inline;
	align-content: center;
	font-size: 1.5em;
	font-weight: 400;
	font-variant-caps: all-small-caps;
	margin-right: 5px;
	float: right;
	width: 100%;
	text-align: right;
	padding-right: 26px;
	vertical-align: middle;
	margin-top: -12px;
}
.form-group .form-group.has-checkbox input {
	float: right;
	width: 0px !important;
	margin: 0px 0px !important;
	display: inline;
	position: absolute;
	right: 15px;
	bottom: 8px;
}
.form-group .form-group.has-checkbox .form-check-input[type=checkbox] {
	padding: 0.5em !important;
}
.form_criador .form-group input {
	gap: 10px;
	margin-bottom: 0px;
}
.form_criador .form-group .form-group.has-checkbox {
	margin-top: 0px;
}
.form_criador .simplebar-track.simplebar-vertical .simplebar-scrollbar.simplebar-visible {
	top: 0px !important;
}
.form_criador .simplebar-content {
	display: grid !important;
}
.form_criador .simplebar-content div, .form_criador .simplebar-content div div, .form_criador .simplebar-content div div div, .form_criador .simplebar-content div div input{
	display: flex;
	margin: 10px 0px 0px 0px;
}
.form_criador .simplebar-track.simplebar-vertical {
	right: -12px !important;
}
.form_criador .buttons-group {
	margin: 0px 0px 33px 0px !important;
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: nowrap;
	max-width: 100%;
}


.form_criador .form-group input[type="number"] {
	-moz-appearance: textfield; /* Remove as setas no Firefox */
}
.form_criador .form-group input[type="number"]::-webkit-inner-spin-button, .form_criador .form-group input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none; /* Remove as setas no Chrome, Safari, Edge e Opera */
	margin: 0;
}
.form_criador .form-group input[id*="form_name"], .form_criador .form-group div[id*="form_name"] {
	width: 20em;
}
.form_criador .form-group input[id*="input_names"], .form_criador .form-group div[id*="input_names"] {
	width: 15em;
}
.form_criador .form-group input[id*="input_titulos"], .form_criador .form-group div[id*="input_titulos"] {
	width: 15em;
}
.form_criador .form-group input[id*="input_types"], .form_criador .form-group div[id*="input_types"] {
	width: 10em;
}
.form_criador .form-group input[id*="quantia_op_select"], .form_criador .form-group div[id*="quantia_op_select"] {
	width: 10em;
}
.form_criador .form-group input[id*="input_sizes"], .form_criador .form-group div[id*="input_sizes"] {
	width: 10em;
}
.form_criador .form-group input[id*="input_functions"], .form_criador .form-group div[id*="input_functions"] {
	width: 10em;
}
.form_criador .form-group input[id*="button_names"], .form_criador .form-group div[id*="button_names"] {
	width: 10em;
}
.form_criador .form-group input[id*="button_titulo"], .form_criador .form-group div[id*="button_titulo"] {
	width: 15em;
}
.form_criador .form-group input[id*="button_types"], .form_criador .form-group div[id*="button_types"] {
	width: 10em;
}
.form_criador .form-group input[id*="form_action"], .form_criador .form-group div[id*="form_action"] {
	width: 10em;
}
.form_criador .form-group input[id*="form_action_url"], .form_criador .form-group div[id*="form_action_url"] {
	width: 20em;
}
.form_criador .form-group input[id*="unica"], .form_criador .form-group div[id*="unica"] {
	width: 10em;
}
.form_criador .form-group input[id*="titulo_modal"], .form_criador .form-group div[id*="titulo_modal"] {
	width: 15em;
}
.form_criador .form-group input[id*="atualiza_abrir"], .form_criador .form-group div[id*="atualiza_abrir"] {
	width: 10em;
}
.form_criador .form-group input[id*="funcao_consulta"], .form_criador .form-group div[id*="funcao_consulta"] {
	width: 20em;
}
.form_criador .form-group input[id*="tabela_consultar_dados"], .form_criador .form-group div[id*="tabela_consultar_dados"] {
	width: 20em;
}
.form_criador .form-group input[id*="style"], .form_criador .form-group div[id*="style"] {
	width: 15em;
}
.form_criador .form-group input[id*="required"], .form_criador .form-group div[id*="required"] {
	width: 10em;
}
