/* ===== 页面容器 ===== */
.login-page {
  width: 100%;
  min-height: 100vh;
  background: #ffffff;
  display: flex;
  flex-direction: column;
}

/* ===== 顶部导航 ===== */
.login-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3.2vw 4.267vw;
  height: 12.8vw;
  position: relative;
  border-bottom: 0.133vw solid #f5f5f5;
}
.login-header .back-btn {
  font-size: 6.4vw;
  color: #333;
  cursor: pointer;
  font-weight: 300;
  padding: 0 1.333vw;
}
.login-header .header-title {
  font-size: 4.267vw;
  color: #333;
  font-weight: 500;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.login-header .close-btn {
  font-size: 4.8vw;
  color: #999;
  cursor: pointer;
  padding: 0 1.333vw;
}

/* ===== 主内容 ===== */
.login-content {
  flex: 1;
  padding: 8vw 6.4vw 6.4vw;
}

/* ===== 标题 ===== */
.login-title {
  font-size: 5.867vw;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 6.667vw;
  letter-spacing: 0.267vw;
}

/* ===== 表单 ===== */
.login-form {
  margin-bottom: 3.2vw;
}
.login-form .form-item {
  border-bottom: 0.267vw solid #e8e8e8;
  padding: 1.333vw 0;
  margin-bottom: 3.2vw;
}
.login-form .form-item:last-child {
  margin-bottom: 0;
}
.login-form .form-item input {
  width: 100%;
  height: 10.667vw;
  font-size: 4.267vw;
  color: #333;
  border: none;
  outline: none;
  background: transparent;
}
.login-form .form-item input::placeholder {
  color: #ccc;
  font-size: 4.267vw;
}

/* ===== 提示文字 ===== */
.login-tip {
  font-size: 3.2vw;
  color: #999;
  line-height: 4.8vw;
  margin: 4.267vw 0 8vw;
  padding-left: 0.533vw;
}

/* ===== 提交按钮 ===== */
.login-btn {
  width: 100%;
  height: 12.8vw;
  background: #9775FA;
  border-radius: 1.067vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.533vw;
  color: #ffffff;
  font-weight: 500;
  cursor: pointer;
  border: none;
  margin-bottom: 4.267vw;
  transition: opacity 0.3s;
}
.login-btn:active {
  opacity: 0.8;
}
.login-btn.disabled {
  background: #d4c5f5;
  cursor: not-allowed;
}

/* ===== 协议 ===== */
.login-agreement {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.133vw;
  margin-top: 2.667vw;
}
.login-agreement .checkbox {
  width: 4.8vw;
  height: 4.8vw;
  border-radius: 50%;
  border: 0.267vw solid #d4d4d4;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s;
}
.login-agreement .checkbox.active {
  background: #9775FA;
  border-color: #9775FA;
}
.login-agreement .checkbox .check-mark {
  color: #fff;
  font-size: 3.2vw;
  display: none;
}
.login-agreement .checkbox.active .check-mark {
  display: block;
}
.login-agreement .agreement-text {
  font-size: 3.2vw;
  color: #999;
}
.login-agreement .agreement-text span {
  color: #9775FA;
}

/* ===== 响应式微调 ===== */
@media (max-width: 375px) {
  .login-title {
    font-size: 5.333vw;
  }
  .login-form .form-item input {
    font-size: 4vw;
  }
  .login-form .form-item input::placeholder {
    font-size: 4vw;
  }
}