/* ==========================================================================
   Portal del Estudiante — Sistema Visual (Documento Maestro, Sección
   13.124). Framework PAE. Identidad propia — construida de forma
   independiente; reutiliza únicamente principios generales del
   sistema visual ya aprobado (variables, tarjetas, botones), nunca el
   archivo CSS literal del Portal del Docente ni del Portal del Padre.
   Sin JavaScript, sin dependencias externas, sin CDN.
   ========================================================================== */

:root {
	--pae-color-primario: #2271b1;
	--pae-color-texto: #1d2327;
	--pae-color-texto-suave: #646970;
	--pae-color-borde: #ccd0d4;
	--pae-color-fondo: #f6f7f7;
	--pae-color-superficie: #ffffff;
	--pae-color-alerta: #b32d2e;
	--pae-radio: 8px;
	--pae-sombra: 0 1px 2px rgba(0, 0, 0, 0.06);
	--pae-espacio-sm: 10px;
	--pae-espacio-md: 16px;
	--pae-espacio-lg: 24px;
}

.pae-estudiante * {
	box-sizing: border-box;
}

.pae-estudiante {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	color: var(--pae-color-texto);
	background: var(--pae-color-fondo);
	min-height: 100vh;
	margin: 0;
}

/* ---------- Login ---------- */

.pae-est-login-wrap {
	min-height: 100vh;
	display: flex;
}

.pae-est-login-identidad {
	flex: 0 0 45%;
	background-color: var(--pae-color-primario);
	color: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 32px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.pae-est-login-identidad img {
	max-width: 40%;
	margin-bottom: 16px;
}

.pae-est-login-identidad h1 {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0;
}

.pae-est-login-formulario-col {
	flex: 1 1 55%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--pae-color-fondo);
	padding: 32px;
}

.pae-est-login-formulario-caja {
	width: 100%;
	max-width: 400px;
}

.pae-est-login-formulario-caja h2 {
	font-size: 1.35rem;
	margin-bottom: 4px;
	color: var(--pae-color-texto);
}

.pae-est-login-subtitulo {
	color: var(--pae-color-texto-suave);
	margin-top: 0;
	margin-bottom: 24px;
	font-size: 0.95rem;
}

.pae-est-login-marca {
	text-align: center;
	margin-top: 24px;
	font-size: 0.75rem;
	color: #999999;
}

/* Espaciado del formulario de Login (Documento Maestro, Sección
   13.126) — encapsulado exclusivamente dentro de la caja del Login
   del Estudiante; nunca afecta Login del Docente ni del Padre, que
   usan sus propias hojas de estilos independientes. */

.pae-est-login-formulario-caja .pae-campo {
	margin-bottom: 20px;
}

.pae-est-login-formulario-caja .pae-campo label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 500;
}

.pae-est-login-formulario-caja .pae-campo input {
	width: 100%;
	padding: 10px 12px;
	font-size: 15px;
	border: 1px solid var(--pae-color-borde);
	border-radius: var(--pae-radio);
	box-sizing: border-box;
}

.pae-est-login-formulario-caja .pae-campo-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
	font-size: 14px;
}

.pae-est-login-formulario-caja .pae-boton {
	margin-top: 16px;
	padding: 12px 20px;
	font-size: 15px;
	border-radius: var(--pae-radio);
	border: none;
	cursor: pointer;
}

.pae-est-login-formulario-caja .pae-boton-primario {
	background: var(--pae-color-primario);
	color: #ffffff;
}

.pae-est-login-formulario-caja .pae-boton-ancho-completo {
	width: 100%;
	display: block;
}

.pae-est-login-formulario-caja .pae-mensaje {
	margin-bottom: 20px;
	padding: 10px 12px;
	border-radius: var(--pae-radio);
	font-size: 14px;
}

.pae-est-login-formulario-caja .pae-mensaje-error {
	background: #fcf0f1;
	border-left: 4px solid var(--pae-color-alerta);
}

@media (max-width: 768px) {
	.pae-est-login-formulario-caja .pae-campo {
		margin-bottom: 18px;
	}

	.pae-est-login-formulario-caja .pae-boton {
		padding: 14px 20px;
	}
}

@media (max-width: 768px) {
	.pae-est-login-wrap {
		flex-direction: column;
	}

	.pae-est-login-identidad {
		flex: 0 0 auto;
		padding: 24px;
	}

	.pae-est-login-identidad h1 {
		font-size: 1.15rem;
	}

	.pae-est-login-formulario-col {
		flex: 1 1 auto;
	}
}

/* ---------- Estructura base del Portal (preparada, sin uso todavía) ---------- */

.pae-est-contenedor {
	max-width: 960px;
	margin: 0 auto;
	padding: var(--pae-espacio-lg) var(--pae-espacio-md);
}

.pae-est-titulo {
	font-size: 22px;
	font-weight: 600;
	margin: 0 0 var(--pae-espacio-md);
}

/* ---------- Tarjetas (preparadas, sin uso todavía) ---------- */

.pae-est-card {
	background: var(--pae-color-superficie);
	border: 1px solid var(--pae-color-borde);
	border-radius: var(--pae-radio);
	box-shadow: var(--pae-sombra);
	padding: var(--pae-espacio-md);
	margin-bottom: var(--pae-espacio-lg);
}

/* ---------- Botones (preparados, sin uso todavía) ---------- */

.pae-est-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 500;
	padding: 10px 16px;
	border-radius: var(--pae-radio);
	border: 1px solid transparent;
	text-decoration: none;
	cursor: pointer;
	min-height: 40px;
	line-height: 1.2;
}

.pae-est-btn--primario {
	background: var(--pae-color-primario);
	color: #fff;
	border-color: var(--pae-color-primario);
}

.pae-est-btn--secundario {
	background: var(--pae-color-superficie);
	color: var(--pae-color-texto);
	border-color: var(--pae-color-borde);
}

/* ---------- Mensajes (preparados, sin uso todavía) ---------- */

.pae-est-mensaje-error {
	background: #fcf0f1;
	border-left: 4px solid var(--pae-color-alerta);
	padding: var(--pae-espacio-sm);
	margin-bottom: var(--pae-espacio-md);
	font-size: 14px;
}

/* ---------- Responsive general (preparado, sin uso todavía) ---------- */

@media (max-width: 600px) {
	.pae-est-contenedor {
		padding: var(--pae-espacio-md) var(--pae-espacio-sm);
	}
}
