.explore {
  width: 100%;

  &-container {
    padding: 2rem;
  }

  &-wrapper {
    display: flex;

    > .explore-split {
      width: 50%;
    }
  }

  // Push split button a bit
  .explore-first-button {
    margin-left: 15px;
  }

  // Graph panel needs a bit extra padding at top
  .panel-container {
    padding: $panel-padding;
    padding-top: 10px;
  }

  // Make sure wrap buttons around on small screens
  .navbar {
    flex-wrap: wrap;
    height: auto;
  }

  .navbar-page-btn {
    margin-right: 1rem;

    // Explore icon in header
    .fa {
      font-size: 100%;
      opacity: 0.75;
      margin-right: 0.5em;
    }
  }

  // Toggle mode
  .navbar-button.active {
    color: $btn-active-text-color;
    background-color: $btn-active-bg;
  }

  .navbar-button--no-icon {
    line-height: 18px;
  }

  .result-options {
    margin-top: 2 * $panel-margin;
  }

  .time-series-disclaimer {
    width: 300px;
    margin: $panel-margin auto;
    padding: 10px 0;
    border-radius: $border-radius;
    text-align: center;
    background-color: $panel-bg;

    .disclaimer-icon {
      color: $yellow;
      margin-right: $panel-margin/2;
    }

    .show-all-time-series {
      cursor: pointer;
      color: $external-link-color;
    }
  }

  .navbar .elapsed-time {
    position: absolute;
    left: 0;
    right: 0;
    top: 3.5rem;
    text-align: center;
    font-size: 0.8rem;
  }

  .graph-legend {
    flex-wrap: wrap;
  }

  .explore-graph__loader {
    height: 2px;
    position: relative;
    overflow: hidden;
    background: $text-color-faint;
    margin: $panel-margin / 2;
  }

  .explore-graph__loader:after {
    content: ' ';
    display: block;
    width: 25%;
    top: 0;
    top: -50%;
    height: 250%;
    position: absolute;
    animation: loader 2s cubic-bezier(0.17, 0.67, 0.83, 0.67);
    animation-iteration-count: 100;
    z-index: 2;
    background: $blue;
  }

  @keyframes loader {
    from {
      left: -25%;
    }
    to {
      left: 100%;
    }
  }

  .datasource-picker {
    min-width: 200px;
  }

  .timepicker {
    display: flex;

    &-rangestring {
      margin-left: 0.5em;
    }
  }

  .run-icon {
    margin-left: 0.5em;
    transform: rotate(90deg);
  }

  .relative {
    position: relative;
  }

  .link {
    text-decoration: underline;
  }
}

.explore + .explore {
  border-left: 1px dotted $table-border;
}

.query-row {
  display: flex;
  position: relative;

  & + & {
    margin-top: 0.5rem;
  }
}

.query-row-tools {
  white-space: nowrap;
}

.query-row-status {
  position: absolute;
  top: 0;
  right: 90px;
  z-index: 1024;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 34px;
}

.query-row-field {
  margin-right: 3px;
  width: 100%;
}

.query-transactions {
  display: table;
}

.query-transaction {
  display: table-row;
  color: $text-color-faint;
  line-height: 1.44;
}

.query-transaction--loading {
  animation: query-loading-color-change 1s alternate 100;
}

@keyframes query-loading-color-change {
  from {
    color: $text-color-faint;
  }
  to {
    color: $blue;
  }
}

.query-transaction__type,
.query-transaction__duration {
  display: table-cell;
  font-size: $font-size-xs;
  text-align: right;
  padding-right: 0.25em;
}

.explore {
  .logs {
    .logs-entries {
      display: grid;
      grid-column-gap: 1rem;
      grid-row-gap: 0.1rem;
      grid-template-columns: 4px minmax(100px, max-content) 1fr;
      font-family: $font-family-monospace;
    }

    .logs-row-match-highlight {
      background-color: lighten($blue, 20%);
    }

    .logs-row-level {
      background-color: transparent;
      margin: 6px 0;
      border-radius: 2px;
      opacity: 0.8;
    }

    .logs-row-level-crit,
    .logs-row-level-error,
    .logs-row-level-err {
      background-color: $red;
    }

    .logs-row-level-warn {
      background-color: $orange;
    }

    .logs-row-level-info {
      background-color: $green;
    }
  }
}

// Prometheus-specifics, to be extracted to datasource soon

.explore {
  .prom-query-field {
    display: flex;
  }

  .prom-query-field-wrapper {
    width: 100%;
  }

  .prom-query-field-info {
    margin: 0.25em 0.5em 0.5em;
  }
}

// ReactTable basic overrides (does not include pivot/groups/filters)
// When integrating ReactTable as new panel plugin, move to _panel_table.scss

.ReactTable {
  border: none;
  // Allow some space for the no-data text
  min-height: 120px;
}

.ReactTable .rt-thead.-header {
  box-shadow: none;
  background: $list-item-bg;
  border-top: 2px solid $body-bg;
  border-bottom: 2px solid $body-bg;
  height: 2em;
}
.ReactTable .rt-thead.-header .rt-th {
  text-align: left;
  color: $blue;
  font-weight: 500;
}
.ReactTable .rt-thead .rt-td,
.ReactTable .rt-thead .rt-th {
  padding: 0.45em 0 0.45em 1.1em;
  border-right: none;
  box-shadow: none;
}
.ReactTable .rt-tbody .rt-td {
  padding: 0.45em 0 0.45em 1.1em;
  border-bottom: 2px solid $body-bg;
  border-right: 2px solid $body-bg;
}
.ReactTable .rt-tbody .rt-td:last-child {
  border-right: none;
}
.ReactTable .-pagination .-btn {
  color: $blue;
  background: $list-item-bg;
}
.ReactTable .-pagination input,
.ReactTable .-pagination select {
  color: $input-color;
  background-color: $input-bg;
}
.ReactTable .-loading {
  background: $input-bg;
}
.ReactTable .-loading.-active {
  opacity: 0.8;
}
.ReactTable .-loading > div {
  color: $input-color;
}
.ReactTable .rt-tr .rt-td:last-child {
  text-align: right;
}
