* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

body {
 font-family: "Microsoft Yahei", "Helvetica Neue", Helvetica, Arial, sans-serif;
 background:
         radial-gradient(circle at 20% 30%, rgba(148, 216, 255, 0.1) 0%, transparent 40%),
         linear-gradient(135deg, #e8f4f8 0%, #4299e1 50%, #38b2ac 100%);
 min-height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 20px 0;
}

/* 登录主容器 - 核心修复居中+无错位 */
.login-wrapper {
 width: 100%;
 max-width: 900px;
 margin: 0 auto;
 border-radius: 12px;
 background: rgba(255, 255, 255, 0.95);
 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
 overflow: hidden;
}

/* 左侧品牌区 */
.login-brand {
 background: linear-gradient(135deg, #2563eb 0%, #0d9488 100%);
 color: #fff;
 padding: 60px 40px;
 min-height: 500px;
 display: flex;
 flex-direction: column;
 justify-content: center;
}

.brand-icon {
 font-size: 48px;
 margin-bottom: 25px;
}

.brand-title {
 font-size: 26px;
 font-weight: 700;
 margin-bottom: 15px;
 line-height: 1.3;
}

.brand-desc {
 font-size: 15px;
 line-height: 1.6;
 margin-bottom: 35px;
 opacity: 0.9;
}

.brand-feature {
 display: flex;
 align-items: center;
 margin-bottom: 12px;
 font-size: 14px;
}

.brand-feature i {
 width: 28px;
 height: 28px;
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.2);
 display: flex;
 align-items: center;
 justify-content: center;
 margin-right: 12px;
 font-size: 12px;
}

/* 右侧登录表单区 */
.login-form-area {
 padding: 60px 40px;
}

.login-header {
 text-align: center;
 margin-bottom: 35px;
}

.login-header h3 {
 font-size: 22px;
 font-weight: 700;
 color: #333;
 margin-bottom: 8px;
}

.info_msg {
 font-size: 13px;
 color: #f60;
}

/* 表单样式 - 修复输入框错位 */
.form-group {
 margin-bottom: 20px;
 position: relative;
}

.form-control {
 height: 48px;
 border-radius: 8px;
 border: 1px solid #e5e7eb;
 padding-left: 45px;
 padding-right: 15px;
 font-size: 15px;
 width: 100%;
 background: rgba(255, 255, 255, 0.95);
}

.form-control:focus {
 border-color: #38bdf8; /* 科技亮蓝聚焦色 */
 box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.1);
 outline: none;
}

/* 输入框图标 - 固定位置无错位 */
.input-icon {
 position: absolute;
 left: 15px;
 top: 50%;
 transform: translateY(-50%);
 /*  color: #9ca3af;*/
 color: #38bdf8;
 font-size: 16px;
}

/* 密码软键盘图标 */
.keyboard-icon {
 position: absolute;
 right: 15px;
 top: 50%;
 transform: translateY(-50%);
 color: #9ca3af;
 font-size: 18px;
 cursor: pointer;
}

.keyboard-icon:hover {
 color: #0284c7;
}

/* 验证码区域 - 核心修复错位 */
.verify-wrap {
 display: flex;
 align-items: center;
 gap: 10px;
}

.verify-input {
 flex: 1;
}

#yzm {
 width: 120px;
 height: 48px;
 border-radius: 8px;
 cursor: pointer;
}

/* 忘记密码链接 */
.forget-link {
 text-align: right;
 margin-top: 5px;
 margin-bottom: 25px;
}

.forget-link a {
 color: #0284c7;
 font-size: 14px;
 text-decoration: none;
}

.forget-link a:hover {
 text-decoration: underline;
}

/* 登录按钮 */
.btn-login {
 width: 100%;
 height: 48px;
 /*  background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);*/
 background: linear-gradient(135deg, #0ea5e9 0%, #0d9488 100%);
 border: none;
 border-radius: 8px;
 color: #fff;
 font-size: 16px;
 font-weight: 600;
 cursor: pointer;
 transition: all 0.2s;
}

.btn-login:hover {
 background: linear-gradient(135deg, #0284c7 0%, #0f766e 100%);
}

.btn-login:disabled {
 background: #9ca3af;
 cursor: not-allowed;
}

/* 软键盘容器 */
#v_keyword {
 display: none;
}

/* 响应式适配 - 移动端无错位 */
@media (max-width: 768px) {
 .login-wrapper {
  margin: 10px;
 }

 .login-brand {
  display: none;
 }

 .login-form-area {
  padding: 40px 20px;
 }
}

/* 页脚 */
.login-footer {
 position: fixed;
 bottom: 15px;
 width: 100%;
 text-align: center;
 color: rgba(255, 255, 255, 0.8);
 font-size: 13px;
}

.login-footer a {
 color: #fff;
 text-decoration: none;
}