/* Estilos existentes mantidos + correções para o dropdown de grupos + ícones SVG */

body {
	margin: 0 !important;
	padding: 0 !important;
	background-color: #ffffff !important;
	position: relative !important;
	min-height: 100vh !important;
	overflow-x: hidden !important;
}

	body .login_main {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		/*min-height: 100vh !important;*/
		padding: 0 2% !important;
		margin-left: auto !important;
		box-sizing: border-box !important;
		position: relative !important;
		float: right !important;
		width: 50% !important;
	}

#lnkRecuperarSenha {
	color: #337ab7 !important;
	text-decoration: none !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	font-size: 13px !important;
	display: block !important;
	text-align: right !important;
	width: 291px !important;
	margin: 0 auto 15px auto !important;
}

/* --- Logo --- */
.login_logo {
	display: flex !important;
	justify-content: flex-end !important;
	align-items: flex-end !important;
	margin-bottom: 70px !important;
	padding-bottom: 45px !important;
	height: auto !important;
	position: relative !important;
	z-index: 10 !important;
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	text-align: right !important;
}

	.login_logo img {
		max-width: 80% !important;
		width: 220px !important;
		height: auto !important;
		margin-bottom: 10px !important;
		margin-left: 10px !important;
		margin-top: 12px !important;
		display: block !important;
		border: none !important;
	}

.logo_cliente {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
	justify-items: center !important;
}

.login {
	text-align: center !important;
	width: 500px !important;
	position: relative !important;
	margin-top: 0 !important;
}

.login_logo_inner {
	display: inline-block;
	height: auto;
	vertical-align: middle;
}

.login_form_inner {
	position: relative;
}

.login_form_bx {
	margin: 0 0 20px !important;
	position: relative !important;
	width: 291px !important;
	display: block !important;
}

.login_form {
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	position: relative !important;
	padding-top: 25px !important;
}

/* Estilos padronizados para inputs E selects */
.login_form_bx input,
.login_form_sel select {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid #ccc !important;
	outline: none !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	font-size: 15px !important;
	height: 43px !important;
	line-height: 43px !important;
	padding: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: border-color 0.3s ease !important;
	color: #000 !important;
}

/* Remove os ícones dos campos */
.login_form .icon-user:before,
.login_form .icon-lock:before,
.login_form .icon-users:before,
.login_form .icon-office:before {
	display: none !important;
}

/* Ícone de usuário */
/*.login_form_bx.icon-user:before {
	content: '' !important;
	position: absolute !important;
	left: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 20px !important;
	height: 20px !important;
	background-image: url('../Images/users-light.svg') !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	z-index: 1 !important;
	display: block !important;
}*/

/* Ícone de cadeado para senha */
/*.login_form_bx.icon-lock:before {*/
/*content: '' !important;
	position: absolute !important;
	left: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 30px !important;
	height: 20px !important;
	z-index: 1 !important;
	display: block !important;*/
/*color: #ccc !important;
	font-size: 16px !important;
	line-height: 20px !important;
	text-align: center !important;
}*/

/* IMPLEMENTAÇÃO DO ÍCONE USERS-LIGHT */
.login_form_sel.icon-users:before {
	position: absolute !important;
	left: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 20px !important;
	height: 20px !important;
	background-image: url('../Images/users-light.svg') !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	z-index: 1 !important;
	display: block !important;
	filter: brightness(0) saturate(100%) invert(60%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(90%) !important;
	pointer-events: none !important;
}

/* Ajuste do padding para campos com ícone */
.login_form_sel.icon-users select {
	padding-left: 15px !important;
}

.login_form input.key {
	background: transparent !important;
}

/* CORREÇÃO PRINCIPAL: Padronizar o dropdown de grupos */
.login_form_sel {
	margin: 0 0 20px !important;
	position: relative !important;
	width: 291px !important;
	display: block !important;
	/* Removendo as bordas e estilos antigos */
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important; /* Mudado de hidden para visible */
}

/* Aplicar o mesmo estilo da borda inferior */
.login_form_sel {
	border-bottom: 1px solid #ccc !important;
	position: relative !important;
}

	.login_form_sel select {
		background: transparent !important;
		border: 0 none !important;
		color: #000 !important;
		height: 43px !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		font-family: 'Poppins', sans-serif !important;
		font-size: 15px !important;
		outline: none !important;
		appearance: none !important;
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		box-sizing: border-box !important;
		cursor: pointer !important;
		text-align: center !important;
		position: relative !important;
	}

	.login_form_sel::before {
		content: '' !important;
		position: absolute !important;
		right: 10px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: 15px !important;
		height: 12px !important;
		background-size: contain !important;
		background-repeat: no-repeat !important;
		pointer-events: none !important;
	}

	/* Adicionar seta personalizada para o select */
	.login_form_sel::after {
		content: '' !important;
		position: absolute !important;
		right: 10px !important;
		top: 50% !important;
		transform: translateY(-50% -50%) !important;
		width: 20px !important;
		height: 17px !important;
		background-image: url('../Images/caret-up-solid.svg') !important;
		background-size: contain !important;
		background-repeat: no-repeat !important;
		pointer-events: none !important;
		transition: transform 0.3s ease !important;
		filter: brightness(0) saturate(100%) invert(60%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(90%) !important;
	}

	/* Hover effects para consistência */
	.login_form_bx input:focus,
	.login_form_sel select:focus {
		border-bottom-color: #6c6c6c !important;
	}

	.login_form_sel:focus-within::after,
	.login_form_sel:active::after {
		transform: translateY(-50%) rotate(180deg) !important;
	}

.login_form_bx.eye {
	position: relative !important;
}

.eye_icon {
	position: absolute !important;
	top: 50% !important;
	right: 10px !important;
	transform: translateY(-50%) !important;
	width: 20px !important;
	height: 20px !important;
	background-image: url('../Images/eye-slash-light.svg');
	background-size: contain !important;
	background-repeat: no-repeat !important;
	cursor: pointer !important;
	z-index: 10 !important;
	filter: brightness(0) saturate(100%) invert(60%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(90%) !important;
}

/*.login_form_bx.eye::after {
	content: '' !important;
	position: absolute !important;
	right: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 15px !important;
	height: 12px !important;
	background-image: url('../Images/eye-slash-light.svg') !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	pointer-events: none !important;
	filter: brightness(0) saturate(100%) invert(60%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(90%) !important;
}*/

/* Para Chrome, Edge (Blink) */
input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
	visibility: hidden;
	display: none !important;
	pointer-events: none;
	position: absolute;
	right: 0;
}

/* Para Edge antigo e IE */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
	display: none;
}

/* Remove estilo nativo */
input[type="password"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.login_check {
	margin: 0 auto 15px auto !important;
	text-align: center !important;
	width: 160px !important; /* Mesma largura dos outros campos */
	display: flex !important;
	justify-content: flex-start !important; /* Alinhamento à esquerda */
	align-items: center !important;
	gap: 4px !important; /* Espaçamento reduzido entre checkbox e texto */
}

	.login_check input[type="checkbox"] {
		margin: 0 !important;
		width: 14px !important; /* Tamanho ainda menor */
		height: 14px !important; /* Tamanho ainda menor */
		vertical-align: middle !important;
		flex-shrink: 0 !important; /* Impede que o checkbox encolha */
		cursor: pointer !important;
		/* Remove estilos nativos */
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		appearance: none !important;
		/* Estilo personalizado */
		border: 1px solid #ccc !important;
		border-radius: 2px !important;
		background-color: transparent !important;
		position: relative !important;
	}

		/* Estado checked do checkbox */
		.login_check input[type="checkbox"]:checked {
			background-color: #005187 !important;
			border-color: #005187 !important;
		}

			/* Ícone de check quando marcado */
			.login_check input[type="checkbox"]:checked::after {
				content: '' !important;
				position: absolute !important;
				top: 50% !important;
				left: 50% !important;
				transform: translate(-50%, -50%) !important;
				color: white !important;
				font-size: 10px !important; /* Fonte menor para o check */
				font-weight: bold !important;
			}

	.login_check label {
		color: #6c6c6c !important;
		font-size: 13px !important;
		font-family: 'Poppins', sans-serif !important;
		vertical-align: middle !important;
		cursor: pointer !important;
		margin: 0 !important;
		flex: none !important; /* Permite que o label ocupe o espaço restante */
		text-align: left !important; /* Alinhamento do texto à esquerda */
		line-height: 1 !important; /* Remove espaçamento extra da linha */
		white-space: nowrap !important;
		justify-content: flex-start !important;
		align-items: center !important;
		margin-bottom: 0 !important;
		gap: 4px !important;
	}

	.login_check > div {
		width: 100% !important;
		display: flex !important;
		justify-content: flex-start !important; /* Alinhamento à esquerda */
		align-items: center !important;
		margin-bottom: 0 !important; /* Remove margem extra */
		gap: 4px !important; /* Espaçamento consistente e reduzido */
	}


	.login_check.icon-checkbox {
		color: #6c6c6c !important;
		top: 50% !important;
		right: 10px !important;
		transform: translateY(-50%) !important;
		padding-left: 20px !important;
		align-items: center !important;
		/*		background-image: url('../images/checkbox.svg') !important;
*/ background-size: contain !important;
		background-repeat: no-repeat !important;
		cursor: pointer !important;
		z-index: 10 !important;
		filter: brightness(0) saturate(100%) invert(60%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(90%) !important;
	}

.login a {
	color: #337ab7 !important;
	text-decoration: none !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 13px !important;
	display: block !important;
	text-align: center !important;
	margin: 0 0 15px !important;
}

.login_bt {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
}

	.login_bt input, .login_bt input:hover {
		background: #005187 !important;
		border: 1px solid #002a52 !important;
		border-radius: 5px !important;
		color: #fff !important;
		cursor: pointer !important;
		font-family: 'Poppins', sans-serif !important;
		font-size: 20px !important;
		font-weight: 600 !important;
		line-height: 45px !important;
		margin: 10px 0 30px !important;
		padding: 0 !important;
		width: 290px !important;
		height: 46px !important;
	}

/* Estilos para recuperação inline */
.recovery-section {
	display: none;
	text-align: center;
	padding-top: 35px !important
}

	.recovery-section.active {
		display: block;
	}

.recovery-description {
	color: #6c6c6c !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

.login-section {
	display: block;
}

	.login-section.hidden {
		display: none;
	}

.recovery-buttons {
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-top: 10px;
}

.btn-cancel, .btn-send {
	font-family: 'Poppins', sans-serif !important;
	font-size: 14px !important;
	font-weight: bold !important;
	padding: 2px 10px !important;
	border-radius: 5px !important;
	cursor: pointer !important;
	border: 1px solid #ccc !important;
	width: 140px !important;
	height: 45px !important;
}

.btn-cancel {
	background: #fff !important;
	color: #6c6c6c !important;
}

.btn-send {
	background: #005187 !important;
	color: #fff !important;
	border-color: #002a52 !important;
}

.wave-bg {
	position: fixed !important;
	bottom: 0 !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 50% !important;
	min-width: 100px !important;
}

.footer {
	display: none;
}


@media (max-width: 768px) {
	body .login_main {
		width: 100% !important;
		float: none !important;
		padding: 1rem !important;
	}



	.login {
		width: 100% !important;
		max-width: 400px !important;
		padding: 20px !important;
	}

	.login_form_bx,
	.login_form_sel,
	.login_bt input {
		width: 100% !important;
		max-width: none !important; /* Remove limite de 291px */
	}

		.login_form_sel select {
			font-size: 17px !important;
			height: 45px !important;
			line-height: 48px !important;
		}

	.login_form_sel {
		width: 100% !important;
		max-width: none !important;
	}

	#lnkRecuperarSenha {
		width: 100% !important;
		text-align: center !important;
	}

	.login_check {
		width: 100% !important;
		justify-content: center !important;
	}



	.wave-bg {
		display: none !important;
	}

	.login_logo img {
		width: 100% !important;
		max-width: 250px !important;
	}
}
