/* Controle — base, componentes e temas. Ordem preservada na migração. */
/* VARIAVEL INICIO ############################################################################################################## */

:root {
	--fonte: 'Arial', sans-serif;

	--texto1: #000000;
	--texto2: #f3f3f3;

	--tema: #3a3a3a;
	--tema-painel: #3a3a3a;

	--formatacao1: #ffffff;
	--formatacao2: #dfdfdf;
	--formatacao3: #c4c4c4;
	--formatacao4: #047425;
	--formatacao5: #aa2525;
	--formatacao6: #004ab9;

	--fundo1: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
	--fundo2: rgba(41, 41, 41, 0.95);

	--rodape: #4e4e4e;

	--debug: red;


	/* #F4F7FE */
	/* #FFFFFF */
}

/* VARIAVEL FIM ############################################################################################################## */

/* GERAL INICIO ############################################################################################################## */

img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: middle;
}

a {
	text-decoration: none;
	color: var(--texto2);
}

iframe {
	width: 98%;
	height: 50vh;
}

textarea[readonly] {
	background-color: transparent;
	border: 1px solid;
}

input[readonly] {
	background-color: transparent;
	border: 1px solid;
}

.grecaptcha-badge {
	bottom: 20px !important;
	left: 20px !important;
	right: auto !important;
	position: fixed !important;
	z-index: 9999;
}

/* GERAL FIM  ################################################################################################################# */

/* HEAD INICIO ############################################################################################################## */

.head-nav {
	background: var(--tema-painel);
}

.head-nav h3 {
	color: var(--texto2);
}

/* HEAD FIM ############################################################################################################## */

/* BOBY INICIO ############################################################################################################## */

body {
	font-family: var(--fonte);
	text-align: left;
	margin: 0;
	padding: 0;
}

.body2 {
	font-family: var(--fonte);
	text-align: center;
	margin: 0;
	padding: 0;
}

.formatacao1 {
	margin: 50px;
}

/* BOBY FIM ############################################################################################################## */

/* CARD INICIO ############################################################################################################## */

.card1 {
	margin-left: 4px;
	margin-top: 20px;
	background-color: var(--formatacao2);
	padding: 20px;
	border-radius: 10px;
	box-shadow: var(--fundo1);
	height: 80%;
	color: var(--texto1);
}

.card2 {
	margin-left: 4px;
	margin-top: 20px;
	background-color: var(--formatacao1);
	padding: 20px;
	border-radius: 10px;
	box-shadow: var(--fundo1);
	height: 80%;
	color: var(--texto1);
}

/* CARD FIM ############################################################################################################## */

/* BADGE INICIO ############################################################################################################## */

.badge {
	display: inline-block;
	padding: 3px 10px;
	font-size: 12px;
	font-weight: bold;
	border-radius: 20px;
	margin-right: 8px;
}

.badge1 {
	background: #fee2e2;
	color: var(--formatacao5);
}

.badge2 {
	background: #dbeafe;
	color: var(--formatacao6);
}

.badge3 {
	background: #dcfce7;
	color: var(--formatacao4);
}

/* BADGE FIM ############################################################################################################## */

/* RODAPE INICIO ############################################################################################################## */

.rodape {
	background-color: var(--rodape);
	color: var(--texto2);
}

.rodape-painel {
	background-color: var(--rodape);
	color: var(--texto2);
	position: fixed;
	bottom: 0;
	width: 100%;
	text-align: center;
	padding: 2px 0;
}

.rodape a,
.rodape-painel a {
	color: var(--texto2);
	text-decoration: none;
	font-style: italic;
}

/* RODAPE FIM ############################################################################################################## */

/* TEXTO INICIO ############################################################################################################## */

.texto1,
.texto2 {
	margin: 20px;
	font-size: 15px;
	text-align: center;
	line-height: 1.5;
}

.texto1 {
	color: var(--texto1);
}

.texto2 {
	color: var(--texto2);
}

/* TEXTO FIM ################################################################################################################## */

/* CAIXA INICIO ############################################################################################################### */

input,
select,
textarea {
	padding: 8px;
	font-size: 14px;
	border-radius: 10px;
	border: 1px solid var(--formatacao2);
	outline: none;
	margin: 5px auto;
	box-shadow: var(--fundo1);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--formatacao6);
	box-shadow: 0 0 5px var(--formatacao6);
}

.caixa1 {
	width: 39%;
	height: 50px;
}

.caixa2 {
	width: 40%;
	height: 65px;
}

.caixa3 {
	width: 47%;
	height: 20px;
}

.caixa4 {
	width: 50%;
	height: 35px;
}

.caixa5 {
	width: 97%;
	height: 100%;
}

.caixa6 {
	width: 99%;
	height: 100%;
}

.caixa7 {
	width: 98%;
	height: 280px;
}

/* CAIXA FIM  ################################################################################################################# */

/* BOTAO INICIO ############################################################################################################### */

.botao1,
.botao2,
.botao3,
.botao4,
.botao5 {
	border-radius: 10px;
	padding: 10px;
	cursor: pointer;
	color: var(--texto2);
	border: none;
	font-size: 13px;
	margin-left: 1px;
	transition: background-color 0.3s ease, transform 0.2s ease;
}

.botao1 {
	background-color: var(--tema);
}

.botao2 {
	background-color: var(--formatacao2);
}

.botao3 {
	background-color: var(--formatacao6);
}

.botao4 {
	background-color: var(--formatacao4);
}

.botao5 {
	background-color: var(--formatacao5);
}

#botao-subir {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 1px;
	border-radius: 30%;
	padding: 10px;
	transition: background-color 0.3s ease;
	background: none;
	border: none;
	cursor: pointer;
}

#botao-subir img {
	width: 55px;
	height: 55px;
}

.botao-nav {
	width: 35px;
	height: 35px;
	background: none;
	border: none;
	cursor: pointer;
}

.botao-remover-container {
	position: relative;
}

.botao-remover {
	position: absolute;
	top: 5%;
	right: 5%;
	border: none;
	cursor: pointer;
	font-size: 12px;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--formatacao1);
	border-radius: 10px;
	display: none;
}

.botao1:hover,
.botao2:hover,
.botao3:hover,
.botao4:hover,
.botao5:hover,
#botao-subir:hover {
	background-color: var(--formatacao6);
	transform: scale(1.05);
}

/* BOTAO FIM ################################################################################################################# */

/* LISTA INICIO  ############################################################################################################## */

.lista1,
.lista2 {
	list-style: none;
	margin: 10px;
	padding: 10px;
	border-radius: 10px;
	font-size: 17px;
	color: var(--texto2);
	transition: background-color 0.3s ease;
}

.lista1 {
	background: var(--tema);
}

.lista2 {
	background: var(--formatacao2);
}

.lista1:hover,
.lista2:hover {
	background-color: var(--formatacao6);
	transform: scale(1.05);
}

/* LISTA FIM  ################################################################################################################# */

/* TABELA INICIO ############################################################################################################## */

table {
	width: 98%;
	table-layout: auto;
	margin: 0 auto;
	font-size: 13px;
	border-radius: 10px;
	overflow: hidden;
	border-collapse: collapse;
	box-shadow: var(--fundo1);
}

th,
td {
	padding: 5px 8px;
	border: none;
}

th {
	background: var(--tema);
	color: var(--texto2);
	text-align: center;
}

td {
	background: var(--formatacao2);
	color: var(--texto1);
	text-align: left;
}

td a {
	text-decoration: none;
	color: var(--texto1);
}

tr:nth-child(odd) td {
	background: var(--formatacao2);
}

tr:nth-child(even) td {
	background: var(--formatacao3);
}

.tabela-icone {
	text-align: center;
	color: var(--texto2);
	text-decoration: none;
	font-size: 20px;
}

/* TABELA FIM ################################################################################################################## */

/* LOGIN INICIO ###################################################################################s############################ */

.login-background {
	background: var(--bg);
	background-size: cover;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.login {
	background-color: var(--formatacao2);
	padding: 30px;
	border-radius: 10px;
	box-shadow: var(--fundo1);
	width: 100%;
	max-width: 400px;

}

.login h1 {
	text-align: center;
	margin-bottom: 20px;
	font-size: 24px;
	color: var(--texto1);
}

.login h3 {
	text-align: center;
	margin-bottom: 20px;
	font-size: 18px;
	color: var(--texto1);
}

.login form {
	display: flex;
	flex-direction: column;
}

/* LOGIN FIM ###################################################################################################################### */

/* MENU INICIO ################################################################################################################## */

.menu-suspenso {
	position: relative;
	display: inline-block;
}

.menu-suspenso-itens {
	display: none;
	position: absolute;
	background-color: var(--fundo2);
	z-index: 2;
	right: 0;
	border-radius: 10px;
}

.menu-suspenso-itens a {
	color: var(--texto2);
	padding: 12px 16px;
	text-decoration: none;
	display: block;
	border-radius: 10px;
}

.menu-suspenso-itens a:hover {
	background-color: var(--tema);
	color: var(--texto1);
}

.menu-suspenso:hover .menu-suspenso-itens {
	display: block;
}

.menu-popup {
	overflow: auto;
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: var(--fundo2);
	color: var(--texto2);
	padding: 20px;
	border: 1px solid var(--formatacao1);
	border-radius: 10px;
	z-index: 1000;
	width: 60vw;
	height: 40vh;
}

.menu-lateral {
	width: 210px;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	background-color: var(--tema-painel);
	padding-top: 20px;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}

.menu-lateral a {
	padding: 10px 20px;
	display: block;
	text-decoration: none;
	font-size: 20px;
	color: var(--texto2);
	transition: background-color 0.3s ease;
	border-radius: 10px;
}

.menu-lateral h2 {
	padding: 10px 20px;
	display: block;
	font-size: 25px;
	color: var(--texto2);
}

.menu-lateral a:hover {
	background-color: var(--formatacao6);
	color: var(--texto2);
}

.menu-lateral-principal {
	margin-left: 210px;
	padding-bottom: 20px;
}

.caracter-invertido {
	position: absolute;
	top: 50%;
	right: 5vh;
	transform: translateY(-80%) rotate(180deg);
	font-size: x-large;
}

/* MENU FIM ################################################################################################################## */

/* SLIDE INICIO ############################################################################################################## */

.slide-container {
	width: 100%;
	height: 90%;
	position: relative;
}

.slide-container-sub {
	display: none;
	width: 100%;
	height: 100%;
}

.slide-texto {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: var(--texto2);
	font-size: 24px;
	background: var(--fundo1);
	padding: 20px;
	border-radius: 10px;
	width: 93%;
}

.slide-logo {
	width: 50%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.anterior,
.proximo {
	position: absolute;
	top: 50%;
	font-weight: bold;
	font-size: 18px;
	transition: 0.6s ease;
	background: transparent;
	border-radius: 10px;
	cursor: pointer;
	color: var(--texto2);
	border: none;
	padding: 10px;
	margin-top: -22px;
}

.anterior,
.proximo:hover {
	background-color: var(--formatacao6);
	transform: scale(1.05);
}

.anterior {
	left: 0;
}

.proximo {
	right: 0;
}

/* SLIDE FIM ################################################################################################################# */

/* COOKIE INICIO ############################################################################################################# */

.cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: var(--fundo2);
	color: var(--texto2);
	padding: 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 14px;
	z-index: 5000;
}

.cookie-banner a {
	color: var(--formatacao6);
	text-decoration: underline;
}

.cookie-banner button {
	margin-top: 15px;
	background-color: var(--formatacao6);
	color: var(--texto2);
	border: none;
	padding: 8px 16px;
	border-radius: 10px;
	cursor: pointer;
	font-size: 14px;
	transition: background-color 0.3s ease;
}

.cookie-banner button:hover {
	background-color: var(--fundo1);
}

/* COOKIE FIM ################################################################################################################# */

/* IMAGEM BACKGROUND INICIO ################################################################################################### */

.container-imagem-de-fundo {
	position: relative;
	width: 100%;
	height: 50%;
	max-width: 100%;
	margin: 0 auto;
}

.imagem-de-fundo {
	width: 100%;
	height: 55vh;
}

.texto-imagem-de-fundo {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--texto2);
	padding: 10px;
	font-size: 40px;
	width: 80%;
}

/* IMAGEM BACKGROUND FIM ###################################################################################################### */

/* DIVISAO TELA INICIO ######################################################################################################## */

.divisao-mestre1 {
	display: flex;
}

.divisao-mestre2 {
	flex-direction: column;
}

.divisao-mestre3 {
	display: flex;
}

.divisao-um,
.divisao-dois,
.divisao-tres,
.divisao-quatro,
.divisao-cinco,
.divisao-seis,
.divisao-sete {
	flex: 1;
}

.divisao-10 {
	flex: 1;
}

.divisao-20 {
	flex: 2;
}

.divisao-30 {
	flex: 3;
}

.divisao-40 {
	flex: 4;
}

.divisao-50 {
	flex: 5;
}

.divisao-60 {
	flex: 6;
}

.divisao-70 {
	flex: 7;
}

.divisao-80 {
	flex: 8;
}

.divisao-90 {
	flex: 9;
}

/* DIVISAO TELA FIM  ########################################################################################################## */

/* OVERLAY INICIO ################################################################################################################# */

#loadingOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: var(--fundo2);
	z-index: 2000;
	display: none;
	justify-content: center;
	align-items: center;
}

#loadingSpinner {
	border: 16px solid var(--texto2);
	border-top: 16px solid var(--formatacao6);
	border-radius: 50%;
	width: 120px;
	height: 120px;
	animation: spin 2s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(360deg);
	}

	100% {
		transform: rotate(0deg);
	}
}

/* OVERLAY FIM  ################################################################################################################# */

/* ARQUIVO INICIO  ################################################################################################################# */

.arquivos-container {
	width: 200px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	margin: 5px;
	text-align: center;
	box-sizing: border-box;
}

.arquivos-icones {
	width: 200px;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--formatacao2);
	border-radius: 10px;
	font-size: 24px;
	font-weight: bold;
	color: var(--texto1);
	box-shadow: var(--fundo1);
	overflow: hidden;
}

.arquivos-icones img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nome-arquivo {
	max-width: 100%;
	font-size: 13px;
	margin-top: 5px;
	word-break: break-word;
	overflow-wrap: break-word;
	white-space: normal;
}

/* ARQUIVO FIM  ################################################################################################################# */

/* UPLOAD INICIO  ################################################################################################################# */

.upload-container {
	margin-left: 50px;
	margin-right: 50px;
	margin-top: 20px;
	background-color: var(--formatacao2);
	padding: 20px;
	border-radius: 10px;
	box-shadow: var(--fundo1);
	text-align: center;
}

.upload-area {
	border-radius: 10px;
	cursor: pointer;
	transition: 0.3s;
}

.upload-area p {
	margin: 10px 0 0;
	font-size: 14px;
	color: var(--texto1);
}

.upload-area input {
	display: none;
}

.upload-icone {
	width: 120px;
	height: 120px;
	background: none;
	border: none;
	cursor: pointer;
}

/* UPLOAD FIM  ################################################################################################################# */

/* QUIZ INICIO  ################################################################################################################# */

.quiz_container {
	max-width: 700px;
	margin: 30px auto;
	padding: 20px;
	background: var(--formatacao1);
	border-radius: 10px;
	box-shadow: var(--fundo1);
	position: relative;
	z-index: 1;
}

.quiz_questao {
	display: none;
	margin-bottom: 20px;
}

.quiz_questao.active {
	display: block;
}

.quiz_questao h3 {
	font-size: 18px;
	margin-bottom: 10px;
	color: var(--texto1);
}

.quiz_opcoes {
	margin: 0;
	padding: 0;
}

.quiz_opcoes label {
	font-size: 16px;
	margin: 5px 0;
	cursor: pointer;
	color: var(--texto1);
	display: flex;
	align-items: center;
}

.quiz_opcoes input[type="radio"] {
	margin-right: 10px;
	margin-left: 0;
}

.quiz_botoes_navegacao {
	text-align: center;
	margin-top: 20px;
}

.quiz_botoes_navegacao button {
	background-color: var(--tema);
	color: var(--texto2);
	border: none;
	border-radius: 10px;
	padding: 10px 20px;
	cursor: pointer;
	font-size: 16px;
	margin: 0 5px;
}

.quiz_botoes_navegacao button:hover {
	background-color: var(--tema);
}

.quiz_input[type="submit"] {
	background-color: var(--formatacao6);
	color: var(--texto2);
	border: none;
	border-radius: 10px;
	padding: 10px 20px;
	cursor: pointer;
	font-size: 16px;
	margin-top: 20px;
	display: block;
	width: 100%;
}

.quiz_input[type="submit"]:hover {
	background-color: var(--tema);
}

.quiz_resultado {
	display: none;
	text-align: center;
	position: relative;
}

.quiz_resultado p {
	font-size: 18px;
}

.quiz_resultado a {
	color: var(--formatacao6);
	text-decoration: none;
}

.quiz_resultado a:hover {
	text-decoration: underline;
}

#quiz_confettiCanvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}

.quiz_logo {
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 200px;
	z-index: 1;
}

/* QUIZ FIM  ################################################################################################################# */

/* NOTA INICIO  ################################################################################################################# */

.titulo-nota {
	font-size: 2.5em;
	border: none;
	outline: none;
	width: 90%;
	background: none;
	background: #EAEAEA;
	text-align: center;
}

.corpo-nota {
	width: 90%;
	height: 70vh;
	border: none;
	outline: none;
	resize: none;
	font-size: 1.2em;
	background: #EAEAEA;
}

/* NOTA FIM  ################################################################################################################# */

/* SLIDE INICIO  ############################################################################################################## */

.slider-container {
	position: relative;
	width: 100%;
}

.slider {
	width: 90%;
}

.slider-value {
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--formatacao6);
	color: white;
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 12px;
}

/* SLIDE FIM  ################################################################################################################# */

/* MOBILE INICIO ############################################################################################################## */

.mobile-mostrar {
	display: none;
}

.mobile-mostrar h3 {
	margin-left: 25px;
}

.mobile-painel {
	background-color: var(--tema);
	color: var(--texto2);
}

@media (max-width: 768px) {

	.mobile-mostrar {
		color: var(--tema);
		display: block;
	}

	.mobile-ocultar {
		display: none;
	}

	.divisao-mestre3 {
		flex-direction: column;
	}

	#menu-select {
		display: block;
	}

	.menu-lateral {
		display: none;
	}

	.menu-lateral2 {
		display: none;
	}

	.menu-lateral-principal {
		margin-left: 0px;
	}

	.menu-lateral-principal2 {
		margin-left: 0px;
	}

	.menu-popup {
		width: 85%;
		height: 56%;
	}

	.caixa1 {
		width: 95%;
		height: 50px;
	}

	.caixa2 {
		width: 98%;
		height: 65px;
	}

	.caixa3 {
		width: 95%;
		height: 20px;
	}

	.caixa4 {
		width: 98%;
		height: 35px;
	}

	.caixa5 {
		width: 98%;
		height: 100%;
	}

	.caixa6 {
		width: 98%;
		height: 140px;
	}

	#botao-subir img {
		width: 40px;
		height: 40px;
	}

}

/* MOBILE FIM ################################################################################################################ */
/* Controle: camada visual compatível com os componentes existentes. */
:root{--fonte:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--texto1:#243446;--texto2:#fff;--tema:#087f72;--tema-painel:#fff;--formatacao1:#fff;--formatacao2:#f1f5f8;--formatacao3:#e6edf2;--formatacao4:#087f72;--formatacao5:#c6374e;--formatacao6:#087f72;--fundo1:0 4px 20px #213b5210;--fundo2:#172d43f5;--rodape:#627386;--line:#e4ebf0;--muted:#718096;--ink:#172d43;--sidebar:256px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f5f7fa;color:var(--texto1);font:14px/1.6 var(--fonte)}a{color:var(--tema)}a:hover{color:#05695f}button,input,select,textarea{font-family:inherit}h1,h2,h3{color:var(--ink);line-height:1.3;letter-spacing:-.035em}h1{font-size:30px}h2{font-size:23px}h3{font-size:18px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}img{height:auto;object-fit:contain}input,select,textarea{background:#fff;border:1px solid #d7e0e8;color:var(--texto1);border-radius:9px;box-shadow:none;padding:11px 13px;font-size:14px;max-width:100%;min-height:44px}textarea{min-height:110px;line-height:1.6}input[type=checkbox],input[type=radio]{min-height:0;width:18px;height:18px;accent-color:var(--tema);box-shadow:none;vertical-align:middle}input[type=range]{padding:0;min-height:24px}input[type=color]{padding:4px}input[readonly],textarea[readonly]{background:#f5f7fa;border-color:var(--line)}input:focus,select:focus,textarea:focus{border-color:var(--tema);box-shadow:0 0 0 3px #087f7218}:focus-visible{outline:3px solid #22a898;outline-offset:3px}.caixa1,.caixa3,.caixa4,.caixa5,.caixa6{height:auto;min-height:44px}.caixa2{height:90px}.caixa7{height:280px}.botao1,.botao2,.botao3,.botao4,.botao5{display:inline-block;font-size:13px;font-weight:600;padding:11px 18px;border:1px solid transparent;border-radius:9px;min-height:42px;transition:background .2s,box-shadow .2s}.botao2{color:#36465a;border-color:#d7e0e8;background:#fff}.botao1:hover,.botao3:hover,.botao4:hover{background:#05695f;color:#fff;transform:none;box-shadow:0 4px 12px #087f7220}.botao2:hover{color:var(--ink);background:#f0f5f8;transform:none}.botao5:hover{background:#a1243a;transform:none}.botao-nav{width:32px;height:32px;object-fit:contain}.card1,.card2{height:auto;min-width:0;margin:0 0 20px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 5px #213b5203;text-align:left}.card1 h3,.card2 h3{margin-top:0}.texto1{margin:0;text-align:left;font-size:14px;line-height:1.65}.texto2{font-size:14px}.divisao-mestre1,.divisao-mestre3{gap:16px}.divisao-mestre1>div,.divisao-mestre3>div{min-width:0}.lista1,.lista2{display:block;margin:8px 0;padding:16px;background:#fff;color:var(--ink);border:1px solid var(--line);font-size:14px;border-radius:12px}.lista1:hover,.lista2:hover{transform:none;background:#edf8f5;color:var(--tema);border-color:#b3ded4}.lista1 img,.lista2 img{height:28px!important;width:28px!important}.lista1 .divisao-mestre1{align-items:center}.lista1 .divisao-mestre1>.divisao-um{flex:0 0 32px}.badge{font-size:11px;padding:4px 10px;letter-spacing:.02em}.badge1{background:#fff0f0;color:#b73348}.badge2{background:#edf8f3;color:#087f72}.badge3{background:#edf3ff;color:#375ebe}
table{width:100%;margin:0;font-size:13px;box-shadow:none;border:1px solid var(--line);border-radius:12px;background:#fff}th,td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#edf2f6;color:#596a7d;text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em}td,tr:nth-child(odd) td{background:#fff}tr:nth-child(even) td{background:#fafbfd}tr:hover td{background:#f0f8f6}td a{color:var(--tema)}td input,td select{margin:4px 0}.table-scroll{overflow-x:auto;max-width:100%;border-radius:12px;margin:16px 0;scrollbar-width:thin}.table-scroll table{min-width:600px}.menu-popup{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 30px 90px #172d4340;border-radius:18px}.upload-container{background:#fff;border:1px dashed #bfd2de;box-shadow:none;border-radius:14px}.arquivos-icones{background:#fff;border:1px solid var(--line);box-shadow:none}.titulo-nota,.corpo-nota{background:#fff;border:1px solid var(--line);border-radius:10px}.head-nav{padding:10px 24px;border-bottom:1px solid var(--line)}.head-nav h3{color:var(--ink)}.formatacao1{max-width:1200px;margin:32px auto;padding:0 24px}
.menu-lateral{display:flex;flex-direction:column;width:var(--sidebar);padding:24px 18px 16px;border-right:1px solid var(--line);border-radius:0;background:#fff;z-index:60;overflow-y:auto}.brand{display:flex!important;align-items:center;gap:11px;padding:0 10px 26px!important;color:var(--ink)!important;font-size:21px!important;font-weight:750;letter-spacing:-.6px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:var(--tema);color:#fff;font-size:22px;font-weight:700}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:1.5px;font-weight:500}.menu-lateral .nav-search{width:100%;font-size:12px;background:#f6f8fa;margin:0 0 20px;min-height:40px}.nav-label{font-size:10px;letter-spacing:1.5px;color:#8a97a5;font-weight:700;padding:4px 12px 12px}.menu-lateral a{font-size:13px;border-radius:8px;color:#617084;padding:10px 12px;transition:background .15s}.menu-lateral a:hover{color:var(--tema);background:#f0f8f6}.nav-home{margin-bottom:14px}.menu-lateral a[aria-current=page]{background:#e7f5ef;color:#087f72;font-weight:700;box-shadow:inset 3px 0 #087f72}.nav-group{margin-bottom:10px}.nav-group summary{font-size:13px;font-weight:600;color:#35465a;cursor:pointer;padding:10px 12px;list-style:none;display:flex;align-items:center;justify-content:space-between}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';color:#8e9baa;font-size:17px}.nav-group[open] summary:after{transform:rotate(180deg)}.nav-group a{padding-left:23px;font-size:12px}.nav-links{flex:1}.nav-footer{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.nav-footer a{font-size:12px}.nav-footer small{display:block;font-size:10px;color:#94a0ad;padding:12px}.nav-empty{color:var(--muted);padding:12px;font-size:12px}.app-header{height:80px;margin-left:var(--sidebar);padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:#ffffffd9;border-bottom:1px solid var(--line);gap:14px}.app-header .breadcrumb{color:#8894a3;font-size:12px}.app-header .breadcrumb strong{color:#37475a;font-weight:600}.header-right{display:flex;gap:18px;align-items:center}.header-date{font-size:12px;color:var(--muted)}.avatar{display:grid;place-items:center;background:#e6f3ed;color:var(--tema);height:36px;width:36px;border-radius:50%;font-weight:700}.menu-lateral-principal{margin-left:var(--sidebar);padding:30px 34px 40px;max-width:1800px}.page-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:12px}.page-intro h1{margin:0 0 6px}.page-intro p{margin:0;color:var(--muted);font-size:13px}.eyebrow{display:block;color:var(--tema);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;margin-bottom:10px}.menu-toggle{display:none;min-height:40px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;font-size:18px;color:var(--ink);cursor:pointer}.nav-overlay{display:none}.mobile-mostrar{display:none}.app-footnote{padding-top:24px;margin-top:36px;border-top:1px solid var(--line);color:#91a0ad;font-size:11px;display:flex;justify-content:space-between}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:#fff;padding:12px;border-radius:8px}.skip-link:focus{top:12px}#botao-subir{right:20px;bottom:20px;background:#fff;border:1px solid var(--line);border-radius:50%;box-shadow:var(--fundo1)}#botao-subir img{width:22px;height:22px}
.dashboard-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:30px 34px;border-radius:16px;background:#e8f3ee;border:1px solid #d5e8de;margin-bottom:30px;position:relative;overflow:hidden}.dashboard-hero h2{font-size:27px;margin:0 0 9px}.dashboard-hero p{margin:0;color:#60796c;max-width:480px;font-size:13px}.hero-emblem{width:98px;height:98px;border:1px solid #bedbcb;border-radius:26px;transform:rotate(-8deg);display:grid;place-items:center;background:#ffffff70;color:var(--tema)}.hero-emblem svg{width:48px;height:48px;transform:rotate(8deg)}.hero-user{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:11px;color:#668173}.hero-user span{background:#ffffffb0;border:1px solid #d1e4d9;padding:4px 10px;border-radius:6px}.profile-alert{background:#fff3da;color:#86621c;border:1px solid #f0dfb8;border-radius:10px;padding:12px 16px;margin-bottom:20px}.profile-alert a{color:#86621c;text-decoration:underline}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;gap:16px}.section-heading h2{font-size:18px;margin:0}.section-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}.section-heading>a{font-size:12px;font-weight:600}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px}.quick-card{display:flex;align-items:center;gap:16px;padding:21px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);transition:transform .2s,border-color .2s,box-shadow .2s}.quick-card:hover{transform:translateY(-3px);border-color:#98cdbd;box-shadow:0 8px 24px #213b5209}.quick-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#eaf5ee;color:#188260}.quick-icon svg{width:22px;height:22px}.quick-card:nth-child(2) .quick-icon{background:#edf2ff;color:#6178b7}.quick-card:nth-child(3) .quick-icon{background:#fff5e7;color:#bb8c39}.quick-card:nth-child(4) .quick-icon{background:#f0edfc;color:#8c74bd}.quick-card:nth-child(5) .quick-icon{background:#e9f5fb;color:#4a94b5}.quick-card:nth-child(6) .quick-icon{background:#f3f4f6;color:#728295}.quick-card strong{display:block;font-size:13px;font-weight:650}.quick-card small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.quick-arrow{color:#a1adba;margin-left:auto}.dashboard-bottom{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.updates-card{padding:24px}.updates-card>h3{font-size:16px}.updates-card .badge{margin-left:8px}.support-note{padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.support-note:last-child{border:0;padding-bottom:0}.support-note strong{display:block;margin-bottom:5px;color:var(--ink);font-size:13px}.support-note a{display:inline-block;margin-top:8px;font-weight:600}.update-body{font-size:13px;color:#66768a}.update-body h3{font-size:13px;color:var(--muted);margin:12px 0}.update-body b{display:inline-block;margin-top:13px;font-size:11px;color:var(--ink)}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:#fff}.auth-story{background:#122f2c;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:52px 64px;position:relative;overflow:hidden;min-height:100vh}.auth-story:before{content:'';position:absolute;width:450px;height:450px;border:1px solid #ffffff0b;border-radius:50%;right:-170px;bottom:-90px;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff02}.auth-story .brand{color:#fff!important;padding:0!important;position:relative}.auth-story .brand-mark{background:#54b995;color:#122f2c}.auth-story-content{position:relative;max-width:420px;margin:80px 0}.auth-story .eyebrow{color:#8ec5ae}.auth-story h2{font-size:46px;line-height:1.14;letter-spacing:-2px;color:#fff;margin:18px 0 24px;font-weight:600}.auth-story h2 span{color:#81c4a5}.auth-story p{color:#b0c8bd;font-size:14px;line-height:1.9;max-width:340px}.auth-feature{display:flex;align-items:center;gap:12px;margin-top:26px;color:#d7e8df;font-size:12px}.auth-feature span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #5b8a73;border-radius:50%;color:#85c6a8}.auth-story-footer{color:#729787;font-size:11px;position:relative}.auth-form-area{display:flex;align-items:center;justify-content:center;padding:50px 40px}.auth-form-area .login{background:#fff;box-shadow:none;max-width:390px;padding:0;border:0;border-radius:0}.login h1{text-align:left;font-size:30px;margin:12px 0}.login h3{text-align:left}.auth-subtitle{color:var(--muted);font-size:13px;margin-bottom:30px}.login form{gap:8px}.login label{font-size:12px;font-weight:600;color:#405368;margin-top:10px}.login input{width:100%;margin:0;height:48px}.login button[type=submit]{width:100%;margin-top:16px;min-height:48px}.password-field{position:relative}.password-field input{padding-right:75px}.password-toggle{position:absolute;right:8px;top:8px;border:0;min-height:32px;background:transparent;color:var(--muted);font-size:11px;padding:6px;cursor:pointer}.auth-links{margin-top:22px;text-align:center;font-size:12px}.auth-secondary{border-top:1px solid var(--line);margin-top:30px;padding-top:24px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:16px}.auth-secondary a{font-weight:600;white-space:nowrap}.auth-error{border:1px solid #f2cdd1;background:#fff2f3;color:#b53348;padding:12px 14px;border-radius:8px;font-size:12px;margin:20px 0}.auth-mobile-brand{display:none}.login-background{background:radial-gradient(ellipse at top left,#cce5d8,transparent 60%),#f0f5f3;min-height:100vh;height:auto;padding:40px 20px}.login-background .login{background:#fff;border:1px solid var(--line);padding:36px;max-width:450px;border-radius:18px;box-shadow:0 16px 60px #123f2a12}.login-background .login h1,.login-background .login h3{text-align:center}.login-background .divisao-mestre1{margin-top:16px}
@media(min-width:1600px){.menu-lateral-principal{padding:36px 48px}.app-header{padding:0 48px}}@media(max-width:1100px){:root{--sidebar:230px}.menu-lateral-principal{padding:24px}.app-header{padding:0 24px}.quick-grid{grid-template-columns:repeat(2,1fr)}.auth-story{padding:40px}.auth-story h2{font-size:39px}.dashboard-bottom{grid-template-columns:1fr 1fr}.header-date{display:none}}@media(max-width:768px){:root{--sidebar:256px}.menu-lateral{display:flex;transform:translateX(-100%);transition:transform .2s}.nav-open .menu-lateral{transform:translateX(0)}.nav-open .nav-overlay{display:block;position:fixed;inset:0;background:#152d4360;z-index:55;border:0;width:100%;height:100%;cursor:pointer}.app-header{margin-left:0;height:65px;padding:0 20px}.menu-toggle{display:block}.header-right{gap:10px}.menu-lateral-principal{margin-left:0;padding:24px 20px}.page-intro h1{font-size:25px}.page-intro p{font-size:12px}.page-intro>.botao2{display:none}.dashboard-hero{padding:24px;gap:16px}.dashboard-hero h2{font-size:23px}.hero-emblem{width:64px;height:64px;border-radius:18px}.hero-emblem svg{width:34px;height:34px}.hero-user{flex-wrap:wrap}.quick-card{padding:16px;gap:12px}.quick-card small{font-size:10px}.quick-arrow{display:none}.quick-grid{gap:12px}.dashboard-bottom{grid-template-columns:1fr;gap:0}.card1,.card2{padding:20px}.divisao-mestre3{flex-direction:column}.caixa1,.caixa2,.caixa3,.caixa4{width:100%;height:auto}.caixa6{height:auto}.table-scroll{margin:12px 0}.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-form-area{min-height:100vh;padding:36px 24px}.auth-mobile-brand{display:block;margin-bottom:44px}.auth-mobile-brand .brand{padding:0!important}.auth-secondary{margin-top:28px}.formatacao1{margin:24px auto;padding:0 16px}.upload-container{margin:16px 0}.app-footnote{font-size:10px}.menu-popup{width:90vw;height:65vh}}@media(max-width:420px){.quick-grid{grid-template-columns:1fr}.hero-emblem{display:none}.page-intro{align-items:flex-start}.section-heading>a{font-size:11px}.app-header .breadcrumb{font-size:11px}.dashboard-hero{padding:22px}.login-background .login{padding:26px}.auth-secondary{font-size:11px}.quick-card small{font-size:11px}}
[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.menu-lateral,.app-header,.nav-overlay,.menu-toggle,#botao-subir,.app-footnote,.skip-link{display:none!important}.menu-lateral-principal{margin:0;padding:0}body{background:#fff}.table-scroll{overflow:visible}table{min-width:0!important;font-size:10px}th,td{padding:5px}.card1,.card2{break-inside:avoid;box-shadow:none}.quick-grid{grid-template-columns:repeat(3,1fr)}}

.form-table{min-width:0!important}.texto1>hr:first-child,.texto1>br{display:none}@media(max-width:768px){.form-table tr{display:flex;flex-wrap:wrap}.form-table td{display:block;width:100%!important;flex:1 1 100%;padding:14px 16px}.form-table input:not([type=checkbox]):not([type=radio]),.form-table select,.form-table textarea{width:100%}.form-table input[type=range]{width:90%}}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.texto1 button.botao-nav,.texto1 a.botao-nav{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;width:40px;height:40px;padding:8px;vertical-align:middle}.texto1 button.botao-nav:hover,.texto1 a.botao-nav:hover{background:#edf8f4;border-color:#acd6c6}.texto1 button.botao-nav img,.texto1 a.botao-nav img{width:24px;height:24px}.nav-group summary:hover{background:#f7f9fb;border-radius:8px}

/* Centraliza as barras de pesquisa e os controles de acao no topo das paginas */
.divisao-mestre1:has(input[placeholder*="Pesquisar"]),
.divisao-mestre3:has(input[placeholder*="Pesquisar"]),
.divisao-mestre1:has(input[placeholder*="Buscar"]),
.divisao-mestre3:has(input[placeholder*="Buscar"]) {
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.divisao-mestre1:has(input[placeholder*="Pesquisar"]) > .divisao-um,
.divisao-mestre1:has(input[placeholder*="Pesquisar"]) > .divisao-dois,
.divisao-mestre3:has(input[placeholder*="Pesquisar"]) > .divisao-um,
.divisao-mestre3:has(input[placeholder*="Pesquisar"]) > .divisao-dois,
.divisao-mestre1:has(input[placeholder*="Buscar"]) > .divisao-um,
.divisao-mestre1:has(input[placeholder*="Buscar"]) > .divisao-dois,
.divisao-mestre3:has(input[placeholder*="Buscar"]) > .divisao-um,
.divisao-mestre3:has(input[placeholder*="Buscar"]) > .divisao-dois {
  flex: 0 1 auto;
}
.divisao-mestre1:has(input[placeholder*="Pesquisar"]) > .divisao-dois,
.divisao-mestre3:has(input[placeholder*="Pesquisar"]) > .divisao-dois,
.divisao-mestre1:has(input[placeholder*="Buscar"]) > .divisao-dois,
.divisao-mestre3:has(input[placeholder*="Buscar"]) > .divisao-dois {
  display: flex;
  align-items: center;
  gap: 8px;
}
input#searchBar.caixa3,
input#barraPesquisa.caixa3,
input#pesquisa_dinamica.caixa3 {
  margin-left: auto;
  margin-right: auto;
}

/* Ajuste: pesquisa mais ampla e grupos de confirmacao/retorno centralizados */
.divisao-mestre1:has(input[placeholder*="Pesquisar"]) > .divisao-um,
.divisao-mestre3:has(input[placeholder*="Pesquisar"]) > .divisao-um,
.divisao-mestre1:has(input[placeholder*="Buscar"]) > .divisao-um,
.divisao-mestre3:has(input[placeholder*="Buscar"]) > .divisao-um {
  flex: 0 1 640px;
  width: min(640px, 100%);
}
/* Em coluna, flex-basis define altura: a pesquisa deve seguir o conteudo. */
@media (max-width: 768px) {
  .divisao-mestre3:has(input[placeholder*="Pesquisar"]) > .divisao-um,
  .divisao-mestre3:has(input[placeholder*="Buscar"]) > .divisao-um {
    flex: 0 1 auto;
  }
}
.divisao-mestre1:has(input[placeholder*="Pesquisar"]) input:not([type="checkbox"]):not([type="radio"]),
.divisao-mestre3:has(input[placeholder*="Pesquisar"]) input:not([type="checkbox"]):not([type="radio"]),
.divisao-mestre1:has(input[placeholder*="Buscar"]) input:not([type="checkbox"]):not([type="radio"]),
.divisao-mestre3:has(input[placeholder*="Buscar"]) input:not([type="checkbox"]):not([type="radio"]),
input#searchBar.caixa3,
input#barraPesquisa.caixa3,
input#pesquisa_dinamica.caixa3 {
  width: min(640px, 100%);
}

/* Rodapes de formularios: centraliza os botoes de acao (confirmar/retornar) */
form > .divisao-mestre1:last-child,
form > .divisao-mestre3:last-child,
.texto1 > .divisao-mestre1:last-child,
.texto1 > .divisao-mestre3:last-child {
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
form > .divisao-mestre1:last-child > div,
form > .divisao-mestre3:last-child > div,
.texto1 > .divisao-mestre1:last-child > div,
.texto1 > .divisao-mestre3:last-child > div {
  flex: 0 1 auto;
}

/* Acoes centralizadas em formularios, popups e retornos de pagina. */
.form-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  margin: 20px auto;
  text-align: center;
}
.form-actions > a, .form-actions > button, .form-actions > input {
  flex: 0 0 auto;
  margin: 0;
}
.form-actions > br { display: none; }

/* Azul é a cor da interface; data-theme controla todas as superfícies. */
:root{--bg:#0b1220;--surface:#121d30;--surface-raised:#17243a;--surface-soft:#0e1829;--hover:#1a2d47;--line:#25344c;--texto1:#d8e3f4;--texto2:#fff;--ink:#edf4ff;--muted:#8e9fb9;--tema:#3b82f6;--tema-painel:var(--surface);--formatacao1:var(--surface);--formatacao2:var(--surface-raised);--formatacao3:#1b2b43;--formatacao6:#3b82f6;--fundo1:0 4px 20px #0002;--fundo2:#0e1829fa;--rodape:var(--muted);--accent-soft:#182e50;--accent-line:#274f80;--accent-text:#8cbbff;--hero:#142b4a;--danger-bg:#382032;--danger:#ff9bad;--success-bg:#16352e;--success:#8dd5b8;--warning-bg:#382e1e;--warning:#edcc88;color-scheme:dark}
html[data-theme=light]{--bg:#f3f6fb;--surface:#fff;--surface-raised:#f1f5fb;--surface-soft:#f7f9fc;--hover:#eaf2ff;--line:#dfe7f2;--texto1:#31425b;--ink:#172d4d;--muted:#74839a;--tema:#2563eb;--tema-painel:#fff;--formatacao3:#e4ecf7;--fundo1:0 4px 20px #243c5910;--fundo2:#172d4dfa;--accent-soft:#eaf2ff;--accent-line:#c5d8f6;--accent-text:#2563eb;--hero:#e8f0fe;--danger-bg:#fff0f3;--danger:#b8314b;--success-bg:#edf8f2;--success:#137251;--warning-bg:#fff6e2;--warning:#946c27;color-scheme:light}
body{background:var(--bg);color:var(--texto1)}a{color:var(--accent-text)}a:hover{color:var(--tema)}h1,h2,h3{color:var(--ink)}input,select,textarea{background:var(--surface-soft);color:var(--texto1);border-color:var(--line)}input[readonly],textarea[readonly]{background:var(--surface-raised);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--tema);box-shadow:0 0 0 3px #3b82f62a}.botao1,.botao3{background:var(--tema);color:#fff}.botao1:hover,.botao3:hover{background:#2563eb;color:#fff}.botao4{background:#14795a}.botao4:hover{background:#116349}.botao2{background:var(--surface);border-color:var(--line);color:var(--texto1)}.botao2:hover{background:var(--hover);color:var(--ink)}.card1,.card2,.quick-card,.lista1,.lista2,.upload-container,.arquivos-icones,.quiz_container{background:var(--surface);border-color:var(--line);color:var(--texto1)}.quick-card{color:var(--ink)}.quick-card:hover,.lista1:hover,.lista2:hover{background:var(--hover);border-color:var(--accent-line);color:var(--accent-text)}.titulo-nota,.corpo-nota{background:var(--surface);border-color:var(--line);color:var(--texto1)}.quick-icon,.quick-card:nth-child(n) .quick-icon{background:var(--accent-soft);color:var(--accent-text)}.quick-card small,.section-heading p,.page-intro p,.support-note,.update-body,.update-body h3{color:var(--muted)}.quick-arrow{color:var(--muted)}.support-note strong,.update-body b{color:var(--ink)}.badge1{background:var(--danger-bg);color:var(--danger)}.badge2{background:var(--success-bg);color:var(--success)}.badge3{background:var(--accent-soft);color:var(--accent-text)}.menu-lateral{background:var(--surface);border-color:var(--line)}.menu-lateral .nav-search{background:var(--surface-soft);color:var(--texto1)}.brand{color:var(--ink)!important}.brand-mark{background:var(--tema);color:#fff}.brand small,.nav-label,.nav-empty,.nav-footer small{color:var(--muted)}.menu-lateral a,.nav-group summary{color:var(--texto1)}.menu-lateral a:hover,.nav-group summary:hover{background:var(--hover);color:var(--accent-text)}.menu-lateral a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 3px 0 var(--tema)}.nav-group a{display:flex;align-items:center;gap:10px}.nav-group summary{gap:8px}.nav-folder-title{display:flex;align-items:center;gap:10px}.nav-folder-title>.ui-icon{color:var(--muted)}.nav-module-icon{display:inline-flex;color:var(--muted);flex:0 0 16px}.nav-module-icon .ui-icon{width:16px;height:16px}.nav-count{margin-left:auto;font-size:10px;color:var(--muted);background:var(--surface-raised);border-radius:5px;padding:1px 6px}.nav-footer a{display:flex;align-items:center;gap:10px}.ui-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0}.avatar .ui-icon{width:18px;height:18px}.app-header,.head-nav{background:var(--surface);border-color:var(--line)}.app-header .breadcrumb,.header-date{color:var(--muted)}.app-header .breadcrumb strong,.head-nav h3{color:var(--texto1)}.avatar{background:var(--accent-soft);color:var(--accent-text)}.menu-toggle{background:var(--surface);color:var(--texto1);border-color:var(--line)}.app-footnote{color:var(--muted);border-color:var(--line)}.eyebrow{color:var(--accent-text)}.dashboard-hero{background:var(--hero);border-color:var(--accent-line)}.dashboard-hero p,.hero-user{color:var(--muted)}.hero-user span{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.hero-emblem{background:var(--surface);border-color:var(--accent-line);color:var(--accent-text)}.profile-alert{background:var(--warning-bg);border-color:#b7964340;color:var(--warning)}.profile-alert a{color:var(--warning)}table,td,tr:nth-child(odd) td{background:var(--surface);color:var(--texto1);border-color:var(--line)}th{background:var(--surface-raised);color:var(--muted);border-color:var(--line)}tr:nth-child(even) td{background:var(--surface-soft)}tr:hover td{background:var(--hover)}td a{color:var(--accent-text)}.menu-popup{background:var(--surface);border-color:var(--line);color:var(--texto1)}.texto1 button.botao-nav,.texto1 a.botao-nav{background:var(--surface);border-color:var(--line)}.texto1 button.botao-nav:hover,.texto1 a.botao-nav:hover{background:var(--hover);border-color:var(--accent-line)}#botao-subir{background:var(--surface);border-color:var(--line)}.skip-link{background:var(--surface);color:var(--accent-text)}.theme-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--texto1);font:500 12px var(--fonte);padding:8px 11px;min-height:38px;cursor:pointer}.theme-toggle:hover{background:var(--hover);border-color:var(--accent-line)}.theme-toggle .ui-icon{width:17px;height:17px}.theme-toggle>span:first-child{display:flex}.auth-theme-control{position:absolute;top:22px;right:24px;z-index:20}.auth-page{background:var(--bg)}.auth-form-area{background:var(--bg)}.auth-form-area .login{background:transparent}.login h1,.login h3{color:var(--ink)}.login label{color:var(--texto1)}.auth-subtitle,.auth-secondary,.password-toggle{color:var(--muted)}.auth-story{background:#112d53}.auth-story .brand-mark{background:#78aafa;color:#10294b}.auth-story .eyebrow{color:#90baf8}.auth-story h2 span{color:#88b5fa}.auth-story p{color:#b1c7e6}.auth-feature{color:#d4e1f5}.auth-feature span{border-color:#486b9b;color:#8bb9ff}.auth-story-footer{color:#89a4ca}.auth-secondary{border-color:var(--line)}.auth-error{background:var(--danger-bg);color:var(--danger);border-color:#b6344b60}.login-background{background:radial-gradient(ellipse at top left,var(--accent-soft),transparent 70%),var(--bg)}.login-background .login{background:var(--surface);border-color:var(--line)}.module-section{margin-bottom:32px}.module-section h2 .ui-icon{color:var(--accent-text);margin-right:8px}
/* Classes específicas dos relatórios mantêm suas funções e estados. */
html[data-theme] .abas-container,html[data-theme] .aba-conteudo{border-color:var(--line)}html[data-theme] .aba-botao{background:var(--surface-raised);color:var(--texto1);border-color:var(--line)}html[data-theme] .aba-botao.ativa{background:var(--tema);color:#fff}html[data-theme] .card-resumo,html[data-theme] .filtros-form{background:var(--surface);border-color:var(--line)}html[data-theme] .card-resumo .valor{color:var(--accent-text)}html[data-theme] .card-resumo .rotulo{color:var(--muted)}html[data-theme] table.tabela-detalhe th{background:var(--surface-raised);color:var(--texto1)}html[data-theme] table.tabela-detalhe td{border-color:var(--line)}html[data-theme] select.aplicado,html[data-theme] input.aplicado{background:var(--tema);color:#fff}
@media(max-width:1100px){.header-right{gap:10px}.theme-toggle{font-size:11px}}@media(max-width:768px){.theme-toggle [data-theme-label]{display:none}.theme-toggle{padding:9px}.auth-theme-control .theme-toggle [data-theme-label]{display:inline}.auth-theme-control{top:16px;right:16px}.auth-form-area{padding-top:70px}.nav-count{font-size:10px}}@media print{html[data-theme]{--bg:#fff;--surface:#fff;--surface-raised:#f1f4f8;--surface-soft:#fff;--ink:#172d43;--texto1:#243446;--muted:#617086;--line:#dbe3ec;--accent-text:#2563eb;--hero:#edf3ff;color-scheme:light}.theme-toggle,.auth-theme-control{display:none!important}}

.dashboard-bottom>.card1:only-child{grid-column:1/-1}

/* Modos alfabéticos do banco usam a mesma apresentação e busca do menu agrupado. */
.nav-flat a{display:flex;align-items:center;gap:10px;font-size:12px}.nav-flat .nav-module-icon{flex:0 0 16px}.nav-flat a>span:last-child{min-width:0;overflow-wrap:anywhere}
/* Componentes compartilhados — revisão visual de todas as famílias de telas. */
:root { --radius: 14px; --shadow-card: 0 8px 28px #0000000a; }
body { margin: 0; }
html { scrollbar-gutter: stable; }
:focus-visible { outline-color: var(--accent-text); }
.menu-lateral { padding-top: 30px; }
.menu-lateral .nav-search { border-radius: 10px; }
.app-header { min-height: 76px; }
.page-intro { padding-bottom: 22px; border-bottom: 1px solid var(--line); margin-bottom: 28px; }
.page-intro h1 { font-size: clamp(24px, 2.5vw, 32px); letter-spacing: -.8px; }
.page-intro p { max-width: 760px; line-height: 1.7; }
.menu-lateral-principal { width: auto; }
.texto1 { min-width: 0; }
.card1, .card2 { border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 28px; }
.card1 h3, .card2 h3 { margin-bottom: 18px; }
.texto1 > form:has(textarea), .texto1 > form:has(.form-table), .formatacao1 > form { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 24px; box-shadow: var(--shadow-card); margin-bottom: 24px; }
.texto1 > form:has(.filtros-form), .texto1 > form.filtros-form { box-shadow: none; }
.form-table { border: 0; border-radius: 0; background: transparent; }
.form-table tr, .form-table td, .form-table tr:nth-child(n) td { background: transparent; }
.form-table td { padding: 14px 12px; border-bottom: 0; vertical-align: top; }
.form-table td > b:first-child, .form-table td > label:first-child { display: inline-block; font-size: 12px; font-weight: 650; margin-bottom: 6px; color: var(--texto1); }
.form-table input:not([type=checkbox]):not([type=radio]), .form-table select, .form-table textarea { width: 100%; margin: 4px 0 0; }
.form-table td:has(> label > input[type=checkbox]) { background: var(--surface-soft); border: 1px solid var(--line); border-radius: 10px; }
input:not([type=checkbox]):not([type=radio]):not([type=range]), select { min-height: 46px; }
select.caixa2 { height: 46px; }
textarea { resize: vertical; }
input[type=file] { padding: 9px; font-size: 12px; }
input[type=file]::file-selector-button { background: var(--accent-soft); color: var(--accent-text); border: 1px solid var(--accent-line); border-radius: 7px; padding: 7px 10px; margin-right: 12px; cursor: pointer; }
input[type=checkbox], input[type=radio] { cursor: pointer; }
button, .botao1, .botao2, .botao3, .botao4, .botao5 { cursor: pointer; }
.form-actions { padding-top: 6px; gap: 10px; }
.texto1 .form-actions :is(button.botao-nav, a.botao-nav) { min-height: 46px; width: 46px; border-radius: 12px; }
.texto1 .form-actions button.botao-nav[type=submit] { background: var(--accent-soft); border-color: var(--accent-line); }
.table-scroll { border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow-card); }
.table-scroll > table { border: 0; border-radius: 0; }
.table-scroll:has(> .form-table) { border: 0; box-shadow: none; background: transparent; margin: 0; }
table th { padding: 14px 16px; font-size: 11px; text-transform: uppercase; }
table td { padding: 14px 16px; line-height: 1.6; }
table tr:last-child td { border-bottom: 0; }
table td a { font-weight: 550; }
table td small { font-size: 11px; color: var(--muted); }
table .icones { white-space: nowrap; }
.menu-popup { padding: 28px; width: min(800px, calc(100vw - 40px)); max-height: calc(100svh - 64px); overflow: auto; }
.menu-popup h3 { margin-bottom: 20px; }
.upload-container { background: var(--surface-soft); border-color: var(--accent-line); padding: 26px; }
.upload-container.is-dragover { background: var(--accent-soft); border-color: var(--tema); }
.arquivos-container { margin: 8px; max-width: 100%; }
.file-grid { gap: 14px; }
.arquivos-icones { border-radius: 12px; }
.contact-avatar { object-fit: cover; }
.titulo-nota, .corpo-nota { padding: 16px; }
.corpo-nota { min-height: 280px; }
.is-applied, select.aplicado, input.aplicado { background: var(--accent-soft) !important; color: var(--accent-text) !important; border-color: var(--accent-line) !important; }
.status-select[data-status=Comprado] { background: var(--warning-bg); color: var(--warning); }
.status-select[data-status=Entregue] { background: var(--success-bg); color: var(--success); }
.status-select[data-status=Cancelado] { background: var(--danger-bg); color: var(--danger); }
.ui-initial-hidden { display: none; }
.ui-display-block { display: block !important; }
.ui-display-inline { display: inline !important; }
.ui-display-flex { display: flex !important; }
.ui-display-grid { display: grid !important; }
.ui-display-inline-block { display: inline-block !important; }
[hidden] { display: none !important; }
.modern-icon-image { object-fit: contain; }
#botao-subir { display: none; width: 44px; height: 44px; padding: 10px; z-index: 30; }
.slider-container { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
.slider-container .slider-value { position: static; transform: none; border-radius: 8px; min-width: 36px; padding: 5px 10px; text-align: center; background: var(--accent-soft); color: var(--accent-text); }
.campo { margin-top: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.campo.ui-display-block { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 14px; }
.campo :is(input, select, textarea) { width: 100%; }
.chat-message { display: flex; justify-content: flex-start; margin: 16px 0; }
.chat-bubble { max-width: 78%; min-width: 0; padding: 16px 18px; border-radius: 14px 14px 14px 4px; border: 1px solid var(--accent-line); background: var(--accent-soft); color: var(--texto1); overflow-wrap: anywhere; text-align: left; }
.chat-bubble > b:first-child { display: inline-block; color: var(--muted); font-size: 11px; margin-bottom: 6px; }
.chat-system { justify-content: center; }
.chat-system .chat-bubble { background: var(--surface-soft); border-color: var(--line); text-align: center; border-radius: 14px; }
.chat-support { justify-content: flex-end; }
.chat-support .chat-bubble { background: var(--success-bg); border-color: var(--line); border-radius: 14px 14px 4px 14px; }
.tracker-details { padding: 24px; text-align: center; line-height: 2.2; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.tracker-stale { background: var(--warning-bg); border-color: var(--warning); color: var(--warning); }
.rastreador { margin: 18px 0; }
.map-frame { width: 100%; min-height: 260px; margin-top: 16px; border-radius: 12px; }
.check-ok { background: var(--success-bg) !important; }
.check-damage { background: var(--danger-bg) !important; }
.check-na { background: var(--accent-soft) !important; }
.public-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1200px; margin: auto; padding: 30px 24px; padding-right: 190px; border-bottom: 1px solid var(--line); }
.public-header .brand { padding: 0 !important; }
.public-header > span { font-size: 13px; color: var(--muted); }
.public-description { max-width: 660px; color: var(--muted); margin: 12px 0 28px; line-height: 1.8; }
body.unavailable-page { background: var(--bg); color: var(--texto1); }
.unavailable-content { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-card); margin: 24px; }
.unavailable-content p { color: var(--muted); margin: 18px 0 28px; }
@media (max-width: 768px) {
  .menu-lateral-principal { padding: 24px 16px; }
  .page-intro { margin-bottom: 22px; padding-bottom: 18px; }
  .page-intro p { font-size: 12px; }
  .card1, .card2 { padding: 20px; }
  .texto1 > form:has(textarea), .texto1 > form:has(.form-table), .formatacao1 > form { padding: 16px; }
  .form-table td { padding: 12px 4px; }
  .app-header { padding: 0 16px; }
  .theme-toggle { font-size: 11px; padding: 8px; }
  .header-right { gap: 8px; }
  .menu-popup { padding: 20px; width: calc(100vw - 24px); max-height: calc(100svh - 32px); }
  .chat-bubble { max-width: 94%; }
  .public-header { padding: 28px 20px; padding-top: 84px; }
  .public-header > span { font-size: 11px; }
  .public-header .brand { font-size: 19px !important; }
  .auth-theme-control { right: 16px; top: 18px; }
  .app-footnote { flex-wrap: wrap; gap: 8px; }
}
@media print {
  html[data-theme] { color-scheme: light; --surface: #fff; --surface-soft: #fff; --surface-raised: #eee; --texto1: #222; --ink: #111; --line: #ccc; --muted: #555; --accent-text: #2455a0; --bg: #fff; }
  .form-actions, .filtros-form, .public-header, .auth-theme-control { display: none !important; }
  .table-scroll { box-shadow: none; overflow: visible; }
  .chat-bubble { break-inside: avoid; }
}

/* Ícones de visibilidade locais: dispensam a folha externa de ícones. */
.fa { display: inline-flex; align-items: center; vertical-align: middle; color: var(--accent-text); }
.fa::before { content: ''; display: inline-block; width: 18px; height: 18px; background: currentColor; mask-position: center; mask-size: contain; mask-repeat: no-repeat; }
.fa-eye::before { mask-image: url('../icones/eye.svg'); }
.fa-eye-slash::before { mask-image: url('../icones/eye-off.svg'); }
.secret-toggle { border: 0; background: transparent; min-width: 36px; min-height: 36px; cursor: pointer; justify-content: center; border-radius: 8px; }
.secret-toggle:hover { background: var(--accent-soft); }

:root { --chart-1:#5a9bfa; --chart-2:#59c4a0; --chart-3:#d9ac54; --chart-4:#a995e4; --chart-5:#db7896; }

/* Conteúdo centralizado, mantendo os títulos da página no alinhamento original. */
.texto1 > :is(form, table, .table-scroll, .divisao-mestre1, .divisao-mestre3, .card1, .card2, .dashboard-hero, .quick-grid, .dashboard-bottom, .module-section, .profile-alert, .section-heading, .module-tabs, .module-toolbar, .notice-box) { max-width: 100%; margin-left: auto; margin-right: auto; }
.module-content { width: 100%; max-width: 100%; margin-inline: auto; }
.texto1 > form { text-align: left; }
.texto1 > table:not(.form-table) :is(th, td), .table-scroll > table:not(.form-table) :is(th, td) { text-align: left; }
.texto1 > .card1, .texto1 > .card2 { margin-top: 0; }
.module-toolbar { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; padding: 20px; margin: 0 auto 26px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; }
.toolbar-search { display: flex; align-items: center; gap: 8px; flex: 1 1 320px; max-width: 560px; min-width: 0; }
.toolbar-search input { width: 100%; margin: 0; }
.toolbar-search button { flex: 0 0 auto; }
.toolbar-field { display: flex; align-items: center; gap: 10px; }
.toolbar-field label { font-size: 12px; color: var(--muted); }
.toolbar-field select { margin: 0; min-width: 180px; }
.result-count { color: var(--muted); font-size: 12px; margin: 18px 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.muted-copy { color: var(--muted); font-size: 13px; line-height: 1.8; }
.module-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 auto 26px; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.module-tabs a { display: flex; align-items: center; justify-content: center; flex: 1 1 180px; border: 1px solid transparent; border-radius: 9px; padding: 12px 16px; color: var(--muted); text-align: center; font-size: 12px; line-height: 1.5; text-decoration: none; }
.module-tabs a:hover { background: var(--hover); color: var(--accent-text); }
.module-tabs a[aria-current=page] { background: var(--accent-soft); color: var(--accent-text); border-color: var(--accent-line); font-weight: 650; }
.notice-box { padding: 16px 20px; border: 1px solid var(--line); border-radius: 12px; margin: 0 auto 22px; font-size: 13px; line-height: 1.8; text-align: center; }
.notice-error { color: var(--danger); background: var(--danger-bg); }
.notice-success { color: var(--success); background: var(--success-bg); }
.notice-warning { color: var(--warning); background: var(--warning-bg); }
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 260px; padding: 40px 24px; text-align: center; background: var(--surface-soft); border: 1px dashed var(--line); border-radius: 14px; }
.empty-state > .ui-icon { width: 38px; height: 38px; color: var(--accent-text); margin-bottom: 20px; }
.empty-state h2 { font-size: 21px; margin: 0 0 10px; }
.empty-state p { color: var(--muted); font-size: 13px; margin: 0; max-width: 380px; }
.ticket-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 26px 30px; margin: 0 auto 20px; box-shadow: var(--shadow-card); }
.ticket-header { display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.ticket-number { color: var(--ink); font-size: 20px; font-weight: 700; }
.ticket-status { padding: 5px 12px; background: var(--accent-soft); color: var(--accent-text); border: 1px solid var(--accent-line); border-radius: 30px; font-size: 11px; }
.ticket-status.ticket-waiting { background: var(--warning-bg); color: var(--warning); border-color: var(--line); }
.ticket-meta { display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; gap: 18px 44px; text-align: center; font-size: 13px; padding-bottom: 22px; }
.ticket-meta small, .ticket-description > small { display: block; color: var(--muted); font-size: 11px; margin-bottom: 5px; }
.ticket-description { padding: 20px 24px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 10px; text-align: left; }
.ticket-description p { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
.ticket-footer { text-align: center; padding-top: 22px; }
.ticket-footer a { display: inline-flex; align-items: center; gap: 12px; }
.notes-workspace { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); align-items: start; gap: 24px; }
.notes-sidebar { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.notes-tools { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.notes-tools input { width: 100%; margin: 0; }
.notes-tools button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.notes-sidebar > br { display: none; }
.notes-list { display: flex; flex-direction: column; gap: 8px; margin-top: 22px; max-height: 620px; overflow: auto; }
.note-item { display: block; width: 100%; padding: 16px; background: var(--surface-soft); color: var(--texto1); border: 1px solid var(--line); border-radius: 10px; text-align: left; font: inherit; cursor: pointer; }
.note-item strong { display: block; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.note-item small { display: block; color: var(--muted); font-size: 10px; margin-top: 7px; }
.note-item:hover, .note-item.is-selected { background: var(--accent-soft); border-color: var(--accent-line); }
.note-item.is-selected strong { color: var(--accent-text); }
.notes-editor { padding: 26px; min-width: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.notes-editor .titulo-nota { margin: 0 0 16px; width: 100%; font-size: 20px; font-weight: 600; }
.notes-editor .corpo-nota { width: 100%; min-height: 400px; line-height: 1.9; margin: 0; }
.note-popup { height: auto; max-width: 520px; }
.note-popup form > label { display: block; margin: 20px 0 7px; font-size: 12px; }
.note-popup input[type=text] { width: 100%; }
.files-upload { padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); margin-bottom: 26px; }
.files-upload .upload-area { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 200px; padding: 28px; border: 1px dashed var(--accent-line); border-radius: 12px; background: var(--surface-soft); cursor: pointer; text-align: center; }
.files-upload .upload-area.is-dragover { background: var(--accent-soft); border-color: var(--tema); }
.upload-symbol { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--accent-soft); color: var(--accent-text); }
.upload-symbol .ui-icon { width: 24px; height: 24px; }
.files-upload .upload-area > strong { font-size: 17px; }
.files-upload .upload-area > span:not(.upload-symbol) { color: var(--muted); font-size: 12px; }
.files-upload input[type=file] { max-width: 380px; width: 100%; }
.files-upload .form-actions { margin-bottom: 0; }
.files-workspace .file-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr)); gap: 18px; margin-bottom: 24px; }
.file-card { min-width: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--surface); }
.file-preview { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; height: 150px; background: var(--surface-soft); color: var(--accent-text); }
.file-preview > .ui-icon { width: 38px; height: 38px; }
.file-preview > span { color: var(--muted); font-size: 11px; letter-spacing: 1px; }
.file-preview img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.file-information { padding: 16px; text-align: center; }
.file-information a { display: block; color: var(--texto1); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.file-information small { display: block; margin-top: 8px; color: var(--muted); font-size: 10px; }
.file-remove { padding: 0 16px 16px; text-align: center; }
.file-remove button { width: 100%; color: var(--danger); display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
body[data-screen^=administracao-ouvidoria-interna] .form-table { text-align: left; }
body[data-screen=administracao-chamado-index-responder] .card1, body[data-screen=administracao-chamado-index-responder] .card2 { max-width: 100%; margin-inline: auto; }
body[data-screen=administracao-chamado-index-responder] .chat-message { max-width: 950px; margin-inline: auto; }
.menu-popup { height: auto; min-height: 0; }
@media (min-width: 769px) { .texto1 > :is(.divisao-mestre1, .divisao-mestre3):has(input[placeholder*="Pesquisar"]) { justify-content: center; } }
@media (max-width: 900px) { .notes-workspace { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 16px; } .notes-editor { padding: 20px; } }
@media (max-width: 768px) {
  .notes-workspace { grid-template-columns: 1fr; }
  .notes-list { max-height: 280px; }
  .notes-editor .corpo-nota { min-height: 320px; }
  .module-toolbar { padding: 16px; gap: 12px; }
  .toolbar-search { max-width: 100%; flex-basis: 100%; }
  .toolbar-field { flex: 1; min-width: 0; }
  .toolbar-field select { min-width: 0; flex: 1; }
  .ticket-card { padding: 22px 18px; }
  .ticket-description { padding: 16px; }
  .files-upload { padding: 16px; }
  .files-upload .upload-area { padding: 20px 14px; }
  .module-tabs a { flex-basis: 140px; }
}

/* Texto de tabelas à esquerda; ações centralizadas sem alterar cabeçalhos de página. */
body table :is(th, td) { text-align: left !important; }
body table td:has(button, input[type=submit], input[type=button], .botao1, .botao2, .botao3, .icones) { text-align: center !important; }
body table td :is(button, input[type=submit], input[type=button], [class^=botao]) { margin-inline: auto; }
.texto1 :is(.form-actions, .module-toolbar, .ticket-footer, .file-remove, .actions, .botoes) { text-align: center; justify-content: center; }
.texto1 form > :is(button, input[type=submit], input[type=button], .botao1, .botao2, .botao3), .texto1 > :is(button, .botao1, .botao2, .botao3) { display: table; margin-inline: auto; }

body table td:has(a > img.botao-nav, a > img.icone, a[class^=botao]) { text-align: center !important; }
.texto1 :is(p, div):has(> button, > input[type=submit], > a.botao1, > a.botao2, > a.botao3):not(.page-intro):not(.form-group):not(.ticket-content) { text-align: center; }

/* Padrão de ações: área clicável uniforme e SVGs locais. */
.action-icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}
button[aria-label]:not(.nav-overlay),a.botao-nav{min-width:38px;min-height:38px}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent-text,#647da0);outline-offset:3px}


/* Padronização de ações e navegação — 2026-10-07.
   A cor do ícone é definida em icons.js pela função do ícone, não pelo botão/tela.
   No menu, somente a rota atual recebe o azul de destaque. */
.menu-lateral .nav-group a:not([aria-current="page"]),
.menu-lateral .nav-flat a:not([aria-current="page"]) { color: var(--texto1); background: transparent; box-shadow: none; }
.menu-lateral .nav-group a:not([aria-current="page"]) .nav-module-icon,
.menu-lateral .nav-flat a:not([aria-current="page"]) .nav-module-icon { color: var(--muted); }
.menu-lateral .nav-group a[aria-current="page"],
.menu-lateral .nav-flat a[aria-current="page"] { color: var(--accent-text); background: var(--accent-soft); box-shadow: inset 3px 0 var(--tema); }
.menu-lateral a[aria-current="page"] .nav-module-icon { color: var(--accent-text); }
.menu-lateral .nav-group a:not([aria-current="page"]):hover,
.menu-lateral .nav-flat a:not([aria-current="page"]):hover { color: var(--accent-text); background: var(--hover); }

/* === Padrão final de botões de ação — 2026-10-07 ===
   A aparência do botão não muda por módulo. A semântica visual vem do ícone. */
:where(a,button).botao1,
:where(a,button).botao2,
:where(a,button).botao3,
:where(a,button).botao4,
:where(a,button).botao5,
:where(a,button).botao-nav {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:42px;
  min-height:42px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--texto1);
  box-shadow:none;
  line-height:1;
  vertical-align:middle;
}
:where(a,button).botao1:hover,
:where(a,button).botao2:hover,
:where(a,button).botao3:hover,
:where(a,button).botao4:hover,
:where(a,button).botao5:hover,
:where(a,button).botao-nav:hover {
  background:var(--hover);
  border-color:var(--accent-line);
  color:var(--texto1);
  transform:none;
  box-shadow:none;
}
:where(a,button).botao1 > img,
:where(a,button).botao2 > img,
:where(a,button).botao3 > img,
:where(a,button).botao4 > img,
:where(a,button).botao5 > img,
:where(a,button).botao-nav > img,
:where(a,button) > img.action-icon {
  display:block;
  width:22px !important;
  height:22px !important;
  margin:0 !important;
  object-fit:contain;
}
/* Submit não ganha fundo azul só por ser submit. */
.texto1 .form-actions button.botao-nav[type=submit] { background:var(--surface); border-color:var(--line); }
.texto1 .form-actions button.botao-nav[type=submit]:hover { background:var(--hover); border-color:var(--accent-line); }

/* Administracao / Arquivos - remover no mesmo padrao dos cards de Acesso */
body[data-screen="administracao-arquivo-index"] .file-card,
body[data-screen="administracao-atendimento-cliente-arquivo"] .file-card {
    position: relative;
}
body[data-screen="administracao-arquivo-index"] .file-remove,
body[data-screen="administracao-atendimento-cliente-arquivo"] .file-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 3;
    width: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
    text-align: initial;
}
body[data-screen="administracao-arquivo-index"] .file-remove button,
body[data-screen="administracao-atendimento-cliente-arquivo"] .file-remove button {
    display: inline-grid;
    place-items: center;
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface-soft);
    box-shadow: none;
    color: var(--danger);
}
body[data-screen="administracao-arquivo-index"] .file-remove button:hover,
body[data-screen="administracao-atendimento-cliente-arquivo"] .file-remove button:hover {
    background: var(--surface);
}
body[data-screen="administracao-arquivo-index"] .file-remove button .action-icon,
body[data-screen="administracao-atendimento-cliente-arquivo"] .file-remove button .action-icon {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
}


/* Chamados: abertura e suporte direto */
.ticket-open-form { display: flex; flex-direction: column; gap: 18px; }
.ticket-open-card { padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; }
.ticket-open-heading { margin-bottom: 18px; }
.ticket-open-heading h2, .ticket-open-heading h3 { margin: 0 0 6px; }
.ticket-open-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.ticket-demand { width: 100%; min-height: 190px; margin: 0; }
.ticket-open-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ticket-upload { margin: 0; }
.ticket-upload .upload-area { min-height: 150px; }
.ticket-check { display: inline-flex; align-items: center; gap: 8px; margin: 8px 0 16px; }
.ticket-check input { margin: 0; }
.ticket-anydesk { width: 100%; margin: 0; }
.ticket-open-alerts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ticket-open-alerts .notice-box { margin: 0; text-align: left; }
.ticket-support-popup { width: min(680px, calc(100vw - 32px)); height: auto; max-height: calc(100svh - 40px); }
.ticket-popup-heading { text-align: center; margin-bottom: 20px; }
.ticket-popup-heading h2 { margin: 0 0 8px; }
.ticket-popup-heading p, .ticket-support-note { color: var(--muted); font-size: 12px; line-height: 1.7; }
.ticket-support-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ticket-support-link { display: flex; flex-direction: column; justify-content: center; min-height: 92px; padding: 14px; text-align: center; text-decoration: none; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 10px; }
.ticket-support-link:hover { background: var(--hover); border-color: var(--accent-line); }
.ticket-support-link strong { color: var(--ink); font-size: 13px; }
.ticket-support-link span { color: var(--muted); font-size: 11px; margin-top: 4px; }
.ticket-support-note { margin: 18px 0 0; text-align: center; }
.ticket-popup-actions { margin-bottom: 0; }
@media (max-width: 768px) {
  .ticket-open-grid, .ticket-open-alerts, .ticket-support-links { grid-template-columns: 1fr; }
  .ticket-open-card { padding: 18px; }
  .ticket-support-link { min-height: 70px; }
}

/* O painel acompanha toda a largura disponível, inclusive em monitores maiores. */
.menu-lateral-principal { max-width: none; }
.menu-lateral-principal .formatacao1 { max-width: none; }

/* Barras de pesquisa e ações sem moldura de card. */
.module-toolbar,.texto1 > :is(.divisao-mestre1,.divisao-mestre3):has(input:is([type="search"],[placeholder*="Pesquisar"],[placeholder*="Buscar"])){background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 auto 24px}
.quick-settings{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0}
.quick-settings label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}

.texto1 > form.checklist-ek-form{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}

.patrimonio-filtros{flex-wrap:wrap;justify-content:center}
.patrimonio-acoes{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}
.patrimonio-acoes form{display:inline-flex;margin:0}

/* Filtros do patrimônio: campos alinhados e ações agrupadas. */
.texto1 form.patrimonio-filtros{display:grid;grid-template-columns:minmax(230px,2fr) minmax(160px,1.2fr) minmax(160px,1.2fr) minmax(120px,.8fr) auto;gap:14px;align-items:end;max-width:none;width:100%;margin:0 0 24px;padding:0;background:transparent;border:0;box-shadow:none}
.patrimonio-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.patrimonio-field>label{font-size:12px;font-weight:600;margin:0;color:var(--muted)}
.patrimonio-field :is(input,select){display:block;width:100%;max-width:none;min-height:44px;height:44px;margin:0}
.patrimonio-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0;margin:0}
.patrimonio-filter-actions :is(a,button).botao-nav{width:44px;height:44px;min-width:44px;min-height:44px;margin:0!important;flex:0 0 44px}
@media(max-width:1250px){.texto1 form.patrimonio-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.patrimonio-search{grid-column:1/-1}.patrimonio-filter-actions{justify-content:flex-start}}
@media(max-width:600px){.texto1 form.patrimonio-filtros{grid-template-columns:minmax(0,1fr)}.patrimonio-search{grid-column:auto}.patrimonio-filter-actions{justify-content:center}}
