:root {
  --asud-nolink: #3b7ddd;
  --asud-nolink-subtle: rgba(59, 125, 221, .14);
  --asud-warn: #ffc107;
  --asud-warn-fg: #212529;
  --asud-warn-text: #b38600;
  --asud-warn-subtle: rgba(255, 193, 7, .18);
}
[data-bs-theme="dark"] { --asud-warn-text: #ffda6a; }

.q-good   { color: var(--bs-success); }
.q-bad    { color: var(--bs-danger); }
.q-nolink,
.text-nolink { color: var(--asud-nolink); }
.bg-nolink        { background-color: var(--asud-nolink) !important; }
.bg-nolink-subtle { background-color: var(--asud-nolink-subtle) !important; }

.text-warn { color: var(--asud-warn-text) !important; }
.bg-warn   { background-color: var(--asud-warn) !important; color: var(--asud-warn-fg) !important; }
.bg-warn-subtle { background-color: var(--asud-warn-subtle) !important; }
.alert-warn {
  background-color: var(--asud-warn-subtle);
  border-color: var(--asud-warn);
  color: var(--bs-body-color);
}

.mono, .text-mono {
  font-family: var(--bs-font-monospace);
  font-size: .85rem;
}

.btn-xs {
  --bs-btn-padding-y: .1rem;
  --bs-btn-padding-x: .35rem;
  --bs-btn-font-size: .75rem;
  --bs-btn-border-radius: .2rem;
}

.brand-link .brand-image {
  max-height: 33px;
  width: auto;
  margin-right: .5rem;
}

#theme-menu .theme-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: baseline;
}

@keyframes asud-flash {
  from { background-color: var(--bs-warning-bg-subtle); }
  to   { background-color: transparent; }
}
.flash { animation: asud-flash .6s ease-out; }

.timeline-track { background: var(--bs-secondary-bg); }

.server-row.active { background: var(--bs-primary-bg-subtle); }

.sidebar-menu .nav-treeview .nav-link { padding-left: 1.9rem; }
.sidebar-menu .nav-treeview .nav-link p { font-size: .86rem; }
