html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}

* {
	box-sizing: content-box;
	margin: 0;
	padding: 0;
}

/* codigo-body */
body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	background: #ffffff;
	color: #111827;
}

.page-wrapper {
	min-height: 100vh;
	display: flex;
	justify-content: center;   /* 🔥 Esto centra todo el contenido */
	align-items: flex-start;
	padding: 4rem 2.5rem;
	background: #ffffff;
}

/* codigo-login-card */
.login-card {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 200px;
}

.login-card { display: flex; justify-content: center; }

/* codigo-login-left */
.login-left{
	flex: 1;
	display: flex;
	flex-direction: column;   /* <-- CLAVE */
}

/* codigo-login-left-form-width */
.login-left form {
	width: 432px;
}

/* codigo-login-content */
.login-content{
	width: 432px;
	min-height: 474px;
	margin-top: 120px;
	margin-left: 201px;
}

/* codigo-title */
.login-title {
	width: 432px;
	height: 50px;
	font-family: 'Inter', sans-serif;
	font-size: 40px;
	font-weight: 600;
	line-height: 125%;
	color: #171618;
	margin-bottom: 0.6rem;
}

/* codigo-subtitle */
.login-subtitle {
	width: 100%;
	height: auto;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 120%;
	letter-spacing: 0.25px;
	color: #6B7280;
	max-width: 380px;
	margin-bottom: 66px !important;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.25em;
}

/* codigo-subtitle-brand */
.login-subtitle .brand-name {
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 125%;
	letter-spacing: 0.25px;
	color: #171618;
	display: inline; 
}

/* codigo-form-group */
.form-group {
	margin-bottom: 24px !important;
}

/* codigo-form-label */
.form-label {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 120%;
	color: #6B7280;
	margin-bottom: 8px;
}

/* codigo-input-wrapper */
.form-input-wrapper {
	position: relative;
}

/* codigo-input */
.form-input {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border-radius: 8px;
	border: 1px solid #E5E7EB;
	background: #FFFFFF;
	font-size: 16px;
	font-weight: 400;
}

/* codigo-input-autofill */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #ffffff inset;
	box-shadow: 0 0 0 1000px #ffffff inset;
}

/* codigo-input-focus */
.form-input:focus {
	outline: none;
	border-color: #9ca3af;
}

/* codigo-ojito */
.input-action {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	cursor: pointer;

	background-image: url("../img/ojito.png");
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: center;
}

/* codigo-forgot-link */
.forgot-link {
	display: block;
	text-align: right;
	font-size: 14px;
	font-weight: 400;
	color: #6B7280;
	text-decoration: none;
	margin-top: 8px !important;
}

.forgot-link:hover {
	text-decoration: underline;
}

/* BOTÓN HABILITADO */#btn_Enviar.btn-login {
	width: 218px;
	height: 48px;
	margin: 53px auto 0 auto;
	padding: 0 32px;

	display: flex;
	align-items: center;
	justify-content: center;

	background: #E7E7E7;
	color: #9CA3AF;

	border: none;
	border-radius: 4px;

	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 600;

	cursor: not-allowed;
}

/* Estado HABILITADO */
#btn_Enviar.btn-login:not(:disabled) {
	background: #171618;
	color: #FFFFFF;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.1s ease;
}

#btn_Enviar.btn-login:not(:disabled):hover {
	background: #0f0f0f;
}

#btn_Enviar.btn-login:not(:disabled):active {
	transform: scale(0.98);
}

/* codigo-extra-links */
.extra-links {
	margin-top: 16px;
	text-align: center;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: #9CA3AF;
}

/* codigo-first-time-link */
.extra-links a {
	font-weight: 500;
	margin-left: 8px;
	color: #171618;
	text-decoration: none;
}

/* codigo-icon-up-right */
.icon-up-right {
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("../img/iconos/up-right.png") no-repeat center center;
	background-size: 20px 20px;
	vertical-align: middle;
	margin-left: 4px;
}

.login-right-inner {
	width: 100%;
	height: 100%;
	position: relative;
}

.login-right-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 24px;
}

/* codigo-footer */
.login-footer {
	width: 432px; 
	margin-top: 48px;
	padding-top: 18px;
	border-top: 1px solid #e5e7eb;

	display: flex;
	justify-content: space-between;
	align-items: center;

	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: #9ca3af;

	 margin-left: 201px; 
}

/* codigo-footer-links */
.login-footer a {
	color: #9ca3af;
	text-decoration: none;
	transition: color 0.2s ease;
}

.login-footer a:hover {
	color: #111111; /* Negro tipo botón */
}

/* codigo-footer-lang */
.lang-switch {
	display: flex;
	gap: 8px;
}

.lang-active {
	font-weight: 600;
	color: #171618;
}

/* codigo-login-panel */
.login-panel {
	display: none; 
}

/* codigo-login-panel-active */
.login-panel--active {
	display: block; 
}

body.show-token .token-overlay {
	/*display: flex;*/
	display: none;
}

/* codigo-token-overlay */
.token-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.35); 
	display: none;                
	justify-content: flex-end;      
	z-index: 999;
}

/* codigo-token-overlay-active */
.token-overlay.is-active {
	display: flex;
}

/* codigo-token-panel */
.token-panel {
	width: 520px;
	max-width: 100%;
	background: #ffffff;
	padding: 40px 48px 56px;
	position: relative;
	overflow-y: auto;
}

/* codigo-token-close */
.token-close {
	position: absolute;
	top: 24px;
	right: 24px;
	background: transparent;
	border: none;
	font-size: 20px;
	cursor: pointer;
}

/* codigo-token-title */
.token-title {
	font-family: 'Inter', sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #171618;
	margin-bottom: 16px;
}

/* codigo-token-text */
.token-text {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 150%;
	color: #4B5563;
	margin-bottom: 8px;
	max-width: 430px;  
}

/* codigo-token-qr-wrapper */
.token-qr-wrapper {
	margin: 72px auto 24px; 
	width: 232px;
	height: 232px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* codigo-token-qr */
.token-qr {
	width: 100%;
	height: 100%;
	object-fit: contain; 
}

/* codigo-token-link */
.token-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: none;
	background: transparent;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #171618;
	cursor: pointer;

	margin: 0 auto 8px;
	position: relative;
	left: 50%;
	transform: translateX(-50%); 
}

/* codigo-token-autoclose */
.token-autoclose {
	margin-top: 0;
	text-align: center;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #9CA3AF;
}

a#instrucciones.first-time-link,
.first-time-link#instrucciones {
	/* reset de cosas que suelen meterle los CSS viejos */
	all: unset;                 /* neutraliza reglas heredadas del id */
	cursor: pointer;
	
	/* re-aplicamos tu estilo */
	display: inline-flex;
	align-items: center;
	gap: 4px;

	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #171618;
	text-decoration: none;
	margin-left: 5px;
}

/* hover como antes (si lo quieres) */
a#instrucciones.first-time-link:hover {
	color: #111111;
	text-decoration: none;
}

/* OVERLAY oscurece toda la pantalla */
.overlay-ayuda{
	position: fixed;
	inset: 0;
	background: rgba(23,22,24,0.65);  /* negro con transparencia */
	z-index: 9999;
}

/* PANEL lateral derecho */
.panel-ayuda{
	position: absolute;
	top: 0;
	right: 0;
	width: 540px;
	height: 100vh;
	background: #ffffff;
	padding: 40px 36px;
	box-shadow: -8px 0 30px rgba(0,0,0,0.12);
	display: flex;
	flex-direction: column;
}

/* Botón cerrar (X) */
.panel-ayuda-close{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	color: #171618;
}

/* Títulos */
.panel-ayuda-title{
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #171618;
	margin-bottom: 8px;
}

.panel-ayuda-subtitle{
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #6B7280;
	margin-bottom: 24px;
}

/* Items */
.panel-ayuda-items{
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.panel-ayuda-item{
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.panel-ayuda-label{
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: #9CA3AF;
	margin-bottom: 2px;
}

.panel-ayuda-value{
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #171618;
}

/* Iconos (usa tus imágenes si ya existen) */
.panel-ayuda-icon{
	width: 24px;
	height: 24px;
	background-size: 24px 24px;
	background-repeat: no-repeat;
	background-position: center;
	margin-top: 2px;
}
/* ocupe todo el alto de la ventana para el nuevo user */
#mainFondoControles {
	min-height: 100vh;
}

/* Rutas ejemplo: cámbialas a tu folder real */
.panel-ayuda-icon.phone{
	background-image: url("../img/IconTelAyuda.png");
}
.panel-ayuda-icon.whatsapp{
	background-image: url("../img/IconWatsAyuda.png");
}
.panel-ayuda-icon.mail{
	background-image: url("../img/emailAyuda.png");
}
/* Ocultar el ojito nativo de Edge */
input[type="password"]::-ms-reveal, input[type="password"]::-ms-clear {
	display: none !important;
}
/* codigo-responsive */
@media (max-width: 1000px) {
	.login-card {
		flex-direction: column;
		align-items: flex-start;
		gap: 40px;
		padding: 40px 24px 24px;
	}
	.login-content {
		margin-left: 0;
		margin-top: 40px;
	}
	.login-right {
		display: none;
	}
	.login-footer {
		padding: 16px 24px;
	}
	input::-ms-reveal, input::-ms-clear {
		display: none;
	}
}