/* IPT Participant Portal — Login & Forgot Password */

.ipt-portal--auth {
	background: transparent;
	border: none;
	box-shadow: none;
	max-width: 440px;
	padding: 1.5rem 1rem;
}

.ipt-portal__auth-card {
	background: var(--ipt-white);
	border-radius: var(--ipt-radius);
	overflow: hidden;
	box-shadow: var(--ipt-shadow);
	border: 1px solid rgba(105, 59, 0, 0.1);
}

.ipt-portal__auth-brand {
	background: linear-gradient(135deg, var(--ipt-primary-dark) 0%, var(--ipt-primary) 50%, var(--ipt-primary-light) 100%);
	padding: 2rem 1.75rem 1.75rem;
	text-align: center;
	position: relative;
}

.ipt-portal__auth-brand::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 10%;
	right: 10%;
	height: 3px;
	background: linear-gradient(90deg, transparent, rgba(231, 228, 217, 0.5), transparent);
}

.ipt-portal__auth-brand .ipt-portal__eyebrow {
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 0.5rem;
}

.ipt-portal__auth-title {
	font-family: var(--ipt-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 0.35rem;
	line-height: 1.25;
}

.ipt-portal__auth-subtitle {
	font-family: var(--ipt-font-body);
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

.ipt-portal__auth-body {
	padding: 1.75rem 1.75rem 2rem;
}

.ipt-portal__auth-intro {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--ipt-text-muted);
	margin: 0 0 1.25rem;
}

.ipt-portal__auth-form {
	margin: 0;
}

.ipt-portal__remember {
	margin: 0 0 1.25rem;
	font-size: 0.88rem;
	color: var(--ipt-text-muted);
}

.ipt-portal__remember label {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	cursor: pointer;
	font-family: var(--ipt-font-body);
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
	color: var(--ipt-text-muted);
}

.ipt-portal__remember input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--ipt-primary);
}

.ipt-portal__btn--block {
	display: block;
	width: 100%;
	text-align: center;
}

.ipt-portal__auth-links {
	text-align: center;
	margin: 1.25rem 0 0;
	font-size: 0.88rem;
}

.ipt-portal__auth-links a {
	color: var(--ipt-primary) !important;
	font-family: var(--ipt-font-heading);
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none !important;
	transition: opacity 0.2s ease;
}

.ipt-portal__auth-links a:hover,
.ipt-portal__auth-links a:focus {
	color: var(--ipt-primary-dark) !important;
	opacity: 0.85;
}

.ipt-portal--auth .ipt-portal__notice {
	margin-bottom: 1.15rem;
}

@media (max-width: 480px) {
	.ipt-portal--auth {
		padding: 0.75rem 0.5rem;
	}

	.ipt-portal__auth-body {
		padding: 1.35rem 1.15rem 1.5rem;
	}
}
