* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	--primario: #ab0000;
	--primario-escuro: #550101;
	--primario-claro: #7a2f2d;
	--primario-alternativo :#7a0000;

	--secundario: #007D94;
	--secundario-escuro: #014555;
	--secundario-claro: #33BBD3;
	--secundario-alternativo: #fff0c2; /*#fe876e #fea56e*/

	--branco: #FDFCF9;
	--preto: #1A1A1A;
	--cinza-escuro: #343a49;
	--cinza-medio: #C8C0AB;
	--cinza-claro: #EDE8DC;
	
	--highlight:#e04242;
	
	/* Estados */
	--wait: #727272;
	--warn: #ffdc71;
	--error: #FF8D8D;
	--sent: #069DC0;
	--pause: #069DC0;
	--success: #01B659;
	
	/* LGPD */
	--risco-seg: #7B1D1D; --risco-seg-bg: rgba(123,29,29,0.07);
    --sensivel: #5B21B6; --sensivel-bg: rgba(91,33,182,0.07);
    --terceiro: #92400E; --terceiro-bg: rgba(146,64,14,0.07);
    --inst: #1B4332; --inst-bg: rgba(27,67,50,0.07);
    --honra: #B45309; --honra-bg: rgba(180,83,9,0.08);
}

body {
	font-family: 'Source Sans 3', sans-serif;
	background: var(--branco);
	min-height: 100vh;
	color: var(--preto);
}

ul, ol {
	margin: 0;
	padding: 7px 0 0 20px;
}

.p-0 {
	padding:0 !important;
}
.pt-0 {
	padding-top:0 !important;
}
.pe-0 {
	padding-right:0 !important;
}
.pb-0 {
	padding-bottom:0 !important;
}
.ps-0 {
	padding-left:0 !important;
}

.m-0 {
	margin:0 !important;
}
.mt-0 {
	margin-top:0 !important;
}
.me-0 {
	margin-right:0 !important;
}
.mb-0 {
	margin-bottom:0 !important;
}
.ms-0 {
	margin-left:0 !important;
}

.d-none {
	display: none !important;
}
.d-none-mobile {
	display: block !important;
}
.d-none-desktop {
	display: none !important;
}

@media (max-width: 992px) {
	.d-none-mobile {
		display: none !important;
	}
	.d-none-desktop {
		display: block !important;
	}
}


/* --------------- */
/* --- INICIAL --- */
/* --------------- */
#tela-login {
	display: flex;
	justify-content: center;
	width: 100%;
	min-height: 100vh;
}

.login-esquerda {
	position: relative;
	width: 55%;
	background: var(--primario-escuro);
	/*background: #7B0031;
	background: linear-gradient(0deg, rgba(114, 10, 34, 1) 0%, rgba(108, 0, 0, 1) 100%);*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	padding-top:30px;
	padding-bottom:30px;
}

.login-esquerda-container {
	max-width: calc(640px + 6%);
	margin-right: 10%;
	margin-bottom: 2rem;
	margin-left: auto;
	padding-left: 6%;
}

.logo {
	width: auto;
	height: 64px;
	margin-bottom: 2rem;
	margin-left: -10px;
}

.logo img {
	height: 100%
}

.login-titulo {
	font-family: 'Poppins', serif;
	font-size: 28px;
	font-weight: 500;
	color: var(--secundario-alternativo);
	line-height: 1.3;
	margin-bottom: .5rem;
	text-transform: uppercase;
}

.login-subtitulo {
	font-size: 15px;
	color: var(--branco);
	line-height: 1.7;
	margin-bottom: 2.3rem;
	font-weight: 300;
}

.login-subtitulo ul {}

.info-card {
	background: #ffffff14;
	border-radius: 10px;
	padding: 1rem 1.25rem;
	margin-bottom: 0.75rem;
	font-size: 14px;
	color: rgba(247, 243, 236, 0.8);
	line-height: 1.5;
}

.info-card strong {
	color: var(--secundario-alternativo);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 3px;
}

.info-card ul {}

.info-card a {
	/*color: var(--branco);*/
	color: rgba(247, 243, 236, 1);
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 3px;
}

.end-info {
	color: var(--secundario-alternativo);
	font-size: 12px;
	margin-top: 1.5rem;
	opacity: 0.85;
}

.end-info a {
	color: var(--secundario-alternativo);
	text-decoration: none;
	transition: opacity 0.2s;
}

.end-info a:hover {
	opacity: 1;
}

.login-direita {
	position: relative;
	width: 45%;
	background: var(--branco);
	display: flex;
	align-items: center;
	justify-content: center;
}

.login-direita-form {
	width: 100%;
	max-width: 380px;
	margin-left:10%;
	margin-right:auto;
}

.login-direita-form h2 {
	font-family: 'Poppins', serif;
	font-size: 26px;
	font-weight: 600;
	color: var(--primario);
	margin-bottom: 6px;
}

.login-direita-form p {
	font-size: 15px;
	color: var(--cinza-escuro);
	margin-bottom: 2rem;
}

.campo-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--primario);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 6px;
}

.campo-input {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid #D8D3CB;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	color: var(--preto);
	background: var(--branco);
	margin-bottom: 1.25rem;
	transition: border-color 0.2s;
	outline: none;
}

.campo-input:focus {
	border-color: var(--primario-claro);
}

.campo-input::placeholder {
	color: #BBBBB0;
}

.btn-entrar {
	width: 100%;
	padding: 13px;
	background: var(--secundario);
	color: var(--branco);
	border: none;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top: 0.25rem;
}

.btn-entrar:hover {
	background: var(--primario);
}

.btn-entrar:active {
	transform: scale(0.99);
}

.btn-voltar {
	width: 100%;
	padding: 13px;
	background: var(--branco);
	color: var(--primario);
	border: none;
	border-radius: 0;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	margin-top: 0.25rem;
	text-transform: uppercase;
}


p.link-suporte {
	display: block;
	text-align: center;
	margin-top: 1.25rem;
	font-size: 13px;
	color: var(--cinza-escuro);
}

p.link-suporte b {
	opacity:.8;
}

p.link-suporte a {
	color: var(--primario);
	cursor: pointer;
	text-decoration: none;
}

.login-direita-alerta {
	margin-top: 1.5rem;
	padding: 1rem;
	background: var(--cinza-claro);
	border-radius: 8px;
	border: 1px solid #E0EBE5;
}

.login-direita-alerta strong {
	font-size: 13px;
	color: var(--secundario);
	font-weight: 500;
	margin-bottom: 5px;
	display: block;
	text-transform: uppercase;
}

.login-direita-alerta p {
	font-size: 13px;
	color: var(--cinza-escuro);
	line-height: 1.5;
	margin-bottom: 0;
}

.login-rodape {
	padding: 1rem;
	font-size: 14px;
	color: var(--branco);
	line-height: 140%;
	font-weight: 300;
	text-align: left;
	width: 100%;
	bottom: 0;
	background: var(--primario-escuro);
}

.login-rodape-content {
	max-width: 75vw;
	margin: 30px auto 20px auto;
}

.login-rodape-content strong {
	margin:15px 0 0 0;
	display:block;
	
	color: var(--secundario-alternativo);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 3px;
}

.login-rodape-content a {
	color: var(--branco);
	text-decoration:underline;
}

.footer {
	position: fixed;
	bottom: 7px;
	right: 8px;
	background-color: var(--secundario);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.03em;
	color: var(--branco);
	padding: 3px 10px;
	border-radius: 99px;
}

@media (max-width: 992px) {
	#tela-login {
		flex-direction: column;
		justify-content: inherit;
	}

	.login-esquerda,
	.login-direita {
		width: 100%;
	}
	
	.login-direita {
		flex-grow: 1;
	}

	.login-esquerda-container,
	.login-direita-form {
		position: relative;
		right: initial;
		left: initial;
		max-width: 75vw;
		margin:35px auto 50px auto;
	}
	.login-subtitulo {
		margin-bottom:0;
	}
	.footer {
		display:none;
	}
}


/* --------------------------- */
/* --- COMPONENTES: GERAIS --- */
/* --------------------------- */
.divisor {
	height: 1px;
	background: var(--cinza-medio);
	margin: 1.5rem 0;
	opacity: .8;
}

.btn {
	padding:10px 15px;
	background: var(--secundario);
	color: var(--branco);
	border: none;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top: 0.25rem;
}

.btn:hover {
	background: var(--primario);
}

.btn:active {
	transform: scale(0.99);
}

.btn-group {
	display: flex;
}

.btn-group .btn {
	border-radius:0;
}

.btn-group .btn:first-child {
	border-radius:0;
	border-top-left-radius: 9px;
	border-bottom-left-radius: 9px;
}

.btn-group .btn:last-child {
	border-radius:0;
	border-top-right-radius: 9px;
	border-bottom-right-radius: 9px;
	margin-left:1px;
}

#btn-teste {
	position:fixed; z-index:1;
	right:10px;
	bottom:100px;
	line-height:100%;
	user-select:none;
	padding:13px 15px 10px 15px;
	text-align:center;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top: 0.25rem;
	text-decoration:none;
	color: var(--preto);
	background: var(--branco);
	border:2px solid var(--highlight);
}

#btn-teste.active {	
	background: var(--highlight);
	color: var(--branco);
	border:2px solid var(--highlight);
}

#btn-teste small {
	font-size: 10px;
	text-transform: uppercase;
	opacity: .7;
}

.tooltip-teste {
	position:absolute;
	background-color:var(--highlight);
	color: var(--preto);
	text-align:center;
	padding:5px 3px 5px 8px;
	transform: rotate(6deg);
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 600;
	margin:-9px 0 0 -66px;
	font-weight: bold;
	white-space: nowrap;

}
.tooltip-teste:after {
	color: var(--highlight);
	border-left: 22px solid;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	display: inline-block;
	content: '';
	position: absolute;
	right: -20px;
	top: -5px;
}

	.tooltip-teste.end {
		transform: rotate(-6deg);
		padding:5px 9px 5px 3px;
		margin: -12px 0 0 164px;
	}

	.tooltip-teste.end:after {
		border-left: 18px solid transparent;
		border-right: 22px solid;
		border-top: 18px solid transparent;
		border-bottom: 18px solid transparent;
		left: -38px;
		right:initial;
}

.badge {
	display: inline-block;
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 4px;
	font-weight: 500;
	vertical-align:middle;
}

.badge-primario {
	background: rgba(192, 57, 43, 0.08);
	color: #C0392B;
}

.badge-primario-alt {
	background: rgba(27, 67, 50, 0.07);
	color: var(--primario-claro);
}

.badge-secundario {
	background: var(--secundario);
	color: var(--branco);
}

.badge-secundario-alt {
	background: rgba(183, 150, 12, 0.1);
	color: var(--secundario);
}

.badge-highlight {
	background: var(--highlight);
	color: var(--branco);
}

.opcional-tag { font-size: 12px; color: var(--cinza-escuro); font-weight: 400; text-transform: none; letter-spacing: 0; margin-left: 4px; font-style: italic; opacity:.7; }

/* Status gerais */
.status-dot {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	justify-content: center;
	text-align: center;
	
	height: 19px;
	width:auto;
	padding:3px 10px 3px 6px;
	
	border-radius: 20px;
	line-height: 100%;
	
	font-size: 11px;
	font-weight: 600;
	
	/*border:1px solid rgba(247, 243, 236, 0.3) !important;
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); 
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4);*/
	
	background: var(--cinza-claro);
	color: var(--cinza-escuro);
}
.status-dot::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	
	background-color: currentColor;
	
	mask-repeat: no-repeat;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	
	mask-image: url("icons/edit.svg");
	-webkit-mask-image: url("icons/edit.svg");
}

.status-dot.large {
	height: 30px;
	padding: 3px 16px 3px 13px;
	gap:6px;
	font-size: 15px;
}
	.status-dot.large::before {
		width: 20px;
		height: 20px;
	}

.edit { /* disponível (nao iniciado e em preenchimento) */
	background: var(--cinza-claro) !important;
	color: var(--cinza-escuro) !important;
}
	.status-dot.edit::before {
		mask-image: url("icons/edit.svg");
		-webkit-mask-image: url("icons/edit.svg");
	}
	.status-dot.edit::after {
		content:"Disponível";
	}

.wait { /* indisponivel */
	background: var(--wait) !important;
	color: var(--branco) !important;
}
	.status-dot.wait::before {
		mask-image: url("icons/wait.svg");
		-webkit-mask-image: url("icons/wait.svg");
	}
	.status-dot.wait::after {
		content:"Indisponível";
	}

.warn { /* pendente (em correcao) */
	background: var(--warn) !important;
	color: var(--preto) !important;
}
	.status-dot.warn::before {
		mask-image: url("icons/warn.svg");
		-webkit-mask-image: url("icons/warn.svg");
	}
	.status-dot.warn::after {
		content:"Pendências";
	}

.error { /* erro */
	background: var(--error) !important;
	color: var(--preto) !important;
}
	.status-dot.error::before {
		mask-image: url("icons/error.svg");
		-webkit-mask-image: url("icons/error.svg");
	}
	.status-dot.error::after {
		content:"Erro";
	}

.sent { /* concluído */
	background: var(--sent) !important;
	color: var(--branco) !important;
}
	.status-dot.sent::before {
		mask-image: url("icons/sent.svg");
		-webkit-mask-image: url("icons/sent.svg");
	}
	.status-dot.sent::after {
		content:"Enviado";
	}

.pause { /* aguardando/em análise */
	background: var(--pause) !important;
	color: var(--branco) !important;
}
	.status-dot.pause::before {
		mask-image: url("icons/pause.svg");
		-webkit-mask-image: url("icons/pause.svg");
	}
	.status-dot.pause::after {
		content:"Em análise";
	}

.success { /* completo/concluído */
	background: var(--success) !important;
	color: var(--branco) !important;
}
	.status-dot.success::before {
		mask-image: url("icons/success.svg");
		-webkit-mask-image: url("icons/success.svg");
	}
	.status-dot.success::after {
		content:"Validado";
	}

/* Legenda LGPD */
  .lgpd-legenda { display: flex; flex-wrap: wrap; gap: 8px; margin-top: .5rem; }
  .lgpd-tag { display: none; /*inline-flex*/ align-items: center; gap: 5px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; text-transform: initial; }
  .lgpd-tag.inst { background: var(--inst-bg); color: var(--inst); }
  .lgpd-tag.sensivel { background: var(--sensivel-bg); color: var(--sensivel); }
  .lgpd-tag.seg { background: var(--risco-seg-bg); color: var(--risco-seg); }
  .lgpd-tag.honra { background: var(--honra-bg); color: var(--honra); }
  .lgpd-tag.terceiro { background: var(--terceiro-bg); color: var(--terceiro); }


/* ---------------------- */
/* --- GERAL INTERNAS --- */
/* ---------------------- */
#tela-interna {
	min-height: 100vh;
	background: #f3f3f2;
}

.header {
	position: sticky;
	top: 0;
	z-index:2;
}

.top-bar {
	background: var(--primario-escuro);
	padding: 0 2.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 68px;
	z-index: 100;
	user-select: none; 
}

.top-bar-name {
	flex-grow: 1;
	cursor: pointer;
	line-height: 100%;
}

.top-bar-name div {
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 600;
	font-family: 'Poppins', serif;
	color: var(--secundario-alternativo);
}

.top-bar-name span {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 13px;
	font-weight: 300;
	color: var(--branco);
}

.top-bar-logo {
	flex-grow: 1;
	cursor: pointer;
	width: auto;
	height: 43px;
	margin-right: 1rem;
	text-align: center;
}

.top-bar-logo img {
	height: 100%
}

.top-bar-usuario {
	flex-grow: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 14px;
}

.top-bar-usuario .top-bar-usuario-user {
	display: flex;
	align-items: center;
	gap: 10px;
}

.avatar {
	width: 32px;
	height: 32px;
	background: rgba(212, 175, 55, 0.2);
	border: 1px solid rgba(212, 175, 55, 0.4);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	color: var(--secundario-alternativo);
}

.usuario-nome {
	font-size: 13px;
	color: rgba(247, 243, 236, 0.85);
}

.btn-sair {
	background: none;
	border: 1px solid rgba(247, 243, 236, 0.25);
	color: rgba(247, 243, 236, 0.75);
	border-radius: 6px;
	padding: 5px 12px;
	font-size: 12px;
	cursor: pointer;
	font-family: 'Source Sans 3', sans-serif;
	transition: all 0.2s;
}

.btn-sair:hover {
	background: rgba(247, 243, 236, 0.08);
	color: var(--branco);
}

.menu {
	position: relative;
	background: var(--primario-claro);
	padding: 0 2.5rem;
	display: flex;
	align-items: center;
	gap: 0;
	height: 44px;
	overflow: hidden;
}

.menu-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 1.25rem;
	height: 100%;
	font-size: 13px;
	color: rgba(247, 243, 236, 0.7);
	cursor: pointer;
	border-bottom: 3px solid transparent;
	transition: all 0.2s;
	white-space: nowrap;
	user-select: none; 
	text-decoration:none;
}

.menu-item::before {
	content:"";
	display: inline-flex;
	
	height:7px;
	width:7px;
	margin-right:5px;
	
	background-color: var(--cinza-claro);
	border-radius: 20px;
	
	opacity:.5;
}

.menu-item.active {
	color: var(--branco);
	border-bottom-color: var(--cinza-claro);
	font-weight: 500;
}

.menu-item.active::before {
	opacity:1;
	background-color: var(--secundario-alternativo);
}

.menu-item-end {
	margin-left: auto;
	color: var(--branco);
	font-size: 13px;
}

.conteudo {
	display:flex;
}

.submenu {
	position:relative;
	height: auto;
	min-width: auto;
	background-color: var(--cinza-escuro);
	user-select: none;
}

.submenu-container {	
	position: sticky;
	top: var(--top-bar-height);
	height: auto;
	min-width: 180px;
	padding:0;
}

.submenu-container b {
	font-family: 'Poppins', serif;
	display: block;
	color: var(--secundario-alternativo);
	margin: 0 18px 10px 0;
	padding-top:35px;
	text-align: right;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 500;
}

.submenu-container a {
	display: flex;
	align-items:center;
	color: #FDFCF991;
	font-size: 13px;
	/*text-transform: uppercase;*/
	letter-spacing: .03em;
	text-decoration: none;
	padding: 5px 15px 5px 20px;
	margin: 5px 0;
	justify-content: flex-end;
	
	/*border-radius: 6px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;*/
	
	white-space: nowrap;
}

.submenu-container a.dotted::before {
	content:"";
	display: inline-flex;
	
	height:7px;
	width:7px;
	margin-right:7px;
	
	background: var(--secundario);
	border-radius: 20px;
}

.submenu-container a.active {
	background-color: #FFFFFF21;
	padding-top: 11px;
	padding-bottom: 11px;
	font-weight: 500;
	color:var(--branco);
}

.submenu-container a .status-dot {
	margin:0 0 0 7px;
	opacity:.8;
	font-size:11px;
}

.submenu-container a.active .status-dot {
	opacity:1;
}

.submenu-container.icon-hide .status-dot {
	font-size:0 !important;
	width:20px;
	position:relative;
}
	.submenu-container.icon-hide .status-dot::before {
		position: absolute;
		left:50%;
		margin-left:-8px;
	}
	.submenu-container.icon-hide a.active .status-dot {
		width:auto;
		font-size:11px !important;
	}
	.submenu-container.icon-hide a.active .status-dot::before {
		position: relative;
		left:initial;
		margin-left:0;
	}

.conteudo-miolo {
	position:relative;
	width:100%;
	
}

.conteudo-miolo-wrap {
	max-width: 960px;
	margin: 0 auto;
	padding: 2rem 2.5rem;
	min-height:83vh;
}


.barra-acoes {
	position: sticky;
	z-index:1;
	bottom: 0;
	background: var(--branco);
	border-top: 1px solid var(--cinza-medio);
	padding: 1rem 2.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:1rem;
}


.barra-acoes-container {
	display: flex;
	gap: 10px;
	margin:0 0 0 auto;
}

.progress-info {
	font-size: 13px;
	color: var(--cinza-escuro);
	display: flex;
	align-items: center;
	gap: 10px;
}

.btn-action {
	padding: 10px 24px;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--branco);
	cursor: pointer;
	transition: background 0.15s;
	display: flex;
	align-items: center;
	gap: 8px;
}

.btn-action.btn-action-save {
	background: none;
	border: 1.5px solid var(--cinza-claro);
	font-weight: 500;
	color: var(--cinza-escuro);
}

.btn-action.btn-action-save:hover {
	border-color: var(--primario);
	color: var(--primario);
}

.btn-action.btn-action-send {
	background: var(--primario);
	border: none;
	font-weight: 600;
	color: var(--branco);
}

.btn-action.btn-action-send:hover {
	background: var(--primario-claro);
}

@media (max-width: 992px) {
	.top-bar-logo {
		/*display:none;*/
	}

	.usuario-nome {
		display: none;
	}
	
	.menu {
		/*flex-direction: column;*/
		flex-wrap: wrap;
		height: auto;
		padding: 0 1.5rem;
		padding-top: 8px;
		justify-content: flex-start;
	}

	.menu-item {
		min-height: 40px;
		margin-bottom: 8px;
		border-radius: 6px;
		padding:10px 15px 8px 15px;
		font-weight:600;
	}

	.menu-item.active {
		border-bottom-color: transparent;
		background: #ffffff1c;
	}
	
	.menu-item::before {
		display:none !important;
	}
	
	.conteudo {
		flex-direction:column;
	}

	.submenu {
	}
	
	.submenu-container {
		position:relative;
		display: flex;
		flex-wrap: wrap;
		height: auto;
		padding: 0 1.5rem;
		padding-top: 2px;
		justify-content: flex-start;
		top:0;
	}
	
	.submenu-container b {
		display: none;
	}
	
	.submenu-container a {
		margin-bottom: 10px;
		border-radius: 6px;
		padding:10px 15px 10px 15px;
		/*flex-direction: row-reverse;*/
	}
	
	/*
	.submenu-container a .status-dot {
		margin: 0 7px 0 0;
	}
	*/
	
	.submenu-container a.active {
		border-bottom-color: transparent;
		background: #ffffff1c;
		padding:11px 15px 11px 15px;
	}
	
	.submenu-container a .status-dot {
		/*display:none;*/
	}
}


/* ----------------------------- */
/* --- COMPONENTES: INTERNAS --- */
/* ----------------------------- */
.cabecalho-secao {
	padding-top: 2.5rem;
	padding-bottom: .3rem;
	/*border-bottom: 1px solid var(--cinza-claro);*/
}

.cabecalho-secao h1 {
	font-family: 'Poppins', serif;
	font-size: 24px;
	color: var(--secundario);
	font-weight: 600;
	margin-bottom: 4px;
}

.cabecalho-secao h2 {
	font-family: 'Poppins', serif;
	font-size: 20px;
	color: var(--secundario);
	font-weight: 600;
	margin-bottom: 4px;
}

.cabecalho-secao p {
	font-size: 14px;
	color: var(--cinza-escuro);
	margin-bottom: .8rem;
}

.card {
	background: var(--branco);
	border: 1px solid var(--cinza-claro);
	border-radius: 12px;
	padding: 1.75rem;
	margin-bottom: 1.25rem;
}

.grid-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 2.5rem;
}

.card-titulo {
	font-size: 12px;
	font-weight: 600;
	color: var(--primario);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.card-titulo::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--cinza-medio);
}

.card-subtitulo {
	font-size: 14px;
	color: var(--cinza-escuro);
	line-height: 1.3;
	margin:0 0 15px 0;
}

.card p {
	font-size: 14px;
	color: var(--cinza-escuro);
	line-height: 1.6;
}

.card ul, .card ol {
	font-size: 14px;
	color: var(--cinza-escuro);
	line-height: 1.6;
}

.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom:1rem;
}

.grid-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
	margin-bottom:1rem;
}

.grid-4 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1rem;
	margin-bottom:1rem;
}

.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.span-4 { grid-column: span 4; }

.alerta-info {
	background: rgba(27, 67, 50, 0.06);
	border: 1px solid rgba(27, 67, 50, 0.15);
	border-left: 3px solid var(--primario-claro);
	border-radius: 0 8px 8px 0;
	padding: 0.9rem 1rem;
	font-size: 14px;
	color: var(--cinza-escuro);
	margin-bottom: 1.25rem;
	line-height: 1.6;
}

.alerta-info.error {
	border-color: var(--error);
	background-color: var(--secundario-alternativo) !important;
}

.alerta-info strong {
	color: var(--secundario);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: block;
	margin-bottom: 3px;
}

.timeline {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.timeline-item {
	cursor:pointer;
	user-select: none;
	display: flex;
	position:relative;
	gap: 1.25rem;
	padding: 1.1rem .8rem;
	border-bottom: 1px solid #D1CFCA;
	align-items: flex-start;
	
	font-size: 14px;
	color: var(--cinza-escuro);
}

.timeline-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.timeline-item.current {
	/*background-color:var(--cinza-claro);*/
}

.timeline-num {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--cinza-medio);
	color: var(--preto);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	margin-top: 10px;
}

/*
.timeline-item.current .timeline-num {
	background: var(--highlight);
	color: var(--branco);
}
*/

.timeline-info h4 {
	font-size: 17px;
	font-weight: 600;
	color:var(--preto);
	margin-top: 2px;
	margin-bottom: 3px;
}

.timeline-info p {
	line-height: 1.6;
}

.timeline-info b {
	color: var(--preto);
}

.timeline-item a {
	color: var(--primario);
	text-decoration:underline;
}

.timeline-info ul, .timeline-info ol {
	padding:.15rem 1rem 1rem 1rem;
}

.timeline-info-desc {
	line-height: 1.3;
	padding:.3rem 0 0 0;
	font-size: 14px;
}
	.timeline-item[onclick*="toggleAccordion"]::before {
		border-style: solid;
		border-color:var(--primario);
		border-width: 3px 3px 0 0;
		content: '';
		display: inline-block;
		height: 10px;
		width: 10px;
		vertical-align: sub;
		transform: rotate(135deg);
		position: absolute;
		top: 0;
		right: 0;
		margin: 40px 20px 0 0;
	}
	.timeline-item[onclick*="toggleAccordion"].active::before {
		transform: rotate(-45deg);
	}
	.timeline-item[onclick*="toggleAccordion"] .timeline-info-desc {
		display:none;
		padding-right:3rem;
	}
	.timeline-item[onclick*="toggleAccordion"].active .timeline-info-desc {
		display:block;
	}

	

.call-to-action {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--branco);
	border: 1.5px solid #DDD8CF;
	border-radius: 9px;
	padding: 0.9rem 1.1rem;
	transition: all 0.15s;
	cursor: pointer;
}

.call-to-action:hover {
	background: var(--cinza-claro);
}

.call-to-action-icon {
	width: 38px;
	height: 44px;
	background: #C0392B;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: relative;
	font-size: 10px;
	font-weight: 700;
	color: white;
	letter-spacing: 0.03em;
}

.call-to-action-icon::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	border-style: solid;
	border-width: 0 8px 8px 0;
	border-color: transparent rgba(255, 255, 255, 0.25) transparent transparent;
}

.call-to-action-info {
	flex: 1;
}

.call-to-action-nome {
	font-size: 14px;
	font-weight: 500;
	color: var(--preto);
	margin-bottom: 2px;
}

.call-to-action-meta {
	font-size: 12px;
	color: var(--primario);
	display: flex;
	gap: 12px;
}

.call-to-action-btn {
	background: var(--primario);
	color: var(--secundario-alternativo);
	border: none;
	border-radius: 6px;
	padding: 7px 14px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	font-family: 'Source Sans 3', sans-serif;
	display: flex;
	align-items: center;
	gap: 5px;
	transition: background 0.15s;
	white-space: nowrap;
}

.call-to-action-btn:hover {
	background: var(--primario-claro);
}

.acordion-lista {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom:1.25rem;
}

.acordion-item {
	background: var(--branco);
	border: 1.5px solid #DDD8CF;
	border-radius: 9px;
	overflow: hidden;
}

.acordion-trigger {
	padding: 1rem 1.25rem;
	font-size: 14px;
	font-weight: 600;
	color: var(--primario-escuro);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background 0.15s;
	user-select: none;
}

.acordion-trigger:hover {
	background: var(--cinza-claro) !important;
}
	.acordion-item.active .acordion-trigger {
		background: #EDE8DC80;
	}

.acordion-seta {
	position: relative;
	color: var(--secundario);
	transition: transform 0.2s;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	overflow:hidden;
}

.acordion-seta::after {
	border-style: solid;
	border-width: 3px 3px 0 0;
	content: '';
	display: inline-block;
	height: 10px;
	width: 10px;
	vertical-align: sub;
	transform: rotate(135deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -9px 0 0 -6px;
}
	.acordion-item.active .acordion-seta {
		transform: rotate(180deg);
	}

.acordion-content {
	display: none;
	padding: 0 1.25rem 1rem;
	font-size: 13px;
	color: var(--cinza-escuro);
	line-height: 1.7;
	border-top: 1px solid var(--cinza-claro);
	padding-top: 0.85rem;
}
	.acordion-item.active .acordion-content {
		display: block;
	}

@media (max-width: 992px) {
	.grid-cards {
		grid-template-columns: initial;
	}
}

/* -------------------------------- */
/* --- COMPONENTES: ORIENTACOES --- */
/* -------------------------------- */
.hero {
	background: var(--cinza-escuro);
	padding: 2.8rem 2.5rem 2rem 2.5rem;
	position: relative;
	overflow: hidden;
}

.hero-inner {
	max-width: 860px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.hero-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--secundario);
	border-radius: 20px;
	padding: 4px 12px;
	font-size: 12px;
	color: var(--branco);
	margin-bottom: 1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.hero h1 {
	font-family: 'Poppins', serif;
	font-size: 30px;
	font-weight: 600;
	color: var(--branco);
	line-height: 1.25;
	margin-bottom: 0.1rem;
}

.hero-sub {
	margin-top: 18px;
	font-size: 15px;
	color: rgba(247, 243, 236, 0.65);
	font-weight: 300;
	line-height: 1.7;
}

.hero-sub p {
	margin:0;
	/*max-width: 580px;*/
}

.hero-actions{
	margin-top: 18px;
}

.hero-actions b {
	display:block;
	color:var(--branco);
	padding:10px 0;
}

.hero-actions .btn {
	background: var(--branco);
	color: var(--terceiro);
	text-transform: uppercase;
	font-size: 12px;
	display:flex;
	align-items:center;
}

.hero-meta {
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-meta strong {	
	display: block;
	font-size: 15px;
	color: rgba(247, 243, 236, 0.65);
	font-weight: 300;
	line-height: 1.7;
	max-width: 580px;
	margin-bottom: 1rem;
}

.hero-meta-content {
	display: flex;
	flex-direction:row;
	gap: 2rem;
}

.hero-meta-item {
	font-size: 13px;
	color: rgba(247, 243, 236, 0.5);
	display: flex;
	flex-direction:column;
	align-items: center;
	align-items: flex-start;
	gap: 15px;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	padding-right: 25px;
}

.hero-meta-item:last-child {
	border-right:0;
}

.hero-meta-item b {
	font-family: 'Poppins', serif;
	display: block;
	color: var(--secundario-alternativo);
	margin: 5px 0 5px 0;
	padding:0;
	text-align: right;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 500;
}

.hero-meta-item a {
	display: flex;
	flex-direction:row;
	align-items: center;
	color: rgba(247, 243, 236, 0.85);
	font-weight: 500;
	text-decoration:none;
	gap: 10px;
}

.hero-meta-item a::before {
	content:"";
	display: inline-flex;
	
	height:7px;
	width:7px;
	margin-right:0;
	margin-left: 3px;
	
	background: var(--secundario);
	border-radius: 20px;
}

.video-container {
	margin-bottom: 0;
	background: #111;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 16/9;
	position: relative;
	border: 1px solid var(--cinza-escuro);
}

.video-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.play-btn {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	border: 2px solid rgba(255, 255, 255, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.2s;
}

.play-btn:hover {
	background: rgba(255, 255, 255, 0.25);
	border-color: var(--branco);
	transform: scale(1.05);
}

.play-btn svg {
	width: 24px;
	height: 24px;
	fill: var(--branco);
	margin-left: 3px;
}

.video-legenda {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.4);
	text-align: center;
}

.video-duracao {
	position: absolute;
	bottom: 14px;
	right: 16px;
	background: rgba(0, 0, 0, 0.6);
	color: rgba(255, 255, 255, 0.7);
	font-size: 12px;
	padding: 3px 8px;
	border-radius: 4px;
}

.video-caption {
	font-size: 13px;
	color: var(--cinza-escuro);
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.docs-lista {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.contato-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: .8rem;
	margin-top:15px;
}
	.contato-grid.contato-grid-group {
		gap:0;
	}
	.contato-grid.mini {
		gap: .5rem;
	}

.contato-card {
	display: flex;
	flex-grow: 1;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: var(--secundario-escuro);
	border-radius: 10px;
	padding: 1.25rem;
	text-align: center;
}
	.contato-grid.contato-grid-group .contato-card {
		border-radius:0;
		margin:0 .01rem;
	}
	.contato-grid.contato-grid-group .contato-card:first-child {
		border-radius:0;
		border-top-left-radius: 10px;
		border-bottom-left-radius: 10px;
	}
	.contato-grid.contato-grid-group .contato-card:last-child {
		border-radius:0;
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
	}
	.contato-grid.mini .contato-card {
		flex-direction: row;
		gap:1rem;
		background: var(--cinza-escuro);
	}

.contato-icone {
	font-size: 0;
	margin-bottom: 8px;
	color: #fff;
}
	.contato-grid.mini .contato-card .contato-icone {
		margin-bottom:0;
		font-size: initial;
	}

.contato-card h4 {
	font-size: 13px;
	font-weight: 600;
	color: var(--branco);
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.contato-card p {
	font-size: 14px;
	color: var(--branco);
	font-weight: 500;
	opacity: .8;
}

.contato-card a {
	font-size: 14px;
	color: var(--branco);
	font-weight: 500;
	word-wrap: anywhere;
	overflow-wrap: anywhere;
}

.contato-card small {
	font-size: 12px;
	color: var(--cinza-claro);
	display: block;
	margin-top: 2px;
	opacity: .55;
}
	.contato-grid.mini .contato-card h4, .contato-grid.mini .contato-card small {
		display:none;
	}


@media (max-width: 992px) {
	.contato-grid {
		grid-template-columns: initial;
	}
	
	.hero-meta-content {
		flex-direction:column;
		gap: 1.1rem;
	}
	.hero-meta-item {
		border-right: 0;
		padding-right: 0;
		padding-bottom: 1.7rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	.hero-meta-item:last-child {
		border-bottom:0;
	}
}

/* ------------------------------- */
/* --- COMPONENTES: FORMULARIO --- */
/* ------------------------------- */
.campo-grupo {
	margin-bottom: 0;
}

.campo-label-form {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--cinza-escuro);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 5px;
}

.req {
	color: #C0392B;
	margin-left: 2px;
}

.campo-input-form {
	width: 100%;
	padding: 10px 13px;
	border: 1.5px solid #DDD8CF;
	border-radius: 7px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 14px;
	color: var(--preto);
	background: var(--branco);
	transition: border-color 0.2s;
	outline: none;
}

.campo-input-form.error {
	border-color: var(--error);
	background-color: var(--secundario-alternativo) !important;
}

.campo-input-form:focus {
	border-color: var(--primario-claro);
	box-shadow: 0 0 0 3px rgba(64, 145, 108, 0.08);
}

select.campo-input-form {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%235C5C5C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}

.radio-grupo {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-top: 2px;
}

.radio-opcao {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: var(--preto);
	cursor: pointer;
	padding: 8px 14px;
	border: 1.5px solid #DDD8CF;
	border-radius: 7px;
	transition: all 0.15s;
}

.radio-opcao:hover {
	border-color: var(--primario-claro);
}

.radio-opcao input {
	accent-color: var(--primario);
}

.checkbox-opcao {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	color: var(--preto);
	cursor: pointer;
	padding: 10px 14px;
	border: 1.5px solid #DDD8CF;
	border-radius: 7px;
	transition: all 0.15s;
	margin-bottom: 6px;
}

.checkbox-opcao:hover {
	border-color: var(--primario-claro);
}

.checkbox-opcao input {
	accent-color: var(--primario);
	margin-top: 2px;
	flex-shrink: 0;
}

textarea.campo-input-form {
	resize: vertical;
	min-height: 80px;
	line-height: 1.5;
}

.endereco-bloco {
	margin-top:25px;
	position:relative;
}

button, input[type='submit'], input[type="file"]::file-selector-button {
	padding:10px 15px;
	background: var(--secundario);
	color: var(--branco);
	border: none;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top:0;
	vertical-align:middle;
}
	input[type="file"]::file-selector-button {
		padding:3px 8px;
		font-size:10px;
		border-radius: 3px;
	}

button:hover, input[type='submit']:hover, input[type="file"]::file-selector-button:hover {
	background: var(--primario);
}

button:active, input[type='submit']:active, input[type="file"]::file-selector-button:active {
	transform: scale(0.99);
}

btn.disabled, button[disabled], input[type='submit'][disabled]{
	opacity:.3;
	cursor:text;
}

input[disabled], select[disabled], label[disabled] {
	background: var(--cinza-claro) !important;
	user-select: none;
	color: #777;
}

input[readonly], select[readonly], label[readonly] {
	background: var(--cinza-claro) !important;
	user-select: none;
	color: #777;
}