.kpiw-dialog .e-dlg-content { padding: 0 !important; }
.kpiw { display: flex; flex-direction: column; height: 100%; }
.kpiw-stepper-wrap { padding: 20px 28px 12px; border-bottom: 1px solid #e7e8f1; background: #fafaff; }
.kpiw-body { display: flex; flex: 1; min-height: 0; }
.kpiw-main { flex: 1; overflow-y: auto; padding: 24px 28px; }
.kpiw-side { width: 290px; flex-shrink: 0; border-left: 1px solid #e7e8f1; background: #fafaff; padding: 24px 20px; overflow-y: auto; }
.kpiw-step-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #3833ff; }
.kpiw-step-title { font-size: 20px; font-weight: 600; margin: 4px 0 6px; color: #1f2333; }
.kpiw-step-intro { color: #5a5f73; margin-bottom: 22px; max-width: 640px; }
.kpiw-field { margin-bottom: 20px; }
.kpiw-field > label { font-weight: 600; color: #1f2333; margin-bottom: 2px; display: block; }
.kpiw-help { font-size: 13px; color: #6b7085; margin-bottom: 8px; line-height: 1.45; }
.kpiw-error { font-size: 13px; color: #d63a3a; margin-top: 6px; display: flex; align-items: center; gap: 4px; }
.kpiw-error .material-symbols-rounded { font-size: 16px; }
.kpiw .form-control.is-invalid, .kpiw .form-select.is-invalid { border-color: #d63a3a; box-shadow: 0 0 0 3px rgba(214, 58, 58, .12); }
.kpiw-switch.form-switch { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; margin: 0; border: 1px solid #e7e8f1; border-radius: 10px; }
.kpiw-switch.form-switch .form-check-input { float: none; flex-shrink: 0; margin: 3px 0 0 0; }
.kpiw-picker { cursor: pointer; }
.kpiw-types { display: flex; flex-direction: column; gap: 10px; border-radius: 12px; outline: none; }
.kpiw-types.is-invalid { box-shadow: 0 0 0 2px #d63a3a; padding: 4px; }
.kpiw-type { width: 100%; text-align: left; border: 1px solid #e7e8f1; background: #fff; border-radius: 12px; padding: 12px 16px; display: flex; align-items: center; gap: 14px; transition: border-color .15s, box-shadow .15s; }
.kpiw-type:hover { border-color: #b9b7ff; }
.kpiw-type.selected { border-color: #3833ff; box-shadow: 0 0 0 3px #ecebff; }
.kpiw-type-icon { width: 40px; height: 40px; border-radius: 10px; background: #ecebff; color: #3833ff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.kpiw-type-text { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.kpiw-type-name { font-weight: 600; color: #1f2333; }
.kpiw-type-desc { font-size: 13px; color: #6b7085; line-height: 1.4; }
.kpiw-type-check { color: #d5d6e0; flex-shrink: 0; }
.kpiw-type.selected .kpiw-type-check { color: #3833ff; }
.kpiw-options { border: 1px solid #e7e8f1; border-radius: 12px; padding: 16px; margin-bottom: 20px; }
.kpiw-options.is-invalid { border-color: #d63a3a; }
.kpiw-option-row { display: grid; grid-template-columns: 1fr 2fr auto; gap: 10px; align-items: end; margin-bottom: 10px; }
.kpiw-side-title { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #6b7085; margin-bottom: 12px; }
.kpiw-sum-item { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 8px 10px; border-radius: 8px; margin-bottom: 2px; }
.kpiw-sum-item:hover { background: #ecebff; }
.kpiw-sum-label { font-size: 12px; color: #6b7085; }
.kpiw-sum-value { font-weight: 500; color: #1f2333; word-break: break-word; }
.kpiw-sum-value.empty { color: #a2a6b8; font-weight: 400; font-style: italic; }
.kpiw-sum-value.missing { color: #d63a3a; }
.kpiw-footer { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.kpiw-footer-progress { color: #6b7085; font-size: 13px; }
@media (max-width: 900px) {
    .kpiw-side { display: none; }
}
