:root {
  --fresh-green: #38c978;
  --fresh-yellow: #e7b845;
  --fresh-red: #e25b5b;
  --fresh-none: #89929b;
}

.freshness-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: .55rem;
  padding: .28rem .6rem;
  border-radius: 999px;
  font-size: .82rem;
  border: 1px solid currentColor;
  width: fit-content;
}
.freshness-dot {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 .18rem color-mix(in srgb, currentColor 18%, transparent);
}
.freshness-green { color: var(--fresh-green); }
.freshness-yellow { color: var(--fresh-yellow); }
.freshness-red { color: var(--fresh-red); }
.freshness-none { color: var(--fresh-none); }

.admin-shell {
  max-width: 980px;
  margin: 0 auto;
  padding: 1rem;
}
.admin-card {
  background: rgba(20, 28, 36, .92);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  padding: 1rem;
  margin-bottom: 1rem;
}
.admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
}
.admin-input {
  width: 100%;
  box-sizing: border-box;
  padding: .75rem .85rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.25);
  color: inherit;
}
.admin-list {
  display: grid;
  gap: .55rem;
}
.admin-event {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  padding: .7rem;
  font-size: .9rem;
}
.admin-event small { opacity: .72; }
.admin-candidates { display: grid; gap: .5rem; margin-top: .75rem; }
.admin-candidate { border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: .65rem; }

@media (max-width: 720px) {
  .freshness-pill { font-size: .78rem; }
}
