body[data-path="login"] {
	--jz-primary: #1f23ab;
	--jz-primary-dark: #171a82;
	--jz-ink: #202044;
	--jz-muted: #6e6e8c;
	--jz-line: #e0e0ef;
	min-height: 100vh;
	background:
		radial-gradient(circle at 15% 20%, rgba(31, 35, 171, 0.14), transparent 28%),
		radial-gradient(circle at 84% 78%, rgba(78, 82, 210, 0.11), transparent 30%),
		linear-gradient(135deg, #f5f5ff 0%, #f0f1fb 48%, #fafaff 100%);
}

body[data-path="login"] .web-footer,
body[data-path="login"] .navbar,
body[data-path="login"] .btn-login-with-email-link,
body[data-path="login"] .social-logins,
body[data-path="login"] .sign-up-message {
	display: none !important;
}

body[data-path="login"] .page-content-wrapper,
body[data-path="login"] .page_content,
body[data-path="login"] main {
	min-height: 100vh;
}

body[data-path="login"] .page_content > div {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 32px 20px;
}

body[data-path="login"] .for-login,
body[data-path="login"] .for-forgot,
body[data-path="login"] .for-email-login {
	width: min(100%, 460px);
	margin: 0 !important;
}

body[data-path="login"] .login-content.page-card {
	position: relative;
	width: 100%;
	max-width: none;
	padding: 38px 40px 34px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 24px;
	box-shadow: 0 26px 70px rgba(31, 35, 171, 0.14), 0 4px 16px rgba(31, 35, 171, 0.06);
	backdrop-filter: blur(18px);
}

body[data-path="login"] .login-content.page-card::before {
	content: "鲸准洞察 CRM";
	display: block;
	margin-bottom: 28px;
	color: var(--jz-primary);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
}

body[data-path="login"] .page-card-head {
	display: grid;
	grid-template-columns: 58px 1fr;
	column-gap: 16px;
	align-items: center;
	margin: 0 0 30px;
	text-align: left;
}

body[data-path="login"] .page-card-head .app-logo {
	grid-row: 1 / span 2;
	width: 58px;
	height: 58px;
	padding: 10px;
	object-fit: contain;
	background: linear-gradient(145deg, #3b3fc2, #1f23ab);
	border-radius: 17px;
	box-shadow: 0 10px 24px rgba(31, 35, 171, 0.24);
}

body[data-path="login"] .page-card-head-text h4 {
	margin: 0 0 6px;
	color: var(--jz-ink);
	font-size: 26px;
	font-weight: 750;
	letter-spacing: -0.03em;
}

body[data-path="login"] .page-card-subtitle {
	margin: 0;
	color: var(--jz-muted);
	font-size: 14px;
}

body[data-path="login"] .page-card-body,
body[data-path="login"] .page-card-actions {
	padding: 0;
}

body[data-path="login"] .form-group {
	margin-bottom: 20px;
}

body[data-path="login"] .form-label {
	margin-bottom: 8px;
	color: #3d3d62;
	font-size: 13px;
	font-weight: 650;
}

body[data-path="login"] .form-control {
	height: 48px;
	padding-left: 42px;
	color: var(--jz-ink);
	background: #f8f8fc;
	border: 1px solid var(--jz-line);
	border-radius: 12px;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body[data-path="login"] .form-control:focus {
	background: #fff;
	border-color: #7779d4;
	box-shadow: 0 0 0 4px rgba(31, 35, 171, 0.1);
}

body[data-path="login"] .field-icon {
	left: 14px;
	color: #80809a;
}

body[data-path="login"] .forgot-password-message {
	margin-top: 10px;
}

body[data-path="login"] .forgot-password-message a {
	color: var(--jz-primary);
	font-size: 13px;
}

body[data-path="login"] .page-card-actions {
	margin-top: 24px;
}

body[data-path="login"] .btn-login,
body[data-path="login"] .btn-forgot {
	height: 48px;
	color: #fff !important;
	font-size: 15px;
	font-weight: 650;
	background: linear-gradient(135deg, var(--jz-primary), var(--jz-primary-dark)) !important;
	border: 0 !important;
	border-radius: 12px;
	box-shadow: 0 10px 22px rgba(31, 35, 171, 0.22);
}

body[data-path="login"] .btn-login:hover,
body[data-path="login"] .btn-forgot:hover {
	transform: translateY(-1px);
	box-shadow: 0 13px 28px rgba(31, 35, 171, 0.28);
}

body[data-path="login"] .login-error-banner {
	margin-bottom: 18px;
	border-radius: 10px;
}

@media (max-width: 540px) {
	body[data-path="login"] .page_content > div {
		padding: 18px 14px;
	}

	body[data-path="login"] .login-content.page-card {
		padding: 30px 24px 26px;
		border-radius: 20px;
	}
}
