.modal .modal-title {
  font-size: 1rem;
}

body {
  font-family: "Roboto", sans-serif;
}

/* HiliteUI default border #f6f2f2 is nearly invisible — darken ~15% */
:root {
  --bs-border-color: #d1cece;
  --bs-table-border-color: #d1cece;
  --bs-dropdown-border-color: #d1cece;
  --bs-dropdown-divider-bg: #d1cece;
  --bs-modal-border-color: #d1cece;
  --bs-modal-header-border-color: #d1cece;
  --bs-modal-footer-border-color: #d1cece;
}

.form-control,
.form-select,
.form-control:focus,
.form-select:focus,
.input-group-text,
.card,
.border,
.border-top,
.border-bottom,
.border-start,
.border-end,
.modal-content,
.modal-header,
.modal-footer,
.dropdown-menu,
.list-group-item,
.page-link,
.table,
.table > :not(caption) > * > *,
.table thead th,
.table th,
.table td {
  border-color: #d1cece !important;
}

.table thead th {
  border-top: 0;
  border-bottom-width: 1px;
  font-weight: 500;
  font-size: 0.8125rem;
  padding: 1rem 0.9375rem;
}

.table th,
.table td {
  vertical-align: middle;
  line-height: 1;
  padding: 0.625rem;
}

.table td {
  font-size: 0.813rem;
}

#entries-table th,
#entries-table td {
  white-space: normal;
}

#scans-table th,
#scans-table td {
  white-space: normal;
}

#entries-table .col-title-hint,
#scans-table .col-title-hint {
  display: inline-block;
  max-width: 9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
  color: #6c757d;
}

#entries-table .multiline-cell,
#scans-table .multiline-cell {
  display: inline-block;
  max-width: 11rem;
  line-height: 1.35;
  white-space: normal;
  vertical-align: top;
}

#entries-table .entry-info-btn {
  color: #4b49ac;
  line-height: 1;
}

#entries-table .entry-info-btn .mdi {
  font-size: 1.25rem;
}

#entries-table .entry-scan-btn {
  min-width: 6.5rem;
}

.entry-info-line + .entry-info-line {
  margin-top: 0.35rem;
}

.entry-info-label {
  display: block;
  font-weight: 500;
  font-size: 0.75rem;
  color: #6c757d;
  margin-bottom: 0.1rem;
}

.popover {
  max-width: 320px;
}

.popover-body {
  font-size: 0.8125rem;
  line-height: 1.35;
}

#databases-table .text-end .btn + .btn,
#scans-table .text-end .btn + .btn {
  margin-left: 0.35rem;
}

.scans-sort-btn {
  color: #6c757d;
  font-size: 0.75rem;
  vertical-align: baseline;
  text-decoration: none;
}

.scans-sort-btn:hover {
  color: #4b49ac;
}

#scans-filters .form-label {
  font-size: 0.75rem;
}

.btn-loading-spinner {
  vertical-align: -0.125em;
}

.btn:disabled .btn-loading-spinner {
  opacity: 0.85;
}
