/**
 * EduManage ERP — Phase 3 Premium Login / Forgot / Reset screens.
 *
 * Depends on edumanage-design-system.css (loaded first) for CSS
 * variables and shared .edu-* classes. This file only adds the
 * layout specific to the auth screens: the centered gradient page,
 * the split brand panel, and the card itself.
 */

.edu-auth-page {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: var(--edu-bg);
}

.edu-auth-shell {
	width: 100%;
	max-width: 920px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--edu-surface);
	border-radius: var(--edu-radius-lg);
	box-shadow: var(--edu-shadow-lg);
	overflow: hidden;
	min-height: 560px;
}

.edu-auth-brand {
	background: linear-gradient(160deg, var(--edu-primary) 0%, var(--edu-accent) 100%);
	color: #fff;
	padding: 48px 40px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.edu-auth-brand-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	font-weight: 800;
}

.edu-auth-brand-logo .edu-logo-badge {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.18);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.edu-auth-brand-tagline {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.35;
	margin-top: 40px;
}

.edu-auth-brand-sub {
	margin-top: 12px;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
}

.edu-auth-brand-footer {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
}

.edu-auth-form-side {
	padding: 48px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.edu-auth-heading {
	font-size: 24px;
	font-weight: 800;
	margin: 0 0 6px;
	color: var(--edu-text);
}

.edu-auth-subheading {
	font-size: 14px;
	color: var(--edu-text-muted);
	margin: 0 0 28px;
}

.edu-auth-message {
	padding: 12px 14px;
	margin-bottom: 20px;
	border-radius: var(--edu-radius-sm);
	font-size: 13px;
	font-weight: 600;
}

.edu-auth-message.is-success {
	background: var(--edu-success-bg);
	color: var(--edu-success);
}

.edu-auth-message.is-error {
	background: var(--edu-danger-bg);
	color: var(--edu-danger);
}

.edu-auth-remember-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: -4px 0 20px;
	font-size: 13px;
}

.edu-auth-remember-row label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	color: var(--edu-text-muted);
	cursor: pointer;
}

.edu-auth-remember-row a {
	color: var(--edu-primary);
	font-weight: 600;
}

.edu-auth-remember-row a:hover {
	text-decoration: underline;
}

.edu-auth-footer-link {
	margin-top: 22px;
	font-size: 13px;
	text-align: center;
	color: var(--edu-text-muted);
}

.edu-auth-footer-link a {
	color: var(--edu-primary);
	font-weight: 600;
}

.edu-auth-footer-link a:hover {
	text-decoration: underline;
}

.edu-auth-already {
	max-width: 480px;
	margin: 60px auto;
}

/* Mobile: stack brand panel above the form, shorten it */
@media (max-width: 860px) {
	.edu-auth-shell {
		grid-template-columns: 1fr;
		max-width: 440px;
	}

	.edu-auth-brand {
		padding: 32px 28px;
	}

	.edu-auth-brand-tagline {
		font-size: 20px;
		margin-top: 20px;
	}

	.edu-auth-brand-footer {
		display: none;
	}

	.edu-auth-form-side {
		padding: 32px 28px;
	}
}

@media (max-width: 480px) {
	.edu-auth-page {
		padding: 0;
	}

	.edu-auth-shell {
		border-radius: 0;
		min-height: 100vh;
	}

	.edu-auth-brand {
		padding: 24px 20px;
	}

	.edu-auth-form-side {
		padding: 28px 20px;
	}
}
