/* E · Invite/Affiliate program shared styles */
.e-inv-hero { background: linear-gradient(135deg, #5B3FE6 0%, #9B6DFF 60%, #FF6B4A 100%); color: #fff; border-radius: var(--radius-2xl); padding: 32px 36px; position: relative; overflow: hidden; margin-bottom: 18px; display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; }
.e-inv-hero::before { content: ""; position: absolute; top: -60px; right: -60px; width: 240px; height: 240px; background: rgba(255,210,63,.20); border-radius: 50%; }
.e-inv-hero::after { content: ""; position: absolute; bottom: -80px; left: 20%; width: 200px; height: 200px; background: rgba(255,255,255,.10); border-radius: 50%; }
.e-inv-hero__body { position: relative; z-index: 1; }
.e-inv-hero__tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.e-inv-hero__t { font-family: var(--font-display); font-weight: 900; font-size: 38px; letter-spacing: -0.025em; line-height: 1.05; margin: 14px 0 8px; color: #fff; }
.e-inv-hero__t em { font-style: normal; background: var(--color-sticker-yellow); color: var(--color-text); padding: 0 8px; border-radius: 6px; }
.e-inv-hero__s { color: rgba(255,255,255,.75); font-size: 14px; line-height: 1.55; max-width: 480px; }
.e-inv-hero__cta-row { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.e-inv-hero__cta-row .e-btn { padding: 12px 20px; font-size: 14px; }
.e-inv-hero__code { background: rgba(255,255,255,.12); border: 1px dashed rgba(255,255,255,.4); border-radius: 14px; padding: 14px 18px; display: flex; align-items: center; gap: 10px; backdrop-filter: blur(8px); }
.e-inv-hero__code__k { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; opacity: 0.7; }
.e-inv-hero__code__v { font-family: var(--font-display); font-size: 22px; font-weight: 900; color: var(--color-sticker-yellow); letter-spacing: 0.03em; font-variant-numeric: tabular-nums; }
.e-inv-hero__code__btn { background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.25); padding: 6px 12px; border-radius: 8px; font-size: 11px; font-weight: 700; cursor: pointer; }

.e-inv-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
@media (max-width: 720px) { .e-inv-stats { grid-template-columns: repeat(2, 1fr); } .e-inv-hero { grid-template-columns: 1fr; padding: 22px; } .e-inv-hero__t { font-size: 28px; } }
.e-inv-stat { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 16px 18px; }
.e-inv-stat__k { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-text-muted); }
.e-inv-stat__v { font-family: var(--font-display); font-size: 24px; font-weight: 900; color: var(--color-text); letter-spacing: -0.015em; line-height: 1; margin-top: 4px; font-variant-numeric: tabular-nums; }
.e-inv-stat__s { font-size: 11px; color: var(--color-text-muted); margin-top: 4px; }
.e-inv-stat--accent .e-inv-stat__v { color: var(--color-primary-fill); }
.e-inv-stat--cta .e-inv-stat__v { color: var(--color-cta); }
.e-inv-stat--violet { background: var(--color-secondary-soft); border-color: rgba(107,78,255,.25); }
.e-inv-stat--violet .e-inv-stat__v { color: var(--color-secondary); }

.e-inv-tabs { background: #fff; border: 1px solid var(--color-border); border-radius: 14px; padding: 4px; display: flex; gap: 4px; margin-bottom: 18px; overflow-x: auto; }
.e-inv-tabs a { padding: 10px 16px; border-radius: 10px; font-size: 13px; font-weight: 700; color: var(--color-text-muted); white-space: nowrap; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.e-inv-tabs a:hover { color: var(--color-text); background: var(--color-surface); }
.e-inv-tabs a.is-active { background: var(--color-text); color: #fff; }
.e-inv-tabs a .count { font-family: var(--font-mono); font-size: 10px; font-weight: 800; padding: 1px 7px; background: var(--color-surface); color: var(--color-text-muted); border-radius: 999px; }
.e-inv-tabs a.is-active .count { background: var(--color-secondary); color: #fff; }

.e-inv-tier { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 720px) { .e-inv-tier { grid-template-columns: 1fr; } }
.e-inv-tier__card { background: #fff; border: 1.5px solid var(--color-border); border-radius: var(--radius-xl); padding: 20px 22px; position: relative; }
.e-inv-tier__card.is-current { border-color: var(--color-secondary); background: linear-gradient(180deg, var(--color-secondary-soft), #fff 60%); box-shadow: 0 0 0 3px var(--color-secondary-soft); }
.e-inv-tier__badge { position: absolute; top: -10px; right: 16px; padding: 3px 10px; background: var(--color-secondary); color: #fff; font-family: var(--font-mono); font-size: 10px; font-weight: 800; letter-spacing: 0.04em; border-radius: 6px; }
.e-inv-tier__rank { font-family: var(--font-mono); font-size: 11px; color: var(--color-text-muted); font-weight: 800; letter-spacing: 0.06em; }
.e-inv-tier__name { font-family: var(--font-display); font-size: 20px; font-weight: 900; letter-spacing: -0.015em; margin: 4px 0 10px; }
.e-inv-tier__metric { font-family: var(--font-display); font-size: 32px; font-weight: 900; color: var(--color-cta); letter-spacing: -0.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.e-inv-tier__metric small { font-size: 14px; color: var(--color-text-muted); font-weight: 700; margin-left: 4px; }
.e-inv-tier__list { margin-top: 12px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.e-inv-tier__list li { font-size: 12px; color: var(--color-text-muted); display: flex; gap: 6px; line-height: 1.45; }
.e-inv-tier__list li::before { content: "✓"; color: var(--color-primary-fill); font-weight: 900; flex-shrink: 0; }

.e-share-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
@media (max-width: 720px) { .e-share-grid { grid-template-columns: repeat(3, 1fr); } }
.e-share { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 8px; background: #fff; border: 1px solid var(--color-border); border-radius: 12px; cursor: pointer; transition: all var(--duration-fast); text-decoration: none; color: inherit; }
.e-share:hover { transform: translateY(-2px); box-shadow: var(--shadow-card); border-color: var(--color-border-strong); }
.e-share__ic { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #fff; font-weight: 900; font-size: 16px; font-family: var(--font-display); }
.e-share__t { font-size: 11px; font-weight: 700; }

.e-invlist-row { display: grid; grid-template-columns: 40px 1fr auto auto auto; gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--color-border); align-items: center; }
.e-invlist-row:last-child { border-bottom: 0; }
.e-invlist-row__ava { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--color-primary), var(--color-primary-fill)); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 900; font-size: 14px; }
.e-invlist-row__name { font-size: 14px; font-weight: 700; }
.e-invlist-row__meta { font-size: 11px; color: var(--color-text-muted); margin-top: 3px; font-family: var(--font-mono); }
.e-invlist-row__st { font-family: var(--font-mono); font-size: 10px; padding: 3px 8px; border-radius: 999px; font-weight: 800; letter-spacing: 0.04em; }
.e-invlist-row__st--active { background: var(--color-primary-soft); color: var(--color-primary-fill); }
.e-invlist-row__st--pending { background: var(--color-warning-soft); color: var(--color-warning-foreground); border: 1px solid rgba(255,162,0,.3); }
.e-invlist-row__amt { font-family: var(--font-display); font-size: 16px; font-weight: 900; color: var(--color-primary-fill); font-variant-numeric: tabular-nums; min-width: 80px; text-align: right; }
@media (max-width: 720px) { .e-invlist-row { grid-template-columns: 40px 1fr auto; } .e-invlist-row__st, .e-invlist-row__amt { grid-column: 2 / -1; justify-self: end; } }
