/* Twins-owned login page. Loaded after Frappe's login bundle. */
body:has(.twins-login-page) {
	background: #f3f5f7;
}

body:has(.twins-login-page) .page-content-wrapper {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 100vh;
	padding: 28px;
}

.twins-login-page .twins-login-card {
	background: #fff;
	border: 1px solid #e3e8ee;
	border-radius: 14px;
	box-shadow: 0 12px 36px rgba(16, 24, 40, 0.08);
	display: flex;
	height: min(650px, calc(100vh - 56px));
	margin: 0 auto;
	max-width: 1180px !important;
	overflow: hidden;
	padding: 0 !important;
	width: 100%;
}

.twins-login-artwork {
	background: #eef4fa;
	flex: 1.25;
	min-width: 0;
	overflow: hidden;
}

.twins-login-artwork img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.twins-login-form {
	align-items: center;
	display: flex;
	flex: 0 0 42%;
	flex-direction: column;
	justify-content: center;
	min-width: 390px;
	padding: 44px 62px;
}

.twins-login-form .page-card-head {
	padding: 0 0 28px;
	text-align: center;
	width: 100%;
}

.twins-login-form .page-card-head img.app-logo {
	content: url("/assets/twins_next_main/images/app_icon.png");
	display: inline-block;
	height: 72px;
	max-height: none;
	max-width: none;
	object-fit: contain;
	width: 72px;
}

.twins-login-form .page-card-head h4 {
	color: #101828;
	font-size: 22px;
	font-weight: 700;
	margin: 16px 0 0;
}

.twins-login-form form {
	max-width: 100% !important;
	width: 100%;
}

.twins-login-form .form-control {
	background: #eef4ff;
	border: 1px solid transparent;
	border-radius: 9px;
	height: 46px;
	padding-left: 38px;
}

.twins-login-form .form-control:focus {
	background: #fff;
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.twins-login-form .page-card-actions {
	margin-top: 24px;
}

.twins-login-form .btn-login {
	background: #101828;
	border-color: #101828;
	border-radius: 9px;
	height: 44px;
	width: 100% !important;
}

.twins-login-form .btn-login:hover {
	background: #1d2939;
	border-color: #1d2939;
}

.twins-login-form .login-button-wrapper .btn {
	border-radius: 9px;
}

@media (max-width: 767px) {
	body:has(.twins-login-page) .page-content-wrapper {
		padding: 16px;
	}

	.twins-login-page .twins-login-card {
		display: block;
		height: auto;
		max-width: 450px !important;
	}

	.twins-login-artwork {
		display: none;
	}

	.twins-login-form {
		min-width: 0;
		padding: 42px 28px;
	}
}
