body * {
    box-sizing: border-box;
    flex-shrink: 0;
  }
  html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    /* 小于 1200px 时不再继续缩小布局：固定最小宽度 1200px，允许横向滚动查看 */
    min-width: 1200px;
    overflow-x: auto;
  }
  body {
    font-family: PingFangSC-Regular, Roboto, Helvetica Neue, Helvetica, Tahoma,
      Arial, PingFang SC-Light, Microsoft YaHei;
  }

  /* 统一限制页面根容器最小宽度，覆盖各页面 CSS 中的 width: max(1200px, 100vw)（避免继续随视口变窄） */
  .page,
  .page-container,
  .topic-page,
  .journal-page,
  .meeting-page,
  .proposal-page,
  .jc-page {
    min-width: 1200px !important;
    width: 100% !important;
  }
  input {
    background-color: transparent;
    border: 0;
  }
  button {
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    outline: none;
    background-color: transparent;
  }
  
  button:active {
    opacity: 0.6;
  }
  .flex-col {
    display: flex;
    flex-direction: column;
  }
  .flex-row {
    display: flex;
    flex-direction: row;
  }
  .justify-start {
    display: flex;
    justify-content: flex-start;
  }
  .justify-center {
    display: flex;
    justify-content: center;
  }
  
  .justify-end {
    display: flex;
    justify-content: flex-end;
  }
  .justify-evenly {
    display: flex;
    justify-content: space-evenly;
  }
  .justify-around {
    display: flex;
    justify-content: space-around;
  }
  .justify-between {
    display: flex;
    justify-content: space-between;
  }
  .align-start {
    display: flex;
    align-items: flex-start;
  }
  .align-center {
    display: flex;
    align-items: center;
  }
  .align-end {
    display: flex;
    align-items: flex-end;
  }
  
  .flex1{
    flex: 1;
  }

  .flex-center{
    display: flex;
    align-items: center;
  }

  .gap20{
    gap: 20px;
  }

