.rules-page {
  display: flex;
  min-height: 100vh;
  overflow: hidden;
  background: #f4f6fa;
}

.side-tabs {
  width: 1.96rem;
  flex: 0 0 1.96rem;
  background: #f4f6fa;
}

.billing-tabs {
  width: 2.44rem;
  flex-basis: 2.44rem;
}

.side-tab {
  display: flex;
  width: 100%;
  min-height: 0.92rem;
  align-items: center;
  justify-content: center;
  padding: 0.16rem 0.18rem;
  color: #333333;
  font-size: 0.26rem;
  line-height: 0.38rem;
  text-align: center;
}

.billing-tabs .side-tab {
  justify-content: flex-start;
  min-height: 1.28rem;
  padding-right: 0.16rem;
  padding-left: 0.3rem;
  text-align: left;
}

.side-tab.active {
  position: relative;
  background: #ffffff;
  color: #2678ff;
  font-weight: 600;
}

.side-tab.active::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.08rem;
  height: 0.44rem;
  border-radius: 0 0.08rem 0.08rem 0;
  background: #2678ff;
  content: "";
  transform: translateY(-50%);
}

.forbidden-rules-page .side-tab.active {
  color: #2678ff;
}

.forbidden-rules-page .side-tab.active::before {
  background: #2678ff;
}

.rule-scroll {
  flex: 1;
  height: 100vh;
  overflow-y: auto;
  background: #ffffff;
  -webkit-overflow-scrolling: touch;
}

.rule-content {
  min-height: 100%;
  padding: 0.32rem 0.28rem 0.72rem;
}

.rule-page-title {
  margin: 0 0 0.32rem;
  color: #111111;
  font-size: 0.34rem;
  font-weight: 600;
  line-height: 0.48rem;
}

.billing-rules-page .rule-page-title {
  margin-bottom: 0.36rem;
}

.rule-section {
  margin-bottom: 0.3rem;
}

.section-title {
  margin: 0 0 0.14rem;
  color: #111111;
  font-size: 0.26rem;
  font-weight: 600;
  line-height: 0.44rem;
}

.rule-line {
  margin: 0 0 0.12rem;
  color: #111111;
  font-size: 0.26rem;
  line-height: 0.42rem;
  text-align: justify;
}

.forbidden-rules-page .rule-line {
  font-size: 0.25rem;
  line-height: 0.40rem;
}
