html, body {
	overscroll-behavior-y: contain;
	/* Bloqueia pull-to-refresh */
	overscroll-behavior-x: none;
	/* Permite rolagem horizontal se necessário */
}

/* Para navegadores mais antigos */
body {
	touch-action: pan-y;
	/* Permite apenas rolagem vertical */
}

.menuConstructorButtonFocus {
	border-width: thick;
}

.btnOptImplementarActive {
	border: solid thick white;
}

.cm-tab {
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAACSSURBVHja7NWxCsJAEIThL4mCigTEQvD9H87SyihozmYLiWdls4EMDBzcFvvvsHdNKcWc1Zq5sgI0WGNb6fEcTg1QwjscA6SpFa7QxWVJNP0xfMceBzxxqwGcEifQTnrtawCXhABjJLGJpruPBPopwJh0D7rYgYIrhjh\/AUj8Eg144PWzaPnIFoD\/9AYAAP\/\/AwDuERyhTmO1VgAAAABJRU5ErkJggg==);
	background-position: right;
	background-repeat: no-repeat;
}

.scrollP::-webkit-scrollbar {
	height: 20px;
}

.scrollP::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 10%);
}

.scrollP::-webkit-scrollbar-thumb {
	background-color: rgba(13, 110, 253, 0.25);
	border-radius: 20px;
	border: 3px solid #0d6efd;
	width: 40px;
}

.menu-pdw-control {
	width: "";
}

.paper {
	transform-origin: top left;
	/* Ajuste a origem da transformação */
	transform: perspective(500px) rotateX(0deg);
	transition: transform 0.5s ease;
	/* Adicionando transição suave */
}

.paper-folded {
	/* Simular vinco na dobra */
	transform: perspective(500px) rotateX(-20deg) rotateY(10deg);
}

.eixoRt {
	transform-origin: center center;
	/* Opcional: Define o ponto de rotação */
	transition: transform 0.5s ease;
	/* Adiciona uma transição suave */
}

.modal-body {
	z-index: 1100 !important;
}

.custom-tooltip {
	--bs-tooltip-bg: #660aca;
	--bs-tooltip-color: var(--bs-white);
}

.custom-tooltip-metodos-abas {
	--bs-tooltip-bg: transparent;
	--bs-tooltip-color: #660aca;
}

/* Botão base com status */
.modo_rest {
	border: solid 5px green;
	border-radius: 15px;
	position: relative;
	transition: box-shadow 0.3s ease;
}

.modo_socket_con_l {
	border: solid 5px lightgreen;
	border-radius: 15px;
	animation: modo_socket_con_l 1s linear infinite;
	position: relative;
	transition: box-shadow 0.3s ease;
}

.modo_socket_con {
	border: solid 5px lightgreen;
	border-radius: 15px;
	animation: modo_socket_con 1s linear infinite;
	position: relative;
	transition: box-shadow 0.3s ease;
}

.modo_socket_off {
	border: solid 5px red;
	border-radius: 15px;
	position: relative;
	transition: box-shadow 0.3s ease;
}

@keyframes modo_socket_con {
	0% {
		border-color: lightgreen;
	}

	15% {
		border-color: #acf2ac;
	}

	30% {
		border-color: #cbf0cb;
	}

	45% {
		border-color: #a3b1a3;
	}

	60% {
		border-color: #343a40;
	}

	75% {
		border-color: #a3b1a3;
	}

	90% {
		border-color: #cbf0cb;
	}

	100% {
		border-color: #acf2ac;
	}
}

@keyframes modo_socket_con_l {
	0% {
		border-color: lightgreen;
	}

	15% {
		border-color: #acf2ac;
	}

	30% {
		border-color: #cbf0cb;
	}

	45% {
		border-color: #e6f5e6;
	}

	60% {
		border-color: #ffffff;
	}

	75% {
		border-color: #e6f5e6;
	}

	90% {
		border-color: #cbf0cb;
	}

	100% {
		border-color: #acf2ac;
	}
}

.charts {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width: 100%;
	max-width: 1200px;
}

#loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

.spinner {
	width: 50px;
	height: 50px;
	border: 5px solid rgba(255, 255, 255, 0.3);
	border-top: 5px solid #4CAF50;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@media screen and (width < 765px) {
	.menu-pdw-control {
		width: 100%;
	}
}

* {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZD0iTTUgNSBMNSAyNSBMMTIgMTkgTDE3IDI4IEwyMCAyNiBMMTUgMTcgTDIzIDE3IFoiIGZpbGw9ImN5YW4iIHN0cm9rZT0ibWFnZW50YSIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9zdmc+'), auto !important;
}

/* Links, botões e elementos clicáveis */
a,
button,
[role="button"],
.clickable,
input[type="submit"],
input[type="button"],
input[type="reset"],
select,
label[for] {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHJlY3QgeD0iOCIgeT0iMTUiIHdpZHRoPSI4IiBoZWlnaHQ9IjEyIiBmaWxsPSJjeWFuIiBzdHJva2U9Im1hZ2VudGEiLz48cmVjdCB4PSIxMCIgeT0iOCIgd2lkdGg9IjUiIGhlaWdodD0iMTAiIGZpbGw9ImN5YW4iLz48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjMiIGZpbGw9ImN5YW4iLz48L3N2Zz4='), pointer !important;
}

/* Campos de texto */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
[contenteditable="true"] {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGxpbmUgeDE9IjE2IiB5MT0iOCIgeDI9IjE2IiB5Mj0iMjQiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjIwIiB5Mj0iOCIgc3Ryb2tlPSJjeWFuIiBzdHJva2Utd2lkdGg9IjIiLz48bGluZSB4MT0iMTIiIHkxPSIyNCIgeDI9IjIwIiB5Mj0iMjQiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9zdmc+'), text !important;
}

/* Elementos arrastáveis */
[draggable="true"],
.draggable {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGxpbmUgeDE9IjE2IiB5MT0iNiIgeDI9IjE2IiB5Mj0iMjYiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PGxpbmUgeDE9IjYiIHkxPSIxNiIgeDI9IjI2IiB5Mj0iMTYiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBvbHlnb24gcG9pbnRzPSIxNiw2IDEyLDEwIDIwLDEwIiBmaWxsPSJjeWFuIi8+PHBvbHlnb24gcG9pbnRzPSIyNiwxNiAyMiwxMiAyMiwyMCIgZmlsbD0iY3lhbiIvPjxwb2x5Z29uIHBvaW50cz0iMTYsMjYgMTIsMjIgMjAsMjIiIGZpbGw9ImN5YW4iLz48cG9seWdvbiBwb2ludHM9IjYsMTYgMTAsMTIgMTAsMjAiIGZpbGw9ImN5YW4iLz48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIzIiBmaWxsPSJtYWdlbnRhIi8+PC9zdmc+'), move !important;
}

/* Elementos redimensionáveis */
.resize,
[resize] {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMjYiIHkyPSIyNiIgc3Ryb2tlPSJjeWFuIiBzdHJva2Utd2lkdGg9IjIiLz48cG9seWdvbiBwb2ludHM9IjYsNiAxMiw2IDYsMTIiIGZpbGw9ImN5YW4iLz48cG9seWdvbiBwb2ludHM9IjI2LDI2IDIwLDI2IDI2LDIwIiBmaWxsPSJjeWFuIi8+PGxpbmUgeDE9IjgiIHkxPSI4IiB4Mj0iMjQiIHkyPSIyNCIgc3Ryb2tlPSJtYWdlbnRhIiBzdHJva2Utd2lkdGg9IjEiLz48L3N2Zz4='), nwse-resize !important;
}

/* Elementos desabilitados ou não permitidos */
[disabled],
.disabled,
.not-allowed {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTIiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibWFnZW50YSIgc3Ryb2tlLXdpZHRoPSIzIi8+PGxpbmUgeDE9IjgiIHkxPSI4IiB4Mj0iMjQiIHkyPSIyNCIgc3Ryb2tlPSJyZ2IoMjU1LDAsMTAyKSIgc3Ryb2tlLXdpZHRoPSI0Ii8+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9zdmc+'), not-allowed !important;
}

/* Elementos com zoom/precisão */
.zoom-in,
.precision {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iNiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjeWFuIiBzdHJva2Utd2lkdGg9IjIiLz48bGluZSB4MT0iMTYiIHkxPSI2IiB4Mj0iMTYiIHkyPSIxMiIgc3Ryb2tlPSJjeWFuIiBzdHJva2Utd2lkdGg9IjIiLz48bGluZSB4MT0iMTYiIHkxPSIyMCIgeDI9IjE2IiB5Mj0iMjYiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PGxpbmUgeDE9IjYiIHkxPSIxNiIgeDI9IjEyIiB5Mj0iMTYiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PGxpbmUgeDE9IjIwIiB5MT0iMTYiIHgyPSIyNiIgeTI9IjE2IiBzdHJva2U9ImN5YW4iIHN0cm9rZS13aWR0aD0iMiIvPjxjaXJjbGUgY3g9IjE2IiBjeT0iMTYiIHI9IjIiIGZpbGw9Im1hZ2VudGEiLz48cmVjdCB4PSI4IiB5PSI4IiB3aWR0aD0iMyIgaGVpZ2h0PSIzIiBmaWxsPSJtYWdlbnRhIi8+PHJlY3QgeD0iMjEiIHk9IjgiIHdpZHRoPSIzIiBoZWlnaHQ9IjMiIGZpbGw9Im1hZ2VudGEiLz48cmVjdCB4PSI4IiB5PSIyMSIgd2lkdGg9IjMiIGhlaWdodD0iMyIgZmlsbD0ibWFnZW50YSIvPjxyZWN0IHg9IjIxIiB5PSIyMSIgd2lkdGg9IjMiIGhlaWdodD0iMyIgZmlsbD0ibWFnZW50YSIvPjwvc3ZnPg=='), crosshair !important;
}

/* Carregando/aguardando */
.loading,
.wait {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTSAxNiA0IEEgMTIgMTIgMCAwIDEgMjggMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibWFnZW50YSIgc3Ryb2tlLXdpZHRoPSIzIi8+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iNCIgZmlsbD0iY3lhbiIvPjwvc3ZnPg=='), wait !important;
}

/* Ajuda/informação */
.help,
[title]:hover {
	cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3lhbiIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTSAxMiAxMiBRIDE2IDggMjAgMTIgUSAyMCAxNiAxNiAxOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJtYWdlbnRhIiBzdHJva2Utd2lkdGg9IjIiLz48Y2lyY2xlIGN4PSIxNiIgY3k9IjI0IiByPSIxLjUiIGZpbGw9Im1hZ2VudGEiLz48L3N2Zz4='), help !important;
}

.cent {
	position: absolute;
	z-index: 1030;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Painel lateral da árvore DB */
#arvore-legend {
	position: fixed;
	right: 18px;
	top: 18px;
	width: 100%;
	/* width: 360px; */
	max-width: calc(100vw - 40px);
	height: calc(90vh);
	background: rgba(44, 44, 44, 0.96);
	color: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
	overflow: hidden;
	display: none;
	z-index: 9999;
	font-family: Inter, Roboto, Arial, sans-serif;
}

/* Cabeçalho */
#arvore-legend .legend-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	border-bottom: 1px solid rgba(253, 253, 253, 0.4);
}

#arvore-legend .legend-title {
	font-weight: 600;
	font-size: 15px;
}

#arvore-legend .legend-sub {
	font-size: 12px;
	color: #ffffff;
}

/* Corpo */
#arvore-legend .legend-body {
	padding: 12px 14px;
	height: calc(100% - 52px) !important;
	overflow: auto;
	font-size: 13px;
	line-height: 1.35;
}

/* Metadados */
.legend-meta {
	margin-bottom: 10px;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.legend-meta .chip {
	background: rgba(0, 0, 0, 0.04);
	padding: 6px 8px;
	border-radius: 6px;
	font-size: 12px;
	border: solid 1px;
	;
}

/* Lista de colunas */
.columns-list {
	margin-top: 8px;
	border-top: 1px dashed rgba(255, 255, 255, 0.4);
	padding-top: 8px;
}

.column-item {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.column-item .col-name {
	font-weight: 500;
	color: #ffffff;
}

.column-item .col-type {
	color: #ffffff;
	font-size: 12px;
}

/* Controles */
.legend-actions {
	display: flex;
	gap: 8px;
	align-items: center;
}

/* .btn {
  background:#0b5fff; color:white; border:none; padding:6px 10px; border-radius:6px; cursor:pointer; font-size:13px;
} */
.btn.ghost {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.6);
}

.icon-close {
	font-size: 16px;
	cursor: pointer;
}

/* Expandir colunas */
.columns-expanded .column-item .col-details {
	display: block;
	color: #ffffff;
	font-size: 12px;
	margin-top: 6px;
}

.column-item .col-details {
	display: none;
}

/* Busca e resultados */
#legend-search-input {
	box-sizing: border-box;
}

#legend-results-table table {
	width: 100%;
	border-collapse: collapse;
}

#legend-results-table th,
#legend-results-table td {
	padding: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	text-align: left;
	font-size: 13px;
}

#legend-generated-json {
	white-space: pre-wrap;
	word-break: break-word;
	font-family: monospace;
	font-size: 12px;
}

.contDirBt {
	position: absolute !important;
	bottom: 4% !important;
	left: 7% !important;
	z-index: 1035;
	/* margin-right: -50% !important; */
	/* transform: translate(-50%, -50%) !important; */
	text-align: center !important;
}

.contEsqBt {
	position: absolute !important;
	bottom: 18% !important;
	right: 7% !important;
	z-index: 1035;
	/* margin-right: -50% !important; */
	/* transform: translate(-50%, -50%) !important; */
	text-align: center !important;
}

.contAdsBt {
	position: absolute !important;
	bottom: 4% !important;
	right: 7% !important;
	/* margin-right: -50% !important; */
	/* transform: translate(-50%, -50%) !important; */
	text-align: center !important;
}
.contAdsBtRun {
	position: absolute !important;
	bottom: 55% !important;
	right: 7% !important;
	z-index: 1035;
	/* margin-right: -50% !important; */
	/* transform: translate(-50%, -50%) !important; */
	text-align: center !important;
}
.btnJumpG {
	width:174px;
}
.btnJumpSG {
	width:87px;
}