.dynamic-component {
    width: 100%;

    // Element Plus 表单项适配
    :deep(.el-form-item) {
        margin-bottom: 18px;

        .el-form-item__label {
            font-weight: 500;
            color: #606266;
            font-size: 14px;
        }

        .el-form-item__content {
            .el-input,
            .el-select,
            .el-date-editor,
            .el-time-picker,
            .el-cascader,
            .el-tree-select {
                width: 100%;
            }

            // 数字输入框
            .el-input-number {
                width: 100%;
                
                .el-input__wrapper {
                    width: 100%;
                }
            }

            // 复选框组和单选框组
            .el-checkbox-group,
            .el-radio-group {
                display: flex;
                flex-wrap: wrap;
                gap: 16px;

                .el-checkbox,
                .el-radio {
                    margin-right: 0;
                }
            }

            // 开关组件
            .el-switch {
                .el-switch__label {
                    font-size: 14px;
                    color: #606266;
                }
            }

            // 滑块组件
            .el-slider {
                .el-slider__input {
                    width: 130px;
                }
            }

            // 评分组件
            .el-rate {
                display: flex;
                align-items: center;
                
                .el-rate__text {
                    margin-left: 8px;
                    font-size: 14px;
                    color: #606266;
                }
            }

            // 颜色选择器
            .el-color-picker {
                .el-color-picker__trigger {
                    border: 1px solid #dcdfe6;
                    border-radius: 4px;
                    
                    &:hover {
                        border-color: #c0c4cc;
                    }
                }
            }

            // 上传组件
            .el-upload {
                &.upload-demo {
                    .el-upload__tip {
                        margin-top: 8px;
                        font-size: 12px;
                        color: #909399;
                    }
                }
            }

            // 级联选择器
            .el-cascader {
                .el-cascader__tags {
                    max-width: 100%;
                }
            }

            // 树形选择
            .el-tree-select {
                .el-tree-select__tags {
                    max-width: 100%;
                }
            }
        }

        // 错误状态样式
        &.is-error {
            .el-input__wrapper,
            .el-select__wrapper,
            .el-date-editor,
            .el-cascader__wrapper,
            .el-tree-select__wrapper {
                box-shadow: 0 0 0 1px #f56565 inset;
            }
        }

        // 必填标记
        &.is-required {
            .el-form-item__label::before {
                content: '*';
                color: #f56565;
                margin-right: 4px;
            }
        }
    }

    // 描述信息图标
    .description-icon {
        margin-left: 4px;
        color: #909399;
        cursor: help;
        font-size: 14px;

        &:hover {
            color: #409eff;
        }
    }

    // 自定义样式调整
    .el-form-item__content {
        // 确保组件占满宽度
        .el-input,
        .el-select,
        .el-date-editor,
        .el-cascader,
        .el-tree-select {
            width: 100% !important;
        }

        // 日期范围选择器特殊处理
        .el-date-editor--daterange,
        .el-date-editor--datetimerange {
            width: 100% !important;
        }

        // 多选标签折叠样式
        .el-tag {
            margin-right: 6px;
            margin-bottom: 4px;
        }
    }

    // 响应式设计
    @media (max-width: 768px) {
        :deep(.el-form-item) {
            .el-form-item__content {
                .el-checkbox-group,
                .el-radio-group {
                    flex-direction: column;
                    gap: 12px;
                }
            }
        }
    }
}