table {
  width: 100%;
  display: table;
  font-size: 0.75rem;
}
@media (min-width: 576px) {
  table {
    font-size: 0.9rem;
  }
}
@media (min-width: 720px) {
  table {
    font-size: 1rem;
  }
}
@media (min-width: 992px) {
  table {
    font-size: 1.15rem;
  }
}
td,
th {
  display: table-cell;
}
td.number,
th.number {
  text-align: right;
}
.positive {
  color: #036404;
}
.negative {
  color: #a1160b;
}
@media (prefers-color-scheme: dark) {
  .positive {
    color: #69d76a;
  }
  .negative {
    color: #ea9d9d;
  }
}
.messages {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
}
.messages li {
  display: block;
  margin: 0.5rem auto;
  padding: 0.5rem;
  border-radius: 0.5rem;
  width: fit-content;
}
.messages .debug {
  background-color: #f0f0f0;
  color: #333;
}
.messages .info {
  background-color: #3aa0ab;
  color: #fff;
}
.messages .success {
  background-color: #4caf50;
  color: #fff;
}
.messages .warning {
  background-color: #ffeb3b;
  color: #333;
}
.messages .error {
  background-color: #f44336;
  color: #fff;
}
@media (prefers-color-scheme: dark) {
  .messages .debug {
    background-color: #333;
    color: #f0f0f0;
  }
  .messages .info {
    background-color: #00b8d4;
    color: #212121;
  }
  .messages .success {
    background-color: #00c853;
    color: #212121;
  }
  .messages .warning {
    background-color: #ffc107;
    color: #212121;
  }
  .messages .error {
    background-color: #c62828;
    color: #212121;
  }
}
#messages .message {
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #f5f5f5;
  color: #333;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  word-wrap: break-word;
}
#messages .message.error {
  border-color: #f00;
  background-color: #fdd;
  color: #900;
}
#messages .message.success {
  border-color: #0f0;
  background-color: #dfd;
  color: #090;
}
#messages .message.info {
  border-color: #00f;
  background-color: #ddf;
  color: #009;
}
#messages .message.warning {
  border-color: #ff0;
  background-color: #ffd;
  color: #990;
}
h1,
h2,
nav > a {
  text-transform: capitalize;
}
h3:first-letter,
h4:first-letter,
h5:first-letter,
h6:first-letter,
dt:first-letter,
th:first-letter {
  text-transform: uppercase;
}
nav a.current {
  color: var(--accent) !important;
  border-color: var(--accent) !important;
}
a.icon {
  text-decoration: none;
}
.nowrap {
  white-space: nowrap;
}
header {
  padding-bottom: 0!important;
}
header nav a {
  margin-bottom: 0.5rem !important;
}
header p {
  margin: 0.5rem auto !important;
}
