.auth-page {
	min-height: 100vh;
	color: #e2e8f0;
}

.auth-nav {
	position: relative;
	z-index: 20;
}

.auth-nav-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 4rem;
	gap: 1rem;
}

.auth-main {
	position: relative;
	z-index: 1;
	padding: 2rem 0 4rem;
}

.auth-grid {
	display: grid;
	gap: 3.5rem;
	align-items: center;
}

.auth-pitch {
	order: 2;
	padding: 0.5rem 0 1.5rem;
}

.auth-badge {
	display: inline-flex;
	margin-bottom: 1.5rem;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: rgba(69, 10, 10, 0.55);
	border: 1px solid rgba(153, 27, 27, 0.45);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.auth-form-col {
	order: 1;
}

.auth-pitch h1 {
	font-size: clamp(2.15rem, 4.4vw, 3.6rem);
	line-height: 1.05;
	font-weight: 700;
	color: #f8fafc;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.auth-pitch h1 span {
	background: linear-gradient(90deg, #ff5c57 0%, #ffd0ce 55%, #fff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.auth-pitch-sub {
	margin-top: 1.5rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #fff;
	max-width: 34rem;
	line-height: 1.45;
}

.auth-pitch-text {
	margin-top: 1.1rem;
	color: #94a3b8;
	max-width: 34rem;
	line-height: 1.7;
}

.auth-points {
	margin-top: 2.25rem;
	display: grid;
	gap: 0.85rem;
}

.auth-point {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	color: #cbd5e1;
	padding: 0.7rem 0.85rem;
	border-radius: 0.9rem;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
}

.auth-point.is-hot {
	color: #fff;
	font-weight: 600;
}

.auth-point em {
	font-style: normal;
	color: #ff5c57;
	font-weight: 800;
}

.auth-point-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	flex-shrink: 0;
	border-radius: 0.5rem;
	background: #000;
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 12px rgba(138, 4, 2, 0.4);
	color: #ff5c57;
}

.auth-card-wrap {
	max-width: 28rem;
	margin: 0 auto;
	width: 100%;
}

.auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.auth-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2.75rem;
	border-radius: 0.5rem;
	font-weight: 600;
	color: #e2e8f0;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.auth-tab.is-active,
.auth-tab:hover {
	background: var(--accent);
	color: var(--accent-foreground);
	border-color: rgba(255, 255, 255, 0.2);
}

.auth-card-inner {
	padding: 2rem;
}

.auth-card-inner h2 {
	font-size: 1.35rem;
	font-weight: 600;
	color: #fff;
	text-align: left;
	margin-bottom: 1rem;
}

.auth-form {
	display: grid;
	gap: 0.75rem;
}

.auth-input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.85rem 1rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	font-size: 1rem;
}

.auth-input::placeholder {
	color: #94a3b8;
}

.auth-input:focus {
	border-color: #c60503;
	box-shadow: 0 0 0 3px rgba(198, 5, 3, 0.25);
}

.auth-submit,
button.g-recaptcha {
	width: 100%;
	height: 2.85rem;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 0.5rem;
	background: var(--accent);
	color: var(--accent-foreground);
	font-weight: 600;
	cursor: pointer;
	transition: box-shadow 0.3s, background 0.3s;
}

.auth-submit:hover,
button.g-recaptcha:hover {
	box-shadow: 0 0 15px rgba(198, 5, 3, 0.8), 0 0 50px rgba(198, 5, 3, 0.4);
}

.auth-alert,
.auth-alert-ok {
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	margin-bottom: 0.85rem;
	text-align: left;
	font-size: 0.95rem;
}

.auth-alert {
	background: rgba(74, 7, 6, 0.7);
	border: 1px solid rgba(255, 92, 87, 0.35);
	color: #ffd0ce;
}

.auth-alert-ok {
	background: rgba(20, 83, 45, 0.55);
	border: 1px solid rgba(74, 222, 128, 0.3);
	color: #bbf7d0;
}

.auth-links {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1rem;
	font-size: 0.9rem;
}

.auth-links a {
	color: #cbd5e1;
}

.auth-links a:hover {
	color: #fff;
}

@media (min-width: 960px) {
	.auth-grid {
		grid-template-columns: 1.15fr 0.85fr;
		gap: 5rem;
		min-height: calc(100vh - 10rem);
	}

	.auth-pitch {
		order: 1;
		padding: 1.25rem 0.5rem 1.25rem 0;
	}

	.auth-form-col {
		order: 2;
	}

	.auth-card-wrap {
		margin: 0;
		max-width: none;
	}
}
