.glass-card { background: rgba(255,255,255,0.55); backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,0.6); }
.bento-role-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  max-width: 62rem;
  margin: 0 auto;
}
.bento-role-card {
  position: relative;
  overflow: hidden;
}
.bento-role-card::after {
  content: '';
  position: absolute;
  inset: auto -20% -45% auto;
  width: 180px;
  height: 180px;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(201, 168, 76, 0.12) 0%, rgba(201, 168, 76, 0) 70%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .bento-role-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Shake animation for errors */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}
.animate-shake { animation: shake 0.4s ease-in-out; }
/* Shimmer effect for loaders */
@keyframes shimmer {
  100% { transform: translateX(100%); }
}
.shimmer::after {
  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.2) 20%,
    rgba(255, 255, 255, 0.5) 60%,
    rgba(255, 255, 255, 0) 100%
  );
  animation: shimmer 2s infinite;
  content: '';
}
@keyframes upload-indeterminate {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(280%); }
}
.upload-progress-indeterminate {
  width: 35%;
  animation: upload-indeterminate 1s ease-in-out infinite;
}
@keyframes upload-track-shift {
  0% { background-position: 0 0; }
  100% { background-position: 48px 0; }
}
.upload-progress-track {
  background-image: repeating-linear-gradient(
    135deg,
    rgba(141, 110, 99, 0.08) 0,
    rgba(141, 110, 99, 0.08) 10px,
    rgba(141, 110, 99, 0.03) 10px,
    rgba(141, 110, 99, 0.03) 20px
  );
  background-size: 48px 100%;
  animation: upload-track-shift 1.4s linear infinite;
}
.bento-role-card { will-change: transform; }
