body.enterprise-auth-page {
	min-height: 100vh;
	background:
		radial-gradient(circle at 12% 12%, rgba(245, 194, 92, .42) 0, transparent 28%),
		radial-gradient(circle at 86% 18%, rgba(73, 158, 176, .22) 0, transparent 24%),
		linear-gradient(135deg, #082131 0%, #123c52 48%, #f5eedb 48%, #fffdf7 100%);
	color: #102332;
	font-family: Signika, sans-serif;
}

body.enterprise-auth-page .enterprise-auth-loader {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 28% 24%, rgba(245, 194, 92, .22), transparent 30%),
		radial-gradient(circle at 74% 70%, rgba(49, 169, 184, .22), transparent 34%),
		linear-gradient(135deg, #071d2c 0%, #0f3447 54%, #143f53 100%);
	opacity: 1;
	visibility: visible;
	transition: opacity .42s ease, visibility .42s ease;
}

body.enterprise-auth-page.enterprise-auth-ready .enterprise-auth-loader {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

body.enterprise-auth-page .enterprise-auth-loader-mark {
	position: relative;
	width: 96px;
	height: 96px;
	border-radius: 28px;
	background: conic-gradient(from 45deg, #f5c25c, #31a9b8, #092637, #f5c25c);
	box-shadow: 0 22px 52px rgba(4, 24, 35, .28);
	animation: enterpriseAuthLoaderSpin 1.1s linear infinite;
}

body.enterprise-auth-page .enterprise-auth-loader-mark:before,
body.enterprise-auth-page .enterprise-auth-loader-mark:after {
	content: "";
	position: absolute;
}

body.enterprise-auth-page .enterprise-auth-loader-mark:before {
	inset: 12px;
	border-radius: 22px;
	background: #092637;
}

body.enterprise-auth-page .enterprise-auth-loader-mark:after {
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border-radius: 50%;
	background: #f5c25c;
	box-shadow: 0 0 0 8px rgba(245, 194, 92, .14);
}

@keyframes enterpriseAuthLoaderSpin {
	0% {
		transform: rotate(0deg) scale(.92);
	}
	50% {
		transform: rotate(180deg) scale(1);
	}
	100% {
		transform: rotate(360deg) scale(.92);
	}
}

.enterprise-auth {
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 42px 16px;
}

.enterprise-auth .auth-shell {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	background: rgba(255, 255, 255, .95);
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 30px;
	overflow: hidden;
	box-shadow: 0 32px 90px rgba(4, 24, 35, .28);
}

.enterprise-auth .auth-story {
	position: relative;
	overflow: hidden;
	min-height: 540px;
	padding: 58px;
	background: linear-gradient(145deg, #082637, #17465e);
	color: #fff;
}

.enterprise-auth .auth-story:before,
.enterprise-auth .auth-story:after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

.enterprise-auth .auth-story:before {
	right: -92px;
	top: -92px;
	width: 250px;
	height: 250px;
	background: rgba(245, 194, 92, .2);
}

.enterprise-auth .auth-story:after {
	left: -86px;
	bottom: -96px;
	width: 260px;
	height: 260px;
	background: rgba(255, 255, 255, .08);
}

.enterprise-auth .auth-logo {
	width: 84px;
	height: 84px;
	object-fit: contain;
	background: #fff;
	border-radius: 24px;
	padding: 10px;
	margin-bottom: 28px;
	box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
}

.enterprise-auth .auth-story h1 {
	position: relative;
	z-index: 1;
	max-width: 440px;
	margin: 0 0 18px;
	font-size: 44px;
	line-height: 1.05;
	font-weight: 700;
}

.enterprise-auth .auth-story p {
	position: relative;
	z-index: 1;
	max-width: 430px;
	color: rgba(255, 255, 255, .78);
	font-size: 17px;
	line-height: 1.65;
}

.enterprise-auth .story-badge {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 28px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: #f8d986;
	font-weight: 700;
}

.enterprise-auth .install-link {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin-top: 18px;
	color: #fff;
	opacity: .92;
	cursor: pointer;
}

.enterprise-auth .auth-card {
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
	padding: 58px;
	background: rgba(255, 255, 255, .97);
}

.enterprise-auth .auth-card.single {
	max-width: 560px;
	border-radius: 30px;
	box-shadow: 0 30px 80px rgba(4, 24, 35, .24);
}

.enterprise-auth .auth-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	padding: 8px 12px;
	border-radius: 999px;
	background: #f8f0df;
	color: #9b6912;
	font-weight: 700;
}

.enterprise-auth h2,
.enterprise-auth h1.form-title {
	margin: 0 0 8px;
	color: #092637;
	font-size: 34px;
	font-weight: 700;
}

.enterprise-auth .muted {
	color: #62717c;
	margin-bottom: 28px;
	font-size: 15px;
}

.enterprise-auth .notice {
	background: #eef8f1;
	color: #28623d;
	border: 1px solid #ccebd4;
	border-radius: 16px;
	padding: 13px 15px;
	margin-bottom: 20px;
}

.enterprise-auth .form-control {
	height: 50px;
	border-radius: 15px;
	border: 1px solid #d8e0e5;
	background: #fff;
	color: #102332;
	box-shadow: none;
}

.enterprise-auth .form-control:focus {
	border-color: #c58b1b;
	box-shadow: 0 0 0 3px rgba(197, 139, 27, .14);
}

.enterprise-auth .input-group-addon {
	border-radius: 15px 0 0 15px;
	background: #f6f8f9;
	border-color: #d8e0e5;
	color: #17465e;
}

.enterprise-auth .btn-enterprise {
	height: 52px;
	border: 0;
	border-radius: 16px;
	background: linear-gradient(135deg, #c58b1b, #dfaa34);
	color: #fff;
	font-weight: 700;
	box-shadow: 0 14px 28px rgba(197, 139, 27, .3);
}

.enterprise-auth .btn-enterprise:hover,
.enterprise-auth .btn-enterprise:focus {
	color: #fff;
	background: linear-gradient(135deg, #ad7814, #c99122);
}

.enterprise-auth .auth-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	margin: 6px 0 22px;
}

.enterprise-auth a,
.enterprise-auth .btn-link {
	color: #0a607f;
	font-weight: 700;
}

.enterprise-auth .otp-code {
	letter-spacing: .35em;
	text-align: center;
	font-size: 22px;
	font-weight: 700;
}

.enterprise-auth .auth-footer-note {
	margin-top: 18px;
	text-align: center;
	color: #71808a;
}

.enterprise-auth .demo-plan-switcher {
	margin-top: 18px;
	padding: 12px;
	border: 1px dashed rgba(10, 96, 127, .35);
	border-radius: 18px;
	background: rgba(10, 96, 127, .06);
	text-align: center;
}

.enterprise-auth .demo-plan-title {
	margin-bottom: 10px;
	color: #65747f;
	font-size: 12px;
	line-height: 1.45;
}

.enterprise-auth .demo-plan-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
}

.enterprise-auth .demo-plan-actions form {
	margin: 0;
}

.enterprise-auth .demo-plan-actions .btn {
	border-radius: 999px;
	font-weight: 700;
}

body.enterprise-auth-page .swal2-container.swal2-top-end,
body.enterprise-auth-page .swal2-container.swal2-top-right {
	padding: 22px;
}

body.enterprise-auth-page .swal2-popup.swal2-toast {
	width: 360px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 18px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 18px 44px rgba(4, 24, 35, .22);
	color: #102332;
}

body.enterprise-auth-page .swal2-popup.swal2-toast .swal2-title {
	margin: 0;
	color: #102332;
	font-family: Signika, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
	text-align: left;
}

body.enterprise-auth-page .swal2-popup.swal2-toast .swal2-icon {
	margin: 0 12px 0 0;
	transform: scale(.72);
}

body.enterprise-auth-page .swal2-popup.swal2-toast.swal2-icon-success {
	border-left: 5px solid #2f9b5f;
}

body.enterprise-auth-page .swal2-popup.swal2-toast.swal2-icon-error {
	border-left: 5px solid #c84435;
}

body.enterprise-auth-page .swal2-popup.swal2-toast.swal2-icon-info {
	border-left: 5px solid #0a607f;
}

body.enterprise-auth-page .swal2-popup.swal2-toast .swal2-timer-progress-bar {
	background: linear-gradient(90deg, #c58b1b, #dfaa34);
}

@media (max-width: 860px) {
	.enterprise-auth {
		padding: 24px 12px;
	}

	.enterprise-auth .auth-shell {
		grid-template-columns: 1fr;
	}

	.enterprise-auth .auth-story {
		min-height: auto;
		padding: 36px;
	}

	.enterprise-auth .auth-card {
		padding: 36px;
	}

	.enterprise-auth .auth-story h1,
	.enterprise-auth h2,
	.enterprise-auth h1.form-title {
		font-size: 30px;
	}
}
