* {
  box-sizing: border-box;
}

body {
  background: #f3f3f3;
}

.main {
  background: white;
  border: 1px solid #888;
}

#Data {
  padding: 1em;
}

.main th,
.main caption {
  background: #def;
  font-weight: bold;
}

.main caption {
  border: 1px solid black;
  padding: 0.3em;
}

#Data table {
  white-space: nowrap;
}

#Data td {
  font: 13px arial;
  vertical-align: middle;
}

#Tests tr:nth-child(-n + 3) {
  background: yellow;
}

#Tests tr td:nth-child(n + 2),
.main tr td:nth-child(n + 3) {
  text-align: right;
}

.hidden {
  display: none;
}

#Data > div table th:nth-child(2),
#Data > div table td:nth-child(2) {
  border-right: 1px solid black;
}

.main tr:nth-child(1) th {
  border-bottom: 2px solid black;
}

.main > div > div tr:nth-child(7) td {
  border-top: 2px solid black;
}

.main select {
  font-size: 120%;
  background: yellow;
}

.main .selected {
  background: #cfc;
}