@memberjunction/ng-dashboards 5.44.0 → 5.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +1 -0
  2. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
  3. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +5 -3
  4. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
  5. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts +4 -2
  6. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  7. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +13 -11
  8. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  9. package/dist/AI/components/prompts/prompt-version-control.component.d.ts +3 -1
  10. package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
  11. package/dist/AI/components/prompts/prompt-version-control.component.js +12 -10
  12. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  13. package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
  14. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  15. package/dist/AI/components/tags/tags-resource.component.js +10 -8
  16. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  17. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +2 -1
  18. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
  19. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +1 -1
  20. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  21. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts +1 -0
  22. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  23. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +5 -3
  24. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  25. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +3 -1
  26. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  27. package/dist/Credentials/components/credentials-categories-resource.component.js +11 -5
  28. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  29. package/dist/Credentials/components/credentials-list-resource.component.d.ts +3 -2
  30. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  31. package/dist/Credentials/components/credentials-list-resource.component.js +23 -9
  32. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  33. package/dist/Credentials/components/credentials-types-resource.component.d.ts +3 -2
  34. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  35. package/dist/Credentials/components/credentials-types-resource.component.js +10 -4
  36. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  37. package/dist/DatabaseDesigner/components/modify/database-modify.component.d.ts +2 -1
  38. package/dist/DatabaseDesigner/components/modify/database-modify.component.d.ts.map +1 -1
  39. package/dist/DatabaseDesigner/components/modify/database-modify.component.js +13 -6
  40. package/dist/DatabaseDesigner/components/modify/database-modify.component.js.map +1 -1
  41. package/dist/FormBuilder/form-builder-resource.component.d.ts +2 -1
  42. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
  43. package/dist/FormBuilder/form-builder-resource.component.js +10 -8
  44. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
  45. package/dist/MCP/mcp-dashboard.component.d.ts +3 -1
  46. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  47. package/dist/MCP/mcp-dashboard.component.js +32 -14
  48. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  49. package/dist/QueryBrowser/query-browser-resource.component.d.ts +4 -2
  50. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  51. package/dist/QueryBrowser/query-browser-resource.component.js +15 -13
  52. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  53. package/dist/UserRoutines/user-routines-agent-context.d.ts +44 -0
  54. package/dist/UserRoutines/user-routines-agent-context.d.ts.map +1 -0
  55. package/dist/UserRoutines/user-routines-agent-context.js +81 -0
  56. package/dist/UserRoutines/user-routines-agent-context.js.map +1 -0
  57. package/dist/UserRoutines/user-routines-resource.component.d.ts +60 -0
  58. package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -0
  59. package/dist/UserRoutines/user-routines-resource.component.js +328 -0
  60. package/dist/UserRoutines/user-routines-resource.component.js.map +1 -0
  61. package/dist/module.d.ts +16 -15
  62. package/dist/module.d.ts.map +1 -1
  63. package/dist/module.js +7 -0
  64. package/dist/module.js.map +1 -1
  65. package/dist/public-api.d.ts +2 -0
  66. package/dist/public-api.d.ts.map +1 -1
  67. package/dist/public-api.js +3 -0
  68. package/dist/public-api.js.map +1 -1
  69. package/dist/routines-dashboards.module.d.ts +17 -0
  70. package/dist/routines-dashboards.module.d.ts.map +1 -0
  71. package/dist/routines-dashboards.module.js +65 -0
  72. package/dist/routines-dashboards.module.js.map +1 -0
  73. package/package.json +63 -58
@@ -5,9 +5,9 @@ import { UUIDsEqual } from '@memberjunction/global';
5
5
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@memberjunction/ng-notifications";
8
- import * as i2 from "@angular/forms";
9
- import * as i3 from "@memberjunction/ng-shared-generic";
10
- import * as i4 from "@memberjunction/ng-ui-components";
8
+ import * as i2 from "@memberjunction/ng-ui-components";
9
+ import * as i3 from "@angular/forms";
10
+ import * as i4 from "@memberjunction/ng-shared-generic";
11
11
  const _forTrack0 = ($index, $item) => $item.ID;
12
12
  const _forTrack1 = ($index, $item) => $item.promptId + "_" + $item.modelId;
13
13
  function ModelPromptPriorityMatrixComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
@@ -395,6 +395,7 @@ function ModelPromptPriorityMatrixComponent_Conditional_35_Template(rf, ctx) { i
395
395
  } }
396
396
  export class ModelPromptPriorityMatrixComponent extends BaseAngularComponent {
397
397
  notificationService;
398
+ confirmService;
398
399
  selectedPrompts = [];
399
400
  selectedModels = [];
400
401
  readonly = false;
@@ -428,9 +429,10 @@ export class ModelPromptPriorityMatrixComponent extends BaseAngularComponent {
428
429
  performanceData = {};
429
430
  showPerformanceOverlay = false;
430
431
  destroy$ = new Subject();
431
- constructor(notificationService) {
432
+ constructor(notificationService, confirmService) {
432
433
  super();
433
434
  this.notificationService = notificationService;
435
+ this.confirmService = confirmService;
434
436
  }
435
437
  ngOnInit() {
436
438
  this.loadData();
@@ -773,11 +775,11 @@ export class ModelPromptPriorityMatrixComponent extends BaseAngularComponent {
773
775
  hasUnsavedChanges() {
774
776
  return this.associations.some(a => a.isNew || a.isModified);
775
777
  }
776
- discardChanges() {
778
+ async discardChanges() {
777
779
  if (!this.hasUnsavedChanges())
778
780
  return;
779
- const confirm = window.confirm('Discard all unsaved changes?');
780
- if (confirm) {
781
+ const confirmed = await this.confirmService.Confirm('Discard all unsaved changes?');
782
+ if (confirmed) {
781
783
  this.loadData();
782
784
  }
783
785
  }
@@ -854,7 +856,7 @@ export class ModelPromptPriorityMatrixComponent extends BaseAngularComponent {
854
856
  selectPrompt(prompt) {
855
857
  this.promptSelected.emit(prompt);
856
858
  }
857
- static ɵfac = function ModelPromptPriorityMatrixComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModelPromptPriorityMatrixComponent)(i0.ɵɵdirectiveInject(i1.MJNotificationService)); };
859
+ static ɵfac = function ModelPromptPriorityMatrixComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModelPromptPriorityMatrixComponent)(i0.ɵɵdirectiveInject(i1.MJNotificationService), i0.ɵɵdirectiveInject(i2.MJConfirmService)); };
858
860
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ModelPromptPriorityMatrixComponent, selectors: [["app-model-prompt-priority-matrix"]], inputs: { selectedPrompts: "selectedPrompts", selectedModels: "selectedModels", readonly: "readonly" }, outputs: { associationsChange: "associationsChange", stateChange: "stateChange", promptSelected: "promptSelected" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 36, vars: 10, consts: [[1, "model-prompt-priority-matrix"], [1, "matrix-toolbar"], [1, "toolbar-section"], [1, "toolbar-title"], [1, "fa-solid", "fa-table-cells"], [1, "view-mode-toggle"], ["role", "group", 1, "btn-group"], ["type", "radio", "name", "viewMode", "id", "matrixView", "value", "matrix", 1, "btn-check", 3, "ngModelChange", "ngModel"], ["for", "matrixView", 1, "btn", "btn-outline-primary", "btn-sm"], ["type", "radio", "name", "viewMode", "id", "listView", "value", "list", 1, "btn-check", 3, "ngModelChange", "ngModel"], ["for", "listView", 1, "btn", "btn-outline-primary", "btn-sm"], [1, "fa-solid", "fa-list"], [1, "matrix-stats"], [1, "stat-item"], [1, "fa-solid", "fa-link", "text-primary"], [1, "fa-solid", "fa-star", "text-warning"], [1, "stat-item", "text-warning"], [1, "bulk-actions"], [1, "action-buttons"], ["type", "button", "title", "Export matrix", 1, "btn", "btn-sm", "btn-outline-info", 3, "click"], [1, "fa-solid", "fa-download"], [1, "bulk-edit-panel"], [1, "loading-container"], [1, "error-container"], [1, "fa-solid", "fa-exclamation-triangle"], ["type", "button", "title", "Bulk edit selected cells", 1, "btn", "btn-sm", "btn-outline-primary", 3, "click"], [1, "fa-solid", "fa-edit"], ["type", "button", "title", "Remove selected associations", 1, "btn", "btn-sm", "btn-outline-danger", 3, "click"], [1, "fa-solid", "fa-trash"], ["type", "button", "title", "Discard changes", 1, "btn", "btn-sm", "btn-outline-secondary", 3, "click"], [1, "fa-solid", "fa-undo"], ["type", "button", "title", "Save changes", 1, "btn", "btn-sm", "btn-success", 3, "click", "disabled"], [1, "fa-solid", "fa-save"], [1, "bulk-edit-controls"], [1, "form-group"], ["for", "bulkPriority", 1, "form-label"], ["type", "number", "id", "bulkPriority", "min", "1", "max", "10", 1, "form-control", "form-control-sm", 3, "ngModelChange", "ngModel"], ["for", "bulkStatus", 1, "form-label"], ["id", "bulkStatus", 1, "form-select", "form-select-sm", 3, "ngModelChange", "ngModel"], ["value", "Active"], ["value", "Inactive"], ["type", "button", "title", "Apply changes to selected cells", 1, "btn", "btn-sm", "btn-primary", 3, "click"], [1, "fa-solid", "fa-check"], ["type", "button", "title", "Cancel bulk edit", 1, "btn", "btn-sm", "btn-outline-secondary", 3, "click"], [1, "fa-solid", "fa-times"], [1, "bulk-edit-info"], [1, "text-muted"], ["size", "large", 3, "text"], [1, "matrix-container"], [1, "list-container"], [1, "matrix-scroll"], [1, "matrix-table"], [1, "prompt-header"], [1, "model-header", 3, "title"], [1, "matrix-row"], [1, "header-content"], [1, "header-name"], [1, "header-stats"], [1, "prompt-header", 3, "click", "title"], [3, "class", "title"], [3, "click", "dblclick", "title"], [1, "cell-content"], [1, "cell-content", "empty"], [1, "status-indicator", "inactive"], [1, "change-indicator", "new"], [1, "change-indicator", "modified"], [1, "performance-overlay"], [1, "fa-solid", "fa-ban"], [1, "fa-solid", "fa-plus"], [1, "empty-cell-indicator"], [1, "blocked-cell-indicator"], [1, "list-header"], [1, "list-controls"], [1, "sort-controls"], [1, "form-label"], [1, "form-select", "form-select-sm", 3, "ngModelChange", "ngModel"], ["value", "prompt"], ["value", "model"], ["value", "priority"], ["type", "button", 1, "btn", "btn-sm", "btn-outline-secondary", 3, "click", "title"], [1, "fa-solid"], [1, "filter-controls"], [1, "form-check", "form-switch"], ["type", "checkbox", "id", "showInactive", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "showInactive", 1, "form-check-label"], [1, "associations-list"], [1, "no-associations-message"], [1, "association-item", 3, "inactive", "new", "modified"], [1, "association-item"], [1, "association-header"], [1, "association-names"], [1, "prompt-name"], [1, "fa-solid", "fa-arrow-right", "text-muted"], [1, "model-name"], [1, "association-actions"], [1, "association-details"], [1, "detail-item"], [1, "detail-label"], [1, "status-badge"], ["type", "button", "title", "Edit association", 1, "btn", "btn-sm", "btn-outline-primary"], ["type", "button", "title", "Remove association", 1, "btn", "btn-sm", "btn-outline-danger", 3, "click"], [1, "change-badge", "new"], [1, "change-badge", "modified"], [1, "fa-solid", "fa-info-circle", "text-muted"], [1, "text-muted", "mb-0"], ["Variant", "error"], ["mjButton", "", "variant", "danger", "size", "sm", "actions", "", 3, "click"], [1, "fa-solid", "fa-refresh"]], template: function ModelPromptPriorityMatrixComponent_Template(rf, ctx) { if (rf & 1) {
859
861
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h5", 3);
860
862
  i0.ɵɵelement(4, "i", 4);
@@ -920,12 +922,12 @@ export class ModelPromptPriorityMatrixComponent extends BaseAngularComponent {
920
922
  i0.ɵɵconditional(ctx.isLoading ? 33 : 34);
921
923
  i0.ɵɵadvance(2);
922
924
  i0.ɵɵconditional(ctx.error ? 35 : -1);
923
- } }, dependencies: [i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.NumberValueAccessor, i2.CheckboxControlValueAccessor, i2.SelectControlValueAccessor, i2.RadioControlValueAccessor, i2.NgControlStatus, i2.MinValidator, i2.MaxValidator, i2.NgModel, i3.LoadingComponent, i4.MJButtonDirective, i4.MJAlertComponent], styles: [".model-prompt-priority-matrix[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .toolbar-title[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .toolbar-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .matrix-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .matrix-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .matrix-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .bulk-actions[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .bulk-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] {\n padding: 1rem;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-bottom: 1px solid color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.875rem;\n font-weight: 500;\n white-space: nowrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%] {\n min-width: 100px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-info[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-color-warning-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] {\n text-align: center;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-message[_ngcontent-%COMP%] {\n margin-top: 1rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] {\n height: 100%;\n overflow: auto;\n padding: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] {\n border-collapse: separate;\n border-spacing: 2px;\n background: var(--mj-bg-surface);\n border-radius: 0.5rem;\n overflow: hidden;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n padding: 0.75rem;\n font-weight: 600;\n text-align: center;\n position: sticky;\n top: 0;\n z-index: 10;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-name[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-name[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-stats[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-stats[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] {\n min-width: 200px;\n position: sticky;\n left: 0;\n z-index: 11;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] {\n width: 80px;\n height: 60px;\n border: 2px solid var(--mj-border-default);\n text-align: center;\n cursor: pointer;\n transition: all 0.2s ease;\n position: relative;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n transform: scale(1.05);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.editing[_ngcontent-%COMP%] {\n border-color: var(--mj-status-success);\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.no-association[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-style: dashed;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.no-association[_ngcontent-%COMP%] .empty-cell-indicator[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 1.5rem;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.cannot-assign[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n cursor: not-allowed;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.cannot-assign[_ngcontent-%COMP%] .blocked-cell-indicator[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n font-size: 1.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-1[_ngcontent-%COMP%] {\n border-color: var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-2[_ngcontent-%COMP%] {\n border-color: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-3[_ngcontent-%COMP%] {\n border-color: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-4[_ngcontent-%COMP%] {\n border-color: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-5[_ngcontent-%COMP%] {\n border-color: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.inactive[_ngcontent-%COMP%] {\n opacity: 0.6;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.new[_ngcontent-%COMP%] {\n box-shadow: 0 0 0 2px var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.modified[_ngcontent-%COMP%] {\n box-shadow: 0 0 0 2px var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 50%;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.75rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-1[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-2[_ngcontent-%COMP%] {\n background: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-3[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-4[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-5[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .status-indicator[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .status-indicator.inactive[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .change-indicator[_ngcontent-%COMP%] {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n font-size: 0.625rem;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .change-indicator.new[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .change-indicator.modified[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .performance-overlay[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 2px;\n left: 2px;\n right: 2px;\n background: rgba(0, 0, 0, 0.8);\n color: var(--mj-text-inverse);\n border-radius: 0.25rem;\n padding: 0.125rem;\n font-size: 0.625rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] {\n flex: 1;\n padding: 1rem;\n overflow-y: auto;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] {\n margin-bottom: 1.5rem;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.5rem;\n padding: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%] {\n min-width: 120px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] {\n margin: 0;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.5rem;\n padding: 1rem;\n margin-bottom: 1rem;\n transition: all 0.2s ease;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%]:hover {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n transform: translateY(-1px);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item.inactive[_ngcontent-%COMP%] {\n opacity: 0.7;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item.new[_ngcontent-%COMP%] {\n border-color: var(--mj-status-success);\n border-left-width: 4px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item.modified[_ngcontent-%COMP%] {\n border-color: var(--mj-status-warning);\n border-left-width: 4px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] .prompt-name[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] .model-name[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 0.25rem 0.5rem;\n font-size: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .detail-label[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-1[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-2[_ngcontent-%COMP%] {\n background: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-3[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-4[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-5[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] {\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .status-badge.badge-success[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-color-success-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .status-badge.badge-secondary[_ngcontent-%COMP%] {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .change-badge[_ngcontent-%COMP%] {\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .change-badge.new[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-color-success-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .change-badge.modified[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-color-warning-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .no-associations-message[_ngcontent-%COMP%] {\n text-align: center;\n padding: 3rem 1rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .no-associations-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 3rem;\n margin-bottom: 1rem;\n display: block;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .no-associations-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1rem;\n line-height: 1.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] {\n padding: 1rem;\n}\n\n@media (max-width: 1200px) {\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] {\n min-width: 100%;\n justify-content: space-between;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] {\n width: 60px;\n height: 50px;\n }\n}\n@media (max-width: 768px) {\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n gap: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] {\n width: 50px;\n height: 40px;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n }\n}"] });
925
+ } }, dependencies: [i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.CheckboxControlValueAccessor, i3.SelectControlValueAccessor, i3.RadioControlValueAccessor, i3.NgControlStatus, i3.MinValidator, i3.MaxValidator, i3.NgModel, i4.LoadingComponent, i2.MJButtonDirective, i2.MJAlertComponent], styles: [".model-prompt-priority-matrix[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .toolbar-title[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .toolbar-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .matrix-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .matrix-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .matrix-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .bulk-actions[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .bulk-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] {\n padding: 1rem;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-bottom: 1px solid color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.875rem;\n font-weight: 500;\n white-space: nowrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%] {\n min-width: 100px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-info[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-color-warning-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] {\n text-align: center;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-message[_ngcontent-%COMP%] {\n margin-top: 1rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] {\n height: 100%;\n overflow: auto;\n padding: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] {\n border-collapse: separate;\n border-spacing: 2px;\n background: var(--mj-bg-surface);\n border-radius: 0.5rem;\n overflow: hidden;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n padding: 0.75rem;\n font-weight: 600;\n text-align: center;\n position: sticky;\n top: 0;\n z-index: 10;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-name[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-name[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-stats[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .model-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-stats[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] {\n min-width: 200px;\n position: sticky;\n left: 0;\n z-index: 11;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] {\n width: 80px;\n height: 60px;\n border: 2px solid var(--mj-border-default);\n text-align: center;\n cursor: pointer;\n transition: all 0.2s ease;\n position: relative;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n transform: scale(1.05);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.editing[_ngcontent-%COMP%] {\n border-color: var(--mj-status-success);\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.no-association[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-style: dashed;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.no-association[_ngcontent-%COMP%] .empty-cell-indicator[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 1.5rem;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.cannot-assign[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n cursor: not-allowed;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.cannot-assign[_ngcontent-%COMP%] .blocked-cell-indicator[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n font-size: 1.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-1[_ngcontent-%COMP%] {\n border-color: var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-2[_ngcontent-%COMP%] {\n border-color: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-3[_ngcontent-%COMP%] {\n border-color: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-4[_ngcontent-%COMP%] {\n border-color: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.priority-5[_ngcontent-%COMP%] {\n border-color: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.inactive[_ngcontent-%COMP%] {\n opacity: 0.6;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.new[_ngcontent-%COMP%] {\n box-shadow: 0 0 0 2px var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell.has-association.modified[_ngcontent-%COMP%] {\n box-shadow: 0 0 0 2px var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 50%;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.75rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-1[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-2[_ngcontent-%COMP%] {\n background: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-3[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-4[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .priority-badge.priority-5[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .status-indicator[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .status-indicator.inactive[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .change-indicator[_ngcontent-%COMP%] {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n font-size: 0.625rem;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .change-indicator.new[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .change-indicator.modified[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] .cell-content[_ngcontent-%COMP%] .performance-overlay[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 2px;\n left: 2px;\n right: 2px;\n background: rgba(0, 0, 0, 0.8);\n color: var(--mj-text-inverse);\n border-radius: 0.25rem;\n padding: 0.125rem;\n font-size: 0.625rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] {\n flex: 1;\n padding: 1rem;\n overflow-y: auto;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] {\n margin-bottom: 1.5rem;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.5rem;\n padding: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 1rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%] {\n min-width: 120px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .sort-controls[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%] {\n margin: 0;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.5rem;\n padding: 1rem;\n margin-bottom: 1rem;\n transition: all 0.2s ease;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%]:hover {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n transform: translateY(-1px);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item.inactive[_ngcontent-%COMP%] {\n opacity: 0.7;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item.new[_ngcontent-%COMP%] {\n border-color: var(--mj-status-success);\n border-left-width: 4px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item.modified[_ngcontent-%COMP%] {\n border-color: var(--mj-status-warning);\n border-left-width: 4px;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] .prompt-name[_ngcontent-%COMP%], \n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] .model-name[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-names[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] .association-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 0.25rem 0.5rem;\n font-size: 0.75rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .detail-label[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-1[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-2[_ngcontent-%COMP%] {\n background: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-3[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-4[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .priority-badge.priority-5[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] {\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .status-badge.badge-success[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-color-success-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .status-badge.badge-secondary[_ngcontent-%COMP%] {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .change-badge[_ngcontent-%COMP%] {\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .change-badge.new[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-color-success-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .change-badge.modified[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-color-warning-700);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .no-associations-message[_ngcontent-%COMP%] {\n text-align: center;\n padding: 3rem 1rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .no-associations-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 3rem;\n margin-bottom: 1rem;\n display: block;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .no-associations-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1rem;\n line-height: 1.5;\n}\n.model-prompt-priority-matrix[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] {\n padding: 1rem;\n}\n\n@media (max-width: 1200px) {\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] {\n min-width: 100%;\n justify-content: space-between;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] {\n width: 60px;\n height: 50px;\n }\n}\n@media (max-width: 768px) {\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-toolbar[_ngcontent-%COMP%] .toolbar-section[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .bulk-edit-panel[_ngcontent-%COMP%] .bulk-edit-controls[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n gap: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .matrix-container[_ngcontent-%COMP%] .matrix-scroll[_ngcontent-%COMP%] .matrix-table[_ngcontent-%COMP%] .matrix-cell[_ngcontent-%COMP%] {\n width: 50px;\n height: 40px;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-controls[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.75rem;\n }\n .model-prompt-priority-matrix[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%] .associations-list[_ngcontent-%COMP%] .association-item[_ngcontent-%COMP%] .association-details[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n }\n}"] });
924
926
  }
925
927
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModelPromptPriorityMatrixComponent, [{
926
928
  type: Component,
927
929
  args: [{ standalone: false, selector: 'app-model-prompt-priority-matrix', template: "<div class=\"model-prompt-priority-matrix\">\n <!-- Header toolbar -->\n <div class=\"matrix-toolbar\">\n <div class=\"toolbar-section\">\n <h5 class=\"toolbar-title\">\n <i class=\"fa-solid fa-table-cells\"></i>\n Model-Prompt Priority Matrix\n </h5>\n \n <div class=\"view-mode-toggle\">\n <div class=\"btn-group\" role=\"group\">\n <input \n type=\"radio\" \n class=\"btn-check\" \n name=\"viewMode\" \n id=\"matrixView\" \n value=\"matrix\"\n [(ngModel)]=\"viewMode\"\n (ngModelChange)=\"onViewModeChange($event)\">\n <label class=\"btn btn-outline-primary btn-sm\" for=\"matrixView\">\n <i class=\"fa-solid fa-table-cells\"></i>\n Matrix\n </label>\n \n <input \n type=\"radio\" \n class=\"btn-check\" \n name=\"viewMode\" \n id=\"listView\" \n value=\"list\"\n [(ngModel)]=\"viewMode\"\n (ngModelChange)=\"onViewModeChange($event)\">\n <label class=\"btn btn-outline-primary btn-sm\" for=\"listView\">\n <i class=\"fa-solid fa-list\"></i>\n List\n </label>\n </div>\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"matrix-stats\">\n <span class=\"stat-item\">\n <i class=\"fa-solid fa-link text-primary\"></i>\n {{ getAssociationCount() }} associations\n </span>\n <span class=\"stat-item\">\n <i class=\"fa-solid fa-star text-warning\"></i>\n {{ getAveragePriority() }} avg priority\n </span>\n @if (hasUnsavedChanges()) {\n <span class=\"stat-item text-warning\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Unsaved changes\n </span>\n }\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n @if (selectedCells.size > 0) {\n <div class=\"bulk-actions\">\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-primary\"\n [class.active]=\"bulkEditMode\"\n (click)=\"bulkEditMode = !bulkEditMode\"\n title=\"Bulk edit selected cells\">\n <i class=\"fa-solid fa-edit\"></i>\n Edit ({{ selectedCells.size }})\n </button>\n \n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-danger\"\n (click)=\"bulkRemoveSelectedCells()\"\n title=\"Remove selected associations\">\n <i class=\"fa-solid fa-trash\"></i>\n Remove\n </button>\n </div>\n }\n \n <div class=\"action-buttons\">\n @if (hasUnsavedChanges()) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-secondary\"\n (click)=\"discardChanges()\"\n title=\"Discard changes\">\n <i class=\"fa-solid fa-undo\"></i>\n Discard\n </button>\n \n <button \n type=\"button\" \n class=\"btn btn-sm btn-success\"\n (click)=\"saveChanges()\"\n [disabled]=\"isLoading\"\n title=\"Save changes\">\n <i class=\"fa-solid fa-save\"></i>\n Save\n </button>\n }\n \n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-info\"\n (click)=\"exportMatrix()\"\n title=\"Export matrix\">\n <i class=\"fa-solid fa-download\"></i>\n Export\n </button>\n </div>\n </div>\n </div>\n \n <!-- Bulk edit panel -->\n @if (bulkEditMode && selectedCells.size > 0) {\n <div class=\"bulk-edit-panel\">\n <div class=\"bulk-edit-controls\">\n <div class=\"form-group\">\n <label for=\"bulkPriority\" class=\"form-label\">Priority:</label>\n <input \n type=\"number\" \n id=\"bulkPriority\"\n class=\"form-control form-control-sm\"\n [(ngModel)]=\"bulkEditPriority\"\n min=\"1\"\n max=\"10\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"bulkStatus\" class=\"form-label\">Status:</label>\n <select \n id=\"bulkStatus\"\n class=\"form-select form-select-sm\"\n [(ngModel)]=\"bulkEditStatus\">\n <option value=\"Active\">Active</option>\n <option value=\"Inactive\">Inactive</option>\n </select>\n </div>\n \n <div class=\"form-group\">\n <button \n type=\"button\" \n class=\"btn btn-sm btn-primary\"\n (click)=\"bulkUpdateSelectedCells()\"\n title=\"Apply changes to selected cells\">\n <i class=\"fa-solid fa-check\"></i>\n Apply\n </button>\n \n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-secondary\"\n (click)=\"bulkEditMode = false\"\n title=\"Cancel bulk edit\">\n <i class=\"fa-solid fa-times\"></i>\n Cancel\n </button>\n </div>\n </div>\n \n <div class=\"bulk-edit-info\">\n <small class=\"text-muted\">\n Editing {{ selectedCells.size }} selected cell(s). \n Use Ctrl+Click for multi-select, Shift+Click for range select.\n </small>\n </div>\n </div>\n }\n \n <!-- Loading state -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"loadingMessage\" size=\"large\"></mj-loading>\n </div>\n } @else {\n <!-- Matrix view -->\n @if (viewMode === 'matrix') {\n <div class=\"matrix-container\">\n <div class=\"matrix-scroll\">\n <table class=\"matrix-table\">\n <!-- Header row with model names -->\n <thead>\n <tr>\n <th class=\"prompt-header\">Prompts \\\\ Models</th>\n @for (model of models; track model.ID) {\n <th class=\"model-header\" [title]=\"model.Description || model.Name\">\n <div class=\"header-content\">\n <div class=\"header-name\">{{ model.Name }}</div>\n <div class=\"header-stats\">\n <small class=\"text-muted\">{{ getModelAssociationCount(model.ID) }}</small>\n </div>\n </div>\n </th>\n }\n </tr>\n </thead>\n \n <!-- Matrix body -->\n <tbody>\n @for (prompt of prompts; track prompt.ID; let promptIndex = $index) {\n <tr class=\"matrix-row\">\n <th class=\"prompt-header\" [title]=\"prompt.Description || prompt.Name\" (click)=\"selectPrompt(prompt)\">\n <div class=\"header-content\">\n <div class=\"header-name\">{{ prompt.Name }}</div>\n <div class=\"header-stats\">\n <small class=\"text-muted\">{{ getPromptAssociationCount(prompt.ID) }}</small>\n </div>\n </div>\n </th>\n \n @for (model of models; track model.ID; let modelIndex = $index) {\n <td \n [class]=\"getCellClass(matrix[promptIndex][modelIndex])\"\n (click)=\"onCellClick(promptIndex, modelIndex, $event)\"\n (dblclick)=\"onCellDoubleClick(promptIndex, modelIndex)\"\n [title]=\"getCellTooltip(matrix[promptIndex][modelIndex])\">\n \n @if (matrix[promptIndex][modelIndex].association; as assoc) {\n <div class=\"cell-content\">\n <div class=\"priority-badge priority-{{ assoc.priority }}\">\n {{ assoc.priority }}\n </div>\n \n @if (assoc.status === 'Inactive') {\n <div class=\"status-indicator inactive\">\n <i class=\"fa-solid fa-ban\"></i>\n </div>\n }\n \n @if (assoc.isNew) {\n <div class=\"change-indicator new\">\n <i class=\"fa-solid fa-plus\"></i>\n </div>\n } @else if (assoc.isModified) {\n <div class=\"change-indicator modified\">\n <i class=\"fa-solid fa-edit\"></i>\n </div>\n }\n \n @if (showPerformanceOverlay && performanceData[assoc.promptId + '_' + assoc.modelId]) {\n <div class=\"performance-overlay\">\n <small>{{ performanceData[assoc.promptId + '_' + assoc.modelId].avgResponseTime }}ms</small>\n </div>\n }\n </div>\n } @else {\n <div class=\"cell-content empty\">\n @if (matrix[promptIndex][modelIndex].canAssign) {\n <div class=\"empty-cell-indicator\">\n <i class=\"fa-solid fa-plus\"></i>\n </div>\n } @else {\n <div class=\"blocked-cell-indicator\">\n <i class=\"fa-solid fa-ban\"></i>\n </div>\n }\n </div>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n </div>\n }\n \n <!-- List view -->\n @if (viewMode === 'list') {\n <div class=\"list-container\">\n <div class=\"list-header\">\n <div class=\"list-controls\">\n <div class=\"sort-controls\">\n <label class=\"form-label\">Sort by:</label>\n <select \n class=\"form-select form-select-sm\"\n [(ngModel)]=\"sortBy\"\n (ngModelChange)=\"sortAssociations()\">\n <option value=\"prompt\">Prompt Name</option>\n <option value=\"model\">Model Name</option>\n <option value=\"priority\">Priority</option>\n </select>\n \n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-secondary\"\n (click)=\"toggleSortDirection()\"\n [title]=\"'Sort ' + (sortDirection === 'asc' ? 'descending' : 'ascending')\">\n <i class=\"fa-solid\" [class.fa-sort-up]=\"sortDirection === 'asc'\" [class.fa-sort-down]=\"sortDirection === 'desc'\"></i>\n </button>\n </div>\n \n <div class=\"filter-controls\">\n <div class=\"form-check form-switch\">\n <input \n class=\"form-check-input\" \n type=\"checkbox\" \n id=\"showInactive\"\n [(ngModel)]=\"showInactiveAssociations\">\n <label class=\"form-check-label\" for=\"showInactive\">\n Show inactive\n </label>\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"associations-list\">\n @for (association of associations; track association.promptId + '_' + association.modelId) {\n @if (showInactiveAssociations || association.status === 'Active') {\n <div class=\"association-item\" \n [class.inactive]=\"association.status === 'Inactive'\"\n [class.new]=\"association.isNew\"\n [class.modified]=\"association.isModified\">\n \n <div class=\"association-header\">\n <div class=\"association-names\">\n <strong class=\"prompt-name\">{{ association.promptName }}</strong>\n <i class=\"fa-solid fa-arrow-right text-muted\"></i>\n <strong class=\"model-name\">{{ association.modelName }}</strong>\n </div>\n \n <div class=\"association-actions\">\n @if (!readonly) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-primary\"\n title=\"Edit association\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n \n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-danger\"\n (click)=\"removeAssociation(association.promptId, association.modelId)\"\n title=\"Remove association\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n </div>\n </div>\n \n <div class=\"association-details\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Priority:</span>\n <span class=\"priority-badge priority-{{ association.priority }}\">\n {{ association.priority }}\n </span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Status:</span>\n <span class=\"status-badge\" [class.badge-success]=\"association.status === 'Active'\" [class.badge-secondary]=\"association.status === 'Inactive'\">\n {{ association.status }}\n </span>\n </div>\n \n @if (association.isNew) {\n <div class=\"detail-item\">\n <span class=\"change-badge new\">\n <i class=\"fa-solid fa-plus\"></i>\n New\n </span>\n </div>\n } @else if (association.isModified) {\n <div class=\"detail-item\">\n <span class=\"change-badge modified\">\n <i class=\"fa-solid fa-edit\"></i>\n Modified\n </span>\n </div>\n }\n </div>\n </div>\n }\n }\n \n @if (associations.length === 0) {\n <div class=\"no-associations-message\">\n <i class=\"fa-solid fa-info-circle text-muted\"></i>\n <p class=\"text-muted mb-0\">No prompt-model associations found. Click on matrix cells to create associations.</p>\n </div>\n }\n </div>\n </div>\n }\n }\n \n <!-- Error state -->\n @if (error) {\n <div class=\"error-container\">\n <mj-alert Variant=\"error\">\n {{ error }}\n <button mjButton variant=\"danger\" size=\"sm\" actions (click)=\"loadData()\">\n <i class=\"fa-solid fa-refresh\"></i>\n Retry\n </button>\n </mj-alert>\n </div>\n }\n</div>", styles: [".model-prompt-priority-matrix {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix .matrix-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section {\n display: flex;\n align-items: center;\n gap: 1rem;\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .toolbar-title {\n margin: 0;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .toolbar-title i {\n color: var(--mj-brand-primary);\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .matrix-stats {\n display: flex;\n gap: 1rem;\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .matrix-stats .stat-item {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .matrix-stats .stat-item i {\n font-size: 1rem;\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .bulk-actions,\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .action-buttons {\n display: flex;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .bulk-actions .btn,\n.model-prompt-priority-matrix .matrix-toolbar .toolbar-section .action-buttons .btn {\n font-size: 0.875rem;\n}\n.model-prompt-priority-matrix .bulk-edit-panel {\n padding: 1rem;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-bottom: 1px solid color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 1rem;\n}\n.model-prompt-priority-matrix .bulk-edit-panel .bulk-edit-controls {\n display: flex;\n align-items: center;\n gap: 1rem;\n}\n.model-prompt-priority-matrix .bulk-edit-panel .bulk-edit-controls .form-group {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix .bulk-edit-panel .bulk-edit-controls .form-group .form-label {\n margin: 0;\n font-size: 0.875rem;\n font-weight: 500;\n white-space: nowrap;\n}\n.model-prompt-priority-matrix .bulk-edit-panel .bulk-edit-controls .form-group .form-control,\n.model-prompt-priority-matrix .bulk-edit-panel .bulk-edit-controls .form-group .form-select {\n min-width: 100px;\n}\n.model-prompt-priority-matrix .bulk-edit-panel .bulk-edit-info {\n font-size: 0.875rem;\n color: var(--mj-color-warning-700);\n}\n.model-prompt-priority-matrix .loading-container {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.model-prompt-priority-matrix .loading-container .loading-content {\n text-align: center;\n}\n.model-prompt-priority-matrix .loading-container .loading-content .loading-message {\n margin-top: 1rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix .matrix-container {\n flex: 1;\n overflow: hidden;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll {\n height: 100%;\n overflow: auto;\n padding: 1rem;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table {\n border-collapse: separate;\n border-spacing: 2px;\n background: var(--mj-bg-surface);\n border-radius: 0.5rem;\n overflow: hidden;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .prompt-header,\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .model-header {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n padding: 0.75rem;\n font-weight: 600;\n text-align: center;\n position: sticky;\n top: 0;\n z-index: 10;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .prompt-header .header-content,\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .model-header .header-content {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .prompt-header .header-content .header-name,\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .model-header .header-content .header-name {\n font-size: 0.875rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .prompt-header .header-content .header-stats,\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .model-header .header-content .header-stats {\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .prompt-header {\n min-width: 200px;\n position: sticky;\n left: 0;\n z-index: 11;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell {\n width: 80px;\n height: 60px;\n border: 2px solid var(--mj-border-default);\n text-align: center;\n cursor: pointer;\n transition: all 0.2s ease;\n position: relative;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell:hover {\n border-color: var(--mj-brand-primary);\n transform: scale(1.05);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.editing {\n border-color: var(--mj-status-success);\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.no-association {\n background: var(--mj-bg-surface-card);\n border-style: dashed;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.no-association .empty-cell-indicator {\n color: var(--mj-text-muted);\n font-size: 1.5rem;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.cannot-assign {\n background: var(--mj-bg-surface-card);\n cursor: not-allowed;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.cannot-assign .blocked-cell-indicator {\n color: var(--mj-status-error);\n font-size: 1.25rem;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association {\n background: var(--mj-bg-surface);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.priority-1 {\n border-color: var(--mj-status-success);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.priority-2 {\n border-color: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.priority-3 {\n border-color: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.priority-4 {\n border-color: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.priority-5 {\n border-color: var(--mj-status-error);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.inactive {\n opacity: 0.6;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.new {\n box-shadow: 0 0 0 2px var(--mj-status-success);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell.has-association.modified {\n box-shadow: 0 0 0 2px var(--mj-status-warning);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .priority-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 50%;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.75rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .priority-badge.priority-1 {\n background: var(--mj-status-success);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .priority-badge.priority-2 {\n background: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .priority-badge.priority-3 {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .priority-badge.priority-4 {\n background: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .priority-badge.priority-5 {\n background: var(--mj-status-error);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .status-indicator {\n font-size: 0.75rem;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .status-indicator.inactive {\n color: var(--mj-status-error);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .change-indicator {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n font-size: 0.625rem;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .change-indicator.new {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .change-indicator.modified {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell .cell-content .performance-overlay {\n position: absolute;\n bottom: 2px;\n left: 2px;\n right: 2px;\n background: rgba(0, 0, 0, 0.8);\n color: var(--mj-text-inverse);\n border-radius: 0.25rem;\n padding: 0.125rem;\n font-size: 0.625rem;\n}\n.model-prompt-priority-matrix .list-container {\n flex: 1;\n padding: 1rem;\n overflow-y: auto;\n}\n.model-prompt-priority-matrix .list-container .list-header {\n margin-bottom: 1.5rem;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.5rem;\n padding: 1rem;\n}\n.model-prompt-priority-matrix .list-container .list-header .list-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 1rem;\n}\n.model-prompt-priority-matrix .list-container .list-header .list-controls .sort-controls,\n.model-prompt-priority-matrix .list-container .list-header .list-controls .filter-controls {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix .list-container .list-header .list-controls .sort-controls .form-label,\n.model-prompt-priority-matrix .list-container .list-header .list-controls .filter-controls .form-label {\n margin: 0;\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n.model-prompt-priority-matrix .list-container .list-header .list-controls .sort-controls .form-select,\n.model-prompt-priority-matrix .list-container .list-header .list-controls .filter-controls .form-select {\n min-width: 120px;\n}\n.model-prompt-priority-matrix .list-container .list-header .list-controls .sort-controls .form-check,\n.model-prompt-priority-matrix .list-container .list-header .list-controls .filter-controls .form-check {\n margin: 0;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.5rem;\n padding: 1rem;\n margin-bottom: 1rem;\n transition: all 0.2s ease;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item:hover {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n transform: translateY(-1px);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item.inactive {\n opacity: 0.7;\n background: var(--mj-bg-surface-card);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item.new {\n border-color: var(--mj-status-success);\n border-left-width: 4px;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item.modified {\n border-color: var(--mj-status-warning);\n border-left-width: 4px;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-header .association-names {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-header .association-names .prompt-name,\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-header .association-names .model-name {\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-header .association-names i {\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-header .association-actions {\n display: flex;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-header .association-actions .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.75rem;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .detail-label {\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .priority-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .priority-badge.priority-1 {\n background: var(--mj-status-success);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .priority-badge.priority-2 {\n background: var(--mj-color-success-500);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .priority-badge.priority-3 {\n background: var(--mj-status-warning);\n color: black;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .priority-badge.priority-4 {\n background: var(--mj-status-warning);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .priority-badge.priority-5 {\n background: var(--mj-status-error);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .status-badge {\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .status-badge.badge-success {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-color-success-700);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .status-badge.badge-secondary {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .change-badge {\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .change-badge.new {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-color-success-700);\n}\n.model-prompt-priority-matrix .list-container .associations-list .association-item .association-details .detail-item .change-badge.modified {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-color-warning-700);\n}\n.model-prompt-priority-matrix .list-container .associations-list .no-associations-message {\n text-align: center;\n padding: 3rem 1rem;\n color: var(--mj-text-muted);\n}\n.model-prompt-priority-matrix .list-container .associations-list .no-associations-message i {\n font-size: 3rem;\n margin-bottom: 1rem;\n display: block;\n opacity: 0.5;\n}\n.model-prompt-priority-matrix .list-container .associations-list .no-associations-message p {\n margin: 0;\n font-size: 1rem;\n line-height: 1.5;\n}\n.model-prompt-priority-matrix .error-container {\n padding: 1rem;\n}\n\n@media (max-width: 1200px) {\n .model-prompt-priority-matrix .matrix-toolbar .toolbar-section {\n min-width: 100%;\n justify-content: space-between;\n }\n .model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell {\n width: 60px;\n height: 50px;\n }\n}\n@media (max-width: 768px) {\n .model-prompt-priority-matrix .matrix-toolbar {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix .matrix-toolbar .toolbar-section {\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n .model-prompt-priority-matrix .bulk-edit-panel {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix .bulk-edit-panel .bulk-edit-controls {\n flex-direction: column;\n align-items: stretch;\n gap: 0.75rem;\n }\n .model-prompt-priority-matrix .matrix-container .matrix-scroll {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix .matrix-container .matrix-scroll .matrix-table .matrix-cell {\n width: 50px;\n height: 40px;\n }\n .model-prompt-priority-matrix .list-container {\n padding: 0.75rem;\n }\n .model-prompt-priority-matrix .list-container .list-header .list-controls {\n flex-direction: column;\n align-items: stretch;\n }\n .model-prompt-priority-matrix .list-container .associations-list .association-item .association-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.75rem;\n }\n .model-prompt-priority-matrix .list-container .associations-list .association-item .association-details {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n"] }]
928
- }], () => [{ type: i1.MJNotificationService }], { selectedPrompts: [{
930
+ }], () => [{ type: i1.MJNotificationService }, { type: i2.MJConfirmService }], { selectedPrompts: [{
929
931
  type: Input
930
932
  }], selectedModels: [{
931
933
  type: Input
@@ -938,5 +940,5 @@ export class ModelPromptPriorityMatrixComponent extends BaseAngularComponent {
938
940
  }], promptSelected: [{
939
941
  type: Output
940
942
  }] }); })();
941
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ModelPromptPriorityMatrixComponent, { className: "ModelPromptPriorityMatrixComponent", filePath: "src/AI/components/prompts/model-prompt-priority-matrix.component.ts", lineNumber: 35 }); })();
943
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ModelPromptPriorityMatrixComponent, { className: "ModelPromptPriorityMatrixComponent", filePath: "src/AI/components/prompts/model-prompt-priority-matrix.component.ts", lineNumber: 36 }); })();
942
944
  //# sourceMappingURL=model-prompt-priority-matrix.component.js.map