src/constants/bookmarksOutlinesShared.scss
.bookmark-outline-panel {
  display: flex;
  padding-inline-start: var(--padding);
  padding-inline-end: var(--padding-small);
}

.bookmark-outline-control-button {
  width: auto;

  span {
    color: inherit;
  }

  &,
  &[disabled],
  &.disabled {
    color: var(--secondary-button-text);
  }

  &[disabled],
  &.disabled {
    opacity: 0.5;

    span {
      color: inherit;
    }
  }

  &:not([disabled]),
  &:not(.disabled) {
    &:hover,
    &:active {
      color: var(--secondary-button-hover);
    }
  }
}

.bookmark-outline-panel-header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  padding: var(--padding-tiny);
  border-bottom: 1px solid var(--divider);

  .header-title {
    font-size: 16px;
  }
}

.bookmark-outline-row {
  flex-grow: 1;
  overflow-y: auto;
}

.msg-no-bookmark-outline {
  color: var(--placeholder-text);
  text-align: center;
}

.bookmark-outline-single-container {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  border-radius: 4px;
  margin-inline-start: 2px;
  margin-inline-end: 2px;

  &.default {
    padding: var(--padding-tiny);
    border: 1px solid transparent;

    &.hover,
    &:hover,
    &:focus-within {
      cursor: pointer;

      .bookmark-outline-more-button {
        display: flex;
        background-color: transparent;
      }
    }

    &:focus-within {
      border-color: transparent;
    }

    .bookmark-outline-label-row {
      overflow: hidden;
    }

    &:focus-visible {
      outline: var(--focus-visible-outline) !important;
    }
  }

  &.editing {
    background-color: var(--faded-component-background);
    padding: var(--padding-medium) 20px;

    &:focus-visible {
      outline: var(--focus-visible-outline) !important;
    }
  }

  &.preview {
    display: inline-flex;
    margin-top: 0;
    padding: var(--padding-small);
    background-color: var(--component-background);
    box-shadow: 0px 0px 3px var(--note-box-shadow);
  }

  .bookmark-outline-checkbox {
    flex-grow: 0;
    flex-shrink: 0;
    margin-top: 2px;
    margin-bottom: 2px;
    margin-inline-end: var(--padding-small);
  }

  .bookmark-outline-label-row {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
  }

  .bookmark-outline-label {
    font-weight: 600;
    flex-grow: 1;
    flex-shrink: 1;
    margin-bottom: var(--padding-small);
  }

  .bookmark-outline-text,
  .bookmark-outline-input {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc(100% - (16px + 6px)); // more-button width + margin-inline-start
    margin-top: 2px;
    margin-bottom: 2px;
  }

  .bookmark-text-input {
    margin-inline-start: var(--padding-large);
  }

  .bookmark-outline-input {
    color: var(--text-color);
    width: calc(100% - var(--padding-large));
    padding: var(--padding-small);
    border: 1px solid var(--border);

    &:focus {
      border-color: var(--outline-color);
    }

    &::placeholder {
      color: var(--placeholder-text);
    }
  }

  .bookmark-outline-more-button {
    display: none;
    flex-grow: 0;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin: 2px 2px 2px var(--padding-tiny);

    .Icon {
      width: 14px;
      height: 14px;
    }

    &.icon-only:hover:not(:disabled):not(.disabled) {
      box-shadow: none;
      outline: solid 1px var(--hover-border);
    }

    &:focus-within {
      &.icon-only {
        border: none;
        box-shadow: none;
      }

      .Icon {
        color: var(--focus-border);
      }
    }
  }

  .bookmark-outline-editing-controls {
    padding: 2px;
    flex-basis: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: center;
    margin-top: var(--padding-medium);
  }

  .bookmark-outline-cancel-button,
  .bookmark-outline-save-button {
    width: auto;
    padding: 6px var(--padding);
  }

  .bookmark-outline-cancel-button {
    color: var(--secondary-button-text);

    &:hover {
      color: var(--secondary-button-hover);
    }
  }

  .bookmark-outline-save-button {
    color: var(--primary-button-text);
    background-color: var(--primary-button);
    margin-inline-start: var(--padding-tiny);
    border-radius: 4px;

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

    &:disabled,
    &.disabled {
      background-color: var(--primary-button) !important;
      opacity: 0.5;

      span {
        color: var(--primary-button-text);
      }
    }
  }
}

.bookmark-outline-footer {
  border-top: 1.5px solid var(--gray-4);
  padding-top: var(--padding-medium);
  padding-bottom: var(--padding-medium);
  display: flex;
  justify-content: center;
  align-items: center;

  .add-new-button {
    .Icon {
      width: 14px;
      height: 14px;
      margin-inline-end: var(--padding-tiny);
      color: inherit;
      fill: currentColor;
    }

    &[disabled],
    &.disabled {
      .Icon.disabled,
      .Icon.disabled path {
        color: inherit;
        fill: currentColor;
      }
    }
  }

  .multi-selection-button {
    width: auto;
    padding: 7px;

    .Icon {
      width: 18px;
      height: 18px;
    }

    &:not(:first-child) {
      margin-inline-start: var(--padding-tiny);
    }

    &:hover {
      background-color: transparent;
    }

    &:disabled,
    &.disabled {
      &:hover {
        box-shadow: none;
      }
    }
  }
}
