.affiliate-overlay {
  position: absolute;
  z-index: 12;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 18px;
  background: linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.76));
  opacity: 0;
  transition: opacity .2s ease;
}
.affiliate-overlay[hidden] { display: none; }
.affiliate-overlay.is-visible { opacity: 1; }
.affiliate-overlay--center { align-items: center; background: rgba(0,0,0,.62); }
.affiliate-card { width: min(100%,540px); padding: 15px; color: #f6f6f7; background: rgba(18,18,21,.96); border: 1px solid rgba(255,255,255,.13); border-radius: 15px; box-shadow: 0 22px 60px rgba(0,0,0,.52); backdrop-filter: blur(18px); transform: translateY(12px); transition: transform .22s ease; }
.affiliate-overlay.is-visible .affiliate-card { transform: none; }
.affiliate-overlay--user .affiliate-card { border-color: rgba(255,177,92,.3); }
.affiliate-overlay--admin .affiliate-card { border-color: rgba(255,59,48,.32); }
.affiliate-card__top { display: grid; grid-template-columns: 38px minmax(0,1fr) 30px; gap: 10px; align-items: center; }
.affiliate-card__icon { display: grid; place-items: center; width: 38px; height: 38px; color: #ffb15c; background: rgba(255,177,92,.1); border-radius: 10px; }
.affiliate-overlay--admin .affiliate-card__icon { color: #ff655d; background: rgba(255,59,48,.11); }
.affiliate-card__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.affiliate-card__top > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.affiliate-card__top small { color: #777780; font-size: 8px; font-weight: 800; letter-spacing: 1.3px; }
.affiliate-card__top strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.affiliate-card__top > button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; color: #8e8e96; font-size: 21px; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.affiliate-card__top > button:hover { color: white; background: #29292e; }
.affiliate-card__link { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 13px; padding: 13px 14px; background: #232327; border: 1px solid #34343a; border-radius: 10px; transition: background .2s,border .2s,transform .2s; }
.affiliate-card__link:hover { background: #29292e; border-color: #4b4b53; transform: translateY(-1px); }
.affiliate-card__link > span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.affiliate-card__link strong { font-size: 12px; }
.affiliate-card__link small { overflow: hidden; color: #8c8c94; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.affiliate-card__link > svg { flex: 0 0 auto; width: 20px; height: 20px; color: #ffb15c; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.affiliate-overlay--admin .affiliate-card__link > svg { color: #ff655d; }
.affiliate-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; }
.affiliate-card__footer > span { color: #777780; font-size: 9px; }
.affiliate-card__footer b { color: white; }
.affiliate-card__footer button { padding: 7px 10px; color: #d8d8dc; font-size: 9px; font-weight: 700; background: transparent; border: 1px solid #39393f; border-radius: 7px; cursor: pointer; }
.affiliate-card__footer button:hover { color: white; background: #29292e; }

@media (max-width: 600px) {
  .affiliate-overlay { align-items: flex-end; padding: 10px; }
  .affiliate-card { padding: 12px; border-radius: 12px; }
  .affiliate-card__top { grid-template-columns: 34px minmax(0,1fr) 28px; gap: 8px; }
  .affiliate-card__icon { width: 34px; height: 34px; }
  .affiliate-card__link { margin-top: 10px; padding: 10px 11px; }
  .affiliate-card__footer { margin-top: 8px; }
  .affiliate-card__footer > span { font-size: 8px; }
}

@media (max-width: 380px) {
  .affiliate-card__top small { display: none; }
  .affiliate-card__footer > span { display: none; }
  .affiliate-card__footer { justify-content: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  .affiliate-overlay, .affiliate-card { transition: none; }
}
