@import '../themes/themes.scss';

alert-manager-sk {
  spinner-sk[active] {
    visibility: initial;
  }

  spinner-sk {
    visibility: hidden;
    display: inline-block;
    position: fixed;
    top: 4em;
    left: 34em;
  }

  button {
    text-transform: none;
    height: initial;
  }

  button.selection {
    width: 100%;
  }

  span.selection-buttons {
    display: flex;
    justify-content: space-between;
  }

  .noselect {
    user-select: none;
  }

  .bot-alert {
    display: inline-block;
  }

  .bot-alert-checkbox {
    vertical-align: top;
  }

  .bot-incident-list {
    color: var(--inactive);
  }

  .bot-incident-elem {
    margin-top: 0;
    margin-bottom: 0;
  }

  h2 {
    align-items: center;
    color: var(--active);
    margin: 0;
    padding: 0;
    font-size: 14px;
    cursor: pointer;
  }

  h2.bot-centric {
    padding: 15px 0 0 15px;
  }

  h2.assigned {
    color: var(--assigned);
  }

  h2.inactive {
    color: var(--inactive);
  }

  h2.selected {
    background: var(--selected);
  }

  h2.silenced {
    color: var(--silenced);
  }

  .silences h2.inactive {
    color: var(--inactive);
  }

  footer {
    grid-area: footer;
  }

  .nav {
    grid-area: nav;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
  }

  tabs-panel-sk {
    padding: 0;
    overflow-y: auto;
    border: none;
    margin-top: 0.5em;
  }

  tabs-sk {
    padding: 5px 0 0 5px;
    border-bottom: dotted var(--on-background) 1px;

    button {
      border: none;
      background: var(--surface);
      color: var(--on-surface);
      fill: var(--on-surface);
    }
  }

  .stats,
  .incidents,
  .mine,
  .silences {
    display: none;
  }

  .mine.selected,
  .incidents.selected {
    display: grid;
  }

  .stats.selected,
  .silences.selected {
    display: block;
  }

  .stats,
  .mine,
  .incidents {
    checkbox-sk {
      display: inline-block;

      /* See skbug.com/10733 */
      input {
        display: none;
      }
    }

    h2 {
      display: flex;
      justify-content: space-between;
    }
  }

  .stats,
  .silences {
    padding: 1em;

    h2 {
      color: var(--primary);
      display: flex;
      justify-content: space-between;
    }
  }

  .silences-filter {
    width: 100%;
  }

  comment-icon-sk, alarm-off-icon-sk, thumbs-up-down-icon-sk {
    fill: var(--icons);
    padding: 0.2em 0.6em;
  }

  .inactive comment-icon-sk {
    fill: var(--inactive);
  }

  person-icon-sk {
    fill: var(--assigned-person);
  }

  .assigned-circle {
    border: solid;
    border-color: var(--assigned-person);
    border-radius: 50%;
    color: var(--assigned-person);
    padding: 0.2em;
  }

  notifications-icon-sk {
    padding: 0 0.6em;
    fill: var(--primary);
  }

  .invisible {
    visibility: hidden;
  }

  .edit {
    grid-area: edit;
    overflow-y: auto;
  }

  header {
    grid-area: header;
    color: var(--primary);
    fill: var(--primary);
    padding: 0.4em;
    justify-content: flex-end;
    display: flex;

    login-sk .email,
    login-sk .logInOut {
      color: var(--primary);
    }
  }

  header,
  .edit,
  footer {
    border-left: solid 1px var(--on-background);
  }

  display: grid;
  height: 100vh;
  grid-template-columns: 24em 1fr;
  grid-template-rows: 36px 1fr 5px;
  grid-template-areas:
    'nav header'
    'nav edit'
    'nav footer';

  @media (max-width: 40em) {
    grid-template-columns: 1fr;
    grid-template-rows: 36px 1fr 1fr 5px;
    grid-template-areas:
      'header'
      'nav'
      'edit'
      'footer';

    header,
    .edit,
    footer {
      border: none;
    }

    .edit {
      border-top: solid 1px black;
    }
  }

  error-toast-sk toast-sk {
    background-color: var(--error);
    color: var(--on-error);
  }
}
