@import url(~elements-sk/colors.css);

incident-sk {
  display: block;
  padding: 0;
  font-size: 90%;

  h2 {
    padding: 0.2em 0.6em;
    margin: 0;
    font-size: 18px;
    cursor: pointer;
  }

  .matchingSilencesHeaders {
    display: inline-flex;
    width: 100%;
  }

  .matchingSilencesHeaders checkbox-sk {
    padding: 0.7em 1em;
    margin-left: auto;
  }

  .note {
    padding: 0.4em;
  }

  td {
    text-align: left;
  }

  th {
    text-align: right;
  }

  td {
    padding: 0.1em 0.4em;
  }

  td a {
    color: var(--blue);
  }

  textarea {
    display: block;
    margin: 0.6em 0.6em;
  }

  p {
    background: var(--white);
    padding: 0.5em;
    display: block;
    border-radius: 0.5em;
    margin-bottom: 0.5em;
  }

  section {
    margin: 0.6em;
  }

  .date {
    margin: 0 1em;
    color: var(--orange);
  }

  .author {
    color: var(--green);
  }

  .flaky {
    font-size: 0.75em;
    color: var(--black);
  }

  delete-icon-sk {
    fill: var(--gray);
    cursor: pointer;
    border: solid transparent 1px;
  }

  delete-icon-sk:hover {
    border: solid var(--gray) 1px;
  }

  .meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  .nosilences {
    padding: 0 1em;
    font-weight: bold;
  }

  .loading {
    padding: 0 1em;
    font-style: italic;
  }
}

incident-sk[minimized] .params,
incident-sk[minimized] .addNote,
incident-sk[minimized] .history,
incident-sk[minimized] .flaky,
incident-sk[minimized] .matchingSilences {
  display: none;
}

incident-sk[minimized][params] .params {
  display: block;
}


incident-sk[minimized] {
  margin: 1em;
  background: var(--dark-white);
}
