.demo-banner {
  background: #ffc107;
  color: #3d2c00;
  letter-spacing: .04em;
  position: sticky;
  top: 0;
  z-index: 1030;
}

.var-chip {
  display: inline-block;
  background: #eef2f7;
  border: 1px solid #d5dee8;
  border-radius: 4px;
  padding: 1px 6px;
  margin: 2px 3px 2px 0;
  font-size: .78rem;
  color: #2c3e50;
  cursor: help;
}

.stat-card .stat-value {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.1;
}

.stat-card .stat-label {
  font-size: .8rem;
  color: #6c757d;
}

.mail-preview {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .82rem;
  white-space: pre-wrap;
  word-break: break-word;
}

textarea.mail-body {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .82rem;
  min-height: 320px;
}

.table-sticky thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}

.row-blocked {
  background-color: #fff5f5;
}

.unresolved-mark {
  background: #ffe08a;
  border-radius: 3px;
  padding: 0 2px;
}

table td, table th {
  vertical-align: middle;
}

.truncate-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
