.card{
  padding: var(--s-5);
}

.card__title{
  margin:0 0 var(--s-2);
}

.card__subtitle{
  margin:0 0 var(--s-4);
  color: var(--muted);
}

/* ── Role badges ── */
.badge{
  display: inline-block;
  font-size: .75rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  line-height: 1.4;
}
.badge--owner   { background: rgba(0,255,135,.12);   color: #00FF87; }
.badge--staff   { background: rgba(255,255,255,.06); color: rgba(255,255,255,.45); }
.badge--athlete { background: rgba(0,255,135,.08);   color: rgba(0,255,135,.7); }

.flash{
  padding: var(--s-3);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface);
  border-left: 4px solid var(--accent);
}

/* Toast de éxito */
@keyframes toast-in  {
  from { opacity:0; transform: translateX(-50%) translateY(-16px) scale(.96); }
  to   { opacity:1; transform: translateX(-50%) translateY(0)     scale(1);   }
}
@keyframes toast-out {
  from { opacity:1; transform: translateX(-50%) translateY(0)     scale(1);   }
  to   { opacity:0; transform: translateX(-50%) translateY(-10px) scale(.96); }
}

.toast {
  position: fixed;
  top: 28px;
  left: 50%;
  z-index: 9999;
  background: rgba(10, 16, 30, 0.92);
  color: #60c8ff;
  font-weight: 500;
  font-size: .92rem;
  padding: 13px 28px;
  border-radius: 40px;
  border: 1px solid rgba(96, 200, 255, 0.25);
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  white-space: nowrap;
  text-align: center;
  animation: toast-in .35s cubic-bezier(.22,1,.36,1) forwards;
  pointer-events: none;
  backdrop-filter: blur(12px);
}