body {
  display: flex;
  flex-flow: column nowrap;
}
.popover {
  box-shadow: 0px 5px 9px rgba(0, 0, 0, 0.4);
}
.algolia-autocomplete {
  /* width: 100%; */
}
.algolia-autocomplete .aa-input {
  background-color: white!important;
}
.algolia-autocomplete .aa-input,
.algolia-autocomplete .algolia-autocomplete .aa-hint {
  /* width: 100%; */
}
.algolia-autocomplete .aa-hint {
  color: #999;
}
.algolia-autocomplete .aa-dropdown-menu {
  /* width: 100%; */
  background-color: #fff;
  border: 1px solid #999;
  border-top: none;
  border-radius: 4px;
}
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
  cursor: pointer;
  padding: 5px 10px;
  margin: 0;
}
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor {
  background-color: #B2D7FF;
}
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion em {
  font-weight: bold;
  font-style: normal;
}
/* TODO use Flex here */
/* https://css-tricks.com/snippets/css/a-guide-to-flexbox/ */
.input-widget .note {
  padding: 3px 10px;
}
.input-widget--flex {
  display: flex;
  /* .header { */
  /*     width: 100vw; */
  /*     flex: 1 100%; */
  /*     background-color: green; */
  /* } */
}
.input-widget--flex .original-images-region {
  width: 50vw;
}
.input-widget--flex .original-images-region .original-images-scroll-window {
  overflow-y: auto;
  height: 100vh;
}
.input-widget--flex .database-data-region {
  width: 50vw;
}
.input-widget--flex .biomarkers-region {
  height: 100vh;
  overflow-y: auto;
}
.input-widget .original-images-scroll-window img {
  width: 100%;
}
.input-widget .biomarkers-region {
  background-color: #eee;
}
.input-widget .biomarkers-region input.has-error,
.input-widget .biomarkers-region select.has-error {
  box-shadow: 0 0 5px 5px #f008;
}
.input-widget .biomarkers-region input {
  padding: 2px 5px;
  display: inline;
  vertical-align: top;
}
.input-widget .biomarkers-region [type=number] {
  text-align: right;
  max-width: 90px;
}
.input-widget .biomarkers-region [name=unit] {
  max-width: 120px;
}
.input-widget .biomarkers-region .delete-marker {
  cursor: pointer;
  color: grey;
}
.input-widget .biomarkers-region tr.saving-inprogress {
  background-color: lightblue;
}
.input-widget .biomarkers-region td.equality-cell {
  white-space: nowrap;
}
.input-widget .biomarkers-region td.equality-cell [name=result-equality] {
  height: 30px;
  width: 40px;
  display: inline;
  padding: 0;
}
.input-widget .biomarkers-region td.equality-cell [name=result] {
  width: calc(100% - 40px);
  display: inline;
}
.input-widget .document-fields-region {
  background-color: #eee;
}
.input-widget .document-fields-region.saving-inprogress {
  background-color: lightblue;
}
.input-widget .document-fields-region .note-line {
  white-space: nowrap;
}
.input-widget .document-fields-region .note-line label {
  display: inline;
  width: 50px;
}
.input-widget .document-fields-region .note-line [name=note] {
  width: calc(100% - 50px);
  display: inline;
}
.input-widget .document-fields-region .date-line {
  text-align: center;
}
.input-widget .document-fields-region .date-line [name=sample_date] {
  display: inline;
  width: auto;
}
.input-widget .document-fields-region .date-line [name=sample_time] {
  display: inline;
  width: auto;
}
.input-widget .document-fields-region .date-line select[name=lab] {
  display: inline;
  width: auto;
}
.input-widget .document-status-region {
  padding: 2px 10px;
  text-align: right;
  background-color: #eee;
}
.input-widget .document-status-region .doc-status-switch {
  white-space: nowrap;
}
.input-widget .document-status-region .doc-status-switch span {
  display: inline-block;
  padding: 8px 10px;
  filter: grayscale(80%);
  color: #aaa;
  cursor: pointer;
}
.input-widget .document-status-region .doc-status-switch span.active {
  cursor: inherit;
  color: white;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  filter: grayscale(0%);
  font-weight: bold;
  font-decoration: underline;
}
.input-widget .document-status-region .doc-status-switch span:first-child {
  border-radius: 12px 0 0 12px;
}
.input-widget .document-status-region .doc-status-switch span:last-child {
  border-radius: 0 12px 12px 0;
}
.page-dashboard .drop-area {
  overflow: hidden;
  height: 150px;
  background-color: rgba(255, 255, 255, 0.5);
  border: 2px dashed grey;
  position: relative;
  margin-bottom: 20px;
}
.page-dashboard .drop-area--over {
  background-color: rgba(255, 255, 255, 0.9);
  border: 4px dashed grey;
}
.page-dashboard .drop-area--uploading {
  padding: 10px;
  background-color: #feff97;
  border: 2px dashed grey;
}
.page-dashboard .drop-area--done {
  background-color: #e5ff97;
  border: 2px dashed grey;
}
.page-dashboard .drop-area .drop-caption {
  color: grey;
  font-weight: bold;
  font-size: 32px;
  text-align: center;
  margin-top: 15px;
}
.page-dashboard .drop-area .drop-choose {
  text-align: center;
}
.page-dashboard .drop-area .drop-choose a {
  border-bottom: 1px dashed grey;
}
.page-dashboard .drop-area .drop-choose a:hover {
  text-decoration: none;
}
.page-dashboard .drop-area .email-window {
  display: none;
  padding-top: 100px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #65d4a7e0;
  background-image: url(/s/images/home.jpg);
  background-size: cover;
}
.page-dashboard .drop-area .email-window label {
  color: white;
  text-align: center;
}
.page-dashboard .drop-note {
  margin-top: 20px;
  text-align: center;
  color: grey;
  font-size: 14px;
}
.page-dashboard input[name=file] {
  display: none;
}
.page-dashboard input[name=owner_email] {
  width: 100%;
}
.page-dashboard .bg-status-new {
  background-color: #00aaff;
}
navbar {
  height: 66px;
}
.supertable-widget {
  display: flex;
  flex-flow: column nowrap;
  overflow: hidden;
}
.supertable-widget .refs-switcher-region {
  height: 40px;
  overflow: auto;
}
.supertable-widget .table-region {
  display: flex;
  height: calc(100vh - 40px - 66px);
  background-color: #f8f8f8;
  overflow: auto;
}
.supertable-widget .table-region .supertable {
  /* Start of sticky headers */
  border-collapse: separate;
  border-spacing: 0;
  /* End of sticky headers */
}
.supertable-widget .table-region .supertable td,
.supertable-widget .table-region .supertable th {
  border: 1px solid lightgrey;
}
.supertable-widget .table-region .supertable thead th {
  position: sticky;
  top: 0;
  /* or to be computed by JS */
  z-index: 20;
  background-color: white;
}
.supertable-widget .table-region .supertable thead th[rowspan=2] {
  height: auto;
}
.supertable-widget .table-region .supertable thead > tr:last-child > th {
  position: sticky;
  top: 0;
  /* or to be computed by JS */
}
.supertable-widget .table-region .supertable tbody th {
  position: sticky;
  left: 0;
  /* XXX won't work properly with 2nd row */
  z-index: 10;
  background-color: white;
}
.supertable-widget .table-region .supertable thead > tr:first-child > th:first-child,
.supertable-widget .table-region .supertable thead tr:first-child > th:nth-child(2) {
  z-index: 30;
  left: 0;
}
.supertable-widget .table-region .supertable th,
.supertable-widget .table-region .supertable td {
  padding: 2px 5px;
  font-size: 14px;
  vertical-align: middle;
}
.supertable-widget .table-region .supertable th {
  white-space: nowrap;
  text-align: center;
}
.supertable-widget .table-region .supertable td {
  text-align: center;
}
