.overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--node-editor-under-page-background-color);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: var(--node-editor-space-lg);
}

.dialog {
  background: var(--node-editor-dialog-background);
  border-radius: var(--node-editor-card-border-radius);
  box-shadow: var(--node-editor-dialog-box-shadow);
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  outline: none;
}

/* Sizes */
.dialog[data-size="small"] {
  width: 100%;
  max-width: 400px;
}

.dialog[data-size="medium"] {
  width: 100%;
  max-width: 600px;
}

.dialog[data-size="large"] {
  width: 100%;
  max-width: 800px;
}

.dialog[data-size="fullscreen"] {
  width: 100vw;
  height: 100vh;
  max-width: none;
  max-height: none;
  border-radius: 0;
}

.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--node-editor-space-lg) var(--node-editor-space-xl);
  border-bottom: 1px solid var(--node-editor-separator-color);
  flex-shrink: 0;
}

.title {
  margin: 0;
  font-size: var(--node-editor-inspector-font-size-body);
  font-weight: 600;
  color: var(--node-editor-header-text-color);
}

.close {
  background: none;
  border: none;
  font-size: var(--node-editor-space-xl);
  color: var(--node-editor-secondary-label-color);
  cursor: pointer;
  padding: var(--node-editor-space-xs);
  line-height: 1;
  border-radius: var(--node-editor-control-border-radius);
  transition: all 0.2s ease;
}

.close:hover {
  color: var(--node-editor-text-color);
  background-color: var(--node-editor-control-hover-background);
}

.close:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--node-editor-keyboard-focus-indicator-color);
}

.content {
  padding: var(--node-editor-space-xl);
  overflow-y: auto;
  flex: 1;
}
