
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.main-container {
  display: flex;
  position: relative;
  min-height: 100vh;
}

/* 左侧栏动画方案 */
.sidebar {
  width: 250px;
  flex-shrink: 0;
  background-color: #2c3e50;
  color: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 4px 0 8px rgba(0, 0, 0, 0.3);
  height: 100vh;
  overflow-y: auto;
  position: sticky;
  top: 0;
  z-index: 100;
  /* 新增动画属性 */
  transform: translateX(0);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 侧边栏隐藏状态 */
.sidebar.collapsed {
  transform: translateX(-100%);
  box-shadow: none; /* 隐藏时移除阴影 */
}

/* 右侧内容容器适配 */
.content-wrapper {
  flex-grow: 1;
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 0; /* 修复flex内容溢出问题 */
}

.sidebar.collapsed + .content-wrapper {
  margin-left: -250px; /* 同步内容区域偏移 */
}

/* 右侧侧边栏控制按钮与面包屑 */
.top-bar {
  display: flex;          /* 让内容在一行显示 */
  align-items: center;    /* 垂直居中 */
  padding: 0.5rem 1rem;   /* 适当的内边距，根据需求调整 */
  background-color: #f8f8f8;
}

/* 面包屑去掉默认列表样式 */
.breadcrumb {
  list-style: none; 
  display: flex;          /* 让面包屑同样用 flex 布局，以便自定义分隔符等 */
  margin: 0;              /* 清除默认外边距 */
  padding: 0;             /* 清除默认内边距 */
}

.breadcrumb li a {
  text-decoration: none;
  padding: 5px 10px; /* 调整链接内边距 */
  display: inline-block;
  color: #8c8c8c;
}

.breadcrumb li:not(:last-child)::after {
  content: ">"; /* 分隔符 */
  padding: 0 5px;
  color: #777;
}

/* 右侧内容 */
.content {
  padding: 10px;
  background-color: #f8f8f8;
  box-sizing: border-box;
  overflow: auto; /* 允许滚动 */
  position: relative;
}


/* 模板内容布局 */
.neirong {
  width: 100%; /* 可选：设置宽度 */
}


.sidebar.hidden {
  width: 0;
  opacity: 0;
  pointer-events: none; /* 禁用鼠标事件 */
}

.toggle-btn {
  cursor: pointer;
  color: #2c3e50; /* 更改为深色以更符合无背景样式 */
  padding: 10px;
  text-align: left; /* 居左对齐 */
  border: none; /* 去掉边框 */
  background: none; /* 取消背景颜色 */
  outline: none; /* 去掉聚焦时的默认轮廓 */
  margin-left: 0; /* 确保紧贴左边 */
  margin-right: 1rem;     /* 间距可根据需要调整 */
  font-size: 1.2rem;      /* 放大字体 */
}


.sidebar.closed {
  width: 60px;
}


.sidebar .menu {
  flex-grow: 1;
  overflow-y: auto;
}

.logo {
  height: 80px;
  background-color: #192633;
  display: flex; 
  justify-content: center; 
  align-items:center; 
}

.logo p {
  font-size: 20px;
  margin: 0;
  color: #e4ecf6;
}

.logoimg {
  height: 50px;
  width: 50px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%; /* 圆角 */
}


.sidebar .menu a{
  color: #ffffff;
  text-decoration: none; /* 去除下划线 */

}

.sidebar ul {
  list-style: none;
  text-align: center; /* 水平居中 */

}

.sidebar ul li {
  padding: 15px;
  cursor: pointer;
  transition: background-color 0.2s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar ul li:hover {
  background-color: #000000;
}

.sidebar ul li .submenu {
  margin-top: 5px;
  padding-left: 20px;
  display: none;
}

.sidebar ul li.open .submenu {
  display: block;
}

.sidebar + .content {
  margin-left: 15px;
}

.sidebar.closed + .content {
  margin-left: 15px;
}


/* 整体布局 */
@keyframes backgroundSlide {
    0% { background-image: url('/static/img/bj01.jpg'); }
    33% { background-image: url('/static/img/bj02.jpg');  }
    67% { background-image: url('/static/img/bj03.jpg'); }
    100% { background-image: url('/static/img/bj02.jpg');  }
}

.buju {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100%;
    animation: backgroundSlide 30s infinite linear;
}


@media (max-width: 768px) {
    .buju {
        padding-left: 10px; /* 左内边距 */
        padding-right: 10px; /* 右内边距 */
    }
}


/* 登录注册 */
.container {
    width: 100%;          /* 使容器宽度适应屏幕宽度，最大不超过420px */
    max-width: 300px;
    background: linear-gradient(
      0deg,
      rgb(255, 255, 255) 0%,
      rgb(244, 247, 251) 100%
    );
    border-radius: 40px;
    padding: 25px 35px;   /* 给足够的内部空间 */
    border: 5px solid rgb(255, 255, 255);
    box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 30px 30px -15px;
    margin: auto;         /* 保证在所有屏幕尺寸上自动居中 */
}


.container h3{
  font-size: 30px;
  color: rgb(0, 0, 0);
  text-align: center;

}

.container p{
  font-size: 16px;
  color: rgb(85, 87, 89);
}


/* 响应式设计调整 */
@media (max-width: 600px) {
    .container {
        padding: 20px;    /* 减少内边距 */
    }
}

  
  .heading {
    text-align: center;
  }
  
  .heading h3{
    text-align: center;
    font-weight: 900;
    font-size: 30px;
    color: rgb(16, 137, 211);
  }
  
  .heading p{
    text-align: center;
    font-size: 14px;
    color: rgb(85, 87, 89);
  }
  

  .form {
    margin-top: 30px;
  }
  
  .form .input {
    width:85%;
    background: white;
    border: none;
    padding: 15px 20px;
    border-radius: 20px;
    margin-top: 15px;
    box-shadow: #cff0ff 0px 10px 10px -5px;
    border-inline: 2px solid transparent;
    font-size: 16px;
    
  }
  
  .form .input::-moz-placeholder {
    color: rgb(170, 170, 170);
  }
  
  .form .input::placeholder {
    color: rgb(170, 170, 170);
  }
  
  .form .input:focus {
    outline: none;
    border-inline: 2px solid #12b1d1;
  }
  
  .form .forgot-password {
    display: block;
    margin-top: 10px;
    margin-left: 10px;
    font-size: 16px;

  }
  
  .form .forgot-password a {
    font-size: 14px;
    color: #0099ff;
    text-decoration: none;
  }
  

  .form .login-button {
    display: block;
    width: 85%;
    background: linear-gradient(
      45deg,
      rgb(16, 137, 211) 0%,
      rgb(18, 177, 209) 100%
    );
    color: white;
    padding-block: 15px;
    margin: 20px auto;
    border-radius: 20px;
    box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 20px 10px -15px;
    border: none;
    transition: all 0.2s ease-in-out;
    font-size: 16px;

  }
  
  .form .login-button:hover {
    transform: scale(1.03);
    box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 23px 10px -20px;
    cursor: pointer; /* 鼠标指针形状 */
  }
  
  .form .login-button:active {
    transform: scale(0.95);
    box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 15px 10px -10px;
  }
  
  .social-account-container {
    margin-top: 35px;
  }
  
  .social-account-container .title {
    display: block;
    text-align: center;
    font-size: 12px;
    color: rgb(170, 170, 170);
  }
  
  .social-account-container .social-accounts {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 5px;
  }
  
  .social-account-container .social-accounts .social-button {
    background: linear-gradient(45deg, rgb(0, 0, 0) 0%, rgb(112, 112, 112) 100%);
    border: 5px solid white;
    padding: 5px;
    border-radius: 50%;
    width: 40px;
    aspect-ratio: 1;
    display: grid;
    place-content: center;
    box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 12px 10px -8px;
    transition: all 0.2s ease-in-out;
  }
  
  .social-account-container .social-accounts .social-button .svg {
    fill: white;
    margin: auto;
  }
  
  .social-account-container .social-accounts .social-button:hover {
    transform: scale(1.2);
  }
  
  .social-account-container .social-accounts .social-button:active {
    transform: scale(0.9);
  }
  
  .agreement {
    display: block;
    text-align: center;
    margin-top: 15px;
  }
  
  .agreement a {
    text-decoration: none;
    color: #10539f;
    font-size: 16px;
  }
  
  .agreement a:hover {
    text-decoration: none;
    color: #2e83e4;
  }
  

  .agreement2 {
    display: block;
    text-align: right; /* 文本居右对齐 */
    margin-top: 15px;
    font-size: 14px;
  }
  
  .agreement2 a {
    text-decoration: none;
    color: #10539f;
    font-size: 14px;
  }
  
  .agreement2 a:hover {
    text-decoration: none;
    color: #2e83e4;
  }

/* 响应式设计，适应小屏幕设备 */
@media (max-width: 768px) {
    .login {
        padding: 20px; /* 调整内边距 */
        margin-top: 20px; /* 调整上边距 */
    }
}


/* 用户设置区域 */

/* 用户设置区域 */
.user-xx {
  display: flex;
  justify-content: space-between; /* 保证元素间有适当的间隔 */
  align-items: start; /* 对齐到顶部 */
  flex-wrap: wrap; /* 确保在小屏幕上能够妥善换行 */
  padding: 20px; /* 添加一些内边距 */
  width: 100%; /* 充满容器宽度 */
  margin-top: 120px; /* 调整上边距 */

}

.user-sz, .user-tishi {
  flex-basis: 48%; /* 每个子容器占据大约一半的宽度，留出空间避免挤压 */
  max-width: 48%; /* 限制最大宽度，避免在大屏幕上过宽 */
}

.user-tishi {
  display: block; /* 改为块级元素以支持正常的文本换行 */
  padding: 20px;
  background-color: #f6f8fb; /* 浅灰色背景 */

}

/* 设置user-tishi和user-sz的基础样式 */
.user-tishi,
.user-sz {
  flex: 1;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 5px;
}

/* 美化user-sz内容 */
.user-sz h3 {
  margin-bottom: 20px;
  font-size: 1.5em;
  color: #0056b3;
}

.user-sz form {
  display: flex;
  flex-direction: column;
  width: 100%; /* 可选：如果你需要限制表单的最大宽度，可以设置具体宽度和auto边距 */
}

.user-sz form input {
  width: 100%; /* 输入框宽度调整为100%，以充满其容器 */
  padding: 15px 20px; /* 设置内边距，使输入更加舒适 */
  border: 2px solid #d9d9d9; /* 设置边框为浅灰色 */
  border-radius: 20px; /* 边角圆滑，提高视觉效果 */
  background-color: #fff; /* 设置背景色为白色 */
  color: #333; /* 设置文字颜色为深灰色，保证良好的可读性 */
  font-size: 16px; /* 字体大小设置，增强可读性 */
  transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

  /* 当输入框获得焦点时改变边框颜色和添加阴影效果 */
  &:focus {
    border-color: #0056b3; /* 焦点状态时边框颜色改为深蓝色 */
    box-shadow: 0 0 8px rgba(0, 86, 179, 0.2); /* 添加蓝色光晕 */
    outline: none; /* 移除默认的焦点轮廓 */
  }

  /* 悬停状态增强视觉反馈 */
  &:hover {
    border-color: #0056b3; /* 鼠标悬停时边框颜色变为深灰 */
  }
}

.user-sz form button {
  display: block; /* 设置按钮为块级元素，以便可以应用居中对齐 */
  padding: 10px;
  margin: 0 auto 10px; /* 自动边距设置为居中，且底部保持10px的间距 */
  border-radius: 20px; /* 圆角设置 */
  background-color: #0056b3; /* 背景颜色为深蓝 */
  color: #fff; /* 文字颜色为白色 */
  cursor: pointer; /* 鼠标悬浮时指针形状变为手形 */
  max-width: 200px; /* 最大宽度限制 */
  text-align: center; /* 文本居中 */
  border: none; /* 不显示边框 */
  padding: 10px 20px; /* 设置内边距，使输入更加舒适 */

}

.user-sz form button:hover {
  background-color: #1965b6; /* 鼠标悬停时的背景颜色变化 */
}


/* 在屏幕宽度小于768px时，调整布局，使user-sz在上，user-tishi在下 */
@media (max-width: 768px) {
  .user-tishi,
  .user-sz {
    flex-basis: 100%; /* 使每个容器在小屏幕上占据全宽 */
    max-width: 100%;
  }

  .user-xx {
    margin-top: 20px; /* 调整上边距 */
  
  }

}

