﻿/* ========================================
   认证页面样式 - 登录/注册页面
   ======================================== */

.auth-page {
	background: var(--color-bg);
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--spacing-md);
}

.auth-container {
	display: flex;
	max-width: 1000px;
	width: 100%;
	background: var(--color-bg-white);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-lg);
	overflow: hidden;
	min-height: 500px;
}

.auth-box {
	flex: 1;
	padding: var(--spacing-xl);
	min-width: 320px;
}

	.auth-box.register-box {
		min-width: 380px;
	}

.auth-header {
	text-align: center;
	margin-bottom: var(--spacing-lg);
}

.auth-logo {
	height: 50px;
	margin-bottom: var(--spacing-sm);
}

.auth-header h1 {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--color-primary);
}

.auth-header p {
	color: var(--color-text-light);
	font-size: 0.95rem;
}

.auth-form .form-group {
	margin-bottom: var(--spacing-md);
}

.auth-form .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--spacing-md);
}

.auth-form .password-wrapper {
	position: relative;
}

.auth-form .password-toggle {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: var(--color-text-lighter);
	cursor: pointer;
	padding: 0 4px;
}

	.auth-form .password-toggle:hover {
		color: var(--color-text);
	}

.auth-form .remember-group {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

	.auth-form .remember-group label {
		display: flex;
		align-items: center;
		gap: var(--spacing-xs);
		font-weight: normal;
		font-size: 0.9rem;
		margin-bottom: 0;
	}

.auth-form .forgot-link {
	font-size: 0.85rem;
	color: var(--color-primary);
}

	.auth-form .forgot-link:hover {
		text-decoration: underline;
	}

.auth-form .password-hint {
	display: block;
	font-size: 0.8rem;
	color: var(--color-text-lighter);
	margin-top: -0.5rem;
	margin-bottom: var(--spacing-sm);
}

	.auth-form .password-hint small {
		transition: color var(--transition-fast);
	}

.auth-form .radio-group {
	display: flex;
	gap: var(--spacing-lg);
}

	.auth-form .radio-group label {
		display: flex;
		align-items: center;
		gap: var(--spacing-xs);
		font-weight: normal;
		cursor: pointer;
		margin-bottom: 0;
	}

.auth-form .checkbox-group {
	margin: var(--spacing-sm) 0;
}

	.auth-form .checkbox-group label {
		display: flex;
		align-items: flex-start;
		gap: var(--spacing-xs);
		font-weight: normal;
		font-size: 0.9rem;
		cursor: pointer;
		margin-bottom: 0;
	}

	.auth-form .checkbox-group input[type="checkbox"] {
		margin-top: 3px;
		flex-shrink: 0;
	}

	.auth-form .checkbox-group a {
		color: var(--color-primary);
	}

		.auth-form .checkbox-group a:hover {
			text-decoration: underline;
		}

.auth-divider {
	display: flex;
	align-items: center;
	margin: var(--spacing-lg) 0;
}

	.auth-divider::before,
	.auth-divider::after {
		content: '';
		flex: 1;
		height: 1px;
		background: var(--color-border);
	}

	.auth-divider span {
		padding: 0 var(--spacing-md);
		color: var(--color-text-lighter);
		font-size: 0.85rem;
	}

.auth-footer {
	text-align: center;
}

	.auth-footer p {
		color: var(--color-text-light);
		font-size: 0.95rem;
	}

		.auth-footer p a {
			color: var(--color-primary);
			font-weight: 600;
		}

			.auth-footer p a:hover {
				text-decoration: underline;
			}

	.auth-footer .auth-back {
		margin-top: var(--spacing-sm);
	}

		.auth-footer .auth-back a {
			color: var(--color-text-lighter);
			font-weight: normal;
			font-size: 0.85rem;
		}

			.auth-footer .auth-back a:hover {
				color: var(--color-text);
			}

/* ========== 右侧装饰 ========== */
.auth-decoration {
	flex: 0 0 40%;
	background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
	color: var(--color-text-white);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--spacing-xl);
	min-height: 400px;
}

.decoration-content {
	text-align: center;
}

	.decoration-content h2 {
		font-size: 2rem;
		font-weight: 700;
		margin-bottom: var(--spacing-sm);
	}

	.decoration-content p {
		font-size: 1.1rem;
		opacity: 0.9;
	}

.decoration-icons {
	display: flex;
	gap: var(--spacing-lg);
	justify-content: center;
	margin-top: var(--spacing-lg);
}

	.decoration-icons i {
		font-size: 2.5rem;
		opacity: 0.7;
		transition: opacity var(--transition-fast);
	}

		.decoration-icons i:hover {
			opacity: 1;
		}

/* ========== 响应式 ========== */
@media (max-width: 992px) {
	.auth-container {
		flex-direction: column;
		max-width: 500px;
	}

	.auth-decoration {
		flex: 1;
		min-height: 200px;
		padding: var(--spacing-lg);
	}

	.auth-box {
		padding: var(--spacing-lg);
		min-width: unset;
	}

		.auth-box.register-box {
			min-width: unset;
		}
}

@media (max-width: 576px) {
	.auth-form .form-row {
		grid-template-columns: 1fr;
	}

	.auth-header h1 {
		font-size: 1.4rem;
	}

	.auth-box {
		padding: var(--spacing-md);
	}

	.auth-decoration {
		padding: var(--spacing-md);
		min-height: 150px;
	}

	.decoration-content h2 {
		font-size: 1.4rem;
	}

	.decoration-icons i {
		font-size: 1.8rem;
	}

	.auth-container {
		border-radius: var(--radius-lg);
	}
}
