.j-dialog-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.j-dialog-mask.show {
  opacity: 1;
  display: flex !important;
}

.j-dialog.show {
  transform: translateY(0);
  opacity: 1;
  display: flex !important;
}

.j-dialog {
  background-color: var(--j-color-white);
  border-radius: 4px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  height: 100%; /* 确保弹框高度占满父容器 */
  transform: translateY(-20px);
  opacity: 0;
  transition: all 0.3s ease;
}

.j-dialog-content {
  flex: 1; /* 让内容区域占据剩余空间 */
  overflow-y: auto; /* 如果内容过多，添加滚动条 */
  padding: 10px 20px;
}

.j-dialog-footer {
  display: flex;
  align-items: center;
  justify-content: end;
  height: 36px;
  padding: 0px 20px;
  margin-top: auto; /* 让footer始终在底部 */
  border-top: 1px solid var(--j-border-color-light);
}

.j-dialog-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 36px;
  font-size: 16px;
  font-weight: 500;
  padding: 0px 20px;
  color: var(--j-color-text-primary);
  border-bottom: 1px solid var(--j-border-color-light);
}

.j-dialog-close {
  cursor: pointer;
  font-size: 20px;
  color: var(--j-color-text-secondary);
  transition: color 0.3s;
}

.j-dialog-close:hover {
  color: var(--j-color-primary);
}

.j-dialog-footer .j-btn {
  margin-left: 10px;
}