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;
}

.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;
}

.login_form .icon-user:before,
.login_form .icon-lock:before,
.login_form .icon-users:before,
.login_form .icon-office:before {
	display: none !important;
}


.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;
}

.login_form_sel.icon-users select {
	padding-left: 15px !important;
}

.login_form input.key {
	background: transparent !important;
}

.login_form_sel {
	margin: 0 0 20px !important;
	position: relative !important;
	width: 291px !important;
	display: block !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}


.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;
}


.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;
}

.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;
}


/* 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; 
	display: flex !important;
	justify-content: flex-start !important; 
	align-items: center !important;
	gap: 4px !important; 
}

.login_check input[type="checkbox"] {
	margin: 0 !important;
	width: 14px !important; 
	height: 14px !important; 
	vertical-align: middle !important;
	flex-shrink: 0 !important; 
	cursor: pointer !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	border: 1px solid #ccc !important;
	border-radius: 2px !important;
	background-color: transparent !important;
	position: relative !important;
}

.login_check input[type="checkbox"]:checked {
	background-color: #005187 !important;
	border-color: #005187 !important;
}

.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; 
	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; 
	text-align: left !important; 
	line-height: 1 !important; 
	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; 
	align-items: center !important;
	margin-bottom: 0 !important; 
	gap: 4px !important; 
}


.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-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;
}

.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;
	left: 0 !important;
	top: 0 !important;
	width: 50% !important;
	height: 100% !important; 
	background-image: url('../images/group.png') !important;
	background-repeat: no-repeat !important; 
	background-position: right center !important; 
	background-size: cover !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;
	}
}
