/* ============================================================
   西宁市党建联盟社区共享自习室 · 全局主题
   党建红色系：党旗红 #C1272D / 深党旗红 #9E1B24 / 高原金 #C9A227
   规则：红色占比≤30%，只用于顶部导航、主按钮、重点数据、选中态
   ============================================================ */
page {
  --djh: #C1272D;
  --dj2: #9E1B24;
  --gyj: #C9A227;
  --qhh: #2B6B8F;
  --qkl: #6E8B5A;
  --xs: #44515C;
  --xz: #F7F5F1;
  --red-l: #FBEDED;
  --red-line: #F3DADA;
  --line: #EADFD8;
  --t2: #6B7883;
  --t3: #98A2AB;
  --white: #FFFFFF;

  background: var(--xz);
  color: var(--xs);
  font-size: 28rpx;
  line-height: 1.6;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

view, text, scroll-view, swiper, swiper-item, input, textarea, button, image, navigator {
  box-sizing: border-box;
}

.serif { font-family: "Songti SC", "STSong", "SimSun", Georgia, serif; }
.c-red { color: var(--djh); }
.c-gold { color: var(--gyj); }
.c-t2 { color: var(--t2); }
.c-t3 { color: var(--t3); }
.bold { font-weight: 600; }
.ellipsis { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ellipsis2 {
  display: -webkit-box; -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; overflow: hidden;
}

/* ---------------- 图标 ---------------- */
.ico { width: 30rpx; height: 30rpx; flex: none; }
.ico-lg { width: 36rpx; height: 36rpx; flex: none; }
.ico-sm { width: 24rpx; height: 24rpx; flex: none; }
.ico-badge {
  width: 34rpx; height: 34rpx; flex: none; padding: 6rpx;
  border-radius: 10rpx; background: var(--red-l);
}

/* ---------------- 卡片 / 区块 ---------------- */
.card {
  background: var(--white);
  border-radius: 24rpx;
  box-shadow: 0 2rpx 6rpx rgba(68, 81, 92, .05), 0 16rpx 48rpx -28rpx rgba(68, 81, 92, .18);
}
.pad { padding: 28rpx; }

.sec {
  margin-top: 22rpx;
  background: var(--white);
  border-radius: 24rpx;
  padding: 28rpx;
  box-shadow: 0 2rpx 6rpx rgba(68, 81, 92, .05), 0 16rpx 48rpx -28rpx rgba(68, 81, 92, .18);
}
.sec-t {
  display: flex; align-items: center;
  font-size: 30rpx; font-weight: 600; color: var(--dj2);
  margin-bottom: 18rpx;
}
.sec-t::before {
  content: ''; width: 6rpx; height: 28rpx; border-radius: 4rpx;
  background: var(--gyj); margin-right: 14rpx;
}
.sec-sub { font-size: 24rpx; color: var(--t3); margin: -10rpx 0 18rpx 20rpx; }

/* ---------------- 标签 / 徽章 ---------------- */
.tag {
  display: inline-block; font-size: 22rpx; line-height: 1.5;
  padding: 4rpx 14rpx; border-radius: 10rpx;
  background: var(--red-l); color: var(--djh);
  border: 1rpx solid var(--red-line);
  margin-right: 10rpx;
}
.tag-gold { background: #FBF4E0; color: #8A6D12; border-color: #EFE1BB; }
.tag-blue { background: #EAF2F7; color: var(--qhh); border-color: #D3E4EE; }
.tag-green { background: #EFF4EA; color: #55704A; border-color: #DCE7D2; }
.tag-grey { background: #F1F3F5; color: var(--t2); border-color: #E5E9EC; }

.badge {
  display: inline-block; font-size: 22rpx; line-height: 1.5;
  padding: 4rpx 14rpx; border-radius: 999rpx; font-weight: 500;
}
.badge-open { background: #EFF4EA; color: #55704A; }
.badge-full { background: #FBF4E0; color: #8A6D12; }
.badge-pause { background: #F1F3F5; color: var(--t2); }

/* ---------------- 按钮 ---------------- */
.btn {
  display: flex; align-items: center; justify-content: center;
  height: 72rpx; padding: 0 26rpx; border-radius: 16rpx;
  font-size: 26rpx; color: var(--xs); background: var(--white);
  border: 1rpx solid var(--line); line-height: 1;
}
.btn::after { border: none; }
.btn-red {
  background: linear-gradient(140deg, var(--dj2), var(--djh));
  color: var(--white); border: none; font-weight: 500;
  box-shadow: 0 8rpx 20rpx -8rpx rgba(158, 27, 36, .6);
}
.btn-line-red { background: var(--white); color: var(--djh); border: 1rpx solid var(--red-line); }
.btn-sm { height: 60rpx; padding: 0 20rpx; font-size: 24rpx; border-radius: 14rpx; }
.btn-block { width: 100%; }
.btn-disabled { opacity: .5; }

/* ---------------- 键值行 ---------------- */
.kv { display: flex; padding: 18rpx 0; border-bottom: 1rpx solid #F3EDE8; }
.kv:last-child { border-bottom: none; }
.kv-k { width: 168rpx; flex: none; color: var(--t2); font-size: 26rpx; }
.kv-v { flex: 1; font-size: 28rpx; word-break: break-all; }

/* ---------------- 列表项 ---------------- */
.li {
  display: flex; align-items: center; padding: 26rpx 0;
  border-bottom: 1rpx solid #F3EDE8;
}
.li:last-child { border-bottom: none; }
.li-body { flex: 1; min-width: 0; margin-left: 18rpx; }
.li-t { font-size: 28rpx; }
.li-s { font-size: 23rpx; color: var(--t3); margin-top: 4rpx; }
.li-ar { font-size: 26rpx; color: var(--t3); margin-left: 10rpx; }

/* ---------------- 空态 ---------------- */
.empty { display: flex; flex-direction: column; align-items: center; padding: 110rpx 0 90rpx; }
.empty-img { width: 240rpx; height: 240rpx; opacity: .9; }
.empty-t { margin-top: 22rpx; font-size: 28rpx; color: var(--t2); }
.empty-s { margin-top: 8rpx; font-size: 24rpx; color: var(--t3); }
.empty-btn { margin-top: 28rpx; }

/* ---------------- 提示条 ---------------- */
.note {
  display: flex; align-items: flex-start; gap: 12rpx;
  background: #FBF3E9; border-left: 6rpx solid var(--gyj);
  border-radius: 0 14rpx 14rpx 0; padding: 18rpx 20rpx;
  font-size: 24rpx; color: var(--t2);
}
.note-red { background: var(--red-l); border-left-color: var(--djh); }

.divider { height: 1rpx; background: #F3EDE8; margin: 20rpx 0; }
.safe-b { padding-bottom: calc(24rpx + env(safe-area-inset-bottom)); }
