* {
  box-sizing: border-box;
}

body {
  background: #555;
}

table {
  background: white;
}

td {
  vertical-align: top;
}

.noborder, .noborder * {
  border: none;
}

a {
  font-weight: bold;
}

#Requested {
  margin-top: 1.2em;
}

#Missing {
  color: red;
  font-size: 90%;
  margin-top: 1em;
}

#Scan, #Downloaded, #NotDownloaded {
  display: none;
}

#Downloaded {
  color: darkgreen;
}

#NotDownloaded {
  color: red;
}

.match {
  color: silver;
}

#Data th {
  position: relative;
  cursor: pointer;
  padding-right: 1em;
  background: #def;
}

#Data td {
  background: white;
}

#Data tr:nth-child(2) th img {
  width: 12px;
  position: absolute;
  right: 0;
}

#Data tr > *:nth-child(3) {
  border-right: 1px solid black;
}

#Details {
  position: sticky;
  left: 0;
}

.header {
  font-size: 85%;
  background: #eee;
  border-bottom: 1px solid #aaa;
  padding: 0.5em;
  opacity: 0.8;
}

.body {
  border-bottom: 1px solid black;
  padding: 0.5em;
}

#Graph {
  position: relative;
  height: 400px;
  margin: 1em;
  border: 1px solid black;
  background: #f0f0f0;
  display: none;
}

#Data {
  white-space: nowrap;
}

#Data tr > *:nth-child(n + 1):nth-child(-n + 3) {
  position: sticky;
  z-index: 1;
}

#Data tr > *:nth-child(1) {
  left: 0;
}

#Data tr > *:nth-child(n + 4) {
  display: none;
}

#Data thead tr:nth-child(2) th {
  border-bottom: 1px solid black;
}

#zData thead tr:nth-child(2) th {
  position: sticky;
  top: 0;
}

#Menu {
  position: relative;
  padding: 0.5em;
}

.selected {
  background: #cfc;
}

.graph.selected {
  outline: 2px solid green;
}

#Menu {
  background: #333;
}

#Menu * {
  vertical-align: bottom;
}