﻿
:root {
	--primary-purple: #3431C6;
	--primary-blue: #3137c3;
	--vneid-red: #e0231e;
	--bg-gray: #f4f6f9;
	--card-bg: #ffffff;
}

body {
	font-family: 'Google Sans', sans-serif;
}

.rbt-elements-area {
	min-height: calc(100vh - 80px);
	display: flex;
	align-items: center;
	padding: 80px 120px;
}
	.rbt-elements-area .container {
		max-width: 100%;
		margin: 0;
		padding: 0;
		background-color: #F0F0F1;
	}


.login-wrapper {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #dee2e6;
}

/* Also make sure the inner image/div respects the parent's clipping */
.login-wrapper .login-bg-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.left-panel {
	background: #F0F0F1;
	padding: 40px 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.left-inner { width:100%; }

#form-signIn {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

#form-signIn > * {
	margin-bottom: 0;
}

.vneid-section {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin-top: 12px;
	margin-bottom: 12px;
}

.vneid-section > hr {
	margin: 0;
	height: 0;
	border: 0;
	border-top: 1px dashed #C1C2C3;
	opacity: 1;
}

.divider-text {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 32px 0 20px;
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	color: #070A0E;
}

.divider-text::before {
	content: "";
	flex: 1;
	height: 0;
	border-top: 1px dashed #C1C2C3;
}

.divider-text::after {
	content: "";
	flex: 1;
	height: 0;
	border-top: 1px dashed #C1C2C3;
}

.divider-text span { padding: 0 12px; font-weight:700; font-size:20px; }

.input-autofill { width:100%; padding:12px 14px; border-radius:8px; border:1px solid #e6e9ef; background:#fff; font-size:14px; box-sizing:border-box; }

.form-group, .mb-3, .mb-2 { margin-bottom: 12px; }

.rbt-lost-password { font-size:14px }

#submit-signin { width:100%; background: var(--primary-purple); color:#fff; border:none; height:48px; border-radius:8px; font-weight:700; }

#submit-signin:hover { filter:brightness(1.03); }

.text-blue-custom {
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: #3431C6;

}
.btn-text {
	color: #FFFFFF;
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;

}
.text-center {
	color: #070A0E ;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
}
.login-bg-image {
	background-size: cover;
	background-position: center;
	min-height: 100%;
	height: 100%;
}

.right-panel { display:block; }

.btn-vneid { background: var(--vneid-red); color:#fff; border-radius:8px; padding:14px; border:none; display:flex; align-items:center; justify-content:space-between; gap:12px; }

.small { font-size:14px }

@media (max-width: 991.98px) {
	.right-panel { display:none }
	.left-panel { padding: 32px 20px; }
}

/* modal and role box lightly adjusted */
.modal-content { border-radius: 24px; overflow: hidden; }

.role-modal-dialog {
	max-width: 380px;
	width: calc(100% - 24px);
}

.role-modal-content {
	border: 0;
	box-shadow: 0 16px 36px rgba(18, 23, 55, 0.14);
	background: #fff;
}

.role-modal-header {
	position: relative;
	padding: 10px 16px;
	background: linear-gradient(135deg, #3d35d8 0%, #332bcc 100%), radial-gradient(circle at 10% 115%, rgba(255,255,255,0.10) 0, rgba(255,255,255,0.10) 18%, transparent 19%);
	color: #fff;
	min-height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}

.role-modal-header .modal-title {
	font-size: 15px;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #ffffff;
}

.role-modal-header .btn-close {
	position: absolute;
	right: 12px;
	top: 10px;
	filter: brightness(0) invert(1);
	opacity: 1;
}

.role-modal-body {
	padding: 16px 14px 12px;
	background: #fff;
}

.role-modal-subtitle {
	font-size: 12px;
	line-height: 1.25;
	font-weight: 400;
	color: #262b34;
	margin-bottom: 10px;
}

.role-choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.role-box {
	position: relative;
	min-height: 88px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	cursor: pointer;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
	border: 1px solid #d0d2dc;
	border-radius: 15px;
	padding: 16px 10px 12px;
	background: #fff;
	box-shadow: 0 7px 16px rgba(36, 42, 88, 0.05);
}

.role-box:hover {
	transform: translateY(-2px);
	box-shadow: 0 11px 22px rgba(36, 42, 88, 0.07);
}

.role-box.active {
	border-color: #3d35d8;
	background: #fff;
	color: #3d35d8;
	box-shadow: 0 12px 26px rgba(61, 53, 216, 0.12);
}

.role-check-icon {
	position: absolute;
	right: 7px;
	top: 7px;
	width: 18px;
	height: 18px;
	display: grid;
	place-items: center;
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.role-box.active .role-check-icon {
	opacity: 1;
	transform: scale(1);
}

.role-box.active .role-check-icon img {
	filter: brightness(0) saturate(100%) invert(34%) sepia(75%) saturate(2447%) hue-rotate(226deg) brightness(95%) contrast(92%);
}

.role-main-icon {
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.role-box.active .role-main-icon {
	filter: brightness(0) saturate(100%) invert(31%) sepia(93%) saturate(1954%) hue-rotate(229deg) brightness(96%) contrast(92%);
}

.role-name {
	font-size: 13px;
	line-height: 1.2;
	font-weight: 700;
	color: #252934;
}

.role-box.active .role-name {
	color: #3d35d8;
}

.role-modal-footer {
	padding: 10px 16px 14px;
	background: #fff;
	border-top: 1px solid #e1e4ee;
}

.role-proceed-btn {
	width: 100%;
	height: 36px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 700;
	background: linear-gradient(135deg, #4137d9 0%, #3a31cf 100%);
	border: 0;
	box-shadow: 0 9px 18px rgba(65, 56, 215, 0.20);
	color: #fff !important;
}

.role-proceed-btn:hover {
	filter: brightness(1.02);
	color: #fff !important;
}

.role-proceed-btn:focus,
.role-proceed-btn:active {
	color: #fff !important;
}

@media (max-width: 991.98px) {
	.role-modal-dialog {
		max-width: 100%;
		margin: 12px auto;
	}

	.role-modal-header {
		min-height: 50px;
		padding: 9px 14px;
	}

	.role-modal-header .modal-title {
		font-size: 15px;
	}

	.role-modal-body {
		padding: 14px 12px 10px;
	}

	.role-modal-subtitle {
		font-size: 12px;
		margin-bottom: 8px;
	}

	.role-choice-grid {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.role-box {
		min-height: 84px;
		border-radius: 14px;
	}

	.role-name {
		font-size: 13px;
	}

	.role-proceed-btn {
		height: 36px;
		font-size: 13px;
		border-radius: 6px;
	}

	.role-modal-footer {
		padding: 9px 12px 11px;
	}
}

