.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease,
    transform 160ms ease;
}

.button:focus-visible,
.emergency-link:focus-visible,
.phone-link:focus-visible {
  outline: 3px solid rgba(28, 140, 135, 0.35);
  outline-offset: 3px;
}

.button:hover {
  transform: translateY(-1px);
}

.button-primary {
  background: var(--color-primary);
  color: #fff;
}

.button-primary:hover {
  background: var(--color-primary-dark);
}

.button-secondary {
  background: var(--color-card);
  border-color: rgba(28, 140, 135, 0.25);
  color: var(--color-primary-dark);
}

.notice-card,
.status-card,
.category-card {
  border: 1px solid rgba(31, 42, 42, 0.08);
  border-radius: var(--radius-card);
  background: var(--color-card);
  box-shadow: var(--shadow-soft);
}

.notice-card,
.status-card {
  padding: 20px;
}

.notice-card p,
.status-card p,
.category-card p {
  margin: 8px 0 0;
}

.phone-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 14px;
  color: var(--color-primary-dark);
  font-size: 1.2rem;
  font-weight: 800;
}

.category-card {
  min-height: 148px;
  padding: 18px;
}

.category-card.mint {
  background: var(--color-mint);
}

.category-card.blue {
  background: var(--color-blue);
}

.category-card.yellow {
  background: var(--color-yellow);
}

.category-card.green {
  background: var(--color-green);
}

.category-card.coral {
  background: var(--color-coral);
}

.category-card.lavender {
  background: var(--color-lavender);
}
