/* ===========================================================
   Interface do hub: cabeçalho, busca, breadcrumb, mapa do site
   =========================================================== */

:root {
	/* =======================================================
	   PALETA CENTRAL DO PORTAL
	   Para trocar a identidade visual, altere somente abaixo.
	   ======================================================= */
	--tm-cor-principal: #0b3d2e;
	--tm-cor-secundaria: #14694f;
	--tm-cor-secundaria-hover: #1b8062;
	--tm-cor-links: #0077be;
	--tm-cor-destaque: #ffd200;
	--tm-cor-destaque-texto: #4b3900;

	--tm-cor-fundo: #ffffff;
	--tm-cor-fundo-suave: #f7faf8;
	--tm-cor-hover-suave: #eef4f1;
	--tm-cor-borda: #e4e8ec;
	--tm-cor-texto: #2a3b34;
	--tm-cor-texto-suave: #5b6b63;

	--tm-cor-rodape: #0b3d2e;
	--tm-cor-rodape-texto: #d7e3dd;
	--tm-cor-rodape-texto-forte: #eef4f1;
	--tm-cor-rodape-icone: #9fd3bf;
	--tm-cor-branca: #ffffff;
	--tm-cor-barra-acessibilidade: rgba(11, 61, 46, .97);

	/* Apelidos mantidos para compatibilidade com o CSS existente. */
	--tm-verde: var(--tm-cor-principal);
	--tm-verde-claro: var(--tm-cor-secundaria);
	--tm-azul: var(--tm-cor-links);
	--tm-bg-card: var(--tm-cor-fundo);
	--tm-borda: var(--tm-cor-borda);
	--tm-texto: var(--tm-cor-texto);
	--tm-texto-suave: var(--tm-cor-texto-suave);
	/* Recuo lateral que espelha o do conteúdo (#main > .inner: 6em, max-width 110em centralizado).
	   Alinha a barra superior, o cabeçalho e a barra de ações com o corpo da página. */
	--tm-gutter: 6em;
	--tm-pad-x: max(var(--tm-gutter), calc((100% - 110em) / 2 + var(--tm-gutter)));
}

/* Rolagem suave para os atalhos de ancoragem da página. */
html { scroll-behavior: smooth; }

@media screen and (max-width: 1680px) { :root { --tm-gutter: 5em; } }
@media screen and (max-width: 1280px) { :root { --tm-gutter: 4em; } }
@media screen and (max-width: 736px)  { :root { --tm-gutter: 2em; } }

/* ----- Cabeçalho full-width (estilo modelo) ----- */
body.is-preload { margin: 0; }
.tm-ancora { scroll-margin-top: 90px; }
#conteudo img { max-width: 100%; height: auto; }
#conteudo { min-width: 0; overflow-wrap: anywhere; }
/* Textos corridos das páginas internas seguem um alinhamento uniforme.
   Avisos, controles, botões e rótulos curtos mantêm seu alinhamento funcional. */
#conteudo p {
	text-align: justify;
	text-justify: inter-word;
}
#conteudo .tm-iframe-aviso {
	text-align: center;
}
#conteudo .card-info p { text-align: center; }
#conteudo .obras-titulo p { text-align: left; }
#conteudo iframe { display: block; max-width: 100%; border: 0; }
#conteudo input,
#conteudo select,
#conteudo textarea { max-width: 100%; box-sizing: border-box; }
.tm-iframe-aviso {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	flex-wrap: wrap; margin: 12px 0; padding: 10px 14px;
	background: var(--tm-cor-fundo-suave); border: 1px solid var(--tm-cor-borda);
	border-radius: 8px; text-align: center;
}
.tm-iframe-aviso a { color: var(--tm-cor-links); font-weight: 600; }
#header.tm-header {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(260px, 380px) minmax(210px, 1fr);
	align-items: center;
	gap: 14px 28px;
	padding: 18px var(--tm-pad-x);
	background: linear-gradient(135deg, var(--tm-verde) 0%, var(--tm-verde-claro) 100%);
	color: #fff;
	left: 0 !important;
}
.tm-brand,
.tm-brand:hover,
.tm-brand:focus {
	display: flex; align-items: center; align-self: center; gap: 14px;
	min-height: 60px; text-decoration: none !important; color: #fff !important;
}
.tm-brand-logo { width: 68px; height: auto; flex: 0 0 auto; }
/* Mantém o nome sempre branco (vence o a:hover do template) */
.tm-brand .tm-brand-text strong,
.tm-brand:hover .tm-brand-text strong,
.tm-brand:focus .tm-brand-text strong { display: block; font-size: 1.15rem; line-height: 1.15; color: #fff !important; }
.tm-brand .tm-brand-text span,
.tm-brand:hover .tm-brand-text span,
.tm-brand:focus .tm-brand-text span { font-size: .85rem; color: #d7e8e0 !important; }
.tm-brand-right {
	display: flex; flex-direction: column; justify-content: center; align-self: center;
	min-height: 60px; text-align: right; line-height: 1.25;
}
.tm-brand-right strong { display: block; font-size: 1.05rem; color: #fff; }
.tm-brand-right span { font-size: .8rem; color: #cfe3d9; }
.tm-sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.tm-header-search-wrap { width: 100%; margin-left: 0; align-self: center; }
#header.tm-header .header-search {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	height: auto;
	min-height: 60px;
	margin: 0;
	padding: 8px;
	background: #fff;
	border: 1px solid rgba(255,255,255,.55);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(0,0,0,.18);
	overflow: visible;
}
#header.tm-header .header-search input[type="search"] {
	flex: 1; min-width: 0; padding: 11px 12px; color: #18362c;
}
#header.tm-header .header-search button {
	border: 0 !important; border-radius: 14px !important;
	padding: 11px 16px !important; background: var(--tm-verde) !important;
	color: #fff !important; font-weight: 700 !important; letter-spacing: normal !important;
	text-transform: none !important; line-height: 1 !important; box-shadow: none !important;
	cursor: pointer; white-space: nowrap;
}
#header.tm-header .header-search button:hover { background: var(--tm-verde-claro) !important; }
#header.tm-header .header-search button:focus-visible { outline: 3px solid var(--tm-cor-destaque); outline-offset: 2px; }

/* ----- Breadcrumb full-width (barra branca abaixo do header) ----- */
.tm-barra-acoes {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	padding: 10px var(--tm-pad-x);
	background: #fff;
	border-bottom: 1px solid #e3e9e6;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
.tm-barra-acoes.breadcrumb {
	margin: 0;
	padding-left: max(24px, calc((100% - 1180px) / 2));
	padding-right: max(24px, calc((100% - 1180px) / 2));
	border-radius: 0;
	font-size: .88rem;
}
.tm-barra-acoes.breadcrumb a {
	display: inline-flex; align-items: center; gap: 7px;
	color: var(--tm-verde); font-weight: 600; text-decoration: none;
}
.tm-barra-acoes.breadcrumb a:hover { color: var(--tm-verde-claro); text-decoration: underline; }
.tm-barra-acoes.breadcrumb [aria-current="page"] { color: #45574f; font-weight: 600; }
.tm-barra-acoes .breadcrumb-separador { color: #91a098; font-size: 1.15rem; line-height: 1; }
.busca-wrap { position: relative; margin-left: auto; }
.busca-form {
	display: flex;
	align-items: stretch;
	height: 40px;
	box-sizing: border-box;
	border: 1px solid #cdd6d1;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

/* Dropdown da busca instantânea */
.busca-resultados {
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	left: 0;
	min-width: 280px;
	max-height: 380px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid #d7e0db;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	z-index: 9998;
	padding: 6px;
}
.busca-resultados a {
	display: block;
	padding: 8px 10px;
	border-radius: 6px;
	text-decoration: none;
	color: #233a31;
	line-height: 1.25;
}
.busca-resultados a:hover, .busca-resultados a:focus { background: var(--tm-cor-hover-suave); }
.busca-resultados a strong { display: block; font-size: .9rem; font-weight: 600; color: var(--tm-verde); }
.busca-resultados a small { font-size: .74rem; color: #6c757d; }
.busca-resultados .bz-vazio { padding: 10px; font-size: .85rem; color: #6c757d; }

body.tema-escuro .busca-resultados { background: #16221d; border-color: #2e463d; }
body.tema-escuro .busca-resultados a { color: #d6e6df; }
body.tema-escuro .busca-resultados a:hover { background: #1b2c25; }
body.tema-escuro .busca-resultados a strong { color: #bfe6d5; }
.busca-form input[type="search"] {
	border: 0;
	padding: 0 14px;
	min-width: 200px;
	font-size: .9rem;
	outline: none;
	background: transparent;
}
.btn-inicio, .btn-radar {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none;
	font-size: .88rem;
	height: 40px;
	box-sizing: border-box;
	padding: 0 16px;
	border-radius: 8px;
	white-space: nowrap;
}
.btn-inicio { color: var(--tm-verde); border: 1px solid #cdd6d1; background: #fff; }
.btn-inicio:hover { background: var(--tm-cor-hover-suave); }
.btn-radar { color: var(--tm-cor-destaque-texto); background: var(--tm-cor-destaque); font-weight: 600; }
.btn-radar:hover { background: #ffdd33; }
.btn-inicio:focus-visible, .btn-radar:focus-visible { outline: 3px solid var(--tm-azul); outline-offset: 2px; }

/* Sidebar removida: oculta qualquer toggle/hambúrguer remanescente do template */
a.toggle[href="#sidebar"], #titleBar { display: none !important; }

/* ----- Breadcrumb (Atricon 13.2) ----- */
.breadcrumb {
	font-size: .85rem;
	color: #5b6b63;
	margin: 14px 0 4px;
	padding: 8px 12px;
	background: #f3f6f4;
	border-radius: 6px;
}
.breadcrumb a { color: var(--tm-azul); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb [aria-current="page"] { color: #2a3b34; font-weight: 600; }

/* ----- Mapa do site / Busca (listas) ----- */
.tm-mapa h2, .tm-busca h2 { color: var(--tm-verde); }
.tm-mapa .grupo { margin-bottom: 22px; }
.tm-mapa .grupo h3 {
	color: var(--tm-verde-claro);
	border-left: 4px solid var(--tm-verde);
	padding-left: 10px;
	margin-bottom: 8px;
}
.tm-mapa ul, .tm-busca ul { columns: 2; list-style: square; padding-left: 22px; }
.tm-mapa ul li, .tm-busca ul li { margin: 4px 0; break-inside: avoid; }
.tm-mapa a, .tm-busca a { color: var(--tm-azul); text-decoration: none; }
.tm-mapa a:hover, .tm-busca a:hover { text-decoration: underline; }

/* ----- Faixa de boas-vindas (identidade visual) ----- */
.tm-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
	align-items: center;
	gap: 30px;
	background: linear-gradient(135deg, var(--tm-verde) 0%, var(--tm-verde-claro) 100%);
	color: #fff;
	border-radius: 14px;
	padding: 30px 28px;
	margin: 18px 0 8px;
}
.tm-hero h1 {
	margin: 0 0 8px;
	font-size: 1.7rem;
	color: #fff;
	line-height: 1.15;
}
.tm-hero p {
	margin: 0;
	max-width: 760px;
	font-size: .98rem;
	line-height: 1.6;
	color: #e7f1ec;
	text-align: justify;
	text-justify: inter-word;
}
.tm-hero-atalhos {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}
.tm-hero-atalhos a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 22px;
	font-size: .9rem;
	border: 1px solid rgba(255, 255, 255, 0.25);
	transition: background .15s ease;
}
.tm-hero-atalhos a:hover { background: rgba(255, 255, 255, 0.28); }
.tm-hero-atalhos a:focus-visible { outline: 3px solid var(--tm-cor-destaque); outline-offset: 2px; }
.tm-radar-destaque,
.tm-radar-destaque:hover,
.tm-radar-destaque:focus {
	display: flex; align-items: center; gap: 15px;
	padding: 18px; border: 1px solid rgba(255,255,255,.5); border-radius: 14px;
	background: #f7fbf9; color: var(--tm-verde) !important;
	text-decoration: none !important; box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.tm-radar-destaque { transition: transform .18s ease, box-shadow .18s ease; }
.tm-radar-destaque:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(0,0,0,.22); }
.tm-radar-destaque:focus-visible { outline: 3px solid var(--tm-cor-destaque); outline-offset: 3px; }
.tm-radar-icone {
	display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px;
	border-radius: 12px; background: var(--tm-cor-destaque); color: var(--tm-cor-destaque-texto); font-size: 20px;
}
.tm-radar-texto { display: block; flex: 1 1 auto; min-width: 0; line-height: 1.25; }
.tm-radar-texto strong { display: block; color: var(--tm-verde); font-size: .96rem; white-space: nowrap; }
.tm-radar-texto > span { display: block; margin-top: 5px; color: #50675d; font-size: .8rem; }
.tm-radar-seta {
	display: inline-flex; align-items: center; justify-content: center;
	flex: 0 0 30px; width: 30px; height: 30px; padding: 0; margin: 0;
	border-radius: 50%; background: #e5efea; color: var(--tm-verde);
}
.tm-radar-seta::before {
	content: ""; display: block; width: 6px; height: 6px;
	border-top: 2px solid currentColor; border-right: 2px solid currentColor;
	transform: translateX(-1px) rotate(45deg);
}

/* ----- Página Institucional ----- */
.tm-institucional h2 { color: var(--tm-verde); }
.inst-bloco {
	background: #f7faf8;
	border: 1px solid #e1eae5;
	border-left: 5px solid var(--tm-verde);
	border-radius: 8px;
	padding: 16px 20px;
	margin: 16px 0;
}
.inst-bloco h3 {
	margin: 0 0 8px;
	color: var(--tm-verde-claro);
	font-size: 1.1rem;
}
.inst-bloco h3 i { margin-right: 8px; color: var(--tm-verde); }
.inst-observacao { font-size: .85rem; color: var(--tm-cor-texto-suave); }
.inst-observacao code { color: inherit; font-size: .95em; }
.inst-lista { margin: 8px 0; padding-left: 4px; list-style: none; }
.inst-lista li { margin: 5px 0; }
.inst-links-inline { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.inst-links-inline li { margin: 0; }
.inst-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--tm-verde);
	color: #fff !important;
	text-decoration: none;
	padding: 7px 16px;
	border-radius: 20px;
	font-size: .9rem;
}
.inst-link:hover { background: var(--tm-verde-claro); }

/* ----- Organograma Municipal ----- */
.tm-organograma { color: var(--tm-cor-texto); }
.org-cabecalho { margin-bottom: 22px; }
.org-sobretitulo {
	display: block; margin-bottom: 3px; color: var(--tm-verde-claro);
	font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.org-cabecalho h2 { margin: 0 0 8px; color: var(--tm-verde); }
.org-cabecalho p { max-width: 820px; margin: 0; text-align: justify; }
.org-executivo {
	display: grid; grid-template-columns: repeat(2, minmax(0, 420px));
	justify-content: center; gap: 16px;
}
.org-gestor {
	display: flex; align-items: center; gap: 14px; min-height: 88px;
	padding: 16px 20px; box-sizing: border-box; background: #f7faf8;
	border: 1px solid var(--tm-verde); border-radius: 10px;
}
.org-gestor-principal { background: #f7faf8; color: var(--tm-cor-texto); }
.org-gestor i {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%;
	background: rgba(15, 91, 65, .1); color: var(--tm-verde); font-size: 1.1rem;
}
.org-gestor-principal i { background: rgba(15, 91, 65, .1); color: var(--tm-verde); }
.org-gestor span { display: block; margin-bottom: 2px; font-size: .78rem; opacity: .78; text-transform: uppercase; }
.org-gestor strong { display: block; line-height: 1.35; }
.org-ligacao { width: 1px; height: 28px; margin: 0 auto; background: var(--tm-verde); }
.org-grade {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.org-card {
	display: flex; flex-direction: column; min-width: 0; padding: 18px;
	background: #fff; border: 1px solid var(--tm-verde); border-radius: 10px;
	box-shadow: 0 3px 12px rgba(10, 72, 51, .06);
}
.org-card-topo { display: flex; align-items: flex-start; gap: 10px; }
.org-numero {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; flex: 0 0 32px; border-radius: 50%;
	background: var(--tm-verde); color: #fff; font-size: .72rem; font-weight: 700;
}
.org-card h3 { margin: 3px 0 10px; color: var(--tm-verde); font-size: 1rem; line-height: 1.35; }
.org-responsavel { margin: 0 0 14px; padding-left: 42px; font-size: .9rem; line-height: 1.5; }
.org-competencias { margin-top: auto; padding-top: 12px; border-top: 1px solid #dfe9e4; }
.org-competencias h4 { margin: 0 0 6px; color: var(--tm-verde-claro); font-size: .84rem; }
.org-competencias h4 i { margin-right: 5px; }
.org-competencias p { margin: 0; font-size: .87rem; line-height: 1.55; text-align: justify; }
.org-nota {
	margin: 20px 0 0; padding: 12px 15px; background: #f7faf8;
	border: 1px solid #dfe9e4; border-radius: 8px; font-size: .82rem;
}
.org-nota i { margin-right: 6px; color: var(--tm-verde); }
body.tema-escuro .org-gestor,
body.tema-escuro .org-card,
body.tema-escuro .org-nota { background: #173d31; border-color: #4d7d6d; }
body.tema-escuro .org-competencias { border-color: #4d7d6d; }

/* ----- Fale Conosco ----- */
.contato-cabecalho { margin-bottom: 22px; }
.contato-sobretitulo {
	display: block; margin-bottom: 3px; color: var(--tm-verde-claro);
	font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.contato-cabecalho h2 { margin: 0 0 8px; color: var(--tm-verde); }
.contato-cabecalho p {
	width: 100%; max-width: none; margin: 0;
	text-align: justify; text-justify: inter-word;
}
.contato-layout { display: grid; grid-template-columns: minmax(270px, .8fr) minmax(0, 1.4fr); gap: 24px; align-items: start; }
.contato-canais,
.contato-formulario-wrap { padding: 22px; border: 1px solid var(--tm-verde); border-radius: 12px; background: #fff; }
.contato-canais { background: var(--tm-cor-fundo-suave); }
.contato-canais h3,
.contato-formulario-wrap h3 { margin: 0 0 14px; color: var(--tm-verde); font-size: 1.08rem; }
.contato-formulario-wrap > p { margin: -6px 0 18px; font-size: .9rem; }
.contato-canal {
	display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 12px;
	min-height: 88px; box-sizing: border-box; margin-bottom: 10px; padding: 12px; border: 1px solid var(--tm-cor-borda);
	border-radius: 9px; background: #fff; color: var(--tm-cor-texto) !important; text-decoration: none !important;
}
a.contato-canal:hover { border-color: var(--tm-verde); background: var(--tm-cor-hover-suave); }
.contato-canal > i { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--tm-verde); color: #fff; }
.contato-canal small { display: block; margin-bottom: 2px; color: var(--tm-cor-texto-suave); font-size: .72rem; text-transform: uppercase; }
.contato-canal strong { display: block; min-width: 0; color: var(--tm-cor-texto); font-size: .87rem; line-height: 1.45; overflow-wrap: anywhere; }
.contato-orientacao { margin: 16px 0 0; padding-top: 15px; border-top: 1px solid var(--tm-cor-borda); font-size: .84rem; }
.contato-orientacao > i { color: var(--tm-verde); }
.contato-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.contato-campo { min-width: 0; }
.contato-campo--inteiro { grid-column: auto; }
.contato-campo label { display: block; margin-bottom: 5px; color: var(--tm-cor-texto); font-size: .86rem; font-weight: 700; }
.contato-campo label span { color: #a32424; }
#conteudo .contato-form input,
#conteudo .contato-form textarea {
	width: 100%; height: auto; margin: 0; padding: 10px 12px; box-sizing: border-box;
	border: 1px solid #bccbc4; border-radius: 7px; background: #fff; color: #24362f;
	font: inherit; line-height: 1.45; box-shadow: none;
}
#conteudo .contato-form textarea { min-height: 150px; resize: vertical; }
#conteudo .contato-form input:focus,
#conteudo .contato-form textarea:focus { border-color: var(--tm-verde); outline: 3px solid rgba(20, 105, 79, .15); }
.contato-campo small { display: block; margin-top: 4px; color: var(--tm-cor-texto-suave); font-size: .75rem; }
.contato-acoes { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
#conteudo .contato-acoes button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: auto; padding: 11px 18px; border: 0; border-radius: 8px;
	background: var(--tm-verde); color: #fff; font-size: .88rem; font-weight: 700;
	letter-spacing: normal; line-height: 1.2; text-transform: none; box-shadow: none; cursor: pointer;
}
#conteudo .contato-acoes button:hover { background: var(--tm-verde-claro); }
.contato-acoes > span { color: var(--tm-cor-texto-suave); font-size: .76rem; }
.contato-alerta { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 18px; padding: 12px 14px; border: 1px solid; border-radius: 8px; font-size: .88rem; line-height: 1.5; }
.contato-alerta--sucesso { background: #eaf7ef; border-color: #79b990; color: #175c31; }
.contato-alerta--erro { background: #fff1f1; border-color: #d49a9a; color: #7f2020; }
.contato-armadilha { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
body.tema-escuro .contato-canais,
body.tema-escuro .contato-formulario-wrap,
body.tema-escuro .contato-canal { background: #173d31; border-color: #4d7d6d; }
body.tema-escuro .contato-canal strong { color: #eef4f1; }

/* ----- SIC ----- */
.sic-cabecalho { margin-bottom: 20px; }
.sic-sobretitulo { display:block; margin-bottom:3px; color:var(--tm-verde-claro); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sic-cabecalho h2 { margin:0 0 8px; color:var(--tm-verde); }
.sic-cabecalho p { width:100%; margin:0; text-align:justify; text-justify:inter-word; }
.sic-aviso { display:flex; align-items:flex-start; gap:11px; margin:18px 0; padding:14px 16px; background:var(--tm-cor-fundo-suave); border:1px solid var(--tm-cor-borda); border-left:5px solid var(--tm-verde); border-radius:8px; }
.sic-aviso > i { margin-top:.3em; color:var(--tm-verde); }
#conteudo .sic-aviso p { margin:0; }
.sic-atendimento { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0; }
.sic-bloco { padding:20px; background:#fff; border:1px solid var(--tm-verde); border-radius:11px; }
.sic-bloco h3 { margin:0 0 14px; color:var(--tm-verde); font-size:1.05rem; }
.sic-bloco h3 > i { margin-right:7px; }
.sic-dados { margin:0; padding:0; list-style:none; }
.sic-dados li { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:start; margin:11px 0; }
.sic-dados li > i { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--tm-cor-fundo-suave); color:var(--tm-verde); }
.sic-dados span { min-width:0; overflow-wrap:anywhere; font-size:.9rem; line-height:1.5; }
.sic-dados strong { display:block; color:var(--tm-verde-claro); font-size:.74rem; text-transform:uppercase; }
.sic-eletronico { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.sic-eletronico-icone { display:grid; place-items:center; width:58px; height:58px; margin-bottom:12px; border-radius:50%; background:var(--tm-verde); color:#fff; font-size:1.35rem; }
#conteudo .sic-eletronico p { margin:0 0 14px; text-align:center; }
.sic-botao { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 17px; border-radius:22px; background:var(--tm-verde); color:#fff !important; font-weight:700; text-decoration:none !important; }
.sic-botao:hover { background:var(--tm-verde-claro); }
.sic-eletronico small { margin-top:8px; color:var(--tm-cor-texto-suave); }
.sic-formularios-bloco { margin-top:18px; }
.sic-formularios-bloco > p { margin:-6px 0 16px; }
.sic-formularios { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sic-formularios a { display:grid; grid-template-columns:38px minmax(0,1fr) 20px; align-items:center; gap:10px; min-height:70px; padding:12px 14px; border:1px solid var(--tm-cor-borda); border-radius:9px; color:var(--tm-cor-texto) !important; text-decoration:none !important; }
.sic-formularios a:hover { border-color:var(--tm-verde); background:var(--tm-cor-hover-suave); }
.sic-formularios a > i:first-child { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--tm-verde); color:#fff; }
.sic-formularios strong,.sic-formularios small { display:block; }
.sic-formularios strong { color:var(--tm-verde); font-size:.88rem; }
.sic-formularios small { color:var(--tm-cor-texto-suave); font-size:.75rem; }
.sic-download { color:var(--tm-verde); }
body.tema-escuro .sic-bloco,body.tema-escuro .sic-aviso { background:#173d31; border-color:#4d7d6d; }

/* ----- Diagnóstico administrativo ----- */
.diag-cabecalho { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:20px; }
.diag-cabecalho span { color:var(--tm-verde-claro); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.diag-cabecalho h2 { margin:2px 0 6px; color:var(--tm-verde); }
.diag-cabecalho p { margin:0; }
.tm-diagnostico button { height:auto !important; padding:9px 15px !important; border:0 !important; border-radius:8px !important; background:var(--tm-verde) !important; color:#fff !important; font-size:.85rem !important; letter-spacing:normal !important; line-height:1.3 !important; text-transform:none !important; box-shadow:none !important; }
.diag-resumo { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.diag-resumo-card { display:flex; align-items:center; gap:10px; padding:15px; border:1px solid; border-radius:9px; background:#fff; }
.diag-resumo-card strong { font-size:1.5rem; }
.diag-ok { color:#176b37; border-color:#8cc7a0; }
.diag-aviso { color:#805a00; border-color:#d8bd72; }
.diag-erro { color:#8b2525; border-color:#d8a0a0; }
.diag-lista { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.diag-item { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; padding:12px 14px; border:1px solid; border-radius:8px; background:#fff; }
.diag-item i { margin-top:.2em; }
.diag-item strong,.diag-item span { display:block; }
.diag-item strong { color:var(--tm-cor-texto); font-size:.86rem; }
.diag-item span { color:var(--tm-cor-texto-suave); font-size:.78rem; }
.diag-links { margin-top:22px; padding:20px; border:1px solid var(--tm-verde); border-radius:10px; }
.diag-links h3 { margin:0 0 6px; color:var(--tm-verde); }
.diag-links form { margin:12px 0; }
.diag-tabela-wrap { overflow-x:auto; margin-top:15px; }
.diag-tabela-wrap table { width:100%; min-width:680px; }
.diag-tabela-wrap th,.diag-tabela-wrap td { padding:9px 10px; vertical-align:top; }
.diag-tabela-wrap td a { overflow-wrap:anywhere; }
.diag-tabela-wrap td small { display:block; color:#9b2d2d; }
.diag-status { display:inline-block; min-width:52px; padding:3px 8px; border:1px solid; border-radius:14px; text-align:center; font-weight:700; }
.diag-login { max-width:520px; margin:0 auto; padding:22px; border:1px solid var(--tm-verde); border-radius:10px; }
.diag-login h2 { color:var(--tm-verde); }
.diag-login label { display:block; font-weight:700; }
.diag-login input { width:100%; margin:5px 0 12px; }
.diag-alerta { padding:12px 14px; border:1px solid; border-radius:8px; }
body.tema-escuro .diag-resumo-card,body.tema-escuro .diag-item,body.tema-escuro .diag-links,body.tema-escuro .diag-login { background:#173d31; }

@media (max-width:700px) {
	.diag-resumo { grid-template-columns:1fr; }
	.diag-lista { grid-template-columns:1fr; }
	.diag-cabecalho { flex-direction:column; }
}

@media (max-width:700px) {
	.sic-atendimento,.sic-formularios { grid-template-columns:1fr; }
	.sic-bloco { padding:17px; }
}

@media (max-width: 820px) {
	.contato-layout { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
	.contato-canais, .contato-formulario-wrap { padding: 17px; }
	.contato-form { grid-template-columns: 1fr; }
	.contato-campo--inteiro { grid-column: auto; }
	.contato-acoes { align-items: stretch; flex-direction: column; }
	#conteudo .contato-acoes button { width: 100%; }
}

@media (max-width: 980px) {
	.org-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.org-executivo, .org-grade { grid-template-columns: 1fr; }
	.org-responsavel { padding-left: 0; }
}

/* ----- Responsividade ----- */
@media (max-width: 980px) {
	#header.tm-header {
		grid-template-columns: minmax(0, 1fr) minmax(210px, auto);
		grid-template-areas: "marca portal" "busca busca";
	}
	.tm-brand { grid-area: marca; }
	.tm-header-search-wrap { grid-area: busca; justify-self: center; width: min(100%, 620px); }
	.tm-brand-right { grid-area: portal; }
	.tm-hero { grid-template-columns: 1fr; gap: 20px; }
	.tm-radar-destaque { width: min(100%, 420px); justify-self: center; box-sizing: border-box; }
}

@media (max-width: 760px) {
	.tm-brand-logo { width: 62px; }
	#header.tm-header {
		grid-template-columns: 1fr;
		grid-template-areas: "marca" "busca" "portal";
		justify-items: center; text-align: center;
	}
	.tm-header .logo { justify-content: center; flex-basis: 100%; }
	.header-acoes { justify-content: center; width: 100%; }
	.tm-header-search-wrap { width: min(100%, 420px); }
	.tm-brand-right { text-align: center; }
	.busca-form { flex: 1 1 100%; }
	.busca-form input[type="search"] { min-width: 0; width: 100%; }
	.tm-hero { padding: 24px 18px; }
	.tm-hero { grid-template-columns: 1fr; gap: 20px; }
	.tm-hero h1 { font-size: 1.4rem; }
	.tm-hero p { max-width: none; text-align: justify; text-justify: inter-word; }
	.tm-hero-atalhos {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.tm-hero-atalhos a {
		width: 100%; min-height: 42px; box-sizing: border-box;
		justify-content: center; padding: 8px 10px;
	}
	.tm-barra-acoes.breadcrumb { padding-left: 22px; padding-right: 22px; }
	#conteudo .imagem img { margin-left: 0 !important; }
	#conteudo form { max-width: 100%; margin-left: 0 !important; }
}

@media (max-width: 440px) {
	.tm-brand-logo { width: 58px; }
	.tm-radar-destaque {
		flex-direction: column; justify-content: center; text-align: center;
		padding: 15px; gap: 9px;
	}
	.tm-radar-icone { width: 44px; height: 44px; flex-basis: 44px; }
	.tm-radar-texto { width: 100%; }
	.tm-radar-texto strong { white-space: nowrap; font-size: .9rem; }
	.tm-radar-texto > span { margin-top: 4px; }
	.tm-radar-seta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.tm-radar-destaque { transition: none; }
	.tm-radar-destaque:hover { transform: none; }
}

@media (max-width: 340px) {
	#header.tm-header .header-search { flex-direction: column; border-radius: 15px; }
	#header.tm-header .header-search button { width: 100%; }
}

@media (max-width: 640px) {
	.tm-mapa ul, .tm-busca ul { columns: 1; }
}

/* ===== Obras (painel GeoPB) ===== */
/* Neutraliza o estilo de button/input/select do template (altura fixa, maiúsculas, cor) dentro do painel */
.tm-obras button, .tm-obras select, .tm-obras input {
	height: auto !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
	font-weight: 400;
}
.tm-obras h2 { color: var(--tm-verde); }
.obras-titulo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.obras-titulo h2 { margin: 0 0 2px; font-size: 1.4rem; }
.obras-titulo h2 i { color: var(--tm-verde); }
.obras-titulo p { margin: 0; color: #5b6b63; font-size: .9rem; }
.obras-badge { background: #eaf2fb; color: #0a5a90; border: 1px solid #cfe0f3; border-radius: 16px; padding: 5px 12px; font-size: .78rem; font-weight: 600; white-space: nowrap; }

/* Filtros */
.obras-filtros { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; background: #f7faf8; border: 1px solid #e1eae5; border-radius: 10px; padding: 14px 16px; margin: 14px 0; }
.obras-filtros > div { display: flex; flex-direction: column; gap: 4px; }
.obras-filtros .obras-busca-wrap { flex: 1 1 240px; }
.obras-filtros label { font-size: .72rem; text-transform: uppercase; letter-spacing: .4px; color: #5b6b63; font-weight: 600; }
.obras-filtros select, .obras-filtros input { padding: 8px 10px; border: 1px solid #cdd6d1; border-radius: 7px; font-size: .9rem; background: #fff; }
.obras-filtros input { width: 100%; box-sizing: border-box; }
.obras-limpar { align-self: flex-end; background: #eef2f0; border: 1px solid #cdd6d1; border-radius: 7px; padding: 9px 16px; cursor: pointer; font-size: .88rem; }
.obras-limpar:hover { background: #e2e8e5; }

/* Cartões de resumo */
.obras-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 16px 0; }
.obras-stat { border-left: 5px solid; border-radius: 10px; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.06); padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.obras-stat span { font-size: .72rem; text-transform: uppercase; letter-spacing: .4px; color: #6c757d; }
.obras-stat strong { font-size: 1.8rem; color: #233a31; line-height: 1; }

.obras-sub { color: var(--tm-verde); margin: 20px 0 8px; font-size: .82rem; text-transform: uppercase; letter-spacing: .5px; }
.obras-sub small { text-transform: none; color: #888; font-weight: 400; }

/* Tipos (clicáveis) */
.obras-tipos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.obras-tipo-card { display: block !important; text-align: left !important; white-space: normal !important; background: #fff; border: 1px solid #e1eae5; border-radius: 10px; padding: 14px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.obras-tipo-card .ot-nome { text-transform: none; }
.obras-tipo-card:hover { border-color: var(--tm-verde-claro); box-shadow: 0 4px 12px rgba(11,61,46,.12); }
.obras-tipo-card .ot-top { display: flex; justify-content: space-between; gap: 6px; align-items: center; }
.obras-tipo-card .ot-nome { font-weight: 700; color: var(--tm-verde); font-size: .9rem; }
.obras-tipo-card .ot-n { font-size: .72rem; color: #6c757d; background: #f0f4f2; border-radius: 10px; padding: 2px 8px; white-space: nowrap; }
.obras-tipo-card .ot-valor { font-size: 1.15rem; font-weight: 700; color: #233a31; margin: 8px 0 6px; }
.obras-tipo-card .ot-bar { height: 6px; background: #e9eef0; border-radius: 4px; overflow: hidden; }
.obras-tipo-card .ot-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--tm-verde), var(--tm-verde-claro)); }

/* Distribuição por situação */
.obras-dist { background: #fff; border: 1px solid #e1eae5; border-radius: 10px; padding: 16px; }
.od-item { margin-bottom: 12px; }
.od-item:last-child { margin-bottom: 0; }
.od-label { font-size: .85rem; color: #4a5b53; margin-bottom: 4px; }
.od-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; }
.od-bar { height: 8px; background: #eef1f0; border-radius: 5px; overflow: hidden; }
.od-bar span { display: block; height: 100%; }

/* Exportar */
.obras-export { display: flex; gap: 8px; align-items: center; margin: 18px 0 8px; flex-wrap: wrap; }
.obras-export button { background: #fff !important; color: #233a31 !important; border: 1px solid #cdd6d1 !important; border-radius: 7px; padding: 7px 14px; cursor: pointer; font-size: .85rem; display: inline-flex !important; align-items: center; gap: 6px; }
.obras-export button:hover { background: var(--tm-cor-hover-suave) !important; }
.obras-export button i { color: var(--tm-verde); }
.obras-limpar { background: #eef2f0 !important; color: #233a31 !important; border: 1px solid #cdd6d1 !important; }
.obras-limpar:hover { background: #e2e8e5 !important; }

/* Tabela */
.obras-tabela { width: 100%; border-collapse: collapse; font-size: .86rem; background: #fff; }
.obras-tabela thead th { background: var(--tm-verde); color: #fff; text-align: left; padding: 10px 12px; font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .3px; }
.obras-tabela tbody td { padding: 10px 12px; border-bottom: 1px solid #eef1f0; vertical-align: top; }
.obras-tabela .obra-objeto { max-width: 420px; }
.obras-tabela a { color: var(--tm-azul); text-decoration: none; font-weight: 600; }
.obra-toggle { cursor: pointer; color: var(--tm-verde); width: 22px; text-align: center; }
.obra-toggle i { transition: transform .15s; }
.obra-badge-sit { padding: 3px 9px; border-radius: 12px; font-size: .74rem; font-weight: 600; white-space: nowrap; }
.obra-detalhe td { background: #f7faf8; }
.od-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 18px; padding: 6px 4px; }
.od-grid > div { font-size: .85rem; color: #2a3b34; }
.od-grid > div span { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .4px; color: #6c757d; margin-bottom: 2px; }
.od-grid .od-full { grid-column: 1 / -1; }
.obra-link { display: inline-flex; align-items: center; gap: 7px; background: var(--tm-azul); color: #fff !important; text-decoration: none; padding: 7px 14px; border-radius: 6px; font-size: .85rem; }
.obra-link:hover { background: #0a5a90; }

/* Tema escuro */
body.tema-escuro .obras-filtros, body.tema-escuro .obras-stat, body.tema-escuro .obras-tipo-card,
body.tema-escuro .obras-dist, body.tema-escuro .obras-tabela { background: #16221d; border-color: #26352f; }
body.tema-escuro .obras-stat strong, body.tema-escuro .od-grid > div { color: #d6e6df; }
body.tema-escuro .obras-tabela tbody td { border-color: #26352f; }
body.tema-escuro .obra-detalhe td { background: #131d19; }
body.tema-escuro .obras-filtros select, body.tema-escuro .obras-filtros input { background: #0f1714; color: #e6efe9; border-color: #2e463d; }

@media print {
	.tm-header, .tm-barra-acoes, #barra-acessibilidade, .breadcrumb, .obras-filtros, .obras-export,
	.tm-footer, .tm-topo, [vw] { display: none !important; }
	.obra-detalhe { display: table-row !important; }
}

/* ===========================================================
   TEMA ESCURO (toggle na barra de acessibilidade)
   =========================================================== */
body.tema-escuro { background: #0f1714; color: #dfe8e3; }
body.tema-escuro #wrapper,
body.tema-escuro #main,
body.tema-escuro #main > .inner { background: transparent; }

body.tema-escuro .tm-barra-acoes { background: #13201b; border-bottom-color: #26352f; }
body.tema-escuro .btn-inicio { background: #13201b; color: #d6e6df; border-color: #2e463d; }
body.tema-escuro .btn-inicio:hover { background: #1b2c25; }
body.tema-escuro .busca-form { background: #0f1714; border-color: #2e463d; }
body.tema-escuro .busca-form input[type="search"] { color: #e6efe9; }

body.tema-escuro .breadcrumb { background: #13201b; color: #9fb3aa; }
body.tema-escuro .breadcrumb [aria-current="page"] { color: #e6efe9; }

body.tema-escuro .secao h2 { color: #9fd8c2; }
body.tema-escuro .secao p { color: #9fb3aa; }

body.tema-escuro .card { background: #16221d; border-color: #4ea986; box-shadow: none; }
body.tema-escuro .card-info h3 { color: #bfe6d5; }
body.tema-escuro .card-info p { color: #9fb3aa; }

body.tema-escuro .inst-bloco { background: #16221d; border-color: #26352f; border-left-color: var(--tm-verde-claro); }
body.tema-escuro .inst-bloco h3 { color: #bfe6d5; }

body.tema-escuro .tm-mapa .grupo h3 { color: #bfe6d5; }
body.tema-escuro a { color: #7fd1b3; }
body.tema-escuro .tm-hero { box-shadow: none; }

/* Em tema escuro, o filtro de alto contraste é redundante; mantém só um ativo */
body.tema-escuro.alto-contraste { filter: none; }
/* Glossário pesquisável */
.tm-glossario { max-width: 1200px; margin: 0 auto; }
.tm-glossario > p { text-align: justify; }
.glos-ferramentas {
	margin: 1.5rem 0 1rem;
	padding: 1rem;
	border: 1px solid var(--cor-borda, #d7e2de);
	border-radius: 12px;
	background: var(--cor-superficie, #f7faf9);
}
.glos-ferramentas label { display: block; margin-bottom: .45rem; font-weight: 700; color: var(--cor-primaria, #075440); }
.glos-campo-linha { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .6rem; }
.glos-campo-icone { color: var(--cor-primaria, #075440); font-size: 1.05rem; }
#glos-busca {
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 .85rem;
	border: 1px solid #a9bbb5;
	border-radius: 8px;
	background: #fff;
	color: #24332f;
}
#glos-busca:focus { border-color: var(--cor-primaria, #075440); box-shadow: 0 0 0 3px rgba(7, 84, 64, .16); outline: 0; }
#glos-limpar {
	height: 44px;
	margin: 0;
	padding: 0 1rem;
	border-radius: 8px;
	line-height: 1;
}
#glos-limpar:disabled { cursor: not-allowed; opacity: .5; }
.glos-status { margin: .65rem 0 0; color: #55645f; }
.glos-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin: 1rem 0 1.5rem; }
.glos-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--cor-primaria, #075440);
	border-radius: 50%;
	font-weight: 700;
	color: var(--cor-primaria, #075440) !important;
	text-decoration: none;
}
#conteudo .tm-glossario .glos-nav a:hover,
#conteudo .tm-glossario .glos-nav a:focus,
#conteudo .tm-glossario .glos-nav a:focus-visible {
	border-color: var(--cor-primaria, #075440);
	background: var(--cor-primaria, #075440);
	color: #fff !important;
	text-decoration: none;
}
.glos-nav a:focus-visible { outline: 3px solid rgba(7, 84, 64, .28); outline-offset: 2px; }
body.tema-escuro .glos-nav a { border-color: #9ad8c7; color: #d8fff4 !important; }
body.tema-escuro #conteudo .tm-glossario .glos-nav a:hover,
body.tema-escuro #conteudo .tm-glossario .glos-nav a:focus,
body.tema-escuro #conteudo .tm-glossario .glos-nav a:focus-visible { border-color: #fff; background: #d8fff4; color: #073d30 !important; }
.glos-nav .glos-letra-inativa { pointer-events: none; opacity: .3; }
.glos-grupo { margin: 0 0 1.75rem; scroll-margin-top: 150px; }
.glos-grupo-topo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; border-bottom: 1px solid #d9e3df; }
.glos-letra { margin: 0; padding: 0 0 .35rem; color: var(--cor-primaria, #075440); font-size: 1.65rem; }
.glos-voltar { font-size: .82rem; text-decoration: none; }
.glos-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.glos-card {
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--cor-primaria, #075440);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 55, 42, .06);
}
.glos-card[hidden], .glos-grupo[hidden] { display: none !important; }
.glos-termo { margin: 0 0 .45rem; color: var(--cor-primaria, #075440); font-size: 1.08rem; }
.glos-definicao { margin: 0; text-align: justify; overflow-wrap: anywhere; }
.glos-fonte { display: block; margin: .65rem 0 0; color: #64736e; font-size: .78rem; }
.glos-links { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .7rem; }
.glos-links a { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .55rem; border-radius: 6px; background: #e8f1ee; font-size: .8rem; text-decoration: none; }
.glos-card mark { padding: 0 .08em; border-radius: 2px; background: #ffe36e; color: #1e2a26; }
.glos-vazio { padding: 2rem 1rem; border: 1px dashed #a9bbb5; border-radius: 10px; text-align: center; color: #566660; }
.glos-vazio i, .glos-vazio strong, .glos-vazio span { display: block; }
.glos-vazio i { margin-bottom: .55rem; font-size: 1.5rem; }
body.tema-escuro .glos-ferramentas, body.tema-escuro .glos-card { background: #173e34; border-color: #5b8377; }
body.tema-escuro #glos-busca { background: #0f3028; border-color: #6e9288; color: #fff; }
body.tema-escuro .glos-ferramentas label, body.tema-escuro .glos-letra, body.tema-escuro .glos-termo { color: #b9eadc; }
body.tema-escuro .glos-status, body.tema-escuro .glos-fonte { color: #c3d2cd; }
body.tema-escuro .glos-links a { background: #28594c; color: #fff; }

@media screen and (max-width: 736px) {
	.glos-cards { grid-template-columns: 1fr; }
	.glos-campo-linha { grid-template-columns: auto minmax(0, 1fr); }
	#glos-limpar { grid-column: 1 / -1; width: 100%; }
	.glos-grupo-topo { align-items: flex-end; }
	.glos-nav a { width: 36px; height: 36px; }
}
/* Perguntas Frequentes pesquisáveis */
.tm-faq { max-width: 1200px; margin: 0 auto; }
.tm-faq > p { text-align: justify; }
.faq-ferramentas { margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--tm-cor-borda, #d7e2de); border-radius: 12px; background: var(--tm-cor-superficie, #f7faf9); }
.faq-ferramentas > label { display: block; margin-bottom: .45rem; color: var(--tm-verde, #075440); font-weight: 700; }
.faq-busca-linha { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .6rem; }
.faq-busca-linha > span { color: var(--tm-verde, #075440); }
#faq-busca { width: 100%; height: 44px; margin: 0; padding: 0 .85rem; border: 1px solid #a9bbb5; border-radius: 8px; background: #fff; color: #24332f; }
#faq-busca:focus { border-color: var(--tm-verde, #075440); outline: 3px solid rgba(7, 84, 64, .16); }
#faq-limpar { height: 44px; margin: 0; padding: 0 1rem; border-radius: 8px; line-height: 1; }
#faq-limpar:disabled { cursor: not-allowed; opacity: .5; }
.faq-filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .85rem; }
.faq-filtro { min-height: 38px; height: auto; margin: 0; padding: .45rem .7rem; border: 1px solid var(--tm-verde, #075440) !important; border-radius: 999px; background: transparent !important; color: var(--tm-verde, #075440) !important; font-size: .76rem; line-height: 1.2; text-transform: none; box-shadow: none; }
.faq-filtro:hover, .faq-filtro:focus-visible, .faq-filtro.ativo { background: var(--tm-verde, #075440) !important; color: #fff !important; }
.faq-filtro:focus-visible { outline: 3px solid rgba(7, 84, 64, .24); outline-offset: 2px; }
.faq-ferramentas-rodape { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .85rem; }
#faq-status { margin: 0; color: var(--tm-cor-texto-suave, #55645f); }
.faq-acoes { display: flex; flex-wrap: wrap; gap: .45rem; }
.faq-acoes button { min-height: 36px; height: auto; margin: 0; padding: .4rem .65rem; border-radius: 7px; font-size: .72rem; line-height: 1.2; text-transform: none; }
.faq-grupo { margin: 0 0 1.6rem; }
.faq-grupo[hidden], .faq-item[hidden] { display: none !important; }
.faq-grupo > h3 { display: flex; align-items: center; gap: .55rem; margin: 0 0 .7rem; padding-bottom: .45rem; border-bottom: 1px solid var(--tm-cor-borda, #d7e2de); color: var(--tm-verde, #075440); font-size: 1.15rem; }
.faq-grupo > h3 i { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #e4f0ec; }
.faq-item { margin: 0 0 .65rem; border: 1px solid var(--tm-cor-borda, #d7e2de); border-radius: 9px; background: #fff; overflow: hidden; scroll-margin-top: 150px; }
.faq-item[open] { border-color: var(--tm-verde, #075440); box-shadow: 0 3px 10px rgba(0, 55, 42, .08); }
.faq-item summary { display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; gap: .8rem; min-height: 54px; padding: .8rem 1rem; color: #24332f; font-weight: 700; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { background: #f1f7f5; }
.faq-indicador { position: relative; width: 28px; height: 28px; border-radius: 50%; background: #e4f0ec; }
.faq-indicador::before, .faq-indicador::after { content: ''; position: absolute; top: 13px; left: 8px; width: 12px; height: 2px; background: var(--tm-verde, #075440); }
.faq-indicador::after { transform: rotate(90deg); transition: transform .18s ease; }
.faq-item[open] .faq-indicador::after { transform: rotate(0); }
.faq-resposta { padding: 0 1rem 1rem; border-top: 1px solid #e3ebe8; }
.faq-texto { margin: .85rem 0 0; text-align: justify; }
.faq-fonte { margin: .7rem 0 0; color: var(--tm-cor-texto-suave, #61716b); font-size: .78rem; }
.faq-links { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.faq-links a { display: inline-flex; align-items: center; gap: .35rem; padding: .38rem .58rem; border-radius: 6px; background: #e8f1ee; font-size: .8rem; text-decoration: none; }
.faq-vazio { padding: 2rem 1rem; border: 1px dashed #a9bbb5; border-radius: 10px; text-align: center; color: #566660; }
.faq-vazio i, .faq-vazio strong, .faq-vazio span { display: block; }
.faq-vazio i { margin-bottom: .55rem; font-size: 1.5rem; }
.faq-item mark { padding: 0 .08em; border-radius: 2px; background: #ffe36e; color: #1e2a26; }
body.tema-escuro .faq-ferramentas, body.tema-escuro .faq-item { border-color: #5b8377; background: #173e34; }
body.tema-escuro #faq-busca { border-color: #6e9288; background: #0f3028; color: #fff; }
body.tema-escuro .faq-ferramentas > label, body.tema-escuro .faq-grupo > h3 { color: #b9eadc; }
body.tema-escuro .faq-filtro { border-color: #9ad8c7 !important; color: #d8fff4 !important; }
body.tema-escuro .faq-filtro:hover, body.tema-escuro .faq-filtro:focus-visible, body.tema-escuro .faq-filtro.ativo { background: #d8fff4 !important; color: #073d30 !important; }
body.tema-escuro .faq-item summary { color: #f0faf7; }
body.tema-escuro .faq-item summary:hover { background: #214c41; }
body.tema-escuro .faq-resposta { border-color: #426b60; }
body.tema-escuro .faq-links a { background: #28594c; color: #fff !important; }

@media screen and (max-width: 736px) {
	.faq-busca-linha { grid-template-columns: auto minmax(0, 1fr); }
	#faq-limpar { grid-column: 1 / -1; width: 100%; }
	.faq-filtros { display: grid; grid-template-columns: 1fr; }
	.faq-filtro { width: 100%; }
	.faq-ferramentas-rodape { align-items: stretch; flex-direction: column; }
	.faq-acoes { display: grid; grid-template-columns: 1fr 1fr; }
	.faq-acoes button { width: 100%; }
	.faq-item summary { padding: .75rem; }
	.faq-resposta { padding: 0 .75rem .85rem; }
}
/* Manual de Navegação */
.tm-manual { max-width: 1200px; margin: 0 auto; }
.tm-manual > p, .manual-secao > p, .manual-alertas p { text-align: justify; }
.manual-sumario { margin: 1.4rem 0; padding: 1rem; border: 1px solid var(--tm-cor-borda, #d7e2de); border-radius: 12px; background: var(--tm-cor-superficie, #f7faf9); }
.manual-sumario > strong { display: block; margin-bottom: .7rem; color: var(--tm-verde, #075440); font-size: 1.05rem; }
.manual-sumario > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.manual-sumario a { display: flex; align-items: center; gap: .55rem; min-height: 45px; padding: .55rem .7rem; border: 1px solid #bfd0ca; border-radius: 8px; color: var(--tm-verde, #075440) !important; text-decoration: none; }
.manual-sumario a:hover, .manual-sumario a:focus-visible { border-color: var(--tm-verde, #075440); background: #e7f1ee; }
.manual-sumario a i { width: 20px; text-align: center; }
.manual-fluxo { margin: 0 0 1.6rem; scroll-margin-top: 150px; }
.manual-fluxo > h3, .manual-atendimento > h3 { display: flex; align-items: center; gap: .55rem; color: var(--tm-verde, #075440); }
.manual-fluxo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.manual-fluxo-grid a { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: .2rem .65rem; align-items: center; min-width: 0; padding: .85rem; border: 1px solid var(--tm-verde, #075440); border-radius: 10px; color: #24332f !important; text-decoration: none; }
.manual-fluxo-grid a:hover, .manual-fluxo-grid a:focus-visible { transform: translateY(-2px); background: #f1f7f5; box-shadow: 0 5px 12px rgba(0, 55, 42, .1); }
.manual-fluxo-grid a > i { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--tm-verde, #075440); color: #fff; }
.manual-fluxo-grid strong, .manual-fluxo-grid span { min-width: 0; overflow-wrap: anywhere; }
.manual-fluxo-grid span { color: #61716b; font-size: .8rem; line-height: 1.35; }
.manual-secao { margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--tm-cor-borda, #d7e2de); border-radius: 10px; background: #fff; scroll-margin-top: 150px; }
.manual-secao-titulo { display: flex; align-items: center; gap: .7rem; margin-bottom: .55rem; }
.manual-secao-titulo > span { display: grid; flex: 0 0 auto; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--tm-verde, #075440); color: #fff; font-weight: 700; }
.manual-secao-titulo h3 { margin: 0; color: var(--tm-verde, #075440); font-size: 1.13rem; }
.manual-secao ol { margin: .65rem 0 .85rem 1.4rem; }
.manual-secao li { margin-bottom: .45rem; padding-left: .25rem; text-align: justify; }
.manual-links { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.manual-links a { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .6rem; border-radius: 6px; background: #e8f1ee; font-size: .8rem; text-decoration: none; }
.manual-voltar { display: block; margin-top: .85rem; text-align: right; font-size: .76rem; text-decoration: none; }
.manual-alertas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.manual-alertas > div { padding: .8rem; border-left: 4px solid #d49a00; border-radius: 5px; background: #fff8df; }
.manual-alertas strong { color: #664b00; }
.manual-alertas p { margin: .3rem 0 0; }
.manual-atendimento { padding: 1rem; border-radius: 10px; background: var(--tm-verde, #075440); color: #fff; scroll-margin-top: 150px; }
.manual-atendimento > h3 { margin-top: 0; color: #fff; }
.manual-atendimento p { margin: .35rem 0; }
.manual-atendimento a { color: #fff !important; text-decoration: underline; }
body.tema-escuro .manual-sumario, body.tema-escuro .manual-secao { border-color: #5b8377; background: #173e34; }
body.tema-escuro .manual-sumario > strong, body.tema-escuro .manual-secao-titulo h3, body.tema-escuro .manual-fluxo > h3 { color: #b9eadc; }
body.tema-escuro .manual-sumario a { border-color: #6e9288; color: #d8fff4 !important; }
body.tema-escuro .manual-sumario a:hover, body.tema-escuro .manual-sumario a:focus-visible { background: #28594c; }
body.tema-escuro .manual-fluxo-grid a { border-color: #6e9288; background: #173e34; color: #fff !important; }
body.tema-escuro .manual-fluxo-grid span { color: #c3d2cd; }
body.tema-escuro .manual-alertas > div { border-left-color: #ffd55f; background: #4a401f; }
body.tema-escuro .manual-alertas strong { color: #ffe59a; }

@media screen and (max-width: 980px) {
	.manual-sumario > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.manual-fluxo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 736px) {
	.manual-sumario > div, .manual-fluxo-grid, .manual-alertas { grid-template-columns: 1fr; }
	.manual-secao { padding: .8rem; }
	.manual-secao ol { margin-left: 1.1rem; }
	.manual-atendimento p { overflow-wrap: anywhere; }
}
/* Padroniza cores e controles das páginas de ajuda */
#conteudo .tm-manual > p,
#conteudo .tm-faq > p,
#conteudo .tm-glossario > p,
#conteudo .manual-secao > p,
#conteudo .manual-secao li,
#conteudo .manual-alertas p,
#conteudo .faq-texto,
#conteudo .glos-definicao,
#conteudo .glos-card {
	color: #43534d;
}

#conteudo .manual-links a,
#conteudo .faq-links a,
#conteudo .glos-links a {
	min-height: 36px;
	border: 1px solid #bfd0ca;
	border-bottom-color: #bfd0ca !important;
	background: #e8f1ee;
	color: var(--tm-verde, #0b3d2e) !important;
	font-weight: 600;
}
#conteudo .manual-links a:hover,
#conteudo .manual-links a:focus-visible,
#conteudo .faq-links a:hover,
#conteudo .faq-links a:focus-visible,
#conteudo .glos-links a:hover,
#conteudo .glos-links a:focus-visible {
	border-color: var(--tm-verde, #0b3d2e) !important;
	background: var(--tm-verde, #0b3d2e);
	color: #fff !important;
	text-decoration: none;
}

#conteudo .manual-voltar {
	color: var(--tm-verde, #0b3d2e) !important;
	font-weight: 600;
}
#conteudo .manual-voltar:hover,
#conteudo .manual-voltar:focus-visible { color: #075440 !important; text-decoration: underline; }

#conteudo #faq-limpar,
#conteudo #glos-limpar,
#conteudo .faq-acoes button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0 .85rem;
	border: 1px solid var(--tm-verde, #0b3d2e) !important;
	border-radius: 8px;
	background: transparent !important;
	color: var(--tm-verde, #0b3d2e) !important;
	font-size: .76rem;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
	box-shadow: none;
}
#conteudo #faq-limpar:hover:not(:disabled),
#conteudo #faq-limpar:focus-visible:not(:disabled),
#conteudo #glos-limpar:hover:not(:disabled),
#conteudo #glos-limpar:focus-visible:not(:disabled),
#conteudo .faq-acoes button:hover,
#conteudo .faq-acoes button:focus-visible {
	background: var(--tm-verde, #0b3d2e) !important;
	color: #fff !important;
}
#conteudo #faq-limpar:focus-visible,
#conteudo #glos-limpar:focus-visible,
#conteudo .faq-acoes button:focus-visible,
#conteudo .manual-links a:focus-visible,
#conteudo .faq-links a:focus-visible,
#conteudo .glos-links a:focus-visible {
	outline: 3px solid rgba(11, 61, 46, .25);
	outline-offset: 2px;
}
#conteudo #faq-limpar:disabled,
#conteudo #glos-limpar:disabled {
	border-color: #9caaa5 !important;
	color: #65736e !important;
	cursor: not-allowed;
	opacity: .65;
}

body.tema-escuro #conteudo .tm-manual > p,
body.tema-escuro #conteudo .tm-faq > p,
body.tema-escuro #conteudo .tm-glossario > p,
body.tema-escuro #conteudo .manual-secao > p,
body.tema-escuro #conteudo .manual-secao li,
body.tema-escuro #conteudo .manual-alertas p,
body.tema-escuro #conteudo .faq-texto,
body.tema-escuro #conteudo .glos-definicao,
body.tema-escuro #conteudo .glos-card { color: #e2eee9; }
body.tema-escuro #conteudo .manual-links a,
body.tema-escuro #conteudo .faq-links a,
body.tema-escuro #conteudo .glos-links a { border-color: #6e9288 !important; background: #28594c; color: #fff !important; }
body.tema-escuro #conteudo .manual-links a:hover,
body.tema-escuro #conteudo .manual-links a:focus-visible,
body.tema-escuro #conteudo .faq-links a:hover,
body.tema-escuro #conteudo .faq-links a:focus-visible,
body.tema-escuro #conteudo .glos-links a:hover,
body.tema-escuro #conteudo .glos-links a:focus-visible { border-color: #d8fff4 !important; background: #d8fff4; color: #073d30 !important; }
body.tema-escuro #conteudo .manual-voltar { color: #b9eadc !important; }
body.tema-escuro #conteudo #faq-limpar,
body.tema-escuro #conteudo #glos-limpar,
body.tema-escuro #conteudo .faq-acoes button { border-color: #9ad8c7 !important; color: #d8fff4 !important; }
body.tema-escuro #conteudo #faq-limpar:hover:not(:disabled),
body.tema-escuro #conteudo #glos-limpar:hover:not(:disabled),
body.tema-escuro #conteudo .faq-acoes button:hover { background: #d8fff4 !important; color: #073d30 !important; }
/* Neutraliza a paleta vermelha do template antigo nas páginas de ajuda */
#conteudo .tm-manual a,
#conteudo .tm-faq a,
#conteudo .tm-glossario a {
	border-bottom-color: transparent !important;
	color: var(--tm-verde, #0b3d2e) !important;
}
#conteudo .tm-manual button,
#conteudo .tm-faq button,
#conteudo .tm-glossario button {
	border-color: var(--tm-verde, #0b3d2e) !important;
	color: var(--tm-verde, #0b3d2e) !important;
}
#conteudo .tm-manual a:focus-visible,
#conteudo .tm-faq a:focus-visible,
#conteudo .tm-glossario a:focus-visible,
#conteudo .tm-manual button:focus-visible,
#conteudo .tm-faq button:focus-visible,
#conteudo .tm-glossario button:focus-visible {
	outline-color: rgba(11, 61, 46, .3);
}
#conteudo .glos-voltar {
	color: var(--tm-verde, #0b3d2e) !important;
	font-weight: 600;
	text-decoration: none;
}
#conteudo .glos-voltar:hover,
#conteudo .glos-voltar:focus-visible {
	color: #075440 !important;
	text-decoration: underline;
}
#conteudo .tm-glossario .glos-nav a {
	border: 1px solid var(--tm-verde, #075440) !important;
	border-bottom-color: var(--tm-verde, #075440) !important;
}
#conteudo .tm-glossario .glos-nav a:hover,
#conteudo .tm-glossario .glos-nav a:focus,
#conteudo .tm-glossario .glos-nav a:focus-visible {
	border-color: var(--tm-verde, #075440) !important;
}
body.tema-escuro #conteudo .tm-manual a,
body.tema-escuro #conteudo .tm-faq a,
body.tema-escuro #conteudo .tm-glossario a,
body.tema-escuro #conteudo .tm-manual button,
body.tema-escuro #conteudo .tm-faq button,
body.tema-escuro #conteudo .tm-glossario button { color: #d8fff4 !important; }
body.tema-escuro #conteudo .glos-voltar { color: #b9eadc !important; }
body.tema-escuro #conteudo .tm-glossario .glos-nav a { border-color: #9ad8c7 !important; }
#conteudo .tm-faq .faq-filtro:hover,
#conteudo .tm-faq .faq-filtro:focus-visible,
#conteudo .tm-faq .faq-filtro.ativo { color: #fff !important; }
body.tema-escuro #conteudo .tm-faq .faq-filtro:hover,
body.tema-escuro #conteudo .tm-faq .faq-filtro:focus-visible,
body.tema-escuro #conteudo .tm-faq .faq-filtro.ativo { color: #073d30 !important; }
/* Contraste de blocos institucionais com fundo verde */
#conteudo .tm-manual .manual-atendimento,
#conteudo .tm-manual .manual-atendimento h3,
#conteudo .tm-manual .manual-atendimento p,
#conteudo .tm-manual .manual-atendimento strong,
#conteudo .tm-manual .manual-atendimento a {
	color: #fff !important;
}
#conteudo .tm-manual .manual-atendimento a {
	border-bottom-color: rgba(255, 255, 255, .75) !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
#conteudo .tm-manual .manual-atendimento a:hover,
#conteudo .tm-manual .manual-atendimento a:focus-visible {
	border-bottom-color: #fff !important;
	background: rgba(255, 255, 255, .12);
	color: #fff !important;
}
#conteudo .tm-organograma .org-gestor strong {
	color: #24332f !important;
}
body.tema-escuro #conteudo .tm-organograma .org-gestor strong {
	color: #f0faf7 !important;
}
