Cash Register Project

This is JS code for the given challenge what is wrong in it ?

let price = 1.87;
let cid = [
  ['PENNY', 1.01],
  ['NICKEL', 2.05],
  ['DIME', 3.1],
  ['QUARTER', 4.25],
  ['ONE', 90],
  ['FIVE', 55],
  ['TEN', 20],
  ['TWENTY', 60],
  ['ONE HUNDRED', 100]
];
let denomination = [
  [0, 0.01],
  [0, 0.05],
  [0, 0.1],
  [0, 0.25],
  [0, 1],
  [0, 5],
  [0, 10],
  [0, 20],
  [0, 100]
]

const cash = document.getElementById("cash");
const changeDue = document.getElementById("change-due");
const purchaseBtn = document.getElementById("purchase-btn");

purchaseBtn.onclick = run

function run(){
  checkChange();
}

function checkChange(){
  if(parseFloat(cash.value) < price){
    alert("Customer does not have enough money to purchase the item");
  }else if(parseFloat(cash.value) === price){
   changeDue.innerHTML = "No change due - customer paid with exact cash";
  }else{
    calculate();
  }
}

function calculate(){
  let n = parseFloat(cash.value);
  for(let i = 8; i>=0; i--){
    if(cid[i][1]-denomination[i][0]*denomination[i][1]>0 && n-denomination[i][1]>=0){
      denomination[i][0]++;
      n -= denomination[i][1];
    }
  }
  if(n === 0){
    if(totalCid() === parseFloat(cash.value)){
      changeDue.innerHTML = `Status: CLOSED`
    }else{
      changeDue.innerHTML = `Status: OPEN`
    }
    for(let i = 8; i>=0; i--){
      cid[i][1] = cid[i][1]-denomination[i][0]*denomination[i][1];
      changeDue.innerHTML += ` ${cid[i][0]}: ${denomination[i][0]*denomination[i][1]}`
      denomination[i][0] = 0;
    } 
  }else{
    changeDue.innerHTML = `Status: INSUFFICIENT_BALANCE`
  }
}

function totalCid(){
  let sum = 0;
  for(let i=0; i<9; i++){
    sum = sum+cid[i][1];
  }
  return sum;
}

@atharvayadav1441 It seems like your code is only JavaScript (In the text format, not the code template) for help you should share the HTML & CSS files too