/* styles.css */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    display: flex;
}

#menu {
    width: 20%;
    height: 100vh;
    background-color: #f4f4f4;
    border-right: 1px solid #ccc;
    padding: 20px;
    box-sizing: border-box;
}

#menu h3 {
    margin-top: 0;
}

.draggable {
    background-color: #e0e0e0;
    padding: 10px;
    margin: 10px 0;
    cursor: grab;
}

#canvas {
    flex-grow: 1;
    height: 100vh;
    padding: 20px;
    background-color: #fafafa;
    position: relative;
    overflow: auto;
}

.canvas-object {
    position: relative;
    padding: 10px;
    border: 1px solid #ccc;
    background-color: #fff;
    margin: 10px 0;
    box-sizing: border-box;
}

.process {
    width: 90%;
    position: relative;
    min-height: 50px;
    padding: 20px;
    box-sizing: border-box;
}

/* Step Container */
.step-container {
    width: 100%; /* Full width within the process */
    margin: 10px 0;
    padding: 10px;
    border: 1px dotted #888;
    background-color: #f0f0f0;
    position: relative;
    display: flex; /* Use flex to align sub-containers side by side */
    gap: 10px; /* Space between sub-containers */
    align-items: flex-start; /* Align items to the top */
}

/* Sub-containers within Step Container */
.steps-wrapper, .prompts-wrapper {
    flex: 1; /* Equal width for both */
    display: flex;
    flex-direction: column; /* Stack children vertically */
    gap: 10px; /* Space between Steps/Prompts */
    box-sizing: border-box;
}

/* Step and Prompt Styles */
.step, .prompt {
    width: 100%; /* Full width within their wrappers */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    background-color: #fff; /* White background for visibility */
    border: 1px solid #ccc; /* Border for distinction */
    padding: 10px; /* Padding for content */
}

.step .name, .prompt .name {
    font-weight: bold;
}

.step-instruction {
    margin-top: 5px;
    width: 100%;
    resize: vertical;
    box-sizing: border-box;
}

/* Step details section - hidden by default */
.step-details-section {
    display: none; /* Hidden by default */
    margin-top: 10px;
}

/* Toggle button to show/hide details */
.toggle-details {
    margin-top: 10px;
    cursor: pointer;
    background-color: #e0e0e0;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
}



.input-label {
    font-weight: bold;
    margin-right: 10px;
    white-space: nowrap; /* Ensure the label stays on one line */
}

.input-group {
    display: flex;
    align-items: center; /* Align label and input on the same line */
    width: 100%;
    margin-bottom: 10px; /* Space between input fields */
    max-width: 600px; /* Set a max-width to avoid layout issues */
}

.input-group input[type="text"], .input-group textarea {
    flex-grow: 1;
    padding: 5px;
    box-sizing: border-box;
    margin-left: 10px; /* Margin between label and input field */
}

input[type="text"], textarea {
    padding: 5px;
    box-sizing: border-box;
}

.prompt-tool, .prompt-input {
    width: 100%;
    box-sizing: border-box;
}

.prompt-execute, .prompt-copy {
    margin-top: 5px;
}

.name {
    cursor: pointer;
}

.prompt-field {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.highlight {
    border: 2px dashed #007BFF; /* Blue dashed border */
    background-color: rgba(0, 123, 255, 0.1); /* Light blue background */
}


