body {
  background: #f6f8fb;
  min-height: 100vh;
}

.hero-card {
  color: #fff;
  background: linear-gradient(135deg, #0d6efd, #174ea6);
}

.counter-number {
  letter-spacing: -0.04em;
}

 .totals-card {
  color: #fff;
  background: #0d6efd;
}

.total-panel {
  padding: 1rem .75rem;
}

.total-panel-user {
  background: #6f42c1;
}

@media (max-width: 575.98px) {
  .total-panel {
    padding: .9rem .45rem;
  }
}

.quote-card {
  background: #fff;
  border-left: 5px solid #0d6efd;
}

.quote-card blockquote {
  font-size: 1.05rem;
  line-height: 1.7;
}

/* Keep form controls at 16px or larger on mobile so iOS Safari does not
   automatically zoom the page when an input receives focus. */
.form-control,
.form-select,
textarea,
button {
  font-size: 16px;
}

.form-control-lg,
.btn-lg {
  font-size: 16px;
}

.form-control:focus {
  box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .15);
}

.auth-card,
.admin-login-card {
  max-width: 520px;
}

.chart-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: .5rem;
}

.bar-chart {
  min-width: 720px;
  height: 320px;
  display: flex;
  align-items: flex-end;
  gap: 5px;
  padding: 20px 12px 30px;
  border-bottom: 1px solid #ced4da;
  background:
    linear-gradient(to bottom, transparent 24%, #e9ecef 25%, transparent 25%,
                    transparent 49%, #e9ecef 50%, transparent 50%,
                    transparent 74%, #e9ecef 75%, transparent 75%);
}

.bar-day {
  flex: 1 0 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}


.legend-swatch {
  display: inline-block;
  width: .75rem;
  height: .75rem;
  border-radius: 2px;
  margin-right: .3rem;
  vertical-align: -1px;
}

.legend-all { background: #0d6efd; }
.legend-user { background: #6f42c1; }

.combined-bar-chart {
  gap: 3px;
}

.combined-bar-day {
  min-width: 22px;
}

.bar-group {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
}

.combined-bar-day .bar-fill {
  width: calc(50% - 1px);
  max-width: 16px;
}

.bar-fill {
  width: 100%;
  max-width: 32px;
  min-height: 2px;
  background: #0d6efd;
  border-radius: 4px 4px 0 0;
  transition: height .25s ease;
}

/* Keep the current user's series visually distinct from All Users. */
.bar-fill-user {
  background: #6f42c1;
}

.bar-label {
  position: absolute;
  bottom: -25px;
  font-size: .7rem;
  color: #6c757d;
}

.bar-value {
  position: absolute;
  bottom: calc(var(--bar-height) + 4px);
  font-size: .65rem;
  color: #495057;
  white-space: nowrap;
}

.user-button {
  min-width: 72px;
}

.table td,
.table th {
  white-space: nowrap;
}

@media (max-width: 575.98px) {
  .display-4 {
    font-size: 2.7rem;
  }

  .bar-chart {
    min-width: 680px;
    height: 280px;
  }
}
