/*
 * ZOMZEY Auth Core 18
 * Dedicated signup surface.
 * Copyright © 2026 ITXL LTD.
 */

body.zz-auth-core-page{
	background:#02040c!important;
	color:#eef2f8;
}

body.zz-auth-core-page .ticker-top-wrap,
body.zz-auth-core-page .ticker-bot-wrap,
body.zz-auth-core-page .track-top,
body.zz-auth-core-page .track-bot{
	display:none!important;
}

.zz-auth-template-main{
	width:100%;
	margin:0!important;
	padding:0!important;
	background:#02040c;
}

.zz-auth-page-layout,
.zz-auth-page-layout *{
	box-sizing:border-box;
}

.zz-auth-page-layout{
	display:grid;
	grid-template-columns:minmax(0,1.42fr) minmax(480px,.88fr);
	min-height:calc(100vh - 88px);
	width:100%;
	background:#02040c;
}

.zz-auth-hero{
	position:relative;
	min-height:760px;
	overflow:hidden;
	background:#050712;
}

.zz-auth-slides,
.zz-auth-slide,
.zz-auth-hero-shade{
	position:absolute;
	inset:0;
}

.zz-auth-slide{
	opacity:0;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	transform:scale(1.015);
	transition:opacity 1.15s ease;
	will-change:opacity;
}

.zz-auth-slide.is-active{
	opacity:1;
}

.zz-auth-slide-fallback{
	background:
		radial-gradient(circle at 72% 22%,rgba(124,58,237,.24),transparent 34%),
		radial-gradient(circle at 34% 72%,rgba(31,169,255,.20),transparent 38%),
		linear-gradient(135deg,#050812,#090d1d 58%,#03050b);
}

.zz-auth-hero-shade{
	background:
		linear-gradient(90deg,rgba(1,3,10,.90) 0%,rgba(1,3,10,.63) 36%,rgba(1,3,10,.26) 72%,rgba(1,3,10,.58) 100%),
		linear-gradient(0deg,rgba(1,3,10,.92) 0%,transparent 45%,rgba(1,3,10,.18) 100%);
}

.zz-auth-hero-content{
	position:relative;
	z-index:3;
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:760px;
	padding:clamp(54px,7vw,110px) clamp(38px,6vw,94px);
}

.zz-auth-hero-copy{
	max-width:520px;
}

.zz-auth-hero h1{
	margin:0 0 28px!important;
	color:#fff!important;
	font:800 clamp(48px,5.2vw,86px)/.98 Inter,Arial,sans-serif!important;
	letter-spacing:-.045em!important;
	text-wrap:balance;
}

.zz-auth-hero h1 span{
	display:block;
	margin-top:6px;
	background:linear-gradient(90deg,#1FA9FF 0%,#8B5CF6 55%,#D946EF 100%);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent!important;
}

.zz-auth-trust{
	display:grid;
	gap:11px;
	color:#f4f6fb;
	font:600 14px/1.35 Inter,Arial,sans-serif;
}

.zz-auth-trust span{
	display:flex;
	align-items:center;
	gap:10px;
}

.zz-auth-trust span:before{
	content:"✓";
	display:grid;
	place-items:center;
	width:19px;
	height:19px;
	flex:0 0 19px;
	border:1px solid rgba(32,227,162,.75);
	border-radius:50%;
	color:#20E3A2;
	font-size:11px;
	font-weight:800;
	background:rgba(32,227,162,.07);
}

.zz-auth-promo{
	width:min(340px,74%);
	margin-top:34px;
}

.zz-auth-promo img{
	display:block;
	width:100%;
	height:auto;
	border:1px solid rgba(167,139,250,.38);
	border-radius:14px;
	box-shadow:0 16px 48px rgba(0,0,0,.35);
}

.zz-auth-promo-fallback{
	display:flex;
	flex-direction:column;
	gap:6px;
	padding:17px 18px;
	border:1px solid rgba(167,139,250,.42);
	border-radius:14px;
	background:linear-gradient(135deg,rgba(14,20,38,.92),rgba(7,9,20,.92));
	box-shadow:0 16px 48px rgba(0,0,0,.32);
}

.zz-auth-promo-fallback small{
	color:#c4b5fd;
	font:700 10px/1.2 Inter,Arial,sans-serif;
	letter-spacing:.08em;
}

.zz-auth-promo-fallback strong{
	color:#fff;
	font:650 17px/1.28 Inter,Arial,sans-serif;
}

.zz-auth-promo-fallback span{
	color:#b9c2d2;
	font:400 12px/1.45 Inter,Arial,sans-serif;
}

.zz-auth-form-side{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:760px;
	padding:38px clamp(24px,3.5vw,58px);
	background:
		radial-gradient(circle at 50% 15%,rgba(124,58,237,.08),transparent 34%),
		linear-gradient(180deg,#070a13,#03050b);
}

.zz-auth-core{
	position:relative;
	width:min(100%,580px);
	padding:24px;
	border:1px solid rgba(147,164,195,.28);
	border-radius:16px;
	background:linear-gradient(180deg,rgba(15,19,31,.96),rgba(8,11,20,.97));
	box-shadow:0 26px 80px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.035);
	color:#edf2f9;
	font-family:Inter,Arial,sans-serif;
}

.zz-auth-anchor{
	position:absolute;
	width:0;
	height:0;
	overflow:hidden;
	pointer-events:none;
}

.zz-auth-tabs{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:6px;
	margin:0 0 16px;
	padding:4px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:11px;
	background:rgba(255,255,255,.025);
}

.zz-auth-tab{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:46px;
	padding:8px 12px;
	border-radius:8px;
	color:#aeb9ca!important;
	text-decoration:none!important;
	font:600 14px/1.2 Inter,Arial,sans-serif!important;
}

.zz-auth-tab-register{
	background:linear-gradient(135deg,rgba(31,169,255,.25),rgba(139,92,246,.22));
	color:#fff!important;
	box-shadow:inset 0 0 0 1px rgba(96,165,250,.44);
}

.zz-auth-core:not(.zz-auth-js-ready):has(#signin:target) .zz-auth-tab-register,
.zz-auth-core:not(.zz-auth-js-ready):has(#reset:target) .zz-auth-tab-register,
.zz-auth-core:not(.zz-auth-js-ready):has(#newpassword:target) .zz-auth-tab-register{
	background:transparent;
	color:#aeb9ca!important;
	box-shadow:none;
}

.zz-auth-core:not(.zz-auth-js-ready):has(#signin:target) .zz-auth-tab-login,
.zz-auth-core:not(.zz-auth-js-ready):has(#reset:target) .zz-auth-tab-login,
.zz-auth-core:not(.zz-auth-js-ready):has(#newpassword:target) .zz-auth-tab-login{
	background:linear-gradient(135deg,rgba(31,169,255,.25),rgba(139,92,246,.22));
	color:#fff!important;
	box-shadow:inset 0 0 0 1px rgba(96,165,250,.44);
}

.zz-auth-intro{
	margin:0 0 14px!important;
	color:#b6c0d0!important;
	font:400 13px/1.45 Inter,Arial,sans-serif!important;
}

.zz-auth-login-panel,
.zz-auth-reset-panel,
.zz-auth-new-password-panel{
	display:none;
}

.zz-auth-core:not(.zz-auth-js-ready):has(#signin:target) .zz-auth-register-panel,
.zz-auth-core:not(.zz-auth-js-ready):has(#reset:target) .zz-auth-register-panel{
	display:none;
}

.zz-auth-core:not(.zz-auth-js-ready):has(#signin:target) .zz-auth-login-panel{
	display:block;
}

.zz-auth-core:not(.zz-auth-js-ready):has(#reset:target) .zz-auth-reset-panel{
	display:block;
}

.zz-auth-core:not(.zz-auth-js-ready):has(#newpassword:target) .zz-auth-register-panel{
	display:none;
}

.zz-auth-core:not(.zz-auth-js-ready):has(#newpassword:target) .zz-auth-new-password-panel{
	display:block;
}

.zz-auth-heading{
	margin:0 0 16px;
}

.zz-auth-heading h2{
	margin:0 0 5px!important;
	color:#fff!important;
	font:650 21px/1.22 Inter,Arial,sans-serif!important;
}

.zz-auth-heading p{
	margin:0!important;
	color:#aeb8c8!important;
	font:400 13px/1.5 Inter,Arial,sans-serif!important;
}

.zz-auth-core .hp-form__field{
	margin:0 0 12px!important;
}

.zz-auth-core .hp-form__label,
.zz-auth-core .hp-field__label{
	margin:0 0 6px!important;
	color:#c5cede!important;
	font:650 11.5px/1.2 Inter,Arial,sans-serif!important;
	letter-spacing:.06em!important;
	text-transform:uppercase!important;
}

.zz-auth-core input[type="text"],
.zz-auth-core input[type="email"],
.zz-auth-core input[type="password"],
.zz-auth-core select{
	width:100%!important;
	height:46px!important;
	min-height:46px!important;
	padding:9px 12px!important;
	border:1px solid rgba(163,177,201,.30)!important;
	border-radius:8px!important;
	background:#0b0f18!important;
	color:#fff!important;
	box-shadow:none!important;
	font:400 14px/1.25 Inter,Arial,sans-serif!important;
}

.zz-auth-core select{
	padding-right:38px!important;
}

.zz-auth-core input::placeholder{
	color:#748097!important;
	opacity:1!important;
}

.zz-auth-core input:focus,
.zz-auth-core select:focus{
	outline:none!important;
	border-color:#7C8CFF!important;
	box-shadow:0 0 0 3px rgba(124,140,255,.12)!important;
}

.zz-auth-core .hp-field__description{
	margin-top:5px!important;
	color:#8f9bb0!important;
	font:400 12px/1.42 Inter,Arial,sans-serif!important;
}

.zz-auth-core .hp-form--user-register .hp-form__fields{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
	column-gap:10px!important;
	align-items:start!important;
}

.zz-auth-core .hp-form--user-register .hp-form__field{
	grid-column:1 / -1;
	min-width:0;
}

.zz-auth-core .hp-form--user-register .hp-form__field:has(input[name="username"]){
	grid-column:1;
}

.zz-auth-core .hp-form--user-register .hp-form__field:has(input[name="email"]){
	grid-column:2;
}

.zz-auth-role-advice{
	display:block;
	color:#a0adbf;
	font-size:12px;
	line-height:1.42;
}

.zz-auth-role-advice strong{
	color:#dbe2ec;
	font-weight:600;
}

/* Rich role picker. Native select remains the server/fallback authority. */
.zz-role-native-hidden{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	opacity:0!important;
	pointer-events:none!important;
}

.zz-role-picker{
	position:relative;
}

.zz-role-picker-button{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	width:100%;
	min-height:49px;
	padding:9px 12px;
	border:1px solid rgba(163,177,201,.34);
	border-radius:9px;
	background:#0b0f18;
	color:#fff;
	text-align:left;
	cursor:pointer;
}

.zz-role-picker-button:hover,
.zz-role-picker.is-open .zz-role-picker-button{
	border-color:#8B5CF6;
	box-shadow:0 0 0 3px rgba(139,92,246,.10);
}

.zz-role-current{
	display:flex;
	align-items:center;
	gap:10px;
	min-width:0;
}

.zz-role-current img{
	width:23px;
	height:23px;
	flex:0 0 23px;
}

.zz-role-current-copy{
	display:flex;
	flex-direction:column;
	gap:1px;
	min-width:0;
}

.zz-role-current-copy strong{
	color:#eef2f8;
	font-size:13px;
	font-weight:600;
}

.zz-role-current-copy small{
	color:#8996aa;
	font-size:11px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.zz-role-placeholder{
	color:#8793a8;
	font-size:14px;
}

.zz-role-chevron{
	color:#8996aa;
	font-size:16px;
	transition:transform .2s ease;
}

.zz-role-picker.is-open .zz-role-chevron{
	transform:rotate(180deg);
}

.zz-role-menu{
	position:absolute;
	z-index:60;
	top:calc(100% + 6px);
	left:0;
	right:0;
	display:none;
	padding:6px;
	border:1px solid rgba(139,92,246,.55);
	border-radius:10px;
	background:#0a0e17;
	box-shadow:0 22px 60px rgba(0,0,0,.55);
}

.zz-role-picker.is-open .zz-role-menu{
	display:block;
}

.zz-role-option{
	display:grid;
	grid-template-columns:30px 1fr 18px;
	align-items:center;
	gap:10px;
	width:100%;
	padding:9px 10px;
	border:0;
	border-radius:8px;
	background:transparent;
	color:#fff;
	text-align:left;
	cursor:pointer;
}

.zz-role-option:hover,
.zz-role-option.is-selected{
	background:rgba(255,255,255,.055);
}

.zz-role-option img{
	width:24px;
	height:24px;
}

.zz-role-option-copy{
	display:flex;
	flex-direction:column;
	gap:2px;
	min-width:0;
}

.zz-role-option-copy strong{
	color:#fff;
	font-size:13px;
	font-weight:650;
}

.zz-role-option-copy small{
	color:#9aa6b9;
	font-size:11.5px;
	line-height:1.28;
}

.zz-role-tick{
	width:14px;
	height:14px;
	border:1.5px solid #69758a;
	border-radius:50%;
}

.zz-role-option.is-selected .zz-role-tick{
	border:4px solid #20E3A2;
	background:#071b16;
}

/* Agency branch. The normal signup form remains visible until Agency is chosen. */
.zz-auth-agency-only{
	display:none;
	margin-top:12px;
	padding:14px;
	border:1px solid rgba(0,255,255,.28);
	border-radius:11px;
	background:linear-gradient(180deg,rgba(0,255,255,.035),rgba(124,58,237,.025));
}

.zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"] option[value="agency"]:checked) .zz-auth-agency-only,
.zz-auth-agency-only.is-visible{
	display:block;
}

.zz-auth-agency-heading{
	display:block;
	margin:0 0 3px;
	color:#f5f7fa;
	font-size:13px;
	font-weight:700;
	letter-spacing:.02em;
	text-transform:uppercase;
}

.zz-auth-agency-copy{
	display:block;
	margin:0 0 10px;
	color:#aeb9ca;
	font-size:12px;
	line-height:1.4;
}

.zz-auth-agency-links{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
}

.zz-auth-agency-plan{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:66px;
	padding:10px 34px 10px 12px;
	border:1px solid rgba(0,255,255,.28);
	border-radius:9px;
	background:rgba(5,15,26,.82);
	box-shadow:none;
	color:#fff;
	text-align:left;
	cursor:pointer;
	text-decoration:none!important;
	transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

.zz-auth-agency-plan:hover{
	border-color:rgba(0,255,255,.62);
	background:rgba(0,255,255,.055);
}

.zz-auth-agency-plan.is-selected{
	border-color:#20E3A2;
	background:rgba(32,227,162,.075);
	box-shadow:0 0 0 2px rgba(32,227,162,.10);
}

.zz-auth-agency-plan strong{
	color:#f5f7fa;
	font-size:12px;
	font-weight:650;
}

.zz-auth-agency-plan small{
	margin-top:3px;
	color:#00FFFF;
	font-size:10.5px;
}

.zz-auth-agency-plan-check{
	position:absolute;
	top:50%;
	right:11px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:18px;
	height:18px;
	margin-top:-9px;
	border:1px solid rgba(174,185,202,.55);
	border-radius:50%;
	color:transparent;
	font-size:11px;
	font-weight:800;
}

.zz-auth-agency-plan.is-selected .zz-auth-agency-plan-check{
	border-color:#20E3A2;
	background:#20E3A2;
	color:#04120e;
}

.zz-auth-agency-continue{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:42px;
	margin-top:10px;
	padding:9px 14px;
	border:0;
	border-radius:9px;
	background:linear-gradient(90deg,#2788FF 0%,#7C3AED 54%,#D12CB6 100%);
	color:#fff;
	font:700 12.5px/1.2 Inter,Arial,sans-serif;
	cursor:pointer;
}

.zz-auth-agency-continue[aria-disabled="true"]{
	background:#1a2230;
	color:#7f8ca0;
	cursor:not-allowed;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.zz-auth-agency-handoff{
	display:block;
	margin-top:7px;
	color:#7f8ca0;
	font-size:10.5px;
	line-height:1.35;
	text-align:center;
}

.zz-auth-complete-agency .zz-auth-agency-links a{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:52px;
	padding:9px 11px;
	border:1px solid rgba(0,255,255,.30);
	border-radius:9px;
	background:rgba(0,255,255,.035);
	text-decoration:none!important;
}

.zz-auth-complete-agency .zz-auth-agency-links a:hover{
	border-color:rgba(0,255,255,.70);
	background:rgba(0,255,255,.07);
}

.zz-auth-complete-agency .zz-auth-agency-links a strong{
	color:#f5f7fa;
	font-size:12px;
	font-weight:600;
}

.zz-auth-complete-agency .zz-auth-agency-links a small{
	margin-top:2px;
	color:#00FFFF;
	font-size:10.5px;
}

/* When Agency is chosen, the same card becomes the paid Agency branch. */
.zz-auth-core .hp-form--user-register.zz-auth-agency-selected .hp-form__fields > :not(.hp-form__field:has(select[name="_zz_auth_role"])){
	display:none!important;
}

.zz-auth-core .hp-form--user-register.zz-auth-agency-selected .hp-form__field:not(:has(select[name="_zz_auth_role"])){
	display:none!important;
}

.zz-auth-core .hp-form--user-register.zz-auth-agency-selected .hp-form__footer,
.zz-auth-core .hp-form--user-register.zz-auth-agency-selected .cf-turnstile{
	display:none!important;
}

.zz-auth-core .hp-form--user-register:has(select[name="_zz_auth_role"] option[value="agency"]:checked) .hp-form__button,
.zz-auth-core .hp-form--user-register.zz-auth-agency-selected .hp-form__button{
	display:none!important;
}

.zz-auth-core.zz-auth-agency-mode[data-zz-auth-view="register"] .zz-auth-social{
	display:none!important;
}

.zz-auth-core.zz-auth-agency-mode[data-zz-auth-view="register"] .zz-auth-footnote{
	margin-top:auto!important;
}

/* Terms: one clean sentence. */
.zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]){
	display:block!important;
	margin:3px 0 12px!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
}

.zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) label{
	display:flex!important;
	align-items:center!important;
	gap:8px!important;
	width:100%!important;
	margin:0!important;
	color:#cbd3df!important;
	font:400 12.5px/1.35 Inter,Arial,sans-serif!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}

.zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) label span{
	color:#cbd3df!important;
	font:inherit!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}

.zz-auth-core input[name="_zz_terms_agree"]{
	flex:0 0 16px!important;
	width:16px!important;
	height:16px!important;
	margin:0!important;
	accent-color:#8B5CF6!important;
}

.zz-auth-core .zz-terms-inline-link{
	color:#C084FC!important;
	text-decoration:none!important;
	border-bottom:1px solid transparent;
}

.zz-auth-core .zz-terms-inline-link:hover{
	color:#E9D5FF!important;
	border-bottom-color:currentColor;
}

/* Verification/messages */
.zz-auth-core .hp-form--user-register{
	display:flex!important;
	flex-direction:column!important;
}

.zz-auth-core .hp-form--user-register > .hp-form__fields{
	order:1;
}

.zz-auth-core .hp-form--user-register > .hp-form__header,
.zz-auth-core .hp-form--user-register > .hp-form__messages{
	order:2;
}

.zz-auth-core .hp-form--user-register > .hp-form__footer{
	order:3;
}

.zz-auth-core .hp-form--user-register .hp-form__messages:not(:empty){
	width:100%!important;
	margin:4px 0 10px!important;
	padding:10px 12px!important;
	border:1px solid rgba(32,227,162,.55)!important;
	border-radius:9px!important;
	background:#0b1a18!important;
	color:#d8efe8!important;
	font:400 13px/1.45 Inter,Arial,sans-serif!important;
}

/* Turnstile styled in place; never moved or recreated. */
.zz-auth-core .cf-turnstile{
	position:relative!important;
	display:block!important;
	width:100%!important;
	margin:6px 0 12px!important;
	padding:27px 9px 9px!important;
	border:1px solid rgba(32,227,162,.30)!important;
	border-radius:9px!important;
	background:rgba(32,227,162,.025)!important;
}

.zz-auth-core .cf-turnstile:before{
	content:"SECURITY CHECK";
	position:absolute;
	top:9px;
	left:10px;
	color:#20E3A2;
	font:700 9.5px/1 Inter,Arial,sans-serif;
	letter-spacing:.12em;
}

.zz-auth-core .hp-form__footer{
	margin-top:5px!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__button,
body.zz-auth-core-page .zz-auth-core button[type="submit"],
body.zz-auth-core-page .zz-auth-core input[type="submit"]{
	width:100%!important;
	min-height:45px!important;
	height:45px!important;
	padding:0 18px!important;
	border:1px solid rgba(196,181,253,.75)!important;
	border-radius:9px!important;
	background:linear-gradient(90deg,#2788ff 0%,#7C3AED 54%,#D12CB6 100%)!important;
	color:#fff!important;
	font:650 14px/43px Inter,Arial,sans-serif!important;
	box-shadow:0 8px 24px rgba(124,58,237,.24)!important;
	cursor:pointer!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__button:hover,
body.zz-auth-core-page .zz-auth-core button[type="submit"]:hover,
body.zz-auth-core-page .zz-auth-core input[type="submit"]:hover{
	filter:brightness(1.07);
}

.zz-auth-core .hp-form__action--user-register,
.zz-auth-core .hp-form__action--user-login,
.zz-auth-core .hp-form__action--user-password-request{
	display:none!important;
}

.zz-auth-reset-link{
	display:block;
	width:max-content;
	margin:9px auto 0;
	color:#5DBBFF!important;
	text-decoration:none!important;
	font:500 12.5px/1.3 Inter,Arial,sans-serif!important;
}

.zz-auth-reset-link:hover{
	text-decoration:underline!important;
}

.zz-auth-native-reset .hp-form__description{
	display:none!important;
}

.zz-auth-divider{
	display:flex;
	align-items:center;
	gap:10px;
	margin:12px 0 8px;
	color:#8d98aa;
	font:400 11.5px/1 Inter,Arial,sans-serif;
}

.zz-auth-divider:before,
.zz-auth-divider:after{
	content:"";
	flex:1 1 auto;
	height:1px;
	background:rgba(255,255,255,.10);
}

.zz-auth-core .nsl-container.nsl-container-block{
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	text-align:center!important;
}

.zz-auth-core .nsl-container.nsl-container-block .nsl-container-buttons{
	display:grid!important;
	grid-template-columns:repeat(3,minmax(0,1fr))!important;
	gap:8px!important;
	align-items:stretch!important;
}

.zz-auth-core .nsl-container.nsl-container-block .nsl-container-buttons > a{
	width:100%!important;
	min-width:0!important;
	margin:0!important;
}

.zz-auth-core .nsl-container.nsl-container-block .nsl-button{
	width:100%!important;
	min-width:0!important;
	height:43px!important;
	min-height:43px!important;
	border-radius:8px!important;
	box-shadow:none!important;
}

.zz-auth-core .nsl-button-svg-container{
	flex:0 0 auto!important;
}

.zz-auth-core .nsl-button-label-container{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-width:0!important;
	padding:0 8px!important;
	font:600 12px/1.1 Inter,Arial,sans-serif!important;
	white-space:nowrap!important;
	text-align:center!important;
}

.zz-auth-footnote{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin-top:14px;
	color:#929daf;
	font:400 11.5px/1.3 Inter,Arial,sans-serif;
}

.zz-auth-footnote i{
	width:1px;
	height:12px;
	background:rgba(255,255,255,.18);
}

/* Username status */
.zz-auth-core .hp-form__field:has(input[name="username"]){
	position:relative!important;
}

.zz-auth-core input[name="username"]{
	padding-right:100px!important;
}

.zz-auth-username-verdict{
	position:absolute;
	right:10px;
	top:33px;
	z-index:3;
	max-width:88px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	color:#8b97aa;
	font:650 10.5px/1.2 Inter,Arial,sans-serif;
	pointer-events:none;
}

.zz-auth-username-verdict.is-ok{color:#20E3A2;}
.zz-auth-username-verdict.is-bad{color:#ff7f7f;}

/* Password eye */
.zz-auth-password-host{
	position:relative!important;
}

.zz-auth-password-host input{
	padding-right:42px!important;
}

.zz-auth-password-eye{
	position:absolute;
	right:7px;
	top:50%;
	transform:translateY(-50%);
	width:30px;
	height:30px;
	display:grid;
	place-items:center;
	padding:0;
	border:0;
	background:transparent;
	color:#93a5c4;
	cursor:pointer;
}

.zz-auth-password-eye:hover{color:#20E3A2;}

.zz-auth-password-eye svg{
	width:17px;
	height:17px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
}

/* Social role completion */
.zz-auth-complete-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
}

.zz-auth-complete-grid button{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	min-height:72px!important;
	height:auto!important;
	padding:11px 12px!important;
	border:1px solid rgba(255,255,255,.16)!important;
	border-radius:9px!important;
	background:#0b0f18!important;
	color:#fff!important;
	text-align:left!important;
	box-shadow:none!important;
	cursor:pointer;
	line-height:1.2!important;
}

.zz-auth-complete-grid button:hover{
	border-color:#8B5CF6!important;
}

.zz-auth-complete-grid strong{
	font-size:13px;
	font-weight:650;
}

.zz-auth-complete-grid span{
	margin-top:4px;
	color:#9ba8ba;
	font-size:11.5px;
	line-height:1.35;
}

.zz-auth-complete-agency{
	margin-top:14px;
	padding-top:12px;
	border-top:1px solid rgba(255,255,255,.10);
}

.zz-auth-complete-agency p{
	margin:0 0 8px;
	color:#9ba8ba;
	font-size:12px;
	line-height:1.45;
}

.zz-auth-role-label{
	margin:0 0 5px;
	color:#d1d9e5;
	font:650 11px/1.2 Inter,Arial,sans-serif;
	letter-spacing:.05em;
	text-transform:uppercase;
}

.zz-auth-fallback,
.zz-auth-signed-in{
	color:#c9d2ea;
	font-size:13px;
}

/* Mobile/tablet: hero first, card folds below. */
@media(max-width:1050px){
	.zz-auth-page-layout{
		grid-template-columns:1fr;
	}

	.zz-auth-hero,
	.zz-auth-hero-content{
		min-height:clamp(600px,78vh,820px);
	}

	.zz-auth-form-side{
		min-height:auto;
		padding:34px 20px 54px;
	}

	.zz-auth-core{
		width:min(100%,620px);
	}
}

@media(max-width:720px){
	.zz-auth-hero,
	.zz-auth-hero-content{
		min-height:76vh;
	}

	.zz-auth-hero-content{
		justify-content:flex-end;
		padding:42px 24px 34px;
	}

	.zz-auth-hero h1{
		margin-bottom:18px!important;
		font-size:clamp(44px,14vw,68px)!important;
	}

	.zz-auth-trust{
		grid-template-columns:1fr 1fr;
		gap:8px 12px;
		font-size:12px;
	}

	.zz-auth-promo{
		width:min(330px,82%);
		margin-top:22px;
	}

	.zz-auth-form-side{
		padding:24px 12px 42px;
	}

	.zz-auth-core{
		padding:18px;
		border-radius:13px;
	}

	.zz-auth-core .hp-form--user-register .hp-form__fields{
		grid-template-columns:1fr!important;
	}

	.zz-auth-core .hp-form--user-register .hp-form__field:has(input[name="username"]),
	.zz-auth-core .hp-form--user-register .hp-form__field:has(input[name="email"]){
		grid-column:1!important;
	}

	.zz-role-current-copy small{
		white-space:normal;
	}

	.zz-auth-core .nsl-container.nsl-container-block .nsl-container-buttons{
		grid-template-columns:1fr!important;
		gap:6px!important;
	}

	.zz-auth-complete-grid{
		grid-template-columns:1fr;
	}
}

@media(prefers-reduced-motion:reduce){
	.zz-auth-slide{
		transition:none!important;
	}
}


/* ============================================================
   V5 VISUAL HARDENING
   Fixes inherited dark text, field-row alignment, duplicate
   native role control, Terms shell and social-label alignment.
   ============================================================ */

body.zz-auth-core-page{
	overflow-x:hidden!important;
}

body.zz-auth-core-page .zz-auth-page-layout{
	max-width:100vw!important;
	overflow-x:hidden!important;
}

/* Never allow theme/HivePress label colours to become black on the auth card. */
body.zz-auth-core-page .zz-auth-core .hp-form__field > label,
body.zz-auth-core-page .zz-auth-core .hp-form__field > .hp-form__label,
body.zz-auth-core-page .zz-auth-core .hp-form__field > .hp-field__label,
body.zz-auth-core-page .zz-auth-core .hp-form__field legend,
body.zz-auth-core-page .zz-auth-core .hp-form__label,
body.zz-auth-core-page .zz-auth-core .hp-field__label{
	color:#DCE5F2!important;
	font-size:12px!important;
	font-weight:650!important;
	line-height:1.2!important;
	letter-spacing:.055em!important;
	text-transform:uppercase!important;
	opacity:1!important;
}

/* Username + Email must share the same input baseline. */
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]),
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="email"]){
	display:flex!important;
	flex-direction:column!important;
	align-items:stretch!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > label,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-form__label,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field__label,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="email"]) > label,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="email"]) > .hp-form__label,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="email"]) > .hp-field__label{
	order:1!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > input,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="email"]) > input,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="email"]) > .hp-field{
	order:2!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field__description,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="email"]) > .hp-field__description{
	order:3!important;
	margin-top:6px!important;
	color:#A8B4C7!important;
	font-size:12px!important;
	line-height:1.35!important;
	opacity:1!important;
}

/* Password and role advice must also remain readable. */
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[type="password"]) .hp-field__description,
body.zz-auth-core-page .zz-auth-core .zz-auth-role-advice{
	color:#A8B4C7!important;
	font-size:12px!important;
	line-height:1.42!important;
	opacity:1!important;
}

/* Role field ordering: label -> rich picker -> advice/Agency branch. */
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]){
	display:flex!important;
	flex-direction:column!important;
	align-items:stretch!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]) > label,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]) > .hp-form__label,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]) > .hp-field__label{
	order:1!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]) > .zz-role-picker{
	order:2!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]) > .hp-field__description{
	order:3!important;
	margin-top:7px!important;
	color:#A8B4C7!important;
}

/* Once V5's rich picker is built, make the actual native select invisible.
   Without JS this class is never added, so native fallback still works. */
body.zz-auth-core-page .zz-auth-core select.zz-role-native-hidden{
	display:none!important;
	position:absolute!important;
	width:0!important;
	height:0!important;
	min-width:0!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	opacity:0!important;
	pointer-events:none!important;
}

body.zz-auth-core-page .zz-auth-core .zz-role-generated-hidden{
	display:none!important;
	visibility:hidden!important;
	width:0!important;
	height:0!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
}

/* One clean Terms sentence. Remove any HivePress/theme blue card wrappers. */
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]),
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) > div,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) .hp-field,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) .hp-field--checkbox,
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) .hp-field--checkboxes{
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]){
	margin:5px 0 13px!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) label{
	display:flex!important;
	align-items:center!important;
	gap:9px!important;
	min-height:24px!important;
	padding:0!important;
	color:#D6DEEA!important;
	background:transparent!important;
	border:0!important;
	font-size:12.5px!important;
	line-height:1.35!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]) label span{
	color:#D6DEEA!important;
	font:inherit!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}

/* Keep the main account actions on the locked ZOMZEY gradient. */
body.zz-auth-core-page .zz-auth-core .hp-form--user-register .hp-form__button,
body.zz-auth-core-page .zz-auth-core .hp-form--user-register button[type="submit"],
body.zz-auth-core-page .zz-auth-core .hp-form--user-register input[type="submit"],
body.zz-auth-core-page .zz-auth-core .hp-form--user-login .hp-form__button,
body.zz-auth-core-page .zz-auth-core .hp-form--user-password-request .hp-form__button{
	background-color:#7C3AED!important;
	background-image:linear-gradient(90deg,#2788FF 0%,#7C3AED 54%,#D12CB6 100%)!important;
	background-repeat:no-repeat!important;
	border-color:rgba(196,181,253,.80)!important;
	color:#fff!important;
}

/* Social provider buttons: retain provider styling, normalise internal geometry. */
body.zz-auth-core-page .zz-auth-core .nsl-container .nsl-button{
	display:flex!important;
	align-items:center!important;
	justify-content:flex-start!important;
	overflow:hidden!important;
}

body.zz-auth-core-page .zz-auth-core .nsl-container .nsl-button-svg-container{
	flex:0 0 40px!important;
	width:40px!important;
	min-width:40px!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
}

body.zz-auth-core-page .zz-auth-core .nsl-container .nsl-button-label-container{
	flex:1 1 auto!important;
	width:auto!important;
	min-width:0!important;
	height:100%!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	padding:0 10px 0 2px!important;
	font-size:12px!important;
	font-weight:600!important;
	line-height:1!important;
	white-space:nowrap!important;
	text-align:center!important;
}

/* Slightly improve box rhythm after removing the broken Terms shell. */
body.zz-auth-core-page .zz-auth-core .hp-form--user-register .hp-form__fields{
	row-gap:0!important;
}

body.zz-auth-core-page .zz-auth-core .zz-role-picker-button{
	min-height:50px!important;
}

@media(max-width:720px){
	body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field__description{
		margin-bottom:1px!important;
	}
}


/* ============================================================
   V6 STABILITY PASS
   The card is top-anchored and keeps a constant desktop height.
   Tabs/reset no longer navigate to hash targets, so clicks cannot
   make the page jump or vertically re-centre.
   ============================================================ */

/* Top-anchor the form; never vertically re-centre when panel height changes. */
body.zz-auth-core-page .zz-auth-form-side{
	align-items:flex-start!important;
	padding-top:clamp(78px,9vh,112px)!important;
}

/* Fixed desktop shell height keeps Create / Sign in / Reset in the same place. */
body.zz-auth-core-page .zz-auth-core{
	min-height:690px!important;
	display:flex!important;
	flex-direction:column!important;
}

/* Stable panel state is JS/data-attribute driven, not :target driven. */
body.zz-auth-core-page .zz-auth-core .zz-auth-register-panel,
body.zz-auth-core-page .zz-auth-core .zz-auth-login-panel,
body.zz-auth-core-page .zz-auth-core .zz-auth-reset-panel,
body.zz-auth-core-page .zz-auth-core .zz-auth-new-password-panel{
	display:none!important;
}

body.zz-auth-core-page .zz-auth-core[data-zz-auth-view="register"] .zz-auth-register-panel,
body.zz-auth-core-page .zz-auth-core[data-zz-auth-view="login"] .zz-auth-login-panel,
body.zz-auth-core-page .zz-auth-core[data-zz-auth-view="reset"] .zz-auth-reset-panel,
body.zz-auth-core-page .zz-auth-core[data-zz-auth-view="password"] .zz-auth-new-password-panel{
	display:block!important;
}

/* Override the older :has(:target) rules from previous versions. */
body.zz-auth-core-page .zz-auth-core:not(.zz-auth-js-ready):has(#signin:target) .zz-auth-register-panel,
body.zz-auth-core-page .zz-auth-core:not(.zz-auth-js-ready):has(#reset:target) .zz-auth-register-panel{
	display:none!important;
}

body.zz-auth-core-page .zz-auth-tabs{
	flex:0 0 auto!important;
}

body.zz-auth-core-page .zz-auth-tab{
	appearance:none!important;
	-webkit-appearance:none!important;
	border:0!important;
	cursor:pointer!important;
}

body.zz-auth-core-page .zz-auth-tab-register,
body.zz-auth-core-page .zz-auth-tab-login{
	background:transparent!important;
	color:#AEB9CA!important;
	box-shadow:none!important;
}

body.zz-auth-core-page .zz-auth-tab.is-active{
	background:linear-gradient(135deg,rgba(31,169,255,.25),rgba(139,92,246,.22))!important;
	color:#fff!important;
	box-shadow:inset 0 0 0 1px rgba(96,165,250,.44)!important;
}

/* Panels use the same starting line. */
body.zz-auth-core-page .zz-auth-panel{
	flex:0 0 auto!important;
}

/* Social and security footer settle to the bottom of the constant shell. */
body.zz-auth-core-page .zz-auth-social{
	margin-top:auto!important;
}

body.zz-auth-core-page .zz-auth-footnote{
	flex:0 0 auto!important;
}

/* Username helper: exact requested micro-note. */
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field__description{
	font-size:11.5px!important;
	line-height:1.25!important;
	color:#9AA7BA!important;
	margin-top:5px!important;
	white-space:nowrap!important;
}

/* Remove any stale helper copy in role description space unless it is Agency. */
body.zz-auth-core-page .zz-auth-core .zz-auth-role-advice{
	display:none!important;
}

/* Keep role field compact and balanced without the removed helper text. */
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]) > .hp-field__description{
	margin-top:0!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(select[name="_zz_auth_role"]) > .hp-field__description:empty{
	display:none!important;
}

/* Balance all primary form controls. */
body.zz-auth-core-page .zz-auth-core input[type="text"],
body.zz-auth-core-page .zz-auth-core input[type="email"],
body.zz-auth-core-page .zz-auth-core input[type="password"],
body.zz-auth-core-page .zz-auth-core .zz-role-picker-button{
	height:46px!important;
	min-height:46px!important;
	border-radius:8px!important;
}

/* Absolute guarantee: Register/Login/Reset text is perfectly centred. */
body.zz-auth-core-page .zz-auth-core .hp-form__button,
body.zz-auth-core-page .zz-auth-core button[type="submit"],
body.zz-auth-core-page .zz-auth-core input[type="submit"]{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	text-align:center!important;
	line-height:1!important;
	text-indent:0!important;
	padding:0 18px!important;
}

/* Input submit cannot flex its own text in every browser; normalise its line box. */
body.zz-auth-core-page .zz-auth-core input[type="submit"]{
	line-height:43px!important;
}

/* Forgot/back buttons should not inherit the large submit-button treatment. */
body.zz-auth-core-page .zz-auth-core .zz-auth-reset-link{
	appearance:none!important;
	-webkit-appearance:none!important;
	display:block!important;
	width:max-content!important;
	height:auto!important;
	min-height:0!important;
	margin:9px auto 0!important;
	padding:3px 5px!important;
	border:0!important;
	background:transparent!important;
	background-image:none!important;
	box-shadow:none!important;
	color:#5DBBFF!important;
	font:500 12.5px/1.3 Inter,Arial,sans-serif!important;
	cursor:pointer!important;
	text-align:center!important;
}

/* Terms and Security align to the same card width. */
body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="_zz_terms_agree"]),
body.zz-auth-core-page .zz-auth-core .cf-turnstile,
body.zz-auth-core-page .zz-auth-core .hp-form__footer,
body.zz-auth-core-page .zz-auth-core .zz-auth-social{
	width:100%!important;
}

/* Slightly more consistent spacing through the registration stack. */
body.zz-auth-core-page .zz-auth-core .hp-form--user-register .hp-form__field{
	margin-bottom:11px!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form--user-register .hp-form__field:has(input[name="_zz_terms_agree"]){
	margin-top:2px!important;
	margin-bottom:12px!important;
}

@media(max-width:1050px){
	body.zz-auth-core-page .zz-auth-form-side{
		padding-top:34px!important;
	}

	body.zz-auth-core-page .zz-auth-core{
		min-height:0!important;
	}
}

@media(max-width:720px){
	body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field__description{
		white-space:normal!important;
	}
}


/* V7 microcopy polish */
body.zz-auth-core-page .zz-auth-core input[name="username"]::placeholder{
	color:#20E3A2!important;
	opacity:1!important;
	font-weight:500!important;
}

body.zz-auth-core-page .zz-auth-core input[type="email"]::placeholder,
body.zz-auth-core-page .zz-auth-core input[type="password"]::placeholder{
	color:#8F9BAE!important;
	opacity:1!important;
}


/* ============================================================
   V8 MICRO-POLISH
   Founder correction:
   - username placeholder is normal faint field text
   - immutable-username note is green + centred below the box
   - Auth Core does not add a second password-eye control
   ============================================================ */

body.zz-auth-core-page .zz-auth-core input[name="username"]::placeholder{
	color:#748097!important;
	opacity:1!important;
	font-weight:400!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field__description{
	display:block!important;
	width:100%!important;
	margin:6px 0 0!important;
	color:#20E3A2!important;
	font-size:11.5px!important;
	font-weight:500!important;
	line-height:1.25!important;
	text-align:center!important;
	white-space:nowrap!important;
}

/* Native HivePress/theme password eye remains the only eye.
   Hide any Auth Core duplicate if stale markup survives a cached page. */
body.zz-auth-core-page .zz-auth-core .zz-auth-password-eye{
	display:none!important;
}

/* Our old wrapper must not alter password geometry anymore. */
body.zz-auth-core-page .zz-auth-core .zz-auth-password-host{
	position:static!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-password-host input{
	padding-right:12px!important;
}

@media(max-width:720px){
	body.zz-auth-core-page .zz-auth-core .hp-form__field:has(input[name="username"]) > .hp-field__description{
		white-space:normal!important;
	}
}


/* ============================================================
   V9 PASSWORD-EYE + SLIDESHOW TIMING
   ============================================================ */

/* Old Code Snippets ID 160 injected .ianzz-eye and positioned it from
   offsets. It is retired on the Auth Core surface even if stale cache or
   an accidentally-active snippet tries to render it. */
body.zz-auth-core-page .zz-auth-core .ianzz-eye{
	display:none!important;
	visibility:hidden!important;
	pointer-events:none!important;
}

/* Auth Core owns exactly one password eye and pins it inside the field. */
body.zz-auth-core-page .zz-auth-core .zz-auth-password-host{
	position:relative!important;
	display:block!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-password-host input{
	padding-right:44px!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-password-eye{
	position:absolute!important;
	right:11px!important;
	top:calc(50% + 2px)!important;
	left:auto!important;
	bottom:auto!important;
	transform:translateY(-50%)!important;
	z-index:12!important;
	display:grid!important;
	place-items:center!important;
	width:30px!important;
	height:30px!important;
	min-width:30px!important;
	min-height:30px!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:50%!important;
	background:transparent!important;
	background-image:none!important;
	box-shadow:none!important;
	color:#93A5C4!important;
	cursor:pointer!important;
	line-height:1!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-password-eye:hover{
	color:#20E3A2!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-password-eye svg{
	display:block!important;
	width:17px!important;
	height:17px!important;
	fill:none!important;
	stroke:currentColor!important;
	stroke-width:1.8!important;
	stroke-linecap:round!important;
	stroke-linejoin:round!important;
}

/* Version 18: each image holds for 7 seconds, then crossfades for 6.9 seconds. */
body.zz-auth-core-page .zz-auth-slide{
	transition:opacity 6.9s ease!important;
}


/* Auth Core owns the only visible password-eye control.
   Hide HivePress/theme-native toggle variants that otherwise render
   outside the field when the old ID 160 snippet is off. */
body.zz-auth-core-page .zz-auth-core .hp-form__field--password .hp-field__icon,
body.zz-auth-core-page .zz-auth-core a[data-component="toggle"],
body.zz-auth-core-page .zz-auth-core button[data-component="toggle"],
body.zz-auth-core-page .zz-auth-core .hp-field--password > a:not(.zz-auth-password-eye),
body.zz-auth-core-page .zz-auth-core .hp-field--password > button:not(.zz-auth-password-eye){
	display:none!important;
	visibility:hidden!important;
	pointer-events:none!important;
}


/* ============================================================
   V13 VERIFIED-RETURN NOTICE
   ============================================================ */
body.zz-auth-core-page .zz-auth-core .zz-auth-verified-notice{
	display:flex!important;
	flex-direction:column!important;
	gap:3px!important;
	width:100%!important;
	margin:0 0 14px!important;
	padding:10px 12px!important;
	border:1.5px solid rgba(32,227,162,.55)!important;
	border-radius:10px!important;
	background:linear-gradient(135deg,#0e1f1c 0%,#0b1626 100%)!important;
	color:#C9D2EA!important;
	box-shadow:none!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-verified-notice strong{
	color:#20E3A2!important;
	font:650 13px/1.3 Inter,Arial,sans-serif!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-verified-notice span{
	color:#D7E1ED!important;
	font:400 12.5px/1.42 Inter,Arial,sans-serif!important;
}


/* ZOMZEY Auth Core 15 action wait mark.
   The dotted violet Z replaces circular wait spinners. */
body.zz-auth-core-page .zz-auth-core .zz-action-working{
	position:relative!important;
	overflow:hidden!important;
	pointer-events:none!important;
}

body.zz-auth-core-page .zz-auth-core .zz-action-working > *:not(.zz-action-z){
	visibility:hidden!important;
}

body.zz-auth-core-page .zz-auth-core .zz-action-z{
	position:absolute!important;
	inset:0!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:8px!important;
	z-index:8!important;
	color:#fff!important;
	pointer-events:none!important;
}

body.zz-auth-core-page .zz-auth-core .zz-action-z svg{
	display:block!important;
	width:44px!important;
	height:28px!important;
	overflow:visible!important;
}

body.zz-auth-core-page .zz-auth-core .zz-action-z-label{
	color:#fff!important;
	font:650 12.5px/1 Inter,Arial,sans-serif!important;
	letter-spacing:.01em!important;
}

/* Suppress generic circular spinner treatments while our Z owns the wait state. */
body.zz-auth-core-page .zz-auth-core .zz-action-working::before,
body.zz-auth-core-page .zz-auth-core .zz-action-working::after{
	display:none!important;
	content:none!important;
}

body.zz-auth-core-page .zz-auth-core .zz-action-working .fa-spinner,
body.zz-auth-core-page .zz-auth-core .zz-action-working .spinner,
body.zz-auth-core-page .zz-auth-core .zz-action-working .loading,
body.zz-auth-core-page .zz-auth-core .zz-action-working [class*="spinner"],
body.zz-auth-core-page .zz-auth-core .zz-action-working [class*="loading"]{
	display:none!important;
}

/* Link actions that leave the page use the same Z without changing layout. */
body.zz-auth-core-page .zz-auth-core a.zz-action-working{
	min-height:43px!important;
}

@media(max-width:520px){
	.zz-auth-agency-links{grid-template-columns:1fr;}
}


/* ============================================================
   V18 SIGNUP AIR PASS
   Adds modest breathing room without enlarging the card heavily.
   ============================================================ */
body.zz-auth-core-page .zz-auth-core[data-zz-auth-view="register"] .zz-auth-register-panel{
	padding:4px 5px 3px!important;
}

body.zz-auth-core-page .zz-auth-core[data-zz-auth-view="register"] .zz-auth-intro{
	margin-bottom:16px!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form--user-register .hp-form__field{
	margin-bottom:13px!important;
}

body.zz-auth-core-page .zz-auth-core .hp-form--user-register .hp-form__field:has(input[name="_zz_terms_agree"]){
	margin-top:3px!important;
	margin-bottom:14px!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-agency-only{
	margin-top:15px!important;
	padding:16px!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-agency-links{
	gap:10px!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-agency-plan{
	min-height:70px!important;
	padding-top:11px!important;
	padding-bottom:11px!important;
}

body.zz-auth-core-page .zz-auth-core .zz-auth-agency-continue{
	margin-top:12px!important;
}

@media(max-width:720px){
	body.zz-auth-core-page .zz-auth-core[data-zz-auth-view="register"] .zz-auth-register-panel{
		padding:2px!important;
	}
}

/* ============================================================
   V20 AUTH VIEW STATE HARDENING
   The card itself owns panel visibility. This deliberately does not depend
   on the page body class, so Create account, Sign in and Reset continue to
   switch correctly if a theme or page cache serves an incomplete body class.
   ============================================================ */
.zz-auth-core .zz-auth-register-panel,
.zz-auth-core .zz-auth-login-panel,
.zz-auth-core .zz-auth-reset-panel,
.zz-auth-core .zz-auth-new-password-panel{
	display:none!important;
}

.zz-auth-core[data-zz-auth-view="register"] .zz-auth-register-panel,
.zz-auth-core[data-zz-auth-view="login"] .zz-auth-login-panel,
.zz-auth-core[data-zz-auth-view="reset"] .zz-auth-reset-panel,
.zz-auth-core[data-zz-auth-view="password"] .zz-auth-new-password-panel{
	display:block!important;
}

.zz-auth-core .zz-auth-panel[hidden]{
	display:none!important;
}



/* ============================================================
   V21 AUTH QA HARDENING
   Once JS is running, card-owned data state is the sole visibility owner.
   Native :target rules remain only as a no-JS fallback.
   ============================================================ */
.zz-auth-core.zz-auth-js-ready .zz-auth-panel{
	display:none!important;
}
.zz-auth-core.zz-auth-js-ready[data-zz-auth-view="register"] .zz-auth-register-panel,
.zz-auth-core.zz-auth-js-ready[data-zz-auth-view="login"] .zz-auth-login-panel,
.zz-auth-core.zz-auth-js-ready[data-zz-auth-view="reset"] .zz-auth-reset-panel,
.zz-auth-core.zz-auth-js-ready[data-zz-auth-view="password"] .zz-auth-new-password-panel{
	display:block!important;
}
