.span-template-editor {
  padding: 20px;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--border-radius-xs);
  background-color: var(--color-bg-secondary);

  > textarea {
    min-height: 220px;
    resize: vertical;
    line-height: 1.5;
    white-space: pre-wrap;
  }

  [data-span-template-header] {
    margin-bottom: 12px;

    h4 {
      margin: 0 0 4px;
      color: var(--color-text-primary);
      font-size: var(--font-size-lg);
    }

    p {
      margin: 0;
      color: var(--color-text-quaternary);
      font-size: var(--font-size-sm);
    }
  }

  [data-span-input-toolbar] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;

    > span {
      margin-right: 4px;
      color: var(--color-text-quaternary);
      font-size: var(--font-size-sm);
    }
  }

  [data-span-inputs-header] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 20px 0 10px;
    color: var(--color-text-primary);

    span {
      color: var(--color-text-quaternary);
      font-size: var(--font-size-sm);
    }
  }

  [data-span-inputs] {
    display: grid;
    gap: 12px;
  }

  [data-span-input-node] {
    padding: 16px;
    border: 1px solid var(--color-border-secondary);
    border-radius: var(--border-radius-xs);
    background-color: var(--color-bg-primary);

    .row:last-child {
      margin-bottom: 0;
    }
  }

  [data-span-input-node-header] {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    display: flex;
    gap: 4px;

    > div {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    strong {
      color: var(--color-text-primary);
    }

    > span {
      overflow-wrap: anywhere;
      color: var(--color-text-quaternary);
      font-size: var(--font-size-sm);
    }
  }

  [data-span-input-type-name] {
    padding: 2px 6px;
    border-radius: var(--border-radius-xs);
    background-color: var(--color-bg-tertiary);
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--weight-medium);
  }

  [data-span-input-checkbox-column] {
    display: flex;
    align-items: center;
    padding-top: 20px;
  }

  [data-span-input-options-fields] {
    textarea {
      resize: vertical;
    }

    p {
      margin: 4px 0 0;
      color: var(--color-text-quaternary);
      font-size: var(--font-size-xs);
    }
  }

  [data-span-inputs-empty] {
    padding: 16px;
    border: 1px dashed var(--color-border-primary);
    border-radius: var(--border-radius-xs);
    color: var(--color-text-quaternary);
    font-size: var(--font-size-sm);
    text-align: center;
  }
}
