.table-wrap {
  border: 1px solid #d7e2ef;
  border-radius: var(--radius-md);
  background: #fff;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

table.matrix {
  width: 100%;
  min-width: 780px;
  border-collapse: separate;
  border-spacing: 0;
}

table.matrix th,
table.matrix td {
  border-right: 1px solid #e1e8f2;
  border-bottom: 1px solid #e1e8f2;
  padding: 9px;
  text-align: center;
  font-size: 0.84rem;
  background: #fff;
}

table.matrix tr td:last-child,
table.matrix tr th:last-child {
  border-right: none;
}

table.matrix tr:last-child td {
  border-bottom: none;
}

table.matrix thead th {
  background: #f4f8ff;
  position: sticky;
  top: 0;
  z-index: 3;
}

table.matrix tbody tr:nth-child(2n) td {
  background: #fbfdff;
}

table.matrix th:first-child,
table.matrix td:first-child {
  position: sticky;
  left: 0;
  z-index: 4;
  background: #f4f8ff;
  box-shadow: 1px 0 0 #e1e8f2;
}

table.matrix tbody tr:nth-child(2n) td:first-child {
  background: #f0f6ff;
}

.empty {
  border: 1px dashed #c7d5ea;
  border-radius: var(--radius-md);
  background: var(--bg-soft);
  color: var(--text-muted);
  text-align: center;
  padding: 20px 10px;
}
