/* mSamex — Referral Dashboard (earnings + friends' progress + share card) */
.refd{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.refd .mono,.refd code{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.refd-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:stretch}
.refd-d .refd-strip{grid-template-columns:repeat(3,220px) auto}
.refd-chip{background:var(--elevated,#14181E);border:1px solid var(--line,#252A33);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.refd-chip .l{font-size:11px;color:var(--muted,#8B95A3)}
.refd-chip strong{font-size:17px}
.refd-chip strong.up{color:var(--mint,#00D68F)}
.refd-sub{font-size:12px;color:var(--muted,#8B95A3);margin:2px 0 0}
.refd-sharebtn{align-self:center;background:var(--mint,#00D68F);color:#0B0E11;border:none;border-radius:8px;font-weight:600;font-size:13px;padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.refd-sharebtn:hover{filter:brightness(1.08)}
.refd-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.refd-m .refd-cols,.refd-m .refd-strip{grid-template-columns:1fr 1fr}
.refd-m .refd-cols{grid-template-columns:1fr}
.refd-card{background:var(--card,#101419);border:1px solid var(--line,#252A33);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;height:620px}
.refd-body{flex:1;min-height:0;overflow:hidden}
.refd-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:9px;border-top:1px solid var(--line,#252A33)}
.refd-pager button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line,#252A33);background:var(--elevated,#14181E);color:var(--snow,#EDF1F5);cursor:pointer;font-size:15px;line-height:1}
.refd-pager button:hover:not(:disabled){border-color:color-mix(in oklab,var(--mint,#00D68F) 50%,transparent)}
.refd-pager button:disabled{opacity:.35;cursor:default}
.refd-pager span{font-size:11px;color:var(--muted,#8B95A3)}
.refd-card>.hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line,#252A33)}
.refd-card>.hd h3{margin:0;font-size:14px}
.refd-card>.hd .n{font-size:11px;color:var(--muted,#8B95A3)}
.refd-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line,#252A33)}
.refd-row:last-child{border-bottom:none}
.refd-row .amt{font-weight:600;color:var(--mint,#00D68F);min-width:96px;direction:ltr;text-align:left}
.refd-row .who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.refd-row .who code{font-size:12px;color:var(--snow,#EDF1F5);direction:ltr;text-align:left;overflow:hidden;text-overflow:ellipsis}
.refd-row .who small{font-size:11px;color:var(--muted,#8B95A3)}
.refd-row .sh{background:none;border:none;color:var(--muted,#8B95A3);cursor:pointer;padding:4px;border-radius:6px;line-height:0}
.refd-row .sh:hover{color:var(--mint,#00D68F);background:var(--elevated,#14181E)}
.refd-row.pend{opacity:.55}
.refd-badge{font-size:10px;letter-spacing:.4px;text-transform:uppercase;border:1px solid var(--line,#252A33);color:var(--muted,#8B95A3);border-radius:5px;padding:2px 7px;white-space:nowrap}
.refd-badge.mi{color:var(--mint,#00D68F);border-color:color-mix(in oklab,var(--mint,#00D68F) 40%,transparent)}
.refd-clock{display:inline-block;vertical-align:-2px;margin-left:5px}
.refd-more{display:block;width:100%;background:none;border:none;border-top:1px solid var(--line,#252A33);color:var(--muted,#8B95A3);font-size:12px;padding:11px;cursor:pointer}
.refd-more:hover{color:var(--snow,#EDF1F5)}
.refd-empty{padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.refd-empty p{margin:0;font-size:13px;color:var(--muted,#8B95A3);max-width:260px}
.refd-skel{height:14px;border-radius:5px;background:linear-gradient(90deg,var(--elevated,#14181E) 25%,var(--line,#252A33) 50%,var(--elevated,#14181E) 75%);background-size:200% 100%;animation:refdsk 1.2s linear infinite;margin:13px 16px}
@keyframes refdsk{to{background-position:-200% 0}}
.refd-tools{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line,#252A33);align-items:center;flex-wrap:wrap}
.refd-search{flex:1;min-width:110px;background:var(--elevated,#14181E);border:1px solid var(--line,#252A33);border-radius:8px;color:var(--snow,#EDF1F5);font:inherit;font-size:12px;padding:7px 10px;outline:none}
.refd-search:focus{border-color:color-mix(in oklab,var(--mint,#00D68F) 50%,transparent)}
.refd-fchips{display:flex;gap:6px}
.refd-fchip{background:none;border:1px solid var(--line,#252A33);color:var(--muted,#8B95A3);border-radius:99px;font-size:11px;padding:5px 10px;cursor:pointer}
.refd-fchip.active{color:#0B0E11;background:var(--mint,#00D68F);border-color:var(--mint,#00D68F);font-weight:600}
.refd-inv{padding:14px 16px;border-bottom:1px solid var(--line,#252A33)}
.refd-inv:last-child{border-bottom:none}
.refd-inv.q{background:color-mix(in oklab,var(--mint,#00D68F) 5%,transparent)}
.refd-inv .top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.refd-inv .top code{font-size:13px;direction:ltr}
.refd-inv .top small{font-size:11px;color:var(--muted,#8B95A3)}
.refd-earned{font-size:12px;font-weight:600;color:var(--mint,#00D68F);white-space:nowrap}
.refd-steps{display:flex;align-items:center;direction:ltr}
.refd-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line,#252A33);background:var(--elevated,#14181E);display:flex;align-items:center;justify-content:center;flex:none;color:#0B0E11;font-size:11px;font-weight:700}
.refd-dot.done{background:var(--mint,#00D68F);border-color:var(--mint,#00D68F)}
.refd-dot.cur{border-color:var(--mint,#00D68F);box-shadow:0 0 0 3px color-mix(in oklab,var(--mint,#00D68F) 22%,transparent)}
.refd-conn{flex:1;height:1.5px;background:var(--line,#252A33)}
.refd-conn.done{background:var(--mint,#00D68F)}
.refd-steplbl{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--muted,#8B95A3);gap:8px}
.refd-steplbl .cur{color:var(--snow,#EDF1F5);font-weight:600}
.refd-steplbl .prog{color:var(--mint,#00D68F)}
.refd-err{padding:24px;text-align:center;font-size:13px;color:var(--muted,#8B95A3)}
.refd-err button{margin-top:10px;background:var(--elevated,#14181E);border:1px solid var(--line,#252A33);color:var(--snow,#EDF1F5);border-radius:8px;padding:8px 14px;cursor:pointer}
.refd-modal-ov{position:fixed;inset:0;background:rgba(4,6,8,.7);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.refd-modal{background:var(--card,#101419);border:1px solid var(--line,#252A33);border-radius:14px;max-width:420px;width:100%;padding:18px;display:flex;flex-direction:column;gap:14px}
.refd-modal h3{margin:0;font-size:15px}
.refd-modal img,.refd-modal canvas{width:100%;border-radius:10px;border:1px solid var(--line,#252A33)}
.refd-modal-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.refd-modal-acts button{border-radius:8px;padding:11px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line,#252A33);background:var(--elevated,#14181E);color:var(--snow,#EDF1F5)}
.refd-modal-acts button.pri{background:var(--mint,#00D68F);border-color:var(--mint,#00D68F);color:#0B0E11}
@media (max-width:720px){.refd-strip{grid-template-columns:1fr 1fr}.refd-sharebtn{grid-column:1/-1}.refd-cols{grid-template-columns:1fr}}

/* QR tile on the dedicated referrals page: fixed square, white quiet-zone,
   inner svg/img scales to fit (ctx.qr() emits an intrinsic-size svg). */
.refd-qr{background:#fff;padding:8px;border-radius:10px;width:116px;height:116px;flex:none;line-height:0;box-sizing:border-box}
.refd-qr svg,.refd-qr img,.refd-qr canvas{width:100% !important;height:100% !important;display:block}
