/* CORES ESPECÃƒÆ’Ã‚ÂFICAS DOS TÃƒÆ’Ã‚ÂTULOS DOS PAINÃƒÆ’Ã¢â‚¬Â°IS - IGUAL AO PAINEL MENSALIDADES */
/* Painel "Contas ÃƒÆ’Ã‚Â  Pagar/Receber - PREVISTO PARA HOJE" */
.panel-heading:has(.panel-title:contains("PREVISTO PARA HOJE")) .panel-title,
.panel-heading:has(.panel-title:contains("PREVISTO PARA HOJE")) .panel-title span {
	color: #3FB618 !important; /* Verde */
}

/* Painel "Contas Pagas/Recebidas - REALIZADAS HOJE" */
.panel-heading:has(.panel-title:contains("REALIZADAS HOJE")) .panel-title,
.panel-heading:has(.panel-title:contains("REALIZADAS HOJE")) .panel-title span {
	color: #FF7518 !important; /* Laranja */
}

/* Painel "Pagamentos e Recebimentos - EM ATRASO" */
.panel-heading:has(.panel-title:contains("EM ATRASO")) .panel-title,
.panel-heading:has(.panel-title:contains("EM ATRASO")) .panel-title span {
	color: #FF0039 !important; /* Vermelho */
}

/* Alternativa usando classes especÃƒÆ’Ã‚Â­ficas se existirem */
.panel.panel-previsto .panel-title,
.panel.panel-previsto .panel-title span {
	color: #3FB618 !important; /* Verde */
}

.panel.panel-realizado .panel-title,
.panel.panel-realizado .panel-title span {
	color: #FF7518 !important; /* Laranja */
}

.panel.panel-atraso .panel-title,
.panel.panel-atraso .panel-title span {
	color: #FF0039 !important; /* Vermelho */
}

/* Panel body */
.panel-body {
	background: rgba(255, 255, 255, 0.95) !important;
	padding: 20px !important;
	border-radius: 0 0 12px 12px !important;
}

/* Sparkline canvas arredondado */
.sparkline canvas {
	border-radius: 50% !important;
	box-shadow: 0 2px 8px rgba(46, 123, 204, 0.15) !important;
}

/* Lista de estatÃƒÆ’Ã‚Â­sticas */
.smaller-stat {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	margin-left: 15px !important;
}

.smaller-stat li {
	margin-bottom: 8px !important;
	padding: 6px 10px !important;
	background: rgba(46, 123, 204, 0.05) !important;
	border-radius: 6px !important;
	border-left: 3px solid #2e7bcc !important;
	transition: all 0.3s ease !important;
}

.smaller-stat li:hover {
	background: rgba(46, 123, 204, 0.1) !important;
	transform: translateX(3px) !important;
}

.smaller-stat li span {
	font-size: 11px !important;
	color: #616161 !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

/* Cores especÃƒÆ’Ã‚Â­ficas para diferentes status */
.smaller-stat li:nth-child(1) {
	border-left-color: #3FB618 !important;
	background: rgba(63, 182, 24, 0.05) !important;
}

.smaller-stat li:nth-child(1):hover {
	background: rgba(63, 182, 24, 0.1) !important;
}

.smaller-stat li:nth-child(2) {
	border-left-color: #FFA500 !important;
	background: rgba(255, 165, 0, 0.05) !important;
}

.smaller-stat li:nth-child(2):hover {
	background: rgba(255, 165, 0, 0.1) !important;
}

.smaller-stat li:nth-child(3) {
	border-left-color: #2e7bcc !important;
	background: rgba(46, 123, 204, 0.05) !important;
}

.smaller-stat li:nth-child(3):hover {
	background: rgba(46, 123, 204, 0.1) !important;
}

/* Ajustes para diferentes tipos de painel */
.col-md-3 .panel {
	height: auto !important;
	min-height: 220px !important;
}

/* Row dentro do panel-body */
.panel-body .row,
.panel-body .ROW {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

/* Responsividade para mobile */
@media (max-width: 768px) {
	.panel-body .row,
	.panel-body .ROW {
		flex-direction: column !important;
		text-align: center !important;
	}

	.smaller-stat {
		margin-left: 0 !important;
		margin-top: 15px !important;
		width: 100% !important;
	}

	.smaller-stat li {
		text-align: center !important;
	}
}

/* ===== TABELA DE ESTATÃƒÆ’Ã‚ÂSTICAS DO DASHBOARD ===== */

/* Container principal */
#divGraficoPizzaMatriculasPorCursoa {
	background: #fff !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	padding: 20px !important;
	margin: 20px auto !important;
	transition: all 0.3s ease !important;
}

#divGraficoPizzaMatriculasPorCursoa:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

/* Tabela sem bordas */
#divGraficoPizzaMatriculasPorCursoa .table {
	border: none !important;
	margin-bottom: 0 !important;
	background: transparent !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr {
	border: none !important;
	background: transparent !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr td {
	border: none !important;
	padding: 15px 10px !important;
	vertical-align: middle !important;
	background: transparent !important;
}

/* Grupos de estatÃƒÆ’Ã‚Â­sticas - cada par ÃƒÆ’Ã‚Â­cone + texto */
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td {
	background: rgba(248, 249, 250, 0.5) !important;
	border-radius: 8px !important;
	margin-right: 10px !important;
	border: none !important;
}

/* Pares de cÃƒÆ’Ã‚Â©lulas - criar grupos visuais */
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(1),
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(2) {
	border-radius: 8px !important;
	border-top: 4px solid #3FB618 !important;
	background: rgba(63, 182, 24, 0.05) !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(3),
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(4) {
	border-radius: 8px !important;
	border-top: 4px solid #FF0039 !important;
	background: rgba(255, 0, 57, 0.05) !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(5),
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(6) {
	border-radius: 8px !important;
	border-top: 4px solid #2e7bcc !important;
	background: rgba(46, 123, 204, 0.05) !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(7),
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(8) {
	border-radius: 8px !important;
	border-top: 4px solid #FF7518 !important;
	background: rgba(255, 117, 24, 0.05) !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(9),
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(10) {
	border-radius: 8px !important;
	border-top: 4px solid #9954BB !important;
	background: rgba(153, 84, 187, 0.05) !important;
}

/* ÃƒÆ’Ã‚Âcones coloridos */
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(1) i { color: #3FB618 !important; }
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(3) i { color: #FF0039 !important; }
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(5) i { color: #2e7bcc !important; }
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(7) i { color: #FF7518 !important; }
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(9) i { color: #9954BB !important; }

/* ÃƒÆ’Ã‚Âcones com efeito hover */
#divGraficoPizzaMatriculasPorCursoa .table tbody tr td i {
	transition: all 0.3s ease !important;
	padding: 8px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.8) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr:hover td i {
	transform: scale(1.1) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* TÃƒÆ’Ã‚Â­tulos e textos */
#divGraficoPizzaMatriculasPorCursoa .table h4 {
	margin: 0 !important;
	font-size: 16px !important;
	font-weight: bold !important;
	color: #333333 !important;
	line-height: 1.2 !important;
}

#divGraficoPizzaMatriculasPorCursoa .table h4.txt-color-blue {
	color: #2e7bcc !important;
}

#divGraficoPizzaMatriculasPorCursoa .table p {
	margin: 5px 0 0 0 !important;
	color: #666666 !important;
}

#divGraficoPizzaMatriculasPorCursoa .table small {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #888888 !important;
}

/* Efeito hover na linha */
#divGraficoPizzaMatriculasPorCursoa .table tbody tr {
	transition: all 0.3s ease !important;
}

#divGraficoPizzaMatriculasPorCursoa .table tbody tr:hover {
	transform: translateY(-1px) !important;
}

/* Responsividade */
@media (max-width: 768px) {
	#divGraficoPizzaMatriculasPorCursoa .table tbody tr {
		display: block !important;
		margin-bottom: 15px !important;
		border-radius: 8px !important;
		background: #fff !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
	}

	#divGraficoPizzaMatriculasPorCursoa .table tbody tr td {
		display: inline-block !important;
		width: auto !important;
		border-radius: 8px !important;
		margin: 5px !important;
	}

	#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(odd) {
		border-radius: 8px !important;
		margin-right: 5px !important;
	}

	#divGraficoPizzaMatriculasPorCursoa .table tbody tr td:nth-child(even) {
		border-radius: 8px !important;
		margin-left: 0 !important;
	}
}

/* Layout em grid para telas mÃƒÆ’Ã‚Â©dias */
@media (min-width: 769px) and (max-width: 1200px) {
	#divGraficoPizzaMatriculasPorCursoa .table tbody tr {
		display: flex !important;
		flex-wrap: wrap !important;
	}

	#divGraficoPizzaMatriculasPorCursoa .table tbody tr td {
		flex: 1 1 calc(20% - 10px) !important;
		margin: 5px !important;
		border-radius: 8px !important;
	}
}

.product-content {
	border-radius: 12px !important;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	border: 1px solid #e0e0e0;
}

.product-content:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Product wrap com padding interno */
.product-wrap {
	padding: 20px;
	background: #fff;
	border-radius: 12px;
}

/* Imagem do produto arredondada */
.product-image {
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}

.product-image img {
	border-radius: 8px !important;
	transition: all 0.3s ease;
}

.product-image:hover img {
	transform: scale(1.05);
}

/* Tag numerada arredondada */
.product-image .tag2 {
	border-radius: 50% !important;
	width: 35px;
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 10px;
	right: 10px;
	background: var(--gradient-blue);
	color: white;
	font-weight: bold;
	box-shadow: var(--shadow-blue);
}

/* Detalhes do produto */
.product-deatil h5.name a {
	color: var(--blue);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.3s ease;
}

.product-deatil h5.name a:hover {
	color: var(--blue-dark);
}

/* Tag1 arredondada se existir */
.tag1 {
	border-radius: 6px !important;
	padding: 4px 8px;
	background: var(--gradient-green-subtle);
	color: var(--green-dark);
}

/* DescriÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Â£o com melhor espaÃƒÆ’Ã‚Â§amento */
.description {
	margin-top: 15px;
}

.description p {
	color: var(--gray-600);
	line-height: 1.6;
	margin-bottom: 0;
}

/* ===== EFEITO DROPDOWN PARA BOTÃƒÆ’Ã†â€™O DE BUSCA ===== */

/* BotÃƒÆ’Ã‚Â£o dropdown especÃƒÆ’Ã‚Â­fico */
.input-group-btn .btn.dropdown-toggle {
	border-radius: 8px !important;
	transition: all 0.3s ease !important;
	background: white !important;
	border: 1px solid #ddd !important;
	color: #444 !important;
	position: relative !important;
}

.input-group-btn .btn.dropdown-toggle:hover {
	background: rgba(59, 130, 246, 0.08) !important;
	border-color: rgba(59, 130, 246, 0.3) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

/* ÃƒÆ’Ã‚Âcones dentro do botÃƒÆ’Ã‚Â£o */
.input-group-btn .btn.dropdown-toggle .glyphicon,
.input-group-btn .btn.dropdown-toggle .fa {
	transition: all 0.3s ease !important;
}

.input-group-btn .btn.dropdown-toggle:hover .glyphicon,
.input-group-btn .btn.dropdown-toggle:hover .fa {
	color: #3b82f6 !important;
	transform: scale(1.05) !important;
}

/* Dropdown menu especÃƒÆ’Ã‚Â­fico para este botÃƒÆ’Ã‚Â£o */
.input-group-btn #search-option.dropdown-menu {
	background: white !important;
	border: 1px solid rgba(0,0,0,0.1) !important;
	border-radius: 8px !important;
	box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
	padding: 8px 0 !important;
	width: max-content !important;
	min-width: 200px !important;
	margin-top: 5px !important;
}

/* Itens do dropdown */
.input-group-btn #search-option.dropdown-menu li {
	margin: 0 !important;
	padding: 0 !important;
}

.input-group-btn #search-option.dropdown-menu li a {
	display: flex !important;
	align-items: center !important;
	padding: 12px 16px !important;
	text-decoration: none !important;
	color: #444 !important;
	transition: all 0.2s ease !important;
	position: relative !important;
}

.input-group-btn #search-option.dropdown-menu li a:hover {
	background: rgba(59, 130, 246, 0.08) !important;
	color: #444 !important;
	transform: translateX(3px) !important;
	text-decoration: none !important;
}

.input-group-btn #search-option.dropdown-menu li a:hover::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	height: 100% !important;
	width: 3px !important;
	background: rgba(59, 130, 246, 0.4) !important;
	border-radius: 0 2px 2px 0 !important;
}

/* ÃƒÆ’Ã‚Âcones dentro dos itens do dropdown */
.input-group-btn #search-option.dropdown-menu li a .fa {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #e5e7eb !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-right: 12px !important;
	transition: all 0.3s ease !important;
	color: #6b7280 !important;
	font-size: 13px !important;
}

.input-group-btn #search-option.dropdown-menu li a:hover .fa {
	background: #e5e7eb !important;
	color: #6b7280 !important;
	transform: scale(1.05) !important;
}

/* Texto do label */
.input-group-btn #search-option.dropdown-menu li a .nav-label {
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

/* Efeito de foco */
.input-group-btn #search-option.dropdown-menu li a:focus {
	outline: 2px solid rgba(59, 130, 246, 0.5) !important;
	outline-offset: 2px !important;
	background: rgba(59, 130, 246, 0.05) !important;
}

/* ===== ARREDONDAR SEÃƒÆ’Ã¢â‚¬Â¡ÃƒÆ’Ã†â€™O DE FILTROS ===== */

/* Panel collapse dos filtros */
#collapse-1.panel-collapse {
	border-radius: 0 0 12px 12px !important;
	overflow: hidden !important;
}

/* Panel body com well - fundo dos filtros */
#collapse-1 .panel-body.well {
	border-radius: 0 0 12px 12px !important;
	background: rgba(173, 216, 230, 0.3) !important; /* Azul claro suave */
	border: none !important;
	margin-bottom: 0 !important;
	padding: 25px !important;
	box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

/* Se vocÃƒÆ’Ã‚Âª quiser arredondar tambÃƒÆ’Ã‚Â©m o topo (caso tenha um header) */
.panel-heading + #collapse-1.panel-collapse {
	border-radius: 0 0 12px 12px !important;
}

/* ===== ÃƒÆ’Ã‚ÂCONE YOUTUBE NO HEADER ===== */
.youtube-help-icon {
	margin-left: auto;
	display: flex;
	align-items: center;
}

.youtube-link {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 16px !important;
	background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%) !important;
	color: white !important;
	text-decoration: none !important;
	border-radius: 25px !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 4px 12px rgba(255, 0, 0, 0.3) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
}

.youtube-link:hover {
	background: linear-gradient(135deg, #e60000 0%, #b30000 100%) !important;
	color: white !important;
	text-decoration: none !important;
	transform: translateY(-2px) scale(1.05) !important;
	box-shadow: 0 6px 20px rgba(255, 0, 0, 0.4) !important;
}

.youtube-link i {
	font-size: 18px !important;
	color: white !important;
	animation: pulse 2s infinite !important;
}

.youtube-text {
	color: white !important;
	font-weight: 600 !important;
}

/* AnimaÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Â£o pulsante no ÃƒÆ’Ã‚Â­cone */
@keyframes pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.1); }
	100% { transform: scale(1); }
}

/* ===== MODAL YOUTUBE ===== */
.youtube-modal {
	max-width: 900px !important;
}

.youtube-modal .modal-content {
	border-radius: 15px !important;
	overflow: hidden !important;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.3) !important;
}

.youtube-modal .modal-header {
	background: linear-gradient(135deg, #0b80b2 0%, #014a97 100%) !important;
	color: white !important;
	border-bottom: none !important;
	padding: 20px 25px !important;
}

.youtube-modal .modal-title {
	font-size: 18px !important;
	font-weight: 600 !important;
	margin: 0 !important;
}

.youtube-modal .modal-title i {
	margin-right: 10px !important;
	font-size: 20px !important;
}

.youtube-modal .modal-body {
	padding: 0 !important;
	background: #000 !important;
}

.youtube-container {
	position: relative !important;
	padding: 0 !important;
	margin: 0 !important;
}

.video-wrapper {
	position: relative !important;
	padding-bottom: 56.25% !important; /* 16:9 aspect ratio */
	height: 0 !important;
	overflow: hidden !important;
}

.video-wrapper iframe {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	border: none !important;
}

.youtube-modal .modal-footer {
	background: #f8f9fa !important;
	border-top: 1px solid #dee2e6 !important;
	padding: 15px 25px !important;
}

/* Loading state */
.youtube-container.loading::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #ff0000;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	z-index: 10;
}

@keyframes spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Responsividade */
@media (max-width: 768px) {
	.youtube-modal {
		margin: 10px !important;
		max-width: calc(100% - 20px) !important;
	}

	.youtube-link {
		padding: 10px 12px !important;
		font-size: 12px !important;
	}

	.youtube-link i {
		font-size: 16px !important;
	}

	.youtube-text {
		display: none !important;
	}

	.header-content {
		flex-wrap: wrap !important;
		gap: 10px !important;
	}
}

.bg-color-blue {
	background-color: #2e7bcc !important;
}

.badge {
	display: inline-block;
	min-width: 10px;
	padding: 3px 7px;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
	vertical-align: middle;
	white-space: nowrap;
	text-align: center;
	background-color: #709b85;
	border-radius: 10px;
}
.bg-color-yellow {
	background-color: #bcbd05 !important;
}

/* Tags selecionadas estilizadas (visual sofisticado, gradiente) */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: linear-gradient(135deg, #e8f0fe 0%, #d2e3fc 100%);
	border: 1px solid #a8c7fa;
	border-radius: 20px;
	color: #1967d2;
	padding: 5px 30px 5px 12px; /* espaÃƒÆ’Ã‚Â§o para botÃƒÆ’Ã‚Â£o X */
	margin: 3px 5px 3px 0;
	font-size: 13px;
	font-weight: 500;
	transition: all 0.3s ease;
	position: relative;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice:hover {
	background: linear-gradient(135deg, #d2e3fc 0%, #bbdafe 100%);
	border-color: #8ab4f8;
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(26, 103, 210, 0.2);
}

/* BotÃƒÆ’Ã‚Â£o X funcional e centralizado (mantido seu cÃƒÆ’Ã‚Â³digo) */
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: #ffffff;
	background-color: #3b82f6;
	border-radius: 50%;
	height: 20px;
	width: 20px;
	font-weight: bold;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	transition: background-color 0.2s ease;
	cursor: pointer;
	padding: 0;
}

/* Hover do botÃƒÆ’Ã‚Â£o X com fundo preto */
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
	background-color: #000000;
	cursor: pointer;
}

/* ===== BOTÃƒÆ’Ã†â€™O TOGGLE SELECT - FINO E CINZA DEGRADÃƒÆ’Ã…Â  ===== */

/* Estilo especÃƒÆ’Ã‚Â­fico apenas para botÃƒÆ’Ã‚Â£o chosen-toggle */
button.chosen-toggle {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
	border: 1px solid #adb5bd !important;
	border-radius: 6px !important;
	color: #495057 !important;
	padding: 4px 16px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
	outline: none !important;
	line-height: 1.4 !important;
	height: auto !important;
	min-height: 28px !important;
}

/* Hover */
button.chosen-toggle:hover {
	background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%) !important;
	border-color: #868e96 !important;
	color: #212529 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12) !important;
}

/* Clicado */
button.chosen-toggle:active {
	background: linear-gradient(135deg, #dee2e6 0%, #ced4da 100%) !important;
	border-color: #6c757d !important;
	transform: translateY(0) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important;
}

select[id*="bootstrap-duallistbox"] {
	height: 300px !important; /* Altura maior para dual listbox */
	min-height: 300px !important;
}

/* ===== CSS DUAL LISTBOX - OTIMIZADO ===== */

/* ===== CORES E APARÃƒÆ’Ã…Â NCIA ===== */

/* Sobrescrever azul forte por cinza suave */
select[id*="bootstrap-duallistbox"].form-control option:checked,
select[id*="bootstrap-duallistbox"].form-control option:hover,
.bootstrap-duallistbox-container select.form-control option:checked,
.bootstrap-duallistbox-container select.form-control option:hover,
.bootstrap-duallistbox-container select.form-control option:selected {
	background-color: rgba(229, 231, 235, 0.8) !important; /* Cinza suave */
	color: #374151 !important; /* Texto escuro */
}

/* OpÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Âµes normais do dual listbox */
.bootstrap-duallistbox-container select.form-control option {
	background-color: transparent !important;
	color: #374151 !important;
}

/* ===== REMOVER SETINHA E CUSTOMIZAÃƒÆ’Ã¢â‚¬Â¡ÃƒÆ’Ã¢â‚¬Â¢ES ===== */

/* Remover aparÃƒÆ’Ã‚Âªncia customizada e setinhas */
.bootstrap-duallistbox-container select.form-control,
select[id*="bootstrap-duallistbox"].form-control,
select[name*="id_habilidadesselecionadas"].form-control {
	/* Remover aparÃƒÆ’Ã‚Âªncia customizada */
	-webkit-appearance: listbox !important;
	-moz-appearance: listbox !important;
	appearance: listbox !important;

	/* Remover background-image da setinha */
	background-image: none !important;
	background: rgba(249, 250, 251, 1) !important;

	/* Resetar padding */
	padding-right: 8px !important;

	/* Remover redimensionamento */
	resize: none !important;
}

/* Remover pseudo-elementos que possam criar setinhas */
.bootstrap-duallistbox-container select::after,
.bootstrap-duallistbox-container select::before,
select[id*="bootstrap-duallistbox"]::after,
select[id*="bootstrap-duallistbox"]::before {
	display: none !important;
	content: none !important;
}

/* ===== SCROLL OTIMIZADO ===== */

/* Scroll apenas vertical */
select[id*="bootstrap-duallistbox"],
.bootstrap-duallistbox-container select {
	overflow-x: hidden !important; /* Remove scroll horizontal */
	overflow-y: auto !important;   /* MantÃƒÆ’Ã‚Â©m scroll vertical */
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
	scrollbar-width: thin !important; /* Firefox */
}

/* OpÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Âµes sem quebra de linha */
select[id*="bootstrap-duallistbox"] option {
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
}

/* ===== SCROLLBAR CUSTOMIZADA ===== */

/* Scrollbar vertical apenas */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar {
	width: 8px !important;
	height: 0px !important; /* Remove scroll horizontal */
}

/* Esconder elementos de scroll indesejados */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-horizontal,
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-corner,
select[id*="bootstrap-duallistbox"]::-webkit-resizer {
	display: none !important;
}

/* Track da scrollbar */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-track {
	background: rgba(243, 244, 246, 0.5) !important;
	border-radius: 4px !important;
}

/* Thumb da scrollbar */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-thumb {
	background: rgba(156, 163, 175, 0.6) !important;
	border-radius: 4px !important;
}

select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-thumb:hover {
	background: rgba(156, 163, 175, 0.9) !important;
}
/* ===== VARIÃƒÆ’Ã‚ÂVEIS E CONFIGURAÃƒÆ’Ã¢â‚¬Â¡ÃƒÆ’Ã¢â‚¬Â¢ES GLOBAIS ===== */
:root {
	--blue-primary: #0d367b;
	--blue-secondary: #3276b1;
	--blue-tertiary: #2563c7;
	--gradient-blue: linear-gradient(135deg, #0d367b 0%, #3276b1 50%, #0d367b 100%);
	--gradient-blue-hover: linear-gradient(135deg, #0a2a5e 0%, #1a4fa0 50%, #2563c7 100%);
	--shadow-default: 0 4px 12px rgba(0, 0, 0, 0.08);
	--shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
	--radius-default: 8px;
	--radius-large: 12px;
	--radius-small: 6px;
}

/* ===== RESET E CONFIGURAÃƒÆ’Ã¢â‚¬Â¡ÃƒÆ’Ã¢â‚¬Â¢ES BASE ===== */
body {
	background: #e6e6e6;
	font-family: 'Source Sans Pro', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body.swal2-shown {
	overflow-y: auto;
}

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

/* RESET GLOBAL PARA SELECTS - GARANTIR TEXTO VISÃƒÆ’Ã‚ÂVEL */
select {
	color: #495057 !important;
	-webkit-text-fill-color: #495057 !important;
}

select option {
	color: #495057 !important;
	background-color: #fff !important;
}

/* Prevenir que outros estilos ocultem o texto */
select:not([multiple]):not([size]) {
	text-indent: 0.01px !important;
	text-overflow: '' !important;
}

/* ===== LAYOUT PRINCIPAL ===== */
#ribbon {
	min-height: 40px;
	background: var(--gradient-blue);
	padding: 0 13px;
	position: relative;
}

aside {
	display: block;
	background-color: var(--blue-primary);
	min-height: 100%;
}

.page-footer {
	height: 52px;
	padding: 15px 13px 0;
	padding-left: 233px;
	border-top: 1px solid #CECECE;
	background: linear-gradient(135deg, #072d6d 0%, #3276b1 50%, #0d367b 100%);
	width: 100%;
	position: absolute;
	display: block;
	bottom: 0;
}

.ribbon-button-alignment {
	padding-top: 3px;
	display: inline-block;
}

/* ===== NAVEGAÃƒÆ’Ã¢â‚¬Â¡ÃƒÆ’Ã†â€™O ===== */
nav ul {
	margin: 0;
	padding: 0;
}

nav ul li a {
	line-height: normal;
	font-size: 14px;
	padding: 10px 10px 10px 11px;
	color: #fff;
	display: block;
	font-weight: 400;
	text-decoration: none !important;
	position: relative;
}

nav ul .active > a {
	color: #fff !important;
	position: relative;
}

nav ul ul {
	margin: 0;
	display: none;
	background: linear-gradient(135deg, #072d6d 0%, #0d367b 50%, #2563c7 100%);
	padding: 7px 0;
}

/* ===== BOTÃƒÆ’Ã¢â‚¬Â¢ES ===== */
.btn {
	border-radius: var(--radius-default) !important;
	transition: all 0.3s ease;
}

.btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.btn-sm {
	border-radius: var(--radius-small) !important;
}

.btn-lg {
	border-radius: 10px !important;
}

.btn-rounded {
	border-radius: 15px !important;
}

/* BotÃƒÆ’Ã‚Âµes PrimÃƒÆ’Ã‚Â¡rios */
.btn-primary {
	background: linear-gradient(135deg, #0d367b 0%, #1e5cbf 50%, #0c306b 100%) !important;
	border-color: var(--blue-primary) !important;
}

.btn-primary:hover {
	background: var(--gradient-blue-hover) !important;
	border-color: #0a2a5e !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(13, 54, 123, 0.3) !important;
}

/* BotÃƒÆ’Ã‚Âµes SecundÃƒÆ’Ã‚Â¡rios */
.btn-secondary {
	background: linear-gradient(135deg, #6c757d 0%, #868e96 50%, #adb5bd 100%) !important;
	border-color: #6c757d !important;
}

.btn-secondary:hover {
	background: linear-gradient(135deg, #5a6268 0%, #6c757d 50%, #868e96 100%) !important;
	border-color: #5a6268 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3) !important;
}

/* Outros tipos de botÃƒÆ’Ã‚Âµes */
.btn-success {
	background: linear-gradient(135deg, #28a745 0%, #34ce57 50%, #1f2f23 100%) !important;
	border-color: #28a745 !important;
}

.btn-success:hover {
	background: linear-gradient(135deg, #1e7e34 0%, #28a745 50%, #2fb344 100%) !important;
	border-color: #1e7e34 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3) !important;
}

.btn-danger {
	background: linear-gradient(135deg, #dc3545 0%, #e74c3c 50%, #f1556c 100%) !important;
	border-color: #dc3545 !important;
}

.btn-danger:hover {
	background: linear-gradient(135deg, #bd2130 0%, #c82333 50%, #d32f42 100%) !important;
	border-color: #bd2130 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3) !important;
}

.btn-warning {
	background: linear-gradient(135deg, #ffc107 0%, #ffcd39 50%, #ffd966 100%) !important;
	border-color: #ffc107 !important;
}

.btn-warning:hover {
	background: linear-gradient(135deg, #e0a800 0%, #ffc107 50%, #ffcd39 100%) !important;
	border-color: #e0a800 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3) !important;
}

.btn-info {
	background: linear-gradient(135deg, #17a2b8 0%, #20c9e7 50%, #3276b1 100%) !important;
	border-color: #17a2b8 !important;
}

.btn-info:hover {
	background: linear-gradient(135deg, #138496 0%, #17a2b8 50%, #3276b1 100%) !important;
	border-color: #138496 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(23, 162, 184, 0.3) !important;
}

.btn-light {
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 50%, #f1f3f4 100%) !important;
	border-color: #f8f9fa !important;
	color: #495057 !important;
}

.btn-light:hover {
	background: linear-gradient(135deg, #e2e6ea 0%, #f8f9fa 50%, #ffffff 100%) !important;
	border-color: #e2e6ea !important;
	color: #495057 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(248, 249, 250, 0.3) !important;
}

.btn-dark {
	background: linear-gradient(135deg, #343a40 0%, #495057 50%, #6c757d 100%) !important;
	border-color: #343a40 !important;
}

.btn-dark:hover {
	background: linear-gradient(135deg, #23272b 0%, #343a40 50%, #495057 100%) !important;
	border-color: #23272b !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(52, 58, 64, 0.3) !important;
}

/* BotÃƒÆ’Ã‚Âµes outline */
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info,
.btn-outline-light,
.btn-outline-dark {
	border-radius: var(--radius-default) !important;
}

/* BotÃƒÆ’Ã‚Âµes com cores de fundo customizadas */
.btn.bg-primary,
.btn.bg-secondary,
.btn.bg-success,
.btn.bg-danger,
.btn.bg-warning,
.btn.bg-info,
.btn.bg-light,
.btn.bg-dark {
	border-radius: var(--radius-default) !important;
}

/* ===== GRUPOS DE BOTÃƒÆ’Ã¢â‚¬Â¢ES ===== */
/* BotÃƒÆ’Ã‚Â£o ÃƒÆ’Ã‚Âºnico em btn-group */
.btn-group > .btn:only-child,
.btn-group > button:only-child,
.btn-group > .btn:first-child:last-child,
.btn-group > button:first-child:last-child,
.btn-group .btn.dropdown-toggle:only-child,
.btn-group > [class*="btn"]:only-child {
	border-radius: var(--radius-default) !important;
}

/* BotÃƒÆ’Ã‚Âµes dropdown conectados - primeiro botÃƒÆ’Ã‚Â£o */
.btn-group > .btn:first-child:not(.dropdown-toggle):not(:only-child) {
	border-radius: var(--radius-default) 0 0 var(--radius-default) !important;
}

/* BotÃƒÆ’Ã‚Âµes dropdown conectados - setinha */
.btn-group > .btn.dropdown-toggle:not(:only-child) {
	border-radius: 0 var(--radius-default) var(--radius-default) 0 !important;
}

/* BotÃƒÆ’Ã‚Â£o dropdown em tabelas */
table .btn-group .btn.dropdown-toggle,
td .btn-group .btn.dropdown-toggle,
.dataTables_wrapper .btn-group .btn.dropdown-toggle,
tbody .btn-group .btn.dropdown-toggle,
.btn-group .btn[data-toggle="dropdown"],
button.btn.btn-primary.dropdown-toggle,
.btn.btn-primary.dropdown-toggle:first-child:last-child {
	border-radius: var(--radius-default) !important;
}

/* BotÃƒÆ’Ã‚Âµes individuais dentro de grupos */
.btn-group .col-sm-12 .btn,
.btn-group .col-md-6 .btn,
.btn-group .col-lg-6 .btn,
.btn-group div .btn,
.btn-group .btn:not(:first-child):not(.dropdown-toggle):not(.btn-nav),
a.btn.bg-primary:not(.dropdown-toggle),
button.btn.bg-primary:not(.dropdown-toggle) {
	border-radius: var(--radius-default) !important;
}

/* Casos especÃƒÆ’Ã‚Â­ficos */
.btn-group#divBtnAnexarArquivo .btn,
.btn-group#divBtnAnexarArquivo button,
#bntEnviarArquivo {
	border-radius: var(--radius-default) !important;
}

/* BotÃƒÆ’Ã‚Âµes do header - redondos */
.btn-header {
	border-radius: 50% !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 8px !important;
	margin: 0 2px !important;
}

.btn-header span a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	text-decoration: none !important;
	padding: 6px !important;
}

/* BotÃƒÆ’Ã‚Â£o de arquivo */
.btn-file {
	position: relative;
	overflow: hidden;
}

.btn-file input[type=file] {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 100%;
	min-height: 100%;
	font-size: 100px;
	text-align: right;
	filter: alpha(opacity=0);
	opacity: 0;
	outline: none;
	background: white;
	cursor: inherit;
	display: block;
}

/* ===== FORMULÃƒÆ’Ã‚ÂRIOS ===== */
.form-control {
	border-radius: var(--radius-default) !important;
	transition: all 0.3s ease;
}

/* FIX PARA SELECT - GARANTIR VISIBILIDADE DO TEXTO SELECIONADO */
select.form-control {
	border-radius: var(--radius-default);
	background-color: #fff;
	color: #495057;

	/* Remover aparÃƒÆ’Ã‚Âªncias customizadas */
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;

	/* Remover imagem de fundo (a seta customizada) */
	background-image: none;
	background-repeat: initial;
	background-position: initial;
	background-size: initial;

	/* Ajustes visuais mantidos */
	padding-right: 10px;
	min-height: 38px;
	line-height: 1.5;
	font-size: 14px;
	font-weight: normal;
	text-indent: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}


/* FORÃƒÆ’Ã¢â‚¬Â¡A ESPECÃƒÆ’Ã‚ÂFICA PARA SELECT#id_sexo */
select#id_sexo,
select#id_sexo.form-control,
#id_sexo.form-control {
	color: #495057 !important;
	background-color: #fff !important;
	font-size: 14px !important;
	padding: 12px 30px 12px 14px !important;
	height: auto !important;

	line-height: normal !important;
	/* Remover qualquer text-indent negativo */
	text-indent: 0 !important;
	/* Garantir que o texto aparece */
	opacity: 1 !important;
	visibility: visible !important;
}

select.form-control:focus {
	border-color: #80bdff !important;
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* Garantir que o texto da opÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Â£o selecionada seja visÃƒÆ’Ã‚Â­vel */
select.form-control:not([size]):not([multiple]) {
	height: calc(2.25rem + 2px) !important;
	padding-top: 0.375rem !important;
	padding-bottom: 0.375rem !important;
}

/* Remover qualquer estilo que possa estar escondendo o texto */
select.form-control::-ms-value {
	color: #495057 !important;
	background-color: transparent !important;
}

/* Para navegadores WebKit */
select.form-control::-webkit-input-placeholder {
	color: #495057 !important;
}

/* Garantir visibilidade em todos os estados */
select.form-control:valid,
select.form-control:invalid,
select.form-control[value],
select.form-control:not(:placeholder-shown) {
	color: #495057 !important;
}

select.form-control option {
	background-color: #fff !important;
	color: #495057 !important;
	padding: 5px 10px !important;
}

select.form-control option:checked,
select.form-control option:hover {
	background-color: #86a2c1 !important;
	color: #fff !important;
}

/* Selects especÃƒÆ’Ã‚Â­ficos */
.header-dropdown-list select,
.header-dropdown-list select.dropdown-toggle,
select[name="optUnidades"],
#optUnidades {
	border-radius: var(--radius-default) !important;
	background-color: #fff !important;
	color: #495057 !important;
}

/* Textareas */
textarea.form-control {
	border-radius: var(--radius-default) !important;
}

/* Inputs de arquivo */
input[type="file"].form-control {
	border-radius: var(--radius-default) !important;
}

/* Checkboxes e radio buttons */
.checkbox label,
.radio label {
	border-radius: 4px;
}

/* ===== INPUT GROUPS ===== */
.input-group-addon {
	border-radius: var(--radius-default) !important;
}

/* Regra geral para form-control em input-group */
.input-group .form-control {
	border-radius: 0 !important;
}

/* ExceÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Âµes - elemento ÃƒÆ’Ã‚Âºnico */
.input-group > .form-control:only-child,
.input-group:not(:has(.input-group-btn)):not(:has(.input-group-addon)) > .form-control,
.input-group > select.form-control:first-child:last-child,
.input-group > select.form-control:only-of-type {
	border-radius: var(--radius-default) !important;
}

/* Input + BotÃƒÆ’Ã‚Â£o */
.input-group > .icon-addon:first-child .form-control,
.input-group > .form-control:first-child:not(:last-child),
.input-group > div:first-child:not(.input-group-btn) .form-control {
	border-radius: var(--radius-default) 0 0 var(--radius-default) !important;
}

/* BotÃƒÆ’Ã‚Â£o + Input */
.input-group > .form-control:last-child:not(:first-child) {
	border-radius: 0 var(--radius-default) var(--radius-default) 0 !important;
}

/* Input entre addons */
.input-group > .input-group-addon:first-child + .form-control,
.input-group > .input-group-addon + .form-control,
.input-group > .input-group-addon + input.form-control.money,
.input-group #vl_documento {
	border-radius: 0 !important;
}

/* Addons */
.input-group > .input-group-btn:first-child .btn,
.input-group > .input-group-addon:first-child {
	border-radius: var(--radius-default) 0 0 var(--radius-default) !important;
}

.input-group > .input-group-btn:last-child .btn,
.input-group > .input-group-addon:last-child,
.input-group > .input-group-addon + .form-control + .input-group-addon {
	border-radius: 0 var(--radius-default) var(--radius-default) 0 !important;
}

/* Form-control fora de grupos */
.form-control:not(.input-group .form-control) {
	border-radius: var(--radius-default) !important;
}

/* ===== SELECT2 ===== */
.select2-container .select2-selection,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-container--open .select2-selection,
.select2-container--default.select2-container--focus .select2-selection,
.icon-addon .select2-container .select2-selection,
.icon-addon:only-child .select2-container .select2-selection,
.form-group > div:only-child .select2-container .select2-selection {
	border-radius: var(--radius-default) !important;
	border: 1px solid #ccc !important;
}

.select2-container--default .select2-dropdown,
.select2-dropdown,
.chosen-drop,
.bootstrap-select .dropdown-menu {
	border-radius: var(--radius-default) !important;
	border: 1px solid #aaa !important;
	box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
	overflow: hidden !important;
}

.select2-container--default .select2-results > .select2-results__options {
	border-radius: 0 0 var(--radius-default) var(--radius-default) !important;
}

/* Select2 em input groups */
.input-group .select2-container .select2-selection {
	border-radius: 0 !important;
}

.input-group > .select2-container:first-child .select2-selection,
.input-group > div:first-child .select2-container .select2-selection,
.input-group > .icon-addon:first-child .select2-container .select2-selection,
.input-group > select + .select2-container .select2-selection,
.input-group select.select2-hidden-accessible + .select2-container .select2-selection,
.input-group #id_planocontas + .select2-container .select2-selection {
	border-radius: var(--radius-default) 0 0 var(--radius-default) !important;
}

.input-group > .select2-container:last-child .select2-selection,
.input-group > div:last-child .select2-container .select2-selection,
.input-group > .icon-addon:last-child .select2-container .select2-selection {
	border-radius: 0 var(--radius-default) var(--radius-default) 0 !important;
}

.input-group > .select2-container:only-child .select2-selection {
	border-radius: var(--radius-default) !important;
}

.input-group .select2-container + .input-group-addon {
	border-radius: 0 var(--radius-default) var(--radius-default) 0 !important;
}

/* ===== TABS ===== */
.nav-tabs > li > a {
	border-radius: 0 !important;
}

.nav-tabs > li:first-child > a {
	border-radius: var(--radius-default) 0 0 0 !important;
}

.nav-tabs > li:last-child > a {
	border-radius: 0 var(--radius-default) 0 0 !important;
}

.nav-tabs > li:first-child.active > a {
	border-radius: var(--radius-default) 0 0 0 !important;
}

.nav-tabs > li:last-child.active > a {
	border-radius: 0 var(--radius-default) 0 0 !important;
}

/* Tabs com classe bordered */
.nav-tabs.bordered {
	border-radius: var(--radius-default) var(--radius-default) 0 0 !important;
	overflow: hidden;
	background: #fff;
}

.nav-tabs.bordered + .tab-content {
	border-radius: 0 0 var(--radius-default) var(--radius-default) !important;
}

.nav-tabs.bordered > li.active > a {
	background: rgba(50, 118, 177, 0.1) !important;
	border-radius: var(--radius-default) var(--radius-default) 0 0 !important;
	box-shadow:
			0 -2px 4px rgba(0, 0, 0, 0.1),
			-2px 0 4px rgba(0, 0, 0, 0.05),
			2px 0 4px rgba(0, 0, 0, 0.05) !important;
	color: #3276b1 !important;
	border-bottom: 1px solid rgba(50, 118, 177, 0.1) !important;
}

.nav-tabs.bordered > li:not(.active) > a:hover {
	background: rgba(50, 118, 177, 0.05) !important;
	border-radius: var(--radius-small) var(--radius-small) 0 0 !important;
}

/* Tabs sem classe bordered */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
	background: rgba(50, 118, 177, 0.1) !important;
	border-radius: var(--radius-default) var(--radius-default) 0 0 !important;
	box-shadow:
			0 -2px 4px rgba(0, 0, 0, 0.1),
			-2px 0 4px rgba(0, 0, 0, 0.05),
			2px 0 4px rgba(0, 0, 0, 0.05) !important;
	color: #3276b1 !important;
	border-bottom-color: rgba(50, 118, 177, 0.1) !important;
}

.nav-tabs > li:not(.active) > a:hover {
	background: rgba(50, 118, 177, 0.05) !important;
	border-radius: var(--radius-small) var(--radius-small) 0 0 !important;
}

/* ===== MODAIS ===== */
.modal-content {
	border-radius: 20px !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
	overflow: hidden !important;
	background: #fff !important;
	backdrop-filter: blur(10px) !important;
}

.modal-header {
	background: var(--gradient-blue) !important;
	color: #fff !important;
	border-radius: 20px 20px 0 0 !important;
	border-bottom: none !important;
	padding: 18px 24px !important;
	position: relative !important;
}

.modal-header .modal-title,
.modal-header h4 {
	color: #fff !important;
	font-weight: 600 !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}

.modal-header .modal-title i,
.modal-header h4 i {
	color: #fff !important;
	margin-right: 10px !important;
}

.modal-header .close {
	color: #fff !important;
	opacity: 0.8 !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	transition: all 0.3s ease !important;
	position: absolute !important;
	right: 18px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: none !important;
	border: none !important;
	padding: 8px !important;
	width: 32px !important;
	height: 32px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
}

.modal-header .close:hover {
	color: #fff !important;
	opacity: 1 !important;
	transform: translateY(-50%) scale(1.1) !important;
	background: rgba(255, 255, 255, 0.15) !important;
}

.modal-header span {
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	padding-right: 50px !important;
}

.modal-body {
	background: #fff !important;
	padding: 30px 24px !important;
	border: none !important;
	min-height: 200px !important;
	position: relative !important;
}

.modal-footer {
	background: var(--gradient-blue) !important;
	border-radius: 0 0 20px 20px !important;
	border-top: none !important;
	padding: 8px 24px !important;
	min-height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 12px !important;
	position: sticky !important;
	bottom: 0 !important;
	z-index: 1 !important;
}

.modal-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}

.modal-footer .btn {
	border-radius: var(--radius-default) !important;
	padding: 8px 18px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	transition: all 0.3s ease !important;
	border: none !important;
	min-width: 80px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
}

.modal-footer .btn-primary {
	background: rgba(255, 255, 255, 0.95) !important;
	color: #0d367b !important;
	font-weight: 600 !important;
}

.modal-footer .btn-primary:hover {
	background: #fff !important;
	color: #0d367b !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.modal-footer .btn-secondary,
.modal-footer .btn-default {
	background: rgb(11 109 179) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.modal-footer .btn-secondary:hover,
.modal-footer .btn-default:hover {
	background: rgba(255, 255, 255, 0.3) !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

.modal-footer .btn-danger {
	background: rgba(220, 53, 69, 0.9) !important;
	color: #fff !important;
}

.modal-footer .btn-danger:hover {
	background: #dc3545 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3) !important;
}

.modal-dialog {
	margin: 40px auto !important;
}

.modal-lg .modal-content {
	border-radius: 20px !important;
}

.modal-sm .modal-content {
	border-radius: 18px !important;
}

.modal-sm .modal-header {
	border-radius: 18px 18px 0 0 !important;
}

.modal-sm .modal-footer {
	border-radius: 0 0 18px 18px !important;
}

.modal-backdrop {
	background-color: rgba(13, 54, 123, 0.4) !important;
	visibility: visible !important;
}

.modal.in {
	background-color: rgba(0,0,0,0.5);
}

.modal.fade .modal-dialog {
	transform: translate(0, -60px) scale(0.95) !important;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.modal.fade.in .modal-dialog,
.modal.show .modal-dialog {
	transform: translate(0, 0) scale(1) !important;
}

/* Campos de formulÃƒÆ’Ã‚Â¡rio dentro do modal */
.modal-body .form-control {
	border-radius: var(--radius-default) !important;
	border: 1px solid #e1e5e9 !important;
	padding: 12px 14px !important;
	transition: all 0.3s ease !important;
	font-size: 14px !important;
}

.modal-body .form-control:focus {
	border-color: #3276b1 !important;
	box-shadow: 0 0 0 3px rgba(50, 118, 177, 0.1) !important;
}

.modal-body label {
	font-weight: 500 !important;
	color: #374151 !important;
	margin-bottom: 6px !important;
	display: block !important;
	font-size: 14px !important;
}

.modal-body .input-group .form-control:first-child {
	border-radius: var(--radius-default) 0 0 var(--radius-default) !important;
}

.modal-body .input-group .form-control:last-child {
	border-radius: 0 var(--radius-default) var(--radius-default) 0 !important;
}

.modal-body .input-group-addon {
	background: #f8f9fa !important;
	border: 1px solid #e1e5e9 !important;
	border-radius: var(--radius-default) !important;
	color: #6b7280 !important;
}

.modal-body .btn {
	border-radius: var(--radius-default) !important;
	transition: all 0.3s ease !important;
	font-weight: 500 !important;
}

.modal-body .row {
	margin-left: -12px !important;
	margin-right: -12px !important;
}

.modal-body .col-sm-6,
.modal-body .col-md-6 {
	padding-left: 12px !important;
	padding-right: 12px !important;
}

.modal-body .form-group {
	margin-bottom: 20px !important;
}

.modal-body .form-group:last-child {
	margin-bottom: 0 !important;
}

.modal-body .fa-question-circle {
	color: #9ca3af !important;
	margin-left: 6px !important;
	cursor: help !important;
	transition: color 0.3s ease !important;
}

.modal-body .fa-question-circle:hover {
	color: #3276b1 !important;
}

/* Responsividade modal */
@media (max-width: 768px) {
	.modal-dialog {
		margin: 20px !important;
		width: calc(100% - 40px) !important;
	}

	.modal-content {
		border-radius: 16px !important;
	}

	.modal-header {
		border-radius: 16px 16px 0 0 !important;
		padding: 16px 20px !important;
	}

	.modal-footer {
		border-radius: 0 0 16px 16px !important;
		padding: 6px 20px !important;
		flex-direction: column !important;
		gap: 8px !important;
		min-height: 50px !important;
	}

	.modal-footer .btn {
		width: 100% !important;
		margin: 0 !important;
	}

	.modal-body {
		padding: 24px 20px !important;
	}
}

/* ===== PAINÃƒÆ’Ã¢â‚¬Â°IS ===== */
.panel {
	border-radius: var(--radius-large) !important;
	border: none !important;
	box-shadow: var(--shadow-default) !important;
	transition: all 0.3s ease !important;
	overflow: hidden !important;
	margin-bottom: 20px !important;
}

.panel:hover {
	transform: translateY(-3px) !important;
	box-shadow: var(--shadow-hover) !important;
}

.panel-heading {
	background: linear-gradient(135deg, rgba(46, 123, 204, 0.05) 0%, rgba(46, 123, 204, 0.1) 100%) !important;
	border-bottom: 1px solid rgba(46, 123, 204, 0.1) !important;
	border-radius: var(--radius-large) var(--radius-large) 0 0 !important;
	padding: 15px 20px !important;
	margin: 0 !important;
}

.panel-title {
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.panel-title a {
	color: #1e5a9c !important;
	text-decoration: none !important;
	display: block !important;
	transition: color 0.3s ease !important;
}

.panel-title a:hover {
	color: #2e7bcc !important;
}

.panel-title span {
	font-size: 14px !important;
	color: #1e5a9c !important;
	font-weight: bold !important;
}

.panel-title i {
	color: #2e7bcc !important;
	margin-right: 8px !important;
}

.panel-body {
	background: rgba(255, 255, 255, 0.95) !important;
	padding: 20px !important;
	border-radius: 0 0 var(--radius-large) var(--radius-large) !important;
}

/* Cores especÃƒÆ’Ã‚Â­ficas para tÃƒÆ’Ã‚Â­tulos de painÃƒÆ’Ã‚Â©is */
.panel.panel-previsto .panel-title,
.panel.panel-previsto .panel-title span {
	color: #3FB618 !important;
}

.panel.panel-realizado .panel-title,
.panel.panel-realizado .panel-title span {
	color: #FF7518 !important;
}

.panel.panel-atraso .panel-title,
.panel.panel-atraso .panel-title span {
	color: #FF0039 !important;
}

.panel-success > .panel-heading {
	background-image: linear-gradient(to bottom, #fff 0, #8ccaff 100%);
	background-repeat: repeat-x;
}

/* ===== WIDGETS ===== */
.jarviswidget {
	border-radius: var(--radius-default) !important;
}

.jarviswidget header {
	border-radius: var(--radius-default) var(--radius-default) 0 0 !important;
}

.jarviswidget .widget-body {
	border-radius: 0 0 var(--radius-default) var(--radius-default) !important;
}

/* ===== OUTROS COMPONENTES ===== */
.well {
	border-radius: var(--radius-default) !important;
}

.card {
	border-radius: var(--radius-default) !important;
}

.dropdown-menu {
	border-radius: var(--radius-default) !important;
}

.badge,
.label {
	border-radius: var(--radius-small) !important;
}

.progress {
	border-radius: var(--radius-default) !important;
}

.progress-bar {
	border-radius: var(--radius-default) !important;
}

.alert {
	border-radius: var(--radius-default) !important;
}


.tooltip-inner {
	border-radius: var(--radius-small) !important;
}

.popover {
	border-radius: var(--radius-default) !important;
	border: none;
	width: 100%;
	overflow-wrap: break-word;
	z-index: 1060;
}

/* ===== TILES ===== */
.jarvismetro-tile {
	border-radius: var(--radius-large) !important;
	background: rgba(50, 118, 177, 0.8) !important;
	overflow: hidden !important;
}

.jarvismetro-tile .iconbox {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	height: 100% !important;
	width: 100% !important;
}

.jarvismetro-tile .iconbox span {
	color: white !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	margin-top: 8px !important;
}

/* ===== PÃƒÆ’Ã‚ÂGINA DE RELATÃƒÆ’Ã¢â‚¬Å“RIOS ===== */
.modern-reports-page {
	background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
	min-height: 100vh;
	padding: 20px;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.reports-header {
	background: white;
	border-radius: 16px;
	padding: 15px;
	margin-bottom: 15px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	border-left: 5px solid #3276b1;
}

.header-content {
	display: flex;
	align-items: center;
	gap: 20px;
}

.header-icon {
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, #3276b1 0%, #4a90d9 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 15px rgba(50, 118, 177, 0.3);
}

.header-icon i {
	font-size: 24px;
	color: white;
}

.header-title {
	flex: 1;
	margin: 0;
}

.title-main {
	display: block;
	font-size: 28px;
	font-weight: 700;
	color: #1f2937;
	margin-bottom: 5px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.title-subtitle {
	display: block;
	font-size: 14px;
	color: #6b7280;
	font-weight: 400;
}

.reports-grid {
	background: transparent;
}

.reports-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
	gap: 24px;
	max-width: 1400px;
	margin: 0 auto;
}

.report-card {
	background: white;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	animation: fadeInUp 0.6s ease-out;
	animation-fill-mode: both;
}

.report-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.report-card:nth-child(1) { animation-delay: 0.1s; }
.report-card:nth-child(2) { animation-delay: 0.2s; }
.report-card:nth-child(3) { animation-delay: 0.3s; }
.report-card:nth-child(4) { animation-delay: 0.4s; }

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(40px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.card-header {
	background: linear-gradient(135deg, #3276b1 0%, #4a90d9 100%);
	padding: 24px;
	color: white;
	position: relative;
	overflow: hidden;
}

.card-header::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
	transform: rotate(45deg);
	transition: all 0.5s;
	opacity: 0;
}

.report-card:hover .card-header::before {
	animation: shine 0.6s ease-in-out;
}

@keyframes shine {
	0% {
		transform: translateX(-100%) translateY(-100%) rotate(45deg);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: translateX(100%) translateY(100%) rotate(45deg);
		opacity: 0;
	}
}

.header-icon-wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
	position: relative;
}

.card-icon {
	width: 50px;
	height: 50px;
	border-radius: var(--radius-large);
	background: rgba(255, 255, 255, 0.1);
	padding: 8px;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	transition: all 0.3s ease;
}

.report-card:hover .card-icon {
	transform: scale(1.1) rotate(5deg);
}

.icon-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 50px;
	background: linear-gradient(45deg, rgba(255, 255, 255, 0.1), transparent);
	border-radius: var(--radius-large);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.report-card:hover .icon-overlay {
	opacity: 1;
}

.card-title {
	font-size: 20px;
	font-weight: 600;
	margin: 0;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.card-body {
	padding: 0;
}

.report-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.report-list li {
	border-bottom: 1px solid #f3f4f6;
	transition: all 0.3s ease;
}

.report-list li:last-child {
	border-bottom: none;
}

.report-list li:hover {
	background: linear-gradient(90deg, rgba(50, 118, 177, 0.02) 0%, transparent 100%);
}

.report-list li a {
	display: flex;
	align-items: center;
	padding: 16px 24px;
	text-decoration: none;
	color: #374151;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease;
	position: relative;
}

.report-list li a:hover {
	color: #3276b1;
	text-decoration: none;
}

.report-list li a i {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: linear-gradient(135deg, #3276b1 0%, #4a90d9 100%);
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
	font-size: 12px;
	flex-shrink: 0;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(50, 118, 177, 0.2);
}

.report-list li:hover a i {
	transform: scale(1.1);
	box-shadow: 0 4px 12px rgba(50, 118, 177, 0.3);
}

.report-code {
	font-size: 12px;
	font-weight: 700;
	color: #3276b1;
	background: rgba(50, 118, 177, 0.1);
	padding: 2px 8px;
	border-radius: var(--radius-large);
	margin-right: 8px;
	flex-shrink: 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.report-name {
	flex: 1;
	line-height: 1.4;
}

.report-list li a::after {
	content: "\f054";
	font-family: "FontAwesome";
	color: #9ca3af;
	font-size: 10px;
	margin-left: auto;
	transition: all 0.3s ease;
	opacity: 0;
	transform: translateX(-10px);
}

.report-list li:hover a::after {
	opacity: 1;
	transform: translateX(0);
	color: #3276b1;
}

.report-list li.featured {
	background: linear-gradient(90deg, rgba(16, 185, 129, 0.03) 0%, transparent 100%);
}

.report-list li.featured a i {
	background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
	box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2);
}

.report-list li a:focus {
	outline: 2px solid rgba(50, 118, 177, 0.5);
	outline-offset: 2px;
	background: rgba(50, 118, 177, 0.05);
}

.report-card.loading {
	opacity: 0.6;
	pointer-events: none;
}

.report-card.loading .card-icon {
	animation: pulse 1.5s infinite;
}

@keyframes pulse {
	0%, 100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.7;
		transform: scale(1.05);
	}
}

/* Responsividade relatÃƒÆ’Ã‚Â³rios */
@media (max-width: 1200px) {
	.reports-container {
		grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.modern-reports-page {
		padding: 15px;
	}

	.reports-container {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.reports-header {
		padding: 20px;
		margin-bottom: 20px;
	}

	.header-content {
		gap: 15px;
	}

	.header-icon {
		width: 50px;
		height: 50px;
	}

	.header-icon i {
		font-size: 20px;
	}

	.title-main {
		font-size: 22px;
	}

	.card-header {
		padding: 20px;
	}

	.card-title {
		font-size: 18px;
	}

	.report-list li a {
		padding: 14px 20px;
		font-size: 13px;
	}

	.report-list li a i {
		width: 28px;
		height: 28px;
		font-size: 11px;
	}
}

@media (max-width: 480px) {
	.modern-reports-page {
		padding: 10px;
	}

	.reports-header {
		padding: 16px;
		margin-bottom: 16px;
	}

	.header-content {
		gap: 12px;
	}

	.title-main {
		font-size: 20px;
	}

	.title-subtitle {
		font-size: 12px;
	}

	.card-header {
		padding: 16px;
	}

	.card-title {
		font-size: 16px;
	}

	.report-list li a {
		padding: 12px 16px;
		font-size: 12px;
	}

	.report-code {
		font-size: 10px;
		padding: 1px 6px;
	}
}

/* ===== ALTURA UNIFORME PARA TODOS OS FORM-CONTROLS - CORRIGIDO ===== */

/* ALTURA PADRÃƒÆ’Ã†â€™O PARA INPUTS E SELECTS (NÃƒÆ’Ã†â€™O TEXTAREA) */
.form-control:not(textarea),
select.form-control,
input.form-control {
	height: calc(1.5em + 0.75rem + 2px) !important; /* Altura padrÃƒÆ’Ã‚Â£o Bootstrap */
	min-height: auto !important; /* Remove min-height forÃƒÆ’Ã‚Â§ado */
	padding: 0.375rem 0.75rem !important; /* Padding padrÃƒÆ’Ã‚Â£o Bootstrap */
	line-height: 1.5 !important;
	font-size: 14px !important;
	border-radius: var(--radius-default) !important;
}

/* TEXTAREAS - ALTURA AUTOMÃƒÆ’Ã‚ÂTICA E FLEXÃƒÆ’Ã‚ÂVEL */
textarea.form-control {
	height: auto !important; /* Remove altura fixa */
	min-height: 80px !important; /* Altura mÃƒÆ’Ã‚Â­nima razoÃƒÆ’Ã‚Â¡vel */
	padding: 0.375rem 0.75rem !important; /* Padding consistente */
	line-height: 1.5 !important;
	font-size: 14px !important;
	border-radius: var(--radius-default) !important;
	resize: vertical !important; /* Permite redimensionar verticalmente */
	overflow-y: auto !important; /* Scroll quando necessÃƒÆ’Ã‚Â¡rio */
}

/* ESPECÃƒÆ’Ã‚ÂFICO PARA SELECTS - SEM ALTURA FORÃƒÆ’Ã¢â‚¬Â¡ADA */
select.form-control {
	background-color: #fff !important;
	color: #495057 !important;
	text-indent: 0 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

/* FORÃƒÆ’Ã¢â‚¬Â¡A ESPECÃƒÆ’Ã‚ÂFICA PARA SELECT#id_sexo - SEM ALTURA CUSTOMIZADA */
select#id_sexo,
select#id_sexo.form-control,
#id_sexo.form-control {
	color: #495057 !important;
	background-color: #fff !important;
	font-size: 14px !important;
	padding: 0.375rem 0.75rem !important; /* Padding padrÃƒÆ’Ã‚Â£o */
	height: calc(1.5em + 0.75rem + 2px) !important; /* Altura padrÃƒÆ’Ã‚Â£o */
	line-height: 1.5 !important;
	text-indent: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* INPUT GROUPS - ALTURA CONSISTENTE PARA INPUTS E SELECTS */
.input-group .form-control:not(textarea),
.input-group select.form-control,
.input-group input.form-control {
	height: calc(1.5em + 0.75rem + 2px) !important;
	line-height: 1.5 !important;
}

/* TEXTAREAS EM INPUT GROUPS - MANTÃƒÆ’Ã¢â‚¬Â°M ALTURA FLEXÃƒÆ’Ã‚ÂVEL */
.input-group textarea.form-control {
	height: auto !important;
	min-height: 80px !important;
	line-height: 1.5 !important;
}

/* BOTÃƒÆ’Ã¢â‚¬Â¢ES EM INPUT GROUPS - MESMA ALTURA */
.input-group-btn .btn,
.input-group-addon {
	height: calc(1.5em + 0.75rem + 2px) !important;
	line-height: 1.5 !important;
	padding: 0.375rem 0.75rem !important;
}

/* SELECT2 - ALTURA CONSISTENTE */
.select2-container .select2-selection--single {
	height: calc(1.5em + 0.75rem + 2px) !important;
	line-height: calc(1.5em + 0.75rem) !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	line-height: calc(1.5em + 0.75rem) !important;
	padding-left: 0.75rem !important;
	padding-right: 0.75rem !important;
}

.select2-container .select2-selection--single .select2-selection__arrow {
	height: calc(1.5em + 0.75rem + 2px) !important;
}

/* CAMPOS DENTRO DE MODAIS */
.modal-body .form-control:not(textarea),
.modal-body select.form-control,
.modal-body input.form-control {
	height: calc(1.5em + 0.75rem + 2px) !important;
	padding: 0.375rem 0.75rem !important;
}

/* TEXTAREAS DENTRO DE MODAIS - ALTURA FLEXÃƒÆ’Ã‚ÂVEL */
.modal-body textarea.form-control {
	height: auto !important;
	min-height: 80px !important;
	padding: 0.375rem 0.75rem !important;
}

/* GARANTIR QUE NÃƒÆ’Ã†â€™O HAJA OVERRIDE EM CASOS ESPECÃƒÆ’Ã‚ÂFICOS */
.form-control:not([size]):not([multiple]):not(textarea),
select.form-control:not([size]):not([multiple]) {
	height: calc(1.5em + 0.75rem + 2px) !important;
	padding-top: 0.375rem !important;
	padding-bottom: 0.375rem !important;
}

/* TEXTAREAS COM ATRIBUTOS ESPECÃƒÆ’Ã‚ÂFICOS - MANTÃƒÆ’Ã¢â‚¬Â°M FLEXIBILIDADE */
textarea.form-control[rows] {
	height: auto !important;
	min-height: auto !important;
}

/* Opcionalmente, vocÃƒÆ’Ã‚Âª pode definir alturas especÃƒÆ’Ã‚Â­ficas para textareas com diferentes nÃƒÆ’Ã‚Âºmeros de rows */
textarea.form-control[rows="1"] { min-height: 38px !important; }
textarea.form-control[rows="2"] { min-height: 60px !important; }
textarea.form-control[rows="3"] { min-height: 82px !important; }
textarea.form-control[rows="4"] { min-height: 104px !important; }
textarea.form-control[rows="5"] { min-height: 126px !important; }

/* ===== UTILITÃƒÆ’Ã‚ÂRIOS ===== */
/* FORÃƒÆ’Ã¢â‚¬Â¡A MÃƒÆ’Ã‚ÂXIMA - VISIBILIDADE DO TEXTO EM SELECTS */
select,
select.form-control,
.form-control[type="select"],
.form-control:is(select) {
	color: #495057 !important;
	opacity: 1 !important;
	-webkit-text-fill-color: #495057 !important;
	text-fill-color: #495057 !important;
}

/* Resetar estilos que possam estar causando problemas */
select.form-control * {
	color: inherit !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* EspecÃƒÆ’Ã‚Â­fico para selects com Bootstrap */
.form-group select.form-control,
.input-group select.form-control,
div select.form-control {
	color: #495057 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	padding: 0.375rem 1.75rem 0.375rem 0.75rem !important;
}

.datepicker {
	z-index: 1600 !important;
}

.tooltip {
	z-index: 1151 !important;
}

.popover {
	z-index: 1601 !important;
}

#errors {
	border-left: 5px solid #a94442;
	padding-left: 15px;
}

#errors li {
	list-style-type: none;
}

#errors li:before {
	content: '\b7\a0';
}

.marcar {}

/* ===== ANIMAÃƒÆ’Ã¢â‚¬Â¡ÃƒÆ’Ã¢â‚¬Â¢ES ===== */
@keyframes fa-exclamation-triangle {
	0% { opacity: 1; }
	50% { opacity: 0.5; }
	100% { opacity: 0; }
}

.fa-exclamation-triangle {
	animation: fa-exclamation-triangle .75s linear infinite;
}

/* ===== EMAILS ===== */
.bootstrap-multiemail {
	width: 100%;
	cursor: text;
	margin-bottom: 0px;
}

.bootstrap-multiemail .tag {
	background-color: #e1e1e1;
	border: 1px solid rgba(0, 0, 0, .3);
	border-radius: 3px;
	color: #363636;
	padding: 1px 5px;
	line-height: 27px;
}

.bootstrap-multiemail .tag.invalid {
	background-color: #eb1616;
	color: white;
}

/* ===== CHECKBOXES CUSTOMIZADOS ===== */
.control-group {
	display: inline-block;
	vertical-align: top;
	background: #fff;
	text-align: left;
	box-shadow: 0 1px 2px rgba(0,0,0,0.1);
	padding: 30px;
	width: 200px;
	height: 210px;
	margin: 10px;
}

.control {
	display: inline-block;
	position: relative;
	padding-left: 30px;
	margin-bottom: 15px;
	cursor: pointer;
	font-size: 18px;
}

.control input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}

.control__indicator {
	position: absolute;
	top: 2px;
	left: 0;
	height: 20px;
	width: 20px;
	background: #e6e6e6;
}

.control--radio .control__indicator {
	border-radius: 50%;
}

.control:hover input ~ .control__indicator,
.control input:focus ~ .control__indicator {
	background: #ccc;
}

.control input:checked ~ .control__indicator {
	background: #2aa1c0;
}

.control:hover input:not([disabled]):checked ~ .control__indicator,
.control input:checked:focus ~ .control__indicator {
	background: #0e647d;
}

.control input:disabled ~ .control__indicator {
	background: #e6e6e6;
	opacity: 0.6;
	pointer-events: none;
}

.control__indicator:after {
	content: '';
	position: absolute;
	display: none;
}

.control input:checked ~ .control__indicator:after {
	display: block;
}

.control--checkbox .control__indicator:after {
	left: 8px;
	top: 4px;
	width: 3px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.control--checkbox input:disabled ~ .control__indicator:after {
	border-color: #7b7b7b;
}

/* ===== SCROLLBAR PERSONALIZADA ===== */
::-webkit-scrollbar {
	width: 12px;
}

::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: var(--radius-default);
}

::-webkit-scrollbar-thumb {
	background: linear-gradient(135deg, #072d6d 0%, #3276b1 50%, #2563c7 100%);
	border-radius: var(--radius-default);
	border: 2px solid #f1f1f1;
}

::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(135deg, #0a2a5e 0%, #1a4fa0 50%, #2563c7 100%);
}

html {
	scrollbar-width: thin;
	scrollbar-color: #0d367b #f1f1f1;
}

/* ===== IMAGENS ===== */
.img2 img {
	border: 2px solid #4682B4;
	padding: 2px;
	background: #F8F8FF;
	alignment: center;
}

/* ===== FOTO DE PERFIL ===== */
.input-group:has(#preview_img) {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	padding: 15px !important;
	background: rgba(248, 249, 250, 0.5) !important;
	border-radius: var(--radius-large) !important;
	border: 1px solid rgba(46, 123, 204, 0.1) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
	transition: all 0.3s ease !important;
}

.input-group:has(#preview_img):hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
	transform: translateY(-1px) !important;
}

#preview_img {
	width: 160px !important;
	height: 160px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 4px solid #fff !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	transition: all 0.3s ease !important;
}

#preview_img:hover {
	transform: scale(1.05) !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

#photo-preview {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

#photo-preview div {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 10px 15px !important;
	background: rgba(255, 255, 255, 0.8) !important;
	border-radius: var(--radius-default) !important;
	border: 1px solid rgba(220, 53, 69, 0.2) !important;
	transition: all 0.3s ease !important;
}

#photo-preview div:hover {
	background: rgba(220, 53, 69, 0.05) !important;
	border-color: rgba(220, 53, 69, 0.3) !important;
}

/* CSS universal para estilizar qualquer dropdown */

.dropdown-menu {
	background: white;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 8px;
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
	padding: 8px 0;
	width: max-content;
	min-width: 180px;
}

.dropdown-menu li {
	margin: 0;
	padding: 0;
}

.dropdown-menu a {
	display: flex;
	align-items: center;
	padding: 8px 16px;
	text-decoration: none;
	color: #444;
	transition: all 0.2s ease;
	position: relative;
}

.dropdown-menu a:hover {
	background: rgba(59, 130, 246, 0.08);
	color: #444;
	transform: translateX(3px);
}

.dropdown-menu a:hover::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 3px;
	background: rgba(59, 130, 246, 0.4);
	border-radius: 0 2px 2px 0;
}

/* EstilizaÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Â£o universal dos ÃƒÆ’Ã‚Â­cones em cÃƒÆ’Ã‚Â­rculos */
.dropdown-menu a i {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #e5e7eb;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
	transition: all 0.3s ease;
	color: #6b7280;
	font-size: 13px;
}

.dropdown-menu a:hover i {
	background: #e5e7eb;
	color: #6b7280;
	transform: scale(1.05);
}

/* ===== PAINEL MENSALIDADES/CONTRATOS - MELHORADO ===== */

/* Painel principal */
.panel.pricing-big {
	border-radius: 12px !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.3s ease !important;
	overflow: hidden !important;
	margin-bottom: 20px !important;
	background: rgba(255, 255, 255, 0.95) !important;
}

.panel.pricing-big:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

/* Header do painel */
.panel.pricing-big .panel-heading {
	background: linear-gradient(135deg, rgba(46, 123, 204, 0.05) 0%, rgba(46, 123, 204, 0.1) 100%) !important;
	border-bottom: 1px solid rgba(46, 123, 204, 0.1) !important;
	border-radius: 12px 12px 0 0 !important;
	padding: 15px 20px !important;
	margin: 0 !important;
}

.panel.pricing-big .panel-title {
	margin: 0 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #1e5a9c !important;
	text-align: center !important;
}

/* Body do painel */
.panel.pricing-big .panel-body {
	background: rgba(255, 255, 255, 0.95) !important;
	padding: 20px !important;
	border-radius: 0 !important;
}

.panel.pricing-big .panel-body.no-padding {
	padding: 0 !important;
}

/* Container de features */
.panel.pricing-big .price-features {
	padding: 20px !important;
}

/* Lista de itens */
.panel.pricing-big .price-features ul.list-unstyled {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.panel.pricing-big .price-features ul li {
	margin-bottom: 15px !important;
	padding: 12px 15px !important;
	background: rgba(248, 249, 250, 0.8) !important;
	border-radius: 8px !important;
	border-left: 4px solid transparent !important;
	transition: all 0.3s ease !important;
	position: relative !important;
}

/* Cores especÃƒÆ’Ã‚Â­ficas por tipo de alerta */
.panel.pricing-big .price-features ul li:nth-child(1) {
	border-left-color: #2e7bcc !important;
	background: rgba(46,123,204,0.05) !important;
}

.panel.pricing-big .price-features ul li:nth-child(2) {
	border-left-color: #3FB618 !important;
	background: rgba(63, 182, 24, 0.05) !important;
}

.panel.pricing-big .price-features ul li:nth-child(3) {
	border-left-color: #FF7518 !important;
	background: rgba(255, 117, 24, 0.05) !important;
}

/* Hover nos itens */
.panel.pricing-big .price-features ul li:hover {
	background: rgba(46, 123, 204, 0.08) !important;
	transform: translateX(5px) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Links dentro dos itens */
.panel.pricing-big .price-features ul li a {
	text-decoration: none !important;
	display: block !important;
	color: inherit !important;
}

.panel.pricing-big .price-features ul li a:hover {
	color: #2e7bcc !important;
}

/* Texto dos spans */
.panel.pricing-big .price-features ul li span {
	font-size: 13px !important;
	color: #555555 !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	display: block !important;
}

/* ÃƒÆ’Ã‚Âcones */
.panel.pricing-big .price-features ul li i {
	margin-right: 8px !important;
	color: #2e7bcc !important;
	font-size: 14px !important;
}

/* Badges com cores especÃƒÆ’Ã‚Â­ficas */
.panel.pricing-big .badge {
	border-radius: 12px !important;
	padding: 4px 8px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	margin: 0 3px !important;
	display: inline-block !important;
	transition: all 0.3s ease !important;
	white-space: nowrap !important;
	max-width: 60px !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	vertical-align: middle !important;
}

.panel.pricing-big .badge.bg-color-red {
	background: linear-gradient(135deg, #FF0039 0%, #ff335a 100%) !important;
	color: white !important;
	box-shadow: 0 2px 6px rgba(255, 0, 57, 0.3) !important;
}

/* Para nÃƒÆ’Ã‚Âºmeros muito grandes, usar fonte menor */
.panel.pricing-big .badge[data-large-number],
.panel.pricing-big .badge:has-text("2007"),
.panel.pricing-big .badge:contains("2007") {
	font-size: 10px !important;
	padding: 3px 6px !important;
	max-width: 50px !important;
}

/* Alternativa: estilo compacto para badges grandes */
.panel.pricing-big .badge.large-number {
	font-size: 9px !important;
	padding: 2px 5px !important;
	max-width: 45px !important;
	letter-spacing: -0.5px !important;
}

/* Texto dos spans - ajustar quebra de linha */
.panel.pricing-big .price-features ul li span {
	font-size: 13px !important;
	color: #555555 !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	display: block !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	hyphens: auto !important;
}

/* Container do item - flex para melhor alinhamento */
.panel.pricing-big .price-features ul li {
	margin-bottom: 15px !important;
	padding: 12px 15px !important;
	background: rgba(248, 249, 250, 0.8) !important;
	border-radius: 8px !important;
	border-left: 4px solid transparent !important;
	transition: all 0.3s ease !important;
	position: relative !important;
	display: flex !important;
	align-items: flex-start !important;
	min-height: 50px !important;
}

/* Link dentro do item ocupa todo espaÃƒÆ’Ã‚Â§o */
.panel.pricing-big .price-features ul li a {
	text-decoration: none !important;
	display: block !important;
	color: inherit !important;
	width: 100% !important;
	flex: 1 !important;
}

/* Melhor tratamento para nÃƒÆ’Ã‚Âºmeros grandes */
.panel.pricing-big .price-features ul li span:has(.badge) {
	display: flex !important;
	align-items: center !important;
	gap: 5px !important;
	flex-wrap: wrap !important;
}

/* Estilo alternativo para badges muito grandes */
.panel.pricing-big .badge.compact {
	background: #FF0039 !important;
	color: white !important;
	font-size: 10px !important;
	padding: 2px 4px !important;
	border-radius: 4px !important;
	font-weight: bold !important;
	max-width: none !important;
	white-space: normal !important;
	line-height: 1.2 !important;
}

.panel.pricing-big .badge.bounceIn {
	animation: badgePulse 2s infinite !important;
}

/* AnimaÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Â£o para badges importantes */
@keyframes badgePulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.05); box-shadow: 0 3px 8px rgba(255, 0, 57, 0.4); }
	100% { transform: scale(1); }
}

/* Footer do painel */
.panel.pricing-big .panel-footer {
	background: linear-gradient(135deg, #f8f9fa 0%, rgba(46, 123, 204, 0.02) 100%) !important;
	border-top: 1px solid rgba(46, 123, 204, 0.1) !important;
	border-radius: 0 0 12px 12px !important;
	padding: 15px 20px !important;
	min-height: 20px !important;
}

/* Responsividade */
@media (max-width: 768px) {
	.panel.pricing-big .price-features {
		padding: 15px !important;
	}

	.panel.pricing-big .price-features ul li {
		padding: 10px 12px !important;
		margin-bottom: 10px !important;
	}

	.panel.pricing-big .price-features ul li span {
		font-size: 12px !important;
	}
}

/* Estados especÃƒÆ’Ã‚Â­ficos para diferentes tipos de mensagem */
.panel.pricing-big .price-features ul li.alert-danger {
	border-left-color: #FF0039 !important;
	background: rgba(255, 0, 57, 0.05) !important;
}

.panel.pricing-big .price-features ul li.alert-success {
	border-left-color: #3FB618 !important;
	background: rgba(63, 182, 24, 0.05) !important;
}

.panel.pricing-big .price-features ul li.alert-warning {
	border-left-color: #FFA500 !important;
	background: rgba(255, 165, 0, 0.05) !important;
}

/* Melhorar o alinhamento do texto */
.panel.pricing-big .price-features ul.text-left {
	text-align: left !important;
}

.panel.pricing-big .text-align-center {
	text-align: center !important;
}

/* ===== MELHORIA ESPECÃƒÆ’Ã‚ÂFICA PARA .THE-PRICE ===== */

/* Container the-price */
.the-price {
	background: linear-gradient(135deg, rgba(248, 249, 250, 0.8) 0%, rgba(46, 123, 204, 0.03) 100%) !important;
	padding: 20px 15px !important;
	margin: 0 !important;
	border-radius: 0 0 8px 8px !important;
}

/* ParÃƒÆ’Ã‚Â¡grafo dentro de the-price */
.the-price p {
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

/* Remover quebras de linha */
.the-price br {
	display: none !important;
}

/* Links dentro de the-price */
.the-price a {
	text-decoration: none !important;
	display: flex !important;
	align-items: center !important;
	padding: 15px 18px !important;
	margin: 0 !important;
	border-radius: 8px !important;
	transition: all 0.3s ease !important;
	border-left: 4px solid transparent !important;
	background: rgba(255, 255, 255, 0.7) !important;
	position: relative !important;
	min-height: 50px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

/* CORES ESPECÃƒÆ’Ã‚ÂFICAS BASEADAS NO TEXTO DO LINK */

/* PRIMEIRO LINK - Recebimentos para hoje (verde) */
.the-price a:first-child,
.the-price a:nth-child(1) {
	border-left-color: #3FB618 !important;
	background: rgba(63, 182, 24, 0.08) !important;
}

.the-price a:first-child:hover,
.the-price a:nth-child(1):hover {
	background: rgba(63, 182, 24, 0.15) !important;
	transform: translateX(5px) !important;
	box-shadow: 0 3px 12px rgba(63, 182, 24, 0.2) !important;
}

/* SEGUNDO LINK - Pagamentos para hoje (laranja) */
.the-price a:nth-child(2),
.the-price a:last-child {
	border-left-color: #FF7518 !important;
	background: rgba(255, 117, 24, 0.08) !important;
}

.the-price a:nth-child(2):hover,
.the-price a:last-child:hover {
	background: rgba(255, 117, 24, 0.15) !important;
	transform: translateX(5px) !important;
	box-shadow: 0 3px 12px rgba(255, 117, 24, 0.2) !important;
}

/* Detectar links baseados em palavras-chave especÃƒÆ’Ã‚Â­ficas */
/* Recebimentos hoje - verde */
.the-price a:contains("recebimentos para hoje"):first-child,
.the-price a[href*="recebimentos"]:contains("hoje"):first-child {
	border-left-color: #3FB618 !important;
	background: rgba(63, 182, 24, 0.08) !important;
}

/* Pagamentos hoje - laranja */
.the-price a:contains("pagamentos para hoje"):last-child,
.the-price a[href*="pagamentos"]:contains("hoje"):last-child {
	border-left-color: #FF7518 !important;
	background: rgba(255, 117, 24, 0.08) !important;
}

/* Recebimentos atrasados - amarelo */
.the-price a:contains("recebimentos atrasados") {
	border-left-color: #FFC107 !important;
	background: rgba(255, 193, 7, 0.08) !important;
}

.the-price a:contains("recebimentos atrasados"):hover {
	background: rgba(255, 193, 7, 0.15) !important;
	transform: translateX(5px) !important;
	box-shadow: 0 3px 12px rgba(255, 193, 7, 0.2) !important;
}

/* Pagamentos atrasados - vermelho */
.the-price a:contains("pagamentos atrasados") {
	border-left-color: #FF0039 !important;
	background: rgba(255, 0, 57, 0.08) !important;
}

.the-price a:contains("pagamentos atrasados"):hover {
	background: rgba(255, 0, 57, 0.15) !important;
	transform: translateX(5px) !important;
	box-shadow: 0 3px 12px rgba(255, 0, 57, 0.2) !important;
}

/* Spans dentro dos links */
.the-price a span {
	font-size: 14px !important;
	font-weight: 400 !important; /* Removido o negrito (era 600) */
	line-height: 1.4 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex: 1 !important;
	color: inherit !important;
}

/* Cores especÃƒÆ’Ã‚Â­ficas dos textos baseadas no tipo */
.the-price a:first-child span,
.the-price a:nth-child(1) span {
	color: #2f8c12 !important;
}

.the-price a:nth-child(2) span,
.the-price a:last-child span {
	color: #e67e22 !important;
}

.the-price a:contains("atrasados") span {
	color: #cc002e !important;
}

/* ÃƒÆ’Ã‚Âcones nos links - APENAS no lado direito */
/* ÃƒÆ’Ã‚Âcone para recebimentos (verde) */
.the-price a:first-child::after,
.the-price a:contains("recebimentos")::after {
	content: "\f155" !important; /* fa-dollar */
	font-family: "FontAwesome" !important;
	color: #3FB618 !important;
	font-size: 18px !important;
	margin-left: auto !important;
	opacity: 0.7 !important;
	transition: all 0.3s ease !important;
}

.the-price a:first-child:hover::after,
.the-price a:contains("recebimentos"):hover::after {
	opacity: 1 !important;
	transform: scale(1.1) !important;
}

/* ÃƒÆ’Ã‚Âcone para pagamentos (laranja/vermelho) */
.the-price a:nth-child(2)::after,
.the-price a:last-child::after,
.the-price a:contains("pagamentos")::after {
	content: "\f09d" !important; /* fa-credit-card */
	font-family: "FontAwesome" !important;
	color: #FF7518 !important;
	font-size: 18px !important;
	margin-left: auto !important;
	opacity: 0.7 !important;
	transition: all 0.3s ease !important;
}

.the-price a:contains("pagamentos atrasados")::after {
	color: #FF0039 !important;
}

.the-price a:nth-child(2):hover::after,
.the-price a:last-child:hover::after,
.the-price a:contains("pagamentos"):hover::after {
	opacity: 1 !important;
	transform: scale(1.1) !important;
}

/* Efeito para valores zerados */
.the-price a span:contains("R$ 0,00") {
	opacity: 0.8 !important;
	font-style: italic !important;
}

/* REMOVER emojis/ÃƒÆ’Ã‚Â­cones do lado esquerdo */
.the-price a span::before {
	display: none !important;
}

/* Responsividade para the-price */
@media (max-width: 768px) {
	.the-price {
		padding: 15px 10px !important;
	}

	.the-price a {
		padding: 12px 15px !important;
		min-height: 45px !important;
	}

	.the-price a span {
		font-size: 13px !important;
	}

	.the-price a::after {
		font-size: 16px !important;
	}
}

/* Estilo alternativo sem emojis (caso prefira) */
.the-price.no-emoji a span::before {
	display: none !important;
}

/* Gradiente suave quando hÃƒÆ’Ã‚Â¡ valores importantes */
.the-price:has(a span:not(:contains("R$ 0,00"))) {
	background: linear-gradient(135deg, rgba(63, 182, 24, 0.03) 0%, rgba(46, 123, 204, 0.05) 50%, rgba(255, 0, 57, 0.03) 100%) !important;
}

/* ===== PAINÃƒÆ’Ã¢â‚¬Â°IS DE DASHBOARD - CANTOS ARREDONDADOS ===== */
.panel {
	border-radius: 12px !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.3s ease !important;
	overflow: hidden !important;
	margin-bottom: 20px !important;
}

.panel:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

/* Panel heading com gradiente sutil */
.panel-heading {
	background: linear-gradient(135deg, rgba(46, 123, 204, 0.05) 0%, rgba(46, 123, 204, 0.1) 100%) !important;
	border-bottom: 1px solid rgba(46, 123, 204, 0.1) !important;
	border-radius: 12px 12px 0 0 !important;
	padding: 15px 20px !important;
	margin: 0 !important;
}

/* TÃƒÆ’Ã‚Â­tulo do painel */
.panel-title {
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.panel-title a {
	color: #1e5a9c !important;
	text-decoration: none !important;
	display: block !important;
	transition: color 0.3s ease !important;
}

.panel-title a:hover {
	color: #2e7bcc !important;
}

.panel-title span {
	font-size: 14px !important;
	color: #1e5a9c !important;
	font-weight: bold !important;
}

.panel-title i {
	color: #2e7bcc !important;
	margin-right: 8px !important;
}



/* ===== BOTÃƒÆ’Ã†â€™O TOGGLE SELECT - FINO E CINZA DEGRADÃƒÆ’Ã…Â  ===== */

/* Estilo especÃƒÆ’Ã‚Â­fico apenas para botÃƒÆ’Ã‚Â£o chosen-toggle */
button.chosen-toggle {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
	border: 1px solid #adb5bd !important;
	border-radius: 6px !important;
	color: #495057 !important;
	padding: 4px 16px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
	outline: none !important;
	line-height: 1.4 !important;
	height: auto !important;
	min-height: 28px !important;
}

/* Hover */
button.chosen-toggle:hover {
	background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%) !important;
	border-color: #868e96 !important;
	color: #212529 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12) !important;
}

/* Clicado */
button.chosen-toggle:active {
	background: linear-gradient(135deg, #dee2e6 0%, #ced4da 100%) !important;
	border-color: #6c757d !important;
	transform: translateY(0) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important;
}

select[id*="bootstrap-duallistbox"] {
	height: 300px !important; /* Altura maior para dual listbox */
	min-height: 300px !important;
}
/* ===== CSS DUAL LISTBOX - OTIMIZADO ===== */

/* ===== CORES E APARÃƒÆ’Ã…Â NCIA ===== */

/* Sobrescrever azul forte por cinza suave */
select[id*="bootstrap-duallistbox"].form-control option:checked,
select[id*="bootstrap-duallistbox"].form-control option:hover,
.bootstrap-duallistbox-container select.form-control option:checked,
.bootstrap-duallistbox-container select.form-control option:hover,
.bootstrap-duallistbox-container select.form-control option:selected {
	background-color: rgba(229, 231, 235, 0.8) !important; /* Cinza suave */
	color: #374151 !important; /* Texto escuro */
}

/* OpÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Âµes normais do dual listbox */
.bootstrap-duallistbox-container select.form-control option {
	background-color: transparent !important;
	color: #374151 !important;
}

/* ===== REMOVER SETINHA E CUSTOMIZAÃƒÆ’Ã¢â‚¬Â¡ÃƒÆ’Ã¢â‚¬Â¢ES ===== */

/* Remover aparÃƒÆ’Ã‚Âªncia customizada e setinhas */
.bootstrap-duallistbox-container select.form-control,
select[id*="bootstrap-duallistbox"].form-control,
select[name*="id_habilidadesselecionadas"].form-control {
	/* Remover aparÃƒÆ’Ã‚Âªncia customizada */
	-webkit-appearance: listbox !important;
	-moz-appearance: listbox !important;
	appearance: listbox !important;

	/* Remover background-image da setinha */
	background-image: none !important;
	background: rgba(249, 250, 251, 1) !important;

	/* Resetar padding */
	padding-right: 8px !important;

	/* Remover redimensionamento */
	resize: none !important;
}

/* Remover pseudo-elementos que possam criar setinhas */
.bootstrap-duallistbox-container select::after,
.bootstrap-duallistbox-container select::before,
select[id*="bootstrap-duallistbox"]::after,
select[id*="bootstrap-duallistbox"]::before {
	display: none !important;
	content: none !important;
}

/* ===== SCROLL OTIMIZADO ===== */

/* Scroll apenas vertical */
select[id*="bootstrap-duallistbox"],
.bootstrap-duallistbox-container select {
	overflow-x: hidden !important; /* Remove scroll horizontal */
	overflow-y: auto !important;   /* MantÃƒÆ’Ã‚Â©m scroll vertical */
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
	scrollbar-width: thin !important; /* Firefox */
}

/* OpÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Âµes sem quebra de linha */
select[id*="bootstrap-duallistbox"] option {
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
}

/* ===== SCROLLBAR CUSTOMIZADA ===== */

/* Scrollbar vertical apenas */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar {
	width: 8px !important;
	height: 0px !important; /* Remove scroll horizontal */
}

/* Esconder elementos de scroll indesejados */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-horizontal,
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-corner,
select[id*="bootstrap-duallistbox"]::-webkit-resizer {
	display: none !important;
}

/* Track da scrollbar */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-track {
	background: rgba(243, 244, 246, 0.5) !important;
	border-radius: 4px !important;
}

/* Thumb da scrollbar */
select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-thumb {
	background: rgba(156, 163, 175, 0.6) !important;
	border-radius: 4px !important;
}

select[id*="bootstrap-duallistbox"]::-webkit-scrollbar-thumb:hover {
	background: rgba(156, 163, 175, 0.9) !important;
}


/* CONTAINERS DE CHECKBOX EM LINHA */
.checkbox,
.checkbox-inline,
label.checkbox,
label.checkbox-inline {
	display: inline-block !important;
	margin-right: 15px !important;
	margin-bottom: 0 !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}


/* Oculta o botão de tutorial do YouTube */
.youtube-help-icon {
    display: none !important;
}

/* Alternativas caso a classe mude */
div[class*="youtube-help"] {
    display: none !important;
}

/* Por seletor de atributo caso o elemento tenha outras classes */
[class*="youtube-help-icon"] {
    display: none !important;
}

/* Oculta qualquer link que contenha a função openYouTubePopup */
a[onclick*="openYouTubePopup"] {
    display: none !important;
}

    /* Mudar cor do loading da tabela principal */
    .dataTables_empty .fa-spinner {
        color: #007bff !important; /* Azul */
    }

    .dataTables_empty span {
        color: #333 !important; /* Cor do texto */
        margin-left: 10px;
        font-size: 16px;
    }


/* Modal arredondado */
/* Modal arredondado com BORDA NEON AZUL - MAIS SUTIL */
.swal2-modal {
	border-radius: 20px !important;
	box-shadow:
			0 15px 50px rgba(0,0,0,0.3),
			0 0 15px rgba(0, 123, 255, 0.3),
			0 0 25px rgba(0, 123, 255, 0.2) !important;
	border: 1px solid rgba(0, 123, 255, 0.6) !important;
}

/* Botões MENOS arredondados */
.swal2-confirm,
.swal2-cancel,
.swal2-styled,
button[class*="swal2"] {
	border-radius: 12px !important;
	padding: 12px 25px !important;
	font-weight: bold !important;
	border: none !important;
	margin: 0 8px !important;
	transition: all 0.3s ease !important;
	min-width: 80px !important;
	position: relative !important;
	z-index: 9999 !important;
}

/* Botão Sim (confirmar) */
.swal2-confirm {
	background: #dc3545 !important;
	color: white !important;
}

.swal2-confirm:hover {
	background: #c82333 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3) !important;
}

/* Botão Não (cancelar) */
.swal2-cancel {
	background: #14539a !important;
	color: white !important;
}

.swal2-cancel:hover {
	background: #14539a !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3) !important;
}

/* TÍTULO mais encorpado e azul SiaeWeb */
.swal2-title {
	font-weight: 600 !important;
	font-size: 24px !important;
	color: #14539a !important;
}

/* TEXTO/MENSAGEM com fonte mais fina */
.swal2-content {
	font-weight: 300 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

/* ÍCONES ANIMADOS */
.swal2-icon {
	animation: gentleFloat 4s ease-in-out infinite !important;
}

@keyframes gentleFloat {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-3px);
	}
}

/* Para inputs também */
.swal2-input {
	border-radius: 8px !important;
	border: 2px solid #e9ecef !important;
	padding: 10px 15px !important;
	transition: all 0.3s ease !important;
}

.swal2-input:focus {
	border-color: #14539a !important;
	box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25) !important;
}

/* Garante que toda a área de botões seja clicável */
.swal2-actions {
	z-index: 9999 !important;
	position: relative !important;
}


.sweet-alert {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
	max-width: 90vw !important;
	max-height: 90vh !important;
}

.sweet-overlay {
	position: fixed !important;
	left: 0 !important;
	top: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

