.sn-auth-locked{overflow:hidden}.sn-auth-overlay{position:fixed;inset:0;z-index:100000;background:rgba(9,36,27,.62);opacity:0;transition:opacity .22s ease}.sn-auth-overlay.is-open{opacity:1}.sn-auth-modal{position:absolute;left:50%;top:50%;width:min(920px,calc(100% - 2rem));max-height:calc(100vh - 2rem);display:grid;grid-template-columns:.8fr 1.2fr;overflow:auto;border-radius:22px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.25);transform:translate(-50%,-46%) scale(.97);transition:transform .25s ease}.sn-auth-overlay.is-open .sn-auth-modal{transform:translate(-50%,-50%) scale(1)}.sn-auth-aside{padding:3rem;background:#003b2a;color:#fff}.sn-auth-aside>span{font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.sn-auth-aside h2{margin:1rem 0;font-family:var(--sn-font-display,Georgia,serif);font-size:2.2rem;line-height:1.1;color:#fff}.sn-auth-aside p{margin:0;color:rgba(255,255,255,.82);line-height:1.65}.sn-auth-content{position:relative;padding:3rem}.sn-auth-close{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d8e4de;border-radius:50%;background:#fff;color:#153c2d;cursor:pointer}.sn-auth-close svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}.sn-auth-tabs{display:flex;gap:1.5rem;margin-bottom:1.6rem;border-bottom:1px solid #d8e4de}.sn-auth-tabs button{padding:.7rem 0;border:0;border-bottom:2px solid transparent;background:transparent;color:#5d7068;font:inherit;font-weight:700;cursor:pointer}.sn-auth-tabs button.is-active{color:#016341;border-color:#016341}.sn-auth-panel{display:none}.sn-auth-panel.is-active{display:block}.sn-auth-panel>label{display:block;margin-bottom:1rem}.sn-auth-panel>label>span{display:block;margin-bottom:.35rem;color:#153c2d;font-size:.85rem;font-weight:700}.sn-auth-panel input[type=text],.sn-auth-panel input[type=email],.sn-auth-panel input[type=password]{box-sizing:border-box;width:100%;min-height:46px;padding:.8rem 1rem;border:1px solid #cad8d1;border-radius:12px;background:#fff;outline:0}.sn-auth-panel input:focus{border-color:#016341;box-shadow:0 0 0 2px rgba(1,99,65,.14)}.sn-auth-help{display:flex;justify-content:space-between;gap:1rem;margin:.25rem 0 1rem;font-size:.84rem}.sn-auth-help label{display:flex;align-items:center;gap:.4rem}.sn-auth-help a{color:#016341}.sn-auth-submit{width:100%;min-height:48px;border:0;border-radius:999px;background:#007b53;color:#fff;font:inherit;font-weight:800;cursor:pointer}.sn-auth-submit:disabled{opacity:.6}.sn-auth-response{margin-top:1rem;padding:.75rem;border-radius:10px;background:#eaf7ef;color:#11633e;font-size:.9rem}.sn-auth-response.is-error{background:#fff0ee;color:#b42318}.sn-recaptcha{margin:1rem 0;overflow:hidden}.sn-recaptcha .g-recaptcha{transform-origin:left top}@media(max-width:680px){.sn-auth-modal{grid-template-columns:1fr}.sn-auth-aside{display:none}.sn-auth-content{padding:2rem 1.25rem}.sn-auth-help{align-items:flex-start;flex-direction:column}.sn-recaptcha{max-width:100%}.sn-recaptcha .g-recaptcha{transform:scale(.88);margin-bottom:-8px}}

/* Controles protegidos frente al reset del tema */
.sn-auth-overlay .sn-auth-modal {
	width: min(1150px, calc(100% - 3rem));
	grid-template-columns: minmax(360px, .82fr) minmax(520px, 1.18fr);
	border-radius: 34px;
}

.sn-auth-overlay .sn-auth-aside {
	padding: clamp(3rem, 5vw, 4.25rem);
	background: #006b49;
}

.sn-auth-overlay .sn-auth-content {
	padding: clamp(3.7rem, 5vw, 5rem) clamp(3rem, 5vw, 4.4rem) clamp(3rem, 4vw, 4rem);
}

.sn-auth-overlay .sn-auth-content button.sn-auth-close {
	position: absolute;
	top: 20px;
	right: 20px;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: var(--sn-icon-button-size, 44px) !important;
	height: var(--sn-icon-button-size, 44px) !important;
	min-width: var(--sn-icon-button-size, 44px);
	min-height: var(--sn-icon-button-size, 44px);
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	outline: 0;
	background: var(--sn-color-surface-soft, #f3f8f3) !important;
	color: var(--sn-color-ink, #183229) !important;
	box-shadow: none !important;
	line-height: 1;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sn-auth-overlay .sn-auth-content button.sn-auth-close:hover {
	background: #e7f1e9 !important;
	color: #016341 !important;
	transform: rotate(4deg);
}

.sn-auth-overlay .sn-auth-content button.sn-auth-close:focus-visible {
	outline: 0 !important;
	box-shadow: var(--sn-focus-ring, 0 0 0 3px rgba(1, 99, 65, .14)) !important;
}

.sn-auth-overlay .sn-auth-content button.sn-auth-close svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sn-auth-overlay .sn-auth-tabs button {
	width: auto !important;
	margin: 0;
	padding: .8rem 0 1rem !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	outline: 0;
	background: transparent !important;
	color: #153c2d !important;
	box-shadow: none !important;
}

.sn-auth-overlay .sn-auth-tabs button.is-active {
	border-bottom-color: #337553 !important;
	background: transparent !important;
	color: #337553 !important;
}

.sn-auth-overlay .sn-auth-tabs button:focus-visible {
	outline: 2px solid #337553 !important;
	outline-offset: 3px;
}

.sn-auth-overlay .sn-auth-panel input[type="text"],
.sn-auth-overlay .sn-auth-panel input[type="email"],
.sn-auth-overlay .sn-auth-panel input[type="password"] {
	height: var(--sn-control-height, 48px);
	min-height: var(--sn-control-height, 48px);
	padding: .7rem var(--sn-control-padding-x, 14px);
	border: 1px solid var(--sn-color-line, #ceddd3) !important;
	border-radius: var(--sn-control-radius, 12px) !important;
	outline: 0 !important;
	background: #fff !important;
	color: #153c2d;
	box-shadow: none !important;
}

.sn-auth-overlay .sn-auth-panel input[type="text"]:focus,
.sn-auth-overlay .sn-auth-panel input[type="email"]:focus,
.sn-auth-overlay .sn-auth-panel input[type="password"]:focus {
	border-color: #337553 !important;
	box-shadow: var(--sn-focus-ring, 0 0 0 3px rgba(1, 99, 65, .14)) !important;
}

.sn-auth-overlay .sn-auth-panel button.sn-auth-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100% !important;
	height: var(--sn-button-height, 48px);
	min-height: var(--sn-button-height, 48px);
	margin: 0;
	padding: .9rem 1.5rem !important;
	border: 0 !important;
	border-radius: var(--sn-button-radius, 999px) !important;
	outline: 0;
	background: var(--sn-color-primary, #016f4b) !important;
	color: #fff !important;
	box-shadow: var(--sn-button-shadow, 0 8px 22px rgba(1, 99, 65, .18)) !important;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sn-auth-overlay .sn-auth-panel button.sn-auth-submit:hover {
	background: var(--sn-color-primary-hover, #005f41) !important;
	color: #fff !important;
	box-shadow: 0 10px 25px rgba(1, 99, 65, .22) !important;
	transform: translateY(-1px);
}

.sn-auth-overlay .sn-auth-panel button.sn-auth-submit:focus-visible {
	outline: 0 !important;
	box-shadow: var(--sn-focus-ring, 0 0 0 3px rgba(1, 99, 65, .14)), var(--sn-button-shadow, 0 8px 22px rgba(1, 99, 65, .18)) !important;
}

.sn-auth-overlay .sn-auth-panel button.sn-auth-submit:disabled {
	background: #7aa895 !important;
	box-shadow: none !important;
	transform: none;
	cursor: wait;
	opacity: .72;
}

@media (max-width: 900px) {
	.sn-auth-overlay .sn-auth-modal {
		grid-template-columns: minmax(280px, .75fr) minmax(430px, 1.25fr);
	}
}

@media (max-width: 680px) {
	.sn-auth-overlay .sn-auth-modal {
		width: min(100% - 1.25rem, 560px);
		grid-template-columns: 1fr;
		border-radius: 24px;
	}

	.sn-auth-overlay .sn-auth-content {
		padding: 4.5rem 1.25rem 1.5rem;
	}

	.sn-auth-overlay .sn-auth-content button.sn-auth-close {
		top: 12px;
		right: 12px;
		width: var(--sn-icon-button-size, 44px) !important;
		height: var(--sn-icon-button-size, 44px) !important;
		min-width: var(--sn-icon-button-size, 44px);
		min-height: var(--sn-icon-button-size, 44px);
	}

	.sn-auth-overlay .sn-auth-panel input[type="text"],
	.sn-auth-overlay .sn-auth-panel input[type="email"],
	.sn-auth-overlay .sn-auth-panel input[type="password"] {
		height: var(--sn-control-height, 48px);
		min-height: var(--sn-control-height, 48px);
	}

	.sn-auth-overlay .sn-auth-panel button.sn-auth-submit {
		height: var(--sn-button-height, 48px);
		min-height: var(--sn-button-height, 48px);
	}
}
