html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* BulSU maroon */
.sdms-navbar {
  background-color: #7b1113;
}

.sdms-navbar .navbar-brand span {
  font-size: 1rem;
  font-weight: 600;
}

.stat-card .stat-value {
  font-size: 1.75rem;
  font-weight: 600;
}

.login-card {
  max-width: 420px;
}

.student-suggestions {
  max-height: 20rem;
  overflow-y: auto;
}

.student-suggestions .dropdown-item {
  white-space: normal;
}

.tag-list {
  max-height: 14rem;
  overflow-y: auto;
}

/* Report charts: one series, so one hue; values and labels stay in text colours. */
:root {
  --chart-series: #2a78d6;
  --chart-baseline: #c3c2b7;
}

.bar-chart .bar-label {
  font-weight: normal;
  width: 45%;
  padding-right: 0.75rem;
}

.bar-chart tr:hover {
  background-color: var(--bs-tertiary-bg);
}

.bar-track {
  display: flex;
  align-items: center;
  padding-right: 3.5rem;
}

.bar {
  flex: none;
  height: 14px;
  min-width: 2px;
  background-color: var(--chart-series);
  border-radius: 0 4px 4px 0;
}

.bar-value {
  margin-left: 0.375rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.column-chart {
  display: flex;
  gap: 2px;
  overflow-x: auto;
}

.column-slot {
  flex: 1 1 0;
  min-width: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.column-slot:hover {
  background-color: var(--bs-tertiary-bg);
}

.column-plot {
  height: 160px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  border-bottom: 1px solid var(--chart-baseline);
}

.column {
  width: 100%;
  max-width: 24px;
  min-height: 0;
  background-color: var(--chart-series);
  border-radius: 4px 4px 0 0;
}

.column-value {
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

.column-label {
  font-size: 0.75rem;
  color: var(--bs-secondary-color);
  text-align: center;
  line-height: 1.2;
  padding-top: 0.25rem;
}

/* Printed case report */
.print-report .report-table th {
  width: 30%;
  font-weight: 600;
}

.signature-line {
  border-top: 1px solid #000;
  padding-top: 0.25rem;
  text-align: center;
  margin: 0 1.5rem;
}

@media print {
  body {
    margin-bottom: 0;
  }
}

.audit-json {
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 0.85rem;
}
