/* === NEW: Styles for the Wizard Steps === */
.wizard-steps {
    display: flex;
    justify-content: space-around;
    padding: 1rem 0;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.wizard-step {
    display: flex;
    align-items: center;
    color: #6c757d; /* Muted text */
}

.wizard-step .step-number {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: #e9ecef;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.5rem;
    font-weight: bold;
}

.wizard-step.active {
    color: #0056b3; /* Primary color */
    font-weight: bold;
}

.wizard-step.active .step-number {
    background-color: #007bff;
    color: white;
}

.wizard-step.completed {
    color: #28a745; /* Success color */
}

.wizard-step.completed .step-number {
    background-color: #28a745;
    color: white;
}

/* === NEW: Styles for Validation Results in Wizard === */
.validation-result {
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f1f3f5;
}
.validation-result:last-child {
    border-bottom: none;
}

.validation-icon {
    width: 24px;
    height: 24px;
    margin-right: 0.75rem;
}

.validation-text {
    flex-grow: 1;
}

.validation-message {
    font-size: 0.85rem;
    color: #6c757d;
}

/* === NEW: Styles for Field Mapping UI === */
.field-mapping-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
}

.field-mapping-grid .card {
    height: 100%;
}

.field-mapping-grid .card-body {
    max-height: 400px;
    overflow-y: auto;
}

.field-mapping-grid .arrow-icon {
    font-size: 1.5rem;
    color: #adb5bd;
}

.field-mapping-grid .field-list-item {
    padding: 0.5rem 0.75rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    margin-bottom: 0.5rem;
    cursor: grab;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.field-mapping-grid .field-list-item.is-dragging {
    opacity: 0.5;
    background: #f1f3f5;
}

.field-mapping-grid .drop-target {
    border: 2px dashed #adb5bd;
    padding: 1rem;
    border-radius: 4px;
    min-height: 50px;
    transition: background-color 0.2s;
}

.field-mapping-grid .drop-target.is-over {
    background-color: #e9ecef;
}

.field-mapping-grid .mapped-field-tag {
    display: inline-flex;
    align-items: center;
    background-color: #e9ecef;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.field-mapping-grid .mapped-field-tag .remove-tag-btn {
    margin-left: 0.5rem;
    cursor: pointer;
}