.birthday-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin: 20px 0 24px;
  padding: 22px 24px;
  border: 2px solid #f47b55;
  border-left-width: 8px;
  border-radius: 18px;
  background: #fff8f4;
  color: #14213d;
  box-shadow: 0 10px 28px rgba(20, 33, 61, .08);
}

.birthday-alert h3 {
  margin: 4px 0 6px;
  color: #003057;
  font-size: clamp(22px, 2.3vw, 30px);
  line-height: 1.25;
}

.birthday-alert p { margin: 0; line-height: 1.7; }
.birthday-alert-list { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

.birthday-student,
.birthday-marker {
  border: 1px solid #c84b2c;
  background: #f47b55;
  color: #14213d;
  font-weight: 750;
}

.identity-chip.birthday-chip {
  border-color: #edab97;
  background: #fff0e8;
  color: #8b3e28;
}

.identity-chip.birthday-chip.is-missing {
  border-color: #cfd9df;
  background: #f4f6f7;
  color: #647386;
}

.birthday-student {
  min-height: 42px;
  padding: 9px 14px;
  border-radius: 999px;
  cursor: pointer;
}

.birthday-student:hover { background: #ffb69f; }
.birthday-student:focus-visible { outline: 3px solid #1236c9; outline-offset: 3px; }

.birthday-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
}

.index-student.is-birthday {
  border-color: #f47b55;
  background: #fff8f4;
  box-shadow: inset 4px 0 0 #f47b55;
  animation: birthday-pulse 1.8s ease-in-out infinite;
}

@keyframes birthday-pulse {
  0%, 100% { box-shadow: inset 4px 0 0 #f47b55, 0 0 0 0 rgba(244, 123, 85, .15); }
  50% { box-shadow: inset 4px 0 0 #f47b55, 0 0 0 6px rgba(244, 123, 85, 0); }
}

@media (max-width: 760px) {
  .birthday-alert { grid-template-columns: 1fr; padding: 18px; }
  .birthday-alert-list { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .index-student.is-birthday { animation: none; }
}
