/* T37 · 生产功能组件（BLACK GLASS 语言补齐）——预览稿没有、生产必须的门禁/引导/档位/锁定/横幅 */

/* T41：演示切换条已移除（页面拥挤）——联调切态走控制台 demoMember() */

/* ===== 门禁视图（核对中 / 未登录） ===== */
.gate-stage{min-height:72vh;display:flex;align-items:center;justify-content:center;padding:48px 16px}
.gate-card{max-width:430px;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:44px 30px;text-align:center;backdrop-filter:blur(18px)}
.gate-card .gate-brand{width:118px;margin:0 auto 18px;display:block;opacity:.92}
.gate-card h2{font-size:22px;font-weight:700;margin:0 0 8px;letter-spacing:.02em}
.gate-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 22px}
.gate-card .gate-actions{display:flex;flex-direction:column;gap:12px}
.gate-card .gate-spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--cyan);border-radius:50%;vertical-align:-2px;margin-right:8px;animation:gateSpin 1s linear infinite}
@keyframes gateSpin{to{transform:rotate(360deg)}}
.primary-button{cursor:pointer}
.primary-button[hidden],.text-button[hidden]{display:none!important}

/* ===== 进群引导视图（未进群/核对中，含邀请人专属码） ===== */
.guest-wrap{max-width:660px;margin:0 auto;padding:40px 18px 80px}
.guest-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:40px 28px 34px;text-align:center;overflow:hidden;backdrop-filter:blur(18px)}
.guest-card .guest-peek{position:absolute;top:-16px;right:-14px;width:150px;opacity:.5;transform:rotate(8deg);pointer-events:none}
.guest-card .eyebrow{margin-bottom:14px}
.guest-card h2{font-size:clamp(26px,5vw,34px);font-weight:800;line-height:1.25;margin:0 0 10px}
.guest-card h2 b{color:var(--cyan)}
.guest-card .guest-lead{color:var(--muted);font-size:14px;line-height:1.8;margin:0 auto 22px;max-width:420px}
.guest-qr{width:190px;height:190px;margin:0 auto 14px;border:1px dashed var(--line-strong);border-radius:20px;display:flex;align-items:center;justify-content:center;background:rgba(207,224,255,.05);overflow:hidden}
.guest-qr img{width:100%;height:100%;object-fit:contain}
.guest-qr .qr-holder{color:var(--faint);font-size:12px;line-height:1.9;padding:10px;text-align:center}
.guest-note{color:var(--faint);font-size:12px;line-height:1.9;margin:6px 0 0}
.guest-steps{display:flex;flex-direction:column;gap:8px;max-width:360px;margin:24px auto 0;text-align:left}
.guest-steps span{display:flex;gap:10px;align-items:baseline;color:var(--muted);font-size:13px;line-height:1.7}
.guest-steps span i{font-style:normal;color:var(--cyan);font-weight:700;font-size:12px;letter-spacing:.1em}
.guest-steps span b{color:var(--text);font-weight:600}

/* ===== 档位分段控件（档案库内，玻璃风；T41：三等分撑满一行） ===== */
.tier-seg{display:flex;gap:8px;margin:16px 0 18px}
.tier-seg button{flex:1;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:12px;padding:10px 6px;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:all .22s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tier-seg button.is-active{background:var(--text);color:#07080b;border-color:var(--text)}
/* T41：单色线条锁（取代彩色 emoji 锁），仅未解锁胶囊显示 */
.tier-seg .lock-glyph{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.tier-seg button.is-active .lock-glyph{opacity:.6}

/* ===== 会员面板/等级地图：「已达成」低调绿（当前=蓝高亮不变） ===== */
.tier-row.is-done{opacity:.8}
.tier-row.is-done em{font-style:normal;color:var(--ok,#3ecf8e);border-color:rgba(62,207,142,.35)}
.level-card.is-done em{font-style:normal;color:var(--ok,#3ecf8e);border-color:rgba(62,207,142,.35)}
.level-card.is-done{opacity:.85}

/* ===== 锁定档：预览标题卡 + 锁定覆盖层 ===== */
/* 预览稿隐藏了档案库的 .poster-info（它只展示图片）；锁定预览卡无图，必须恢复文字 */
.poster-card.is-teaser{display:flex;flex-direction:column;justify-content:center;min-height:96px;padding:12px 14px;cursor:default}
.poster-card.is-teaser .poster-info{display:grid}
.poster-card.is-teaser .poster-info b{color:var(--muted);white-space:normal;font-size:12px;line-height:1.5}
.poster-card.is-teaser .poster-info span{color:var(--faint)}
.lock-note{grid-column:1/-1;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px 22px;text-align:center;backdrop-filter:blur(12px)}
.lock-note .lock-ico{font-size:26px;display:block;margin-bottom:10px;filter:grayscale(1) brightness(1.6)}
.lock-note b{display:block;font-size:15px;margin-bottom:6px;letter-spacing:.02em}
.lock-note span{display:block;color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:14px}
.lock-note .primary-button{min-width:220px}

/* ===== 横幅（到期/续期/同步提示，玻璃风） ===== */
.banner{font-size:13px;line-height:1.7;border-radius:14px;padding:11px 14px;margin-top:14px;border:1px solid var(--line);background:var(--panel);color:var(--muted);backdrop-filter:blur(10px)}
.banner.warn{border-color:rgba(255,196,161,.32);color:#ffc7a1;background:rgba(255,138,76,.08)}
.banner.info{border-color:rgba(142,233,255,.3);color:var(--cyan);background:rgba(142,233,255,.07)}
.banner b{font-weight:700}

/* ===== 弹窗降级（老 webview 无 <dialog>.showModal 时用 .is-fallback-open） ===== */
dialog.poster-dialog,dialog.guide-dialog{border:none;padding:0;background:transparent;color:inherit}
dialog.poster-dialog::backdrop,dialog.guide-dialog::backdrop{background:rgba(3,4,7,.78);backdrop-filter:blur(8px)}
dialog.poster-dialog.is-fallback-open,dialog.guide-dialog.is-fallback-open{display:flex;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;background:rgba(3,4,7,.82)}
dialog.poster-dialog.is-fallback-open::backdrop,dialog.guide-dialog.is-fallback-open::backdrop{display:none}

/* ===== 非微信环境提示条 ===== */
.env-note{max-width:660px;margin:18px auto 0;border:1px solid rgba(255,196,161,.3);color:#ffc7a1;background:rgba(255,138,76,.07);font-size:12px;line-height:1.7;border-radius:14px;padding:10px 14px;text-align:center}

/* ===== 会员页状态补充 ===== */
.level-card em{font-style:normal}
.level-card .lv-cond{color:var(--faint);font-size:11px;letter-spacing:.14em;margin-top:14px;display:block}
.progress-card .banner{margin-top:18px}
.progress-card .renew-line{color:var(--faint);font-size:12px;line-height:1.9;margin-top:12px}
.progress-card .renew-line b{color:var(--cyan);font-weight:600}

/* ===== 邀请页选海报按钮 ===== */
.choice.is-active{outline:1px solid var(--cyan)}
.control-row .choice{cursor:pointer}

/* ===== 移动端微调（预览稿缺的生产区块） ===== */
@media (max-width:760px){
  .guest-wrap{padding-top:22px}
  .guest-card{padding:32px 20px 28px}
  .guest-card .guest-peek{width:118px;opacity:.4}
  .gate-card{padding:36px 24px}
  .tier-seg button{padding:8px 14px;font-size:12px}
}
