/* .auth-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 100vh;
  font-family: Arial, sans-serif;
  background: #333;
  padding: 0 2rem;
}

.auth-container img {
  margin-left: 250px; 
}

.auth-form-section {
  background: #E4D8C9;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  width: 300px;
  margin: 0 auto;
  max-width: 400px;
}

.form-group {
  margin-bottom: 1.2rem;
  display: flex;
  flex-direction: column;
}

label {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  color: #4A3B34;
}

.form-input {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 0.9rem;
  box-sizing: border-box;
}

.auth-button {
  padding: 0.8rem 8.4rem;
  background: #BA929A;
  color: #4A3B34;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 0.9rem;
  display: inline-block;
}

.verify-button {
  padding: 0.5rem 1rem;
  background: #BA929A;
  color: #4A3B34;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 0.8rem;
  display: inline-block;
}

.link-button {
  background: none;
  border: none;
  color: #4A3B34;
  cursor: pointer;
  font-size: 0.8rem;
  padding: 0;
}

.forgot-password {
  position: absolute;
  right: 10px;
  bottom: 5px;
  font-size: 12px;
  background: none;
  border: none;
  color: #4A3B34;
  cursor: pointer;
  text-decoration: underline;
}

.register-link, .login-link {
  text-align: center;
  font-size: 0.8rem;
  margin-top: 1rem;
} */


  .auth-container {
  display: flex;
  align-items: center;
  justify-content: flex-end; /* 使卡片靠右 */
  min-height: 100vh;
  font-family: Arial, sans-serif;
  background: #333; 
  /* background: linear-gradient(180deg, #5F4437, #823c3c) */
  padding: 0 2rem; /* 添加左右内边距 */
}
  
  .auth-card {
    width: 100%;
    max-width: 480px;
    background-color: #E4D8C9;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
  }
  
  .auth-header {
    display: flex;
    border-bottom: 1px solid #eee;
  }
  
  .auth-tab {
    flex: 1;
    padding: 16px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  
  .auth-tab.active {
    color: #BA929A;
    border-bottom: 2px solid #BA929A;
  }
  
  .auth-tab:not(.active) {
    color: #888;
  }
  
  .auth-tab:hover:not(.active) {
    background-color: #f9f9f9;
  }
  
  .auth-content {
    padding: 30px;
  }
  
  .auth-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  
  .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .form-group label {
    font-weight: 500;
    color: #333;
    text-align: left;
    align-self: flex-start;
  }
  
  .form-group input[type="text"],
  .form-group input[type="email"],
  .form-group input[type="password"] {
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    transition: border-color 0.3s;
  }
  
  .form-group input:focus {
    border-color: #BA929A;
    outline: none;
  }
  
  .form-group-inline {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .checkbox-container {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .checkbox-container input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
  }
  
  .forgot-password {
    color: #BA929A;
    text-decoration: none;
    font-size: 14px;
  }
  
  .forgot-password:hover {
    text-decoration: underline;
  }
  
  .auth-button {
    background-color: #BA929A;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 14px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  
  .auth-button:hover {
    background-color: #BA929A;
  }
  
  .social-login {
    margin-top: 20px;
    text-align: center;
  }
  
  .social-login p {
    color: #666;
    margin-bottom: 15px;
    position: relative;
  }
  
  .social-login p::before,
  .social-login p::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 30%;
    height: 1px;
    background-color: #ddd;
  }
  
  .social-login p::before {
    left: 0;
  }
  
  .social-login p::after {
    right: 0;
  }
  
  .social-icons {
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  
  .social-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 12px;
    cursor: pointer;
  }
  
  .social-icon.wechat {
    background-color: #07c160;
  }
  
  .social-icon.weibo {
    background-color: #e6162d;
  }
  
  .social-icon.qq {
    background-color: #12b7f5;
  }
  
  .terms-container {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .terms-link {
    color: #BA929A;
    text-decoration: none;
  }
  
  .terms-link:hover {
    text-decoration: underline;
  }
  
  .error-message {
    color: #e53e3e;
    font-size: 14px;
    margin-top: 4px;
  }
  
  /* Responsive adjustments */
  @media (max-width: 576px) {
    .auth-card {
      box-shadow: none;
      border-radius: 0;
    }
  
    .auth-content {
      padding: 20px;
    }
  
    .form-group-inline {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }
  
    .social-icons {
      flex-wrap: wrap;
    }
  }
  