.reviewable {
  .flagged-post-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }

  .status {
    color: $primary-medium;
    span.approved {
      color: $success;
      .d-icon {
        color: currentColor;
      }
    }
    span.rejected {
      color: $danger;
      .d-icon {
        color: currentColor;
      }
    }
  }
  .explain {
    margin-left: 0.5em;
  }

  .nav-pills {
    margin-bottom: 1em;
  }

  .reviewable-container {
    display: flex;
    flex-direction: row;
    margin-top: 1em;

    .reviewable-list {
      flex: 1;
      box-sizing: border-box;
      max-width: 760px; // Match topic post width
      min-width: 0;
      margin-right: auto;
    }

    .reviewable-filters {
      width: 250px;
      height: 100%;
      box-sizing: border-box;
    }

    .reviewable-list + .reviewable-filters {
      margin-left: 1em;
    }
  }
}

.reviewable-settings {
  h4 {
    margin-top: 1em;
    margin-bottom: 1em;
  }

  .saved {
    margin-left: 0.5em;
  }
  .reviewable-score-type {
    display: flex;
    margin-bottom: 0.5em;

    .select-kit {
      min-width: 10em;
    }
    .title {
      width: 30%;
    }
  }
}

.reviewable-user-info {
  margin: 0.5em 0;
  .reviewable-user-fields {
    margin-bottom: 2em;
  }

  .reviewable-user-details {
    border-bottom: 1px solid $primary-low;
    padding-bottom: 0.25em;

    display: flex;
    .name {
      width: 8em;
      font-weight: bold;
      margin-right: 1em;
    }
    margin-bottom: 0.5em;
  }
}

.no-review {
  margin-top: 1em;
}

.reviewable-filters {
  background-color: $primary-very-low;
  padding: 1em;
  margin-bottom: 1em;

  .reviewable-filter {
    display: flex;
    flex-direction: column;
    margin: 0 0 1em 0;

    .filter-label {
      margin: 0 0 0.5em 0;
    }

    .score-filter {
      margin: 0;
      width: 100%;
    }

    .category-chooser {
      width: 100%;
    }

    .d-date-time-input-range {
      width: inherit;
      border: none;
      padding: 0;
      flex-direction: column;

      .d-date-input {
        flex: 1 1 auto;
        border: 1px solid $primary-medium;
      }
    }
  }
}

.reviewable-claimed-topic {
  display: flex;
  align-items: center;
  .btn-small {
    margin-left: 0.5em;
  }
}

.reviewable-actions .claimed-actions {
  display: flex;
  flex: 1 1 100%;
  margin-right: 0;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5em;
}

.claimed-by {
  display: flex;
  align-items: center;
  .claimed-username {
    margin-left: 0.5em;
  }
}

.reviewable-topics {
  width: 100%;

  tbody {
    td {
      padding: 0.5em;
    }
  }

  .reviewable-details {
    display: flex;
    justify-content: flex-end;

    .btn {
      display: flex;
      align-items: center;
      margin-left: 1em;
    }
  }
}

.reviewable-filters {
  .topic-filter .btn {
    display: flex;
    width: auto;
  }

  .refresh {
    height: 1em;
    display: flex;
  }

  .score-filter {
    width: 5em;
  }
}
.user-flag-percentage {
  display: flex;
  align-items: center;
  margin-left: 0.5em;

  .percentage-label {
    margin-right: 0.25em;
    &.agreed {
      color: $success;
      + .d-icon {
        color: $success;
      }
    }
    &.disagreed {
      color: $danger;
      + .d-icon {
        color: $danger;
      }
    }
    &.ignored {
      color: $primary-medium;
    }
  }
  .d-icon {
    font-size: 0.9em;
  }
}

.reviewable-item {
  padding-top: 2em;
  border-top: 1px solid dark-light-choose($primary-low, $secondary-low);

  .topic-statuses {
    font-size: $font-up-2;
  }

  .reviewable-meta-data {
    color: dark-light-choose($primary-medium, $secondary-medium);
    display: flex;
    width: 100%;
    margin-bottom: 0.5em;
    font-size: $font-down-1;
    align-items: baseline;
    .reviewable-type {
      margin-right: 0.25em;
    }
    .reply-count {
      margin-left: 1em;
    }
    .created-at {
      margin-left: 1em;
      margin-right: auto;
      a {
        color: dark-light-choose($primary-medium, $secondary-medium);
      }
    }
    .score {
      font-size: $font-down-1;
    }
  }

  .reviewable-contents {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2em;
  }

  .reviewable-actions {
    display: flex;
    flex-wrap: wrap;
    width: 100%;

    button {
      white-space: nowrap;
    }

    .reviewable-action,
    .reviewable-action-dropdown {
      margin-right: 0.5em;
    }
  }
  padding-bottom: 1em;
}

.reviewable-histories {
  margin-top: 1em;
}

.reviewable-scores {
  min-width: 50%;
  color: $primary-high;

  .reviewed-by {
    .date {
      margin-left: 0.5em;
    }
  }
  .user,
  .reviewed-by {
    display: flex;
    align-items: center;
  }

  .user-flag-percentage {
    margin-left: 0.5em;
  }

  .d-icon {
    font-size: $font-down-1;
    color: $primary-medium;
  }

  .badge-notification {
    line-height: $line-height-medium;
    vertical-align: text-top;
  }

  tbody {
    border-width: 1px;
    td {
      white-space: nowrap;
      vertical-align: baseline;
      &.user a,
      &.reviewed-by a {
        max-width: 150px;
        @include ellipsis;
      }
    }

    td:last-of-type {
      width: 100%;
      white-space: normal;
    }
    > tr > th {
      text-align: left;
    }
    > tr > th,
    > tr > td {
      &:not(:empty) {
        padding: 0.5em 1em 0.5em 0;
      }
      @include breakpoint("mobile-large") {
        @include ellipsis;
        padding-right: 0.5em;
      }
    }
    .reviewable-score-spacer {
      padding-right: 1em;
    }
  }
}

.reviewable-score-reason {
  margin: 0.5em 0;
  max-width: $topic-body-width;
  margin-bottom: 0.5em;
}

.reviewable-conversation {
  margin: 0.5em 0;

  .reviewable-conversation-post {
    max-width: $topic-body-width;
    margin-bottom: 0.5em;

    .username {
      font-weight: bold;
      margin-right: 0.25em;
    }
  }

  .controls {
    margin-top: 0.25em;
  }
}

.reviewable-item {
  .show-raw-email {
    color: $primary-medium;
    font-size: $font-down-2;
  }
  .post-title {
    background-color: yellow;
  }
  .created-by {
    margin-right: 1em;
    padding-top: 0.35em;
    @include breakpoint("mobile-large") {
      float: left;
      margin-bottom: 1em;
    }
  }

  .names {
    font-weight: bold;
  }

  .post-contents-wrapper {
    width: 100%;
    margin-top: 1em;
    min-width: 275px;
    word-break: break-word;
    @include breakpoint("mobile-large", min-width) {
      display: flex;
    }
  }
  .reviewable-post-header {
    display: flex;
    justify-content: space-between;
    max-width: $topic-body-width;
    width: $topic-body-width;
    align-items: center;

    .reviewable-reply-to {
      display: flex;
      align-items: center;
      color: $primary-medium;
      font-size: 0.9em;
      .d-icon {
        margin-right: 0.5em;
      }
    }
  }

  .post-contents {
    width: 100%;
    min-width: 0; // Flexbox fix
  }

  .post-body {
    max-width: $topic-body-width;
    max-height: 300px;
    margin-top: 0.5em;
    overflow-y: auto;

    p,
    aside {
      margin: 0 0 1em 0;
    }

    pre,
    code {
      word-break: break-all;
    }
  }

  .post-topic {
    width: 100%;
    color: $primary-medium;
    margin-bottom: 0.75em;
    .title-text {
      font-weight: bold;
      color: $primary;
      display: block;
      font-size: $font-up-2;
      margin-right: 0.75em;
    }
    .topic-statuses {
      &:empty {
        display: none;
      }
    }
  }
}

.editable-fields {
  .editable-created-by {
    display: flex;
    .avatar {
      margin-right: 0.25em;
    }
    margin-bottom: 0.5em;
  }

  width: 100%;
  .editable-field {
    .mini-tag-chooser {
      margin: 0;
    }

    .reviewable-input-text {
      width: 100%;
      margin-bottom: 0;
    }

    .reviewable-input-textarea {
      width: 100%;
      height: 10em;
    }
    margin-bottom: 0.5em;
  }
}

@media screen and (max-width: 1000px) {
  table.reviewable-scores {
    width: 100%;
    display: block;
    tbody {
      width: calc(100% - 5px);
      display: block;
      clear: both;
    }
  }
  tr.reviewable-score {
    display: grid;
    grid-template-columns: auto auto 1fr;
  }
  td.reviewable-score-spacer {
    display: none;
  }
}

@include breakpoint("mobile-large") {
  tr.reviewable-score {
    grid-template-columns: auto auto auto;
  }
}
