.vPlaylistSidebar {
  display: flex;
  flex-direction: column;
  gap: 4px;

  margin-top: 12px;
  padding-top: 12px;

  border-top:
    1px solid rgba(255,255,255,.08);
}


.vPlaylistSidebarTitle {
  padding: 7px 10px;

  font-size: 12px;
  font-weight: 800;

  opacity: .55;

  text-transform: uppercase;
  letter-spacing: .7px;
}


.vPlaylistSidebarItem,
.vPlaylistCreate {
  width: 100%;

  display: flex;
  align-items: center;
  gap: 9px;

  padding: 9px 10px;

  border: 0;
  border-radius: 10px;

  background: transparent;
  color: inherit;

  text-align: left;

  cursor: pointer;
}


.vPlaylistSidebarItem:hover,
.vPlaylistCreate:hover {
  background:
    rgba(255,255,255,.07);
}


.vPlaylistSidebarName {
  flex: 1;

  min-width: 0;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.vPlaylistSidebarItem small {
  opacity: .45;
}


.vPlaylistCreate {
  opacity: .8;
}


.vPlaylistSidebarHint {
  padding: 7px 10px;

  font-size: 11px;
  line-height: 1.4;

  opacity: .42;
}


/* Modal */

.vPlaylistModal {
  position: fixed;
  inset: 0;

  z-index: 99999;

  display: none;
  place-items: center;

  padding: 20px;

  background:
    rgba(0,0,0,.72);
}


.vPlaylistModal.open {
  display: grid;
}


.vPlaylistDialog {
  width: min(620px, 100%);
  max-height: min(700px, 85vh);

  overflow: hidden;

  border:
    1px solid rgba(255,255,255,.1);

  border-radius: 18px;

  background: #111114;

  box-shadow:
    0 30px 100px rgba(0,0,0,.5);
}


.vPlaylistDialogHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 18px 20px;

  border-bottom:
    1px solid rgba(255,255,255,.08);
}


.vPlaylistDialogHeader h2 {
  margin: 0;

  font-size: 19px;
}


#vPlaylistModalClose {
  width: 38px;
  height: 38px;

  border: 0;
  border-radius: 10px;

  background:
    rgba(255,255,255,.07);

  color: inherit;

  font-size: 24px;

  cursor: pointer;
}


.vPlaylistModalContent {
  max-height: 60vh;

  overflow: auto;

  padding: 12px;
}


.vPlaylistVideo {
  display: flex;
  align-items: center;
  gap: 12px;

  padding: 12px;

  border-radius: 12px;
}


.vPlaylistVideo:hover {
  background:
    rgba(255,255,255,.045);
}


.vPlaylistVideoInfo {
  flex: 1;
  min-width: 0;
}


.vPlaylistRemove {
  border: 0;
  border-radius: 9px;

  padding: 8px 10px;

  background:
    rgba(255,255,255,.07);

  color: inherit;

  cursor: pointer;
}


.vPlaylistLoading,
.vPlaylistEmpty {
  padding: 35px 20px;

  text-align: center;

  opacity: .55;
}
