/**
 * SSO Gateway Client — estilos del formulario.
 *
 * Diseñado para fondos oscuros: texto claro, inputs con relieve sutil,
 * botón con gradiente púrpura.
 */

.sso-gw-wrapper {
	max-width: 460px;
	margin: 1.5em auto;
	font-family: inherit;
	color: #f3f4f6;
}

.sso-gw-form {
	display: flex;
	flex-direction: column;
	gap: 1.1em;
}

.sso-gw-field {
	display: flex;
	flex-direction: column;
	gap: 0.45em;
}

.sso-gw-field label {
	font-weight: 600;
	font-size: 0.95em;
	color: #f3f4f6;
	letter-spacing: 0.2px;
}

.sso-gw-required {
	color: #f0abfc;
	margin-left: 2px;
}

/* Input claro (fondo blanco) sobre fondo oscuro de la página. */
.sso-gw-input {
	width: 100%;
	box-sizing: border-box;
	padding: 6px 15px !important;
	font-size: 1em;
	line-height: 1.5;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 6px;
	background: #fff !important;
	color: #000000 !important;
	caret-color: #000000;
	transition: border-color 160ms ease, background 160ms ease;
}

.sso-gw-input::placeholder {
	color: rgba(0, 0, 0, 0.45);
}

.sso-gw-input:hover {
	border-color: rgba(255, 255, 255, 0.28) !important;
}

/* En focus: sin halo, sin glow, sin cambios visibles. */
.sso-gw-input:focus,
.sso-gw-input:focus-visible {
	outline: none;
	border-color: rgba(255, 255, 255, 0.14) !important;
	background: #fff !important;
	box-shadow: none;
}

.sso-gw-input[aria-invalid="true"] {
	border-color: rgba(248, 113, 113, 0.85) !important;
}

/* Autofill: mantén fondo blanco y texto negro. */
.sso-gw-input:-webkit-autofill,
.sso-gw-input:-webkit-autofill:hover,
.sso-gw-input:-webkit-autofill:focus {
	-webkit-text-fill-color: #000000;
	-webkit-box-shadow: 0 0 0px 1000px #ffffff inset;
	transition: background-color 9999s ease-in-out 0s;
	caret-color: #000000;
}

/* Botón con gradiente púrpura solicitado. */
button.sso-gw-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 24px 8px 24px;
	border: none;
	border-radius: 11px;
	background: linear-gradient(90deg, #c026d3 30%, #9333ea 70%, #7e22ce 100%);
	color: #ffffff;
	font-weight: 600;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 0px 0px rgb(168 85 247 / .3);
	font-size: 16px;
	transform: translateY(0px);
	width: auto;
	align-self: center;
}

button.sso-gw-submit:hover,
button.sso-gw-submit:focus {
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgb(168 85 247 / .35);
	outline: none;
}

button.sso-gw-submit:focus-visible {
	box-shadow:
		0 8px 22px rgb(168 85 247 / .35),
		0 0 0 3px rgba(240, 171, 252, 0.45);
}

button.sso-gw-submit:active {
	transform: translateY(0px);
	box-shadow: 0 2px 6px rgb(168 85 247 / .35);
}

button.sso-gw-submit[aria-busy="true"],
button.sso-gw-submit:disabled {
	opacity: 0.7;
	cursor: progress;
	transform: translateY(0);
}

.sso-gw-status {
	min-height: 1.4em;
	font-size: 0.95em;
	color: #e5e7eb;
}

.sso-gw-status.is-error {
	color: #fca5a5;
}

.sso-gw-status.is-success {
	color: #86efac;
}

.sso-gw-status.is-info {
	color: #e5e7eb;
}

/* Honeypot: invisible para humanos, sin display:none para que los bots la rellenen. */
.sso-gw-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.sso-gw-admin-warning {
	background: rgba(219, 166, 23, 0.15);
	border-left: 4px solid #dba617;
	padding: 0.8em 1em;
	margin: 0 0 1em;
	font-size: 0.9em;
	color: #fde68a;
	border-radius: 6px;
}

.sso-gw-turnstile {
	min-height: 65px;
}
