.DataPipeline { color: #243447; font-family: Arial, sans-serif; min-height: 620px; }
.DataPipeline * { box-sizing: border-box; }
.DataPipelineHeader { align-items: center; background: #fff; border-bottom: 1px solid #dfe5eb; display: flex; gap: 12px; padding: 12px 18px; }
.DataPipelineHeader input { border: 1px solid #cbd5df; border-radius: 3px; font-size: 18px; font-weight: 600; padding: 7px 9px; width: min(520px, 45vw); }
.DataPipelineHeader .DPSpacer { flex: 1; }
.DataPipeline button { background: #fff; border: 1px solid #aebbc7; border-radius: 3px; color: #263746; cursor: pointer; padding: 7px 12px; }
.DataPipeline button:hover { background: #f3f7fa; }
.DataPipeline button.DPPrimary { background: #1769aa; border-color: #1769aa; color: #fff; }
.DataPipeline button.DPDanger { border-color: #cc5b55; color: #a82f2a; }
.DataPipelineBody { display: grid; grid-template-columns: 260px minmax(500px, 1fr) 330px; min-height: 570px; }
.DataPipelinePanel { background: #fff; border-right: 1px solid #dfe5eb; padding: 16px; }
.DataPipelinePanel:last-child { border-left: 1px solid #dfe5eb; border-right: 0; }
.DataPipelineCanvas { background: #f4f6f8; padding: 20px; }
.DPHeading { color: #667785; font-size: 11px; font-weight: 700; letter-spacing: .08em; margin: 0 0 9px; text-transform: uppercase; }
.DPSource, .DPEnhancement { background: #fff; border: 1px solid #d6dee5; border-radius: 5px; margin-bottom: 12px; padding: 13px; position: relative; }
.DPSource { border-left: 4px solid #1769aa; }
.DPEnhancement { cursor: pointer; padding-left: 48px; }
.DPEnhancement.DPSelected { border-color: #1769aa; box-shadow: 0 0 0 1px #1769aa; }
.DPEnhancementIcon { background: #e7f0f8; border-radius: 50%; color: #1769aa; font-weight: 700; height: 28px; left: 11px; line-height: 28px; position: absolute; text-align: center; top: 11px; width: 28px; }
.DPEnhancementTitle { font-weight: 700; }
.DPEnhancementMeta, .DPHelp, .DPStatus { color: #687986; font-size: 12px; line-height: 1.45; margin-top: 4px; }
.DPSelectedFieldList { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; max-height: 94px; overflow: auto; padding-right: 3px; }
.DPSelectedField { background: #eaf2f8; border: 1px solid #c5dbea; border-radius: 11px; color: #285b7e; font-size: 11px; line-height: 1.25; max-width: 260px; overflow: hidden; padding: 3px 8px; text-overflow: ellipsis; white-space: nowrap; }
.DPNoSelectedFields { color: #8a98a3; display: block; font-size: 11px; font-style: italic; }
.DPFlowLine { border-left: 2px solid #aebcc8; height: 18px; margin: -12px 0 0 24px; }
.DPAddMenu button { display: block; margin: 7px 0; text-align: left; width: 100%; }
.DPField { margin-bottom: 13px; }
.DPField label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 4px; }
.DPField input, .DPField select, .DPField textarea { border: 1px solid #bdc9d3; border-radius: 3px; padding: 7px; width: 100%; }
.DPField textarea { font-family: Consolas, monospace; min-height: 150px; resize: vertical; }
.DPField select[multiple] { min-height: 145px; }
.DPAIAFieldTools { display: flex; flex-direction: column; gap: 6px; margin-bottom: 6px; }
.DPAIAFieldTools input { width: 100%; }
.DPAIAFieldTools > div { display: flex; gap: 6px; }
.DPAIAFieldTools button { font-size: 11px; padding: 5px 8px; }
.DPAIASelectedCount { color: #1769aa; font-size: 11px; font-weight: 700; margin-bottom: 5px; }
.DPAIAFieldChoices { border: 1px solid #bdc9d3; border-radius: 3px; max-height: 250px; overflow: auto; }
.DPAIAFieldChoice { align-items: flex-start; border-bottom: 1px solid #e5eaee; cursor: pointer; display: flex !important; gap: 7px; margin: 0 !important; padding: 7px; }
.DPAIAFieldChoice:last-child { border-bottom: 0; }
.DPAIAFieldChoice:hover { background: #f1f6fa; }
.DPAIAFieldChoice input { flex: 0 0 auto; margin-top: 2px; width: auto; }
.DPAIAFieldChoice span { min-width: 0; }
.DPAIAFieldChoice b, .DPAIAFieldChoice small { display: block; overflow-wrap: anywhere; }
.DPAIAFieldChoice b { font-size: 12px; }
.DPAIAFieldChoice small { color: #758591; font-size: 10px; font-weight: 400; margin-top: 2px; }
.DPQuerySelection { background: #f5f8fa; border: 1px solid #d6dee5; border-radius: 4px; margin-bottom: 10px; min-height: 57px; padding: 10px; }
.DPQuerySelectionTitle { font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.DPDatasetSelection { background: #f5f8fa; border: 1px solid #d6dee5; border-radius: 4px; margin-bottom: 7px; min-height: 54px; padding: 9px; }
.DPQueryPickerIntro { background: #edf5fb; border: 1px solid #c9deee; border-radius: 4px; color: #405565; margin-bottom: 10px; padding: 9px 12px; }
.DPQueryPicker { height: calc(100% - 48px); min-height: 480px; overflow: auto; }
.DPQueryPicker .LOListHeader { display: none; }
.DPQueryPicker .LOButtonArea, .DPQueryPicker .dashboard-filter-containerLO { display: none; }
.DPQueryPicker .MyCard { cursor: pointer; }
.DPQueryPicker .MyCard:hover { box-shadow: 0 0 0 2px #1769aa; }
.DPQueryPickerDialog .ui-dialog-content { overflow: hidden !important; }
.DPDatasetPickerDialog .ui-dialog-content { overflow: hidden !important; }
.DPDatasetPicker { display: flex; flex-direction: column; height: calc(100% - 48px); min-height: 460px; }
.DPDatasetSearch { display: flex; gap: 7px; margin-bottom: 10px; }
.DPDatasetSearch input { border: 1px solid #bdc9d3; border-radius: 3px; flex: 1; padding: 9px; }
.DPDatasetResults { flex: 1; overflow: auto; }
.DPDatasetResult { align-items: flex-start; border: 0 !important; border-bottom: 1px solid #dfe5eb !important; border-radius: 0 !important; display: flex; flex-direction: column; padding: 11px 12px !important; text-align: left; width: 100%; }
.DPDatasetResult:hover { background: #edf5fb !important; }
.DPDatasetResultName { color: #243447; font-size: 14px; font-weight: 700; }
.DPDatasetResultMeta { color: #1769aa; font-size: 11px; margin-top: 3px; }
.DPDatasetResultDescription { color: #687986; font-size: 12px; margin-top: 4px; }
.DPDatasetPager { align-items: center; border-top: 1px solid #dfe5eb; display: flex; gap: 10px; justify-content: center; padding-top: 10px; }
.DPDatasetPageStatus { color: #687986; min-width: 190px; text-align: center; }
.DPRow { display: flex; gap: 8px; }
.DPRow > * { flex: 1; }
.DPBadge { background: #eaf2f8; border-radius: 9px; color: #1769aa; display: inline-block; font-size: 11px; margin-left: 5px; padding: 2px 7px; }
.DPEmpty { color: #7a8995; padding: 35px 15px; text-align: center; }
.DPValidation { background: #fff5df; border: 1px solid #ead098; border-radius: 4px; color: #6c5319; margin: 10px 0; padding: 9px; }
@media (max-width: 1150px) { .DataPipelineBody { grid-template-columns: 220px 1fr; } .DataPipelinePanel:last-child { border-left: 0; border-top: 1px solid #dfe5eb; grid-column: 1 / -1; } }
