/* ============================================================
   宗亲会网络 · 名片通讯 · 云祭拜 · 宗亲会管理端 · 企业升级
   ============================================================ */

/* ---------- 宗亲会列表 ---------- */
.assoc-levels { display: flex; gap: 8px; overflow-x: auto; padding: 2px 16px 14px; scrollbar-width: none; }
.assoc-levels::-webkit-scrollbar { display: none; }
.assoc-level {
  flex: 0 0 auto; padding: 7px 14px; border-radius: 99px;
  border: 1px solid #E3DED0; background: #fff; color: #6B6656;
  font-size: 0.76rem; white-space: nowrap; cursor: pointer; transition: all 0.18s ease;
}
.assoc-level.active {
  background: linear-gradient(135deg, #C9A962, #B3904D);
  border-color: #B3904D; color: #1B1E23;
  box-shadow: 0 6px 16px rgba(201, 169, 98, 0.24);
}
.assoc-svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }
.assoc-svc {
  display: flex; align-items: center; gap: 9px; padding: 12px;
  border-radius: 12px; background: #fff; border: 1px solid #EDE9DD;
}
.assoc-svc .as-ic {
  width: 30px; height: 30px; border-radius: 9px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(201, 169, 98, 0.16), rgba(201, 169, 98, 0.05));
  color: #96762F; font-family: var(--f-serif, serif); font-size: 0.9rem;
}
.assoc-svc .as-txt { font-size: 0.74rem; color: #3F3D35; }

/* 迷你名片 */
.card-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.mini-card {
  display: flex; align-items: center; gap: 10px; padding: 12px;
  border-radius: 12px; background: #fff; border: 1px solid #EDE9DD; text-decoration: none;
}
.mc-avatar {
  width: 34px; height: 34px; border-radius: 10px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-family: var(--f-serif, serif); font-size: 0.95rem;
}
.mc-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mc-body strong { font-size: 0.8rem; color: #23241F; }
.mc-body small { font-size: 0.66rem; color: #8B8679; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- 宗亲名片 ---------- */
.card-tabs { display: flex; gap: 6px; padding: 4px 16px 12px; }
.card-tab {
  flex: 1; padding: 9px 0; border-radius: 10px; border: 1px solid #E3DED0;
  background: #fff; color: #6B6656; font-size: 0.78rem; cursor: pointer;
}
.card-tab.active { background: linear-gradient(135deg, #1A1A1A, #2C2C2A); border-color: #1A1A1A; color: #E8D5A8; }
.card-actionbar { display: flex; gap: 10px; padding: 4px 16px 14px; flex-wrap: wrap; }
.card-actionbar .btn { flex: 1 1 auto; }

.biz-card {
  display: flex; flex-direction: column; gap: 9px; padding: 14px;
  border-radius: 14px; background: #fff; border: 1px solid #EDE9DD;
  box-shadow: 0 6px 18px rgba(60, 48, 22, 0.04); cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.biz-card:hover { transform: translateY(-2px); border-color: #DCCBA0; box-shadow: 0 12px 26px rgba(60, 48, 22, 0.08); }
.bc-top { display: flex; align-items: center; gap: 10px; }
.bc-avatar {
  width: 40px; height: 40px; border-radius: 12px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-family: var(--f-serif, serif); font-size: 1.08rem;
}
.bc-id { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.bc-id strong { font-size: 0.86rem; color: #23241F; }
.bc-id small { font-size: 0.68rem; color: #8B8679; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-verified {
  flex: 0 0 auto; font-size: 0.6rem; padding: 2px 7px; border-radius: 99px;
  background: rgba(201, 169, 98, 0.14); color: #8A6E2A;
}
.bc-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.bc-meta span { font-size: 0.64rem; padding: 2px 8px; border-radius: 99px; background: #F6F3EA; color: #6E6A5C; }
.bc-meta .bc-assoc { background: rgba(30, 107, 78, 0.08); color: #1E6B4E; }
.bc-intro {
  font-size: 0.72rem; line-height: 1.65; color: #6B6656;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.bc-foot {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.66rem; color: #9A9585; padding-top: 8px; border-top: 1px dashed #EFEBE0;
}
.bc-foot span:first-child { color: #96762F; }

.biz-detail { padding: 16px 18px 4px; }
.bd-head { display: flex; gap: 14px; align-items: flex-start; }
.bd-avatar {
  width: 54px; height: 54px; border-radius: 16px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-family: var(--f-serif, serif); font-size: 1.5rem;
}
.bd-head h3 { font-size: 1.1rem; color: #1F211C; }
.bd-head p { font-size: 0.76rem; color: #7A7568; margin-top: 3px; }
.bd-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.bd-tag { font-size: 0.62rem; padding: 2px 8px; border-radius: 99px; background: #F6F3EA; color: #6E6A5C; }
.bd-rows { display: flex; flex-direction: column; gap: 1px; margin-top: 16px; border-radius: 12px; overflow: hidden; background: #F7F5EE; }
.bd-row { display: flex; align-items: center; gap: 12px; padding: 10px 13px; background: #fff; }
.bd-row span { flex: 0 0 74px; font-size: 0.7rem; color: #9A9585; }
.bd-row strong { font-size: 0.76rem; color: #3F3D35; font-weight: 500; word-break: break-all; }
.bd-intro { margin: 14px 0 4px; font-size: 0.76rem; line-height: 1.85; color: #5F5A4E; }

/* ---------- 云祭拜 ---------- */
.wsp-altar {
  position: relative; overflow: hidden; padding: 20px 0 26px;
  background:
    radial-gradient(680px 320px at 50% 8%, rgba(201, 169, 98, 0.28), transparent 68%),
    linear-gradient(172deg, #14100C 0%, #0B0906 58%, #100C08 100%);
}
.wsp-altar-glow {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 42%, rgba(232, 199, 122, 0.16), transparent 58%);
  pointer-events: none;
}
.wsp-altar-inner { position: relative; padding: 0 18px; }
.wsp-altar-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wsp-altar-badge {
  font-size: 0.62rem; letter-spacing: 0.16em; color: rgba(201, 169, 98, 0.85);
  border: 1px solid rgba(201, 169, 98, 0.28); border-radius: 99px; padding: 3px 10px;
}
.wsp-altar-live { font-size: 0.64rem; color: rgba(255, 255, 255, 0.55); display: inline-flex; align-items: center; gap: 5px; }
.wsp-altar-live::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%; background: #7FE0B6;
  box-shadow: 0 0 0 3px rgba(127, 224, 182, 0.16); animation: wspPulse 2s infinite;
}
@keyframes wspPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

.wsp-tablet { position: relative; display: flex; flex-direction: column; align-items: center; margin: 22px 0 14px; padding-bottom: 26px; }
.wsp-tablet-frame {
  position: relative; width: 188px; padding: 22px 16px 18px; border-radius: 8px 8px 4px 4px;
  background: linear-gradient(180deg, #2A2118, #1A140E);
  border: 1px solid rgba(201, 169, 98, 0.42);
  box-shadow: 0 0 0 6px rgba(201, 169, 98, 0.06), 0 22px 48px rgba(0, 0, 0, 0.55), inset 0 0 32px rgba(201, 169, 98, 0.1);
  display: flex; flex-direction: column; align-items: center; gap: 5px; text-align: center;
}
.wsp-tablet-frame::before, .wsp-tablet-frame::after {
  content: ''; position: absolute; width: 9px; height: 9px; border: 1px solid rgba(201, 169, 98, 0.5);
}
.wsp-tablet-frame::before { top: 6px; left: 6px; border-right: 0; border-bottom: 0; }
.wsp-tablet-frame::after { bottom: 6px; right: 6px; border-left: 0; border-top: 0; }
.wsp-tablet-seal {
  font-family: var(--f-brush, var(--f-serif, serif)); font-size: 2.1rem; line-height: 1;
  color: #E8C77A; text-shadow: 0 0 22px rgba(232, 199, 122, 0.5);
}
.wsp-tablet-frame strong {
  font-family: var(--f-serif, serif); font-size: 1.02rem; letter-spacing: 0.24em;
  color: #F3E7C8; margin-left: 0.24em;
}
.wsp-tablet-frame small { font-size: 0.62rem; color: rgba(201, 169, 98, 0.85); letter-spacing: 0.1em; }
.wsp-tablet-frame em { font-size: 0.58rem; color: rgba(255, 255, 255, 0.38); font-style: normal; }

.wsp-incense { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); width: 96px; height: 52px; }
.wi-stick { position: absolute; bottom: 0; width: 2px; border-radius: 2px; background: linear-gradient(180deg, #C9A962, #6B4F22); }
.wi-stick:nth-child(1) { left: 26px; height: 26px; }
.wi-stick:nth-child(2) { left: 47px; height: 32px; }
.wi-stick:nth-child(3) { left: 68px; height: 24px; }
.wi-smoke {
  position: absolute; bottom: 30px; left: 47px; width: 5px; height: 5px; border-radius: 50%;
  background: rgba(220, 220, 215, 0.4); filter: blur(1.5px); animation: wspSmoke 3.6s ease-out infinite;
}
.wi-smoke.s2 { animation-delay: 1.1s; left: 30px; }
.wi-smoke.s3 { animation-delay: 2.2s; left: 66px; }
@keyframes wspSmoke {
  0% { transform: translateY(0) scale(0.7); opacity: 0; }
  22% { opacity: 0.65; }
  100% { transform: translateY(-40px) scale(1.9); opacity: 0; }
}
.wsp-altar-quote { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-bottom: 18px; }
.wsp-altar-quote span {
  font-family: var(--f-serif, serif); font-size: 0.84rem;
  color: rgba(243, 231, 200, 0.92); letter-spacing: 0.04em; text-align: center;
}
.wsp-altar-quote em { font-size: 0.62rem; color: rgba(201, 169, 98, 0.7); font-style: normal; }
.wsp-altar-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 14px 8px;
  border-radius: 14px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(201, 169, 98, 0.16);
}
.wsp-stat { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.wsp-stat strong { font-family: var(--f-serif, serif); font-size: 1.12rem; color: #F1E7CF; font-variant-numeric: tabular-nums; }
.wsp-stat span { font-size: 0.6rem; color: rgba(255, 255, 255, 0.42); }

.wsp-block { padding: 20px 16px 6px; }
.wsp-block-head { margin-bottom: 14px; }
.wsp-block-head h2 {
  font-family: var(--f-serif, serif); font-size: 1.04rem; color: #1F211C;
  display: flex; align-items: center; gap: 8px;
}
.wsp-block-head h2::before {
  content: ''; width: 3px; height: 15px; border-radius: 2px;
  background: linear-gradient(180deg, #C9A962, #A9884A);
}
.wsp-block-head p { font-size: 0.68rem; color: #9A9585; margin-top: 5px; padding-left: 11px; }

.wsp-rituals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.wsp-ritual {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 14px 8px 12px; border-radius: 14px; border: 1px solid #EDE6D4;
  background: linear-gradient(180deg, #FFFDF8, #F8F4E9); cursor: pointer; overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.wsp-ritual:active { transform: scale(0.97); }
.wsp-ritual:hover { border-color: #DCCBA0; box-shadow: 0 10px 22px rgba(150, 118, 47, 0.12); }
.wsp-ritual.praying { border-color: #C9A962; box-shadow: 0 0 0 3px rgba(201, 169, 98, 0.18); }
.wr-word {
  width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #2A2118, #17120D); color: #E8C77A;
  font-family: var(--f-serif, serif); font-size: 0.95rem;
}
.wr-label { font-size: 0.78rem; color: #2E2C26; font-weight: 600; }
.wr-desc { font-size: 0.58rem; color: #9A9585; text-align: center; line-height: 1.4; }

.wsp-me {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 14px;
  padding: 12px 8px; border-radius: 14px; background: #F8F5EC; border: 1px solid #EDE6D4;
}
.wsp-me-item { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.wsp-me-item strong { font-size: 0.82rem; color: #1F211C; font-variant-numeric: tabular-nums; }
.wsp-me-item span { font-size: 0.58rem; color: #9A9585; }

.wsp-text {
  margin: 16px; border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, #FDFBF4, #F7F3E7); border: 1px solid #EDE4CF;
}
.wsp-text-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #EDE4CF; }
.wsp-text-head h3 { font-family: var(--f-serif, serif); font-size: 0.92rem; color: #2E2C26; }
.wsp-text-toggle { border: none; background: none; color: #96762F; font-size: 0.68rem; cursor: pointer; }
.wsp-text-body { max-height: 108px; overflow: hidden; padding: 12px 16px; position: relative; transition: max-height 0.28s ease; }
.wsp-text-body.open { max-height: 1200px; }
.wsp-text-body p {
  font-family: var(--f-serif, serif); font-size: 0.76rem; line-height: 2;
  color: #4A473F; margin-bottom: 8px; text-indent: 2em;
}
.wsp-text-body::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 44px;
  background: linear-gradient(180deg, transparent, #F9F5EA); pointer-events: none;
}
.wsp-text-body.open::after { display: none; }

.wsp-ceremony { display: flex; flex-direction: column; gap: 1px; border-radius: 14px; overflow: hidden; background: #F2EEE2; }
.wsp-step { display: flex; gap: 12px; padding: 13px 14px; background: #fff; }
.ws-no { font-family: var(--f-serif, serif); font-size: 0.92rem; color: #DCCBA0; flex: 0 0 26px; }
.ws-body strong { font-size: 0.78rem; color: #2E2C26; }
.ws-body p { font-size: 0.68rem; line-height: 1.7; color: #8B8679; margin-top: 3px; }

.wsp-wish-form { display: flex; gap: 8px; margin-bottom: 12px; }
.wsp-wish-input {
  flex: 1; min-width: 0; padding: 10px 14px; border-radius: 10px;
  border: 1px solid #E3DED0; background: #fff; font-size: 0.78rem; outline: none;
}
.wsp-wish-input:focus { border-color: #C9A962; box-shadow: 0 0 0 3px rgba(201, 169, 98, 0.14); }
.wsp-wish-btn {
  flex: 0 0 auto; padding: 0 16px; border-radius: 10px; border: none;
  background: linear-gradient(135deg, #C9A962, #B3904D); color: #1B1E23;
  font-size: 0.76rem; font-weight: 600; cursor: pointer;
}
.wsp-wishes { display: flex; flex-direction: column; gap: 1px; border-radius: 14px; overflow: hidden; background: #F2EEE2; }
.wsp-wish { display: flex; gap: 11px; padding: 13px 14px; background: #fff; }
.ww-seal {
  width: 32px; height: 32px; border-radius: 10px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #2A2118, #17120D); color: #E8C77A;
  font-family: var(--f-serif, serif); font-size: 0.82rem;
}
.ww-body { flex: 1; min-width: 0; }
.ww-head { display: flex; align-items: baseline; gap: 8px; }
.ww-head strong { font-size: 0.76rem; color: #2E2C26; }
.ww-head small { font-size: 0.62rem; color: #9A9585; }
.ww-body p { font-size: 0.76rem; line-height: 1.75; color: #4A473F; margin: 5px 0 7px; }
.ww-foot { display: flex; align-items: center; gap: 12px; }
.ww-like {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px;
  border: 1px solid #EDE6D4; background: #FDFBF4; border-radius: 99px;
  font-size: 0.62rem; color: #96762F; cursor: pointer;
}
.ww-like em { font-style: normal; color: #B3904D; }
.ww-time { font-size: 0.6rem; color: #B5B0A2; }
.wsp-wish-empty { padding: 22px 0; text-align: center; font-size: 0.72rem; color: #A9A497; }

.wsp-rank-tabs { display: flex; gap: 6px; margin-bottom: 10px; }
.wsp-rank-tab {
  padding: 6px 14px; border-radius: 99px; border: 1px solid #E3DED0;
  background: #fff; color: #6B6656; font-size: 0.72rem; cursor: pointer;
}
.wsp-rank-tab.active { background: linear-gradient(135deg, #1A1A1A, #2C2C2A); border-color: #1A1A1A; color: #E8D5A8; }
.wsp-rank-list { border-radius: 14px; overflow: hidden; background: #F2EEE2; display: flex; flex-direction: column; gap: 1px; }
.wsp-rank-row { display: flex; align-items: center; gap: 10px; padding: 11px 14px; background: #fff; }
.wsp-rank-row.top { background: linear-gradient(90deg, #FFFCF2, #fff); }
.wr-rank { flex: 0 0 22px; text-align: center; font-family: var(--f-serif, serif); font-size: 0.86rem; color: #C0BAA8; }
.wsp-rank-row.top .wr-rank { color: #C9A962; }
.wr-name { font-size: 0.78rem; color: #2E2C26; font-weight: 500; }
.wr-sub { font-size: 0.64rem; color: #9A9585; flex: 1; }
.wr-count { font-size: 0.7rem; color: #96762F; font-variant-numeric: tabular-nums; }

.wsp-records { border-radius: 14px; overflow: hidden; background: #F2EEE2; display: flex; flex-direction: column; gap: 1px; }
.wsp-record { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff; }
.wsp-record .wr-word {
  width: 26px; height: 26px; border-radius: 8px; flex: 0 0 auto;
  background: rgba(201, 169, 98, 0.12); color: #96762F;
  font-family: var(--f-serif, serif); font-size: 0.72rem;
}
.wr-info { flex: 1; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.wr-info strong { font-size: 0.75rem; color: #2E2C26; }
.wr-info small { font-size: 0.62rem; color: #9A9585; }
.wr-time { font-size: 0.62rem; color: #B5B0A2; flex: 0 0 auto; }

.wsp-particle { position: absolute; border-radius: 50%; pointer-events: none; animation: wspRise 1.9s ease-out forwards; }
@keyframes wspRise {
  0% { transform: translateY(0) scale(0.6); opacity: 0; }
  18% { opacity: 0.9; }
  100% { transform: translateY(-130px) scale(1.5); opacity: 0; }
}

/* ---------- 宗亲会管理端 ---------- */
.aadm-head {
  background:
    radial-gradient(560px 260px at 88% -20%, rgba(201, 169, 98, 0.24), transparent 62%),
    linear-gradient(168deg, #14181A, #0B0E10);
  padding: 18px 16px 20px; color: #EDF3EE;
}
.aadm-head-inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.aadm-brand { display: flex; align-items: center; gap: 12px; }
.aadm-seal {
  width: 46px; height: 46px; border-radius: 13px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #C9A962, #A9884A); color: #17140E;
  font-family: var(--f-brush, var(--f-serif, serif)); font-size: 1.05rem;
}
.aadm-brand strong { font-family: var(--f-serif, serif); font-size: 1rem; display: block; }
.aadm-brand small { font-size: 0.64rem; color: rgba(255, 255, 255, 0.5); }
.aadm-head-actions { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.aadm-link { font-size: 0.66rem; color: #D9BE7E; text-decoration: none; }
.aadm-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; }
.aadm-kpi {
  padding: 10px 8px; border-radius: 11px; background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(201, 169, 98, 0.16);
  display: flex; flex-direction: column; align-items: center; gap: 2px;
}
.aadm-kpi strong { font-size: 0.98rem; color: #F1E7CF; font-family: var(--f-serif, serif); }
.aadm-kpi span { font-size: 0.58rem; color: rgba(255, 255, 255, 0.45); }

.aadm-tabs { display: flex; gap: 6px; padding: 12px 16px; overflow-x: auto; scrollbar-width: none; }
.aadm-tabs::-webkit-scrollbar { display: none; }
.aadm-tab {
  flex: 0 0 auto; padding: 7px 14px; border-radius: 99px; border: 1px solid #E3DED0;
  background: #fff; color: #6B6656; font-size: 0.74rem; cursor: pointer; white-space: nowrap;
}
.aadm-tab.active { background: linear-gradient(135deg, #1E6B4E, #2FA97B); border-color: #2FA97B; color: #EAF7F0; }
.aadm-body { padding: 0 16px 20px; display: flex; flex-direction: column; gap: 12px; }
.aadm-card { background: #fff; border: 1px solid #EDE9DD; border-radius: 14px; padding: 14px 15px; }
.aadm-card h3 { font-size: 0.88rem; color: #23241F; margin-bottom: 12px; }
.aadm-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.aadm-card-head h3 { margin-bottom: 0; }
.aadm-tip { font-size: 0.64rem; color: #9A9585; }
.aadm-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border-radius: 10px; overflow: hidden; background: #F2EEE2; }
.aadm-fact { display: flex; flex-direction: column; gap: 3px; padding: 11px 13px; background: #fff; }
.aadm-fact span { font-size: 0.64rem; color: #9A9585; }
.aadm-fact strong { font-size: 0.8rem; color: #3F3D35; }
.aadm-bars { display: flex; flex-direction: column; gap: 10px; }
.aadm-bar-row { display: flex; flex-direction: column; gap: 5px; }
.aadm-bar-top { display: flex; justify-content: space-between; font-size: 0.7rem; color: #5F5A4E; }
.aadm-bar-top em { font-style: normal; color: #96762F; }
.aadm-bar-track { height: 6px; border-radius: 99px; background: #F2EEE2; overflow: hidden; }
.aadm-bar-track i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #C9A962, #E0C88A); }
.aadm-cap { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.aadm-cap-item {
  display: flex; flex-direction: column; gap: 3px; padding: 12px;
  border-radius: 11px; border: 1px solid #EDE9DD; background: #FDFBF4; text-align: left; cursor: pointer;
}
.aadm-cap-item strong { font-size: 0.76rem; color: #2E2C26; }
.aadm-cap-item small { font-size: 0.62rem; color: #9A9585; line-height: 1.5; }
.aadm-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.aadm-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.aadm-field.full { grid-column: 1 / -1; }
.aadm-field label { font-size: 0.68rem; color: #8B8679; }
.aadm-field .input { width: 100%; }
.aadm-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.aadm-check {
  display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px;
  border-radius: 99px; border: 1px solid #E3DED0; background: #FDFBF4;
  font-size: 0.68rem; color: #5F5A4E; cursor: pointer;
}
.aadm-check input { width: auto; margin: 0; }
.aadm-people { display: flex; flex-direction: column; gap: 1px; border-radius: 10px; overflow: hidden; background: #F2EEE2; }
.aadm-person { display: flex; align-items: center; gap: 10px; padding: 10px 13px; background: #fff; }
.ap-avatar {
  width: 30px; height: 30px; border-radius: 9px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #C9A962, #E0C88A); color: #1B1E23;
  font-family: var(--f-serif, serif); font-size: 0.8rem;
}
.ap-body { flex: 1; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ap-body strong { font-size: 0.76rem; color: #2E2C26; }
.ap-body small { font-size: 0.62rem; color: #9A9585; }
.ap-del {
  flex: 0 0 auto; width: 24px; height: 24px; border-radius: 7px;
  border: 1px solid #EDE9DD; background: #fff; color: #B5B0A2;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.aadm-news { display: flex; gap: 10px; padding: 11px 0; border-bottom: 1px dashed #EFEBE0; }
.aadm-news:last-child { border-bottom: 0; }
.an-body { flex: 1; min-width: 0; }
.an-body strong { font-size: 0.78rem; color: #2E2C26; display: block; }
.an-body small { font-size: 0.62rem; color: #9A9585; }
.an-body p {
  font-size: 0.7rem; line-height: 1.7; color: #6B6656; margin-top: 5px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.aadm-empty { font-size: 0.72rem; color: #A9A497; padding: 12px 0; text-align: center; }

/* ---------- 组织架构 · 会费台账（宗亲会 2.0） ---------- */
.aadm-head-btns { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.aadm-modal-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 14px 16px 8px;
}
.aadm-modal-head h3 { font-size: 0.92rem; color: #23241F; margin: 0; }
.aadm-tree { display: flex; flex-direction: column; gap: 6px; }
.aadm-unit {
  display: flex; align-items: center; gap: 10px; padding: 10px 13px;
  background: #FDFBF4; border: 1px solid #EDE9DD; border-radius: 11px;
}
.aadm-unit-badge {
  width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(201, 169, 98, 0.16); color: #8A6E2A;
  font-family: var(--f-serif, serif); font-size: 0.68rem; letter-spacing: 0.02em;
}
.aadm-unit-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.aadm-unit-main strong { font-size: 0.78rem; color: #2E2C26; }
.aadm-unit-main small { font-size: 0.62rem; color: #9A9585; }
.aadm-unit-actions { display: flex; gap: 6px; flex: 0 0 auto; }
.aadm-person-unit { color: #96762F !important; }
.aadm-person-acts { display: flex; gap: 6px; flex: 0 0 auto; }
.aadm-fin { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.aadm-fin-kpi {
  display: flex; flex-direction: column; gap: 2px; padding: 13px 12px;
  border-radius: 12px; background: linear-gradient(160deg, #1E6B4E, #17533D);
  border: 1px solid rgba(201, 169, 98, 0.28);
}
.aadm-fin-kpi b { font-family: var(--f-serif, serif); font-size: 0.96rem; color: #F1E7CF; line-height: 1.2; }
.aadm-fin-kpi span { font-size: 0.62rem; color: rgba(255, 255, 255, 0.5); }
.aadm-fin-kpi small { font-size: 0.58rem; color: rgba(201, 169, 98, 0.85); }
.aadm-plan {
  display: flex; align-items: center; gap: 12px; padding: 11px 0;
  border-bottom: 1px dashed #EFEBE0;
}
.aadm-plan:last-child { border-bottom: 0; }
.aadm-plan-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.aadm-plan-main strong { font-size: 0.78rem; color: #2E2C26; }
.aadm-plan-main small { font-size: 0.62rem; color: #9A9585; }
.aadm-progress { height: 5px; border-radius: 99px; background: #F2EEE2; overflow: hidden; margin-top: 2px; }
.aadm-progress i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #1E6B4E, #2FA97B); }
.aadm-plan-side { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.aadm-plan-side b { font-family: var(--f-serif, serif); font-size: 0.82rem; color: #1E8A63; }
.aadm-filter { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.aadm-filter .input { flex: 1; min-width: 120px; }
.aadm-fees { display: flex; flex-direction: column; gap: 1px; border-radius: 10px; overflow: hidden; background: #F2EEE2; }
.aadm-fee { display: flex; align-items: center; gap: 10px; padding: 10px 13px; background: #fff; flex-wrap: wrap; }
.aadm-fee-main { flex: 1; min-width: 140px; display: flex; flex-direction: column; gap: 2px; }
.aadm-fee-main strong { font-size: 0.76rem; color: #2E2C26; }
.aadm-fee-main small { font-size: 0.62rem; color: #9A9585; }
.aadm-fee-amount { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.aadm-fee-amount b { font-family: var(--f-serif, serif); font-size: 0.82rem; color: #2E2C26; }
.aadm-fee-status { font-size: 0.6rem; padding: 2px 8px; border-radius: 99px; background: #F2EEE2; color: #8B8679; }
.aadm-fee-status.unpaid { background: rgba(201, 169, 98, 0.16); color: #8A6E2A; }
.aadm-fee-status.paid { background: rgba(47, 169, 123, 0.12); color: #1E8A63; }
.aadm-fee-status.waived { background: rgba(46, 94, 140, 0.1); color: #2E5E8C; }
.aadm-fee-acts { display: flex; gap: 6px; flex: 0 0 auto; }
@media (max-width: 560px) {
  .aadm-fin { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* ---------- 企业升级 ---------- */
.ent-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.ent-stat {
  padding: 13px 8px; border-radius: 12px; background: #fff; border: 1px solid #EDE9DD;
  display: flex; flex-direction: column; align-items: center; gap: 3px;
}
.ent-stat strong { font-family: var(--f-serif, serif); font-size: 1rem; color: #1F211C; }
.ent-stat span { font-size: 0.6rem; color: #9A9585; }
.ent-chip-row { display: flex; flex-wrap: wrap; gap: 7px; }
.ent-chip { font-size: 0.7rem; padding: 4px 11px; border-radius: 99px; background: #F6F3EA; color: #6E6A5C; }
.ent-chip.gold { background: rgba(201, 169, 98, 0.14); color: #8A6E2A; }
.ent-form-group { margin: 6px 0 4px; }
.ent-form-group h4 {
  font-size: 0.72rem; color: #96762F; letter-spacing: 0.08em;
  padding-bottom: 6px; border-bottom: 1px solid #F1EDE2; margin-bottom: 10px;
}
.field-tip { font-size: 0.62rem; color: #A9A497; }
.eac-btns { display: flex; gap: 6px; flex: 0 0 auto; }
.eac-btn.ghost { background: transparent; border: 1px solid rgba(201, 169, 98, 0.5); color: #8A6E2A; }
.apply-progress { padding: 12px 0; border-bottom: 1px dashed #EFEBE0; }
.apply-progress:last-child { border-bottom: 0; }
.apg-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.apg-head strong { font-size: 0.84rem; color: #2E2C26; }
.apg-status { font-size: 0.62rem; padding: 2px 9px; border-radius: 99px; background: #F2EEE2; color: #8B8679; }
.apg-status.approved { background: rgba(47, 169, 123, 0.12); color: #1E8A63; }
.apg-status.pending { background: rgba(201, 169, 98, 0.16); color: #8A6E2A; }
.apg-status.rejected { background: rgba(184, 58, 58, 0.1); color: #B83A3A; }
.apg-steps { display: flex; align-items: center; margin: 11px 0 8px; }
.apg-step { display: flex; align-items: center; gap: 6px; flex: 1; font-size: 0.64rem; color: #B5B0A2; }
.apg-step i { width: 8px; height: 8px; border-radius: 50%; background: #E3DED0; flex: 0 0 auto; }
.apg-step.done { color: #1E8A63; }
.apg-step.done i { background: #2FA97B; box-shadow: 0 0 0 3px rgba(47, 169, 123, 0.14); }
.apg-meta { display: flex; justify-content: space-between; gap: 10px; font-size: 0.62rem; color: #9A9585; }
.apg-remark { margin-top: 7px; font-size: 0.68rem; color: #B83A3A; background: #FDF6F6; padding: 7px 10px; border-radius: 8px; }

/* ---------- 后台：宗亲会 / 名片 / 祭拜 / 企业档案 ---------- */
.adm-assoc-apps { display: flex; flex-direction: column; gap: 10px; }
.adm-assoc-app {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 12px 14px; border-radius: 10px;
  background: rgba(201, 169, 98, 0.06); border: 1px solid rgba(201, 169, 98, 0.2);
}
.aaa-main { min-width: 0; }
.aaa-main strong { font-size: 0.84rem; color: #E7EFEA; display: block; }
.aaa-main small { font-size: 0.68rem; color: #7E9087; }
.aaa-main p { font-size: 0.7rem; color: #A9B8AF; margin-top: 5px; line-height: 1.6; }
.aaa-actions { display: flex; gap: 6px; flex: 0 0 auto; }
.adm-checks { display: flex; flex-wrap: wrap; gap: 7px; }
.adm-check {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px;
  border-radius: 99px; border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03); font-size: 0.68rem; color: #B8C6BE; cursor: pointer;
}
.adm-check input { width: auto; margin: 0; }
.adm-ent-detail { display: flex; flex-direction: column; gap: 12px; }
.aed-head { display: flex; gap: 12px; align-items: flex-start; }
.aed-seal {
  width: 46px; height: 46px; border-radius: 12px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #C9A962, #A9884A); color: #17140E;
  font-family: var(--f-serif, serif); font-size: 1.05rem;
}
.aed-head strong { font-size: 0.92rem; color: #E7EFEA; display: block; }
.aed-head small { font-size: 0.68rem; color: #7E9087; }
.aed-rows { display: flex; flex-direction: column; gap: 1px; border-radius: 10px; overflow: hidden; background: rgba(255, 255, 255, 0.05); }
.aed-row { display: flex; gap: 12px; padding: 9px 12px; background: #0C1310; }
.aed-row span { flex: 0 0 118px; font-size: 0.68rem; color: #7E9087; }
.aed-row strong { font-size: 0.72rem; color: #C3D0C9; font-weight: 500; word-break: break-all; }
.aed-sec h4 { font-size: 0.74rem; color: #D8BE7E; margin-bottom: 6px; }
.aed-sec p { font-size: 0.72rem; line-height: 1.8; color: #A9B8AF; }
.aed-review-tip {
  display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border-radius: 9px;
  background: rgba(201, 169, 98, 0.07); border: 1px solid rgba(201, 169, 98, 0.18);
}
.aed-review-tip strong { font-size: 0.8rem; color: #E7EFEA; }
.aed-review-tip span { font-size: 0.68rem; color: #7E9087; }
.adm-meter-wrap { display: flex; align-items: center; gap: 7px; min-width: 92px; }
.adm-meter-wrap .adm-meter { flex: 1; height: 5px; border-radius: 99px; background: rgba(255, 255, 255, 0.07); overflow: hidden; }
.adm-meter-wrap .adm-meter i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #C9A962, #7FE0B6); }
.adm-meter-wrap .adm-meter-txt { font-size: 0.64rem; color: #7E9087; flex: 0 0 auto; }
.adm-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.adm-wsp-trend { display: flex; align-items: flex-end; gap: 8px; height: 150px; padding-top: 8px; }
.awt-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px; height: 100%; }
.awt-bar-wrap { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; }
.awt-bar-wrap i {
  display: block; width: 62%; max-width: 26px; border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #E0C88A, #C9A962); box-shadow: 0 0 12px rgba(201, 169, 98, 0.25);
}
.awt-val { font-size: 0.64rem; color: #D8BE7E; }
.awt-date { font-size: 0.6rem; color: #7E9087; }

/* 浅色主题适配 */
body.admin-mode.adm-light .adm-assoc-app { background: #FDFBF4; border-color: #EDE4CF; }
body.admin-mode.adm-light .aaa-main strong { color: #2E2C26; }
body.admin-mode.adm-light .aaa-main small { color: #8B8679; }
body.admin-mode.adm-light .aaa-main p { color: #6B6656; }
body.admin-mode.adm-light .adm-check { border-color: #E3DED0; background: #FDFBF4; color: #6B6656; }
body.admin-mode.adm-light .aed-head strong { color: #2E2C26; }
body.admin-mode.adm-light .aed-head small { color: #8B8679; }
body.admin-mode.adm-light .aed-rows { background: #F2EEE2; }
body.admin-mode.adm-light .aed-row { background: #fff; }
body.admin-mode.adm-light .aed-row span { color: #9A9585; }
body.admin-mode.adm-light .aed-row strong { color: #3F3D35; }
body.admin-mode.adm-light .aed-sec h4 { color: #8A6E2A; }
body.admin-mode.adm-light .aed-sec p { color: #5F5A4E; }
body.admin-mode.adm-light .aed-review-tip { background: #FDFBF4; border-color: #EDE4CF; }
body.admin-mode.adm-light .aed-review-tip strong { color: #2E2C26; }
body.admin-mode.adm-light .aed-review-tip span { color: #8B8679; }
body.admin-mode.adm-light .adm-meter-wrap .adm-meter { background: #EDE9DD; }
body.admin-mode.adm-light .adm-meter-wrap .adm-meter-txt { color: #8B8679; }
body.admin-mode.adm-light .awt-val { color: #8A6E2A; }
body.admin-mode.adm-light .awt-date { color: #8B8679; }

@media (max-width: 480px) {
  .wsp-rituals { gap: 8px; }
  .wsp-altar-stats { gap: 4px; padding: 12px 4px; }
  .wsp-stat strong { font-size: 1rem; }
  .aadm-facts { grid-template-columns: 1fr; }
  .aadm-form { grid-template-columns: 1fr; }
  .aadm-cap { grid-template-columns: 1fr; }
  .ent-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .eac-btns { flex-direction: column; }
  .card-wall { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}

@media (min-width: 768px) {
  .wsp-altar { padding: 32px 0 34px; }
  .wsp-altar-inner { max-width: 520px; margin: 0 auto; }
  .wsp-block { max-width: 860px; margin: 0 auto; }
  .wsp-rituals { grid-template-columns: repeat(6, 1fr); }
  .wsp-text { max-width: 860px; margin: 18px auto; }
  .card-wall { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
  .aadm-head-inner, .aadm-kpis, .aadm-tabs, .aadm-body { max-width: 1100px; margin-left: auto; margin-right: auto; }
  .aadm-head { padding: 26px 24px 24px; }
  .aadm-body { padding: 0 24px 28px; }
  .aadm-facts { grid-template-columns: repeat(3, 1fr); }
  .aadm-cap { grid-template-columns: repeat(4, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .wi-smoke, .wsp-altar-live::before, .wsp-particle { animation: none; }
}

/* ============================================================
   实名认证 · 支付 · 发票 · 编修协作
   ============================================================ */

/* ---------- 实名认证 ---------- */
.verify-form-wrap { padding: 0 16px; }
.verify-form {
  background: #fff;
  border: 1px solid #EDE9DD;
  border-radius: 14px;
  padding: 16px;
}
.verify-form .vf-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 13px; }
.verify-form .vf-field label { font-size: 0.72rem; color: #6B6656; font-weight: 500; }
.verify-form .vf-tip { font-size: 0.64rem; color: #A9A497; }
.vf-consent {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 10px;
  background: #FBF8EF;
  border: 1px solid #EFE7D3;
  font-size: 0.68rem;
  line-height: 1.7;
  color: #6B6656;
}
.vf-note {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin-top: 12px;
  font-size: 0.64rem;
  line-height: 1.7;
  color: #A9A497;
}
.verify-reject {
  margin: 0 16px 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #FDF6F6;
  border: 1px solid #F3DCDC;
}
.verify-reject strong { font-size: 0.78rem; color: #B83A3A; }
.verify-reject p { font-size: 0.7rem; color: #8B6A6A; margin-top: 4px; line-height: 1.7; }
.verify-benefits { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 0 16px; }
.vb-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #fff;
  border: 1px solid #EDE9DD;
  font-size: 0.72rem;
  color: #4A473F;
}
.vb-ic {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(47, 169, 123, 0.12);
  color: #1E8A63;
  flex: 0 0 auto;
}

/* ---------- 支付 ---------- */
.pay-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border-radius: 14px;
  background: linear-gradient(160deg, #FFFDF6, #F8F4E7);
  border: 1px solid #EDE4CF;
  text-align: center;
}
.pay-amount { display: flex; flex-direction: column; gap: 4px; }
.pay-amount span { font-size: 0.68rem; color: #9A9585; }
.pay-amount strong {
  font-family: var(--f-serif, serif);
  font-size: 1.9rem;
  color: #B3904D;
  line-height: 1.2;
}
.pay-meta {
  display: flex;
  justify-content: center;
  gap: 12px;
  font-size: 0.64rem;
  color: #9A9585;
  flex-wrap: wrap;
}
.pay-qr { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: 12px; }
.pay-qr-box {
  width: 168px;
  height: 168px;
  border-radius: 14px;
  border: 1px dashed #DCCBA0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  color: #B39A62;
}
.pay-qr-url { font-size: 0.6rem; color: #9A9585; word-break: break-all; max-width: 100%; }
.pay-tip { font-size: 0.64rem; color: #A9A497; margin-top: 8px; line-height: 1.6; text-align: center; }

/* 订单操作 */
.so-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 14px 12px;
  border-top: 1px dashed #EFEBE0;
  align-items: center;
}
.so-act {
  padding: 6px 13px;
  border-radius: 99px;
  border: 1px solid #E3DED0;
  background: #fff;
  color: #6B6656;
  font-size: 0.7rem;
  cursor: pointer;
}
.so-act.primary {
  background: linear-gradient(135deg, #C9A962, #B3904D);
  border-color: #B3904D;
  color: #1B1E23;
  font-weight: 600;
}
.so-tip { font-size: 0.64rem; color: #A9A497; }

/* 发票 */
.invoice-list { display: flex; flex-direction: column; gap: 10px; padding: 0 16px; }
.invoice-card {
  background: #fff;
  border: 1px solid #EDE9DD;
  border-radius: 14px;
  padding: 14px;
}
.iv-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.iv-head strong { font-size: 0.84rem; color: #2E2C26; }
.iv-status { font-size: 0.62rem; padding: 2px 9px; border-radius: 99px; background: #F2EEE2; color: #8B8679; }
.iv-status.pending { background: rgba(201, 169, 98, 0.18); color: #8A6E2A; }
.iv-status.issued { background: rgba(47, 169, 123, 0.14); color: #1E8A63; }
.iv-status.rejected { background: rgba(184, 58, 58, 0.1); color: #B83A3A; }
.iv-rows { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 9px; font-size: 0.68rem; color: #7A7568; }
.iv-no { margin-top: 8px; font-size: 0.68rem; color: #96762F; }
.iv-remark { margin-top: 6px; font-size: 0.66rem; color: #B83A3A; line-height: 1.6; }
.iv-time { margin-top: 8px; font-size: 0.62rem; color: #B5B0A2; }

/* ---------- 编修协作面板 ---------- */
.collab-stat {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 12px 8px;
  border-radius: 12px;
  background: #FBF8EF;
  border: 1px solid #EFE7D3;
}
.cs-item { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.cs-item strong { font-family: var(--f-serif, serif); font-size: 0.96rem; color: #1F211C; }
.cs-item span { font-size: 0.58rem; color: #9A9585; }
.collab-conflicts {
  margin: 10px 0;
  padding: 9px 11px;
  border-radius: 10px;
  background: #FFF9F0;
  border: 1px solid #F1E3C8;
}
.collab-conflicts strong { font-size: 0.72rem; color: #96762F; display: block; margin-bottom: 4px; }
.collab-conflicts .cc-row { font-size: 0.64rem; line-height: 1.65; color: #8B7A55; }
.collab-conflicts .cc-row.error { color: #B83A3A; }
.collab-block {
  margin-top: 10px;
  padding: 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #EDE9DD;
}
.collab-block h4 { font-size: 0.76rem; color: #2E2C26; margin-bottom: 8px; }
.collab-block .input,
.collab-block .textarea { width: 100%; }
.collab-claim {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border-radius: 9px;
  background: #FBF8EF;
  border: 1px solid #EFE7D3;
  margin-top: 6px;
}
.collab-claim strong { font-size: 0.74rem; color: #2E2C26; display: block; }
.collab-claim small { font-size: 0.62rem; color: #9A9585; }
.collab-release {
  flex: 0 0 auto;
  border: 1px solid #E3DED0;
  background: #fff;
  border-radius: 99px;
  padding: 3px 10px;
  font-size: 0.64rem;
  color: #8B8679;
  cursor: pointer;
}
.claim-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #DCCBA0;
  flex: 0 0 auto;
}
.claim-dot.done { background: #2FA97B; box-shadow: 0 0 0 3px rgba(47, 169, 123, 0.14); }
.collab-people { display: flex; flex-wrap: wrap; gap: 7px; }
.collab-people .cp-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 4px;
  border-radius: 99px;
  background: #F6F3EA;
  font-size: 0.66rem;
  color: #5F5A4E;
}
.collab-people .cp-item i {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #C9A962, #E0C88A);
  color: #1B1E23;
  font-style: normal;
  font-size: 0.6rem;
  font-family: var(--f-serif, serif);
}
.collab-empty { font-size: 0.68rem; color: #A9A497; }

/* ---------- 后台支付横幅 ---------- */
.adm-pay-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  margin-bottom: 14px;
}
.adm-pay-banner .apb-main { display: flex; flex-direction: column; gap: 3px; }
.adm-pay-banner strong { font-size: 0.82rem; }
.adm-pay-banner span { font-size: 0.68rem; }
.adm-pay-banner.on {
  background: rgba(47, 169, 123, 0.08);
  border: 1px solid rgba(47, 169, 123, 0.22);
}
.adm-pay-banner.on strong { color: #7FE0B6; }
.adm-pay-banner.on span { color: #7E9087; }
.adm-pay-banner.off {
  background: rgba(201, 169, 98, 0.08);
  border: 1px solid rgba(201, 169, 98, 0.22);
}
.adm-pay-banner.off strong { color: #D8BE7E; }
.adm-pay-banner.off span { color: #7E9087; }

body.admin-mode.adm-light .adm-pay-banner.on { background: #F1FAF6; border-color: #CDEBDD; }
body.admin-mode.adm-light .adm-pay-banner.on strong { color: #1E8A63; }
body.admin-mode.adm-light .adm-pay-banner.on span { color: #8B8679; }
body.admin-mode.adm-light .adm-pay-banner.off { background: #FDFBF4; border-color: #EDE4CF; }
body.admin-mode.adm-light .adm-pay-banner.off strong { color: #8A6E2A; }
body.admin-mode.adm-light .adm-pay-banner.off span { color: #8B8679; }

@media (max-width: 480px) {
  .verify-benefits { grid-template-columns: 1fr; }
  .collab-stat { gap: 4px; padding: 10px 4px; }
  .cs-item strong { font-size: 0.86rem; }
}

/* ================= 电子谱书 ================= */
.gb-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 20px 16px 40px;
}
.gb-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 26px 24px;
  border-radius: 18px;
  background: linear-gradient(145deg, #1A1A1A 0%, #243038 58%, #1E6B4E 100%);
  color: #fff;
  flex-wrap: wrap;
}
.gb-hero-seal {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  border: 1px solid rgba(232, 217, 181, 0.55);
  background: rgba(201, 169, 98, 0.16);
  color: var(--c-gold-light, #E8D9B5);
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.gb-hero-body { flex: 1; min-width: 200px; }
.gb-hero-eyebrow { font-size: 0.6rem; letter-spacing: 2px; color: var(--c-gold-light, #E8D9B5); opacity: 0.85; }
.gb-hero-title { font-size: 1.5rem; margin: 2px 0 4px; letter-spacing: 3px; }
.gb-hero-sub { font-size: 0.75rem; color: rgba(255, 255, 255, 0.72); }
.gb-hero-stats { display: flex; gap: 8px; flex-wrap: wrap; }
.gb-hero-stat {
  min-width: 72px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  text-align: center;
}
.gb-hero-stat b { display: block; font-size: 1.1rem; color: var(--c-gold-light, #E8D9B5); }
.gb-hero-stat span { font-size: 0.58rem; color: rgba(255, 255, 255, 0.68); }

.gb-toolbar {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding: 16px;
  background: #FFFFFF;
  border: 1px solid var(--c-line-soft, #ECE5D6);
  border-radius: 14px;
  box-shadow: var(--shadow, 0 8px 24px rgba(26, 26, 26, 0.05));
}
.gb-field { display: flex; flex-direction: column; gap: 6px; min-width: 150px; }
.gb-field-sm { min-width: 96px; }
.gb-field label { font-size: 0.62rem; color: #8B8679; }
.gb-field .input { min-height: 40px; font-size: 0.76rem; }
.gb-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.gb-actions .btn { min-height: 40px; }

.gb-book {
  margin-top: 18px;
  background: #FFFDF7;
  border: 1px solid #E8E0CE;
  border-radius: 16px;
  padding: 18px;
}
.gb-cover {
  position: relative;
  padding: 44px 28px 34px;
  border-radius: 10px;
  background: linear-gradient(150deg, #1A1A1A 0%, #243038 55%, #1E6B4E 100%);
  color: #fff;
  text-align: center;
  overflow: hidden;
}
.gb-seal {
  width: 76px;
  height: 76px;
  margin: 0 auto 16px;
  border-radius: 16px;
  border: 2px solid rgba(232, 217, 181, 0.6);
  background: rgba(201, 169, 98, 0.16);
  color: var(--c-gold-light, #E8D9B5);
  font-size: 2.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gb-title { font-size: 1.9rem; letter-spacing: 6px; margin: 0 0 8px; font-weight: 700; }
.gb-subtitle { font-size: 0.68rem; letter-spacing: 3px; color: var(--c-gold-light, #E8D9B5); }
.gb-period { margin-top: 12px; font-size: 0.72rem; color: rgba(255, 255, 255, 0.76); }
.gb-cover-stats { display: flex; gap: 8px; margin-top: 20px; flex-wrap: wrap; justify-content: center; }
.gb-cover-stat {
  min-width: 84px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
}
.gb-cover-stat b { display: block; font-size: 1.08rem; color: var(--c-gold-light, #E8D9B5); }
.gb-cover-stat span { font-size: 0.56rem; color: rgba(255, 255, 255, 0.66); }

.gb-section {
  margin-top: 16px;
  padding: 20px;
  background: #FFFEFB;
  border: 1px solid #EFE7D6;
  border-radius: 10px;
}
.gb-section h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.02rem;
  margin: 0 0 12px;
  padding-left: 10px;
  border-left: 4px solid var(--c-gold, #C9A962);
}
.gb-count { font-style: normal; font-weight: 400; font-size: 0.62rem; color: #9A948A; }
.gb-preface {
  font-size: 0.8rem;
  line-height: 2;
  color: #4A4235;
  text-indent: 2em;
  margin: 0 0 8px;
  text-align: justify;
}
.gb-zibei {
  font-size: 1.02rem;
  letter-spacing: 7px;
  line-height: 2.1;
  color: #5D5545;
  word-break: break-all;
}
.gb-note { margin-top: 10px; font-size: 0.64rem; color: #9A948A; }
.gb-table-wrap { overflow-x: auto; }
.gb-table { width: 100%; border-collapse: collapse; font-size: 0.7rem; min-width: 720px; }
.gb-table th,
.gb-table td { border: 1px solid #E6DECC; padding: 7px 8px; text-align: left; vertical-align: top; }
.gb-table th { background: #F4EFE2; color: #5D5545; font-weight: 600; white-space: nowrap; }
.gb-table td.c { text-align: center; white-space: nowrap; }
.gb-table td.name { font-weight: 700; white-space: nowrap; }
.gb-table td.bio { min-width: 180px; color: #4A4235; }
.gb-star {
  display: inline-block;
  margin-left: 5px;
  padding: 0 4px;
  font-size: 0.52rem;
  font-style: normal;
  color: #8A6B27;
  background: #F0E3BF;
  border-radius: 3px;
}
.gb-foot {
  margin-top: 18px;
  text-align: center;
  font-size: 0.64rem;
  color: #9A948A;
  line-height: 1.9;
}
.gb-tip { margin-top: 12px; font-size: 0.66rem; color: #9A948A; text-align: center; }

@media (max-width: 640px) {
  .gb-hero { padding: 20px 16px; gap: 12px; }
  .gb-hero-title { font-size: 1.24rem; }
  .gb-hero-stats { width: 100%; }
  .gb-hero-stat { flex: 1; }
  .gb-toolbar { padding: 12px; }
  .gb-field { flex: 1; min-width: 120px; }
  .gb-actions { width: 100%; margin-left: 0; }
  .gb-actions .btn { flex: 1; }
  .gb-book { padding: 10px; }
  .gb-title { font-size: 1.4rem; letter-spacing: 3px; }
  .gb-section { padding: 14px; }
  .gb-section h2 { font-size: 0.92rem; }
}

@media print {
  body * { visibility: hidden !important; }
  .gb-book, .gb-book * { visibility: visible !important; }
  .gb-book {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: #fff;
  }
  .gb-cover {
    border-radius: 0;
    page-break-after: always;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .gb-section { border: none; page-break-inside: auto; }
  .gb-table tr { page-break-inside: avoid; }
  .gb-table th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ===== 企业工作台 ===== */
.aadm-seal.logo { background: transparent; box-shadow: none; padding: 0; overflow: visible; }
.aadm-seal.logo img { width: 100%; height: 100%; display: block; border-radius: inherit; }
.aadm-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }

.biz-list { display: flex; flex-direction: column; gap: 1px; border-radius: 12px; overflow: hidden; background: #F2EEE2; }
.biz-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; background: #fff; }
.biz-row-main { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.biz-row-main strong { font-size: 0.82rem; color: #23241F; }
.biz-row-main small { font-size: 0.68rem; color: #9A9585; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.biz-row-side { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; }
.biz-row-side b { font-size: 0.86rem; color: #8A6E2A; font-variant-numeric: tabular-nums; }

.biz-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 0.66rem; color: #6E6656; }
.biz-badge .dot { width: 6px; height: 6px; border-radius: 50%; background: #C9A962; }
.biz-badge .dot.paid { background: #D9822B; }
.biz-badge .dot.shipped { background: #2F8FD6; }
.biz-badge .dot.completed { background: #1E8A5B; }
.biz-badge .dot.cancelled, .biz-badge .dot.refunded { background: #B3AC9C; }
.biz-badge em { font-style: normal; }

.biz-table { display: flex; flex-direction: column; gap: 1px; border-radius: 12px; overflow: hidden; background: #F2EEE2; }
.biz-prow { display: flex; align-items: center; gap: 12px; padding: 12px 13px; background: #fff; flex-wrap: wrap; }
.biz-pmain { flex: 1; min-width: 160px; display: flex; flex-direction: column; gap: 3px; }
.biz-pmain strong { font-size: 0.84rem; color: #23241F; }
.biz-pmain small { font-size: 0.68rem; color: #9A9585; }
.biz-pmeta { display: flex; align-items: center; gap: 12px; font-size: 0.68rem; color: #8E887B; }
.biz-pmeta b { font-size: 0.86rem; color: #8A6E2A; font-variant-numeric: tabular-nums; }
.biz-pactions { display: flex; align-items: center; gap: 6px; }

.biz-order { background: #fff; padding: 13px 14px; display: flex; flex-direction: column; gap: 10px; }
.biz-order-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.biz-order-head strong { display: block; font-size: 0.82rem; color: #23241F; font-variant-numeric: tabular-nums; }
.biz-order-head small { font-size: 0.68rem; color: #9A9585; }
.biz-order-items { display: flex; flex-direction: column; gap: 5px; padding: 9px 11px; border-radius: 10px; background: #FDFBF4; }
.biz-order-item { display: flex; align-items: center; gap: 10px; font-size: 0.72rem; color: #5F5A4E; }
.biz-order-item span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.biz-order-item em { font-style: normal; color: #9A9585; }
.biz-order-item b { color: #8A6E2A; font-variant-numeric: tabular-nums; }
.biz-order-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 0.68rem; color: #9A9585; flex-wrap: wrap; }
.biz-order-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.biz-order-actions b { font-size: 0.8rem; color: #8A6E2A; }
.biz-note { display: flex; gap: 8px; margin-top: 12px; padding: 11px 13px; border-radius: 11px; background: #FBF6E7; border: 1px solid #EDE2C8; color: #8A6E2A; font-size: 0.72rem; line-height: 1.6; }
.biz-note p { margin: 0; }
.biz-note svg { flex: none; margin-top: 2px; }

/* 商品审核状态徽标 */
.biz-review {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 4px;
  margin-top: 2px; padding: 2px 8px; border-radius: 999px;
  font-size: 0.62rem; line-height: 1.5;
  background: #F0F6F1; color: #1E8A5B; border: 1px solid #D8EADF;
}
.biz-review.pending { background: #FCF3E3; color: #B0761C; border-color: #EEDFBF; }
.biz-review.rejected { background: #FBEDEF; color: #B83A3A; border-color: #EFD4D8; }
.biz-review-note { font-size: 0.66rem !important; color: #B83A3A !important; white-space: normal !important; }
.biz-review-tip { font-size: 0.68rem; color: #9A9585; line-height: 1.5; margin-right: auto; }

/* 商品图片上传 */
.biz-upload { display: flex; flex-wrap: wrap; gap: 10px; }
.biz-upload-item {
  position: relative; width: 84px; height: 84px; border-radius: 10px;
  overflow: hidden; border: 1px solid #EDE7D7; background: #FBF8F0;
}
.biz-upload-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.biz-upload-main {
  position: absolute; left: 0; bottom: 0; padding: 1px 6px; border-radius: 0 8px 0 0;
  background: rgba(27, 30, 35, 0.72); color: #F3E6C4; font-size: 0.58rem;
}
.biz-upload-del {
  position: absolute; top: 4px; right: 4px; width: 20px; height: 20px;
  display: inline-flex; align-items: center; justify-content: center;
  border: none; border-radius: 50%; cursor: pointer;
  background: rgba(27, 30, 35, 0.68); color: #fff;
}
.biz-upload-del:hover { background: #B83A3A; }
.biz-upload-add {
  width: 84px; height: 84px; display: inline-flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px; cursor: pointer;
  border-radius: 10px; border: 1px dashed #D9D2BF; background: #FDFBF4; color: #9A9585;
}
.biz-upload-add:hover { border-color: var(--c-gold, #C9A962); color: #8A6E2A; background: #FBF6E7; }
.biz-upload-add small { font-size: 0.62rem; }

@media (max-width: 720px) {
  .biz-upload-item, .biz-upload-add { width: 72px; height: 72px; }
}

@media (max-width: 720px) {
  .aadm-kpis { grid-template-columns: repeat(2, 1fr); }
  .biz-pmeta { width: 100%; }
  .biz-pactions { margin-left: auto; }
}



/* ===== 宗亲会 / 企业后台 · 运营升级 ===== */
.aadm-hero {
  display: flex; align-items: center; gap: 16px;
  padding: 20px 22px; border-radius: 18px; margin-bottom: 16px;
  background: linear-gradient(135deg, #14513A, #1E6B4E 55%, #2B8060);
  color: #F6F1E2; box-shadow: 0 12px 30px rgba(20, 81, 58, 0.22);
  position: relative; overflow: hidden;
}
.aadm-hero::after {
  content: ''; position: absolute; right: -40px; top: -60px;
  width: 220px; height: 220px; border-radius: 50%; background: rgba(201, 169, 98, 0.18);
}
.aadm-hero-seal {
  width: 64px; height: 64px; border-radius: 16px; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: rgba(201, 169, 98, 0.22); border: 1px solid rgba(201, 169, 98, 0.45);
  font-family: var(--f-serif, serif); font-size: 1.1rem; letter-spacing: 0.08em; color: #F7EACB;
}
.aadm-hero-main { flex: 1; min-width: 0; position: relative; z-index: 1; }
.aadm-hero-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.aadm-chip {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px;
  font-size: 0.62rem; background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18); color: #EDF4EF;
}
.aadm-chip.gold { background: rgba(201, 169, 98, 0.24); border-color: rgba(201, 169, 98, 0.5); color: #F5E3B8; }
.aadm-hero h2 { margin: 0 0 4px; font-size: 1.2rem; font-family: var(--f-serif, serif); letter-spacing: 0.03em; }
.aadm-hero p { margin: 0; font-size: 0.72rem; color: rgba(246, 241, 226, 0.8); }
.aadm-hero-actions { display: flex; gap: 8px; flex-wrap: wrap; position: relative; z-index: 1; }
.aadm-hero-actions .btn-primary { background: #E8D5A8; color: #3E2E12; border-color: #E8D5A8; }
.aadm-hero-actions .btn-ghost { color: #F6F1E2; border-color: rgba(246, 241, 226, 0.4); background: rgba(255, 255, 255, 0.08); }

.aadm-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.aadm-kpi-card {
  display: flex; gap: 12px; align-items: center; padding: 15px 16px;
  border-radius: 14px; background: #fff; border: 1px solid #EDE7D7;
  box-shadow: 0 6px 18px rgba(27, 30, 35, 0.05);
}
.aadm-kpi-ic {
  width: 38px; height: 38px; border-radius: 11px; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: #F4EFE0; color: #8A6E2A;
}
.aadm-kpi-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.aadm-kpi-txt span { font-size: 0.68rem; color: #8A8478; }
.aadm-kpi-txt strong { font-size: 1.22rem; color: #1D1B16; font-family: var(--f-serif, serif); }
.aadm-kpi-txt small { font-size: 0.62rem; color: #A39B89; }

.aadm-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.aadm-split > .aadm-card { margin-bottom: 0; }

.aadm-meter { padding: 4px 2px; }
.aadm-meter-head, .aadm-meter-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 0.72rem; color: #8A8478; }
.aadm-meter-head strong { color: #1D1B16; font-size: 0.86rem; }
.aadm-meter-head { margin-bottom: 10px; }
.aadm-meter-foot { margin-top: 10px; }

.aadm-list { display: flex; flex-direction: column; }
.aadm-list-row {
  display: flex; align-items: center; gap: 10px; padding: 10px 2px;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.07);
}
.aadm-list-row:last-child { border-bottom: none; }
.aadm-list-ic {
  width: 34px; height: 34px; border-radius: 10px; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: #F4EFE0; color: #8A6E2A;
}
.aadm-list-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.aadm-list-main strong { font-size: 0.78rem; color: #1D1B16; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aadm-list-main small { font-size: 0.66rem; color: #8A8478; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aadm-avatar {
  width: 34px; height: 34px; border-radius: 50%; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: #1E6B4E; color: #F6F1E2; font-size: 0.72rem; font-weight: 600;
}
.signup-row { padding: 11px 2px; }
.aadm-split .aadm-card .aadm-list-row .aadm-chip { background: #F1F6F2; color: #1E6B4E; border-color: #DBE9DF; }

@media (max-width: 980px) {
  .aadm-kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .aadm-split { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .aadm-hero { flex-wrap: wrap; }
  .aadm-hero-seal { width: 52px; height: 52px; }
  .aadm-kpi-grid { grid-template-columns: 1fr; }
}

/* 企业店铺装修 / 榜单 / 状态 */
.aadm-rank {
  width: 26px; height: 26px; border-radius: 8px; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: #F4EFE0; color: #8A6E2A; font-size: 0.7rem; font-weight: 700;
}
.aadm-chip.warn { background: #FCF3E3; color: #B0761C; border-color: #EEDFBF; }
.aadm-split .aadm-card .aadm-list-row .aadm-chip.gold { background: #FCF3E3; color: #B0761C; border-color: #EEDFBF; }

.shopx-banner-edit { width: 100%; }
.shopx-banner-preview {
  position: relative; width: 100%; max-width: 640px; aspect-ratio: 10 / 3;
  border-radius: 14px; overflow: hidden; border: 1px solid #EDE7D7; background: #F7F3E8;
}
.shopx-banner-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shopx-banner-preview .biz-upload-del { position: absolute; top: 8px; right: 8px; }
.shopx-banner-add {
  width: 100%; max-width: 640px; aspect-ratio: 10 / 3; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  border-radius: 14px; border: 1px dashed #D9D2BF; background: #FDFBF4; color: #9A9585;
}
.shopx-banner-add:hover { border-color: var(--c-gold, #C9A962); color: #8A6E2A; background: #FBF6E7; }
.shopx-banner-add small { font-size: 0.7rem; }

/* ============================================================
   宗亲会 / 企业后台 · UI 3.0（高级运营工作台）
   ============================================================ */
.aadm-shell { grid-template-columns: 264px minmax(0, 1fr); background: #F7F4EC; }
.aadm-side {
  background:
    radial-gradient(520px 320px at 20% -10%, rgba(201, 169, 98, 0.16), transparent 65%),
    linear-gradient(180deg, #101713 0%, #080C0A 100%);
  border-right: 1px solid rgba(201, 169, 98, 0.14);
}
.aadm-side-brand { padding: 28px 24px 22px; gap: 14px; }
.aadm-side-brand .aadm-seal { width: 48px; height: 48px; border-radius: 14px; }
.aadm-side-brand strong { font-size: 1.08rem; letter-spacing: 0.06em; }
.aadm-side-brand small { font-size: 0.66rem; color: #8C9A91; margin-top: 5px; }
.aadm-side-nav { padding: 18px 14px; gap: 3px; }
.aadm-side-nav .aadm-tab {
  position: relative; padding: 12px 16px; border-radius: 12px;
  font-size: 0.82rem; letter-spacing: 0.02em; color: rgba(232, 226, 211, 0.6);
}
.aadm-side-nav .aadm-tab.active {
  background: linear-gradient(90deg, rgba(201, 169, 98, 0.2), rgba(201, 169, 98, 0.04));
  border-color: rgba(201, 169, 98, 0.22); color: #F0DCAC; font-weight: 600;
}
.aadm-side-nav .aadm-tab.active::before {
  content: ''; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px;
  border-radius: 3px; background: linear-gradient(180deg, #E0C88A, #C9A962);
}
.aadm-side-foot { padding: 20px 24px 26px; gap: 10px; border-top-color: rgba(201, 169, 98, 0.1); }
.aadm-side-foot a { font-size: 0.72rem; color: #A99568; }

.aadm-main { background: #F7F4EC; }
.aadm-top { padding: 30px 40px 22px; background: #F7F4EC; border-bottom: 1px solid #ECE5D6; }
.aadm-top h1 { font-size: 1.72rem; letter-spacing: 0.06em; color: #1A1913; }
.aadm-top p { margin-top: 8px; font-size: 0.8rem; color: #8A8478; letter-spacing: 0.01em; }
.aadm-top .aadm-link {
  height: 34px; padding: 0 14px; border-radius: 10px; font-size: 0.74rem; font-weight: 500;
  border-color: #E5DCC9; background: #FFFDF8; box-shadow: 0 1px 2px rgba(20, 17, 10, 0.03);
}
.aadm-body {
  max-width: 1320px; padding: 28px 40px 56px; gap: 20px;
}
.aadm-body .aadm-card {
  padding: 24px 26px; border-radius: 18px; border: 1px solid #ECE5D6;
  box-shadow: 0 10px 30px rgba(30, 27, 20, 0.045);
}
.aadm-body .aadm-card h3 { font-size: 1rem; letter-spacing: 0.05em; color: #1A1913; margin-bottom: 16px; }
.aadm-card-head { margin-bottom: 18px; gap: 12px; }
.aadm-card-head h3 { margin-bottom: 0; }
.aadm-tip { font-size: 0.68rem; color: #928C7D; line-height: 1.6; }
.aadm-card .aadm-link {
  border: none; background: none; padding: 0; height: auto; font-size: 0.72rem;
  color: #8A6E2A; cursor: pointer; text-decoration: none;
}
.aadm-card .aadm-link:hover { color: #6F5720; text-decoration: underline; }

/* 英雄区 */
.aadm-hero {
  gap: 18px; padding: 24px 26px; border-radius: 20px;
  border: 1px solid rgba(201, 169, 98, 0.35);
  background:
    radial-gradient(600px 260px at 92% -30%, rgba(201, 169, 98, 0.25), transparent 62%),
    linear-gradient(130deg, #113F2D, #1B6247 58%, #237A58);
  box-shadow: 0 16px 40px rgba(18, 61, 44, 0.22);
}
.aadm-hero-seal { width: 68px; height: 68px; border-radius: 18px; font-size: 1.15rem; }
.aadm-hero h2 { font-size: 1.35rem; letter-spacing: 0.06em; margin-bottom: 6px; }
.aadm-hero p { font-size: 0.74rem; color: rgba(246, 241, 226, 0.75); }
.aadm-hero-badges { margin-bottom: 10px; gap: 8px; }
.aadm-chip { font-size: 0.66rem; padding: 3px 10px; }
.aadm-hero-actions { gap: 10px; }
.aadm-hero-actions .btn { height: 38px; padding: 0 16px; border-radius: 10px; font-size: 0.76rem; font-weight: 500; }
.aadm-hero-actions .btn-primary { background: linear-gradient(135deg, #EFDFB4, #E0C88A); border-color: #E8D5A8; color: #3D2D10; }
.aadm-hero-actions .btn-primary:hover { filter: brightness(1.05); }
.aadm-hero-actions .btn-ghost { border-color: rgba(246, 241, 226, 0.35); background: rgba(255, 255, 255, 0.08); }
.aadm-hero-actions .btn-ghost:hover { background: rgba(255, 255, 255, 0.16); }

/* KPI 大卡 */
.aadm-kpi-grid { gap: 16px; margin-bottom: 4px; }
.aadm-kpi-card {
  padding: 20px 22px; border-radius: 16px; gap: 14px;
  border: 1px solid #ECE5D6; box-shadow: 0 8px 24px rgba(30, 27, 20, 0.04);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.aadm-kpi-card:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(30, 27, 20, 0.08); }
.aadm-kpi-ic { width: 44px; height: 44px; border-radius: 12px; background: #F5F0E1; color: #8A6E2A; }
.aadm-kpi-txt span { font-size: 0.73rem; color: #8A8478; letter-spacing: 0.03em; }
.aadm-kpi-txt strong { font-size: 1.55rem; color: #1A1913; letter-spacing: 0.01em; }
.aadm-kpi-txt small { font-size: 0.67rem; color: #9B9485; }

/* 今日待办 */
.adm-tasks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.adm-task {
  display: flex; align-items: center; gap: 12px; padding: 15px 16px;
  border-radius: 14px; background: #FFFDF8; border: 1px solid #ECE5D6;
  text-align: left; cursor: pointer; transition: all 0.18s ease;
}
.adm-task:hover { border-color: #D9C58F; background: #FFFCF2; transform: translateY(-1px); }
.adm-task-ic {
  width: 38px; height: 38px; border-radius: 11px; flex: none;
  display: flex; align-items: center; justify-content: center; background: #F7F2E4;
}
.adm-task-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.adm-task-txt strong { font-size: 1.05rem; color: #1A1913; font-family: var(--f-serif, serif); line-height: 1.2; }
.adm-task-txt span { font-size: 0.72rem; color: #4F4A3F; }
.adm-task-txt small { font-size: 0.64rem; color: #9B9485; }
.adm-task-arrow { color: #C2B58F; font-size: 0.9rem; }

/* 柱状图 */
.adm-columns { display: flex; align-items: flex-end; gap: 12px; height: 208px; padding: 8px 4px 0; }
.adm-col { flex: 1; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; min-width: 0; }
.adm-col-val { font-size: 0.68rem; color: #6B6556; font-weight: 600; white-space: nowrap; }
.adm-col-stem { width: 100%; flex: 1; display: flex; align-items: flex-end; justify-content: center; }
.adm-col-bar {
  display: block; width: 100%; max-width: 42px; border-radius: 8px 8px 4px 4px;
  background: linear-gradient(180deg, #38B48A, #1E6B4E); min-height: 4px;
  transition: filter 0.18s ease;
}
.adm-col-bar.gold { background: linear-gradient(180deg, #E7CF95, #C9A962); }
.adm-col:hover .adm-col-bar { filter: brightness(1.08); }
.adm-col-label { font-size: 0.66rem; color: #9B9485; white-space: nowrap; }

/* 订单构成堆叠条 */
.adm-stacked { display: flex; gap: 3px; height: 16px; border-radius: 999px; overflow: hidden; background: #F2EEE2; margin: 6px 0 16px; }
.adm-stacked i { display: block; height: 100%; min-width: 3px; }
.adm-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
.adm-legend-item { display: flex; align-items: center; gap: 8px; font-size: 0.72rem; color: #6B6556; }
.adm-legend-item i { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.adm-legend-item strong { margin-left: auto; color: #1A1913; font-size: 0.76rem; }

/* 会费环 */
.adm-ring-wrap { display: flex; align-items: center; gap: 26px; padding: 8px 4px 4px; }
.adm-ring {
  width: 132px; aspect-ratio: 1; border-radius: 50%; flex: none;
  display: grid; place-items: center;
  background: conic-gradient(#1E6B4E 0 var(--p, 0%), #F0EBDE var(--p, 0%) 100%);
}
.adm-ring-inner {
  width: 78%; aspect-ratio: 1; border-radius: 50%; background: #FFFDF8;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  box-shadow: inset 0 0 0 1px #F0EBDE;
}
.adm-ring-inner strong { font-size: 1.35rem; color: #1A1913; font-family: var(--f-serif, serif); }
.adm-ring-inner span { font-size: 0.66rem; color: #8A8478; }
.adm-ring-facts { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
.adm-ring-fact { display: flex; flex-direction: column; gap: 3px; }
.adm-ring-fact span { font-size: 0.66rem; color: #9B9485; }
.adm-ring-fact strong { font-size: 0.86rem; color: #1A1913; }

/* 列表与事实卡 */
.aadm-facts { gap: 10px; background: transparent; overflow: visible; border-radius: 0; }
.aadm-fact { padding: 12px 14px; background: #FBF8F0; border: 1px solid #F0EADA; border-radius: 12px; }
.aadm-fact span { font-size: 0.66rem; color: #9B9485; }
.aadm-fact strong { font-size: 0.84rem; color: #2A2820; }
.aadm-list-row { padding: 12px 4px; border-bottom: 1px solid #F2EDE1; }
.aadm-list-row:hover { background: #FDFBF4; }
.aadm-list-ic { width: 36px; height: 36px; background: #F5F0E1; }
.aadm-avatar { width: 36px; height: 36px; background: linear-gradient(135deg, #2B8060, #1E6B4E); }
.aadm-list-main strong { font-size: 0.8rem; color: #1A1913; }
.aadm-list-main small { font-size: 0.68rem; color: #8A8478; }
.aadm-card .aadm-chip { background: #F5F0E1; border-color: #E8DFC9; color: #7A6127; }
.aadm-card .aadm-chip.gold { background: #FCF3E3; border-color: #EEDFBF; color: #B0761C; }
.aadm-card .aadm-chip.warn { background: #FCEDE7; border-color: #F1D6C9; color: #B4553C; }

/* 表单与筛选 */
.aadm-form { gap: 16px; }
.aadm-field label { font-size: 0.72rem; color: #7C7668; }
.aadm-field .input, .aadm-field textarea, .aadm-field select { min-height: 40px; border-radius: 10px; }
.aadm-filter { margin-bottom: 16px; gap: 10px; }
.aadm-filter .input { height: 38px; }
.aadm-news { padding: 14px 2px; border-bottom: 1px solid #F2EDE1; }
.aadm-news:hover { background: #FDFBF4; }
.an-body strong { font-size: 0.82rem; color: #1A1913; }
.an-body small { font-size: 0.68rem; color: #8A8478; }
.an-body p { font-size: 0.74rem; color: #5F5A4E; }
.aadm-empty { font-size: 0.76rem; color: #A9A497; padding: 20px 0; }

@media (max-width: 1200px) {
  .adm-tasks { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .aadm-top { padding: 22px 20px 16px; }
  .aadm-body { padding: 20px 20px 40px; }
  .adm-tasks, .aadm-kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .adm-ring-wrap { flex-direction: column; align-items: flex-start; gap: 16px; }
}
