body,html{
	margin: 0px;
	padding: 0px;
	width: 100%;
	height: 100%;
	font-family: 'Poppins', sans-serif;
}
.container{
	width: 100%;
	height: 100%;
	margin: 0px;
	max-width: 100%;
	background-image: URL('/assets/images/bg-01.png');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

#loginTitle{
	display: none;
	margin-bottom: 30px;
}

.loginCard{
	margin: 0px auto;
	max-width: 380px;
	width: 100%;
	background-color: transparent;
	border: none;
	box-shadow: 0 10px 35px rgba(100, 52, 148, 0.2), 0 2px 10px rgba(0, 0, 0, 0.1);
	border-radius: 12px;
	overflow: hidden;
}

.card-header{
	background: linear-gradient(135deg, #f4ebff 0%, #fff4ec 100%);
	color: #fff;
	padding: 35px 20px;
	border-bottom: none;
}

.loginCard .card-header:after{
	content: '';
	width: 100%;
	height: auto;
	aspect-ratio: 9 / 2;
	object-fit: cover;
	position: absolute;
	left: 0px;
	bottom:-11px;
	background-image: URL('/assets/images/login_wave.svg');
	background-size: auto 100%;
	background-repeat: no-repeat;
}

.card-body, .card-footer{
	z-index: 2;
}

.card-footer{
	background-color: #efefef;
	border-radius: 0 0 7px 7px;
}

.card-footer a{
	color: #643494;
	font-size: 0.9rem;
}

.loginCard:before{
	content: '';
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 0;
	border-radius: 12px;
}

label{
	font-size: 0.82rem;
	color: #555;
	font-weight: 500 !important;
}

input.form-control{
	border: none;
	border-bottom: 1.5px solid #ddd;
	border-radius: 0px;
	padding-left: 5px;
	transition: all 0.3s ease;
}

input.form-control:focus{
	border-bottom: 2px solid #643494;
	box-shadow: none;
}

.btn-login-purple {
	background: linear-gradient(135deg, #643494 0%, #7b42b4 100%);
	color: #ffffff !important;
	font-weight: 600;
	border: none;
	border-radius: 8px;
	padding: 12px;
	font-size: 0.95rem;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 15px rgba(100, 52, 148, 0.3);
	transition: all 0.3s ease;
}

.btn-login-purple:hover {
	background: linear-gradient(135deg, #e8691a 0%, #ee7b34 100%);
	box-shadow: 0 4px 15px rgba(232, 105, 26, 0.4);
	color: #ffffff !important;
	transform: translateY(-1px);
}

.forgot-link {
	color: #e8691a !important;
	font-size: 0.85rem;
	font-weight: 500;
	transition: color 0.2s ease;
}

.forgot-link:hover {
	color: #643494 !important;
	text-decoration: underline;
}

@media only screen and (max-width: 768px) {

	.container{
		padding: 0px;
		align-items: flex-start;
		overflow-y: auto;
	}

	#loginTitle{
		display: block;
		margin-bottom: 20px;
	}

	.loginCard{
		margin: 0px;
		width: 100vw;
		min-height: 100vh;
		max-width: 100%;
		top: 0px;
		border-radius: 0px;
		display: flex;
		flex-direction: column;
		box-shadow: none;
	}

	.loginCard .card-header{
		padding: 25px 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		flex-shrink: 0;
	}

	.loginCard .card-header img {
		max-width: 180px !important;
		width: 55% !important;
	}

	.loginCard .card-body{
		padding: 1.5rem 1.8rem 2.5rem 1.8rem;
		flex-grow: 1;
	}

	.loginCard .card-body form label{
		display: block;
		font-size: 0.85rem;
		margin-bottom: 4px;
	}

	.loginCard .card-body form .remembermeInput label{
		display: block;
		padding: 5px;
	}

	.loginCard .card-body form input{
		border: 1px solid #dedede;
		border-radius: 8px;
		padding: 10px 15px !important;
		height: 44px;
		font-size: 16px !important; /* Prevents auto-zoom on iOS Safari */
	}

	.loginCard form .btn-login-purple,
	.loginCard #btnSubmitLogin,
	.loginCard #btnSubmitReset{
		width: 100%;
		padding: 12px;
		margin: 10px auto 0 auto;
		border-radius: 8px;
		font-size: 1rem;
		height: 46px;
	}
}

.password-field-group {
	position: relative;
}

.password-field-group input {
	padding-right: 42px !important;
}

.toggle-password-btn {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: #8c8296;
	cursor: pointer;
	padding: 6px;
	z-index: 5;
	font-size: 1.05rem;
	line-height: 1;
	outline: none !important;
	transition: color 0.2s ease;
}

.toggle-password-btn:hover,
.toggle-password-btn:focus {
	color: #643494;
}

.reset-title {
	margin-bottom: 20px;
}