.pl-referrals { max-width: 1100px; }
.pl-referral-intro, .pl-referral-list { padding: 24px; border: var(--pl-border); border-radius: var(--pl-radius); background: var(--reset-panel); }
.pl-referral-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.pl-referral-intro h2 { margin: 6px 0 12px; font-size: 1.8rem; }
.pl-referral-intro p { margin: 0; color: var(--reset-muted); line-height: 1.6; max-width: 65ch; }
.pl-referral-prize { display: flex; align-items: center; gap: 10px; font-size: 2.2rem; color: var(--reset-cream); white-space: nowrap; }
.pl-referral-link { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.pl-referral-link label { display: grid; gap: 8px; flex: 1 1 260px; min-width: 0; font-size: .9rem; font-weight: 700; }
.pl-referral-link input { width: 100%; min-width: 0; height: 48px; padding: 12px; border: 1px solid var(--reset-line-strong); border-radius: 10px; background: var(--reset-bg); color: var(--reset-cream); font-size: .9rem; }
.pl-referral-link .pl-btn { min-height: 48px; }
.pl-referral-link :focus-visible { outline: 3px solid var(--pl-ember); outline-offset: 3px; }
.pl-referral-link button:disabled { opacity: .5; cursor: wait; }
.pl-referral-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.pl-referral-stats div { padding: 4px 12px; border-left: 3px solid var(--pl-ember); }
.pl-referral-stats b { display: block; font-size: 1.7rem; }
.pl-referral-stats span { color: var(--reset-muted); font-size: .9rem; }
.pl-referral-list h3 { font-size: 1.25rem; margin: 0; }
.pl-referral-list header { display: flex; gap: 16px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.pl-referral-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(120px,200px) minmax(140px,180px); gap: 20px; align-items: center; padding: 18px 0; border-top: 1px solid var(--reset-line); }
.pl-referral-row strong { display: block; overflow-wrap: anywhere; }
.pl-referral-row small { color: var(--reset-muted); }
.pl-referral-progress { display: grid; gap: 6px; font-size: .85rem; }
.pl-referral-progress progress { width: 100%; height: 8px; accent-color: var(--pl-ember); }
.pl-referral-status { font-size: .9rem; text-align: right; }
.pl-referral-status.is-rewarded { color: var(--reset-ink-ok, var(--reset-cream)); font-weight: 700; }
.pl-referral-empty, .pl-referral-note { color: var(--reset-muted); line-height: 1.6; }
.pl-referral-notice { min-height: 1.5em; margin: 12px 0; font-size: .9rem; color: var(--reset-cream); }
.pl-referral-notice:empty { margin: 0; min-height: 0; }
.pl-referral-invitation { padding: 14px 0; color: var(--reset-muted); line-height: 1.6; }
.pl-referral-more { margin-top: 16px; }
@media (max-width: 640px) {
  .pl-referral-intro, .pl-referral-list { padding: 18px; }
  .pl-referral-intro { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .pl-referral-intro h2 { font-size: 1.5rem; }
  .pl-referral-prize { font-size: 2rem; }
  .pl-referral-link button { flex: 1 1 120px; }
  .pl-referral-row { grid-template-columns: minmax(0,1fr) minmax(90px,120px); gap: 10px; }
  .pl-referral-status { grid-column: 1 / -1; text-align: left; }
  .pl-referral-stats { gap: 6px; }
  .pl-referral-stats div { padding: 2px 8px; }
  .pl-referral-stats b { font-size: 1.35rem; }
  .pl-referral-stats span { font-size: .8rem; }
}
