/* LanceDesk Solution Chapel — Auth UI (matches Stitch templates) */

@font-face {
	font-family: Inter;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/inter/Inter-Regular.woff2") format("woff2");
}

@font-face {
	font-family: Inter;
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/inter/Inter-Medium.woff2") format("woff2");
}

@font-face {
	font-family: Inter;
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/inter/Inter-SemiBold.woff2") format("woff2");
}

@font-face {
	font-family: Inter;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/inter/Inter-Bold.woff2") format("woff2");
}

/* Widget shells grow with content — only the page/document scrolls. */
.ld-sc-auth,
.ld-sc-dashboard,
.ld-sc-directory,
.ld-sc-system,
.ld-sc-giving,
.ld-sc-header,
.ld-sc-gate,
.ld-sc-account {
	overflow: visible;
	max-height: none;
}

.elementor-widget[class*='elementor-widget-ld_sc_'] > .elementor-widget-container {
	overflow: visible !important;
	max-height: none !important;
	height: auto !important;
}

/* Reset scope */
.ld-sc-auth,
.ld-sc-auth *,
.ld-sc-auth *::before,
.ld-sc-auth *::after {
	box-sizing: border-box;
}

.ld-sc-auth {
	--ld-sc-black: #000000;
	--ld-sc-white: #ffffff;
	--ld-sc-surface: #1a1a1a;
	--ld-sc-surface-high: #2a2a2a;
	--ld-sc-surface-low: #1c1b1b;
	--ld-sc-border: #404040;
	--ld-sc-border-soft: #333333;
	--ld-sc-outline: #444748;
	--ld-sc-muted: #c4c7c8;
	--ld-sc-muted-dim: #8e9192;
	--ld-sc-secondary: #adc6ff;
	--ld-sc-on-primary: #2f3131;
	--ld-sc-error: #ffb4ab;
	--ld-sc-accent: #0566d9;
	--ld-sc-btn-primary-bg: #ffffff;
	--ld-sc-btn-primary-color: #2f3131;
	--ld-sc-btn-secondary-bg: #2a2a2a;
	--ld-sc-btn-secondary-hover-bg: #333333;
	--ld-sc-link-color: var(--ld-sc-secondary);
	--ld-sc-link-hover-color: var(--ld-sc-white);
	--ld-sc-link-active-color: var(--ld-sc-white);
	--ld-sc-link-hover-bg: transparent;
	--ld-sc-link-active-bg: transparent;
	--ld-sc-radius-xl: 12px;
	--ld-sc-radius-lg: 8px;
	--ld-sc-radius-full: 9999px;
	--ld-sc-pad-mobile: 20px;
	--ld-sc-pad-desktop: 40px;
	--ld-sc-section: 64px;

	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ld-sc-white);
	background: var(--ld-sc-black);
	min-height: auto;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: visible;
	padding: var(--ld-sc-layout-pt, 0) var(--ld-sc-layout-pr, 0) var(--ld-sc-layout-pb, 0) var(--ld-sc-layout-pl, 0);
}

.ld-sc-auth:not(.ld-sc-auth--profile):not(.ld-sc-phone) {
	padding: var(--ld-sc-layout-pt, 20px) var(--ld-sc-layout-pr, 20px) var(--ld-sc-layout-pb, 20px) var(--ld-sc-layout-pl, 20px);
}

.ld-sc-auth.ld-sc-auth--profile {
	padding: var(--ld-sc-layout-pt, 48px) var(--ld-sc-layout-pr, 20px) var(--ld-sc-layout-pb, 48px) var(--ld-sc-layout-pl, 20px);
}

.ld-sc-auth.ld-sc-phone {
	padding: var(--ld-sc-layout-pt, 20px) var(--ld-sc-layout-pr, 20px) var(--ld-sc-layout-pb, 20px) var(--ld-sc-layout-pl, 20px);
}

.ld-sc-auth__notice {
	margin: 0 0 16px;
	max-width: none;
	width: 100%;
	padding: 12px 16px;
	border-radius: var(--ld-sc-radius-xl);
	background: rgba(147, 0, 10, 0.35);
	color: var(--ld-sc-error);
	font-size: 14px;
	text-align: left;
}

.ld-sc-auth__notice.is-success {
	background: #14532d;
	color: #dcfce7;
}

.ld-sc-auth__step {
	flex: 0 1 auto;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 0;
	position: relative;
	z-index: 1;
	width: 100%;
}

.ld-sc-auth__step.is-active {
	display: flex;
}

.ld-sc-auth__step--otp {
	flex-direction: column;
	align-items: stretch;
	padding-top: 0;
}

.ld-sc-auth__panel {
	width: 100%;
	max-width: 440px;
	margin: 0 auto;
}

.ld-sc-auth__panel--centered {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

.ld-sc-auth__panel--otp {
	max-width: 480px;
	text-align: center;
	padding-top: 32px;
}

.ld-sc-auth__panel--password {
	max-width: 440px;
}

/* Center icons and images inside branded visual slots (auth, header, system, phone). */
.ld-sc-icon-slot {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 0;
}

.ld-sc-icon-slot > * {
	margin: 0;
	padding: 0;
	flex-shrink: 0;
}

.ld-sc-icon-slot .elementor-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.ld-sc-icon-slot i[class*="fa-"],
.ld-sc-icon-slot .ld-sc-icon,
.ld-sc-icon-slot i.ld-sc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	text-align: center;
}

.ld-sc-icon-slot i[class*="fa-"]::before {
	display: block;
	line-height: 1;
}

.ld-sc-icon-slot svg {
	display: block;
	margin: 0;
	flex-shrink: 0;
}

.ld-sc-icon-slot img {
	display: block;
	margin: 0;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ld-sc-auth__brand-icon {
	width: 48px;
	height: 48px;
	border-radius: var(--ld-sc-radius-full);
	background: var(--ld-sc-white);
	color: var(--ld-sc-black);
	overflow: hidden;
}

.ld-sc-auth__brand-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ld-sc-auth__brand-icon--mail {
	width: 64px;
	height: 64px;
	background: #20201f;
	border: 1px solid #353535;
	color: var(--ld-sc-white);
	margin: 0 auto 32px;
}

.ld-sc-auth__brand-icon--desktop {
	display: none;
}

.ld-sc-auth__heading-group {
	width: 100%;
}

.ld-sc-auth__heading-group--center {
	text-align: center;
}

.ld-sc-auth__title {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 36px;
	font-weight: 700;
	color: var(--ld-sc-white);
	letter-spacing: -0.01em;
}

.ld-sc-auth__title--xl {
	font-size: 40px;
	line-height: 48px;
	letter-spacing: -0.02em;
}

.ld-sc-auth__title--brand {
	font-size: 40px;
	line-height: 48px;
	letter-spacing: -0.02em;
}

.ld-sc-auth__subtitle {
	margin: 0;
	font-size: 18px;
	line-height: 28px;
	color: var(--ld-sc-muted);
	opacity: 0.8;
}

.ld-sc-auth__masked-email {
	max-width: 360px;
	margin-left: auto;
	margin-right: auto;
}

.ld-sc-auth__email-mask {
	color: var(--ld-sc-white);
	font-weight: 500;
}

.ld-sc-auth__otp-hint {
	display: block;
	margin-top: 4px;
}

.ld-sc-auth__form {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ld-sc-auth__form--otp {
	gap: 32px;
}

.ld-sc-field {
	position: relative;
}

.ld-sc-field--floating .ld-sc-field__input {
	width: 100%;
	height: 56px;
	background: var(--ld-sc-surface);
	border: 1px solid var(--ld-sc-border);
	border-radius: var(--ld-sc-radius-xl);
	padding: 0 16px;
	color: var(--ld-sc-white);
	font: inherit;
	transition: border-color 0.2s ease;
}

.ld-sc-field--floating .ld-sc-field__input:focus {
	outline: none;
	border-color: var(--ld-sc-white);
}

.ld-sc-field--floating .ld-sc-field__label {
	position: absolute;
	left: 16px;
	top: 16px;
	z-index: 1;
	color: var(--ld-sc-muted-dim);
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	pointer-events: none;
	transition: all 0.2s ease-out;
}

.ld-sc-field--floating .ld-sc-field__input:focus ~ .ld-sc-field__label,
.ld-sc-field--floating .ld-sc-field__input:not(:placeholder-shown) ~ .ld-sc-field__label {
	transform: translateY(-24px) scale(0.85);
	background: var(--ld-sc-black);
	padding: 0 4px;
	color: var(--ld-sc-white);
}

/* DOB uses a visible format placeholder — keep label floated so they never overlap. */
.ld-sc-field--dob.ld-sc-field--floating .ld-sc-field__label {
	transform: translateY(-24px) scale(0.85);
	background: var(--ld-sc-black);
	padding: 0 4px;
	color: var(--ld-sc-muted-dim);
}

.ld-sc-field--dob.ld-sc-field--floating:focus-within .ld-sc-field__label,
.ld-sc-field--dob.ld-sc-field--floating .ld-sc-field__input:not(:placeholder-shown) ~ .ld-sc-field__label {
	color: var(--ld-sc-white);
}

.ld-sc-field--dob .ld-sc-field__input::placeholder {
	color: var(--ld-sc-muted-dim);
	opacity: 1;
}

.ld-sc-field--password .ld-sc-field__input {
	padding-right: 48px;
}

.ld-sc-field__toggle {
	position: absolute;
	right: 16px;
	top: 16px;
	background: none;
	border: 0;
	color: var(--ld-sc-muted);
	cursor: pointer;
	padding: 0;
	display: flex;
}

.ld-sc-field__toggle:hover {
	color: var(--ld-sc-white);
}

.ld-sc-field__error {
	display: block;
	margin: 8px 0 0;
	padding: 0;
	color: var(--ld-sc-error);
	font-size: 13px;
	line-height: 1.4;
	font-weight: 500;
	text-align: left;
}

.ld-sc-field__error[hidden] {
	display: none;
}

.ld-sc-field.is-error .ld-sc-field__input,
.ld-sc-field.is-error .ld-sc-field__select {
	border-color: var(--ld-sc-error);
}

.ld-sc-field.is-error .ld-sc-field__input:focus,
.ld-sc-field.is-error .ld-sc-field__select:focus {
	border-color: var(--ld-sc-error);
}

.ld-sc-profile__terms.is-error {
	outline: 1px solid var(--ld-sc-error);
	outline-offset: 4px;
	border-radius: 8px;
}

.ld-sc-captcha.is-error {
	outline: 1px solid var(--ld-sc-error);
	outline-offset: 4px;
	border-radius: 8px;
}

.ld-sc-captcha.is-error .ld-sc-field__error {
	margin-top: 12px;
	text-align: center;
}

.ld-sc-captcha {
	display: flex;
	justify-content: center;
}

.ld-sc-captcha__mock {
	background: #222;
	border: 1px solid #333;
	border-radius: 4px;
	padding: 12px;
	width: 100%;
	max-width: 304px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ld-sc-captcha__mock--card {
	background: var(--ld-sc-surface-high);
	border-color: var(--ld-sc-border-soft);
	border-radius: var(--ld-sc-radius-xl);
	max-width: none;
}

.ld-sc-captcha__mock-left {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ld-sc-captcha__checkbox {
	width: 24px;
	height: 24px;
	border: 2px solid var(--ld-sc-outline);
	border-radius: 4px;
	background: #131313;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: #22c55e;
}

.ld-sc-captcha__checkbox.is-checked {
	border-color: #22c55e;
}

.ld-sc-captcha__label {
	font-size: 14px;
	color: #eee;
}

.ld-sc-captcha__mock-right {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ld-sc-captcha__brand {
	font-size: 8px;
	color: #888;
	margin-top: 4px;
}

.ld-sc-captcha__brand--muted {
	font-size: 8px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.4;
	margin-top: 0;
}

.ld-sc-captcha__links {
	display: flex;
	gap: 4px;
	font-size: 8px;
	color: #888;
	text-decoration: underline;
}

.ld-sc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: var(--ld-sc-radius-full);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	cursor: pointer;
	transition: opacity 0.2s ease, transform 0.15s ease, background 0.2s ease;
	min-height: 56px;
	padding: 0 24px;
}

.ld-sc-btn--block {
	width: 100%;
}

.ld-sc-btn--primary {
	background: var(--ld-sc-btn-primary-bg, var(--ld-sc-white));
	color: var(--ld-sc-btn-primary-color, var(--ld-sc-on-primary));
}

.ld-sc-btn--primary:hover:not(:disabled) {
	opacity: 0.9;
}

.ld-sc-btn--primary:active:not(:disabled) {
	transform: scale(0.95);
}

.ld-sc-btn--primary:disabled {
	background: #353535;
	color: var(--ld-sc-muted);
	cursor: not-allowed;
	opacity: 0.5;
	border: 1px solid #353535;
}

.ld-sc-btn--secondary {
	background: var(--ld-sc-btn-secondary-bg, var(--ld-sc-surface-high));
	color: var(--ld-sc-white);
	border: 1px solid var(--ld-sc-border);
	font-weight: 500;
}

.ld-sc-btn--secondary:hover {
	background: var(--ld-sc-btn-secondary-hover-bg, #333);
}

.ld-sc-btn--ghost {
	background: transparent;
	color: var(--ld-sc-muted);
	font-weight: 500;
	min-height: auto;
	padding: 8px 0;
}

.ld-sc-btn--ghost:hover {
	color: var(--ld-sc-white);
}

.ld-sc-btn.is-loading {
	pointer-events: none;
	opacity: 0.85;
}

.ld-sc-divider {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--ld-sc-muted);
	font-size: 14px;
	opacity: 0.6;
}

.ld-sc-divider::before,
.ld-sc-divider::after {
	content: "";
	flex: 1;
	border-top: 1px solid var(--ld-sc-outline);
}

.ld-sc-link {
	background: none;
	border: 0;
	color: var(--ld-sc-link-color, var(--ld-sc-white));
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
	padding: 0;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ld-sc-link:hover {
	color: var(--ld-sc-link-hover-color, var(--ld-sc-white));
	background-color: var(--ld-sc-link-hover-bg, transparent);
	text-decoration: underline;
}

.ld-sc-link:active,
.ld-sc-link.is-active {
	color: var(--ld-sc-link-active-color, var(--ld-sc-link-hover-color, var(--ld-sc-white)));
	background-color: var(--ld-sc-link-active-bg, var(--ld-sc-link-hover-bg, transparent));
}

.ld-sc-link--inline {
	color: var(--ld-sc-link-color, var(--ld-sc-secondary));
	display: inline;
}

.ld-sc-link--strong {
	font-weight: 700;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding-bottom: 2px;
}

.ld-sc-link--block {
	display: block;
	text-align: center;
	font-weight: 500;
}

.ld-sc-auth__legal {
	margin: 0;
	font-size: 14px;
	color: var(--ld-sc-muted);
	text-align: center;
	max-width: 360px;
}

.ld-sc-auth__legal a {
	color: var(--ld-sc-link-color, var(--ld-sc-muted));
	text-decoration: underline;
}

.ld-sc-auth__legal a:hover {
	color: var(--ld-sc-link-hover-color, var(--ld-sc-white));
	background-color: var(--ld-sc-link-hover-bg, transparent);
}

.ld-sc-auth__topbar {
	width: 100%;
	padding: 0 var(--ld-sc-pad-mobile);
	height: 80px;
	display: flex;
	align-items: center;
}

.ld-sc-auth__back {
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: var(--ld-sc-radius-full);
	background: var(--ld-sc-surface-high);
	color: var(--ld-sc-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.ld-sc-auth__back:active {
	transform: scale(0.95);
}

.ld-sc-otp {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
}

.ld-sc-otp__digit {
	width: 48px;
	height: 56px;
	background: var(--ld-sc-surface-low);
	border: 1px solid var(--ld-sc-outline);
	border-radius: var(--ld-sc-radius-xl);
	color: var(--ld-sc-white);
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.ld-sc-otp__digit:focus {
	outline: none;
	border-color: var(--ld-sc-white);
	background: var(--ld-sc-surface);
}

.ld-sc-otp__digit.is-active {
	border-width: 2px;
	border-color: var(--ld-sc-white);
}

.ld-sc-auth__secondary-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.ld-sc-auth__resend {
	margin: 0;
	font-size: 14px;
	color: var(--ld-sc-muted);
}

.ld-sc-auth__card {
	background: var(--ld-sc-surface);
	border: 1px solid var(--ld-sc-border-soft);
	border-radius: var(--ld-sc-radius-xl);
	padding: 32px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.ld-sc-auth__options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.ld-sc-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	color: var(--ld-sc-muted);
	cursor: pointer;
}

.ld-sc-checkbox input {
	width: 20px;
	height: 20px;
	border-radius: 4px;
	border: 1px solid var(--ld-sc-border);
	background: transparent;
	accent-color: #0566d9;
}

.ld-sc-auth__alt-actions {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ld-sc-auth__footer-links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 32px;
}

.ld-sc-auth__footer-links a {
	font-size: 14px;
	color: var(--ld-sc-link-color, var(--ld-sc-muted));
	text-decoration: none;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ld-sc-auth__footer-links a:hover {
	color: var(--ld-sc-link-hover-color, var(--ld-sc-white));
	background-color: var(--ld-sc-link-hover-bg, transparent);
}

.ld-sc-auth__footer-links a:active {
	color: var(--ld-sc-link-active-color, var(--ld-sc-link-hover-color, var(--ld-sc-white)));
	background-color: var(--ld-sc-link-active-bg, var(--ld-sc-link-hover-bg, transparent));
}

.ld-sc-auth__copyright {
	margin: 48px 0 0;
	text-align: center;
	font-size: 14px;
	color: var(--ld-sc-muted);
	opacity: 0.4;
}

.ld-sc-auth__footer--global {
	padding: var(--ld-sc-section) var(--ld-sc-pad-mobile);
	text-align: center;
	border-top: 1px solid #353535;
	margin-top: auto;
}

.ld-sc-auth__footer--global .ld-sc-auth__copyright {
	margin-top: 16px;
	opacity: 0.6;
}

.ld-sc-icon {
	width: 24px;
	height: 24px;
	display: block;
	flex-shrink: 0;
}

.ld-sc-icon--brand {
	width: 24px;
	height: 24px;
}

.ld-sc-icon--btn {
	width: 18px;
	height: 18px;
	transition: transform 0.2s ease;
}

.ld-sc-btn:hover .ld-sc-icon--btn {
	transform: translateX(2px);
}

.ld-sc-icon--mail {
	width: 32px;
	height: 32px;
}

.ld-sc-icon--toggle {
	width: 24px;
	height: 24px;
}

.ld-sc-icon--google {
	width: 20px;
	height: 20px;
}

/* OTP decorative glow (mobile template) */
.ld-sc-auth__step--otp::after {
	content: "";
	position: fixed;
	bottom: -96px;
	left: 50%;
	transform: translateX(-50%);
	width: 200%;
	height: 400px;
	background: linear-gradient(to top, rgba(42, 42, 42, 0.2), transparent);
	filter: blur(48px);
	pointer-events: none;
	z-index: 0;
}

.ld-sc-auth__step--password .ld-sc-auth__panel {
	position: relative;
	z-index: 1;
}

@media (min-width: 768px) {
	.ld-sc-auth__step {
		padding: 0;
	}

	.ld-sc-auth__step--otp {
		padding-top: 0;
	}

	.ld-sc-auth__topbar--mobile {
		display: none;
	}

	.ld-sc-auth__brand-icon--desktop {
		display: flex;
	}

	.ld-sc-auth__title {
		font-size: 32px;
		line-height: 40px;
	}

	.ld-sc-auth__title--xl {
		font-size: 40px;
		line-height: 48px;
	}

	.ld-sc-auth__panel--otp {
		padding-top: 0;
	}

	.ld-sc-otp {
		gap: 16px;
		justify-content: center;
	}

	.ld-sc-otp__digit {
		width: 64px;
		height: 80px;
		border-radius: var(--ld-sc-radius-lg);
		font-size: 24px;
	}

	.ld-sc-auth__card {
		padding: 40px;
	}
}

@media (max-width: 767px) {
	.ld-sc-auth__step--email .ld-sc-auth__footer--global,
	.ld-sc-auth__step--otp .ld-sc-auth__footer--global {
		display: none;
	}

	.ld-sc-auth__step--password .ld-sc-auth__footer--global {
		display: none;
	}
}

/* Extended auth flows */
.ld-sc-auth__brand-name {
	margin: 0 0 32px;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	color: var(--ld-sc-white);
}

.ld-sc-auth__panel--forgot,
.ld-sc-auth__panel--reset-sent,
.ld-sc-auth__panel--google-error,
.ld-sc-auth__panel--status,
.ld-sc-auth__panel--reset-password,
.ld-sc-auth__panel--signed-out {
	max-width: 480px;
	margin: 0 auto;
}

.ld-sc-auth__back-link {
	margin-top: 24px;
}

.ld-sc-auth__card--center {
	text-align: center;
	padding: 40px 32px;
}

.ld-sc-link--back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
	color: var(--ld-sc-muted);
}

.ld-sc-auth__stack-actions {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.ld-sc-auth__error-icon {
	width: 64px;
	height: 64px;
	border-radius: var(--ld-sc-radius-full);
	background: rgba(147, 0, 10, 0.15);
	border: 1px solid rgba(255, 180, 171, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 24px;
	color: var(--ld-sc-error);
}

.ld-sc-icon--warning {
	width: 32px;
	height: 32px;
}

.ld-sc-auth__error-code {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid var(--ld-sc-border-soft);
	background: none;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
	color: rgba(196, 199, 200, 0.5);
	font-size: 14px;
	cursor: pointer;
	width: 100%;
	justify-content: center;
}

.ld-sc-auth__error-code.is-active {
	color: var(--ld-sc-error);
}

.ld-sc-auth__support-footer {
	margin-top: 32px;
	text-align: center;
	color: rgba(196, 199, 200, 0.6);
	font-size: 14px;
}

.ld-sc-auth__support-footer p {
	margin: 0 0 16px;
}

.ld-sc-auth__title--md {
	font-size: 24px;
	line-height: 32px;
}

.ld-sc-auth__panel--status {
	text-align: center;
	padding: 48px 20px;
}

.ld-sc-auth__spinner-ring {
	position: relative;
	width: 80px;
	height: 80px;
	margin: 0 auto 48px;
}

.ld-sc-auth__spinner-ring span {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: 64px;
	height: 64px;
	margin: 8px;
	border: 2px solid transparent;
	border-radius: 50%;
	border-top-color: var(--ld-sc-white);
	animation: ld-sc-spin 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}

.ld-sc-auth__spinner-ring span:nth-child(1) { animation-delay: -0.45s; opacity: 1; }
.ld-sc-auth__spinner-ring span:nth-child(2) { animation-delay: -0.3s; opacity: 0.4; }
.ld-sc-auth__spinner-ring span:nth-child(3) { animation-delay: -0.15s; opacity: 0.1; }

.ld-sc-auth__spinner-ring .ld-sc-icon--key {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 24px;
	height: 24px;
	opacity: 0.4;
}

@keyframes ld-sc-spin {
	to { transform: rotate(360deg); }
}

.ld-sc-auth__secure-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 48px;
	color: rgba(196, 199, 200, 0.4);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}

.ld-sc-auth__progress {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--ld-sc-surface-high);
	overflow: hidden;
}

.ld-sc-auth__progress span {
	display: block;
	height: 100%;
	width: 100%;
	background: var(--ld-sc-white);
	transform-origin: left;
	animation: ld-sc-progress 4s ease-out forwards;
}

@keyframes ld-sc-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(0.95); }
}

.ld-sc-auth__brand-icon--lock,
.ld-sc-auth__brand-icon--outline {
	width: 64px;
	height: 64px;
	border: 1px solid var(--ld-sc-outline);
	background: var(--ld-sc-surface-low);
	margin: 0 auto 16px;
}

.ld-sc-auth__brand-icon--outline {
	background: transparent;
}

.ld-sc-field--static-label {
	margin-bottom: 8px;
}

.ld-sc-field__label-static {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	color: var(--ld-sc-muted);
}

.ld-sc-password-strength {
	margin: 8px 0 24px;
}

.ld-sc-password-strength__meta {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: var(--ld-sc-muted);
	margin-bottom: 8px;
}

.ld-sc-password-strength__bar {
	height: 4px;
	background: var(--ld-sc-surface-high);
	border-radius: var(--ld-sc-radius-full);
	overflow: hidden;
}

.ld-sc-password-strength__bar span {
	display: block;
	height: 100%;
	width: 33%;
	background: var(--ld-sc-error);
	transition: width 0.3s ease, background 0.3s ease;
}

.ld-sc-auth--signed-out .ld-sc-auth__panel--signed-out {
	text-align: center;
	padding: 48px 20px;
}

.ld-sc-auth__signed-out-brand {
	margin-bottom: 48px;
}

.ld-sc-auth__footer--signed-out {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 32px 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	opacity: 0.5;
}

.ld-sc-signout-modal[hidden],
.ld-sc-auth__logout-overlay[hidden] {
	display: none !important;
}

.ld-sc-signout-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.ld-sc-signout-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.85);
	backdrop-filter: blur(8px);
}

.ld-sc-signout-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 384px;
	background: var(--ld-sc-surface-high);
	border: 1px solid var(--ld-sc-outline);
	border-radius: var(--ld-sc-radius-xl);
	padding: 32px;
	text-align: center;
	box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}

.ld-sc-signout-modal__icon {
	width: 64px;
	height: 64px;
	border-radius: var(--ld-sc-radius-full);
	background: var(--ld-sc-surface-variant);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.ld-sc-icon--logout {
	width: 36px;
	height: 36px;
}

.ld-sc-signout-modal__title {
	margin: 0 0 8px;
	font-size: 24px;
	font-weight: 600;
}

.ld-sc-signout-modal__text {
	margin: 0 0 24px;
	color: var(--ld-sc-muted);
	font-size: 16px;
	line-height: 1.5;
}

.ld-sc-signout-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ld-sc-auth__logout-overlay,
.ld-sc-auth__logout-overlay--global {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ld-sc-black);
	text-align: center;
	padding: 20px;
}

.ld-sc-auth__logout-glow {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 300px;
	height: 300px;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.05);
	border-radius: 50%;
	filter: blur(40px);
	animation: ld-sc-pulse 3s ease-in-out infinite;
}

@keyframes ld-sc-pulse {
	0%, 100% { opacity: 0.3; }
	50% { opacity: 0.6; }
}

.ld-sc-auth__logout-content {
	position: relative;
	z-index: 1;
	max-width: 420px;
}

.ld-sc-auth__logout-logo {
	width: 96px;
	height: 96px;
	border-radius: var(--ld-sc-radius-full);
	background: var(--ld-sc-white);
	color: var(--ld-sc-on-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 32px;
	box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
}

.ld-sc-icon--brand-invert {
	width: 48px;
	height: 48px;
}

.ld-sc-auth__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}

.ld-sc-auth__dots span {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ld-sc-white);
	animation: ld-sc-bounce 1.2s infinite;
}

.ld-sc-auth__dots span:nth-child(2) { animation-delay: 0.2s; }
.ld-sc-auth__dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes ld-sc-bounce {
	0%, 100% { transform: translateY(0); opacity: 0.4; }
	50% { transform: translateY(-4px); opacity: 1; }
}

@media (min-width: 768px) {
	.ld-sc-auth__step--email .ld-sc-auth__panel--centered {
		gap: 32px;
	}

	.ld-sc-auth__step--email .ld-sc-auth__title--xl {
		font-size: 40px;
	}
}

/* Profile completion (E1) */
.ld-sc-auth--profile .ld-sc-auth__panel--profile {
	max-width: 640px;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.ld-sc-auth__glass-card {
	background: var(--ld-sc-surface);
	border: 1px solid var(--ld-sc-border-soft);
	border-radius: var(--ld-sc-radius-xl);
	padding: 32px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8);
}

@media (min-width: 768px) {
	.ld-sc-auth__glass-card {
		padding: 48px;
	}
}

.ld-sc-profile__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-bottom: 24px;
}

@media (min-width: 768px) {
	.ld-sc-profile__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.ld-sc-auth__glow {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(600px, 100vw);
	height: 600px;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.05);
	border-radius: 50%;
	filter: blur(120px);
	pointer-events: none;
	clip-path: inset(0 round 50%);
}

.ld-sc-field--icon .ld-sc-field__input {
	padding-right: 48px;
}

.ld-sc-field__icon {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ld-sc-muted-dim);
	pointer-events: none;
}

.ld-sc-field--select {
	position: relative;
	flex: 0 0 128px;
}

.ld-sc-field__select {
	width: 100%;
	height: 56px;
	padding: 0 36px 0 16px;
	background: var(--ld-sc-surface);
	border: 1px solid var(--ld-sc-border);
	border-radius: var(--ld-sc-radius-xl);
	color: var(--ld-sc-white);
	font: inherit;
	appearance: none;
}

.ld-sc-field__select:focus {
	outline: none;
	border-color: var(--ld-sc-white);
}

.ld-sc-field__icon--select {
	right: 12px;
}

.ld-sc-profile__phone-row {
	display: flex;
	gap: 16px;
	margin-bottom: 24px;
}

.ld-sc-dashboard__grid .ld-sc-profile__phone-row {
	margin-bottom: 0;
	align-items: stretch;
}

.ld-sc-dashboard__grid .ld-sc-profile__phone-row .ld-sc-field--select {
	flex: 0 0 168px;
}

.ld-sc-profile__phone-input {
	flex: 1;
	min-width: 0;
}

.ld-sc-profile__terms {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 8px 0 24px;
}

.ld-sc-checkbox__input {
	appearance: none;
	width: 20px;
	height: 20px;
	min-width: 20px;
	border: 1px solid var(--ld-sc-border);
	border-radius: 4px;
	background: var(--ld-sc-surface);
	cursor: pointer;
	position: relative;
	margin-top: 2px;
	flex-shrink: 0;
}

.ld-sc-checkbox__input:checked {
	background: var(--ld-sc-white);
	border-color: var(--ld-sc-white);
}

.ld-sc-checkbox__input:checked::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 6px;
	width: 5px;
	height: 10px;
	border: solid var(--ld-sc-black);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.ld-sc-profile__terms-label {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ld-sc-muted);
	cursor: pointer;
}

.ld-sc-profile__terms-label a {
	color: var(--ld-sc-link-color, var(--ld-sc-white));
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.3);
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ld-sc-profile__terms-label a:hover {
	color: var(--ld-sc-link-hover-color, var(--ld-sc-white));
	background-color: var(--ld-sc-link-hover-bg, transparent);
	text-decoration-color: var(--ld-sc-link-hover-color, var(--ld-sc-white));
}

.ld-sc-profile__terms-label a:active {
	color: var(--ld-sc-link-active-color, var(--ld-sc-link-hover-color, var(--ld-sc-white)));
	background-color: var(--ld-sc-link-active-bg, var(--ld-sc-link-hover-bg, transparent));
}

.ld-sc-auth__help {
	margin-top: 32px;
	text-align: center;
	font-size: 14px;
	color: var(--ld-sc-muted);
}

.ld-sc-auth__help a {
	color: var(--ld-sc-link-color, var(--ld-sc-white));
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ld-sc-auth__help a:hover {
	color: var(--ld-sc-link-hover-color, var(--ld-sc-white));
	background-color: var(--ld-sc-link-hover-bg, transparent);
}

.ld-sc-auth__subtitle--center {
	text-align: center;
}

.ld-sc-btn.is-success {
	background: #0566d9;
}

/* Account button widget */
.ld-sc-account,
.ld-sc-account *,
.ld-sc-account *::before,
.ld-sc-account *::after {
	box-sizing: border-box;
}

.ld-sc-account {
	position: relative;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	display: inline-block;
	--ld-sc-black: #000000;
	--ld-sc-white: #ffffff;
	--ld-sc-surface: #2a2a2a;
	--ld-sc-border: #404040;
	--ld-sc-outline: #444748;
	--ld-sc-muted: #c4c7c8;
	--ld-sc-secondary: #adc6ff;
	--ld-sc-accent: #0566d9;
	--ld-sc-menu-link-color: #e5e2e1;
	--ld-sc-menu-link-hover-color: #ffffff;
	--ld-sc-menu-link-active-color: #ffffff;
	--ld-sc-menu-link-hover-bg: #353535;
	--ld-sc-menu-link-active-bg: #404040;
	--ld-sc-signout-color: #ffffff;
	--ld-sc-signout-hover-color: #ffffff;
	--ld-sc-signout-active-color: #ffffff;
	--ld-sc-signout-hover-bg: #353535;
	--ld-sc-signout-active-bg: #404040;
}

.ld-sc-account__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	border: 1px solid #444748;
	background: transparent;
	color: #e5e2e1;
	font: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease;
}

.ld-sc-account__trigger:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.ld-sc-account__trigger:active {
	transform: scale(0.95);
}

.ld-sc-account--icon .ld-sc-account__trigger {
	width: 48px;
	height: 48px;
	border-radius: 9999px;
	padding: 0;
	color: #c4c7c8;
}

.ld-sc-account--icon .ld-sc-account__trigger:hover {
	color: #ffffff;
	border-color: #ffffff;
	background: #353535;
}

.ld-sc-account--icon-custom .ld-sc-account__trigger {
	width: 48px;
	height: 48px;
	border-radius: 9999px;
	padding: 0;
	color: #c4c7c8;
}

.ld-sc-account--icon-custom .ld-sc-account__trigger:hover {
	color: #ffffff;
	border-color: #ffffff;
	background: #353535;
}

.ld-sc-account--text .ld-sc-account__trigger {
	padding: 8px 16px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 500;
	background: transparent;
}

.ld-sc-account--text .ld-sc-account__trigger:hover {
	color: #ffffff;
	border-color: #ffffff;
}

.ld-sc-account--composite .ld-sc-account__trigger {
	padding: 12px 24px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 600;
	background: #2a2a2a;
}

.ld-sc-account--composite .ld-sc-account__trigger:hover {
	border-color: #ffffff;
	background: #353535;
}

.ld-sc-account--cta .ld-sc-account__trigger {
	padding: 10px 20px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 700;
	background: #ffffff;
	color: #2f3131;
	border-color: #ffffff;
}

.ld-sc-account--cta .ld-sc-account__trigger:hover {
	background: #393939;
	color: #ffffff;
}

.ld-sc-account--avatar-composite .ld-sc-account__trigger {
	padding: 4px 16px 4px 4px;
	border-radius: 9999px;
	background: #2a2a2a;
	font-size: 14px;
	font-weight: 500;
}

.ld-sc-account__avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid #444748;
	background: #0566d9;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	flex-shrink: 0;
}

.ld-sc-account__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ld-sc-account__avatar svg,
.ld-sc-account__avatar i {
	width: 1em;
	height: 1em;
	font-size: 22px;
}

.ld-sc-account--icon-custom .ld-sc-account__avatar,
.ld-sc-account--icon .ld-sc-account__avatar {
	background: transparent;
	border: none;
}

.ld-sc-account__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 256px;
	background: rgba(26, 26, 26, 0.95);
	backdrop-filter: blur(12px);
	border: 1px solid #333333;
	border-radius: var(--ld-sc-radius-xl);
	box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
	overflow: hidden;
	z-index: 1000;
	display: none;
	transform-origin: top right;
	animation: ld-sc-dropdown-enter 0.2s ease-out;
}

.ld-sc-account.is-open .ld-sc-account__menu {
	display: block;
}

@keyframes ld-sc-dropdown-enter {
	from { opacity: 0; transform: scale(0.95) translateY(-8px); }
	to { opacity: 1; transform: scale(1) translateY(0); }
}

.ld-sc-account__menu-header {
	padding: 16px;
	border-bottom: 1px solid #444748;
}

.ld-sc-account__menu-name {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: #ffffff;
}

.ld-sc-account__menu-meta {
	margin: 4px 0 0;
	font-size: 12px;
	color: #c4c7c8;
}

.ld-sc-account__menu-items {
	padding: 8px;
}

.ld-sc-account__menu-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-radius: 8px;
	color: var(--ld-sc-menu-link-color, #e5e2e1);
	text-decoration: none;
	font-size: 14px;
	transition: color 0.15s ease, background-color 0.15s ease;
	border: none;
	background: transparent;
	width: 100%;
	cursor: pointer;
	font: inherit;
	text-align: left;
}

.ld-sc-account__menu-link:hover {
	color: var(--ld-sc-menu-link-hover-color, #ffffff);
	background-color: var(--ld-sc-menu-link-hover-bg, #353535);
}

.ld-sc-account__menu-link:active,
.ld-sc-account__menu-link.is-active {
	color: var(--ld-sc-menu-link-active-color, var(--ld-sc-menu-link-hover-color, #ffffff));
	background-color: var(--ld-sc-menu-link-active-bg, #404040);
}

.ld-sc-account__menu-link--danger {
	color: #ffb4ab;
}

.ld-sc-account__menu-link--danger:hover {
	background: rgba(147, 0, 10, 0.2);
}

.ld-sc-icon--sm {
	width: 18px;
	height: 18px;
}

.ld-sc-account__menu-footer {
	padding: 8px;
	border-top: 1px solid #444748;
	background: #0e0e0e;
}
