.badge{border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);font-size:var(--font-size-caption);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:700;line-height:1.4;display:inline-flex}.badge-xs{padding:1px 6px;font-size:10px}.badge-sm{padding:2px 8px;font-size:11px}.badge-lg{font-size:var(--font-size-small);padding:5px 14px}.badge-role{background:var(--app-bg-highlight)}.badge-role-root,.badge-role-owner{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-on-accent)}.badge-role-trainer{background:color-mix(in srgb, var(--app-accent) 12%, var(--app-surface));border-color:color-mix(in srgb, var(--app-accent) 35%, var(--app-border));color:var(--app-accent)}.badge-role-athlete{background:color-mix(in srgb, var(--app-active) 18%, var(--app-surface));border-color:color-mix(in srgb, var(--app-active) 45%, var(--app-border));color:color-mix(in srgb, var(--app-active) 55%, var(--app-text))}.badge-status-requested,.badge-status-pending{background:color-mix(in srgb, var(--app-warning) 16%, var(--app-surface));border-color:color-mix(in srgb, var(--app-warning) 40%, var(--app-border));color:color-mix(in srgb, var(--app-warning) 70%, var(--app-text))}.badge-status-confirmed,.badge-status-approved,.badge-status-active,.badge-status-verified{background:color-mix(in srgb, var(--app-success) 14%, var(--app-surface));border-color:color-mix(in srgb, var(--app-success) 40%, var(--app-border));color:color-mix(in srgb, var(--app-success) 75%, var(--app-text))}.badge-status-completed{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-on-accent)}.badge-status-canceled,.badge-status-rejected,.badge-status-expired{background:color-mix(in srgb, var(--app-error) 10%, var(--app-surface));border-color:color-mix(in srgb, var(--app-error) 35%, var(--app-border));color:var(--app-error)}.badge-status-unverified,.badge-status-used{color:var(--app-text-dim);border-style:dashed}.badge-info{background:var(--app-bg-highlight);color:var(--app-text)}.badge-info-accent{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-on-accent)}.badge-invite-needed{background:var(--app-accent);border-color:var(--app-accent);width:1.2rem;height:1.2rem;color:var(--app-on-accent);cursor:help;border-radius:50%;justify-content:center;margin-left:.5rem;padding:0}.badge-email{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-on-accent);font-weight:600}
