:root {
      --nav-height: 1.5rem;
    }

    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }

    body {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
      background-color: rgb(80, 80, 80);
      color: rgb(248,248,248);
    }

    nav {
      height: auto;
      background-color: #333;
    }

    #title {
      font-size: var(--nav-height);
    }

    #home {
      font-size: 1.1rem;
    }

    #dashboard {
      flex-grow: 1;
      display: flex;
      flex-direction: column;
        }

    .bar-box {
      min-height: 43vh;
      flex: 1;
    }

    .recent-plays-table {
  border-collapse: collapse;
  width: 100%;
  height: 100%;
  color: white;
  font-size: 12px;
  background-color:rgb(80,80,80)
}

.recent-plays-table th,
.recent-plays-table td {
  border: 1.5px solid #000000;   /* table lines */
  padding: 6px 6px;
  text-align: right;
}

.recent-plays-table th {
  background-color: #333;
}
.recent-plays-table tr.current-song {
  background-color: rgba(220, 20, 60, 0.3);
  color: white;
  font-weight: bold;
}

.chart-box {
  display: flex;
  flex-direction: column;
  background-color: rgb(100, 100, 100);
  border-radius: 12px;
  border: 1px solid rgba(150, 150, 150, 0.4);
  margin: .2rem;
  padding: .5rem;
}

.chart-box svg {
  width: 100%;
  height: auto;   /* don’t force 100% */
  flex: none;     /* don’t let flexbox stretch it */
}

.chart-container {
  position: relative;
  width: 100%;
  padding-bottom: 50%;   /* 2:1 aspect ratio, adjust as needed */
}

.chart-container svg {
  position: absolute;
  top: 0;
  left: 0;
}

