@CHARSET "UTF-8";
* { margin:0; padding:0; list-style:none;}
html, body { 
	background: url(../images/login/bg.gif);
	overflow-y: auto;
	overflow-x: hidden;
	font:normal 15px "Microsoft YaHei";
}
#login_top {
 height:39px;
 background: #07c url('../images/login/topBg.gif') 0px 0px repeat-x;
}
#welcome{
	height: 39px;
	line-height: 39px;
	padding-left: 40px;
	background: url('../images/login/topleft.gif') 0px 0px no-repeat;
	color:#fff;
	float: left;
}
#back{
	float: right;
	height: 39px;
	line-height: 39px;
	padding-right: 15px;
}
#back a{
	 color: #fff;
	 text-decoration: none;
}
#login_center {
}
#login_bottom {
 height:30px;
 line-height: 30px;
 text-align: center;
 color: #555;
}
#login_area{
	margin: 0px auto;
	width: 986px;
	height: 570px;
	background: url('../images/login/login.gif') 0px 0px no-repeat;
	position: relative;
}
#login_form{
	width: 370px;
	height: 270px;
	position: absolute;
	top: 180px;
	right: 180px;
}
#login_tip{
	height: 35px;
	line-height: 35px;
	font-weight: bold;
	color: #3d96c9;
	padding-top: 15px;
}
input,img{
	border-style: none;
	vertical-align: middle;
}
.username,.pwd{
	width: 300px;
	height: 48px;
	line-height: 48px;
	padding-left: 43px;
	margin-top: 20px;
}
.username{
	background: url('../images/login/username.gif') 0px 0px no-repeat;
}
.pwd{
	background: url('../images/login/pwd.gif') 0px 0px no-repeat;
}
#btn_area{
 margin-top: 20px;
}

#sub_btn{
	width:97px;
	height: 41px;
	line-height: 41px;
	background: url('../images/login/btn.gif') 0px 0px no-repeat;
	font:normal 15px/41px "Microsoft YaHei";
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	vertical-align: middle;
}
.verify{
	width: 50px;
	height: 38px;
	line-height: 38px;
	padding-left: 25px;
	border: 1px solid #bac7d2 ;
	background: #ecf5fa url(../images/login/login-icon.gif) left -92px no-repeat;
 	border-radius: 3px;
 	box-shadow: 5px 5px 5px #e7f1f7 inset;
}
body {
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	background-color: #f1f5f9;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	color: var(--dark);
}

.auth-container {
	max-width: 1000px;
	width: 100%;
	background-color: white;
	border-radius: 1.5rem;
	overflow: hidden;
	box-shadow: var(--shadow);
}

/* 左侧品牌区域样式 */
.brand-side {
	background: linear-gradient(135deg, var(--primary), var(--secondary));
	color: white;
	padding: 4rem 3rem;
	position: relative;
	overflow: hidden;
}

.brand-side::before,
.brand-side::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.1);
	filter: blur(30px);
}

.brand-side::before {
	width: 300px;
	height: 300px;
	top: -100px;
	left: -100px;
}

.brand-side::after {
	width: 400px;
	height: 400px;
	bottom: -150px;
	right: -150px;
}

.brand-content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.brand-logo {
	font-size: 2.5rem;
	font-weight: 800;
	margin-bottom: 1.5rem;
	letter-spacing: -0.5px;
}

.brand-title {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1rem;
}

.brand-desc {
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 2.5rem;
	line-height: 1.6;
}

.feature-list {
	list-style: none;
	padding: 0;
	margin-bottom: 3rem;
}

.feature-list li {
	display: flex;
	align-items: flex-start;
	margin-bottom: 1rem;
}

.feature-list li i {
	margin-right: 0.75rem;
	margin-top: 0.25rem;
	color: rgba(255, 255, 255, 0.9);
}

/* 右侧表单区域样式 */
.form-side {
	padding: 4rem 3rem;
}

.form-tabs {
	display: flex;
	margin-bottom: 1.5rem;
	position: relative;
}

.form-tab {
	flex: 1;
	text-align: center;
	padding: 0.75rem 0;
	font-weight: 600;
	cursor: pointer;
	transition: var(--transition);
	color: #64748b;
	position: relative;
	z-index: 2;
}

.form-tab.active {
	color: var(--primary);
    border-bottom: 3px solid #1d4ed8;
}

.tab-indicator {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
	height: 3px;
	background-color: var(--primary);
	border-radius: 3px;
	transition: var(--transition);
}

.form-container {
	position: relative;
	min-height: 450px;
}

.form-panel {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: var(--transition);
}

.login-panel {
	opacity: 1;
	pointer-events: all;
}

.register-panel {
	opacity: 0;
	pointer-events: none;
	transform: translateX(20px);
}

.form-switched .login-panel {
	opacity: 0;
	pointer-events: none;
	transform: translateX(-20px);
}

.form-switched .register-panel {
	opacity: 1;
	pointer-events: all;
	transform: translateX(0);
}

.form-switched .tab-indicator {
	transform: translateX(100%);
}

.form-title {
	font-size: 1.75rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	color: var(--dark);
}

.form-subtitle {
	color: #64748b;
	margin-bottom: 2.5rem;
}

.form-group {
	margin-bottom: 1.5rem;
	position: relative;
}

.form-control {
	height: 52px;
	border: 1px solid #e2e8f0;
	border-radius: 0.75rem;
	padding: 0 1.25rem;
	font-size: 1rem;
	transition: var(--transition);
}

.form-control:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
	outline: none;
}

.form-floating label {
	padding: 0 1.25rem;
	color: #94a3b8;
}

.form-floating>.form-control:focus~label {
	color: var(--primary);
}

.input-icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	z-index: 2;
}

.floating-input {
	padding-left: 3rem !important;
}

.toggle-password {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	cursor: pointer;
	transition: var(--transition);
	z-index: 2;
}

.toggle-password:hover {
	color: var(--primary);
}

.btn-primary {
	background-color: var(--primary);
	border-color: var(--primary);
	height: 52px;
	border-radius: 0.75rem;
	font-weight: 600;
	font-size: 1rem;
	transition: var(--transition);
}

.btn-primary:hover {
	background-color: var(--primary-dark);
	border-color: var(--primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 10px 20px -10px rgba(59, 130, 246, 0.4);
}

.btn-primary:active {
	transform: translateY(0);
}

.social-login {
	margin: 2rem 0;
}

.social-title {
	text-align: center;
	color: #94a3b8;
	margin-bottom: 1.5rem;
	position: relative;
}

.social-title::before,
.social-title::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 40%;
	height: 1px;
	background-color: #e2e8f0;
}

.social-title::before {
	left: 0;
}

.social-title::after {
	right: 0;
}

.social-buttons {
	display: flex;
	gap: 1rem;
}

.social-btn {
	flex: 1;
	height: 52px;
	border-radius: 0.75rem;
	transition: var(--transition);
	border: 1px solid #e2e8f0;
	background-color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	color: #64748b;
	font-weight: 500;
}

.social-btn:hover {
	background-color: var(--light);
	transform: translateY(-2px);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.social-btn i {
	font-size: 1.25rem;
}

.google-btn i {
	color: #ea4335;
}

.facebook-btn i {
	color: #1877f2;
}

.apple-btn i {
	color: #000000;
}

.form-footer {
	text-align: center;
	margin-top: 2rem;
	color: #64748b;
}

.link-primary {
	color: var(--primary);
	font-weight: 600;
	text-decoration: none;
	transition: var(--transition);
}

.link-primary:hover {
	color: var(--primary-dark);
	text-decoration: underline;
}

.form-check {
	margin-bottom: 1.5rem;
}

.form-check-input:checked {
	background-color: var(--primary);
	border-color: var(--primary);
}

.form-check-input:focus {
	box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
	border-color: var(--primary-light);
}

/* 响应式设计 */
@media (max-width: 992px) {
	.brand-side {
		padding: 3rem 2rem;
	}

	.form-side {
		padding: 3rem 2rem;
	}
}

@media (max-width: 768px) {
	.auth-container {
		margin: 0 1rem;
	}

	.brand-side {
		display: none;
	}

	.form-title {
		font-size: 1.5rem;
	}

	.social-buttons {
		flex-direction: column;
	}
}