.icon-add-shortcut {
  background-image: url('../../img/chain-plus-dark.svg');

  .dark & {
    background-image: url('../../img/chain-plus.svg');
  }
}

.heart {
  color: #ff0000;

  &::before {
    content: '\2665';
  }
}

.oc-dialog.bbb-dialog {
  max-height: calc(100% - 70px);
  margin-top: 0;
  padding: 4px 24px;
}

.bbb-dialog {

  .oc-dialog-title {
    font-size: 21px;
    text-align: center;
    margin-top: 0;
  }

  .oc-dialog-close {
    padding: 0;
    top: 0;
  }
}

.bbb-mb-1 {
  margin-bottom: 1em;
}

.bbb-mt-1 {
  margin-top: 1em;
}

.bbb-avatar {
  border-radius: 50%;
  width: 2.5em;
  vertical-align: middle;
}

.text-muted {
  opacity: 0.6;
}

.bbb-qrcode-container {
  display: block;
  height: 34px;
  width: 34px;
  margin: 3px;
  position: relative;
  cursor: zoom-in;

  canvas {
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    top: 0;
    right: 0;
  }

  input[type="checkbox"] {
    display: none;

    &:checked + canvas {
      max-width: none;
      max-height: none;
      box-shadow: 0 0 10px;
      box-shadow: 0 0 5px var(--color-box-shadow);
      cursor: zoom-out;
      border: 5px solid #fff;
    }
  }
}

#bbb-root, #bbb-app {
  width: 100%;
  background-color: var(--color-main-background);
  overflow: auto;
}

pre {
  font-weight: normal;
  background-color: #f1f1f1;
  padding: 1em 2em;
  display: inline-block;
  font-family: monospace;
}

#bbb-warning {
  padding: 1em;
  background-color: var(--color-warning);
  display: inline-block;

  .icon {
    display: inline-block;
  }
}

#bbb-success {
  padding: 1em;
  background-color: var(--color-success);
  display: inline-block;

  .icon {
    display: inline-block;
  }
}

#bbb-settings {
  #bbb-warning,
  #bbb-success {
    margin: 1em 0;
  }

  [type="url"],
  [type="password"] {
    width: 250px;
  }

  h3 {
    margin-top: 3em;
  }

  p {
    margin-bottom: 1em;
  }

  form {
    margin-bottom: 2em;
  }
}

#bbb-react-root,
#bbb-restrictions {
  #bbb-warning,
  #bbb-success {
    margin: 3em;
  }

  p {
    margin-bottom: 1em;
  }

  .button.success {
    background-color: var(--color-success);
    border-color: var(--color-success-hover);
    color: var(--color-primary-text);

    &:hover {
      background-color: var(--color-success-hover);
    }
  }

  .icon {
    display: inline-block;
    opacity: 0;

    &.icon-visible {
      opacity: 0.4;
    }
  }

  .action-item {
    border: 0;
    background-color: transparent;
    padding: 14px;
    border-radius: 50%;
    line-height: 0;
    display: inline-block;

    &:not(button:disabled) .icon {
      opacity: 0.5;
    }

    &:not(button:disabled):hover {
      background-color: var(--color-background-dark);

      .icon {
        opacity: 1;

        &.icon-delete {
          background-image: var(--icon-delete-e9322d);
        }
      }
    }
  }

  &, & > table {
    width: 100%;
  }

  .bbb-shrink {
    width: 44px;
    white-space: nowrap;

    input[type="checkbox"]{

      &+label:before {
        border-radius: 3px;
        border-width: 2px;
      }

      &:disabled+label:before {
        opacity: .5;
      }

      &:not(input:checked):disabled+label:before {
        background-color: transparent !important;
      }
    }
  }

  th {
    padding: 14px 6px;
    border-bottom: 1px var(--color-background-darker) solid;
    cursor: pointer;

    .sort_arrow {
      display: inline-block;
      color: #888;
    }
  }

  td {
    padding: 0 6px;
    position: relative;
    display: table-cell;
    border-bottom: 1px solid var(--color-border-dark);

    & > form {
      margin: -10px;

      input[type='text'] {
        width: 100%;
      }
    }

    .action-rename {
      .icon-rename {
        opacity: 0;
      }

      &:hover .icon-rename {
        opacity: 1;
      }
    }

    &.icon-col {
      width: 42px;
      padding: 0;
    }

    &.name {
      width: 100%;
    }
  }

  tfoot td {
    padding: 14px 6px;
  }

  .selected-row {
    background-color: var(--color-background-dark);
  }

  .recordings-row {
    background-color: var(--color-background-hover);
    box-shadow: inset 0px -5px 7px -7px var(--color-box-shadow);

    &> td {
      padding: 0;
    }

    table {
      width: 100%;
    }
  }

  tbody tr {
    td:first-child {
      padding-left: 5px;
    }

    &:hover {
      background-color: var(--color-background-hover);
      box-shadow: 5px 0 0 var(--color-primary-element) inset;

      .action-rename {
        &::after {
          opacity: 0.5;
        }

        &:hover::after {
          opacity: 1;
        }
      }
    }
  }

  .copy-to-clipboard {
    &:active {
      background-color: var(--color-success) !important;
    }
  }

  input.icon-clippy {
    background-position: 8px center;
    cursor: pointer;
    padding-left: 32px;
  }
}

.bbb-form-element {
  min-width: 300px;
  margin: 2em 0;

  input:not([type="checkbox"]),
  select {
    width: 100%;
    display: block;
  }

  [readonly] {
    background-color: #f1f1f1;
  }

  em {
    white-space: normal;
  }
}

.bbb-simple-menu {
  min-width: auto;
}

.bbb-input-container {
  display: flex;
}