pict-section-formeditor 1.0.0

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 (178) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +118 -0
  3. package/docs/.nojekyll +0 -0
  4. package/docs/README.md +162 -0
  5. package/docs/_sidebar.md +23 -0
  6. package/docs/_topbar.md +5 -0
  7. package/docs/cover.md +12 -0
  8. package/docs/css/docuserve.css +73 -0
  9. package/docs/index.html +39 -0
  10. package/docs/retold-catalog.json +224 -0
  11. package/docs/retold-keyword-index.json +46846 -0
  12. package/example_applications/form_editor/.quackage.json +10 -0
  13. package/example_applications/form_editor/FormEditor-Example-Application.js +226 -0
  14. package/example_applications/form_editor/html/icon-chooser.html +375 -0
  15. package/example_applications/form_editor/html/index.html +54 -0
  16. package/example_applications/form_editor/package.json +50 -0
  17. package/package.json +55 -0
  18. package/sample_manifests/Complex-Table.json +974 -0
  19. package/sample_manifests/Distill-Example.json +200 -0
  20. package/sample_manifests/Gradebook-Assignment.json +38 -0
  21. package/sample_manifests/Gradebook-Student.json +40 -0
  22. package/sample_manifests/Manyfest-Editor.json +347 -0
  23. package/sample_manifests/Simple-Form.json +232 -0
  24. package/sample_manifests/Simple-Table.json +79 -0
  25. package/source/Pict-Section-FormEditor-DefaultConfiguration.js +3321 -0
  26. package/source/Pict-Section-FormEditor.js +35 -0
  27. package/source/providers/Pict-Provider-ChildPictManager-Application.js +40 -0
  28. package/source/providers/Pict-Provider-ChildPictManager.js +238 -0
  29. package/source/providers/Pict-Provider-FormEditorDocumentation.js +356 -0
  30. package/source/providers/Pict-Provider-FormEditorDragDrop.js +535 -0
  31. package/source/providers/Pict-Provider-FormEditorIconography.js +1002 -0
  32. package/source/providers/Pict-Provider-FormEditorManifestOps.js +1443 -0
  33. package/source/providers/Pict-Provider-FormEditorRendering.js +730 -0
  34. package/source/providers/Pict-Provider-FormEditorUtilities.js +862 -0
  35. package/source/providers/Pict-Provider-PreviewCSS.js +42 -0
  36. package/source/views/PictView-FormEditor-InlineEditing.js +309 -0
  37. package/source/views/PictView-FormEditor-InputTypePicker.js +532 -0
  38. package/source/views/PictView-FormEditor-PropertiesPanel.js +7730 -0
  39. package/source/views/PictView-FormEditor.js +681 -0
  40. package/test/Pict-Section-FormEditor_tests.js +4102 -0
  41. package/user-documentation/.pict_documentation_topics.json +695 -0
  42. package/user-documentation/Getting-Started.md +32 -0
  43. package/user-documentation/Groups.md +52 -0
  44. package/user-documentation/Inputs.md +98 -0
  45. package/user-documentation/Sections.md +36 -0
  46. package/user-documentation/Shortcuts.md +44 -0
  47. package/user-documentation/Solver-Expression-Walkthrough.md +176 -0
  48. package/user-documentation/Solver-Expressions-Advanced.md +344 -0
  49. package/user-documentation/Solver-Functions.md +213 -0
  50. package/user-documentation/Solvers.md +81 -0
  51. package/user-documentation/ToC.md +18 -0
  52. package/user-documentation/solverfunctions/abs.md +84 -0
  53. package/user-documentation/solverfunctions/aggregationhistogram.md +83 -0
  54. package/user-documentation/solverfunctions/aggregationhistogrambyobject.md +64 -0
  55. package/user-documentation/solverfunctions/arrayconcat.md +64 -0
  56. package/user-documentation/solverfunctions/avg.md +81 -0
  57. package/user-documentation/solverfunctions/bucketset.md +69 -0
  58. package/user-documentation/solverfunctions/ceil.md +70 -0
  59. package/user-documentation/solverfunctions/cleanvaluearray.md +66 -0
  60. package/user-documentation/solverfunctions/cleanvalueobject.md +68 -0
  61. package/user-documentation/solverfunctions/colorgroupbackground.md +60 -0
  62. package/user-documentation/solverfunctions/colorinputbackground.md +62 -0
  63. package/user-documentation/solverfunctions/colorinputbackgroundtabular.md +64 -0
  64. package/user-documentation/solverfunctions/colorsectionbackground.md +59 -0
  65. package/user-documentation/solverfunctions/compare.md +72 -0
  66. package/user-documentation/solverfunctions/concat.md +73 -0
  67. package/user-documentation/solverfunctions/concatraw.md +73 -0
  68. package/user-documentation/solverfunctions/cos.md +75 -0
  69. package/user-documentation/solverfunctions/count.md +73 -0
  70. package/user-documentation/solverfunctions/countset.md +65 -0
  71. package/user-documentation/solverfunctions/countsetelements.md +63 -0
  72. package/user-documentation/solverfunctions/createarrayfromabsolutevalues.md +63 -0
  73. package/user-documentation/solverfunctions/createvalueobjectbyhashes.md +69 -0
  74. package/user-documentation/solverfunctions/cumulativesummation.md +96 -0
  75. package/user-documentation/solverfunctions/dateadddays.md +79 -0
  76. package/user-documentation/solverfunctions/dateaddhours.md +74 -0
  77. package/user-documentation/solverfunctions/dateaddmilliseconds.md +65 -0
  78. package/user-documentation/solverfunctions/dateaddminutes.md +72 -0
  79. package/user-documentation/solverfunctions/dateaddmonths.md +74 -0
  80. package/user-documentation/solverfunctions/dateaddseconds.md +66 -0
  81. package/user-documentation/solverfunctions/dateaddweeks.md +73 -0
  82. package/user-documentation/solverfunctions/dateaddyears.md +74 -0
  83. package/user-documentation/solverfunctions/datedaydifference.md +84 -0
  84. package/user-documentation/solverfunctions/datefromparts.md +81 -0
  85. package/user-documentation/solverfunctions/datehourdifference.md +64 -0
  86. package/user-documentation/solverfunctions/datemathadd.md +72 -0
  87. package/user-documentation/solverfunctions/datemilliseconddifference.md +64 -0
  88. package/user-documentation/solverfunctions/dateminutedifference.md +64 -0
  89. package/user-documentation/solverfunctions/datemonthdifference.md +66 -0
  90. package/user-documentation/solverfunctions/dateseconddifference.md +64 -0
  91. package/user-documentation/solverfunctions/dateweekdifference.md +65 -0
  92. package/user-documentation/solverfunctions/dateyeardifference.md +64 -0
  93. package/user-documentation/solverfunctions/differencearrays.md +59 -0
  94. package/user-documentation/solverfunctions/disablesolverordinal.md +58 -0
  95. package/user-documentation/solverfunctions/distributionhistogram.md +96 -0
  96. package/user-documentation/solverfunctions/distributionhistogrambyobject.md +64 -0
  97. package/user-documentation/solverfunctions/enablesolverordinal.md +57 -0
  98. package/user-documentation/solverfunctions/entryinset.md +72 -0
  99. package/user-documentation/solverfunctions/euler.md +77 -0
  100. package/user-documentation/solverfunctions/exp.md +74 -0
  101. package/user-documentation/solverfunctions/findfirstvaluebyexactmatch.md +67 -0
  102. package/user-documentation/solverfunctions/findfirstvaluebystringincludes.md +67 -0
  103. package/user-documentation/solverfunctions/flatten.md +76 -0
  104. package/user-documentation/solverfunctions/floor.md +70 -0
  105. package/user-documentation/solverfunctions/gaussianelimination.md +75 -0
  106. package/user-documentation/solverfunctions/generatearrayofobjectsfromsets.md +70 -0
  107. package/user-documentation/solverfunctions/generatehtmlhexcolor.md +67 -0
  108. package/user-documentation/solverfunctions/getvalue.md +90 -0
  109. package/user-documentation/solverfunctions/getvaluearray.md +64 -0
  110. package/user-documentation/solverfunctions/getvalueobject.md +67 -0
  111. package/user-documentation/solverfunctions/hidesections.md +58 -0
  112. package/user-documentation/solverfunctions/if.md +109 -0
  113. package/user-documentation/solverfunctions/iterativeseries.md +107 -0
  114. package/user-documentation/solverfunctions/join.md +75 -0
  115. package/user-documentation/solverfunctions/joinraw.md +64 -0
  116. package/user-documentation/solverfunctions/largestinset.md +63 -0
  117. package/user-documentation/solverfunctions/leastsquares.md +66 -0
  118. package/user-documentation/solverfunctions/linest.md +58 -0
  119. package/user-documentation/solverfunctions/log.md +74 -0
  120. package/user-documentation/solverfunctions/logvalues.md +65 -0
  121. package/user-documentation/solverfunctions/match.md +71 -0
  122. package/user-documentation/solverfunctions/matrixinverse.md +67 -0
  123. package/user-documentation/solverfunctions/matrixmultiply.md +71 -0
  124. package/user-documentation/solverfunctions/matrixtranspose.md +72 -0
  125. package/user-documentation/solverfunctions/matrixvectormultiply.md +69 -0
  126. package/user-documentation/solverfunctions/max.md +73 -0
  127. package/user-documentation/solverfunctions/mean.md +63 -0
  128. package/user-documentation/solverfunctions/median.md +79 -0
  129. package/user-documentation/solverfunctions/min.md +73 -0
  130. package/user-documentation/solverfunctions/mode.md +66 -0
  131. package/user-documentation/solverfunctions/objectkeystoarray.md +66 -0
  132. package/user-documentation/solverfunctions/objectvaluessortbyexternalobjectarray.md +65 -0
  133. package/user-documentation/solverfunctions/objectvaluestoarray.md +67 -0
  134. package/user-documentation/solverfunctions/percent.md +75 -0
  135. package/user-documentation/solverfunctions/pi.md +77 -0
  136. package/user-documentation/solverfunctions/polynomialregression.md +69 -0
  137. package/user-documentation/solverfunctions/predict.md +71 -0
  138. package/user-documentation/solverfunctions/rad.md +85 -0
  139. package/user-documentation/solverfunctions/randomfloat.md +63 -0
  140. package/user-documentation/solverfunctions/randomfloatbetween.md +72 -0
  141. package/user-documentation/solverfunctions/randomfloatupto.md +65 -0
  142. package/user-documentation/solverfunctions/randominteger.md +56 -0
  143. package/user-documentation/solverfunctions/randomintegerbetween.md +72 -0
  144. package/user-documentation/solverfunctions/randomintegerupto.md +64 -0
  145. package/user-documentation/solverfunctions/refreshtabularsection.md +57 -0
  146. package/user-documentation/solverfunctions/resolvehtmlentities.md +64 -0
  147. package/user-documentation/solverfunctions/round.md +111 -0
  148. package/user-documentation/solverfunctions/runsolvers.md +49 -0
  149. package/user-documentation/solverfunctions/setconcatenate.md +64 -0
  150. package/user-documentation/solverfunctions/setgroupvisibility.md +60 -0
  151. package/user-documentation/solverfunctions/setsectionvisibility.md +59 -0
  152. package/user-documentation/solverfunctions/setsolverordinalenabled.md +59 -0
  153. package/user-documentation/solverfunctions/settabularrowlength.md +57 -0
  154. package/user-documentation/solverfunctions/setvalue.md +65 -0
  155. package/user-documentation/solverfunctions/showsections.md +58 -0
  156. package/user-documentation/solverfunctions/sin.md +83 -0
  157. package/user-documentation/solverfunctions/slice.md +80 -0
  158. package/user-documentation/solverfunctions/smallestinset.md +63 -0
  159. package/user-documentation/solverfunctions/sortarray.md +58 -0
  160. package/user-documentation/solverfunctions/sorthistogram.md +70 -0
  161. package/user-documentation/solverfunctions/sorthistogrambykeys.md +69 -0
  162. package/user-documentation/solverfunctions/sortset.md +75 -0
  163. package/user-documentation/solverfunctions/sqrt.md +85 -0
  164. package/user-documentation/solverfunctions/stdev.md +81 -0
  165. package/user-documentation/solverfunctions/stdeva.md +58 -0
  166. package/user-documentation/solverfunctions/stdevp.md +83 -0
  167. package/user-documentation/solverfunctions/stringcountsegments.md +66 -0
  168. package/user-documentation/solverfunctions/stringgetsegments.md +74 -0
  169. package/user-documentation/solverfunctions/subtractingsummation.md +66 -0
  170. package/user-documentation/solverfunctions/sum.md +78 -0
  171. package/user-documentation/solverfunctions/tan.md +78 -0
  172. package/user-documentation/solverfunctions/tofixed.md +75 -0
  173. package/user-documentation/solverfunctions/unionarrays.md +59 -0
  174. package/user-documentation/solverfunctions/uniquearray.md +58 -0
  175. package/user-documentation/solverfunctions/var.md +67 -0
  176. package/user-documentation/solverfunctions/vara.md +58 -0
  177. package/user-documentation/solverfunctions/varp.md +66 -0
  178. package/user-documentation/solverfunctions/when.md +98 -0
@@ -0,0 +1,3321 @@
1
+ module.exports = (
2
+ {
3
+ ViewIdentifier: 'Pict-FormEditor',
4
+
5
+ DefaultRenderable: 'FormEditor-Container',
6
+ DefaultDestinationAddress: '#FormEditor-Container',
7
+
8
+ AutoRender: false,
9
+
10
+ // Address in AppData where the form configuration manifest lives
11
+ ManifestDataAddress: false,
12
+
13
+ // Which tab is active by default: 'visual', 'objecteditor', 'json'
14
+ ActiveTab: 'visual',
15
+
16
+ CSS: /*css*/`
17
+ .pict-formeditor
18
+ {
19
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
20
+ font-size: 14px;
21
+ color: #3D3229;
22
+ background: #FDFCFA;
23
+ border: 1px solid #E8E3DA;
24
+ border-radius: 6px;
25
+ overflow: hidden;
26
+ display: flex;
27
+ flex-direction: column;
28
+ height: calc(100vh - 120px);
29
+ }
30
+
31
+ /* ---- Tab Bar ---- */
32
+ .pict-fe-tabbar
33
+ {
34
+ display: flex;
35
+ background: #F5F0E8;
36
+ padding: 0;
37
+ margin: 0;
38
+ }
39
+ .pict-fe-tab
40
+ {
41
+ padding: 10px 20px;
42
+ cursor: pointer;
43
+ border: none;
44
+ background: none;
45
+ font-size: 13px;
46
+ font-weight: 500;
47
+ color: #8A7F72;
48
+ border-top: 2px solid transparent;
49
+ transition: color 0.15s, border-color 0.15s;
50
+ user-select: none;
51
+ }
52
+ .pict-fe-tab:hover
53
+ {
54
+ color: #3D3229;
55
+ background: #EDE8DF;
56
+ }
57
+ .pict-fe-tab-active
58
+ {
59
+ color: #3D3229;
60
+ border-top-color: #9E6B47;
61
+ background: #FDFCFA;
62
+ }
63
+
64
+ /* ---- Tab Content Panels ---- */
65
+ .pict-fe-tabcontent
66
+ {
67
+ display: none;
68
+ padding: 16px;
69
+ flex: 1;
70
+ min-height: 0;
71
+ overflow: auto;
72
+ }
73
+ .pict-fe-tabcontent-active
74
+ {
75
+ display: flex;
76
+ flex-direction: column;
77
+ }
78
+
79
+ /* ---- Visual Editor ---- */
80
+ .pict-fe-visual-header
81
+ {
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: space-between;
85
+ margin-bottom: 12px;
86
+ }
87
+ .pict-fe-visual-header h3
88
+ {
89
+ margin: 0;
90
+ font-size: 15px;
91
+ font-weight: 600;
92
+ color: #3D3229;
93
+ }
94
+ .pict-fe-btn
95
+ {
96
+ display: inline-flex;
97
+ align-items: center;
98
+ gap: 4px;
99
+ padding: 6px 12px;
100
+ border-radius: 4px;
101
+ border: 1px solid #C5BFAE;
102
+ background: #F5F0E8;
103
+ cursor: pointer;
104
+ font-size: 12px;
105
+ font-weight: 500;
106
+ color: #3D3229;
107
+ user-select: none;
108
+ transition: background 0.1s, border-color 0.1s;
109
+ }
110
+ .pict-fe-btn:hover
111
+ {
112
+ background: #E8E3DA;
113
+ border-color: #B0A89E;
114
+ }
115
+ .pict-fe-btn-primary
116
+ {
117
+ background: #9E6B47;
118
+ border-color: #9E6B47;
119
+ color: #FFF;
120
+ }
121
+ .pict-fe-btn-primary:hover
122
+ {
123
+ background: #87593B;
124
+ border-color: #87593B;
125
+ }
126
+ .pict-fe-btn-danger
127
+ {
128
+ border-color: #E8C8C8;
129
+ background: #FAF0F0;
130
+ color: #A04040;
131
+ }
132
+ .pict-fe-btn-danger:hover
133
+ {
134
+ background: #F0D6D6;
135
+ border-color: #D4A0A0;
136
+ }
137
+ .pict-fe-btn-sm
138
+ {
139
+ padding: 3px 8px;
140
+ font-size: 11px;
141
+ }
142
+
143
+ /* ---- Section Cards ---- */
144
+ .pict-fe-sections-list
145
+ {
146
+ display: flex;
147
+ flex-direction: column;
148
+ gap: 12px;
149
+ }
150
+ .pict-fe-section-card
151
+ {
152
+ border: 1px solid #E8E3DA;
153
+ border-radius: 6px;
154
+ background: #FDFCFA;
155
+ }
156
+ .pict-fe-section-header
157
+ {
158
+ display: flex;
159
+ align-items: center;
160
+ justify-content: space-between;
161
+ padding: 10px 14px;
162
+ background: #F5F0E8;
163
+ border-bottom: 1px solid #E8E3DA;
164
+ border-radius: 6px 6px 0 0;
165
+ }
166
+ .pict-fe-section-header:hover
167
+ {
168
+ background: #EDE8DF;
169
+ }
170
+ .pict-fe-section-header-labels
171
+ {
172
+ display: flex;
173
+ align-items: center;
174
+ flex: 1;
175
+ min-width: 0;
176
+ gap: 8px;
177
+ }
178
+ .pict-fe-section-title
179
+ {
180
+ font-weight: 600;
181
+ font-size: 14px;
182
+ color: #3D3229;
183
+ cursor: pointer;
184
+ border-bottom: 1px dashed transparent;
185
+ }
186
+ .pict-fe-section-title:hover
187
+ {
188
+ border-bottom-color: #C5BFAE;
189
+ }
190
+ .pict-fe-section-hash
191
+ {
192
+ font-size: 11px;
193
+ color: #8A7F72;
194
+ font-family: monospace;
195
+ margin-left: auto;
196
+ cursor: pointer;
197
+ border-bottom: 1px dashed transparent;
198
+ }
199
+ .pict-fe-section-hash:hover
200
+ {
201
+ border-bottom-color: #C5BFAE;
202
+ }
203
+ .pict-fe-section-actions
204
+ {
205
+ display: flex;
206
+ gap: 6px;
207
+ align-items: center;
208
+ margin-left: 12px;
209
+ flex-shrink: 0;
210
+ }
211
+ .pict-fe-section-body
212
+ {
213
+ padding: 12px 14px;
214
+ }
215
+
216
+ /* ---- Inline Edit Modal ---- */
217
+ .pict-fe-inline-edit-input
218
+ {
219
+ padding: 2px 6px;
220
+ border: 1px solid #9E6B47;
221
+ border-radius: 3px;
222
+ font-size: inherit;
223
+ font-family: inherit;
224
+ color: #3D3229;
225
+ background: #FFF;
226
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
227
+ outline: none;
228
+ min-width: 80px;
229
+ }
230
+ .pict-fe-inline-edit-input.pict-fe-inline-edit-hash
231
+ {
232
+ font-family: monospace;
233
+ font-size: 11px;
234
+ text-align: right;
235
+ }
236
+ .pict-fe-inline-edit-select
237
+ {
238
+ padding: 1px 4px;
239
+ border: 1px solid #9E6B47;
240
+ border-radius: 3px;
241
+ font-size: 11px;
242
+ font-family: inherit;
243
+ color: #3D3229;
244
+ background: #FFF;
245
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
246
+ outline: none;
247
+ cursor: pointer;
248
+ }
249
+
250
+ /* ---- Group Cards ---- */
251
+ .pict-fe-groups-header
252
+ {
253
+ display: flex;
254
+ align-items: center;
255
+ justify-content: space-between;
256
+ margin-bottom: 8px;
257
+ }
258
+ .pict-fe-groups-header h4
259
+ {
260
+ margin: 0;
261
+ font-size: 13px;
262
+ font-weight: 600;
263
+ color: #8A7F72;
264
+ text-transform: uppercase;
265
+ letter-spacing: 0.5px;
266
+ }
267
+ .pict-fe-groups-list
268
+ {
269
+ display: flex;
270
+ flex-direction: column;
271
+ gap: 8px;
272
+ }
273
+ .pict-fe-group-card
274
+ {
275
+ border: 1px solid #E8E3DA;
276
+ border-radius: 4px;
277
+ background: #FFF;
278
+ }
279
+ .pict-fe-group-header
280
+ {
281
+ display: flex;
282
+ align-items: center;
283
+ justify-content: space-between;
284
+ padding: 8px 12px;
285
+ background: #FAFAF8;
286
+ border-bottom: 1px solid #F0ECE4;
287
+ border-radius: 4px 4px 0 0;
288
+ }
289
+ .pict-fe-group-header-labels
290
+ {
291
+ display: flex;
292
+ align-items: center;
293
+ flex: 1;
294
+ min-width: 0;
295
+ gap: 6px;
296
+ }
297
+ .pict-fe-group-title
298
+ {
299
+ font-weight: 500;
300
+ font-size: 13px;
301
+ color: #3D3229;
302
+ cursor: pointer;
303
+ border-bottom: 1px dashed transparent;
304
+ }
305
+ .pict-fe-group-title:hover
306
+ {
307
+ border-bottom-color: #C5BFAE;
308
+ }
309
+ .pict-fe-group-hash
310
+ {
311
+ font-size: 11px;
312
+ color: #B0A89E;
313
+ font-family: monospace;
314
+ margin-left: auto;
315
+ cursor: pointer;
316
+ border-bottom: 1px dashed transparent;
317
+ }
318
+ .pict-fe-group-hash:hover
319
+ {
320
+ border-bottom-color: #C5BFAE;
321
+ }
322
+ .pict-fe-group-layout
323
+ {
324
+ font-size: 11px;
325
+ color: #6B7F5A;
326
+ background: #EEF3E8;
327
+ border: 1px solid #D4E0C8;
328
+ border-radius: 9px;
329
+ padding: 1px 8px;
330
+ cursor: pointer;
331
+ font-weight: 500;
332
+ transition: background 0.1s, border-color 0.1s;
333
+ }
334
+ .pict-fe-group-layout:hover
335
+ {
336
+ background: #E0EBD6;
337
+ border-color: #B8CBa8;
338
+ }
339
+ .pict-fe-group-body
340
+ {
341
+ padding: 8px 12px;
342
+ }
343
+ .pict-fe-group-fields
344
+ {
345
+ display: grid;
346
+ grid-template-columns: 1fr 1fr;
347
+ gap: 6px;
348
+ }
349
+ .pict-fe-group-actions
350
+ {
351
+ display: flex;
352
+ gap: 4px;
353
+ align-items: center;
354
+ margin-left: 12px;
355
+ flex-shrink: 0;
356
+ }
357
+
358
+ /* ---- Inline Field Editor ---- */
359
+ .pict-fe-field-label
360
+ {
361
+ font-size: 11px;
362
+ color: #8A7F72;
363
+ margin-bottom: 2px;
364
+ }
365
+ .pict-fe-field-input
366
+ {
367
+ width: 100%;
368
+ padding: 4px 8px;
369
+ border: 1px solid #E8E3DA;
370
+ border-radius: 3px;
371
+ font-size: 13px;
372
+ font-family: inherit;
373
+ color: #3D3229;
374
+ background: #FFF;
375
+ box-sizing: border-box;
376
+ }
377
+ .pict-fe-field-input:focus
378
+ {
379
+ outline: none;
380
+ border-color: #9E6B47;
381
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
382
+ }
383
+ .pict-fe-field-select
384
+ {
385
+ width: 100%;
386
+ padding: 4px 8px;
387
+ border: 1px solid #E8E3DA;
388
+ border-radius: 3px;
389
+ font-size: 13px;
390
+ font-family: inherit;
391
+ color: #3D3229;
392
+ background: #FFF;
393
+ box-sizing: border-box;
394
+ }
395
+
396
+ /* ---- Row and Input ---- */
397
+ .pict-fe-group-body
398
+ {
399
+ padding: 8px 12px;
400
+ }
401
+ .pict-fe-row
402
+ {
403
+ border: 1px solid #F0ECE4;
404
+ border-radius: 4px;
405
+ margin-bottom: 6px;
406
+ background: #FDFCFA;
407
+ }
408
+ .pict-fe-row-header
409
+ {
410
+ display: flex;
411
+ align-items: center;
412
+ justify-content: space-between;
413
+ padding: 4px 8px;
414
+ background: #F9F7F3;
415
+ border-bottom: 1px solid #F0ECE4;
416
+ border-radius: 4px 4px 0 0;
417
+ }
418
+ .pict-fe-row-label
419
+ {
420
+ font-size: 10px;
421
+ font-weight: 500;
422
+ color: #C5BFAE;
423
+ text-transform: uppercase;
424
+ letter-spacing: 0.3px;
425
+ margin-left: 4px;
426
+ }
427
+ .pict-fe-row-actions
428
+ {
429
+ display: flex;
430
+ gap: 3px;
431
+ align-items: center;
432
+ opacity: 0;
433
+ transition: opacity 0.15s;
434
+ }
435
+ .pict-fe-row:hover .pict-fe-row-actions
436
+ {
437
+ opacity: 1;
438
+ }
439
+ .pict-fe-row-inputs
440
+ {
441
+ display: flex;
442
+ flex-wrap: wrap;
443
+ gap: 6px;
444
+ padding: 6px 8px;
445
+ align-items: center;
446
+ min-height: 28px;
447
+ }
448
+ .pict-fe-input
449
+ {
450
+ display: inline-flex;
451
+ align-items: center;
452
+ gap: 4px;
453
+ padding: 3px 8px;
454
+ border: 1px solid #E8E3DA;
455
+ border-radius: 3px;
456
+ background: #FFF;
457
+ font-size: 12px;
458
+ cursor: pointer;
459
+ transition: background 0.1s, border-color 0.1s;
460
+ }
461
+ .pict-fe-input:hover
462
+ {
463
+ border-color: #C5BFAE;
464
+ background: #F9F7F3;
465
+ }
466
+ .pict-fe-input-selected
467
+ {
468
+ border-color: #9E6B47;
469
+ background: #FBF5EF;
470
+ box-shadow: 0 0 0 1px #9E6B47;
471
+ }
472
+ .pict-fe-input-ordinal
473
+ {
474
+ font-size: 9px;
475
+ color: #B0A89E;
476
+ min-width: 14px;
477
+ text-align: center;
478
+ }
479
+ .pict-fe-input-name
480
+ {
481
+ font-size: 11px;
482
+ color: #3D3229;
483
+ font-weight: 500;
484
+ white-space: nowrap;
485
+ }
486
+ .pict-fe-input-remove
487
+ {
488
+ padding: 1px 4px;
489
+ font-size: 10px;
490
+ opacity: 0;
491
+ transition: opacity 0.15s;
492
+ }
493
+ .pict-fe-input:hover .pict-fe-input-remove
494
+ {
495
+ opacity: 1;
496
+ }
497
+ .pict-fe-add-input
498
+ {
499
+ opacity: 0.3;
500
+ transition: opacity 0.15s;
501
+ }
502
+ .pict-fe-row-inputs:hover .pict-fe-add-input
503
+ {
504
+ opacity: 1;
505
+ }
506
+ .pict-fe-add-row
507
+ {
508
+ opacity: 0.3;
509
+ transition: opacity 0.15s;
510
+ margin-top: 4px;
511
+ }
512
+ .pict-fe-group-card:hover .pict-fe-add-row
513
+ {
514
+ opacity: 1;
515
+ }
516
+
517
+ /* ---- Tabular / RecordSet Group Body ---- */
518
+ .pict-fe-tabular-body
519
+ {
520
+ padding: 10px 12px;
521
+ }
522
+ .pict-fe-tabular-fields
523
+ {
524
+ display: grid;
525
+ grid-template-columns: 1fr 1fr;
526
+ gap: 8px;
527
+ margin-bottom: 10px;
528
+ }
529
+ .pict-fe-tabular-field
530
+ {
531
+ display: flex;
532
+ flex-direction: column;
533
+ gap: 2px;
534
+ }
535
+ .pict-fe-field-label
536
+ {
537
+ font-size: 10px;
538
+ font-weight: 600;
539
+ text-transform: uppercase;
540
+ letter-spacing: 0.04em;
541
+ color: #8B7E6A;
542
+ }
543
+ .pict-fe-field-input
544
+ {
545
+ font-family: inherit;
546
+ font-size: 12px;
547
+ padding: 4px 6px;
548
+ border: 1px solid #E0DBCF;
549
+ border-radius: 3px;
550
+ background: #FFFCF7;
551
+ color: #264653;
552
+ }
553
+ .pict-fe-field-input:focus
554
+ {
555
+ outline: none;
556
+ border-color: #9E6B47;
557
+ box-shadow: 0 0 0 2px rgba(158,107,71,0.1);
558
+ }
559
+ .pict-fe-field-select
560
+ {
561
+ font-family: inherit;
562
+ font-size: 12px;
563
+ padding: 4px 6px;
564
+ border: 1px solid #E0DBCF;
565
+ border-radius: 3px;
566
+ background: #FFFCF7;
567
+ color: #264653;
568
+ min-width: 0;
569
+ flex: 1;
570
+ }
571
+ .pict-fe-field-select:focus
572
+ {
573
+ outline: none;
574
+ border-color: #9E6B47;
575
+ box-shadow: 0 0 0 2px rgba(158,107,71,0.1);
576
+ }
577
+ .pict-fe-tabular-columns-header
578
+ {
579
+ display: flex;
580
+ align-items: center;
581
+ justify-content: space-between;
582
+ padding: 4px 0;
583
+ margin-bottom: 6px;
584
+ border-top: 1px solid #F0ECE4;
585
+ padding-top: 8px;
586
+ }
587
+ .pict-fe-tabular-columns-list
588
+ {
589
+ display: flex;
590
+ flex-wrap: wrap;
591
+ gap: 6px;
592
+ padding: 6px 0;
593
+ align-items: center;
594
+ min-height: 28px;
595
+ }
596
+ .pict-fe-refmanifest-selector
597
+ {
598
+ display: flex;
599
+ gap: 4px;
600
+ align-items: center;
601
+ }
602
+ .pict-fe-refmanifest-selector select
603
+ {
604
+ flex: 1;
605
+ min-width: 0;
606
+ }
607
+ .pict-fe-refmanifest-badge
608
+ {
609
+ font-size: 10px;
610
+ color: #6B7F5A;
611
+ background: #EEF3E8;
612
+ border: 1px solid #D4E0C8;
613
+ border-radius: 9px;
614
+ padding: 2px 10px;
615
+ margin-bottom: 10px;
616
+ display: inline-block;
617
+ font-weight: 500;
618
+ }
619
+
620
+ /* ---- Iconography ---- */
621
+ .pict-fe-icon
622
+ {
623
+ display: inline-flex;
624
+ align-items: center;
625
+ justify-content: center;
626
+ flex-shrink: 0;
627
+ line-height: 0;
628
+ }
629
+ .pict-fe-icon svg
630
+ {
631
+ display: block;
632
+ }
633
+ .pict-fe-icon-section
634
+ {
635
+ opacity: 0.7;
636
+ }
637
+ .pict-fe-icon-group
638
+ {
639
+ opacity: 0.6;
640
+ }
641
+ .pict-fe-icon-row
642
+ {
643
+ opacity: 0.45;
644
+ }
645
+ .pict-fe-icon-input
646
+ {
647
+ opacity: 0.4;
648
+ }
649
+ .pict-fe-icon-datatype
650
+ {
651
+ opacity: 0.55;
652
+ }
653
+ .pict-fe-icon-inputtype-chip
654
+ {
655
+ margin-right: 2px;
656
+ opacity: 0.7;
657
+ }
658
+ .pict-fe-icon-picker
659
+ {
660
+ margin-right: 4px;
661
+ opacity: 0.65;
662
+ vertical-align: middle;
663
+ }
664
+ .pict-fe-icon-add
665
+ {
666
+ opacity: 0.8;
667
+ margin-right: 2px;
668
+ }
669
+
670
+ /* ---- Drag and Drop ---- */
671
+ .pict-fe-drag-handle
672
+ {
673
+ cursor: grab;
674
+ opacity: 0.35;
675
+ margin-right: 4px;
676
+ display: inline-flex;
677
+ align-items: center;
678
+ transition: opacity 0.15s;
679
+ }
680
+ .pict-fe-drag-handle:hover
681
+ {
682
+ opacity: 0.7;
683
+ }
684
+ .pict-fe-drag-handle:active
685
+ {
686
+ cursor: grabbing;
687
+ }
688
+ .pict-fe-dragging
689
+ {
690
+ opacity: 0.4;
691
+ }
692
+ .pict-fe-drag-over
693
+ {
694
+ outline: 2px dashed #9E6B47;
695
+ outline-offset: -2px;
696
+ background: rgba(158, 107, 71, 0.05);
697
+ }
698
+
699
+ /* ---- Editor Layout: tab content + toggle + properties panel ---- */
700
+ .pict-fe-editor-layout
701
+ {
702
+ display: flex;
703
+ gap: 0;
704
+ flex: 1;
705
+ min-height: 0;
706
+ overflow: hidden;
707
+ }
708
+ .pict-fe-editor-content
709
+ {
710
+ flex: 1;
711
+ min-width: 300px;
712
+ display: flex;
713
+ flex-direction: column;
714
+ overflow: hidden;
715
+ }
716
+ .pict-fe-panel-toggle
717
+ {
718
+ width: 14px;
719
+ flex-shrink: 0;
720
+ display: flex;
721
+ flex-direction: column;
722
+ align-items: center;
723
+ justify-content: center;
724
+ cursor: col-resize;
725
+ background: #F0ECE4;
726
+ border: 1px solid #E8E3DA;
727
+ border-radius: 6px;
728
+ margin: 6px 0;
729
+ color: #B0A89E;
730
+ font-size: 10px;
731
+ user-select: none;
732
+ transition: background 0.15s, color 0.15s, border-color 0.15s;
733
+ }
734
+ .pict-fe-panel-toggle:hover
735
+ {
736
+ background: #E8E3DA;
737
+ border-color: #D4CFC6;
738
+ color: #3D3229;
739
+ }
740
+ .pict-fe-panel-toggle:active
741
+ {
742
+ background: #DDD7CC;
743
+ border-color: #C5BFAE;
744
+ }
745
+ .pict-fe-panel-toggle-grip
746
+ {
747
+ width: 4px;
748
+ height: 32px;
749
+ border-radius: 2px;
750
+ background: #CBC4B8;
751
+ transition: background 0.15s;
752
+ }
753
+ .pict-fe-panel-toggle:hover .pict-fe-panel-toggle-grip
754
+ {
755
+ background: #A89E92;
756
+ }
757
+ .pict-fe-properties-panel
758
+ {
759
+ width: 0;
760
+ overflow: hidden;
761
+ border-left: 1px solid transparent;
762
+ background: #FAFAF8;
763
+ display: flex;
764
+ flex-direction: column;
765
+ }
766
+ .pict-fe-properties-panel-open
767
+ {
768
+ overflow-y: auto;
769
+ overflow-x: hidden;
770
+ border-left-color: #E8E3DA;
771
+ }
772
+
773
+ /* ---- Panel Tabs ---- */
774
+ .pict-fe-panel-tabbar
775
+ {
776
+ display: flex;
777
+ background: #F0ECE4;
778
+ padding: 0;
779
+ margin: 0;
780
+ flex-shrink: 0;
781
+ overflow: hidden;
782
+ position: relative;
783
+ }
784
+ .pict-fe-panel-tab
785
+ {
786
+ padding: 7px 8px;
787
+ cursor: pointer;
788
+ border: none;
789
+ background: none;
790
+ font-size: 11px;
791
+ font-weight: 600;
792
+ color: #8A7F72;
793
+ border-top: 2px solid transparent;
794
+ transition: color 0.15s, border-color 0.15s;
795
+ text-align: center;
796
+ user-select: none;
797
+ white-space: nowrap;
798
+ flex-shrink: 0;
799
+ }
800
+ .pict-fe-panel-tab:hover
801
+ {
802
+ color: #3D3229;
803
+ background: #E8E3DA;
804
+ }
805
+ .pict-fe-panel-tab-active
806
+ {
807
+ color: #3D3229;
808
+ border-top-color: #9E6B47;
809
+ background: #FAFAF8;
810
+ }
811
+ /* Overflow hamburger menu button */
812
+ .pict-fe-panel-tab-overflow-btn
813
+ {
814
+ display: none;
815
+ padding: 7px 8px;
816
+ cursor: pointer;
817
+ border: none;
818
+ background: #F0ECE4;
819
+ font-size: 13px;
820
+ font-weight: 600;
821
+ color: #8A7F72;
822
+ border-top: 2px solid transparent;
823
+ user-select: none;
824
+ flex-shrink: 0;
825
+ margin-left: auto;
826
+ position: relative;
827
+ }
828
+ .pict-fe-panel-tab-overflow-btn:hover
829
+ {
830
+ color: #3D3229;
831
+ background: #E8E3DA;
832
+ }
833
+ .pict-fe-panel-tab-overflow-btn-visible
834
+ {
835
+ display: block;
836
+ }
837
+ /* Dropdown menu for overflowed tabs */
838
+ .pict-fe-panel-tab-overflow-menu
839
+ {
840
+ display: none;
841
+ position: absolute;
842
+ top: 100%;
843
+ right: 0;
844
+ background: #FDFCFA;
845
+ border: 1px solid #E8E3DA;
846
+ border-radius: 0 0 4px 4px;
847
+ box-shadow: 0 4px 12px rgba(61, 50, 41, 0.12);
848
+ z-index: 20;
849
+ min-width: 100px;
850
+ }
851
+ .pict-fe-panel-tab-overflow-menu-open
852
+ {
853
+ display: block;
854
+ }
855
+ .pict-fe-panel-tab-overflow-item
856
+ {
857
+ display: block;
858
+ width: 100%;
859
+ padding: 8px 14px;
860
+ border: none;
861
+ background: none;
862
+ font-size: 12px;
863
+ font-weight: 500;
864
+ color: #8A7F72;
865
+ text-align: left;
866
+ cursor: pointer;
867
+ white-space: nowrap;
868
+ }
869
+ .pict-fe-panel-tab-overflow-item:hover
870
+ {
871
+ background: #F5F0E8;
872
+ color: #3D3229;
873
+ }
874
+ .pict-fe-panel-tab-overflow-item-active
875
+ {
876
+ color: #9E6B47;
877
+ font-weight: 600;
878
+ }
879
+ .pict-fe-panel-tab-content
880
+ {
881
+ display: none;
882
+ }
883
+ .pict-fe-panel-tab-content-active
884
+ {
885
+ display: block;
886
+ flex: 1;
887
+ overflow-y: auto;
888
+ min-height: 0;
889
+ }
890
+
891
+ /* ---- Form Dashboard ---- */
892
+ .pict-fe-form-identity
893
+ {
894
+ padding: 12px 12px 4px 12px;
895
+ }
896
+ .pict-fe-form-identity-heading
897
+ {
898
+ font-size: 11px;
899
+ font-weight: 700;
900
+ text-transform: uppercase;
901
+ letter-spacing: 0.5px;
902
+ color: #9E6B47;
903
+ margin-bottom: 8px;
904
+ }
905
+ .pict-fe-form-field
906
+ {
907
+ margin-bottom: 8px;
908
+ }
909
+ .pict-fe-form-field-label
910
+ {
911
+ display: block;
912
+ font-size: 11px;
913
+ font-weight: 600;
914
+ color: #8A7F72;
915
+ margin-bottom: 3px;
916
+ }
917
+ .pict-fe-form-dashboard-heading
918
+ {
919
+ font-size: 11px;
920
+ font-weight: 700;
921
+ text-transform: uppercase;
922
+ letter-spacing: 0.5px;
923
+ color: #9E6B47;
924
+ padding: 8px 12px 4px 12px;
925
+ }
926
+
927
+ /* ---- Stats Grid ---- */
928
+ .pict-fe-stats-grid
929
+ {
930
+ display: grid;
931
+ grid-template-columns: 1fr 1fr 1fr;
932
+ gap: 6px;
933
+ padding: 4px 12px 8px 12px;
934
+ }
935
+ .pict-fe-stats-card
936
+ {
937
+ background: #FFF;
938
+ border: 1px solid #E8E3DA;
939
+ border-radius: 5px;
940
+ padding: 8px 6px;
941
+ text-align: center;
942
+ }
943
+ .pict-fe-stats-value
944
+ {
945
+ font-size: 20px;
946
+ font-weight: 700;
947
+ color: #9E6B47;
948
+ line-height: 1.1;
949
+ margin-bottom: 2px;
950
+ }
951
+ .pict-fe-stats-label
952
+ {
953
+ font-size: 8px;
954
+ text-transform: uppercase;
955
+ letter-spacing: 0.4px;
956
+ color: #8A7F72;
957
+ font-weight: 600;
958
+ }
959
+
960
+ /* ---- Histogram Bars ---- */
961
+ .pict-fe-histogram
962
+ {
963
+ padding: 4px 12px 8px 12px;
964
+ }
965
+ .pict-fe-histogram-row
966
+ {
967
+ display: flex;
968
+ align-items: center;
969
+ gap: 6px;
970
+ margin-bottom: 4px;
971
+ font-size: 11px;
972
+ }
973
+ .pict-fe-histogram-label
974
+ {
975
+ flex: 0 0 80px;
976
+ color: #3D3229;
977
+ font-weight: 500;
978
+ text-align: right;
979
+ overflow: hidden;
980
+ text-overflow: ellipsis;
981
+ white-space: nowrap;
982
+ }
983
+ .pict-fe-histogram-bar-wrap
984
+ {
985
+ flex: 1;
986
+ display: block;
987
+ height: 14px;
988
+ background: #F5F0E8;
989
+ border-radius: 3px;
990
+ overflow: hidden;
991
+ }
992
+ .pict-fe-histogram-bar
993
+ {
994
+ display: block;
995
+ height: 100%;
996
+ background: #D4A373;
997
+ border-radius: 3px;
998
+ min-width: 2px;
999
+ transition: width 0.2s ease;
1000
+ }
1001
+ .pict-fe-histogram-count
1002
+ {
1003
+ flex: 0 0 24px;
1004
+ text-align: right;
1005
+ font-weight: 600;
1006
+ color: #9E6B47;
1007
+ font-size: 11px;
1008
+ }
1009
+
1010
+ /* ---- Input Selector ---- */
1011
+ .pict-fe-input-selector
1012
+ {
1013
+ padding: 8px 12px;
1014
+ border-bottom: 1px solid #E8E3DA;
1015
+ }
1016
+ .pict-fe-input-selector-select
1017
+ {
1018
+ width: 100%;
1019
+ padding: 5px 8px;
1020
+ border: 1px solid #E8E3DA;
1021
+ border-radius: 3px;
1022
+ font-size: 12px;
1023
+ font-family: inherit;
1024
+ color: #3D3229;
1025
+ background: #FFF;
1026
+ box-sizing: border-box;
1027
+ cursor: pointer;
1028
+ }
1029
+ .pict-fe-input-selector-select:focus
1030
+ {
1031
+ outline: none;
1032
+ border-color: #9E6B47;
1033
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
1034
+ }
1035
+
1036
+ /* ---- Properties Panel ---- */
1037
+ .pict-fe-props-header
1038
+ {
1039
+ display: flex;
1040
+ align-items: center;
1041
+ justify-content: space-between;
1042
+ padding: 10px 12px;
1043
+ border-bottom: 1px solid #E8E3DA;
1044
+ background: #F5F0E8;
1045
+ flex-shrink: 0;
1046
+ }
1047
+ .pict-fe-props-header-title
1048
+ {
1049
+ font-size: 12px;
1050
+ font-weight: 600;
1051
+ color: #3D3229;
1052
+ text-transform: uppercase;
1053
+ letter-spacing: 0.4px;
1054
+ }
1055
+ .pict-fe-props-close
1056
+ {
1057
+ background: none;
1058
+ border: none;
1059
+ font-size: 16px;
1060
+ color: #8A7F72;
1061
+ cursor: pointer;
1062
+ padding: 0 4px;
1063
+ line-height: 1;
1064
+ }
1065
+ .pict-fe-props-close:hover
1066
+ {
1067
+ color: #A04040;
1068
+ }
1069
+ .pict-fe-props-body
1070
+ {
1071
+ padding: 12px;
1072
+ }
1073
+ .pict-fe-props-field
1074
+ {
1075
+ margin-bottom: 10px;
1076
+ }
1077
+ .pict-fe-props-label
1078
+ {
1079
+ font-size: 10px;
1080
+ text-transform: uppercase;
1081
+ letter-spacing: 0.4px;
1082
+ color: #8A7F72;
1083
+ margin-bottom: 3px;
1084
+ }
1085
+ .pict-fe-props-input
1086
+ {
1087
+ width: 100%;
1088
+ padding: 5px 8px;
1089
+ border: 1px solid #E8E3DA;
1090
+ border-radius: 3px;
1091
+ font-size: 13px;
1092
+ font-family: inherit;
1093
+ color: #3D3229;
1094
+ background: #FFF;
1095
+ box-sizing: border-box;
1096
+ }
1097
+ .pict-fe-props-input:focus
1098
+ {
1099
+ outline: none;
1100
+ border-color: #9E6B47;
1101
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
1102
+ }
1103
+ .pict-fe-props-input-mono
1104
+ {
1105
+ font-family: monospace;
1106
+ font-size: 12px;
1107
+ }
1108
+ .pict-fe-props-value-readonly
1109
+ {
1110
+ font-family: monospace;
1111
+ font-size: 11px;
1112
+ color: #8A7F72;
1113
+ padding: 5px 8px;
1114
+ background: #F5F0E8;
1115
+ border-radius: 3px;
1116
+ word-break: break-all;
1117
+ }
1118
+ .pict-fe-props-inputtype-btn
1119
+ {
1120
+ width: 100%;
1121
+ padding: 5px 8px;
1122
+ border: 1px solid #E8E3DA;
1123
+ border-radius: 3px;
1124
+ font-size: 13px;
1125
+ font-family: inherit;
1126
+ color: #3D3229;
1127
+ background: #FFF;
1128
+ cursor: pointer;
1129
+ text-align: left;
1130
+ box-sizing: border-box;
1131
+ }
1132
+ .pict-fe-props-inputtype-btn:hover
1133
+ {
1134
+ border-color: #C5BFAE;
1135
+ background: #F9F7F3;
1136
+ }
1137
+ .pict-fe-props-address-row
1138
+ {
1139
+ display: flex;
1140
+ align-items: center;
1141
+ gap: 4px;
1142
+ }
1143
+ .pict-fe-props-address-row .pict-fe-props-input
1144
+ {
1145
+ flex: 1;
1146
+ min-width: 0;
1147
+ }
1148
+ .pict-fe-props-address-confirm,
1149
+ .pict-fe-props-address-cancel
1150
+ {
1151
+ display: inline-flex;
1152
+ align-items: center;
1153
+ justify-content: center;
1154
+ width: 24px;
1155
+ height: 24px;
1156
+ border: 1px solid #E8E3DA;
1157
+ border-radius: 3px;
1158
+ font-size: 14px;
1159
+ cursor: pointer;
1160
+ padding: 0;
1161
+ line-height: 1;
1162
+ flex-shrink: 0;
1163
+ }
1164
+ .pict-fe-props-address-confirm
1165
+ {
1166
+ background: #E8F5E9;
1167
+ color: #2E7D32;
1168
+ }
1169
+ .pict-fe-props-address-confirm:hover
1170
+ {
1171
+ background: #C8E6C9;
1172
+ border-color: #2E7D32;
1173
+ }
1174
+ .pict-fe-props-address-cancel
1175
+ {
1176
+ background: #FFF;
1177
+ color: #A04040;
1178
+ }
1179
+ .pict-fe-props-address-cancel:hover
1180
+ {
1181
+ background: #FFEBEE;
1182
+ border-color: #A04040;
1183
+ }
1184
+ .pict-fe-props-position-row
1185
+ {
1186
+ display: flex;
1187
+ align-items: center;
1188
+ gap: 6px;
1189
+ }
1190
+ .pict-fe-props-position-label
1191
+ {
1192
+ font-size: 12px;
1193
+ color: #8A7F72;
1194
+ font-weight: 600;
1195
+ white-space: nowrap;
1196
+ }
1197
+ .pict-fe-props-section-divider
1198
+ {
1199
+ border-top: 1px solid #E8E3DA;
1200
+ margin: 14px 0 10px 0;
1201
+ }
1202
+ .pict-fe-props-solver-info
1203
+ {
1204
+ padding: 0;
1205
+ }
1206
+ .pict-fe-props-solver-info-heading
1207
+ {
1208
+ font-size: 11px;
1209
+ font-weight: 600;
1210
+ color: #9E6B47;
1211
+ text-transform: uppercase;
1212
+ letter-spacing: 0.5px;
1213
+ margin-bottom: 6px;
1214
+ }
1215
+ .pict-fe-props-solver-info-label
1216
+ {
1217
+ font-size: 9px;
1218
+ font-weight: 600;
1219
+ text-transform: uppercase;
1220
+ letter-spacing: 0.5px;
1221
+ color: #8A7F72;
1222
+ margin-top: 6px;
1223
+ margin-bottom: 2px;
1224
+ }
1225
+ .pict-fe-props-solver-info-expr
1226
+ {
1227
+ font-family: monospace;
1228
+ font-size: 11px;
1229
+ color: #3D3229;
1230
+ background: #FAF8F5;
1231
+ border: 1px solid #E8E3DA;
1232
+ border-radius: 3px;
1233
+ padding: 3px 6px;
1234
+ margin: 2px 0;
1235
+ overflow: hidden;
1236
+ text-overflow: ellipsis;
1237
+ white-space: nowrap;
1238
+ }
1239
+ .pict-fe-props-solver-info-assignment
1240
+ {
1241
+ border-left: 3px solid #9E6B47;
1242
+ padding-left: 6px;
1243
+ font-weight: 600;
1244
+ }
1245
+ .pict-fe-props-solver-info-link
1246
+ {
1247
+ cursor: pointer;
1248
+ transition: background 0.15s, border-color 0.15s;
1249
+ }
1250
+ .pict-fe-props-solver-info-link:hover
1251
+ {
1252
+ background: #EDE8DF;
1253
+ border-color: #9E6B47;
1254
+ color: #5B3A20;
1255
+ }
1256
+ .pict-fe-props-placeholder
1257
+ {
1258
+ font-size: 11px;
1259
+ color: #B0A89E;
1260
+ font-style: italic;
1261
+ text-align: center;
1262
+ padding: 8px;
1263
+ }
1264
+ .pict-fe-props-section-header
1265
+ {
1266
+ font-size: 11px;
1267
+ font-weight: 600;
1268
+ color: #9E6B47;
1269
+ text-transform: uppercase;
1270
+ letter-spacing: 0.5px;
1271
+ padding: 8px 12px 0 12px;
1272
+ margin-bottom: 10px;
1273
+ }
1274
+ .pict-fe-props-textarea
1275
+ {
1276
+ width: 100%;
1277
+ padding: 6px 8px;
1278
+ border: 1px solid #E8E3DA;
1279
+ border-radius: 3px;
1280
+ font-family: monospace;
1281
+ font-size: 12px;
1282
+ color: #3D3229;
1283
+ background: #FFF;
1284
+ resize: vertical;
1285
+ box-sizing: border-box;
1286
+ }
1287
+ .pict-fe-props-textarea:focus
1288
+ {
1289
+ border-color: #9E6B47;
1290
+ outline: none;
1291
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.12);
1292
+ }
1293
+ .pict-fe-props-checkbox-label
1294
+ {
1295
+ display: flex;
1296
+ align-items: flex-start;
1297
+ gap: 6px;
1298
+ font-size: 11px;
1299
+ color: #5A5048;
1300
+ cursor: pointer;
1301
+ line-height: 1.4;
1302
+ }
1303
+ .pict-fe-props-checkbox
1304
+ {
1305
+ margin-top: 2px;
1306
+ flex-shrink: 0;
1307
+ }
1308
+
1309
+ /* ---- InputType Picker Overlay ---- */
1310
+ .pict-fe-inputtype-overlay
1311
+ {
1312
+ position: fixed;
1313
+ top: 0;
1314
+ left: 0;
1315
+ width: 100%;
1316
+ height: 100%;
1317
+ z-index: 9999;
1318
+ overflow: hidden;
1319
+ }
1320
+ .pict-fe-inputtype-picker
1321
+ {
1322
+ position: fixed;
1323
+ z-index: 10000;
1324
+ width: 340px;
1325
+ max-height: 420px;
1326
+ background: #FFF;
1327
+ border: 1px solid #D4CFC6;
1328
+ border-radius: 8px;
1329
+ box-shadow: 0 8px 24px rgba(61, 50, 41, 0.15), 0 2px 8px rgba(61, 50, 41, 0.08);
1330
+ overflow: hidden;
1331
+ display: flex;
1332
+ flex-direction: column;
1333
+ }
1334
+ .pict-fe-inputtype-picker-search
1335
+ {
1336
+ padding: 10px 12px 8px 12px;
1337
+ border-bottom: 1px solid #F0ECE4;
1338
+ }
1339
+ .pict-fe-inputtype-picker-search-input
1340
+ {
1341
+ width: 100%;
1342
+ padding: 7px 10px;
1343
+ border: 1px solid #D4CFC6;
1344
+ border-radius: 5px;
1345
+ font-size: 13px;
1346
+ font-family: inherit;
1347
+ color: #3D3229;
1348
+ background: #FDFCFA;
1349
+ box-sizing: border-box;
1350
+ outline: none;
1351
+ transition: border-color 0.15s, box-shadow 0.15s;
1352
+ }
1353
+ .pict-fe-inputtype-picker-search-input:focus
1354
+ {
1355
+ border-color: #9E6B47;
1356
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
1357
+ }
1358
+ .pict-fe-inputtype-picker-default
1359
+ {
1360
+ padding: 4px 8px;
1361
+ border-bottom: 1px solid #F0ECE4;
1362
+ }
1363
+ .pict-fe-inputtype-picker-categories
1364
+ {
1365
+ overflow-y: auto;
1366
+ flex: 1;
1367
+ padding: 4px 0;
1368
+ }
1369
+ .pict-fe-inputtype-picker-category
1370
+ {
1371
+ padding: 0 0 2px 0;
1372
+ }
1373
+ .pict-fe-inputtype-picker-category-label
1374
+ {
1375
+ padding: 8px 12px 3px 12px;
1376
+ font-size: 10px;
1377
+ font-weight: 700;
1378
+ text-transform: uppercase;
1379
+ letter-spacing: 0.6px;
1380
+ color: #9E6B47;
1381
+ }
1382
+ .pict-fe-inputtype-picker-item
1383
+ {
1384
+ padding: 6px 12px;
1385
+ cursor: pointer;
1386
+ transition: background 0.1s;
1387
+ }
1388
+ .pict-fe-inputtype-picker-item:hover
1389
+ {
1390
+ background: #F5F0E8;
1391
+ }
1392
+ .pict-fe-inputtype-picker-item-active
1393
+ {
1394
+ background: #EEF3E8;
1395
+ }
1396
+ .pict-fe-inputtype-picker-item-active:hover
1397
+ {
1398
+ background: #E4EDD8;
1399
+ }
1400
+ .pict-fe-inputtype-picker-item-name
1401
+ {
1402
+ display: flex;
1403
+ align-items: center;
1404
+ font-size: 13px;
1405
+ font-weight: 500;
1406
+ color: #3D3229;
1407
+ }
1408
+ .pict-fe-inputtype-picker-item-desc
1409
+ {
1410
+ font-size: 11px;
1411
+ color: #8A7F72;
1412
+ margin-top: 1px;
1413
+ }
1414
+ .pict-fe-inputtype-picker-empty
1415
+ {
1416
+ padding: 16px 12px;
1417
+ text-align: center;
1418
+ color: #B0A89E;
1419
+ font-style: italic;
1420
+ font-size: 12px;
1421
+ }
1422
+
1423
+ /* ---- Manifest Summary ---- */
1424
+ .pict-fe-manifest-summary
1425
+ {
1426
+ margin-top: 6px;
1427
+ padding: 6px 8px;
1428
+ background: #F9F7F3;
1429
+ border: 1px solid #E8E3DA;
1430
+ border-radius: 4px;
1431
+ font-size: 11px;
1432
+ color: #5D544A;
1433
+ }
1434
+ .pict-fe-manifest-summary-error
1435
+ {
1436
+ color: #A04040;
1437
+ font-style: italic;
1438
+ background: #FFF5F5;
1439
+ border-color: #E0B0B0;
1440
+ }
1441
+ .pict-fe-manifest-summary-stats
1442
+ {
1443
+ display: flex;
1444
+ gap: 12px;
1445
+ margin-bottom: 3px;
1446
+ }
1447
+ .pict-fe-manifest-summary-stat
1448
+ {
1449
+ white-space: nowrap;
1450
+ }
1451
+ .pict-fe-manifest-summary-stat strong
1452
+ {
1453
+ color: #9E6B47;
1454
+ font-weight: 700;
1455
+ }
1456
+ .pict-fe-manifest-summary-types
1457
+ {
1458
+ display: flex;
1459
+ flex-wrap: wrap;
1460
+ gap: 4px;
1461
+ }
1462
+ .pict-fe-manifest-summary-type
1463
+ {
1464
+ font-size: 10px;
1465
+ padding: 1px 5px;
1466
+ background: #EDE8DF;
1467
+ border-radius: 3px;
1468
+ color: #8A7F72;
1469
+ white-space: nowrap;
1470
+ }
1471
+
1472
+ /* ---- Solver List ---- */
1473
+ .pict-fe-solver-list-header
1474
+ {
1475
+ display: flex;
1476
+ align-items: center;
1477
+ justify-content: space-between;
1478
+ margin-bottom: 6px;
1479
+ }
1480
+ .pict-fe-solver-list-title
1481
+ {
1482
+ font-size: 10px;
1483
+ text-transform: uppercase;
1484
+ letter-spacing: 0.4px;
1485
+ color: #8A7F72;
1486
+ }
1487
+ .pict-fe-solver-add-btn
1488
+ {
1489
+ padding: 2px 8px;
1490
+ border: 1px solid #D4CFC6;
1491
+ border-radius: 3px;
1492
+ background: #FFF;
1493
+ color: #9E6B47;
1494
+ font-size: 11px;
1495
+ font-weight: 600;
1496
+ cursor: pointer;
1497
+ line-height: 1.4;
1498
+ }
1499
+ .pict-fe-solver-add-btn:hover
1500
+ {
1501
+ background: #F5F0E8;
1502
+ border-color: #9E6B47;
1503
+ }
1504
+ .pict-fe-solver-entry
1505
+ {
1506
+ display: flex;
1507
+ flex-direction: column;
1508
+ gap: 4px;
1509
+ padding: 6px 8px;
1510
+ margin-bottom: 4px;
1511
+ border: 1px solid #E8E3DA;
1512
+ border-radius: 4px;
1513
+ background: #FDFCFA;
1514
+ transition: border-color 0.1s, opacity 0.1s;
1515
+ }
1516
+ .pict-fe-solver-entry:hover
1517
+ {
1518
+ border-color: #D4CFC6;
1519
+ }
1520
+ .pict-fe-solver-entry.pict-fe-dragging
1521
+ {
1522
+ opacity: 0.4;
1523
+ }
1524
+ .pict-fe-solver-entry.pict-fe-drag-over
1525
+ {
1526
+ outline: 2px dashed #9E6B47;
1527
+ outline-offset: -2px;
1528
+ background: rgba(158, 107, 71, 0.05);
1529
+ }
1530
+ .pict-fe-solver-expression
1531
+ {
1532
+ width: 100%;
1533
+ padding: 4px 6px;
1534
+ border: 1px solid #E8E3DA;
1535
+ border-radius: 3px;
1536
+ font-family: monospace;
1537
+ font-size: 11px;
1538
+ color: #3D3229;
1539
+ background: #FFF;
1540
+ box-sizing: border-box;
1541
+ }
1542
+ .pict-fe-solver-expression:focus
1543
+ {
1544
+ outline: none;
1545
+ border-color: #9E6B47;
1546
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.12);
1547
+ }
1548
+ .pict-fe-solver-bottom-row
1549
+ {
1550
+ display: flex;
1551
+ align-items: center;
1552
+ justify-content: space-between;
1553
+ }
1554
+ .pict-fe-solver-bottom-left
1555
+ {
1556
+ display: flex;
1557
+ align-items: center;
1558
+ gap: 2px;
1559
+ }
1560
+ .pict-fe-solver-bottom-right
1561
+ {
1562
+ display: flex;
1563
+ align-items: center;
1564
+ gap: 2px;
1565
+ }
1566
+ .pict-fe-solver-ordinal
1567
+ {
1568
+ width: 40px;
1569
+ padding: 2px 4px;
1570
+ border: 1px solid #E8E3DA;
1571
+ border-radius: 3px;
1572
+ font-family: monospace;
1573
+ font-size: 11px;
1574
+ color: #3D3229;
1575
+ background: #FFF;
1576
+ text-align: center;
1577
+ box-sizing: border-box;
1578
+ }
1579
+ .pict-fe-solver-ordinal:focus
1580
+ {
1581
+ outline: none;
1582
+ border-color: #9E6B47;
1583
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.12);
1584
+ }
1585
+ .pict-fe-solver-btn
1586
+ {
1587
+ padding: 1px 4px;
1588
+ border: 1px solid transparent;
1589
+ border-radius: 2px;
1590
+ background: none;
1591
+ cursor: pointer;
1592
+ font-size: 12px;
1593
+ line-height: 1;
1594
+ color: #B0A89E;
1595
+ }
1596
+ .pict-fe-solver-btn:hover
1597
+ {
1598
+ color: #3D3229;
1599
+ background: #F0ECE4;
1600
+ border-color: #D4CFC6;
1601
+ }
1602
+ .pict-fe-solver-btn-remove,
1603
+ .pict-fe-solver-btn-expand
1604
+ {
1605
+ opacity: 0;
1606
+ transition: opacity 0.15s;
1607
+ }
1608
+ .pict-fe-solver-entry:hover .pict-fe-solver-btn-remove,
1609
+ .pict-fe-solver-entry:hover .pict-fe-solver-btn-expand
1610
+ {
1611
+ opacity: 1;
1612
+ }
1613
+ .pict-fe-solver-btn-remove
1614
+ {
1615
+ color: #C0A0A0;
1616
+ }
1617
+ .pict-fe-solver-btn-remove:hover
1618
+ {
1619
+ color: #A04040;
1620
+ background: #FFEBEE;
1621
+ border-color: #E0B0B0;
1622
+ }
1623
+ .pict-fe-solver-btn-armed
1624
+ {
1625
+ opacity: 1 !important;
1626
+ color: #fff !important;
1627
+ background: #C0392B !important;
1628
+ border-color: #A93226 !important;
1629
+ font-size: 10px;
1630
+ padding: 1px 6px;
1631
+ }
1632
+ .pict-fe-solver-btn-armed:hover
1633
+ {
1634
+ background: #A93226 !important;
1635
+ }
1636
+ .pict-fe-solver-drag-handle
1637
+ {
1638
+ cursor: grab;
1639
+ opacity: 0.35;
1640
+ font-size: 10px;
1641
+ display: inline-flex;
1642
+ align-items: center;
1643
+ transition: opacity 0.15s;
1644
+ padding: 1px 2px;
1645
+ color: #8A7F72;
1646
+ }
1647
+ .pict-fe-solver-drag-handle:hover
1648
+ {
1649
+ opacity: 0.7;
1650
+ }
1651
+ .pict-fe-solver-drag-handle:active
1652
+ {
1653
+ cursor: grabbing;
1654
+ }
1655
+ .pict-fe-solver-empty
1656
+ {
1657
+ padding: 8px;
1658
+ text-align: center;
1659
+ font-size: 11px;
1660
+ color: #B0A89E;
1661
+ font-style: italic;
1662
+ }
1663
+ .pict-fe-solver-btn-expand
1664
+ {
1665
+ color: #B0A89E;
1666
+ }
1667
+ .pict-fe-solver-btn-expand:hover
1668
+ {
1669
+ color: #9E6B47;
1670
+ background: #F5F0E8;
1671
+ border-color: #D4CFC6;
1672
+ }
1673
+
1674
+ /* ---- Solver Code Editor ---- */
1675
+ /* ---- Solver Editor / Reference Styles ---- */
1676
+ .pict-fe-solver-code-editor-container
1677
+ {
1678
+ width: 100%;
1679
+ min-height: 120px;
1680
+ border: 1px solid #E8E3DA;
1681
+ border-radius: 4px;
1682
+ overflow: auto;
1683
+ box-sizing: border-box;
1684
+ }
1685
+ .pict-fe-solver-code-editor-container:focus-within
1686
+ {
1687
+ border-color: #9E6B47;
1688
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
1689
+ }
1690
+ /* Remove pict-section-code default border since our container provides it */
1691
+ .pict-fe-solver-code-editor-container .pict-code-editor-wrap
1692
+ {
1693
+ border: none;
1694
+ border-radius: 0;
1695
+ }
1696
+ /* Warm palette overrides to match form editor */
1697
+ .pict-fe-solver-code-editor-container .pict-code-editor
1698
+ {
1699
+ background: #FDFCFA;
1700
+ color: #3D3229;
1701
+ caret-color: #9E6B47;
1702
+ font-size: 13px;
1703
+ }
1704
+ .pict-fe-solver-code-editor-container .pict-code-line-numbers
1705
+ {
1706
+ background: #F5F0E8;
1707
+ border-right-color: #E8E3DA;
1708
+ color: #B0A89E;
1709
+ }
1710
+ /* Syntax highlighting token colors for solver DSL */
1711
+ .pict-fe-solver-code-editor-container .keyword { color: #9E6B47; font-weight: 600; }
1712
+ .pict-fe-solver-code-editor-container .string { color: #50A14F; }
1713
+ .pict-fe-solver-code-editor-container .number { color: #986801; }
1714
+ .pict-fe-solver-code-editor-container .property { color: #4078F2; }
1715
+ .pict-fe-solver-code-editor-container .operator { color: #0184BC; }
1716
+ .pict-fe-solver-modal-ordinal-row
1717
+ {
1718
+ display: flex;
1719
+ align-items: center;
1720
+ justify-content: flex-end;
1721
+ gap: 8px;
1722
+ margin-top: 10px;
1723
+ }
1724
+ .pict-fe-solver-modal-reference
1725
+ {
1726
+ margin-top: 14px;
1727
+ border-top: 1px solid #E8E3DA;
1728
+ padding-top: 12px;
1729
+ flex: 1;
1730
+ display: flex;
1731
+ flex-direction: column;
1732
+ min-height: 0;
1733
+ }
1734
+ .pict-fe-solver-modal-reference-header
1735
+ {
1736
+ display: flex;
1737
+ align-items: center;
1738
+ gap: 10px;
1739
+ margin-bottom: 8px;
1740
+ }
1741
+ .pict-fe-solver-modal-reference-search
1742
+ {
1743
+ flex: 1;
1744
+ padding: 4px 8px;
1745
+ border: 1px solid #E8E3DA;
1746
+ border-radius: 3px;
1747
+ font-size: 12px;
1748
+ color: #3D3229;
1749
+ background: #FFF;
1750
+ box-sizing: border-box;
1751
+ }
1752
+ .pict-fe-solver-modal-reference-search:focus
1753
+ {
1754
+ outline: none;
1755
+ border-color: #9E6B47;
1756
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.12);
1757
+ }
1758
+ .pict-fe-solver-modal-reference-list
1759
+ {
1760
+ flex: 1;
1761
+ min-height: 0;
1762
+ overflow-y: auto;
1763
+ border: 1px solid #E8E3DA;
1764
+ border-radius: 4px;
1765
+ background: #FDFCFA;
1766
+ }
1767
+ .pict-fe-solver-modal-reference-group
1768
+ {
1769
+ padding: 6px 10px 2px 10px;
1770
+ font-size: 9px;
1771
+ font-weight: 700;
1772
+ text-transform: uppercase;
1773
+ letter-spacing: 0.5px;
1774
+ color: #9E6B47;
1775
+ background: #F5F0E8;
1776
+ border-bottom: 1px solid #E8E3DA;
1777
+ position: sticky;
1778
+ top: 0;
1779
+ }
1780
+ .pict-fe-solver-modal-reference-item
1781
+ {
1782
+ display: flex;
1783
+ flex-direction: column;
1784
+ padding: 5px 10px;
1785
+ cursor: pointer;
1786
+ border-bottom: 1px solid #F0ECE4;
1787
+ transition: background 0.1s;
1788
+ }
1789
+ .pict-fe-solver-modal-reference-item:last-child
1790
+ {
1791
+ border-bottom: none;
1792
+ }
1793
+ .pict-fe-solver-modal-reference-item:hover
1794
+ {
1795
+ background: #F5F0E8;
1796
+ }
1797
+ .pict-fe-solver-modal-reference-row
1798
+ {
1799
+ display: flex;
1800
+ align-items: baseline;
1801
+ justify-content: space-between;
1802
+ gap: 8px;
1803
+ }
1804
+ .pict-fe-solver-modal-reference-name
1805
+ {
1806
+ font-size: 12px;
1807
+ font-weight: 600;
1808
+ color: #3D3229;
1809
+ min-width: 0;
1810
+ overflow: hidden;
1811
+ text-overflow: ellipsis;
1812
+ white-space: nowrap;
1813
+ }
1814
+ .pict-fe-solver-modal-reference-hash
1815
+ {
1816
+ font-family: monospace;
1817
+ font-size: 10px;
1818
+ color: #8A7F72;
1819
+ white-space: nowrap;
1820
+ flex-shrink: 0;
1821
+ }
1822
+ .pict-fe-solver-modal-reference-address
1823
+ {
1824
+ font-family: monospace;
1825
+ font-size: 10px;
1826
+ color: #B0A89E;
1827
+ white-space: nowrap;
1828
+ flex-shrink: 0;
1829
+ min-width: 0;
1830
+ overflow: hidden;
1831
+ text-overflow: ellipsis;
1832
+ }
1833
+ .pict-fe-solver-modal-reference-item-expanded
1834
+ {
1835
+ background: #F5F0E8;
1836
+ border-left: 3px solid #9E6B47;
1837
+ padding-left: 9px;
1838
+ }
1839
+ .pict-fe-solver-modal-reference-insert-btn
1840
+ {
1841
+ font-size: 12px;
1842
+ padding: 4px 14px;
1843
+ border: 1px solid #D4CFC6;
1844
+ border-radius: 4px;
1845
+ background: #FFF;
1846
+ color: #3D3229;
1847
+ cursor: pointer;
1848
+ font-weight: 500;
1849
+ flex-shrink: 0;
1850
+ transition: background 0.1s, color 0.1s, opacity 0.12s;
1851
+ opacity: 0;
1852
+ font-family: inherit;
1853
+ }
1854
+ .pict-fe-solver-modal-reference-item:hover .pict-fe-solver-modal-reference-insert-btn
1855
+ {
1856
+ opacity: 1;
1857
+ }
1858
+ .pict-fe-solver-modal-reference-insert-btn:hover
1859
+ {
1860
+ background: #9E6B47;
1861
+ color: #FFF;
1862
+ border-color: #9E6B47;
1863
+ }
1864
+ .pict-fe-solver-modal-reference-detail
1865
+ {
1866
+ border-top: 1px dashed #D4CFC6;
1867
+ margin-top: 6px;
1868
+ padding-top: 6px;
1869
+ }
1870
+ .pict-fe-solver-modal-reference-detail-label
1871
+ {
1872
+ font-size: 9px;
1873
+ font-weight: 600;
1874
+ text-transform: uppercase;
1875
+ letter-spacing: 0.5px;
1876
+ color: #8A7F72;
1877
+ margin-top: 4px;
1878
+ margin-bottom: 2px;
1879
+ }
1880
+ .pict-fe-solver-modal-reference-detail-equation
1881
+ {
1882
+ font-family: monospace;
1883
+ font-size: 11px;
1884
+ color: #3D3229;
1885
+ background: #FAF8F5;
1886
+ border: 1px solid #E8E3DA;
1887
+ border-radius: 3px;
1888
+ padding: 3px 6px;
1889
+ margin: 2px 0;
1890
+ overflow: hidden;
1891
+ text-overflow: ellipsis;
1892
+ white-space: nowrap;
1893
+ }
1894
+ .pict-fe-solver-modal-reference-detail-assignment
1895
+ {
1896
+ border-left: 3px solid #9E6B47;
1897
+ font-weight: 600;
1898
+ padding-left: 6px;
1899
+ }
1900
+ .pict-fe-solver-modal-reference-detail-link
1901
+ {
1902
+ cursor: pointer;
1903
+ transition: background 0.15s, border-color 0.15s;
1904
+ }
1905
+ .pict-fe-solver-modal-reference-detail-link:hover
1906
+ {
1907
+ background: #EDE8DF;
1908
+ border-color: #9E6B47;
1909
+ color: #5B3A20;
1910
+ }
1911
+ .pict-fe-solver-modal-reference-detail-empty
1912
+ {
1913
+ font-size: 10px;
1914
+ font-style: italic;
1915
+ color: #B0A89E;
1916
+ padding: 4px 0;
1917
+ }
1918
+ .pict-fe-solver-modal-btn
1919
+ {
1920
+ padding: 6px 16px;
1921
+ border: 1px solid #D4CFC6;
1922
+ border-radius: 4px;
1923
+ font-size: 13px;
1924
+ font-weight: 500;
1925
+ cursor: pointer;
1926
+ background: #FFF;
1927
+ color: #3D3229;
1928
+ transition: background 0.1s, border-color 0.1s;
1929
+ }
1930
+ .pict-fe-solver-modal-btn:hover
1931
+ {
1932
+ background: #F5F0E8;
1933
+ border-color: #C5BFAE;
1934
+ }
1935
+ .pict-fe-solver-modal-btn-save
1936
+ {
1937
+ background: #9E6B47;
1938
+ color: #FFF;
1939
+ border-color: #9E6B47;
1940
+ }
1941
+ .pict-fe-solver-modal-btn-save:hover
1942
+ {
1943
+ background: #8A5C3A;
1944
+ border-color: #8A5C3A;
1945
+ }
1946
+
1947
+ /* ---- Solver Editor Bottom Tabs ---- */
1948
+ .pict-fe-solver-bottom-tabbar
1949
+ {
1950
+ display: flex;
1951
+ gap: 0;
1952
+ border-bottom: 1px solid #E8E3DA;
1953
+ margin-top: 14px;
1954
+ flex-shrink: 0;
1955
+ }
1956
+ .pict-fe-solver-bottom-tab
1957
+ {
1958
+ padding: 5px 12px;
1959
+ font-size: 11px;
1960
+ font-weight: 500;
1961
+ color: #8A7F72;
1962
+ background: none;
1963
+ border: none;
1964
+ border-bottom: 2px solid transparent;
1965
+ cursor: pointer;
1966
+ transition: color 0.12s, border-color 0.12s;
1967
+ font-family: inherit;
1968
+ }
1969
+ .pict-fe-solver-bottom-tab:hover
1970
+ {
1971
+ color: #5B3A20;
1972
+ }
1973
+ .pict-fe-solver-bottom-tab-active
1974
+ {
1975
+ color: #9E6B47;
1976
+ font-weight: 600;
1977
+ border-bottom-color: #9E6B47;
1978
+ }
1979
+ .pict-fe-solver-linter-spinner
1980
+ {
1981
+ display: inline-block;
1982
+ width: 10px;
1983
+ height: 10px;
1984
+ margin-left: 6px;
1985
+ border: 1.5px solid #E8E3DA;
1986
+ border-top-color: #9E6B47;
1987
+ border-radius: 50%;
1988
+ opacity: 0;
1989
+ animation: pict-fe-solver-linter-spin 0.6s linear infinite;
1990
+ transition: opacity 0.1s;
1991
+ vertical-align: middle;
1992
+ position: relative;
1993
+ top: -0.5px;
1994
+ }
1995
+ .pict-fe-solver-linter-spinner-visible
1996
+ {
1997
+ opacity: 0.7;
1998
+ }
1999
+ @keyframes pict-fe-solver-linter-spin
2000
+ {
2001
+ to { transform: rotate(360deg); }
2002
+ }
2003
+ .pict-fe-solver-bottom-content
2004
+ {
2005
+ display: none;
2006
+ }
2007
+ .pict-fe-solver-bottom-content-active
2008
+ {
2009
+ display: flex;
2010
+ flex-direction: column;
2011
+ flex: 1;
2012
+ min-height: 0;
2013
+ }
2014
+
2015
+ /* ---- Expression Linter ---- */
2016
+ .pict-fe-solver-linter-output
2017
+ {
2018
+ padding: 8px 0;
2019
+ flex: 1;
2020
+ min-height: 0;
2021
+ overflow-y: auto;
2022
+ }
2023
+ .pict-fe-solver-linter-section-label
2024
+ {
2025
+ font-size: 9px;
2026
+ font-weight: 700;
2027
+ text-transform: uppercase;
2028
+ letter-spacing: 0.4px;
2029
+ color: #8A7F72;
2030
+ margin-bottom: 4px;
2031
+ }
2032
+ .pict-fe-solver-linter-tokens
2033
+ {
2034
+ display: flex;
2035
+ flex-wrap: wrap;
2036
+ gap: 3px;
2037
+ padding: 6px 8px;
2038
+ background: #FDFCFA;
2039
+ border: 1px solid #E8E3DA;
2040
+ border-radius: 4px;
2041
+ margin-bottom: 10px;
2042
+ min-height: 24px;
2043
+ align-items: center;
2044
+ }
2045
+ .pict-fe-solver-linter-token
2046
+ {
2047
+ display: inline-block;
2048
+ padding: 2px 6px;
2049
+ border-radius: 3px;
2050
+ font-family: monospace;
2051
+ font-size: 12px;
2052
+ line-height: 1.4;
2053
+ white-space: nowrap;
2054
+ }
2055
+ .pict-fe-solver-linter-token-constant
2056
+ {
2057
+ background: #FDF6EC;
2058
+ color: #986801;
2059
+ }
2060
+ .pict-fe-solver-linter-token-symbol
2061
+ {
2062
+ background: #EEF3FF;
2063
+ color: #4078F2;
2064
+ }
2065
+ .pict-fe-solver-linter-token-operator
2066
+ {
2067
+ background: #EAF5F8;
2068
+ color: #0184BC;
2069
+ font-weight: 600;
2070
+ }
2071
+ .pict-fe-solver-linter-token-function
2072
+ {
2073
+ background: #F5ECE4;
2074
+ color: #9E6B47;
2075
+ font-weight: 600;
2076
+ }
2077
+ .pict-fe-solver-linter-token-string
2078
+ {
2079
+ background: #EEF7EE;
2080
+ color: #50A14F;
2081
+ }
2082
+ .pict-fe-solver-linter-token-stateaddress
2083
+ {
2084
+ background: #F0E8F5;
2085
+ color: #7C3AED;
2086
+ }
2087
+ .pict-fe-solver-linter-token-assignment
2088
+ {
2089
+ background: #F5ECE4;
2090
+ color: #9E6B47;
2091
+ font-weight: 700;
2092
+ }
2093
+ .pict-fe-solver-linter-token-parenthesis
2094
+ {
2095
+ background: #F0ECE4;
2096
+ color: #8A7F72;
2097
+ font-weight: 600;
2098
+ }
2099
+ .pict-fe-solver-linter-messages
2100
+ {
2101
+ display: flex;
2102
+ flex-direction: column;
2103
+ gap: 4px;
2104
+ }
2105
+ .pict-fe-solver-linter-message
2106
+ {
2107
+ font-size: 11px;
2108
+ padding: 5px 8px;
2109
+ border-radius: 3px;
2110
+ line-height: 1.4;
2111
+ }
2112
+ .pict-fe-solver-linter-message-error
2113
+ {
2114
+ background: #FEF2F2;
2115
+ color: #991B1B;
2116
+ border-left: 3px solid #DC2626;
2117
+ }
2118
+ .pict-fe-solver-linter-message-warning
2119
+ {
2120
+ background: #FFFBEB;
2121
+ color: #92400E;
2122
+ border-left: 3px solid #F59E0B;
2123
+ }
2124
+ .pict-fe-solver-linter-ok
2125
+ {
2126
+ font-size: 11px;
2127
+ color: #166534;
2128
+ background: #F0FDF4;
2129
+ padding: 5px 8px;
2130
+ border-radius: 3px;
2131
+ border-left: 3px solid #22C55E;
2132
+ }
2133
+ .pict-fe-solver-linter-empty
2134
+ {
2135
+ font-size: 11px;
2136
+ color: #B0A89E;
2137
+ font-style: italic;
2138
+ padding: 8px 0;
2139
+ }
2140
+ .pict-fe-solver-linter-token-link
2141
+ {
2142
+ text-decoration: none;
2143
+ cursor: pointer;
2144
+ }
2145
+ .pict-fe-solver-linter-token-linked
2146
+ {
2147
+ cursor: pointer;
2148
+ border-bottom: 1px dashed currentColor;
2149
+ }
2150
+ .pict-fe-solver-linter-token-link:hover .pict-fe-solver-linter-token-linked
2151
+ {
2152
+ filter: brightness(0.85);
2153
+ }
2154
+ .pict-fe-solver-linter-docs
2155
+ {
2156
+ display: flex;
2157
+ flex-wrap: wrap;
2158
+ gap: 4px 8px;
2159
+ padding: 6px 0;
2160
+ }
2161
+ .pict-fe-solver-linter-doc-link
2162
+ {
2163
+ display: inline-block;
2164
+ font-size: 11px;
2165
+ color: #9E6B47;
2166
+ text-decoration: none;
2167
+ padding: 2px 8px;
2168
+ background: #FAF6F2;
2169
+ border: 1px solid #E8E3DA;
2170
+ border-radius: 3px;
2171
+ cursor: pointer;
2172
+ transition: background 0.12s, border-color 0.12s;
2173
+ }
2174
+ .pict-fe-solver-linter-doc-link:hover
2175
+ {
2176
+ background: #F5ECE4;
2177
+ border-color: #D4C5B3;
2178
+ }
2179
+
2180
+ /* ---- Searchable Selector Dropdown ---- */
2181
+ .pict-fe-searchable-selector
2182
+ {
2183
+ padding: 8px 12px;
2184
+ border-bottom: 1px solid #E8E3DA;
2185
+ position: relative;
2186
+ }
2187
+ .pict-fe-searchable-selector-input
2188
+ {
2189
+ width: 100%;
2190
+ padding: 5px 8px;
2191
+ border: 1px solid #E8E3DA;
2192
+ border-radius: 3px;
2193
+ font-size: 12px;
2194
+ font-family: inherit;
2195
+ color: #3D3229;
2196
+ background: #FFF;
2197
+ box-sizing: border-box;
2198
+ cursor: text;
2199
+ }
2200
+ .pict-fe-searchable-selector-input:focus
2201
+ {
2202
+ outline: none;
2203
+ border-color: #9E6B47;
2204
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.15);
2205
+ }
2206
+ .pict-fe-searchable-selector-input::placeholder
2207
+ {
2208
+ color: #B0A89E;
2209
+ font-style: italic;
2210
+ }
2211
+ .pict-fe-searchable-selector-list
2212
+ {
2213
+ display: none;
2214
+ position: absolute;
2215
+ left: 12px;
2216
+ right: 12px;
2217
+ top: 100%;
2218
+ max-height: 260px;
2219
+ overflow-y: auto;
2220
+ background: #FFF;
2221
+ border: 1px solid #D4CFC6;
2222
+ border-radius: 0 0 5px 5px;
2223
+ box-shadow: 0 6px 16px rgba(61, 50, 41, 0.12);
2224
+ z-index: 100;
2225
+ margin-top: -1px;
2226
+ }
2227
+ .pict-fe-searchable-selector-list-open
2228
+ {
2229
+ display: block;
2230
+ }
2231
+ .pict-fe-searchable-selector-group-label
2232
+ {
2233
+ padding: 6px 10px 2px 10px;
2234
+ font-size: 9px;
2235
+ font-weight: 700;
2236
+ text-transform: uppercase;
2237
+ letter-spacing: 0.5px;
2238
+ color: #9E6B47;
2239
+ background: #FAFAF8;
2240
+ }
2241
+ .pict-fe-searchable-selector-subgroup-label
2242
+ {
2243
+ padding: 4px 10px 2px 18px;
2244
+ font-size: 9px;
2245
+ font-weight: 600;
2246
+ letter-spacing: 0.3px;
2247
+ color: #8A7F72;
2248
+ background: #FDFCFA;
2249
+ }
2250
+ .pict-fe-searchable-selector-item-indented
2251
+ {
2252
+ padding-left: 22px;
2253
+ }
2254
+ .pict-fe-searchable-selector-item
2255
+ {
2256
+ padding: 5px 10px;
2257
+ font-size: 12px;
2258
+ color: #3D3229;
2259
+ cursor: pointer;
2260
+ transition: background 0.08s;
2261
+ white-space: nowrap;
2262
+ overflow: hidden;
2263
+ text-overflow: ellipsis;
2264
+ }
2265
+ .pict-fe-searchable-selector-item:hover
2266
+ {
2267
+ background: #F5F0E8;
2268
+ }
2269
+ .pict-fe-searchable-selector-item-active
2270
+ {
2271
+ background: #EEF3E8;
2272
+ font-weight: 500;
2273
+ }
2274
+ .pict-fe-searchable-selector-item-active:hover
2275
+ {
2276
+ background: #E4EDD8;
2277
+ }
2278
+ .pict-fe-searchable-selector-empty
2279
+ {
2280
+ padding: 10px;
2281
+ text-align: center;
2282
+ font-size: 11px;
2283
+ color: #B0A89E;
2284
+ font-style: italic;
2285
+ }
2286
+
2287
+ /* ---- Empty State ---- */
2288
+ .pict-fe-empty
2289
+ {
2290
+ text-align: center;
2291
+ padding: 24px;
2292
+ color: #B0A89E;
2293
+ font-style: italic;
2294
+ }
2295
+
2296
+ /* ---- JSON Tab (Code Editor) ---- */
2297
+ .pict-fe-tabcontent .pict-code-editor-wrap
2298
+ {
2299
+ flex: 1;
2300
+ min-height: 200px;
2301
+ }
2302
+
2303
+ /* ---- Object Editor Tab ---- */
2304
+ .pict-fe-tabcontent .pict-objecteditor
2305
+ {
2306
+ flex: 1;
2307
+ min-height: 200px;
2308
+ }
2309
+
2310
+ /* ---- Options Tab: Option Entries ---- */
2311
+ .pict-fe-option-entries
2312
+ {
2313
+ display: flex;
2314
+ flex-direction: column;
2315
+ gap: 0;
2316
+ margin-bottom: 8px;
2317
+ }
2318
+ .pict-fe-option-entry
2319
+ {
2320
+ display: flex;
2321
+ align-items: center;
2322
+ gap: 4px;
2323
+ padding: 4px 0;
2324
+ border-bottom: 1px solid #E8E3DA;
2325
+ transition: background 0.1s;
2326
+ }
2327
+ .pict-fe-option-entry:hover
2328
+ {
2329
+ background: #FAF8F5;
2330
+ }
2331
+ .pict-fe-option-entry-readonly
2332
+ {
2333
+ cursor: default;
2334
+ padding: 3px 6px;
2335
+ }
2336
+ .pict-fe-option-drag-handle
2337
+ {
2338
+ cursor: grab;
2339
+ color: #C4B9A8;
2340
+ font-size: 14px;
2341
+ flex-shrink: 0;
2342
+ width: 16px;
2343
+ text-align: center;
2344
+ user-select: none;
2345
+ }
2346
+ .pict-fe-option-drag-handle:active
2347
+ {
2348
+ cursor: grabbing;
2349
+ }
2350
+ .pict-fe-option-id
2351
+ {
2352
+ font-family: monospace;
2353
+ font-size: 12px;
2354
+ padding: 3px 6px;
2355
+ border: 1px solid #D4CFC6;
2356
+ border-radius: 3px;
2357
+ background: #FFF;
2358
+ color: #3D3229;
2359
+ width: 30%;
2360
+ min-width: 60px;
2361
+ flex-shrink: 0;
2362
+ }
2363
+ .pict-fe-option-text
2364
+ {
2365
+ font-size: 12px;
2366
+ padding: 3px 6px;
2367
+ border: 1px solid #D4CFC6;
2368
+ border-radius: 3px;
2369
+ background: #FFF;
2370
+ color: #3D3229;
2371
+ flex: 1;
2372
+ min-width: 0;
2373
+ }
2374
+ .pict-fe-option-id-preview,
2375
+ .pict-fe-option-text-preview
2376
+ {
2377
+ font-size: 11px;
2378
+ color: #8A7F72;
2379
+ }
2380
+ .pict-fe-option-id-preview
2381
+ {
2382
+ font-family: monospace;
2383
+ width: 30%;
2384
+ min-width: 60px;
2385
+ flex-shrink: 0;
2386
+ }
2387
+ .pict-fe-option-text-preview
2388
+ {
2389
+ flex: 1;
2390
+ min-width: 0;
2391
+ }
2392
+ .pict-fe-option-remove
2393
+ {
2394
+ background: none;
2395
+ border: none;
2396
+ color: #C4B9A8;
2397
+ cursor: pointer;
2398
+ font-size: 12px;
2399
+ padding: 2px 4px;
2400
+ border-radius: 3px;
2401
+ flex-shrink: 0;
2402
+ opacity: 0;
2403
+ transition: opacity 0.15s, background 0.1s, color 0.1s;
2404
+ }
2405
+ .pict-fe-option-entry:hover .pict-fe-option-remove
2406
+ {
2407
+ opacity: 1;
2408
+ }
2409
+ .pict-fe-option-remove:hover
2410
+ {
2411
+ background: #F0ECE4;
2412
+ color: #C0392B;
2413
+ }
2414
+ .pict-fe-option-remove-armed
2415
+ {
2416
+ background: #C0392B !important;
2417
+ color: #FFF !important;
2418
+ opacity: 1 !important;
2419
+ font-size: 10px;
2420
+ padding: 2px 6px;
2421
+ }
2422
+ .pict-fe-option-add-btn
2423
+ {
2424
+ display: block;
2425
+ width: 100%;
2426
+ padding: 6px;
2427
+ margin-top: 4px;
2428
+ margin-bottom: 12px;
2429
+ border: 1px dashed #C4B9A8;
2430
+ border-radius: 4px;
2431
+ background: transparent;
2432
+ color: #9E6B47;
2433
+ font-size: 12px;
2434
+ font-weight: 500;
2435
+ cursor: pointer;
2436
+ transition: background 0.1s, border-color 0.1s;
2437
+ }
2438
+ .pict-fe-option-add-btn:hover
2439
+ {
2440
+ background: #FAF8F5;
2441
+ border-color: #9E6B47;
2442
+ }
2443
+
2444
+ /* ---- Options Tab: Source Toggle ---- */
2445
+ .pict-fe-option-source-toggle
2446
+ {
2447
+ display: flex;
2448
+ align-items: center;
2449
+ gap: 8px;
2450
+ flex-wrap: wrap;
2451
+ margin-bottom: 10px;
2452
+ padding: 6px 0;
2453
+ }
2454
+ .pict-fe-option-source-radio
2455
+ {
2456
+ display: flex;
2457
+ align-items: center;
2458
+ gap: 3px;
2459
+ font-size: 12px;
2460
+ color: #3D3229;
2461
+ cursor: pointer;
2462
+ }
2463
+ .pict-fe-option-source-radio input[type="radio"]
2464
+ {
2465
+ margin: 0;
2466
+ cursor: pointer;
2467
+ }
2468
+
2469
+ /* ---- Options Tab: Named Option Lists ---- */
2470
+ .pict-fe-named-list-card
2471
+ {
2472
+ border: 1px solid #E8E3DA;
2473
+ border-radius: 6px;
2474
+ margin-bottom: 8px;
2475
+ overflow: hidden;
2476
+ }
2477
+ .pict-fe-named-list-header
2478
+ {
2479
+ display: flex;
2480
+ align-items: center;
2481
+ gap: 6px;
2482
+ padding: 8px 10px;
2483
+ cursor: pointer;
2484
+ background: #FAF8F5;
2485
+ transition: background 0.1s;
2486
+ user-select: none;
2487
+ }
2488
+ .pict-fe-named-list-header:hover
2489
+ {
2490
+ background: #F5F0E8;
2491
+ }
2492
+ .pict-fe-named-list-header-expanded
2493
+ {
2494
+ background: #F5F0E8;
2495
+ border-bottom: 1px solid #E8E3DA;
2496
+ border-left: 3px solid #9E6B47;
2497
+ padding-left: 7px;
2498
+ }
2499
+ .pict-fe-named-list-arrow
2500
+ {
2501
+ font-size: 12px;
2502
+ color: #8A7F72;
2503
+ flex-shrink: 0;
2504
+ width: 12px;
2505
+ }
2506
+ .pict-fe-named-list-name
2507
+ {
2508
+ font-size: 13px;
2509
+ font-weight: 500;
2510
+ color: #3D3229;
2511
+ flex: 1;
2512
+ min-width: 0;
2513
+ overflow: hidden;
2514
+ text-overflow: ellipsis;
2515
+ white-space: nowrap;
2516
+ }
2517
+ .pict-fe-named-list-count
2518
+ {
2519
+ font-size: 10px;
2520
+ color: #8A7F72;
2521
+ flex-shrink: 0;
2522
+ }
2523
+ .pict-fe-named-list-body
2524
+ {
2525
+ padding: 10px;
2526
+ }
2527
+ .pict-fe-named-list-props
2528
+ {
2529
+ margin-top: 8px;
2530
+ border-top: 1px dashed #E8E3DA;
2531
+ padding-top: 8px;
2532
+ }
2533
+ .pict-fe-named-list-delete-btn
2534
+ {
2535
+ display: block;
2536
+ width: 100%;
2537
+ padding: 5px;
2538
+ margin-top: 8px;
2539
+ border: 1px solid #D4CFC6;
2540
+ border-radius: 4px;
2541
+ background: transparent;
2542
+ color: #8A7F72;
2543
+ font-size: 11px;
2544
+ cursor: pointer;
2545
+ transition: background 0.1s, color 0.1s, border-color 0.1s;
2546
+ }
2547
+ .pict-fe-named-list-delete-btn:hover
2548
+ {
2549
+ background: #FDF2F2;
2550
+ color: #C0392B;
2551
+ border-color: #E8A9A9;
2552
+ }
2553
+ .pict-fe-named-list-delete-btn-armed
2554
+ {
2555
+ background: #C0392B !important;
2556
+ color: #FFF !important;
2557
+ border-color: #C0392B !important;
2558
+ }
2559
+ .pict-fe-named-list-add-btn
2560
+ {
2561
+ display: block;
2562
+ width: 100%;
2563
+ padding: 8px;
2564
+ margin-top: 4px;
2565
+ border: 1px dashed #C4B9A8;
2566
+ border-radius: 4px;
2567
+ background: transparent;
2568
+ color: #9E6B47;
2569
+ font-size: 12px;
2570
+ font-weight: 500;
2571
+ cursor: pointer;
2572
+ transition: background 0.1s, border-color 0.1s;
2573
+ }
2574
+ .pict-fe-named-list-add-btn:hover
2575
+ {
2576
+ background: #FAF8F5;
2577
+ border-color: #9E6B47;
2578
+ }
2579
+
2580
+ /* ---- Data Tab: Section Dividers ---- */
2581
+ .pict-fe-data-section-divider
2582
+ {
2583
+ height: 1px;
2584
+ background: #E8E3DA;
2585
+ margin: 14px 0;
2586
+ }
2587
+
2588
+ /* ---- Data Tab: Scope Selector ---- */
2589
+ .pict-fe-data-scope-selector
2590
+ {
2591
+ margin-bottom: 10px;
2592
+ }
2593
+
2594
+ /* ---- Data Tab: PickList Cards ---- */
2595
+ .pict-fe-picklist-card
2596
+ {
2597
+ border: 1px solid #E8E3DA;
2598
+ border-radius: 6px;
2599
+ margin-bottom: 8px;
2600
+ overflow: hidden;
2601
+ }
2602
+ .pict-fe-picklist-header
2603
+ {
2604
+ display: flex;
2605
+ align-items: center;
2606
+ gap: 6px;
2607
+ padding: 8px 10px;
2608
+ cursor: pointer;
2609
+ background: #FAF8F5;
2610
+ transition: background 0.1s;
2611
+ user-select: none;
2612
+ }
2613
+ .pict-fe-picklist-header:hover
2614
+ {
2615
+ background: #F5F0E8;
2616
+ }
2617
+ .pict-fe-picklist-header-expanded
2618
+ {
2619
+ background: #F5F0E8;
2620
+ border-bottom: 1px solid #E8E3DA;
2621
+ border-left: 3px solid #9E6B47;
2622
+ padding-left: 7px;
2623
+ }
2624
+ .pict-fe-picklist-name
2625
+ {
2626
+ font-size: 13px;
2627
+ font-weight: 500;
2628
+ color: #3D3229;
2629
+ flex: 1;
2630
+ min-width: 0;
2631
+ overflow: hidden;
2632
+ text-overflow: ellipsis;
2633
+ white-space: nowrap;
2634
+ }
2635
+ .pict-fe-picklist-body
2636
+ {
2637
+ padding: 10px;
2638
+ }
2639
+
2640
+ /* ---- Data Tab: Provider Entries ---- */
2641
+ .pict-fe-provider-entry
2642
+ {
2643
+ display: flex;
2644
+ align-items: center;
2645
+ gap: 6px;
2646
+ padding: 6px 8px;
2647
+ border: 1px solid #E8E3DA;
2648
+ border-radius: 4px;
2649
+ margin-bottom: 4px;
2650
+ background: #FDFCFA;
2651
+ cursor: grab;
2652
+ transition: background 0.1s, box-shadow 0.1s;
2653
+ }
2654
+ .pict-fe-provider-entry:hover
2655
+ {
2656
+ background: #FAF8F5;
2657
+ box-shadow: 0 1px 3px rgba(0,0,0,0.06);
2658
+ }
2659
+ .pict-fe-provider-drag-handle
2660
+ {
2661
+ color: #C4B9A8;
2662
+ font-size: 14px;
2663
+ cursor: grab;
2664
+ user-select: none;
2665
+ flex-shrink: 0;
2666
+ }
2667
+ .pict-fe-provider-drag-handle:active
2668
+ {
2669
+ cursor: grabbing;
2670
+ }
2671
+ .pict-fe-provider-name
2672
+ {
2673
+ font-size: 12px;
2674
+ font-weight: 500;
2675
+ color: #3D3229;
2676
+ flex: 1;
2677
+ min-width: 0;
2678
+ overflow: hidden;
2679
+ text-overflow: ellipsis;
2680
+ white-space: nowrap;
2681
+ }
2682
+ .pict-fe-provider-remove
2683
+ {
2684
+ background: none;
2685
+ border: none;
2686
+ color: #C4B9A8;
2687
+ font-size: 13px;
2688
+ cursor: pointer;
2689
+ padding: 2px 4px;
2690
+ border-radius: 3px;
2691
+ transition: color 0.1s, background 0.1s;
2692
+ flex-shrink: 0;
2693
+ }
2694
+ .pict-fe-provider-entry:hover .pict-fe-provider-remove
2695
+ {
2696
+ color: #8A7F72;
2697
+ }
2698
+ .pict-fe-provider-remove:hover
2699
+ {
2700
+ color: #C0392B;
2701
+ background: #FDF2F2;
2702
+ }
2703
+ .pict-fe-provider-remove-armed
2704
+ {
2705
+ background: #C0392B !important;
2706
+ color: #FFF !important;
2707
+ font-size: 10px;
2708
+ font-weight: 600;
2709
+ }
2710
+ .pict-fe-provider-add-select
2711
+ {
2712
+ width: 100%;
2713
+ padding: 6px 8px;
2714
+ margin-top: 4px;
2715
+ border: 1px dashed #C4B9A8;
2716
+ border-radius: 4px;
2717
+ background: transparent;
2718
+ color: #9E6B47;
2719
+ font-size: 12px;
2720
+ font-weight: 500;
2721
+ cursor: pointer;
2722
+ transition: background 0.1s, border-color 0.1s;
2723
+ }
2724
+ .pict-fe-provider-add-select:hover
2725
+ {
2726
+ background: #FAF8F5;
2727
+ border-color: #9E6B47;
2728
+ }
2729
+
2730
+ /* ---- Data Tab: Entity Bundle ---- */
2731
+ .pict-fe-entity-bundle-card
2732
+ {
2733
+ border: 1px solid #E8E3DA;
2734
+ border-radius: 6px;
2735
+ margin-bottom: 8px;
2736
+ overflow: hidden;
2737
+ }
2738
+ .pict-fe-entity-bundle-triggers
2739
+ {
2740
+ margin-top: 10px;
2741
+ padding: 10px;
2742
+ border: 1px solid #E8E3DA;
2743
+ border-radius: 6px;
2744
+ background: #FAF8F5;
2745
+ }
2746
+
2747
+ /* ---- Solvers Tab ---- */
2748
+ .pict-fe-solvers-health-ok
2749
+ {
2750
+ font-size: 12px;
2751
+ color: #5B6E5D;
2752
+ background: #F0F5F0;
2753
+ border: 1px solid #C5D8C5;
2754
+ border-left: 3px solid #6B8F5A;
2755
+ border-radius: 4px;
2756
+ padding: 8px 12px;
2757
+ margin: 8px 0;
2758
+ }
2759
+ .pict-fe-solvers-health-issue
2760
+ {
2761
+ border: 1px solid #E8E3DA;
2762
+ border-radius: 4px;
2763
+ margin: 6px 0;
2764
+ overflow: hidden;
2765
+ }
2766
+ .pict-fe-solvers-health-issue-header
2767
+ {
2768
+ display: flex;
2769
+ align-items: center;
2770
+ gap: 8px;
2771
+ padding: 8px 12px;
2772
+ background: #FFF;
2773
+ cursor: pointer;
2774
+ font-size: 12px;
2775
+ font-weight: 500;
2776
+ color: #3D3229;
2777
+ transition: background 0.15s;
2778
+ }
2779
+ .pict-fe-solvers-health-issue-header:hover
2780
+ {
2781
+ background: #FAF8F5;
2782
+ }
2783
+ .pict-fe-solvers-health-issue-count
2784
+ {
2785
+ display: inline-flex;
2786
+ align-items: center;
2787
+ justify-content: center;
2788
+ min-width: 20px;
2789
+ height: 18px;
2790
+ padding: 0 6px;
2791
+ border-radius: 9px;
2792
+ font-size: 10px;
2793
+ font-weight: 700;
2794
+ color: #FFF;
2795
+ }
2796
+ .pict-fe-solvers-health-issue-items
2797
+ {
2798
+ padding: 6px 12px 10px 12px;
2799
+ border-top: 1px solid #E8E3DA;
2800
+ background: #FDFCFA;
2801
+ }
2802
+ .pict-fe-solvers-health-issue-item
2803
+ {
2804
+ font-family: monospace;
2805
+ font-size: 11px;
2806
+ color: #3D3229;
2807
+ background: #FAF8F5;
2808
+ border: 1px solid #E8E3DA;
2809
+ border-radius: 3px;
2810
+ padding: 3px 6px;
2811
+ margin: 2px 0;
2812
+ overflow: hidden;
2813
+ text-overflow: ellipsis;
2814
+ white-space: nowrap;
2815
+ cursor: pointer;
2816
+ transition: background 0.15s, border-color 0.15s;
2817
+ }
2818
+ .pict-fe-solvers-health-issue-item:hover
2819
+ {
2820
+ background: #EDE8DF;
2821
+ border-color: #9E6B47;
2822
+ color: #5B3A20;
2823
+ }
2824
+ .pict-fe-solvers-health-issue-detail
2825
+ {
2826
+ font-size: 10px;
2827
+ color: #8A7F72;
2828
+ margin: 2px 0 4px 0;
2829
+ }
2830
+ .pict-fe-solvers-ordinal-group
2831
+ {
2832
+ margin-bottom: 14px;
2833
+ }
2834
+ .pict-fe-solvers-ordinal-header
2835
+ {
2836
+ font-size: 10px;
2837
+ font-weight: 700;
2838
+ text-transform: uppercase;
2839
+ letter-spacing: 0.5px;
2840
+ color: #9E6B47;
2841
+ margin-bottom: 6px;
2842
+ padding-bottom: 4px;
2843
+ border-bottom: 1px solid #E8E3DA;
2844
+ }
2845
+ .pict-fe-solvers-seq-entry
2846
+ {
2847
+ display: flex;
2848
+ flex-direction: column;
2849
+ gap: 3px;
2850
+ padding: 6px 8px;
2851
+ margin-bottom: 4px;
2852
+ border: 1px solid #E8E3DA;
2853
+ border-radius: 4px;
2854
+ background: #FDFCFA;
2855
+ transition: border-color 0.15s;
2856
+ }
2857
+ .pict-fe-solvers-seq-entry:hover
2858
+ {
2859
+ border-color: #D4CFC6;
2860
+ }
2861
+ .pict-fe-solvers-seq-meta
2862
+ {
2863
+ display: flex;
2864
+ align-items: center;
2865
+ gap: 6px;
2866
+ font-size: 10px;
2867
+ color: #8A7F72;
2868
+ }
2869
+ .pict-fe-solvers-badge-section
2870
+ {
2871
+ display: inline-block;
2872
+ padding: 1px 6px;
2873
+ border-radius: 3px;
2874
+ font-size: 9px;
2875
+ font-weight: 700;
2876
+ text-transform: uppercase;
2877
+ letter-spacing: 0.3px;
2878
+ background: #F5EDE5;
2879
+ color: #9E6B47;
2880
+ border: 1px solid #E8DDD0;
2881
+ }
2882
+ .pict-fe-solvers-badge-group
2883
+ {
2884
+ display: inline-block;
2885
+ padding: 1px 6px;
2886
+ border-radius: 3px;
2887
+ font-size: 9px;
2888
+ font-weight: 700;
2889
+ text-transform: uppercase;
2890
+ letter-spacing: 0.3px;
2891
+ background: #E8EDF2;
2892
+ color: #5A7F9E;
2893
+ border: 1px solid #D0D8E0;
2894
+ }
2895
+ .pict-fe-solvers-flow-node
2896
+ {
2897
+ border: 1px solid #E8E3DA;
2898
+ border-radius: 5px;
2899
+ margin-bottom: 8px;
2900
+ background: #FDFCFA;
2901
+ overflow: hidden;
2902
+ }
2903
+ .pict-fe-solvers-flow-hash
2904
+ {
2905
+ font-family: monospace;
2906
+ font-size: 12px;
2907
+ font-weight: 700;
2908
+ color: #3D3229;
2909
+ padding: 8px 12px;
2910
+ background: #F5F0E8;
2911
+ border-bottom: 1px solid #E8E3DA;
2912
+ }
2913
+ .pict-fe-solvers-flow-relationship
2914
+ {
2915
+ display: flex;
2916
+ align-items: flex-start;
2917
+ gap: 6px;
2918
+ padding: 4px 12px 4px 20px;
2919
+ }
2920
+ .pict-fe-solvers-flow-relationship:last-child
2921
+ {
2922
+ padding-bottom: 8px;
2923
+ }
2924
+ .pict-fe-solvers-flow-arrow
2925
+ {
2926
+ flex-shrink: 0;
2927
+ font-size: 13px;
2928
+ line-height: 20px;
2929
+ color: #9E6B47;
2930
+ }
2931
+ .pict-fe-solvers-flow-label
2932
+ {
2933
+ flex-shrink: 0;
2934
+ font-size: 9px;
2935
+ font-weight: 600;
2936
+ text-transform: uppercase;
2937
+ letter-spacing: 0.3px;
2938
+ color: #8A7F72;
2939
+ line-height: 20px;
2940
+ min-width: 80px;
2941
+ }
2942
+ .pict-fe-solvers-flow-expr
2943
+ {
2944
+ flex: 1;
2945
+ min-width: 0;
2946
+ }
2947
+
2948
+ /* ---- Solver Editor Tab ---- */
2949
+ .pict-fe-solver-editor-breadcrumb
2950
+ {
2951
+ display: flex;
2952
+ align-items: center;
2953
+ flex-wrap: wrap;
2954
+ gap: 2px;
2955
+ padding: 8px 12px;
2956
+ margin-bottom: 10px;
2957
+ background: #F5F0E8;
2958
+ border: 1px solid #E8E3DA;
2959
+ border-radius: 4px;
2960
+ font-size: 11px;
2961
+ color: #8A7F72;
2962
+ }
2963
+ .pict-fe-solver-editor-breadcrumb-item
2964
+ {
2965
+ cursor: pointer;
2966
+ color: #9E6B47;
2967
+ padding: 2px 4px;
2968
+ border-radius: 3px;
2969
+ transition: background 0.15s;
2970
+ max-width: 220px;
2971
+ overflow: hidden;
2972
+ text-overflow: ellipsis;
2973
+ white-space: nowrap;
2974
+ }
2975
+ .pict-fe-solver-editor-breadcrumb-item:hover
2976
+ {
2977
+ background: #EDE8DF;
2978
+ color: #5B3A20;
2979
+ }
2980
+ .pict-fe-solver-editor-breadcrumb-sep
2981
+ {
2982
+ color: #C4B9A8;
2983
+ font-size: 10px;
2984
+ user-select: none;
2985
+ }
2986
+ .pict-fe-solver-editor-breadcrumb-current
2987
+ {
2988
+ font-weight: 600;
2989
+ color: #3D3229;
2990
+ padding: 2px 4px;
2991
+ max-width: 280px;
2992
+ overflow: hidden;
2993
+ text-overflow: ellipsis;
2994
+ white-space: nowrap;
2995
+ }
2996
+ .pict-fe-solver-editor-header
2997
+ {
2998
+ display: flex;
2999
+ align-items: center;
3000
+ gap: 8px;
3001
+ padding: 0 0 10px 0;
3002
+ margin-bottom: 10px;
3003
+ border-bottom: 1px solid #E8E3DA;
3004
+ font-size: 12px;
3005
+ color: #3D3229;
3006
+ }
3007
+ .pict-fe-solver-editor-header-context
3008
+ {
3009
+ font-size: 11px;
3010
+ color: #8A7F72;
3011
+ }
3012
+ .pict-fe-solver-editor-body
3013
+ {
3014
+ display: flex;
3015
+ flex-direction: column;
3016
+ gap: 10px;
3017
+ flex: 1;
3018
+ min-height: 0;
3019
+ }
3020
+ .pict-fe-solver-editor-actions
3021
+ {
3022
+ display: flex;
3023
+ justify-content: flex-end;
3024
+ gap: 8px;
3025
+ padding: 10px 16px;
3026
+ border-top: 1px solid #E8E3DA;
3027
+ background: #FDFCFA;
3028
+ position: sticky;
3029
+ bottom: -16px;
3030
+ margin: 0 -16px -16px -16px;
3031
+ z-index: 2;
3032
+ }
3033
+ .pict-fe-solver-editor-list-heading
3034
+ {
3035
+ font-size: 12px;
3036
+ font-weight: 600;
3037
+ color: #3D3229;
3038
+ margin-bottom: 8px;
3039
+ }
3040
+ .pict-fe-solver-editor-list-empty
3041
+ {
3042
+ font-size: 12px;
3043
+ color: #8A7F72;
3044
+ padding: 8px 0;
3045
+ }
3046
+ /* ---- Add Solver Helper ---- */
3047
+ .pict-fe-add-solver-helper
3048
+ {
3049
+ display: flex;
3050
+ align-items: center;
3051
+ gap: 8px;
3052
+ padding: 10px 0;
3053
+ }
3054
+ .pict-fe-add-solver-helper select
3055
+ {
3056
+ flex: 1;
3057
+ padding: 5px 8px;
3058
+ border: 1px solid #D4CFC6;
3059
+ border-radius: 4px;
3060
+ background: #FFF;
3061
+ color: #3D3229;
3062
+ font-size: 12px;
3063
+ font-family: inherit;
3064
+ }
3065
+ .pict-fe-add-solver-helper select:focus
3066
+ {
3067
+ outline: none;
3068
+ border-color: #9E6B47;
3069
+ box-shadow: 0 0 0 2px rgba(158, 107, 71, 0.1);
3070
+ }
3071
+
3072
+ /* ---- Preview Tab ---- */
3073
+ .pict-fe-preview-container
3074
+ {
3075
+ display: flex;
3076
+ flex-direction: column;
3077
+ flex: 1;
3078
+ min-height: 0;
3079
+ }
3080
+ .pict-fe-preview-actions
3081
+ {
3082
+ display: flex;
3083
+ align-items: center;
3084
+ gap: 10px;
3085
+ padding: 0 0 8px 0;
3086
+ flex-shrink: 0;
3087
+ }
3088
+ .pict-fe-preview-load-btn
3089
+ {
3090
+ padding: 5px 14px;
3091
+ font-size: 11px;
3092
+ font-weight: 600;
3093
+ font-family: inherit;
3094
+ color: #FDFCFA;
3095
+ background: #9E6B47;
3096
+ border: none;
3097
+ border-radius: 4px;
3098
+ cursor: pointer;
3099
+ transition: background 0.12s;
3100
+ }
3101
+ .pict-fe-preview-load-btn:hover
3102
+ {
3103
+ background: #7D5436;
3104
+ }
3105
+ .pict-fe-preview-status
3106
+ {
3107
+ font-size: 11px;
3108
+ color: #8A7F72;
3109
+ font-style: italic;
3110
+ }
3111
+ .pict-fe-preview-viewport
3112
+ {
3113
+ flex: 1;
3114
+ min-height: 0;
3115
+ overflow: auto;
3116
+ border: 1px solid #E8E3DA;
3117
+ border-radius: 4px;
3118
+ background: #FFFFFF;
3119
+ padding: 12px;
3120
+ }
3121
+ .pict-fe-preview-placeholder
3122
+ {
3123
+ font-size: 12px;
3124
+ color: #B0A89E;
3125
+ font-style: italic;
3126
+ text-align: center;
3127
+ padding: 24px 0;
3128
+ }
3129
+ .pict-fe-preview-loading
3130
+ {
3131
+ font-size: 12px;
3132
+ color: #8A7F72;
3133
+ font-style: italic;
3134
+ text-align: center;
3135
+ padding: 24px 0;
3136
+ }
3137
+ .pict-fe-preview-error
3138
+ {
3139
+ font-size: 12px;
3140
+ color: #991B1B;
3141
+ background: #FEF2F2;
3142
+ border: 1px solid #FCA5A5;
3143
+ border-radius: 4px;
3144
+ padding: 10px 12px;
3145
+ }
3146
+
3147
+ /* ---- Help Tab ---- */
3148
+ .pict-fe-help-container
3149
+ {
3150
+ display: flex;
3151
+ flex-direction: column;
3152
+ flex: 1;
3153
+ overflow: hidden;
3154
+ min-height: 0;
3155
+ }
3156
+ .pict-fe-help-nav
3157
+ {
3158
+ display: flex;
3159
+ align-items: center;
3160
+ gap: 6px;
3161
+ padding: 4px 12px;
3162
+ font-size: 11px;
3163
+ color: #8A7F72;
3164
+ flex-shrink: 0;
3165
+ }
3166
+ .pict-fe-help-nav:empty
3167
+ {
3168
+ display: none;
3169
+ }
3170
+ .pict-fe-help-nav a
3171
+ {
3172
+ color: #9E6B47;
3173
+ text-decoration: none;
3174
+ cursor: pointer;
3175
+ }
3176
+ .pict-fe-help-nav a:hover
3177
+ {
3178
+ text-decoration: underline;
3179
+ }
3180
+ .pict-fe-help-nav .pict-fe-help-nav-sep
3181
+ {
3182
+ color: #D4CFC6;
3183
+ }
3184
+ .pict-fe-help-body
3185
+ {
3186
+ flex: 1;
3187
+ overflow-y: auto;
3188
+ }
3189
+ /* Scale down pict-content base styles for sidebar context */
3190
+ .pict-fe-help-body .pict-content
3191
+ {
3192
+ max-width: none !important;
3193
+ padding: 12px !important;
3194
+ margin: 0 !important;
3195
+ }
3196
+ .pict-fe-help-body .pict-content h1
3197
+ {
3198
+ font-size: 1.3em !important;
3199
+ margin-top: 0 !important;
3200
+ }
3201
+ .pict-fe-help-body .pict-content h2
3202
+ {
3203
+ font-size: 1.15em !important;
3204
+ }
3205
+ .pict-fe-help-body .pict-content h3
3206
+ {
3207
+ font-size: 1.05em !important;
3208
+ }
3209
+ .pict-fe-help-body .pict-content p
3210
+ {
3211
+ font-size: 13px !important;
3212
+ line-height: 1.6 !important;
3213
+ }
3214
+ .pict-fe-help-body .pict-content a
3215
+ {
3216
+ color: #9E6B47 !important;
3217
+ }
3218
+ .pict-fe-help-body .pict-content code
3219
+ {
3220
+ background: #F5F0E8 !important;
3221
+ color: #5B3A20 !important;
3222
+ padding: 1px 5px !important;
3223
+ border-radius: 3px !important;
3224
+ font-size: 12px !important;
3225
+ }
3226
+ .pict-fe-help-body .pict-content pre
3227
+ {
3228
+ background: #F5F0E8 !important;
3229
+ color: #3D3229 !important;
3230
+ padding: 10px 16px !important;
3231
+ border-radius: 4px !important;
3232
+ overflow-x: auto !important;
3233
+ font-size: 12px !important;
3234
+ line-height: 1.5 !important;
3235
+ margin: 8px 0 !important;
3236
+ }
3237
+ .pict-fe-help-body .pict-content .pict-content-code-wrap pre,
3238
+ .pict-fe-help-body .pict-content-code-wrap pre
3239
+ {
3240
+ background: #F5F0E8 !important;
3241
+ color: #3D3229 !important;
3242
+ padding: 10px 16px 10px 56px !important;
3243
+ border-radius: 4px !important;
3244
+ overflow-x: auto !important;
3245
+ font-size: 12px !important;
3246
+ line-height: 1.5 !important;
3247
+ margin: 0 !important;
3248
+ }
3249
+ .pict-fe-help-body .pict-content pre code,
3250
+ .pict-fe-help-body .pict-content .pict-content-code-wrap pre code,
3251
+ .pict-fe-help-body .pict-content-code-wrap pre code
3252
+ {
3253
+ background: none !important;
3254
+ color: inherit !important;
3255
+ padding: 0 !important;
3256
+ font-size: inherit !important;
3257
+ }
3258
+ .pict-fe-help-body .pict-content .pict-content-code-wrap,
3259
+ .pict-fe-help-body .pict-content-code-wrap
3260
+ {
3261
+ margin: 8px 0 !important;
3262
+ background: #F5F0E8 !important;
3263
+ border-radius: 4px !important;
3264
+ border: 1px solid #E8E3DA !important;
3265
+ overflow-x: auto !important;
3266
+ overflow-y: hidden !important;
3267
+ font-size: 12px !important;
3268
+ line-height: 1.5 !important;
3269
+ }
3270
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .pict-content-code-line-numbers,
3271
+ .pict-fe-help-body .pict-content-code-wrap .pict-content-code-line-numbers
3272
+ {
3273
+ background: #EDE8DF !important;
3274
+ border-right: 1px solid #DDD6CB !important;
3275
+ color: #A09589 !important;
3276
+ font-size: 12px !important;
3277
+ line-height: 1.5 !important;
3278
+ padding: 10px 0 !important;
3279
+ }
3280
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .keyword,
3281
+ .pict-fe-help-body .pict-content-code-wrap .keyword { color: #A626A4 !important; }
3282
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .string,
3283
+ .pict-fe-help-body .pict-content-code-wrap .string { color: #50A14F !important; }
3284
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .number,
3285
+ .pict-fe-help-body .pict-content-code-wrap .number { color: #986801 !important; }
3286
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .comment,
3287
+ .pict-fe-help-body .pict-content-code-wrap .comment { color: #A0A1A7 !important; font-style: italic !important; }
3288
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .operator,
3289
+ .pict-fe-help-body .pict-content-code-wrap .operator { color: #0184BC !important; }
3290
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .punctuation,
3291
+ .pict-fe-help-body .pict-content-code-wrap .punctuation { color: #3D3229 !important; }
3292
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .function-name,
3293
+ .pict-fe-help-body .pict-content-code-wrap .function-name { color: #4078F2 !important; }
3294
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .property,
3295
+ .pict-fe-help-body .pict-content-code-wrap .property { color: #E45649 !important; }
3296
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .tag,
3297
+ .pict-fe-help-body .pict-content-code-wrap .tag { color: #E45649 !important; }
3298
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .attr-name,
3299
+ .pict-fe-help-body .pict-content-code-wrap .attr-name { color: #986801 !important; }
3300
+ .pict-fe-help-body .pict-content .pict-content-code-wrap .attr-value,
3301
+ .pict-fe-help-body .pict-content-code-wrap .attr-value { color: #50A14F !important; }
3302
+ `,
3303
+
3304
+ Templates:
3305
+ [
3306
+ {
3307
+ Hash: 'FormEditor-Container-Template',
3308
+ Template: '<div class="pict-formeditor" id="FormEditor-Wrap-{~D:Context[0].Hash~}"></div>'
3309
+ }
3310
+ ],
3311
+
3312
+ Renderables:
3313
+ [
3314
+ {
3315
+ RenderableHash: 'FormEditor-Container',
3316
+ TemplateHash: 'FormEditor-Container-Template',
3317
+ DestinationAddress: '#FormEditor-Container',
3318
+ RenderMethod: 'replace'
3319
+ }
3320
+ ]
3321
+ });