/*
 * SERENE ONE Premium Internal Login
 * Visual enhancement for the internal Frappe login page only.
 */

body.serene-one-premium-login {
	--serene-login-midnight: #0f172a;
	--serene-login-midnight-soft: #1b2944;
	--serene-login-emerald: #10b981;
	--serene-login-emerald-dark: #047857;
	--serene-login-gold: #d4af37;
	--serene-login-white: #ffffff;
	--serene-login-grey: #f3f4f6;
	--serene-login-ink: #111827;
	--serene-login-muted: #64748b;
	--serene-login-border: rgba(15, 23, 42, 0.1);
	--serene-login-card: rgba(255, 255, 255, 0.96);
	--serene-login-input: rgba(248, 250, 252, 0.98);
	--serene-login-shadow:
		0 32px 90px rgba(15, 23, 42, 0.18);
	--serene-login-soft-shadow:
		0 12px 34px rgba(15, 23, 42, 0.09);
	--serene-login-ease:
		cubic-bezier(0.22, 1, 0.36, 1);

	min-height: 100vh;
	margin: 0;
	color: var(--serene-login-ink);
	font-family:
		"Inter",
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;
	background:
		radial-gradient(
			circle at 90% 7%,
			rgba(16, 185, 129, 0.18),
			transparent 31rem
		),
		radial-gradient(
			circle at 5% 96%,
			rgba(212, 175, 55, 0.16),
			transparent 34rem
		),
		linear-gradient(
			140deg,
			#f8fafc 0%,
			#eef7f3 53%,
			#f5f0e1 100%
		) !important;
	background-attachment: fixed !important;
}

body.serene-one-premium-login::before {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	content: "";
	opacity: 0.45;
	background:
		linear-gradient(
			90deg,
			rgba(15, 23, 42, 0.035) 1px,
			transparent 1px
		),
		linear-gradient(
			rgba(15, 23, 42, 0.035) 1px,
			transparent 1px
		);
	background-size: 46px 46px;
	mask-image:
		linear-gradient(
			to bottom,
			#000,
			transparent 82%
		);
}

body.serene-one-premium-login .page-content,
body.serene-one-premium-login .page-content-wrapper,
body.serene-one-premium-login .main-section,
body.serene-one-premium-login main {
	position: relative;
	z-index: 1;
	min-height: 100vh;
	background: transparent !important;
}

body.serene-one-premium-login .login-content {
	display: grid !important;
	grid-template-columns:
		minmax(0, 1.08fr)
		minmax(370px, 0.92fr);
	width: min(1120px, calc(100vw - 48px)) !important;
	max-width: 1120px !important;
	min-height: 620px;
	margin: 44px auto !important;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.52);
	border-radius: 28px;
	background: var(--serene-login-card);
	box-shadow: var(--serene-login-shadow);
	backdrop-filter: blur(22px);
	animation:
		serene-login-enter
		560ms
		var(--serene-login-ease)
		both;
}

body.serene-one-premium-login
	.login-content
	> .serene-one-login-brand {
	grid-column: 1;
	grid-row: 1 / span 30;
}

body.serene-one-premium-login
	.login-content
	> :not(.serene-one-login-brand) {
	grid-column: 2;
	min-width: 0;
}

body.serene-one-premium-login
	.serene-one-login-brand {
	position: relative;
	isolation: isolate;
	display: flex;
	overflow: hidden;
	flex-direction: column;
	justify-content: space-between;
	min-height: 620px;
	padding: 48px 50px 42px;
	color: #ffffff;
	background:
		radial-gradient(
			circle at 86% 12%,
			rgba(16, 185, 129, 0.46),
			transparent 18rem
		),
		radial-gradient(
			circle at 4% 104%,
			rgba(212, 175, 55, 0.25),
			transparent 21rem
		),
		linear-gradient(
			132deg,
			#0f172a 0%,
			#183252 55%,
			#07614d 100%
		);
}

body.serene-one-premium-login
	.serene-one-login-brand::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	content: "";
	opacity: 0.28;
	background:
		linear-gradient(
			125deg,
			transparent 0 34%,
			rgba(255, 255, 255, 0.13) 34% 35%,
			transparent 35% 100%
		);
}

body.serene-one-premium-login
	.serene-one-login-brand::after {
	position: absolute;
	right: -92px;
	bottom: -112px;
	z-index: -1;
	width: 300px;
	height: 300px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	content: "";
	background: rgba(255, 255, 255, 0.04);
}

body.serene-one-premium-login
	.serene-one-login-orb {
	position: absolute;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.045);
}

body.serene-one-premium-login
	.serene-one-login-orb-one {
	top: -78px;
	right: 8%;
	width: 212px;
	height: 212px;
}

body.serene-one-premium-login
	.serene-one-login-orb-two {
	top: 44%;
	right: -62px;
	width: 158px;
	height: 158px;
}

body.serene-one-premium-login
	.serene-one-login-logo-row {
	display: flex;
	gap: 14px;
	align-items: center;
}

body.serene-one-premium-login
	.serene-one-login-logo {
	width: 68px;
	height: 68px;
	padding: 7px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.09);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(14px);
}

body.serene-one-premium-login
	.serene-one-login-brand-name {
	margin: 0;
	color: #ffffff;
	font-family:
		"Poppins",
		"Inter",
		sans-serif;
	font-size: 22px;
	font-weight: 760;
	letter-spacing: -0.025em;
}

body.serene-one-premium-login
	.serene-one-login-platform-line {
	margin: 3px 0 0;
	color: rgba(255, 255, 255, 0.67);
	font-size: 12px;
	font-weight: 650;
}

body.serene-one-premium-login
	.serene-one-login-brand-copy {
	max-width: 530px;
	margin-top: 58px;
}

body.serene-one-premium-login
	.serene-one-login-eyebrow {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 17px;
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.84);
	background: rgba(255, 255, 255, 0.075);
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

body.serene-one-premium-login
	.serene-one-login-eyebrow::before {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	content: "";
	background: #34d399;
	box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.16);
}

body.serene-one-premium-login
	.serene-one-login-heading {
	max-width: 520px;
	margin: 0;
	color: #ffffff;
	font-family:
		"Poppins",
		"Inter",
		sans-serif;
	font-size: clamp(34px, 4.2vw, 58px);
	font-weight: 760;
	line-height: 1.06;
	letter-spacing: -0.052em;
}

body.serene-one-premium-login
	.serene-one-login-tagline {
	max-width: 500px;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	line-height: 1.72;
}

body.serene-one-premium-login
	.serene-one-login-capabilities {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 26px;
}

body.serene-one-premium-login
	.serene-one-login-capability {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 11px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.79);
	background: rgba(255, 255, 255, 0.065);
	font-size: 10px;
	font-weight: 680;
}

body.serene-one-premium-login
	.serene-one-login-secure-strip {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 38px;
	padding: 14px 15px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 15px;
	background: rgba(0, 0, 0, 0.11);
	backdrop-filter: blur(12px);
}

body.serene-one-premium-login
	.serene-one-login-secure-icon {
	position: relative;
	flex: 0 0 35px;
	width: 35px;
	height: 35px;
	border-radius: 11px;
	background:
		linear-gradient(
			145deg,
			rgba(16, 185, 129, 0.38),
			rgba(212, 175, 55, 0.2)
		);
}

body.serene-one-premium-login
	.serene-one-login-secure-icon::before {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 15px;
	height: 12px;
	border: 2px solid rgba(255, 255, 255, 0.92);
	border-radius: 4px;
	content: "";
}

body.serene-one-premium-login
	.serene-one-login-secure-icon::after {
	position: absolute;
	top: 5px;
	left: 13px;
	width: 9px;
	height: 9px;
	border: 2px solid rgba(255, 255, 255, 0.92);
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
	content: "";
}

body.serene-one-premium-login
	.serene-one-login-secure-title {
	margin: 0;
	color: rgba(255, 255, 255, 0.91);
	font-size: 11px;
	font-weight: 720;
}

body.serene-one-premium-login
	.serene-one-login-secure-copy {
	margin: 2px 0 0;
	color: rgba(255, 255, 255, 0.59);
	font-size: 10px;
	line-height: 1.45;
}

body.serene-one-premium-login .for-login,
body.serene-one-premium-login .for-forgot,
body.serene-one-premium-login .for-signup,
body.serene-one-premium-login .for-email-login {
	align-self: center;
	width: 100%;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 42px 42px 34px !important;
	background: transparent !important;
}

body.serene-one-premium-login .page-card-head {
	margin: 0 0 23px !important;
	padding: 0 !important;
	text-align: left !important;
}

body.serene-one-premium-login
	.page-card-head img {
	width: 62px !important;
	height: 62px !important;
	margin: 0 0 17px !important;
	padding: 6px;
	border: 1px solid rgba(16, 185, 129, 0.18);
	border-radius: 18px;
	background:
		linear-gradient(
			145deg,
			rgba(16, 185, 129, 0.13),
			rgba(212, 175, 55, 0.1)
		);
	box-shadow: var(--serene-login-soft-shadow);
}

body.serene-one-premium-login
	.page-card-head h3,
body.serene-one-premium-login
	.page-card-head h4,
body.serene-one-premium-login
	.page-card-head .page-card-title {
	margin: 0 !important;
	color: var(--serene-login-midnight);
	font-family:
		"Poppins",
		"Inter",
		sans-serif;
	font-size: 25px !important;
	font-weight: 750 !important;
	line-height: 1.22;
	letter-spacing: -0.035em;
	text-align: left !important;
}

body.serene-one-premium-login
	.serene-one-login-card-subtitle {
	margin: 8px 0 0;
	color: var(--serene-login-muted);
	font-size: 12px;
	line-height: 1.6;
}

body.serene-one-premium-login .page-card {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 28px !important;
	border:
		1px solid
		var(--serene-login-border) !important;
	border-radius: 20px !important;
	background:
		var(--serene-login-card) !important;
	box-shadow:
		var(--serene-login-soft-shadow) !important;
}

body.serene-one-premium-login
	.page-card .form-group {
	margin-bottom: 15px;
}

body.serene-one-premium-login
	.page-card input,
body.serene-one-premium-login
	.page-card .form-control {
	min-height: 46px !important;
	padding-right: 42px !important;
	padding-left: 42px !important;
	border:
		1px solid
		var(--serene-login-border) !important;
	border-radius: 13px !important;
	color:
		var(--serene-login-ink) !important;
	background:
		var(--serene-login-input) !important;
	box-shadow:
		inset 0 1px 2px rgba(15, 23, 42, 0.025),
		0 4px 12px rgba(15, 23, 42, 0.035);
	font-size: 14px !important;
	transition:
		border-color 170ms var(--serene-login-ease),
		background 170ms var(--serene-login-ease),
		box-shadow 170ms var(--serene-login-ease),
		transform 170ms var(--serene-login-ease);
}

body.serene-one-premium-login
	.page-card input:focus,
body.serene-one-premium-login
	.page-card .form-control:focus {
	border-color:
		rgba(16, 185, 129, 0.64) !important;
	background: #ffffff !important;
	box-shadow:
		0 0 0 3px rgba(16, 185, 129, 0.14),
		0 10px 22px rgba(15, 23, 42, 0.08)
		!important;
	transform: translateY(-1px);
}

body.serene-one-premium-login
	.page-card input::placeholder {
	color: var(--serene-login-muted) !important;
	opacity: 0.74;
}

body.serene-one-premium-login
	.page-card .field-icon,
body.serene-one-premium-login
	.page-card .toggle-password {
	color: var(--serene-login-muted) !important;
}

body.serene-one-premium-login
	.page-card .btn-login,
body.serene-one-premium-login
	.page-card .btn-primary {
	min-height: 46px;
	border:
		1px solid
		var(--serene-login-emerald-dark) !important;
	border-radius: 13px !important;
	color: #ffffff !important;
	background:
		linear-gradient(
			135deg,
			var(--serene-login-emerald),
			var(--serene-login-emerald-dark)
		) !important;
	box-shadow:
		0 13px 27px rgba(16, 185, 129, 0.26);
	font-size: 13px;
	font-weight: 740;
	transition:
		transform 180ms var(--serene-login-ease),
		box-shadow 180ms var(--serene-login-ease);
}

body.serene-one-premium-login
	.page-card .btn-login:hover,
body.serene-one-premium-login
	.page-card .btn-primary:hover {
	transform: translateY(-2px);
	box-shadow:
		0 18px 35px rgba(16, 185, 129, 0.33);
}

body.serene-one-premium-login
	.page-card .btn-default,
body.serene-one-premium-login
	.page-card .btn-secondary,
body.serene-one-premium-login
	.page-card .login-with-email-link {
	min-height: 42px;
	border:
		1px solid
		var(--serene-login-border) !important;
	border-radius: 12px !important;
	color:
		var(--serene-login-midnight) !important;
	background:
		var(--serene-login-input) !important;
	box-shadow:
		0 6px 16px rgba(15, 23, 42, 0.05);
	font-weight: 650;
}

body.serene-one-premium-login
	.page-card a,
body.serene-one-premium-login
	.forgot-password-message {
	color:
		var(--serene-login-emerald-dark) !important;
	text-decoration: none !important;
}

body.serene-one-premium-login
	.page-card a:hover,
body.serene-one-premium-login
	.forgot-password-message:hover {
	color: var(--serene-login-gold) !important;
}

body.serene-one-premium-login
	.serene-one-login-card-note {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	margin-top: 19px;
	padding-top: 16px;
	border-top:
		1px solid
		var(--serene-login-border);
	color: var(--serene-login-muted);
	font-size: 10px;
	line-height: 1.5;
}

body.serene-one-premium-login
	.serene-one-login-card-note::before {
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	margin-top: 4px;
	border-radius: 50%;
	content: "";
	background: var(--serene-login-emerald);
	box-shadow:
		0 0 0 4px rgba(16, 185, 129, 0.12);
}

body.serene-one-premium-login
	input:-webkit-autofill,
body.serene-one-premium-login
	input:-webkit-autofill:hover,
body.serene-one-premium-login
	input:-webkit-autofill:focus {
	-webkit-text-fill-color:
		var(--serene-login-ink) !important;
	-webkit-box-shadow:
		0 0 0 1000px
		var(--serene-login-input)
		inset !important;
	caret-color: var(--serene-login-ink);
	border-color:
		rgba(16, 185, 129, 0.35) !important;
	transition:
		background-color 9999s ease-out;
}

html[data-theme="dark"]
	body.serene-one-premium-login {
	--serene-login-midnight: #f1f5f9;
	--serene-login-ink: #edf4ff;
	--serene-login-muted: #9ba9bd;
	--serene-login-border:
		rgba(148, 163, 184, 0.16);
	--serene-login-card:
		rgba(13, 24, 41, 0.97);
	--serene-login-input:
		rgba(8, 17, 30, 0.94);
	--serene-login-shadow:
		0 36px 94px rgba(0, 0, 0, 0.49);
	--serene-login-soft-shadow:
		0 15px 38px rgba(0, 0, 0, 0.31);

	color-scheme: dark;
	background:
		radial-gradient(
			circle at 90% 7%,
			rgba(16, 185, 129, 0.2),
			transparent 31rem
		),
		radial-gradient(
			circle at 5% 96%,
			rgba(212, 175, 55, 0.12),
			transparent 34rem
		),
		linear-gradient(
			140deg,
			#050b14 0%,
			#0b1627 53%,
			#09251f 100%
		) !important;
}

html[data-theme="dark"]
	body.serene-one-premium-login
	.page-card input:focus,
html[data-theme="dark"]
	body.serene-one-premium-login
	.page-card .form-control:focus {
	background: #0b1728 !important;
}

html[data-theme="dark"]
	body.serene-one-premium-login
	.page-card .btn-default,
html[data-theme="dark"]
	body.serene-one-premium-login
	.page-card .btn-secondary,
html[data-theme="dark"]
	body.serene-one-premium-login
	.page-card .login-with-email-link {
	color: #dce6f3 !important;
}

@media (prefers-color-scheme: dark) {
	html:not([data-theme="light"])
		body.serene-one-premium-login {
		--serene-login-midnight: #f1f5f9;
		--serene-login-ink: #edf4ff;
		--serene-login-muted: #9ba9bd;
		--serene-login-border:
			rgba(148, 163, 184, 0.16);
		--serene-login-card:
			rgba(13, 24, 41, 0.97);
		--serene-login-input:
			rgba(8, 17, 30, 0.94);
		--serene-login-shadow:
			0 36px 94px rgba(0, 0, 0, 0.49);
		--serene-login-soft-shadow:
			0 15px 38px rgba(0, 0, 0, 0.31);
		color-scheme: dark;
	}
}

@media (max-width: 991px) {
	body.serene-one-premium-login
		.login-content {
		width:
			min(840px, calc(100vw - 32px))
			!important;
		grid-template-columns:
			minmax(0, 0.9fr)
			minmax(340px, 1.1fr);
		margin: 28px auto !important;
	}

	body.serene-one-premium-login
		.serene-one-login-brand {
		padding: 38px 32px 34px;
	}

	body.serene-one-premium-login
		.for-login,
	body.serene-one-premium-login
		.for-forgot,
	body.serene-one-premium-login
		.for-signup,
	body.serene-one-premium-login
		.for-email-login {
		padding: 34px 28px 28px !important;
	}
}

@media (max-width: 767px) {
	body.serene-one-premium-login
		.login-content {
		display: block !important;
		width:
			min(520px, calc(100vw - 24px))
			!important;
		min-height: auto;
		margin: 20px auto !important;
		border-radius: 22px;
	}

	body.serene-one-premium-login
		.serene-one-login-brand {
		min-height: auto;
		padding: 28px 26px;
	}

	body.serene-one-premium-login
		.serene-one-login-brand-copy {
		margin-top: 28px;
	}

	body.serene-one-premium-login
		.serene-one-login-heading {
		font-size: 34px;
	}

	body.serene-one-premium-login
		.serene-one-login-capabilities {
		display: none;
	}

	body.serene-one-premium-login
		.serene-one-login-secure-strip {
		margin-top: 25px;
	}

	body.serene-one-premium-login
		.for-login,
	body.serene-one-premium-login
		.for-forgot,
	body.serene-one-premium-login
		.for-signup,
	body.serene-one-premium-login
		.for-email-login {
		padding: 28px 22px 24px !important;
	}

	body.serene-one-premium-login
		.page-card {
		padding: 23px !important;
	}
}

@media (max-width: 420px) {
	body.serene-one-premium-login
		.login-content {
		width:
			calc(100vw - 16px)
			!important;
		margin: 8px auto !important;
	}

	body.serene-one-premium-login
		.serene-one-login-brand {
		padding: 23px 20px;
	}

	body.serene-one-premium-login
		.serene-one-login-logo {
		width: 54px;
		height: 54px;
	}

	body.serene-one-premium-login
		.serene-one-login-heading {
		font-size: 29px;
	}

	body.serene-one-premium-login
		.for-login,
	body.serene-one-premium-login
		.for-forgot,
	body.serene-one-premium-login
		.for-signup,
	body.serene-one-premium-login
		.for-email-login {
		padding: 24px 16px 20px !important;
	}

	body.serene-one-premium-login
		.page-card {
		padding: 20px !important;
	}
}

@keyframes serene-login-enter {
	from {
		opacity: 0;
		transform:
			translateY(18px)
			scale(0.988);
	}

	to {
		opacity: 1;
		transform:
			translateY(0)
			scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.serene-one-premium-login *,
	body.serene-one-premium-login *::before,
	body.serene-one-premium-login *::after {
		animation: none !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0ms !important;
		transform: none !important;
	}
}
/* =====================================================================
 * SERENE ONE PREMIUM LOGIN BALANCE FIX
 * Moves the SERENE ONE identity above the complete authentication shell
 * and balances the left brand message with the right login form.
 * ===================================================================== */

body.serene-one-premium-login
	.serene-one-login-default-heading-hidden {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body.serene-one-premium-login
	.serene-one-login-top-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	width: min(1120px, calc(100vw - 48px));
	margin: 22px auto 14px;
	padding: 0;
	text-align: left;
	animation:
		serene-login-top-brand-enter
		460ms
		var(--serene-login-ease)
		both;
}

body.serene-one-premium-login
	.serene-one-login-top-logo {
	width: 58px;
	height: 58px;
	padding: 6px;
	border: 1px solid rgba(16, 185, 129, 0.23);
	border-radius: 17px;
	background:
		linear-gradient(
			145deg,
			rgba(16, 185, 129, 0.15),
			rgba(212, 175, 55, 0.1)
		);
	box-shadow:
		0 13px 30px rgba(15, 23, 42, 0.13);
}

body.serene-one-premium-login
	.serene-one-login-top-name {
	margin: 0;
	color: #0f172a;
	font-family:
		"Poppins",
		"Inter",
		sans-serif;
	font-size: 23px;
	font-weight: 780;
	line-height: 1.12;
	letter-spacing: -0.035em;
}

body.serene-one-premium-login
	.serene-one-login-top-platform {
	margin: 4px 0 0;
	color: #64748b;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.025em;
}

body.serene-one-premium-login
	.login-content {
	min-height: 520px !important;
	margin: 0 auto 24px !important;
}

body.serene-one-premium-login
	.serene-one-login-brand {
	justify-content: center !important;
	min-height: 520px !important;
	padding: 38px 46px 36px !important;
}

body.serene-one-premium-login
	.serene-one-login-brand
	.serene-one-login-logo-row {
	display: none !important;
}

body.serene-one-premium-login
	.serene-one-login-brand-top {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
}

body.serene-one-premium-login
	.serene-one-login-brand-copy {
	width: 100%;
	max-width: 510px;
	margin-top: 0 !important;
}

body.serene-one-premium-login
	.serene-one-login-eyebrow {
	align-self: flex-start;
	margin: 0 0 17px !important;
}

body.serene-one-premium-login
	.serene-one-login-heading {
	margin: 0 !important;
}

body.serene-one-premium-login
	.serene-one-login-secure-strip {
	width: 100%;
	max-width: 510px;
	margin-top: 28px !important;
}

body.serene-one-premium-login
	.for-login,
body.serene-one-premium-login
	.for-forgot,
body.serene-one-premium-login
	.for-signup,
body.serene-one-premium-login
	.for-email-login {
	align-self: center;
	padding: 30px 36px !important;
}

body.serene-one-premium-login
	.serene-one-login-form-intro {
	margin: 0 0 18px;
	padding: 0 2px;
	text-align: left;
}

body.serene-one-premium-login
	.serene-one-login-form-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 8px;
	color: var(--serene-login-emerald-dark);
	font-size: 10px;
	font-weight: 760;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.serene-one-premium-login
	.serene-one-login-form-eyebrow::before {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	content: "";
	background: var(--serene-login-emerald);
	box-shadow:
		0 0 0 4px
		rgba(16, 185, 129, 0.12);
}

body.serene-one-premium-login
	.serene-one-login-form-title {
	margin: 0;
	color: var(--serene-login-midnight);
	font-family:
		"Poppins",
		"Inter",
		sans-serif;
	font-size: 27px;
	font-weight: 770;
	line-height: 1.18;
	letter-spacing: -0.04em;
}

body.serene-one-premium-login
	.serene-one-login-form-copy {
	margin: 7px 0 0;
	color: var(--serene-login-muted);
	font-size: 12px;
	line-height: 1.55;
}

body.serene-one-premium-login
	.page-card {
	padding: 24px 26px !important;
}

html[data-theme="dark"]
	body.serene-one-premium-login
	.serene-one-login-top-name {
	color: #f1f5f9;
}

html[data-theme="dark"]
	body.serene-one-premium-login
	.serene-one-login-top-platform {
	color: #9ba9bd;
}

html[data-theme="dark"]
	body.serene-one-premium-login
	.serene-one-login-top-logo {
	border-color: rgba(52, 211, 153, 0.25);
	background:
		linear-gradient(
			145deg,
			rgba(16, 185, 129, 0.18),
			rgba(212, 175, 55, 0.1)
		);
	box-shadow:
		0 15px 34px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"]
	body.serene-one-premium-login
	.serene-one-login-form-title {
	color: #f1f5f9;
}

@media (prefers-color-scheme: dark) {
	html:not([data-theme="light"])
		body.serene-one-premium-login
		.serene-one-login-top-name {
		color: #f1f5f9;
	}

	html:not([data-theme="light"])
		body.serene-one-premium-login
		.serene-one-login-top-platform {
		color: #9ba9bd;
	}
}

@media (max-height: 820px) and (min-width: 768px) {
	body.serene-one-premium-login
		.serene-one-login-top-brand {
		margin-top: 13px;
		margin-bottom: 10px;
	}

	body.serene-one-premium-login
		.login-content {
		min-height: 490px !important;
		margin-bottom: 14px !important;
	}

	body.serene-one-premium-login
		.serene-one-login-brand {
		min-height: 490px !important;
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}

	body.serene-one-premium-login
		.serene-one-login-heading {
		font-size: clamp(32px, 3.8vw, 50px);
	}

	body.serene-one-premium-login
		.serene-one-login-tagline {
		margin-top: 14px;
	}

	body.serene-one-premium-login
		.serene-one-login-capabilities {
		margin-top: 20px;
	}
}

@media (max-width: 767px) {
	body.serene-one-premium-login
		.serene-one-login-top-brand {
		width: min(520px, calc(100vw - 24px));
		margin: 16px auto 11px;
	}

	body.serene-one-premium-login
		.serene-one-login-top-logo {
		width: 50px;
		height: 50px;
		border-radius: 15px;
	}

	body.serene-one-premium-login
		.serene-one-login-top-name {
		font-size: 20px;
	}

	body.serene-one-premium-login
		.login-content {
		min-height: auto !important;
	}

	body.serene-one-premium-login
		.serene-one-login-brand {
		min-height: auto !important;
		padding: 28px 26px !important;
	}

	body.serene-one-premium-login
		.for-login,
	body.serene-one-premium-login
		.for-forgot,
	body.serene-one-premium-login
		.for-signup,
	body.serene-one-premium-login
		.for-email-login {
		padding: 26px 22px !important;
	}
}

@media (max-width: 420px) {
	body.serene-one-premium-login
		.serene-one-login-top-brand {
		justify-content: flex-start;
		width: calc(100vw - 28px);
		margin-top: 12px;
	}

	body.serene-one-premium-login
		.serene-one-login-form-title {
		font-size: 24px;
	}

	body.serene-one-premium-login
		.page-card {
		padding: 20px !important;
	}
}

@keyframes serene-login-top-brand-enter {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* =====================================================================
 * SERENE ONE LOGIN TOP BRAND HIGH CONTRAST
 * Self-contained premium badge for reliable light/dark readability.
 * ===================================================================== */

body.serene-one-premium-login
	.serene-one-login-top-brand {
	position: relative;
	z-index: 8;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 13px !important;
	width: max-content !important;
	max-width: calc(100vw - 32px);
	min-height: 76px;
	margin: 18px auto 14px !important;
	padding: 9px 20px 9px 10px !important;
	border:
		1px solid
		rgba(52, 211, 153, 0.3) !important;
	border-radius: 22px !important;
	color: #ffffff !important;
	opacity: 1 !important;
	background:
		radial-gradient(
			circle at 8% 20%,
			rgba(52, 211, 153, 0.2),
			transparent 9rem
		),
		linear-gradient(
			135deg,
			#0f172a 0%,
			#173453 56%,
			#08705a 100%
		) !important;
	box-shadow:
		0 18px 44px
		rgba(15, 23, 42, 0.24),
		inset 0 1px 0
		rgba(255, 255, 255, 0.12) !important;
	filter: none !important;
	backdrop-filter: blur(18px);
	isolation: isolate;
}

body.serene-one-premium-login
	.serene-one-login-top-brand::after {
	position: absolute;
	top: 0;
	right: 14%;
	width: 74px;
	height: 100%;
	border-right:
		1px solid
		rgba(255, 255, 255, 0.09);
	border-left:
		1px solid
		rgba(255, 255, 255, 0.07);
	content: "";
	pointer-events: none;
	opacity: 0.65;
	transform: skewX(-18deg);
}

body.serene-one-premium-login
	.serene-one-login-top-logo {
	position: relative;
	z-index: 2;
	flex: 0 0 58px;
	width: 58px !important;
	height: 58px !important;
	margin: 0 !important;
	padding: 5px !important;
	border:
		1px solid
		rgba(255, 255, 255, 0.22) !important;
	border-radius: 17px !important;
	background:
		rgba(255, 255, 255, 0.1) !important;
	box-shadow:
		0 12px 28px
		rgba(0, 0, 0, 0.26) !important;
	opacity: 1 !important;
	filter:
		saturate(1.12)
		drop-shadow(
			0 6px 14px
			rgba(0, 0, 0, 0.22)
		) !important;
}

body.serene-one-premium-login
	.serene-one-login-top-identity {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	opacity: 1 !important;
}

body.serene-one-premium-login
	.serene-one-login-top-name {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family:
		"Poppins",
		"Inter",
		sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.035em !important;
	text-shadow:
		0 2px 12px
		rgba(0, 0, 0, 0.24) !important;
	white-space: nowrap;
	opacity: 1 !important;
	filter: none !important;
	mix-blend-mode: normal !important;
}

body.serene-one-premium-login
	.serene-one-login-top-platform {
	display: block !important;
	margin: 5px 0 0 !important;
	padding: 0 !important;
	color:
		rgba(255, 255, 255, 0.76)
		!important;
	-webkit-text-fill-color:
		rgba(255, 255, 255, 0.76)
		!important;
	font-size: 11px !important;
	font-weight: 680 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.025em !important;
	text-shadow:
		0 1px 8px
		rgba(0, 0, 0, 0.22) !important;
	white-space: nowrap;
	opacity: 1 !important;
	filter: none !important;
	mix-blend-mode: normal !important;
}

/*
 * The badge owns its own contrast. Frappe theme and operating-system
 * colour preferences therefore cannot wash out its text.
 */

html[data-theme="light"]
	body.serene-one-premium-login
	.serene-one-login-top-name,
html[data-theme="dark"]
	body.serene-one-premium-login
	.serene-one-login-top-name {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

html[data-theme="light"]
	body.serene-one-premium-login
	.serene-one-login-top-platform,
html[data-theme="dark"]
	body.serene-one-premium-login
	.serene-one-login-top-platform {
	color:
		rgba(255, 255, 255, 0.76)
		!important;
	-webkit-text-fill-color:
		rgba(255, 255, 255, 0.76)
		!important;
}

@media (prefers-color-scheme: dark) {
	html:not([data-theme="light"])
		body.serene-one-premium-login
		.serene-one-login-top-brand {
		background:
			radial-gradient(
				circle at 8% 20%,
				rgba(52, 211, 153, 0.19),
				transparent 9rem
			),
			linear-gradient(
				135deg,
				#050b14 0%,
				#11243c 56%,
				#075b49 100%
			) !important;
	}

	html:not([data-theme="light"])
		body.serene-one-premium-login
		.serene-one-login-top-name {
		color: #ffffff !important;
		-webkit-text-fill-color: #ffffff !important;
	}

	html:not([data-theme="light"])
		body.serene-one-premium-login
		.serene-one-login-top-platform {
		color:
			rgba(255, 255, 255, 0.76)
			!important;
		-webkit-text-fill-color:
			rgba(255, 255, 255, 0.76)
			!important;
	}
}

@media (max-width: 520px) {
	body.serene-one-premium-login
		.serene-one-login-top-brand {
		min-height: 68px;
		padding:
			8px 15px 8px 8px
			!important;
		border-radius: 19px !important;
	}

	body.serene-one-premium-login
		.serene-one-login-top-logo {
		flex-basis: 50px;
		width: 50px !important;
		height: 50px !important;
		border-radius: 15px !important;
	}

	body.serene-one-premium-login
		.serene-one-login-top-name {
		font-size: 20px !important;
	}

	body.serene-one-premium-login
		.serene-one-login-top-platform {
		font-size: 9px !important;
		white-space: normal;
	}
}

/* =====================================================================
 * SERENE ONE LOGIN NAVY INPUT AND CENTRING FIX
 * Keeps username/password inputs navy in all interactive states and
 * moves the right login section slightly downward into visual balance.
 * ===================================================================== */

body.serene-one-premium-login
	.page-card input,
body.serene-one-premium-login
	.page-card .form-control {
	border-color:
		rgba(148, 163, 184, 0.32)
		!important;
	color: #f8fafc !important;
	-webkit-text-fill-color:
		#f8fafc !important;
	caret-color: #34d399 !important;
	background:
		#0b1728 !important;
	box-shadow:
		inset 0 1px 0
			rgba(255, 255, 255, 0.035),
		0 6px 16px
			rgba(0, 0, 0, 0.15)
		!important;
	opacity: 1 !important;
}

body.serene-one-premium-login
	.page-card input:hover,
body.serene-one-premium-login
	.page-card .form-control:hover {
	border-color:
		rgba(52, 211, 153, 0.5)
		!important;
	color: #ffffff !important;
	-webkit-text-fill-color:
		#ffffff !important;
	background:
		#0d1d31 !important;
	box-shadow:
		inset 0 1px 0
			rgba(255, 255, 255, 0.045),
		0 8px 20px
			rgba(0, 0, 0, 0.18)
		!important;
}

body.serene-one-premium-login
	.page-card input:focus,
body.serene-one-premium-login
	.page-card input:focus-visible,
body.serene-one-premium-login
	.page-card .form-control:focus,
body.serene-one-premium-login
	.page-card .form-control:focus-visible {
	border-color:
		#34d399 !important;
	color: #ffffff !important;
	-webkit-text-fill-color:
		#ffffff !important;
	caret-color: #34d399 !important;
	background:
		#0b1728 !important;
	box-shadow:
		0 0 0 3px
			rgba(52, 211, 153, 0.18),
		0 12px 26px
			rgba(0, 0, 0, 0.23)
		!important;
	transform: translateY(-1px);
}

body.serene-one-premium-login
	.page-card input::placeholder,
body.serene-one-premium-login
	.page-card .form-control::placeholder {
	color:
		rgba(203, 213, 225, 0.62)
		!important;
	-webkit-text-fill-color:
		rgba(203, 213, 225, 0.62)
		!important;
	opacity: 1 !important;
}

body.serene-one-premium-login
	.page-card input::selection,
body.serene-one-premium-login
	.page-card .form-control::selection {
	color: #ffffff;
	background:
		rgba(16, 185, 129, 0.5);
}

/* Keep browser-autofilled values inside the navy field. */

body.serene-one-premium-login
	.page-card input:-webkit-autofill,
body.serene-one-premium-login
	.page-card input:-webkit-autofill:hover,
body.serene-one-premium-login
	.page-card input:-webkit-autofill:focus,
body.serene-one-premium-login
	.page-card input:-webkit-autofill:active {
	-webkit-text-fill-color:
		#ffffff !important;
	caret-color: #34d399 !important;
	border-color:
		rgba(52, 211, 153, 0.65)
		!important;
	-webkit-box-shadow:
		0 0 0 1000px
			#0b1728 inset
		!important;
	box-shadow:
		0 0 0 1000px
			#0b1728 inset,
		0 0 0 3px
			rgba(52, 211, 153, 0.14)
		!important;
	transition:
		background-color 9999s
		ease-out 0s !important;
}

body.serene-one-premium-login
	.page-card input:-moz-autofill {
	color: #ffffff !important;
	caret-color: #34d399 !important;
	border-color:
		rgba(52, 211, 153, 0.65)
		!important;
	background:
		#0b1728 !important;
	box-shadow:
		0 0 0 1000px
			#0b1728 inset
		!important;
}

body.serene-one-premium-login
	.page-card .field-icon,
body.serene-one-premium-login
	.page-card .toggle-password,
body.serene-one-premium-login
	.page-card .password-icon {
	color:
		#cbd5e1 !important;
	opacity: 0.9 !important;
}

body.serene-one-premium-login
	.page-card .toggle-password:hover,
body.serene-one-premium-login
	.page-card .password-icon:hover {
	color:
		#34d399 !important;
	opacity: 1 !important;
}

/*
 * Move only the right-side main login section downward.
 * The left premium panel and top SERENE ONE identity remain unchanged.
 */

@media (min-width: 768px) {
	body.serene-one-premium-login
		.login-content
		> .for-login {
		position: relative !important;
		top: 28px !important;
	}

	body.serene-one-premium-login
		.login-content
		> .for-login
		.page-card {
		margin-top: 0 !important;
	}
}

@media (
	max-height: 760px
) and (
	min-width: 768px
) {
	body.serene-one-premium-login
		.login-content
		> .for-login {
		top: 16px !important;
	}
}

@media (max-width: 767px) {
	body.serene-one-premium-login
		.login-content
		> .for-login {
		position: static !important;
		top: auto !important;
	}
}

/* Theme-independent navy inputs. */

html[data-theme="light"]
	body.serene-one-premium-login
	.page-card input,
html[data-theme="light"]
	body.serene-one-premium-login
	.page-card .form-control,
html[data-theme="dark"]
	body.serene-one-premium-login
	.page-card input,
html[data-theme="dark"]
	body.serene-one-premium-login
	.page-card .form-control {
	color: #f8fafc !important;
	-webkit-text-fill-color:
		#f8fafc !important;
	background:
		#0b1728 !important;
}

/* =====================================================================
 * SERENE ONE EXACT AUTH PANEL VERTICAL CENTRE
 * Uses one shared grid row so the active authentication section receives
 * equal available space above and below. No guessed pixel offset.
 * ===================================================================== */

@media (min-width: 768px) {
	body.serene-one-premium-login
		.login-content {
		grid-template-rows:
			minmax(0, 1fr) !important;
		align-items: stretch !important;
	}

	body.serene-one-premium-login
		.login-content
		> .serene-one-login-brand {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: stretch !important;
	}

	body.serene-one-premium-login
		.login-content
		> .for-login,
	body.serene-one-premium-login
		.login-content
		> .for-forgot,
	body.serene-one-premium-login
		.login-content
		> .for-signup,
	body.serene-one-premium-login
		.login-content
		> .for-email-login {
		position: static !important;
		inset: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-self: center !important;
		justify-self: stretch !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		transform: none !important;
	}

	body.serene-one-premium-login
		.login-content
		> .for-login {
		display: block;
	}
}

/*
 * Hidden Frappe authentication states remain in the same centred row and
 * become visible only when Frappe activates them.
 */

body.serene-one-premium-login
	.login-content
	> .for-login[style*="display: none"],
body.serene-one-premium-login
	.login-content
	> .for-forgot[style*="display: none"],
body.serene-one-premium-login
	.login-content
	> .for-signup[style*="display: none"],
body.serene-one-premium-login
	.login-content
	> .for-email-login[style*="display: none"] {
	display: none !important;
}

@media (max-width: 767px) {
	body.serene-one-premium-login
		.login-content
		> .for-login,
	body.serene-one-premium-login
		.login-content
		> .for-forgot,
	body.serene-one-premium-login
		.login-content
		> .for-signup,
	body.serene-one-premium-login
		.login-content
		> .for-email-login {
		position: static !important;
		inset: auto !important;
		top: auto !important;
		grid-column: auto !important;
		grid-row: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		transform: none !important;
	}
}
