/* CORES AMACA*/
:root {
	/* Principais */
	--azul: #07539f;
	--vermelho: #e84a4e;

	/* Secundárias */
	--cinza-escuro: #1e1e1c;
	--azul-claro: #0079dd;
	--vermelho-escuro: #c91f2b;

	/* Cores complementares */
	--branco: #ffffff;
	--cinza-claro: #f8f9fa;
	--cinza-medio: #6c757d;
	--borda: #dee2e6;
}

/* RESET E CONFIGURAÇÕES GERAIS */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	line-height: 1.6;
	color: var(--cinza-escuro);
	background-color: var(--cinza-claro) !important;
	background-image: none !important;
	background-repeat: no-repeat !important;
	background-attachment: scroll !important;
	background-position: 0 0 !important;
}

/* ============================
   PORTAL DO ASSOCIADO - STYLING
   ============================ */

/* Seção de boas-vindas lado esquerdo */
.portal-welcome {
	background: linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 100%);
	color: var(--cinza-escuro) !important;
	padding: 30px;
	border-radius: 10px;
	margin-bottom: 20px;
	height: fit-content;
	box-shadow: 0 4px 15px rgba(7, 83, 159, 0.2);
}

.portal-welcome * {
	color: var(--cinza-escuro) !important;
}

.portal-welcome h1 {
	color: var(--azul) !important;
	font-size: 2rem;
	margin-bottom: 15px;
	font-weight: 600;
}

.portal-welcome .user-name {
	font-size: 1.6rem;
	margin-bottom: 25px;
	font-weight: 500;
}

.portal-welcome .portal-description {
	color: var(--azul) !important;
	font-size: 1.2rem;
	margin-bottom: 25px;
	line-height: 1.6;
	opacity: 1;
}

.portal-welcome h3 {
	color: var(--azul-claro) !important;
	font-size: 1.5rem;
	margin-bottom: 15px;
	font-weight: 600;
}

.portal-features h3 {
	color: var(--azul-claro) !important;
	font-size: 1.5rem;
	margin-bottom: 15px;
	font-weight: 600;
}

.portal-features h4 {
	color: var(--azul-claro) !important;
	font-size: 1.2rem;
	font-weight: 600;
}

.portal-features ul {
	color: var(--cinza-escuro) !important;
	margin-bottom: 20px;
	padding-left: 0;
	list-style: none;
}

.portal-features ul li {
	padding: 5px 0;
	font-size: 1.2rem;
	color: var(--cinza-escuro) !important;
	opacity: 1;
	font-weight: 500;
}

.security-note {
	background: rgba(255, 255, 255, 0.15);
	padding: 10px;
	border-radius: 6px;
	border-left: 3px solid #ffd700;
	margin-top: 15px;
}

.security-note small {
	color: var(--cinza-escuro) !important;
	font-size: 0.85rem;
	opacity: 1;
}

.security-note i {
	color: #ffd700 !important;
	margin-right: 8px;
}

/* Menu principal do portal lado direito */
.portal-menu {
	background: var(--branco);
	font-size: 1.5rem;
	border-radius: 10px;
	padding: 25px;
	margin-bottom: 20px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.portal-menu h2 {
	color: var(--azul);
	font-size: 1.7rem;
	margin-bottom: 25px;
	text-align: center;
	font-weight: 600;
}

/* Menu vertical - botões um abaixo do outro */
.menu-vertical {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Itens individuais do menu */
.menu-item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 15px 20px;
	background: var(--branco);
	border: 2px solid var(--borda);
	border-radius: 8px;
	text-decoration: none;
	color: var(--cinza-escuro);
	transition: all 0.3s ease;
	font-weight: 500;
	font-size: 1.2rem;
}

.menu-item:hover {
	background: var(--azul);
	color: var(--branco);
	border-color: var(--azul);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(7, 83, 159, 0.25);
}

.menu-item i {
	font-size: 1.3rem;
	color: var(--azul);
	width: 25px;
	text-align: center;
	flex-shrink: 0;
}

.menu-item:hover i {
	color: var(--branco);
}

.menu-item span {
	flex: 1;
	color: inherit;
}

/* Responsividade */
@media (max-width: 768px) {
	/* Em tablets e mobile, volta para layout vertical */
	.portal-welcome {
		padding: 20px 15px;
		margin-bottom: 15px;
	}

	.portal-welcome h1 {
		font-size: 1.7rem;
	}

	.portal-welcome .user-name {
		font-size: 1.4rem;
	}

	.portal-welcome h3 {
		font-size: 1.2rem;
	}

	.portal-features ul li {
		font-size: 1rem;
	}

	.portal-menu {
		padding: 20px 15px;
	}

	.menu-vertical {
		gap: 10px;
	}

	.menu-item {
		padding: 12px 15px;
		font-size: 0.9rem;
	}

	.menu-item i {
		font-size: 1.2rem;
	}
}

@media (max-width: 576px) {
	.portal-welcome h1 {
		font-size: 1.5rem;
	}

	.portal-welcome .user-name {
		font-size: 1.3rem;
	}

	.portal-welcome .portal-description {
		font-size: 1.1rem;
	}

	.portal-welcome h3 {
		font-size: 1.1rem;
	}

	.portal-features ul li {
		font-size: 0.95rem;
	}

	.portal-menu h2 {
		font-size: 1.3rem;
	}

	.portal-features h4 {
		font-size: 1rem;
	}

	.portal-features ul li {
		font-size: 0.85rem;
	}
}

/* REMOÇÃO DE BACKGROUNDS INDESEJADOS */
html,
body,
.container,
.container-fluid,
.row,
.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12 {
	background-image: none !important;
}

/* CONTAINER E LAYOUT */
.container-fundo {
	background-color: var(--branco) !important;
	background-image: none !important;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	margin-top: 5px;
	margin-bottom: 20px;
	padding: 30px;
	font-size: 1.15rem !important;
	color: var(--cinza-escuro) !important;
}

/* Container específico para meus dados - mais próximo do menu */
.meus-dados-page.container-fundo {
	margin-top: 0px;
	padding-top: 20px;
}

/* Aumenta ligeiramente a largura do container da navbar */
.navbar .container {
	max-width: 1250px;
}

@media (min-width: 1200px) {
	.navbar .container {
		width: 1250px;
	}
}

/* Otimização do espaçamento dos ícones na navbar */
.navbar-nav > li > a > i {
	margin-right: 5px;
}

/* Reduz altura da navbar no mobile */
@media (max-width: 768px) {
	.navbar-default {
		min-height: 45px;
	}

	.navbar-default .navbar-brand {
		font-size: 18px;
		padding-top: 12px;
		padding-bottom: 12px;
	}
}

/* NAVEGAÇÃO */
.navbar-default {
	background-color: var(--azul);
	border-color: var(--azul);
	border-radius: 0;
	min-height: 50px;
}

.navbar-default .navbar-brand {
	color: var(--branco);
	font-weight: bold;
	font-size: 20px;
	padding-top: 15px;
	padding-bottom: 15px;
}

.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
	color: var(--azul-claro);
}

.navbar-default .navbar-nav > li > a {
	color: var(--branco);
	font-weight: 500;
	font-size: 13px;
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 12px;
	padding-right: 12px;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
	color: var(--azul-claro);
	background-color: rgba(255, 255, 255, 0.1);
}

.navbar-default .navbar-nav > .dropdown > a .caret {
	border-top-color: var(--branco);
	border-bottom-color: var(--branco);
}

.navbar-default .navbar-toggle {
	border-color: var(--branco);
}

.navbar-default .navbar-toggle .icon-bar {
	background-color: var(--branco);
}

/* DROPDOWN MENU */
.dropdown-menu {
	background-color: var(--branco) !important;
	border: 1px solid var(--borda);
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	font-size: 13px;
}

.dropdown-menu > li > a {
	color: var(--cinza-escuro) !important;
	padding: 8px 15px;
	background-color: transparent !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > li:hover > a,
.dropdown-menu li a:hover {
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
	background-image: none !important;
}

/* Força as cores dos dropdowns removendo qualquer amarelo */
.navbar-nav .dropdown-menu > li > a:hover,
.navbar-nav .dropdown-menu > li > a:focus,
.navbar-nav .dropdown-menu > li:hover > a {
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
	background-image: none !important;
}

/* Corrige a cor do dropdown quando está aberto/ativo */
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
	background-image: none !important;
}

/* Corrige a cor do caret quando dropdown está aberto */
.navbar-default .navbar-nav > .open > a .caret,
.navbar-default .navbar-nav > .open > a:hover .caret,
.navbar-default .navbar-nav > .open > a:focus .caret {
	border-top-color: var(--branco) !important;
	border-bottom-color: var(--branco) !important;
}

/* Remove qualquer background amarelo dos estados ativos */
.navbar-default .navbar-nav > li.dropdown.open > a,
.navbar-default .navbar-nav > li.dropdown:hover > a,
.navbar-default .navbar-nav > li.dropdown.active > a {
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
	background-image: none !important;
}

/* Sobrescreve estilos Bootstrap que podem causar amarelo */
.navbar-nav > li > a:focus,
.navbar-nav > li > a:hover,
.navbar-nav > .active > a,
.navbar-nav > .active > a:focus,
.navbar-nav > .active > a:hover {
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
}

/* Remove gradientes e filtros que podem causar cores indesejadas */
.navbar-default .navbar-nav .dropdown-toggle:focus,
.navbar-default .navbar-nav .dropdown-toggle:hover,
.navbar-default .navbar-nav .open .dropdown-toggle {
	background-image: none !important;
	filter: none !important;
	-webkit-filter: none !important;
}

/* TÍTULOS */
h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--azul);
	font-weight: 600;
	margin-bottom: 20px;
}

h1 {
	font-size: 2.5rem;
	border-bottom: 3px solid var(--vermelho);
	padding-bottom: 10px;
}

h2 {
	font-size: 2rem;
	color: var(--azul);
}

h3 {
	font-size: 1.5rem;
	color: var(--vermelho);
}

/* FORMULÁRIOS */
.form-group {
	margin-bottom: 20px;
}

.form-group label {
	color: var(--azul);
	font-weight: 600;
	margin-bottom: 8px;
	display: block;
}

.form-control {
	border: 2px solid var(--borda);
	border-radius: 6px;
	padding: 12px 15px;
	font-size: 14px;
	transition: all 0.3s ease;
}

.form-control:focus {
	border-color: var(--azul);
	box-shadow: 0 0 0 0.2rem rgba(7, 83, 159, 0.25);
	outline: none;
}

/* BOTÕES */
.btn {
	border-radius: 6px;
	padding: 12px 24px;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
}

.btn-success {
	background-color: var(--azul);
	color: var(--branco);
	border: 2px solid var(--azul);
}

.btn-success:hover {
	background-color: var(--azul-claro);
	border-color: var(--azul-claro);
	box-shadow: 0 4px 12px rgba(7, 83, 159, 0.3);
}

.btn-default {
	background-color: var(--branco);
	color: var(--azul);
	border: 2px solid var(--azul);
}

.btn-default:hover {
	background-color: var(--azul);
	color: var(--branco);
	box-shadow: 0 4px 12px rgba(7, 83, 159, 0.3);
}

.btn-danger {
	background-color: var(--vermelho);
	color: var(--branco);
	border: 2px solid var(--vermelho);
}

.btn-danger:hover {
	background-color: var(--vermelho-escuro);
	border-color: var(--vermelho-escuro);
	box-shadow: 0 4px 12px rgba(232, 74, 78, 0.3);
}

/* CARDS E PAINÉIS */
.card {
	background-color: var(--branco);
	border: 1px solid var(--borda);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	padding: 20px;
	margin-bottom: 20px;
}

.card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.card-header {
	background-color: var(--azul);
	color: var(--branco);
	padding: 15px 20px;
	margin: -20px -20px 20px -20px;
	border-radius: 8px 8px 0 0;
	font-weight: 600;
}

/* ALERTAS */
.alert {
	border-radius: 6px;
	padding: 15px 20px;
	margin-bottom: 20px;
	border: 1px solid;
}

.alert-success {
	background-color: rgba(7, 83, 159, 0.1);
	border-color: var(--azul);
	color: var(--azul);
}

.alert-danger {
	background-color: rgba(232, 74, 78, 0.1);
	border-color: var(--vermelho);
	color: var(--vermelho-escuro);
}

.alert-info {
	background-color: rgba(0, 121, 221, 0.1);
	border-color: var(--azul-claro);
	color: var(--azul-claro);
}

/* LISTAS */
ul {
	margin-bottom: 20px;
}

ul li {
	margin-bottom: 8px;
	padding-left: 5px;
}

ul li strong {
	color: var(--vermelho);
}

/* TABELAS */
.table {
	background-color: var(--branco);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.table thead th {
	background-color: var(--azul);
	color: var(--branco);
	border: none;
	padding: 15px;
	font-weight: 600;
}

.table tbody td {
	padding: 12px 15px;
	border-top: 1px solid var(--borda);
}

.table tbody tr:hover {
	background-color: var(--cinza-claro);
}

/* CORREÇÕES ESPECÍFICAS PARA DROPDOWN COLORS */
/* Sobrescreve qualquer cor amarela nos dropdowns */
.dropdown-menu > li > a {
	background: none !important;
	background-color: transparent !important;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
}

/* Remove gradientes que possam estar aplicados */
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
	background-image: none !important;
	filter: none !important;
}

/* Bootstrap 3 específico - remove amarelo/dourado */
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
}

/* Remove cores herdadas do tema Bootstrap */
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
	text-decoration: none;
	background-color: var(--azul-claro) !important;
	color: var(--branco) !important;
	background-image: none !important;
}

/* FOOTER */
.footer {
	background-color: var(--cinza-escuro) !important;
	color: var(--branco) !important;
	padding: 25px 0 20px 0;
	margin-top: 30px;
	border-top: 3px solid var(--azul);
}

.footer p {
	margin-bottom: 10px;
	line-height: 1.5;
	font-size: 1.1rem;
	color: var(--branco);
}

.footer a {
	color: var(--azul-claro);
	text-decoration: none;
	transition: all 0.3s ease;
}

.footer a:hover {
	color: var(--branco);
	text-decoration: underline;
}

.footer .list-inline {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding: 10px 0;
}

.footer .list-inline li {
	list-style: none;
	margin: 0;
	padding: 6px;
	background-color: var(--branco);
	border-radius: 6px;
	transition: all 0.3s ease;
}

.footer .list-inline li:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.footer .list-inline img {
	max-height: 45px;
	width: auto;
	filter: grayscale(20%);
	transition: all 0.3s ease;
}

.footer .list-inline img:hover {
	filter: grayscale(0%);
}

.footer .lgpd {
	background-color: rgba(255, 255, 255, 0.05);
	border-radius: 6px;
	padding: 12px;
	margin-top: 5px;
	color: var(--branco);
}

.footer .lgpd h4 {
	color: var(--azul-claro);
	border-bottom: 2px solid var(--vermelho);
	padding-bottom: 6px;
	margin-bottom: 15px;
	font-size: 1.3rem;
}

.footer .lgpd p {
	color: var(--branco);
	font-size: 1.1rem;
}

.footer .btn-lgpd {
	background-color: var(--azul);
	color: var(--branco) !important;
	border: 2px solid var(--azul);
	padding: 10px 18px;
	border-radius: 4px;
	text-decoration: none;
	display: inline-block;
	font-weight: 600;
	font-size: 1rem;
	transition: all 0.3s ease;
	margin: 5px 0;
}

.footer .btn-lgpd:hover {
	background-color: var(--azul-claro);
	border-color: var(--azul-claro);
	color: var(--branco) !important;
	box-shadow: 0 4px 12px rgba(7, 83, 159, 0.3);
	text-decoration: none;
}

.footer .endereco {
	background-color: rgba(255, 255, 255, 0.05);
	border-radius: 6px;
	padding: 12px;
	border-left: 4px solid var(--vermelho);
	color: var(--branco);
}

.footer .endereco h4 {
	color: var(--azul-claro);
	margin-bottom: 10px;
	font-size: 1.3rem;
}

.footer .endereco p {
	color: var(--branco);
	font-size: 1.1rem;
}

.footer .instituicoes {
	text-align: center;
	padding: 10px;
	color: var(--branco);
}

.footer .instituicoes h4 {
	color: var(--azul-claro);
	margin-bottom: 12px;
	font-size: 1.3rem;
}

.footer .dpo-info {
	background-color: rgba(255, 255, 255, 0.08);
	border-radius: 6px;
	padding: 10px;
	margin-top: 10px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.footer .dpo-info img {
	max-height: 30px;
	width: auto;
	background-color: var(--branco);
	padding: 3px;
	border-radius: 3px;
}

.footer .versao {
	color: var(--azul-claro);
	font-size: 1rem;
}

/* Garantir que o footer tenha fundo e cores corretos */
footer,
footer.footer,
.footer {
	background-color: var(--cinza-escuro) !important;
	background-image: none !important;
}

/* Garantir que todos os textos do footer sejam brancos */
.footer,
.footer div,
.footer p,
.footer span,
.footer strong,
.footer b {
	color: var(--branco) !important;
}

/* Exceções para elementos que devem manter cores específicas */
.footer h4,
.footer .versao {
	color: var(--azul-claro) !important;
}

.footer a {
	color: var(--azul-claro) !important;
}

.footer a:hover {
	color: var(--branco) !important;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
	.container-fundo {
		margin: 10px;
		padding: 20px;
	}

	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.5rem;
	}

	.btn {
		width: 100%;
		margin-bottom: 10px;
	}

	/* Footer responsivo */
	.footer {
		padding: 15px 0 10px 0;
	}

	.footer .list-inline {
		flex-direction: row;
		gap: 8px;
		padding: 8px 0;
	}

	.footer .list-inline li {
		width: auto;
		text-align: center;
		padding: 4px;
	}

	.footer .list-inline img {
		max-height: 35px;
	}

	.footer .endereco,
	.footer .lgpd,
	.footer .instituicoes {
		margin-bottom: 15px;
		padding: 8px;
	}

	.footer .btn-lgpd {
		width: 100%;
		margin-bottom: 8px;
		text-align: center;
		padding: 12px 15px;
		font-size: 1rem;
	}

	.footer .dpo-info .row {
		text-align: center;
	}

	.footer .dpo-info .col-md-3,
	.footer .dpo-info .col-md-9 {
		margin-bottom: 15px;
	}
}

/* ANIMAÇÕES */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fade-in {
	animation: fadeIn 0.6s ease-out;
}

/* ESTADOS DE FOCO E ACESSIBILIDADE */
a:focus,
button:focus,
.btn:focus,
.form-control:focus {
	outline: 2px solid var(--azul);
	outline-offset: 2px;
}

/* UTILITÁRIOS */
.text-primary {
	color: var(--azul) !important;
}

.text-secondary {
	color: var(--vermelho) !important;
}

.bg-primary {
	background-color: var(--azul) !important;
}

.bg-secondary {
	background-color: var(--vermelho) !important;
}

.border-primary {
	border-color: var(--azul) !important;
}

.border-secondary {
	border-color: var(--vermelho) !important;
}

/* SOBRESCREVENDO BACKGROUNDS DE OUTROS CSS */
/* Regra geral para garantir que nenhum background image seja aplicado */
*:not(.footer .list-inline img):not(img):not(.navbar-brand img):not([class*="logo"]):not([class*="icon"]) {
	background-image: none !important;
}

/* Regras específicas para elementos comuns que podem ter backgrounds */
.navbar,
.navbar-default,
.navbar-nav,
.nav,
.container,
.container-fluid,
.row,
.column,
.form-group,
.form-control,
.btn:not(.btn-with-bg),
.card,
.alert,
.table,
.dropdown-menu,
.list-inline li,
main,
section,
article,
aside,
header,
div:not([class*="logo"]):not([class*="icon"]) {
	background-image: none !important;
}

/* Para casos específicos onde o background pode estar sendo aplicado inline */
[style*="background-image"]:not(img):not([class*="logo"]):not([class*="icon"]) {
	background-image: none !important;
}

/* SEÇÕES DE INFORMAÇÃO SIMPLES */
.info-section {
	margin-bottom: 25px;
	padding: 20px 0;
}

.info-section h4 {
	color: var(--azul);
	margin-bottom: 15px;
	font-weight: 600;
	font-size: 18px;
}

.info-section h4 i {
	margin-right: 8px;
}

.info-section p {
	color: var(--cinza-escuro);
	line-height: 1.6;
	margin-bottom: 10px;
}

.info-section ul {
	color: var(--cinza-escuro);
	line-height: 1.6;
	margin-left: 20px;
}

.info-section ul li {
	margin-bottom: 8px;
}

.info-section strong {
	color: var(--azul);
}

/* SEÇÕES DE INFORMAÇÃO COMPACTAS */
.info-section-compact {
	margin-bottom: 12px;
	padding: 8px 0;
}

.info-section-compact h4 {
	color: var(--azul);
	margin-bottom: 8px;
	font-weight: 600;
	font-size: 16px;
}

.info-section-compact h4 i {
	margin-right: 6px;
}

.info-section-compact p {
	color: var(--cinza-escuro);
	line-height: 1.4;
	margin-bottom: 5px;
	font-size: 14px;
}

.info-section-compact ul {
	color: var(--cinza-escuro);
	line-height: 1.4;
	margin-left: 18px;
	font-size: 14px;
}

.info-section-compact ul li {
	margin-bottom: 4px;
}

.info-section-compact strong {
	color: var(--azul);
}

/* SEÇÕES DE COMUNICADOS NO MODAL */
.comunicado-section {
	margin-bottom: 15px;
	padding: 10px 0;
}

.comunicado-section h3,
.comunicado-section h4 {
	color: var(--azul);
	margin-bottom: 12px;
	font-weight: 600;
}

.comunicado-section h3 i,
.comunicado-section h4 i {
	margin-right: 8px;
}

.comunicado-section p {
	color: var(--cinza-escuro);
	line-height: 1.6;
	margin-bottom: 12px;
}

.comunicado-section strong {
	color: var(--azul);
}

.comunicado-section .btn {
	margin-top: 8px;
}

/* HR específico para modal de comunicados */
.modal-body hr {
	margin: 10px 0;
	border-color: var(--borda);
}

/* OTIMIZAÇÃO DO CARD DO PORTAL */
.card .card-header h2 {
	margin: 8px 0 !important;
	font-size: 24px !important;
	line-height: 1.2;
}

.card .form-group {
	margin-bottom: 18px;
}

.card .form-group label {
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 500;
}

.card .form-control {
	font-size: 14px;
	padding: 10px 12px;
}

.card .btn {
	font-size: 14px;
	padding: 10px 16px;
	margin-right: 8px;
}

/* Separadores entre seções */
.card hr {
	border-color: var(--borda);
	margin: 25px 0;
}

/* BANNER DE COOKIES FIXO */
.cookie-banner {
	position: fixed;
	bottom: 20px;
	right: 20px;
	max-width: 400px;
	background-color: var(--branco);
	border: 2px solid var(--azul);
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	z-index: 9999;
	display: none;
	animation: slideInRight 0.5s ease-out;
}

.cookie-content {
	padding: 20px;
}

.cookie-text h5 {
	color: var(--azul);
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 600;
}

.cookie-text h5 i {
	margin-right: 8px;
	color: var(--vermelho);
}

.cookie-text p {
	color: var(--cinza-escuro);
	font-size: 13px;
	line-height: 1.4;
	margin-bottom: 15px;
}

.cookie-buttons {
	text-align: right;
}

.cookie-buttons .btn {
	margin-left: 8px;
	font-size: 12px;
	padding: 6px 12px;
}

@keyframes slideInRight {
	from {
		transform: translateX(100%);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

/* Responsivo para dispositivos móveis */
@media (max-width: 768px) {
	.cookie-banner {
		bottom: 10px;
		right: 10px;
		left: 10px;
		max-width: none;
	}

	.cookie-content {
		padding: 15px;
	}

	.cookie-buttons {
		text-align: center;
		margin-top: 10px;
	}

	.cookie-buttons .btn {
		margin: 2px;
		font-size: 11px;
		padding: 5px 10px;
	}
}

/* ESTILOS ESPECÍFICOS DO FOOTER */
/* Seção de Copyright */
.copyright-section {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.copyright-text {
	margin-bottom: 0 !important;
	color: var(--cinza-medio) !important;
	font-size: 1rem;
}

/* ESTILOS ESPECÍFICOS DO INDEX.PHP */
/* Card Header Portal do Associado */
.portal-header {
	color: white !important;
	margin: 5px 0 !important;
	font-size: 20px !important;
}

/* Link mostrar/ocultar senha */
.toggle-password {
	color: var(--azul) !important;
	cursor: pointer !important;
}

/* Título da seção de informações */
.info-title {
	margin-bottom: 20px !important;
}

/* Lista de instruções */
.instrucoes-list {
	margin-bottom: 10px !important;
}

/* HRs das seções de informação */
.info-hr {
	margin: 5px 0 !important;
}

/* Parágrafos das seções compactas */
.help-text {
	margin-bottom: 8px !important;
}

.ip-phone-text {
	margin-bottom: 5px !important;
}

/* Modal Header */
.modal-header-amaca {
	background-color: var(--azul) !important;
	color: white !important;
}

/* Título do modal */
.modal-title-amaca {
	color: white !important;
	margin: 0 !important;
}

/* HRs do modal de comunicados */
.comunicado-hr {
	margin: 5px 0 !important;
}

/* ========================================
   ESTILOS ESPECÍFICOS - PÁGINA FMAF
======================================== */

/* Cabeçalho da página */
.page-header {
	background: linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 100%);
	color: var(--branco);
	padding: 30px 20px;
	border-radius: 8px;
	margin-bottom: 30px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.page-header h1 {
	color: var(--azul-claro);
	margin-bottom: 10px;
	font-size: 2.2rem;
}

.page-header .lead {
	color: var(--cinza-escuro);
	font-size: 1.3rem !important;
	margin-bottom: 0;
}

/* Informações de contribuição */
.contribuicao-info {
	background-color: #f8f9fa;
	border-left: 4px solid var(--azul-claro);
	padding: 15px;
	margin-bottom: 15px;
	border-radius: 0 6px 6px 0;
}

.contribuicao-info h5 {
	color: var(--azul);
	margin-bottom: 8px;
	font-weight: bold;
}

.contribuicao-info p {
	margin-bottom: 0;
	color: #666;
}

/* Percentuais de contribuição */
.percentuais-contribuicao {
	background-color: rgba(7, 83, 159, 0.05);
	border-radius: 8px;
	padding: 20px;
	margin: 20px 0;
}

.percentuais-contribuicao h5 {
	color: var(--azul);
	margin-bottom: 15px;
	font-weight: bold;
}

.percentual-box {
	background: linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 100%);
	color: var(--branco);
	text-align: center;
	padding: 20px 10px;
	border-radius: 8px;
	margin-bottom: 10px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
}

.percentual-box:hover {
	transform: translateY(-2px);
}

.percentual-numero {
	display: block;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 5px;
}

.percentual-label {
	font-size: 0.9rem;
	opacity: 0.9;
}

/* Seção de download */
.download-section {
	text-align: center;
	padding: 20px;
	background-color: rgba(220, 53, 69, 0.05);
	border-radius: 8px;
	border: 2px dashed #dc3545;
}

.download-section .btn {
	font-size: 1.1rem;
	padding: 12px 20px;
	margin-bottom: 10px;
}

.download-section .help-text {
	color: #666;
	margin-top: 10px;
}

/* Texto justificado para melhor legibilidade */
.text-justify {
	text-align: justify;
	line-height: 1.6;
}

/* ========================================
   FIM ESTILOS FMAF
======================================== */

/* ========================================
   ESTILOS ESPECÍFICOS - PÁGINA FORMULÁRIOS
======================================== */

/* Container principal para formulários */
.formularios-container {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	min-height: 100vh;
	padding: 50px 0;
}

.formularios-container .container {
	background: white;
	border-radius: 15px;
	box-shadow: 0 8px 32px rgba(7, 83, 159, 0.1);
	padding: 40px 30px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.formularios-container .container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--azul) 0%, var(--azul-claro) 100%);
}

/* Header da página de formulários */
.formularios-header {
	text-align: center;
	margin-bottom: 40px;
}

.formularios-title {
	color: var(--azul);
	font-size: 2.2rem;
	font-weight: 700;
	margin: 0 0 20px 0;
	text-shadow: 0 2px 4px rgba(7, 83, 159, 0.1);
}

.formularios-divider {
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, var(--azul) 0%, var(--azul-claro) 100%);
	margin: 0 auto 30px auto;
	border-radius: 2px;
}

/* Lista de links dos formulários */
.formularios-list {
	display: grid;
	gap: 15px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.formularios-item {
	margin: 0;
}

.formulario-link {
	display: flex;
	align-items: center;
	padding: 15px 20px;
	background: white;
	border: 1px solid var(--borda);
	border-radius: 8px;
	text-decoration: none;
	color: var(--cinza-escuro);
	transition: all 0.3s ease;
	font-weight: 500;
	gap: 15px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.formulario-link::before {
	content: "📄";
	font-size: 1.2rem;
	opacity: 0.7;
	flex-shrink: 0;
}

.formulario-link:hover {
	background: linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 100%);
	color: var(--azul);
	text-decoration: none;
	transform: translateY(-2px);
	border-color: var(--azul);
	box-shadow: 0 6px 20px rgba(7, 83, 159, 0.15);
}

.formulario-link:hover::before {
	content: "→";
	opacity: 1;
}

/* Seções de categoria */
.categoria-section {
	margin-bottom: 35px;
}

.categoria-title {
	color: var(--azul);
	font-size: 1.4rem;
	font-weight: 600;
	margin: 0 0 20px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--azul-claro);
	display: flex;
	align-items: center;
	gap: 10px;
}

.categoria-title::before {
	content: "📋";
	font-size: 1.2rem;
}

/* Responsividade para formulários */
@media (max-width: 768px) {
	.formularios-container {
		padding: 30px 15px;
	}

	.formularios-container .container {
		padding: 30px 20px;
	}

	.formularios-title {
		font-size: 1.8rem;
	}

	.formulario-link {
		padding: 12px 15px;
		font-size: 14px;
	}

	.categoria-title {
		font-size: 1.2rem;
	}
}

/* ========================================
   FIM ESTILOS FORMULÁRIOS
======================================== */

/* ========================================
   ESTILOS ESPECÍFICOS - PÁGINA CONTATO
======================================== */

/* Container principal para contato */
.contato-container {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	min-height: 100vh;
	padding: 50px 0;
}

.contato-container .container {
	background: white;
	border-radius: 15px;
	box-shadow: 0 8px 32px rgba(7, 83, 159, 0.1);
	padding: 40px 30px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.contato-container .container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--azul) 0%, var(--azul-claro) 100%);
}

/* Header da página de contato */
.contato-header {
	text-align: center;
	margin-bottom: 40px;
}

.contato-title {
	color: var(--azul);
	font-size: 2.2rem;
	font-weight: 700;
	margin: 0 0 20px 0;
	text-shadow: 0 2px 4px rgba(7, 83, 159, 0.1);
}

.contato-divider {
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, var(--azul) 0%, var(--azul-claro) 100%);
	margin: 0 auto 30px auto;
	border-radius: 2px;
}

/* Informações de contato */
.contato-info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 25px;
	margin-bottom: 30px;
}

.info-card {
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
	border-radius: 12px;
	padding: 25px;
	border-left: 4px solid var(--azul);
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.info-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 25px rgba(7, 83, 159, 0.12);
}

.info-card-header {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
	gap: 12px;
}

.info-icon {
	font-size: 1.5rem;
	color: var(--azul);
	width: 40px;
	height: 40px;
	background: rgba(7, 83, 159, 0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.info-title {
	color: var(--azul);
	font-size: 1.3rem;
	font-weight: 600;
	margin: 0;
}

.info-content {
	color: var(--cinza-escuro);
	line-height: 1.6;
	margin: 0;
}

.info-content strong {
	color: var(--azul);
	display: block;
	margin-bottom: 8px;
}

/* Links de email especiais */
.email-link {
	color: var(--azul-claro);
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
	display: inline-block;
	margin: 2px 0;
}

.email-link:hover {
	color: var(--azul);
	text-decoration: none;
	transform: translateX(3px);
}

.email-link::before {
	content: "✉️";
	margin-right: 8px;
}

/* Seção de localização */
.localizacao-section {
	text-align: center;
	padding: 30px 20px;
	background: linear-gradient(135deg, rgba(7, 83, 159, 0.05) 0%, rgba(0, 121, 221, 0.05) 100%);
	border-radius: 12px;
	border: 1px solid rgba(7, 83, 159, 0.1);
}

.localizacao-title {
	color: var(--azul);
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.localizacao-title::before {
	content: "📍";
	font-size: 1.3rem;
}

.endereco-completo {
	color: var(--cinza-escuro);
	font-size: 1.1rem;
	line-height: 1.8;
	margin: 0;
}

/* Responsividade para contato */
@media (max-width: 768px) {
	.contato-container {
		padding: 30px 15px;
	}

	.contato-container .container {
		padding: 30px 20px;
	}

	.contato-title {
		font-size: 1.8rem;
	}

	.contato-info {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.info-card {
		padding: 20px 15px;
	}

	.info-title {
		font-size: 1.1rem;
	}
}

/* ========================================
   FIM ESTILOS CONTATO
======================================== */

/* ========================================
   ESTILOS ESPECÍFICOS - PÁGINA SOBRE
======================================== */

/* Container principal para sobre */
.sobre-container {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	min-height: 100vh;
	padding: 50px 0;
}

.sobre-container .container {
	background: white;
	border-radius: 15px;
	box-shadow: 0 8px 32px rgba(7, 83, 159, 0.1);
	padding: 40px 30px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.sobre-container .container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--azul) 0%, var(--azul-claro) 100%);
}

/* Header da página sobre */
.sobre-header {
	text-align: center;
	margin-bottom: 40px;
}

.sobre-title {
	color: var(--azul);
	font-size: 2.2rem;
	font-weight: 700;
	margin: 0 0 20px 0;
	text-shadow: 0 2px 4px rgba(7, 83, 159, 0.1);
}

.sobre-divider {
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, var(--azul) 0%, var(--azul-claro) 100%);
	margin: 0 auto 30px auto;
	border-radius: 2px;
}

/* Seções de conteúdo */
.sobre-section {
	margin-bottom: 35px;
}

.sobre-section h2 {
	color: var(--azul);
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--azul-claro);
	display: flex;
	align-items: center;
	gap: 10px;
}

.sobre-section h2::before {
	content: "📄";
	font-size: 1.2rem;
}

.sobre-section p {
	color: var(--cinza-escuro);
	line-height: 1.7;
	margin-bottom: 15px;
	text-align: justify;
}

.sobre-section p strong,
.sobre-section p b {
	color: var(--azul);
}

/* Seção da diretoria */
.diretoria-section {
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
	border-radius: 12px;
	padding: 25px;
	border-left: 4px solid var(--azul);
	margin-top: 30px;
}

.diretoria-section h2::before {
	content: "👥";
}

/* Cargo na diretoria */
.cargo-info {
	margin-bottom: 20px;
	padding: 15px;
	background: rgba(7, 83, 159, 0.05);
	border-radius: 8px;
	border-left: 3px solid var(--azul-claro);
}

.cargo-info p {
	margin-bottom: 8px;
}

.cargo-info strong {
	color: var(--azul);
	display: block;
	margin-bottom: 8px;
	font-size: 1.1rem;
}

/* Responsividade para sobre */
@media (max-width: 768px) {
	.sobre-container {
		padding: 30px 15px;
	}

	.sobre-container .container {
		padding: 30px 20px;
	}

	.sobre-title {
		font-size: 1.8rem;
	}

	.sobre-section h2 {
		font-size: 1.4rem;
	}

	.diretoria-section {
		padding: 20px 15px;
	}
}

/* ========================================
   FIM ESTILOS SOBRE
======================================== */

/* ========================================
   ESTILOS ESPECÍFICOS - PÁGINAS DE RELATÓRIOS
======================================== */

/* Lista de informações simples */
.info-list {
	margin: 20px 0;
}

.info-list p {
	margin-bottom: 12px;
	padding: 8px 0;
	border-bottom: 1px solid var(--borda);
	color: var(--cinza-escuro);
	font-size: 1.3rem;
}

.info-list p:last-child {
	border-bottom: none;
}

.info-list i {
	color: var(--azul);
	width: 20px;
	text-align: center;
	margin-right: 10px;
}

.info-list strong {
	color: var(--azul);
}

/* Formulário simples */
.form-group {
	margin-bottom: 25px;
}

.form-group label {
	color: var(--azul);
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 1.3rem;
}

.form-group label i {
	margin-right: 8px;
}

.form-group .form-control {
	padding: 12px 15px;
	font-size: 1.3rem;
	border: 2px solid var(--borda);
	border-radius: 6px;
	height: auto;
	line-height: 1.5;
}

.form-group select.form-control {
	padding: 12px 40px 12px 15px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
	background-position: right 12px center;
	background-repeat: no-repeat;
	background-size: 16px;
}

.form-group .form-control:focus {
	border-color: var(--azul);
	box-shadow: 0 0 0 0.2rem rgba(7, 83, 159, 0.25);
	outline: none;
}

/* Radio buttons customizados */
.radio-options {
	margin: 15px 0;
}

.radio-options .radio-inline {
	display: block;
	margin-bottom: 12px;
	padding: 12px 15px;
	background: rgba(7, 83, 159, 0.05);
	border: 2px solid var(--borda);
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 1.3rem;
	font-weight: 500;
	color: var(--cinza-escuro);
}

.radio-options .radio-inline:hover {
	border-color: var(--azul-claro);
	background: rgba(7, 83, 159, 0.1);
}

.radio-options .radio-inline input[type="radio"] {
	margin-right: 10px;
	transform: scale(1.2);
}

.radio-options .radio-inline input[type="radio"]:checked {
	accent-color: var(--azul);
}

.radio-options .radio-inline:has(input[type="radio"]:checked) {
	border-color: var(--azul);
	background: rgba(7, 83, 159, 0.15);
	color: var(--azul);
}

.radio-options .radio-inline i {
	margin-right: 8px;
	color: var(--azul);
}

/* Alerta informativo */
.info-alert {
	background: rgba(255, 193, 7, 0.1);
	border: 2px solid #ffc107;
	border-radius: 6px;
	padding: 15px;
	margin: 20px 0;
	color: #856404;
	font-size: 1rem;
	font-weight: 500;
}

.info-alert i {
	color: #ffc107;
	margin-right: 8px;
	font-size: 1.1rem;
}

/* Link de telefone */
.phone-link {
	color: var(--azul-claro) !important;
	text-decoration: none;
	font-weight: 600;
	font-size: 1rem;
	display: inline-block;
	margin-top: 8px;
}

.phone-link:hover {
	color: var(--azul) !important;
	text-decoration: underline;
}

.phone-link i {
	margin-right: 8px;
}

.btn-lg {
	padding: 12px 25px;
	font-weight: 600;
	font-size: 1rem;
	width: 100%;
}

/* Títulos das seções */
h3 {
	color: var(--azul);
	margin-bottom: 15px;
	font-weight: 600;
	border-bottom: 2px solid var(--azul-claro);
	padding-bottom: 8px;
}

h4 {
	color: var(--azul);
	margin-bottom: 10px;
	font-weight: 600;
}

/* Link de email */
.email-link {
	color: var(--azul-claro) !important;
	text-decoration: none;
	font-weight: 600;
}

.email-link:hover {
	color: var(--azul) !important;
	text-decoration: underline;
}

/* HR personalizado */
hr {
	border-color: var(--borda);
	margin: 25px 0;
}

/* Responsividade para relatórios */
@media (max-width: 768px) {
	.btn-lg {
		font-size: 1rem;
		padding: 10px 20px;
	}

	.info-list p {
		font-size: 1rem;
		padding: 6px 0;
	}

	h3 {
		font-size: 1.3rem;
	}
} /* ========================================
   FIM ESTILOS RELATÓRIOS
======================================== */

/* ========================================
   ESTILOS MEUS DADOS
======================================== */

/* Seções de dados */
.data-section {
	background: var(--branco);
	border-radius: 8px;
	padding: 25px;
	margin-bottom: 25px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	border-left: 4px solid var(--azul-claro);
}

.data-section h3 {
	color: var(--azul);
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 20px;
	border-bottom: 2px solid var(--azul-claro);
	padding-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.data-section h3 i {
	color: var(--azul-claro);
	font-size: 1.2rem;
}

/* Tabela de dados personalizada */
.data-table {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.data-row {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid #f0f0f0;
	align-items: center;
}

.data-row:last-child {
	border-bottom: none;
}

.data-label {
	font-weight: 600;
	color: var(--cinza-escuro);
	font-size: 0.95rem;
}

.data-value {
	color: var(--cinza-medio);
	font-size: 1rem;
	word-wrap: break-word;
}

.data-value .text-muted {
	font-style: italic;
	color: #999 !important;
}

/* Links de contato */
.email-link,
.phone-link {
	color: var(--azul-claro) !important;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.3s ease;
}

.email-link:hover,
.phone-link:hover {
	color: var(--azul) !important;
	text-decoration: underline;
}

/* Seção do formulário */
.form-section {
	background: var(--branco);
	border-radius: 8px;
	padding: 25px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	border-left: 4px solid var(--azul);
	height: fit-content;
	position: sticky;
	top: 20px;
}

.form-section h3 {
	color: var(--azul);
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 20px;
	border-bottom: 2px solid var(--azul-claro);
	padding-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.form-section h3 i {
	color: var(--azul-claro);
	font-size: 1.1rem;
}

/* Instruções do formulário */
.form-instructions {
	background: #f8f9fa;
	border-radius: 6px;
	padding: 15px;
	margin-bottom: 20px;
	border-left: 3px solid var(--azul-claro);
}

.form-instructions p {
	color: var(--azul);
	font-weight: 600;
	margin-bottom: 10px;
}

.form-instructions ul {
	margin: 0;
	padding-left: 20px;
	color: var(--cinza-escuro);
}

.form-instructions li {
	margin-bottom: 5px;
	font-size: 0.9rem;
}

/* Alert de informação */
.info-alert {
	background: rgba(7, 83, 159, 0.1);
	border: 2px solid var(--azul-claro);
	border-radius: 6px;
	padding: 15px;
	margin-bottom: 20px;
	color: var(--azul);
	font-size: 0.95rem;
}

.info-alert i {
	color: var(--azul-claro);
	margin-right: 8px;
	font-size: 1.1rem;
}

.info-alert strong {
	color: var(--azul);
}

/* Campos do formulário */
.form-group label {
	color: var(--azul);
	font-weight: 600;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.form-group label i {
	color: var(--azul-claro);
}

.form-control {
	border: 2px solid #e9ecef;
	border-radius: 6px;
	padding: 12px;
	font-size: 1rem;
	transition: all 0.3s ease;
}

.form-control:focus {
	border-color: var(--azul-claro);
	box-shadow: 0 0 0 0.2rem rgba(0, 121, 221, 0.25);
	outline: none;
}

/* Botão principal */
/* BOTÕES PRIMÁRIOS - DEFINIÇÃO ÚNICA */
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
	background: var(--azul) !important;
	background-color: var(--azul) !important;
	border: 2px solid var(--azul) !important;
	border-color: var(--azul) !important;
	color: var(--branco) !important;
	font-size: 1.15rem !important;
	padding: 16px 30px !important;
	font-weight: 600 !important;
	background-image: none !important;
}

.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover {
	background: var(--azul-claro) !important;
	background-color: var(--azul-claro) !important;
	border-color: var(--azul-claro) !important;
	color: var(--branco) !important;
	background-image: none !important;
}

.btn-primary:focus,
.btn-primary:active,
button.btn-primary:focus,
button.btn-primary:active {
	background: var(--azul) !important;
	background-color: var(--azul) !important;
	border-color: var(--azul) !important;
	color: var(--branco) !important;
	background-image: none !important;
	box-shadow: 0 0 0 0.2rem rgba(7, 83, 159, 0.25) !important;
}

/* Responsividade */
@media (max-width: 768px) {
	.data-row {
		grid-template-columns: 1fr;
		gap: 5px;
		text-align: left;
	}

	.data-label {
		font-size: 0.9rem;
		color: var(--azul);
	}

	.data-value {
		font-size: 0.95rem;
		padding-left: 15px;
	}

	.form-section {
		position: static;
		margin-top: 20px;
	}

	.data-section {
		padding: 20px;
	}

	.form-section {
		padding: 20px;
	}
}

/* CORREÇÕES ESPECÍFICAS PARA MEUS DADOS - PHP 5.6 E FONTE MAIOR */

/* Fonte maior para toda a página */
.meus-dados-page {
	color: var(--cinza-escuro) !important;
}

.data-label {
	font-size: 1.1rem !important;
	color: var(--cinza-escuro) !important;
}

.data-value {
	font-size: 1.15rem !important;
	color: var(--cinza-escuro) !important;
}

.form-group label {
	font-size: 1.15rem !important;
	color: var(--azul) !important;
}

.form-control {
	font-size: 1.1rem !important;
	padding: 15px !important;
	color: var(--cinza-escuro) !important;
}

.info-alert {
	font-size: 1.1rem !important;
	color: var(--azul) !important;
}

.form-instructions p {
	font-size: 1.1rem !important;
	color: var(--azul) !important;
}

.form-instructions li {
	font-size: 1.05rem !important;
	color: var(--cinza-escuro) !important;
}

.page-header h1 {
	font-size: 2.3rem !important;
	color: var(--azul) !important;
}

.page-header p {
	font-size: 1.25rem !important;
	color: var(--cinza-escuro) !important;
}

/* Correções específicas para as seções de dados */
.data-section {
	color: var(--cinza-escuro) !important;
	padding: 25px !important;
	margin-bottom: 20px !important;
}

.data-section * {
	color: inherit !important;
}

.data-section h3 {
	color: var(--azul) !important;
	font-size: 1.3rem !important;
}

.data-section h3 i {
	color: var(--azul-claro) !important;
}

.data-label {
	color: var(--cinza-escuro) !important;
	font-weight: 600 !important;
	font-size: 1.05rem !important;
}

.data-value {
	color: var(--cinza-escuro) !important;
	font-size: 1.1rem !important;
}

/* Seção do formulário */
.form-section {
	color: var(--cinza-escuro) !important;
	padding: 25px !important;
}

.form-section h3 {
	color: var(--azul) !important;
	font-size: 1.25rem !important;
}

.form-section h3 i {
	color: var(--azul-claro) !important;
}

/* Ajustes para melhor uso do espaço */
.data-row {
	grid-template-columns: 180px 1fr !important;
	gap: 15px !important;
	padding: 12px 0 !important;
}

.data-table {
	gap: 12px !important;
}

/* Page header compacto */
.meus-dados-page .page-header {
	padding: 10px !important;
	margin-bottom: 25px !important;
}

.meus-dados-page .page-header h1 {
	font-size: 2.1rem !important;
	margin-bottom: 8px !important;
}

.meus-dados-page .page-header p {
	font-size: 1.2rem !important;
}

/* Força as cores corretas para todos os textos da página meus dados */
.meus-dados-page .container-fundo,
.meus-dados-page .container-fundo p,
.meus-dados-page .container-fundo span,
.meus-dados-page .container-fundo div:not(.page-header):not(.info-alert),
.meus-dados-page .data-value,
.meus-dados-page .data-label {
	color: var(--cinza-escuro) !important;
}

/* Exceções para elementos que devem manter cores específicas */
.meus-dados-page .btn-primary,
.meus-dados-page .btn-primary *,
.meus-dados-page .text-muted,
.meus-dados-page .email-link,
.meus-dados-page .phone-link {
	color: inherit !important;
}

/* Responsividade específica para nova proporção 7/5 */
@media (max-width: 768px) {
	.data-row {
		grid-template-columns: 1fr !important;
		gap: 5px !important;
	}

	.data-label {
		color: var(--azul) !important;
		font-weight: 700 !important;
	}

	.data-value {
		padding-left: 15px !important;
	}

	.form-section {
		margin-top: 20px !important;
	}

	.meus-dados-page.container-fundo {
		padding: 15px !important;
	}
}

/* ========================================
   FIM ESTILOS MEUS DADOS
======================================== */

/* ========================================
   PÁGINA ALTERAR E-MAIL
======================================== */
.alterar-email-page .container-fundo {
	background: var(--branco);
	border-radius: 10px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	padding: 40px;
	margin-top: 0px;
	margin-bottom: 40px;
}

.alterar-email-page .page-header {
	text-align: center;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 2px solid var(--azul);
}

.alterar-email-page .page-header h1 {
	color: var(--azul);
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.alterar-email-page .page-header .page-description {
	color: var(--cinza-escuro);
	font-size: 1.2rem;
	margin-bottom: 0;
}

.alterar-email-page .form-section {
	background: var(--cinza-claro);
	padding: 35px;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.alterar-email-page .form-group {
	margin-bottom: 25px;
}

.alterar-email-page .form-group label {
	color: var(--cinza-escuro);
	font-weight: 600;
	font-size: 1.1rem;
	margin-bottom: 8px;
	display: block;
}

.alterar-email-page .form-group label i {
	margin-right: 8px;
	color: var(--azul);
	width: 16px;
	text-align: center;
}

.alterar-email-page .form-control {
	border: 2px solid var(--borda);
	border-radius: 6px;
	padding: 12px 15px;
	font-size: 1.1rem;
	transition: all 0.3s ease;
	background: var(--branco);
}

.alterar-email-page .form-control:focus {
	border-color: var(--azul);
	box-shadow: 0 0 0 0.2rem rgba(7, 83, 159, 0.15);
	outline: none;
}

.alterar-email-page .form-actions {
	text-align: center;
	margin-top: 35px;
	padding-top: 25px;
	border-top: 1px solid var(--borda);
}

.alterar-email-page .form-actions .btn {
	margin: 0 10px;
	min-width: 150px;
}

.alterar-email-page .btn-default {
	background: var(--cinza-claro);
	border: 2px solid var(--cinza-medio);
	color: var(--cinza-escuro);
	font-size: 1.15rem;
	padding: 16px 30px;
	font-weight: 600;
}

.alterar-email-page .btn-default:hover {
	background: var(--cinza-medio);
	border-color: var(--cinza-medio);
	color: var(--branco);
}

/* Responsividade */
@media (max-width: 768px) {
	.alterar-email-page .container-fundo {
		padding: 20px;
		margin: 10px;
	}

	.alterar-email-page .page-header h1 {
		font-size: 2rem;
	}

	.alterar-email-page .form-section {
		padding: 25px;
	}

	.alterar-email-page .form-actions .btn {
		width: 100%;
		margin: 5px 0;
	}
}

/* ========================================
   FIM ESTILOS ALTERAR E-MAIL
======================================== */

/* ========================================
   PÁGINA ALTERAR SENHA
======================================== */
.alterar-senha-page .container-fundo {
	background: var(--branco);
	border-radius: 10px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	padding: 30px 40px;
	margin-top: 0px;
	margin-bottom: 40px;
}

.alterar-senha-page .page-header {
	text-align: center;
	margin-bottom: 25px;
	padding-bottom: 15px;
	border-bottom: 2px solid var(--azul);
}

.alterar-senha-page .page-header h1 {
	color: var(--azul);
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 8px;
}

.alterar-senha-page .page-header .page-description {
	color: var(--cinza-escuro);
	font-size: 1.1rem;
	margin-bottom: 0;
}

.alterar-senha-page .form-section {
	background: var(--cinza-claro);
	padding: 25px;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.alterar-senha-page .security-info {
	background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
	padding: 25px;
	border-radius: 8px;
	margin-bottom: 0;
	border-left: 4px solid var(--azul);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.alterar-senha-page .security-info h4 {
	color: var(--azul);
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 15px;
}

.alterar-senha-page .security-info h4 i {
	margin-right: 8px;
}

.alterar-senha-page .security-info ul {
	list-style: none;
	padding: 0;
	margin: 0;
	flex: 1;
}

.alterar-senha-page .security-info li {
	color: var(--cinza-escuro);
	font-size: 1.05rem;
	margin-bottom: 10px;
	position: relative;
	padding-left: 22px;
	line-height: 1.4;
}

.alterar-senha-page .security-info li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--azul);
	font-weight: bold;
	font-size: 1.1rem;
}

.alterar-senha-page .form-group {
	margin-bottom: 20px;
}

.alterar-senha-page .form-group label {
	color: var(--cinza-escuro);
	font-weight: 600;
	font-size: 1.05rem;
	margin-bottom: 6px;
	display: block;
}

.alterar-senha-page .form-group label i {
	margin-right: 8px;
	color: var(--azul);
	width: 16px;
	text-align: center;
}

.alterar-senha-page .form-control {
	border: 2px solid var(--borda);
	border-radius: 6px;
	padding: 12px 15px;
	font-size: 1.1rem;
	transition: all 0.3s ease;
	background: var(--branco);
}

.alterar-senha-page .form-control:focus {
	border-color: var(--azul);
	box-shadow: 0 0 0 0.2rem rgba(7, 83, 159, 0.15);
	outline: none;
}

.alterar-senha-page .password-strength {
	margin-top: 8px;
	font-size: 0.9rem;
	font-weight: 600;
}

.alterar-senha-page .strength-weak {
	color: #dc3545;
}

.alterar-senha-page .strength-fair {
	color: #fd7e14;
}

.alterar-senha-page .strength-good {
	color: #ffc107;
}

.alterar-senha-page .strength-strong {
	color: #28a745;
}

.alterar-senha-page .form-actions {
	text-align: center;
	margin-top: 25px;
	padding-top: 20px;
	border-top: 1px solid var(--borda);
}

.alterar-senha-page .form-actions .btn {
	margin: 0 8px;
	min-width: 140px;
}

.alterar-senha-page .btn-default {
	background: var(--cinza-claro);
	border: 2px solid var(--cinza-medio);
	color: var(--cinza-escuro);
	font-size: 1.15rem;
	padding: 16px 30px;
	font-weight: 600;
}

.alterar-senha-page .btn-default:hover {
	background: var(--cinza-medio);
	border-color: var(--cinza-medio);
	color: var(--branco);
}

/* Responsividade */
@media (max-width: 768px) {
	.alterar-senha-page .container-fundo {
		padding: 20px;
		margin: 10px;
	}

	.alterar-senha-page .page-header h1 {
		font-size: 1.8rem;
	}

	.alterar-senha-page .form-section {
		padding: 20px;
		margin-top: 20px;
	}

	.alterar-senha-page .security-info {
		padding: 20px;
		margin-bottom: 20px;
	}

	.alterar-senha-page .form-actions .btn {
		width: 100%;
		margin: 5px 0;
	}
} /* ========================================
   FIM ESTILOS ALTERAR SENHA
======================================== */

/* ========================================
   BOTÃO VOLTAR - PÁGINAS DE RELATÓRIOS
======================================== */
.back-button-section {
	text-align: left;
	margin-bottom: 25px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--borda);
}

.back-button-section .btn {
	font-size: 1.1rem;
	padding: 12px 24px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.back-button-section .btn-default {
	background: var(--cinza-claro);
	border: 2px solid var(--azul);
	color: var(--azul);
}

.back-button-section .btn-default:hover {
	background: var(--azul);
	border-color: var(--azul);
	color: var(--branco);
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(7, 83, 159, 0.2);
}

.back-button-section .btn i {
	margin-right: 8px;
}

/* Responsividade */
@media (max-width: 768px) {
	.back-button-section {
		text-align: center;
	}

	.back-button-section .btn {
		width: 100%;
		font-size: 1rem;
		padding: 14px 20px;
	}
}

/* ========================================
   FIM ESTILOS BOTÃO VOLTAR
======================================== */

/* ========================================
   ESTILOS ESPECÍFICOS - PÁGINA LOGIN
======================================== */

/* Página de login com estrutura split-screen */
.login-page {
	margin: 0;
	padding: 0;
	height: 100vh;
	overflow: hidden;
}

.login-split-container {
	display: flex;
	height: 100vh;
	min-height: 600px;
}

/* Lado esquerdo - Boas-vindas */
.login-welcome-side {
	flex: 1;
	background: var(--azul);
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	position: relative;
	overflow: hidden;
}

.login-welcome-side::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="30" r="1.5" fill="rgba(255,255,255,0.1)"/><circle cx="60" cy="70" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="30" cy="80" r="2.5" fill="rgba(255,255,255,0.1)"/><circle cx="70" cy="15" r="1" fill="rgba(255,255,255,0.1)"/></svg>')
		repeat;
	opacity: 0.2;
	animation: login-float 20s ease-in-out infinite;
}

@keyframes login-float {
	0%,
	100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-15px);
	}
}

.login-welcome-content {
	text-align: center;
	z-index: 2;
	position: relative;
	max-width: 400px;
}

.login-logo-area {
	background: rgba(255, 255, 255, 0.15);
	padding: 25px;
	border-radius: 15px;
	margin-bottom: 30px;
	backdrop-filter: blur(10px);
}

.login-brand-logo {
	margin-bottom: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.login-logo-img {
	max-width: 180px;
	max-height: 120px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
	transition: transform 0.3s ease;
}

.login-logo-img:hover {
	transform: scale(1.05);
}

.login-logo-area h2 {
	color: white;
	font-size: 1.8rem;
	font-weight: 600;
	margin: 0;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.login-welcome-text {
	margin-bottom: 30px;
	text-align: center;
}

.login-welcome-text h3 {
	font-size: 1.6rem;
	font-weight: 300;
	margin-bottom: 15px;
	line-height: 1.4;
	color: white;
	text-align: center;
}

.login-welcome-text p {
	font-size: 1.1rem;
	opacity: 0.9;
	margin: 0;
	text-align: center;
}

.login-info-cards {
	margin-bottom: 30px;
}

.login-info-card {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 15px;
	backdrop-filter: blur(10px);
	display: flex;
	align-items: center;
	text-align: left;
	max-width: 350px;
}

.login-info-icon {
	background: rgba(255, 255, 255, 0.2);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 15px;
	flex-shrink: 0;
}

.login-info-icon i {
	font-size: 20px;
	color: white;
}

.login-info-text h3 {
	color: white;
	font-weight: 600;
	margin: 0 0 5px 0;
	font-size: 1.7rem;
}

.login-info-text p {
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.5;
}

.login-back-link {
	margin-top: 20px;
}

.login-back-btn {
	background: rgba(255, 255, 255, 0.2);
	color: white;
	border: 2px solid rgba(255, 255, 255, 0.3);
	padding: 10px 20px;
	border-radius: 25px;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
	display: inline-block;
}

.login-back-btn:hover {
	background: rgba(255, 255, 255, 0.3);
	color: white;
	text-decoration: none;
	transform: translateY(-2px);
}

/* Lado direito - Formulário */
.login-form-side {
	flex: 1;
	background: white;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	max-width: 500px;
}

.login-form-container {
	width: 100%;
	max-width: 400px;
}

.login-form-header {
	text-align: center;
	margin-bottom: 40px;
}

.login-form-image {
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.login-header-img {
	max-width: 200px;
	max-height: 80px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.login-form-header h3 {
	color: var(--azul) !important;
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 10px;
}

.login-form-header p {
	color: var(--cinza-medio) !important;
	font-size: 1rem;
	margin: 0;
}

.login-form .form-group {
	margin-bottom: 25px;
	width: 100%;
}

.login-form .form-group:last-child {
	margin-bottom: 0;
}

.login-form .form-group label {
	display: block;
	margin-bottom: 8px;
	color: var(--cinza-escuro) !important;
	font-weight: 500;
	font-size: 14px;
}

.login-form .form-group label i {
	margin-right: 8px;
	color: var(--azul) !important;
}

.login-form .form-control {
	width: 100%;
	height: 50px;
	padding: 0 15px;
	border: 2px solid #e1e5e9;
	border-radius: 8px;
	font-size: 16px;
	transition: all 0.3s ease;
	background: #f8f9fa;
	color: var(--cinza-escuro) !important;
	box-sizing: border-box;
}

.login-form .form-control:focus {
	outline: none;
	border-color: var(--azul);
	background: white;
	box-shadow: 0 0 0 3px rgba(7, 83, 159, 0.1);
}

.login-submit-btn {
	width: 100%;
	height: 50px;
	background: var(--azul);
	border: none;
	border-radius: 8px;
	color: white;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-bottom: 20px;
}

.login-submit-btn:hover {
	background: var(--azul-claro);
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(7, 83, 159, 0.3);
}

.login-additional-info {
	margin-top: 30px;
	padding-top: 25px;
	border-top: 1px solid #e1e5e9;
}

.login-instructions {
	background: #f8f9fa;
	padding: 20px;
	border-radius: 8px;
	border-left: 4px solid var(--azul);
}

.login-instructions h5 {
	color: var(--azul) !important;
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 15px;
}

.login-instructions h5 i {
	margin-right: 8px;
	color: var(--azul) !important;
}

.login-instructions ul {
	margin: 0;
	padding-left: 20px;
	color: var(--cinza-escuro) !important;
}

.login-instructions li {
	margin-bottom: 8px;
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--cinza-escuro) !important;
}

/* Responsividade para login split */
@media (max-width: 768px) {
	.login-page {
		height: auto;
		overflow: auto;
	}

	.login-split-container {
		flex-direction: column;
		height: auto;
		min-height: 100vh;
	}

	.login-welcome-side {
		min-height: 400px;
		padding: 30px 20px;
	}

	.login-logo-img {
		max-width: 140px;
		max-height: 80px;
	}

	.login-form-side {
		padding: 30px 20px;
		max-width: none;
	}

	.login-logo-area h2 {
		font-size: 1.5rem;
	}

	.login-welcome-text h3 {
		font-size: 1.3rem;
	}

	.login-form-header h3 {
		font-size: 1.5rem;
	}

	.login-header-img {
		max-width: 150px;
		max-height: 60px;
	}

	.login-info-card {
		flex-direction: column;
		text-align: center;
	}

	.login-info-icon {
		margin-right: 0;
		margin-bottom: 10px;
	}
}

@media (max-width: 480px) {
	.login-welcome-side,
	.login-form-side {
		padding: 20px 15px;
	}

	.login-form-container {
		max-width: none;
	}
}

/* ========================================
   FIM ESTILOS LOGIN SPLIT
======================================== */

/* FORÇA O FUNDO DO FOOTER - REGRA FINAL */
/* Esta regra deve ser a última para garantir precedência */
footer,
footer.footer,
.footer,
footer div,
.footer div {
	background-color: var(--cinza-escuro) !important;
	background-image: none !important;
	background: var(--cinza-escuro) !important;
}

/* ========================================
   ESTILOS ESPECÍFICOS - PÁGINA RECUPERAR SENHA
======================================== */

/* Página de recuperação de senha usa os mesmos estilos base do login */
.recuperar-senha-page {
	background: var(--cinza-claro) !important;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

/* Formulário de recuperação */
.recuperar-senha-page .form-description {
	color: var(--cinza-medio) !important;
	font-size: 1rem;
	margin-bottom: 30px;
	text-align: center;
	line-height: 1.5;
}

/* Botão de recuperação */
.recuperar-senha-page .btn-recuperar {
	background: var(--azul) !important;
	border-color: var(--azul) !important;
	color: white !important;
	font-weight: 500;
	height: 50px;
	border-radius: 8px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 8px rgba(7, 83, 159, 0.2);
	font-size: 16px;
}

.recuperar-senha-page .btn-recuperar:hover {
	background: var(--azul-claro) !important;
	border-color: var(--azul-claro) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(7, 83, 159, 0.3);
}

/* Link de volta ao login */
.recuperar-senha-page .back-to-login {
	text-align: center;
	margin-top: 15px;
}

.recuperar-senha-page .back-to-login a {
	color: var(--azul) !important;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
	font-size: 14px;
}

.recuperar-senha-page .back-to-login a:hover {
	color: var(--azul-claro) !important;
	text-decoration: none;
}

.recuperar-senha-page .back-to-login a i {
	margin-right: 5px;
}

/* ========================================
   FIM ESTILOS RECUPERAR SENHA
======================================== */
