body {
  padding-top: 76px;
  background: linear-gradient(180deg, #edfff5 0%, #f8fff4 52%, #fffdf0 100%);
  color: var(--text-dark);
}

body > .section-bg-pattern {
  opacity: 0.08;
}

.roster-header {
  text-align: center;
  padding: 86px 20px 36px;
  background: linear-gradient(150deg, rgba(237, 255, 245, 0.94), rgba(255, 252, 222, 0.92));
}

.roster-grid-container {
  max-width: 1200px;
  margin: 0 auto;
  min-height: 320px;
  padding: 8px 20px 90px;
  position: relative;
  z-index: 1;
}

.roster-grid-container .model-grid {
  margin-top: 22px;
}

.roster-empty {
  grid-column: 1 / -1;
  width: min(100%, 760px);
  margin: 24px auto 0;
  padding: 42px 28px;
  text-align: center;
  color: var(--text-mid);
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(255, 215, 0, 0.28);
  border-radius: 12px;
  box-shadow: 0 14px 44px rgba(45, 106, 79, 0.08);
}

/* SKELETON LOADERS */
.model-card.skeleton .model-card-inner {
  background: #e1e1e1;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.model-card.skeleton .model-card-inner::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0,
    rgba(255, 255, 255, 0.3) 20%,
    rgba(255, 255, 255, 0.6) 60%,
    rgba(255, 255, 255, 0)
  );
  animation: shimmer 2.2s infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
