/* ═══════════════════════════════════════════════════════════════════════════════
   16-empty.css — 业主 2026-10-12
   ① 全站「暂无记录」新样式：发光圆章图标 + 一行字（替换旧系统的虚线框 / 灰条）。
   ② 客户首页：粉色焦点卡右侧的会员卡。
   ③ 会员卡里「限无畏契约」标签在粉 / 金 / 深色卡面上的配色。
   ④ 个人资料头卡：UID 胶囊和身份胶囊同一行。
   不进 @layer；前缀 :is(#xy-empty-root, body) 让特异度高过各页面旧规则，不用 !important。
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── ① 空状态 ─────────────────────────────────────────────────────────────── */
:is(#xy-empty-root, body) .xy-empty {
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 14px;
  width: auto; max-width: none; min-width: 0; min-height: 168px; margin: 0; padding: 30px 16px 26px;
  border: 0; border-radius: var(--r-lg, 18px);
  background:
    radial-gradient(60% 70% at 50% 38%, rgba(232, 121, 170, .10), transparent 70%),
    linear-gradient(180deg, rgba(255, 238, 247, .025), transparent);
  box-shadow: inset 0 0 0 1px rgba(255, 238, 247, .05);
  color: var(--text-3); font-size: 13.5px; line-height: 1.5; text-align: center;
  place-items: center; animation: xy-empty-in .5s var(--ease-out, ease-out) both;
}
/* 星点：两颗小亮点慢慢闪，替代旧的指示点 / 图标 */
:is(#xy-empty-root, body) .xy-empty::before {
  content: ""; position: absolute; inset: 0; z-index: -1; flex: none; width: auto; height: auto; margin: 0; border-radius: inherit;
  background:
    radial-gradient(circle at 34% 30%, rgba(255, 214, 234, .55) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 67% 24%, rgba(255, 214, 234, .45) 0 1px, transparent 2px),
    radial-gradient(circle at 62% 64%, rgba(255, 214, 234, .35) 0 1px, transparent 2px);
  box-shadow: none; pointer-events: none; animation: xy-empty-twinkle 3.6s ease-in-out infinite;
}
:is(#xy-empty-root, body) .xy-empty::after { content: none; }
:is(#xy-empty-root, body) .xy-empty > .xy-empty-mark {
  position: relative; display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(160deg, rgba(255, 214, 234, .16), rgba(255, 214, 234, .03) 60%), var(--ink-850, #17121a);
  box-shadow:
    inset 0 0 0 1px rgba(244, 179, 207, .30),
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 10px 28px -12px rgba(232, 121, 170, .55);
  color: var(--sakura-300, #f4b3cf);
}
:is(#xy-empty-root, body) .xy-empty > .xy-empty-mark::before,
:is(#xy-empty-root, body) .xy-empty > .xy-empty-mark::after {
  content: ""; position: absolute; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(244, 179, 207, .16); pointer-events: none;
  animation: xy-empty-halo 3.2s ease-in-out infinite;
}
:is(#xy-empty-root, body) .xy-empty > .xy-empty-mark::before { inset: -12px; }
:is(#xy-empty-root, body) .xy-empty > .xy-empty-mark::after { inset: -26px; opacity: .5; animation-delay: .4s; }
:is(#xy-empty-root, body) .xy-empty > .xy-empty-mark > svg {
  display: block; width: 22px; height: 22px; margin: 0; stroke-width: 1.6; color: inherit; opacity: 1;
}
:is(#xy-empty-root, body) .xy-empty > .xy-empty-text {
  display: block; flex: none; width: auto; max-width: 100%; margin: 0;
  color: var(--text-2); font-size: 13.5px; font-weight: 500; letter-spacing: .06em; text-align: center; overflow-wrap: anywhere;
}
:is(#xy-empty-root, body) .xy-empty > :is(button, .ghost, .secondary) {
  height: 32px; min-height: 32px; margin: 2px 0 0; padding: 0 14px; font-size: 12.5px;
}
/* 表格行、弹窗、选择器里的空状态矮一点 */
:is(#xy-empty-root, body) :is(.pg-empty-row, .drawer, .picker, .dd-empty-wrap, td) .xy-empty { min-height: 140px; padding: 22px 14px 20px; }
/* 首页 / 页面级读取失败仍走原来的玫瑰色提示；只换「没有记录」 */
:is(#xy-empty-root, body) .xy-empty[data-tone="error"] > .xy-empty-text { color: var(--rose-400); }

@keyframes xy-empty-in { from { opacity: 0; transform: translateY(6px); } }
@keyframes xy-empty-halo { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.06); opacity: .35; } }
@keyframes xy-empty-twinkle { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

@media (max-width: 760px) {
  :is(#xy-empty-root, body) .xy-empty { min-height: 140px; padding: 24px 14px 20px; gap: 12px; }
  :is(#xy-empty-root, body) .xy-empty > .xy-empty-mark { width: 50px; height: 50px; }
  :is(#xy-empty-root, body) .xy-empty > .xy-empty-mark::after { inset: -22px; }
}

/* ── ② 客户首页：焦点卡 + 会员卡 ─────────────────────────────────────────── */
.dashboard-lead.dashboard-lead-member { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: stretch; }
.dashboard-member { display: flex; min-width: 0; }
.dashboard-member > .mv-card.mv-card-dash {
  flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; min-height: 300px; padding: 28px 30px 26px;
  border-radius: var(--r-xl, 24px); transition: transform .35s var(--ease-out, ease-out), box-shadow .35s var(--ease-out, ease-out);
}
/* 卡面右侧一枚大号宝石暗纹，颜色跟随卡面文字色，普通卡也不空 */
.dashboard-member > .mv-card.mv-card-dash::after {
  content: ""; position: absolute; z-index: -1; right: -6%; top: 46%; width: 44%; aspect-ratio: 1; transform: translateY(-50%) rotate(-10deg);
  background: currentColor; opacity: .075; pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.7' stroke-linejoin='round'%3E%3Cpath d='M6 3h12l4 6-10 13L2 9Z'/%3E%3Cpath d='M11 3 8 9l4 13 4-13-3-6'/%3E%3Cpath d='M2 9h20'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.7' stroke-linejoin='round'%3E%3Cpath d='M6 3h12l4 6-10 13L2 9Z'/%3E%3Cpath d='M11 3 8 9l4 13 4-13-3-6'/%3E%3Cpath d='M2 9h20'/%3E%3C/svg%3E") center / contain no-repeat;
}
.dashboard-member > .mv-card.mv-card-dash.mv-none::after { opacity: .06; }
.dashboard-member > .mv-card.mv-card-dash .mv-card-name { margin-top: 10px; }
.dashboard-member > .mv-card.mv-card-dash .mv-card-facts { margin-top: auto; }
.dashboard-member > .mv-card.mv-card-dash:hover { transform: translateY(-3px); }
.dashboard-member > .mv-card.mv-card-dash:has(.mv-card-hit:focus-visible) { outline: 2px solid var(--sakura-300, #f4b3cf); outline-offset: 3px; }
.mv-card > .mv-card-hit {
  position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0;
  border: 0; border-radius: inherit; background: transparent; box-shadow: none; cursor: pointer;
}
.mv-card > .mv-card-hit:hover, .mv-card > .mv-card-hit:focus { background: transparent; box-shadow: none; outline: none; }
.dashboard-orders { margin-top: var(--s-6, 24px); }
@media (max-width: 1100px) {
  .dashboard-lead.dashboard-lead-member { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .dashboard-lead.dashboard-lead-member { grid-template-columns: minmax(0, 1fr); }
  .dashboard-member > .mv-card.mv-card-dash { min-height: 0; padding: 22px 20px 20px; border-radius: 20px; }
  .dashboard-orders { margin-top: 18px; }
}

/* ── ③ 会员卡里的「限无畏契约」 ─────────────────────────────────────────── */
.mv-card-facts dt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.mv-card-facts dt > .mv-limit { height: 18px; padding: 0 6px; font-size: 10.5px; }
.mv-card.mv-vip .mv-card-facts .mv-limit { color: #7a1f4a; background: rgba(255, 255, 255, .58); box-shadow: inset 0 0 0 1px rgba(122, 31, 74, .4); font-weight: 700; }
.mv-card.mv-svip .mv-card-facts .mv-limit { font-weight: 700; color: #6a420b; background: rgba(255, 250, 236, .6); box-shadow: inset 0 0 0 1px rgba(122, 79, 18, .35); }
.mv-card.mv-premier .mv-card-facts .mv-limit { color: #f3dca6; background: rgba(214, 178, 106, .1); box-shadow: inset 0 0 0 1px rgba(214, 178, 106, .5); }
/* 道具列表、权益行里的标签 */
:is(.xy-perks-name, .identity-customer-row-head strong, .customer-benefit-copy strong) > .mv-limit { margin-left: 8px; height: 18px; padding: 0 6px; font-size: 10.5px; vertical-align: 1px; }

/* ── ④ 个人资料头卡：UID 胶囊 + 身份胶囊同一行 ──────────────────────────── */
.xy-pg.pg-profile-page .pg-hero .pg-hero-copy > .profile-uid-line {
  display: inline-flex; align-items: center; gap: 6px; height: 22px; margin: 0; padding: 0 10px;
  border-radius: var(--r-pill, 999px); background: rgba(58, 20, 40, .14); color: var(--focus-ink);
  font-size: 12px; line-height: 1;
}
.xy-pg.pg-profile-page .pg-hero .pg-hero-copy > .profile-uid-line > span { font: 700 10.5px/1 var(--font-num, inherit); letter-spacing: .16em; color: var(--focus-ink-2); }
.xy-pg.pg-profile-page .pg-hero .pg-hero-copy > .profile-uid-line > b { font: 700 13px/1 var(--font-num, inherit); letter-spacing: .04em; }
.xy-pg.pg-profile-page .pg-hero .pg-hero-copy > .profile-facts { flex: 0 1 auto; align-items: center; }
/* UID、身份、会员徽章一样高（22），一条线上 */
.xy-pg.pg-profile-page .pg-hero .profile-facts > .mv-badge { height: 22px; line-height: 22px; }
.xy-pg.pg-profile-page .pg-hero .profile-facts > .mv-badge > .mv-badge-pre { line-height: 22px; }
/* 粉色头卡上：VIP 徽章换深莓底，普通和其它胶囊同款；SVIP / 至尊自带金、紫卡面不用改 */
.xy-pg.pg-profile-page .pg-hero .profile-facts > .mv-badge.mv-vip { color: #ffe3f0; background: linear-gradient(135deg, #5a2140, #8c3d63); box-shadow: inset 0 0 0 1px rgba(255, 214, 234, .35), 0 4px 12px -4px rgba(90, 33, 64, .5); }
.xy-pg.pg-profile-page .pg-hero .profile-facts > .mv-badge.mv-none { height: 22px; padding: 0 10px; color: var(--sakura-700); background: rgba(255, 255, 255, .6); box-shadow: none; font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
  :is(#xy-empty-root, body) .xy-empty,
  :is(#xy-empty-root, body) .xy-empty::before,
  :is(#xy-empty-root, body) .xy-empty > .xy-empty-mark::before,
  :is(#xy-empty-root, body) .xy-empty > .xy-empty-mark::after { animation: none; }
  .dashboard-member > .mv-card.mv-card-dash, .dashboard-member > .mv-card.mv-card-dash:hover { transition: none; transform: none; }
}
