.loyalty-admin { max-width: 1080px; }
.loyalty-tier { display: grid; grid-template-columns: minmax(130px, 1.4fr) minmax(130px, 1fr) minmax(90px, .7fr) minmax(130px, 1fr) auto; align-items: end; gap: .75rem; padding: .9rem 0; border-bottom: 1px solid var(--border); }
.loyalty-ticket-games { grid-column: 1 / -1; }
.loyalty-help { margin: 0; color: var(--text-muted); font-size: .85rem; line-height: 1.5; }
.profile-loyalty-badge { display: inline-flex; align-items: center; padding: .25rem .65rem; border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border)); border-radius: 2rem; background: var(--accent-soft); color: var(--accent); font-size: .8rem; font-weight: 700; }
.profile-rewards { display: grid; gap: .75rem; margin: 0 1rem .5rem; }
.profile-rewards-paired { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: stretch; }
.profile-loyalty { position: relative; overflow: hidden; isolation: isolate; display: grid; align-content: center; gap: .35rem; min-width: 0; margin: 0; padding: .5rem 1rem; border: 1px solid var(--border); border-radius: .8rem; background: radial-gradient(ellipse at top right, color-mix(in srgb, var(--accent) 6%, transparent), transparent 75%), var(--surface); }
.profile-loyalty::before { position: absolute; z-index: 2; top: -28%; left: -48%; width: 32%; height: 156%; content: ''; pointer-events: none; opacity: 0; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 8%, transparent), rgba(255, 255, 255, .28), color-mix(in srgb, var(--accent) 8%, transparent), transparent); filter: blur(1.2px); transform: skewX(-20deg) translateX(0); }
@keyframes profile-loyalty-sheen { 0% { opacity: 0; transform: skewX(-20deg) translateX(0); } 20% { opacity: .52; } 100% { opacity: 0; transform: skewX(-20deg) translateX(470%); } }
@media(hover: hover) { .profile-loyalty:hover::before { animation: profile-loyalty-sheen .96s ease-out; } }
@media(prefers-reduced-motion: reduce) { .profile-loyalty::before { display: none; animation: none !important; } }
.profile-loyalty-details { display: grid; gap: .1rem; }
.profile-loyalty > strong { font-size: 1rem; }
.profile-loyalty small { color: var(--text-muted); font-size: .8rem; line-height: 1.45; }
.profile-loyalty progress { width: 100%; height: 6px; border: 0; border-radius: 5px; overflow: hidden; background: var(--surface-hover); accent-color: var(--accent); }
.profile-loyalty progress::-webkit-progress-bar { background: var(--surface-hover); }
.profile-loyalty progress::-webkit-progress-value { background: var(--accent); }
.profile-loyalty progress::-moz-progress-bar { background: var(--accent); }
.profile-checkin-admin { gap: .65rem; }
@media(max-width: 900px) { .profile-rewards-paired { grid-template-columns: minmax(0, 1fr); } }
@media(max-width: 850px) { .loyalty-tier { grid-template-columns: 1fr 1fr; } .loyalty-tier > label:first-child { grid-column: 1 / -1; } .loyalty-tier > button { grid-column: 1 / -1; justify-self: start; } }

/* The status is a compact link, including on public profiles. */
a.profile-loyalty-badge { min-height:36px; gap:6px; max-width:100%; cursor:pointer; overflow-wrap:anywhere; transition:background .2s, transform .2s; }
a.profile-loyalty-badge:focus-visible { background:var(--surface-hover); text-decoration:underline; text-underline-offset:3px; }
@media (hover:hover) and (pointer:fine) { a.profile-loyalty-badge:hover { background:var(--surface-hover); transform:translateY(-1px); } }
@media (max-width:767px) { a.profile-loyalty-badge { min-height:44px; padding:.4rem .65rem; } }
@media (prefers-reduced-motion:reduce) { a.profile-loyalty-badge { transition:none; transform:none !important; } }
