@nextlyhq/plugin-form-builder 0.0.2-alpha.33 → 0.0.2-alpha.34

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.
@@ -1,872 +1,52 @@
1
1
  /**
2
- * Form Builder Styles
2
+ * Form Builder styles
3
3
  *
4
- * Styles for the visual drag-and-drop form builder UI.
5
- * Layout is now driven by Tailwind utility classes in:
6
- * - FormBuilderView.tsx (page layout, header, sidebar shell, main tabs)
7
- * - FieldLibrary.tsx (accordion palette)
8
- * - FormCanvas.tsx (field rows, empty state)
4
+ * The builder UI is driven by Tailwind utilities and @nextlyhq/ui components in its
5
+ * React components. This file holds only the few bespoke rules those can't express:
6
+ * 1. The two-pane builder shell (fixed inspector panel; stacks in a narrow panel)
7
+ * 2. Notifications tab: email-integration card list (hover/variant states)
9
8
  *
10
- * This file retains only:
11
- * 1. CSS custom properties + dark mode overrides
12
- * 2. FieldEditor component styles (.field-editor-*)
13
- * 3. FormSettingsTab component styles (.form-settings-*)
14
- * 4. FormNotificationsTab component styles (.form-notifications-*, .form-notification-*)
15
- * 5. Integration modal / card styles (.form-integration-*)
9
+ * Colors read the admin design tokens directly (`var(--token)`), so the UI looks native
10
+ * and inherits dark mode automatically (the admin flips the tokens under `.adminapp.dark`).
16
11
  *
17
12
  * @module styles/form-builder
18
13
  * @since 0.1.0
19
14
  */
20
15
 
21
- /* ============================================================================
22
- CSS Custom Properties
23
- ============================================================================ */
16
+ /* ---------------------------------------------------------- builder shell */
24
17
 
25
- .form-builder-view {
26
- --fb-primary: hsl(var(--primary));
27
- --fb-primary-hover: hsl(var(--primary) / 0.9);
28
- --fb-primary-light: hsl(var(--primary) / 0.1);
29
- --fb-danger: #ef4444;
30
- --fb-danger-hover: #dc2626;
31
- --fb-success: #22c55e;
32
- --fb-warning: #f59e0b;
33
-
34
- --fb-bg: #ffffff;
35
- --fb-bg-muted: #f8fafc;
36
- --fb-bg-hover: #f1f5f9;
37
- --fb-border: #e2e8f0;
38
- --fb-border-focus: hsl(var(--primary));
39
-
40
- --fb-text: #1e293b;
41
- --fb-text-muted: #64748b;
42
- --fb-text-light: #94a3b8;
43
-
44
- --fb-radius-sm: 0.375rem; /* 6px */
45
- --fb-radius-md: 0.375rem; /* 6px */
46
- --fb-radius-lg: 0.375rem; /* 6px */
47
-
48
- --fb-shadow: none;
49
- --fb-shadow-md: none;
50
- --fb-shadow-lg: none;
51
- }
52
-
53
- /* ============================================================================
54
- Dark Mode Overrides
55
- ============================================================================ */
56
-
57
- .dark .form-builder-view,
58
- [data-theme="dark"] .form-builder-view {
59
- --fb-bg: hsl(222.2, 47.4%, 11.2%);
60
- --fb-bg-muted: hsl(217.2, 32.6%, 17.5%);
61
- --fb-bg-hover: hsl(215.4, 16.3%, 25.9%);
62
- --fb-border: hsl(217.2, 32.6%, 17.5%);
63
-
64
- --fb-text: hsl(210, 40%, 98%);
65
- --fb-text-muted: hsl(215, 20.2%, 65.1%);
66
- --fb-text-light: hsl(215.3, 25%, 36.7%);
67
- }
68
-
69
- /* ============================================================================
70
- Field Editor (Right Panel)
71
- ============================================================================ */
72
-
73
- .field-editor {
74
- padding: 16px;
75
- }
76
-
77
- .field-editor-header {
78
- margin-bottom: 20px;
79
- }
80
-
81
- .field-editor-title {
82
- font-size: 0.875rem;
83
- font-weight: 600;
84
- color: var(--fb-text);
85
- margin: 0 0 4px 0;
86
- display: flex;
87
- align-items: center;
88
- gap: 8px;
89
- }
90
-
91
- .field-editor-type-badge {
92
- font-size: 0.75rem;
93
- font-weight: 500;
94
- color: var(--fb-primary);
95
- background: var(--fb-primary-light);
96
- padding: 2px 8px;
97
- border-radius: 9999px;
98
- }
99
-
100
- .field-editor-actions {
101
- display: flex;
102
- gap: 8px;
103
- margin-top: 12px;
104
- }
105
-
106
- .field-editor-action-btn {
107
- display: flex;
108
- align-items: center;
109
- gap: 6px;
110
- padding: 6px 12px;
111
- font-size: 0.75rem;
112
- font-weight: 500;
113
- border: 1px solid var(--fb-border);
114
- border-radius: var(--fb-radius-sm);
115
- background: var(--fb-bg);
116
- cursor: pointer;
117
- transition: all 0.15s ease;
118
- color: var(--fb-text-muted);
119
- }
120
-
121
- .field-editor-action-btn:hover {
122
- border-color: var(--fb-text-light);
123
- color: var(--fb-text);
124
- }
125
-
126
- .field-editor-action-btn--danger:hover {
127
- border-color: var(--fb-danger);
128
- color: var(--fb-danger);
129
- background: #fef2f2;
130
- }
131
-
132
- .field-editor-section {
133
- margin-bottom: 20px;
134
- }
135
-
136
- .field-editor-section-title {
137
- font-size: 0.75rem;
138
- font-weight: 600;
139
- color: var(--fb-text-muted);
140
- text-transform: uppercase;
141
- letter-spacing: 0.05em;
142
- margin: 0 0 12px 0;
143
- }
144
-
145
- .field-editor-row {
146
- margin-bottom: 14px;
147
- }
148
-
149
- .field-editor-row:last-child {
150
- margin-bottom: 0;
151
- }
152
-
153
- .field-editor-row--checkbox {
154
- display: flex;
155
- align-items: center;
156
- }
157
-
158
- .field-editor-field {
159
- margin-bottom: 16px;
160
- }
161
-
162
- .field-editor-field:last-child {
163
- margin-bottom: 0;
164
- }
165
-
166
- .field-editor-label {
167
- display: block;
168
- font-size: 0.8125rem;
169
- font-weight: 500;
170
- color: var(--fb-text);
171
- margin-bottom: 6px;
172
- }
173
-
174
- .field-editor-input {
175
- width: 100%;
176
- padding: 8px 12px;
177
- font-size: 0.875rem;
178
- color: var(--fb-text);
179
- background: var(--fb-bg);
180
- border: 1px solid var(--fb-border);
181
- border-radius: var(--fb-radius-sm);
182
- transition: all 0.15s ease;
183
- }
184
-
185
- .field-editor-input:focus {
186
- outline: none;
187
- border-color: var(--fb-border-focus);
188
- }
189
-
190
- .field-editor-input::placeholder {
191
- color: var(--fb-text-light);
192
- }
193
-
194
- .field-editor-input--small {
195
- width: 120px;
196
- }
197
-
198
- .field-editor-textarea {
199
- min-height: 80px;
200
- resize: vertical;
201
- }
202
-
203
- .field-editor-select {
204
- width: 100%;
205
- padding: 8px 12px;
206
- font-size: 0.875rem;
207
- color: var(--fb-text);
208
- background: var(--fb-bg);
209
- border: 1px solid var(--fb-border);
210
- border-radius: var(--fb-radius-sm);
211
- transition: all 0.15s ease;
212
- cursor: pointer;
18
+ /* Fixed-width inspector panel beside the fluid canvas. */
19
+ .fb-builder-panel {
20
+ width: 360px;
213
21
  }
214
22
 
215
- .field-editor-select:focus {
216
- outline: none;
217
- border-color: var(--fb-border-focus);
218
- }
23
+ /* Stack the canvas and inspector when the content panel itself gets narrow
24
+ (`content` is the admin content-area container). */
25
+ @container content (max-width: 800px) {
26
+ .fb-builder-shell {
27
+ flex-direction: column;
28
+ }
219
29
 
220
- .field-editor-checkbox-row {
221
- display: flex;
222
- align-items: center;
223
- gap: 8px;
30
+ .fb-builder-panel {
31
+ width: 100%;
32
+ border-left: 0;
33
+ border-top: 1px solid var(--border);
34
+ }
224
35
  }
225
36
 
226
- .field-editor-checkbox {
227
- width: 16px;
228
- height: 16px;
229
- accent-color: var(--fb-primary);
230
- }
231
-
232
- .field-editor-checkbox-label {
233
- display: flex;
234
- align-items: center;
235
- gap: 8px;
236
- cursor: pointer;
237
- font-size: 0.8125rem;
238
- color: var(--fb-text);
239
- }
240
-
241
- .field-editor-help {
242
- display: block;
243
- font-size: 0.6875rem;
244
- color: var(--fb-text-muted);
245
- margin-top: 4px;
246
- }
247
-
248
- .field-editor-warning {
249
- display: block;
250
- font-size: 0.6875rem;
251
- color: var(--fb-warning);
252
- margin-top: 4px;
253
- }
254
-
255
- .field-editor-info {
256
- padding: 10px 14px;
257
- background: var(--fb-bg-muted);
258
- border-radius: var(--fb-radius-sm);
259
- font-size: 0.8125rem;
260
- color: var(--fb-text-muted);
261
- }
262
-
263
- .field-editor-options {
264
- margin-bottom: 14px;
265
- }
266
-
267
- .field-editor-options-empty {
268
- padding: 12px;
269
- background: var(--fb-bg-muted);
270
- border-radius: var(--fb-radius-sm);
271
- font-size: 0.8125rem;
272
- color: var(--fb-text-muted);
273
- text-align: center;
274
- margin-bottom: 8px;
275
- }
276
-
277
- .field-editor-options-list {
278
- display: flex;
279
- flex-direction: column;
280
- gap: 6px;
281
- margin-bottom: 8px;
282
- }
283
-
284
- .field-editor-option-row {
285
- display: flex;
286
- align-items: center;
287
- gap: 6px;
288
- }
289
-
290
- .field-editor-option-remove {
291
- display: flex;
292
- align-items: center;
293
- justify-content: center;
294
- width: 24px;
295
- height: 24px;
296
- background: none;
297
- border: 1px solid var(--fb-border);
298
- border-radius: var(--fb-radius-sm);
299
- cursor: pointer;
300
- font-size: 1rem;
301
- color: var(--fb-text-muted);
302
- transition: all 0.15s ease;
303
- flex-shrink: 0;
304
- }
305
-
306
- .field-editor-option-remove:hover {
307
- color: var(--fb-danger);
308
- border-color: var(--fb-danger);
309
- background: #fef2f2;
310
- }
311
-
312
- .field-editor-add-option-btn {
313
- padding: 6px 12px;
314
- font-size: 0.75rem;
315
- font-weight: 500;
316
- color: var(--fb-primary);
317
- background: var(--fb-primary-light);
318
- border: 1px dashed var(--fb-primary);
319
- border-radius: var(--fb-radius-sm);
320
- cursor: pointer;
321
- transition: all 0.15s ease;
322
- width: 100%;
323
- }
324
-
325
- .field-editor-add-option-btn:hover {
326
- background: #dbeafe;
327
- }
328
-
329
- .field-editor-tabs {
330
- display: flex;
331
- gap: 0;
332
- background: var(--fb-bg-muted);
333
- border-radius: var(--fb-radius-sm);
334
- padding: 3px;
335
- margin-bottom: 16px;
336
- }
337
-
338
- .field-editor-tab {
339
- flex: 1;
340
- padding: 5px 10px;
341
- font-size: 0.75rem;
342
- font-weight: 500;
343
- color: var(--fb-text-muted);
344
- background: transparent;
345
- border: none;
346
- border-radius: 4px;
347
- cursor: pointer;
348
- transition: all 0.15s ease;
349
- }
350
-
351
- .field-editor-tab--active {
352
- color: var(--fb-text);
353
- background: var(--fb-bg);
354
- }
355
-
356
- .field-editor-footer {
357
- display: flex;
358
- gap: 8px;
359
- margin-top: 20px;
360
- padding-top: 16px;
361
- border-top: 1px solid var(--fb-border);
362
- }
363
-
364
- .field-editor-btn {
365
- display: inline-flex;
366
- align-items: center;
367
- justify-content: center;
368
- gap: 6px;
369
- padding: 7px 14px;
370
- font-size: 0.8125rem;
371
- font-weight: 500;
372
- border-radius: var(--fb-radius-sm);
373
- cursor: pointer;
374
- transition: all 0.15s ease;
375
- border: 1px solid var(--fb-border);
376
- background: var(--fb-bg);
377
- color: var(--fb-text-muted);
378
- }
379
-
380
- .field-editor-btn:hover {
381
- color: var(--fb-text);
382
- border-color: var(--fb-text-light);
383
- }
384
-
385
- .field-editor-btn--secondary {
386
- color: var(--fb-text-muted);
387
- }
388
-
389
- .field-editor-btn--danger {
390
- color: var(--fb-danger);
391
- border-color: #fecaca;
392
- background: #fef2f2;
393
- }
394
-
395
- .field-editor-btn--danger:hover {
396
- background: #fee2e2;
397
- border-color: var(--fb-danger);
398
- }
399
-
400
- /* ============================================================================
401
- Form Settings Tab
402
- ============================================================================ */
403
-
404
- .form-settings-tab {
405
- max-width: 640px;
406
- }
407
-
408
- .form-settings-section {
409
- margin-bottom: 32px;
410
- padding-bottom: 24px;
411
- border-bottom: 1px solid var(--fb-border);
412
- }
413
-
414
- .form-settings-section:last-child {
415
- margin-bottom: 0;
416
- padding-bottom: 0;
417
- border-bottom: none;
418
- }
419
-
420
- .form-settings-section-title {
421
- font-size: 1rem;
422
- font-weight: 600;
423
- color: var(--fb-text);
424
- margin: 0 0 16px 0;
425
- }
426
-
427
- .form-settings-field {
428
- margin-bottom: 16px;
429
- }
430
-
431
- .form-settings-field:last-child {
432
- margin-bottom: 0;
433
- }
434
-
435
- .form-settings-field--checkbox {
436
- margin-bottom: 12px;
437
- }
438
-
439
- .form-settings-label {
440
- display: block;
441
- font-size: 0.875rem;
442
- font-weight: 500;
443
- color: var(--fb-text);
444
- margin-bottom: 6px;
445
- }
446
-
447
- .form-settings-input,
448
- .form-settings-textarea {
449
- width: 100%;
450
- padding: 10px 14px;
451
- font-size: 0.875rem;
452
- color: var(--fb-text);
453
- background: var(--fb-bg);
454
- border: 1px solid var(--fb-border);
455
- border-radius: var(--fb-radius-md);
456
- transition: all 0.15s ease;
457
- }
458
-
459
- .form-settings-input:focus,
460
- .form-settings-textarea:focus {
461
- outline: none;
462
- border-color: var(--fb-border-focus);
463
- }
464
-
465
- .form-settings-input::placeholder,
466
- .form-settings-textarea::placeholder {
467
- color: var(--fb-text-light);
468
- }
469
-
470
- .form-settings-textarea {
471
- min-height: 80px;
472
- resize: vertical;
473
- }
474
-
475
- .form-settings-checkbox-label {
476
- display: flex;
477
- align-items: center;
478
- gap: 10px;
479
- cursor: pointer;
480
- font-size: 0.875rem;
481
- color: var(--fb-text);
482
- }
483
-
484
- .form-settings-checkbox {
485
- width: 18px;
486
- height: 18px;
487
- accent-color: var(--fb-primary);
488
- cursor: pointer;
489
- }
490
-
491
- .form-settings-hint {
492
- font-size: 0.75rem;
493
- color: var(--fb-text-muted);
494
- margin: 6px 0 0 0;
495
- }
496
-
497
- .form-settings-field--checkbox .form-settings-hint {
498
- margin-left: 28px;
499
- }
500
-
501
- /* ============================================================================
502
- Form Notifications Tab
503
- ============================================================================ */
37
+ /* ------------------------------------------------------- notifications tab */
504
38
 
505
39
  .form-notifications-tab {
506
40
  max-width: 800px;
507
41
  }
508
42
 
509
- .form-notifications-header {
510
- display: flex;
511
- align-items: flex-start;
512
- justify-content: space-between;
513
- gap: 24px;
514
- margin-bottom: 24px;
515
- }
516
-
517
- .form-notifications-header-content {
518
- flex: 1;
519
- }
520
-
521
- .form-notifications-title {
522
- font-size: 1.125rem;
523
- font-weight: 600;
524
- color: var(--fb-text);
525
- margin: 0 0 4px 0;
526
- }
527
-
528
- .form-notifications-description {
529
- font-size: 0.875rem;
530
- color: var(--fb-text-muted);
531
- margin: 0;
532
- }
533
-
534
- .form-notifications-actions {
535
- display: flex;
536
- gap: 8px;
537
- }
538
-
539
- .form-notifications-add-btn {
540
- padding: 8px 14px;
541
- font-size: 0.8125rem;
542
- font-weight: 500;
543
- color: #ffffff;
544
- background: var(--fb-primary);
545
- border: none;
546
- border-radius: var(--fb-radius-md);
547
- cursor: pointer;
548
- transition: all 0.15s ease;
549
- white-space: nowrap;
550
- }
551
-
552
- .form-notifications-add-btn:hover {
553
- background: var(--fb-primary-hover);
554
- }
555
-
556
- .form-notifications-add-btn--secondary {
557
- color: var(--fb-text);
558
- background: var(--fb-bg);
559
- border: 1px solid var(--fb-border);
560
- }
561
-
562
- .form-notifications-add-btn--secondary:hover {
563
- background: var(--fb-bg-hover);
564
- border-color: var(--fb-text-light);
565
- }
566
-
567
- /* Empty State */
568
- .form-notifications-empty {
569
- display: flex;
570
- flex-direction: column;
571
- align-items: center;
572
- justify-content: center;
573
- padding: 48px 24px;
574
- background: var(--fb-bg-muted);
575
- border: 2px dashed var(--fb-border);
576
- border-radius: var(--fb-radius-lg);
577
- text-align: center;
578
- }
579
-
580
- .form-notifications-empty-icon {
581
- font-size: 3rem;
582
- margin-bottom: 16px;
583
- opacity: 0.5;
584
- }
585
-
586
- .form-notifications-empty-title {
587
- font-size: 1rem;
588
- font-weight: 600;
589
- color: var(--fb-text);
590
- margin: 0 0 8px 0;
591
- }
592
-
593
- .form-notifications-empty-hint {
594
- font-size: 0.875rem;
595
- color: var(--fb-text-muted);
596
- margin: 0 0 20px 0;
597
- max-width: 400px;
598
- }
599
-
600
- .form-notifications-empty-actions {
601
- display: flex;
602
- gap: 8px;
603
- }
604
-
605
- /* Notifications List */
606
43
  .form-notifications-list {
607
44
  display: flex;
608
45
  flex-direction: column;
609
46
  gap: 16px;
610
47
  }
611
48
 
612
- /* Notification Card */
613
- .form-notification-card {
614
- background: var(--fb-bg);
615
- border: 1px solid var(--fb-border);
616
- border-radius: var(--fb-radius-lg);
617
- overflow: hidden;
618
- }
619
-
620
- .form-notification-card--disabled {
621
- opacity: 0.6;
622
- }
623
-
624
- .form-notification-header {
625
- display: flex;
626
- align-items: center;
627
- justify-content: space-between;
628
- gap: 12px;
629
- padding: 12px 16px;
630
- background: var(--fb-bg-muted);
631
- border-bottom: 1px solid var(--fb-border);
632
- }
633
-
634
- .form-notification-header-left {
635
- display: flex;
636
- align-items: center;
637
- gap: 12px;
638
- flex: 1;
639
- min-width: 0;
640
- }
641
-
642
- /* Toggle Switch */
643
- .form-notification-toggle {
644
- position: relative;
645
- display: inline-block;
646
- width: 40px;
647
- height: 22px;
648
- flex-shrink: 0;
649
- }
650
-
651
- .form-notification-toggle input {
652
- opacity: 0;
653
- width: 0;
654
- height: 0;
655
- }
656
-
657
- .form-notification-toggle-slider {
658
- position: absolute;
659
- cursor: pointer;
660
- top: 0;
661
- left: 0;
662
- right: 0;
663
- bottom: 0;
664
- background-color: var(--fb-border);
665
- transition: 0.2s;
666
- border-radius: 22px;
667
- }
668
-
669
- .form-notification-toggle-slider:before {
670
- position: absolute;
671
- content: "";
672
- height: 16px;
673
- width: 16px;
674
- left: 3px;
675
- bottom: 3px;
676
- background-color: white;
677
- transition: 0.2s;
678
- border-radius: 50%;
679
- }
680
-
681
- .form-notification-toggle input:checked + .form-notification-toggle-slider {
682
- background-color: var(--fb-success);
683
- }
684
-
685
- .form-notification-toggle
686
- input:checked
687
- + .form-notification-toggle-slider:before {
688
- transform: translateX(18px);
689
- }
690
-
691
- .form-notification-name {
692
- flex: 1;
693
- min-width: 0;
694
- padding: 6px 10px;
695
- font-size: 0.875rem;
696
- font-weight: 500;
697
- color: var(--fb-text);
698
- background: var(--fb-bg);
699
- border: 1px solid transparent;
700
- border-radius: var(--fb-radius-sm);
701
- transition: all 0.15s ease;
702
- }
703
-
704
- .form-notification-name:focus {
705
- outline: none;
706
- border-color: var(--fb-border-focus);
707
- }
708
-
709
- .form-notification-badge {
710
- padding: 3px 8px;
711
- font-size: 0.6875rem;
712
- font-weight: 600;
713
- text-transform: uppercase;
714
- letter-spacing: 0.05em;
715
- border-radius: 9999px;
716
- flex-shrink: 0;
717
- }
718
-
719
- .form-notification-badge--admin {
720
- color: #7c3aed;
721
- background: #ede9fe;
722
- }
723
-
724
- .form-notification-badge--autoReply {
725
- color: #059669;
726
- background: #d1fae5;
727
- }
728
-
729
- .form-notification-delete {
730
- padding: 6px 12px;
731
- font-size: 0.75rem;
732
- font-weight: 500;
733
- color: var(--fb-text-muted);
734
- background: transparent;
735
- border: 1px solid var(--fb-border);
736
- border-radius: var(--fb-radius-sm);
737
- cursor: pointer;
738
- transition: all 0.15s ease;
739
- }
740
-
741
- .form-notification-delete:hover {
742
- color: var(--fb-danger);
743
- border-color: var(--fb-danger);
744
- background: #fef2f2;
745
- }
746
-
747
- .form-notification-body {
748
- padding: 16px;
749
- }
750
-
751
- .form-notification-row {
752
- margin-bottom: 16px;
753
- }
754
-
755
- .form-notification-row:last-child {
756
- margin-bottom: 0;
757
- }
758
-
759
- .form-notification-row--two-col {
760
- display: grid;
761
- grid-template-columns: 1fr 1fr;
762
- gap: 16px;
763
- }
764
-
765
- .form-notification-field {
766
- display: flex;
767
- flex-direction: column;
768
- gap: 6px;
769
- }
770
-
771
- .form-notification-label {
772
- font-size: 0.8125rem;
773
- font-weight: 500;
774
- color: var(--fb-text);
775
- }
776
-
777
- .form-notification-input,
778
- .form-notification-textarea {
779
- padding: 10px 14px;
780
- font-size: 0.875rem;
781
- color: var(--fb-text);
782
- background: var(--fb-bg);
783
- border: 1px solid var(--fb-border);
784
- border-radius: var(--fb-radius-md);
785
- transition: all 0.15s ease;
786
- }
787
-
788
- .form-notification-input:focus,
789
- .form-notification-textarea:focus {
790
- outline: none;
791
- border-color: var(--fb-border-focus);
792
- }
793
-
794
- .form-notification-input::placeholder,
795
- .form-notification-textarea::placeholder {
796
- color: var(--fb-text-light);
797
- }
798
-
799
- .form-notification-textarea {
800
- min-height: 120px;
801
- resize: vertical;
802
- font-family: inherit;
803
- }
804
-
805
- .form-notification-hint {
806
- font-size: 0.75rem;
807
- color: var(--fb-text-muted);
808
- }
809
-
810
- .form-notification-hint p {
811
- margin: 0 0 4px 0;
812
- }
813
-
814
- .form-notification-placeholders {
815
- margin: 0;
816
- padding-left: 16px;
817
- list-style: none;
818
- }
819
-
820
- .form-notification-placeholders li {
821
- margin-bottom: 2px;
822
- }
823
-
824
- .form-notification-placeholders code {
825
- font-size: 0.6875rem;
826
- color: var(--fb-primary);
827
- background: var(--fb-primary-light);
828
- padding: 1px 4px;
829
- border-radius: 3px;
830
- }
831
-
832
- /* Help Section */
833
- .form-notifications-help {
834
- margin-top: 32px;
835
- padding: 16px 20px;
836
- background: var(--fb-bg-muted);
837
- border-radius: var(--fb-radius-md);
838
- }
839
-
840
- .form-notifications-help h4 {
841
- font-size: 0.875rem;
842
- font-weight: 600;
843
- color: var(--fb-text);
844
- margin: 0 0 12px 0;
845
- }
846
-
847
- .form-notifications-help ul {
848
- margin: 0;
849
- padding-left: 20px;
850
- font-size: 0.8125rem;
851
- color: var(--fb-text-muted);
852
- line-height: 1.6;
853
- }
854
-
855
- .form-notifications-help li {
856
- margin-bottom: 6px;
857
- }
858
-
859
- .form-notifications-help li:last-child {
860
- margin-bottom: 0;
861
- }
862
-
863
- .form-notifications-help strong {
864
- color: var(--fb-text);
865
- }
866
-
867
- /* ============================================================================
868
- Email Integration Cards
869
- ============================================================================ */
49
+ /* --------------------------------------------------- email integration cards */
870
50
 
871
51
  .form-integration-card {
872
52
  display: flex;
@@ -874,14 +54,14 @@
874
54
  justify-content: space-between;
875
55
  gap: 16px;
876
56
  padding: 14px 16px;
877
- background: var(--fb-bg);
878
- border: 1px solid var(--fb-border);
879
- border-radius: var(--fb-radius-lg);
57
+ background: var(--card);
58
+ border: 1px solid var(--border);
59
+ border-radius: var(--radius);
880
60
  transition: border-color 0.15s ease;
881
61
  }
882
62
 
883
63
  .form-integration-card:hover {
884
- border-color: var(--fb-text-light);
64
+ border-color: var(--border-strong);
885
65
  }
886
66
 
887
67
  .form-integration-card--disabled {
@@ -906,7 +86,7 @@
906
86
  .form-integration-card-name {
907
87
  font-size: 0.9375rem;
908
88
  font-weight: 600;
909
- color: var(--fb-text);
89
+ color: var(--foreground);
910
90
  white-space: nowrap;
911
91
  overflow: hidden;
912
92
  text-overflow: ellipsis;
@@ -914,7 +94,7 @@
914
94
 
915
95
  .form-integration-provider-badge {
916
96
  font-size: 0.75rem;
917
- color: var(--fb-text-muted);
97
+ color: var(--muted-foreground);
918
98
  }
919
99
 
920
100
  .form-integration-card-actions {
@@ -927,224 +107,22 @@
927
107
  padding: 6px 12px;
928
108
  font-size: 0.75rem;
929
109
  font-weight: 500;
930
- border-radius: var(--fb-radius-sm);
110
+ color: var(--muted-foreground);
111
+ background: transparent;
112
+ border: 1px solid var(--border);
113
+ border-radius: var(--radius);
931
114
  cursor: pointer;
932
115
  transition: all 0.15s ease;
933
- border: 1px solid var(--fb-border);
934
- background: transparent;
935
- }
936
-
937
- .form-integration-btn--edit {
938
- color: var(--fb-text-muted);
939
116
  }
940
117
 
941
118
  .form-integration-btn--edit:hover {
942
- color: var(--fb-primary);
943
- border-color: var(--fb-primary);
944
- background: var(--fb-primary-light);
945
- }
946
-
947
- .form-integration-btn--delete {
948
- color: var(--fb-text-muted);
119
+ color: var(--primary);
120
+ border-color: var(--primary);
121
+ background: color-mix(in srgb, var(--primary) 10%, transparent);
949
122
  }
950
123
 
951
124
  .form-integration-btn--delete:hover {
952
- color: var(--fb-danger);
953
- border-color: var(--fb-danger);
954
- background: #fef2f2;
955
- }
956
-
957
- /* ============================================================================
958
- Email Integration Modal
959
- ============================================================================ */
960
-
961
- .form-integration-modal-overlay {
962
- position: fixed;
963
- inset: 0;
964
- background: rgba(0, 0, 0, 0.45);
965
- display: flex;
966
- align-items: center;
967
- justify-content: center;
968
- z-index: 1000;
969
- padding: 24px;
970
- }
971
-
972
- .form-integration-modal {
973
- background: var(--fb-bg);
974
- border: 1px solid var(--fb-border);
975
- border-radius: var(--fb-radius-lg);
976
- width: 100%;
977
- max-width: 560px;
978
- max-height: calc(100vh - 48px);
979
- display: flex;
980
- flex-direction: column;
981
- box-shadow:
982
- 0 20px 60px rgba(0, 0, 0, 0.15),
983
- 0 4px 16px rgba(0, 0, 0, 0.1);
984
- }
985
-
986
- .form-integration-modal-header {
987
- padding: 20px 24px 16px;
988
- border-bottom: 1px solid var(--fb-border);
989
- flex-shrink: 0;
990
- }
991
-
992
- .form-integration-modal-title {
993
- font-size: 1.0625rem;
994
- font-weight: 600;
995
- color: var(--fb-text);
996
- margin: 0;
997
- }
998
-
999
- .form-integration-modal-body {
1000
- padding: 20px 24px;
1001
- overflow-y: auto;
1002
- display: flex;
1003
- flex-direction: column;
1004
- gap: 16px;
1005
- flex: 1;
1006
- }
1007
-
1008
- .form-integration-modal-footer {
1009
- padding: 16px 24px;
1010
- border-top: 1px solid var(--fb-border);
1011
- display: flex;
1012
- justify-content: flex-end;
1013
- gap: 8px;
1014
- flex-shrink: 0;
1015
- }
1016
-
1017
- /* Modal select */
1018
- .form-integration-select {
1019
- padding: 10px 14px;
1020
- font-size: 0.875rem;
1021
- color: var(--fb-text);
1022
- background: var(--fb-bg);
1023
- border: 1px solid var(--fb-border);
1024
- border-radius: var(--fb-radius-md);
1025
- transition: all 0.15s ease;
1026
- appearance: none;
1027
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
1028
- background-repeat: no-repeat;
1029
- background-position: right 12px center;
1030
- padding-right: 36px;
1031
- cursor: pointer;
1032
- }
1033
-
1034
- .form-integration-select:focus {
1035
- outline: none;
1036
- border-color: var(--fb-border-focus);
1037
- box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1038
- }
1039
-
1040
- /* Recipient list */
1041
- .form-integration-recipient-list {
1042
- display: flex;
1043
- flex-direction: column;
1044
- gap: 6px;
1045
- margin-bottom: 8px;
1046
- }
1047
-
1048
- .form-integration-recipient-item {
1049
- display: flex;
1050
- align-items: center;
1051
- justify-content: space-between;
1052
- padding: 6px 10px;
1053
- background: var(--fb-bg-muted);
1054
- border: 1px solid var(--fb-border);
1055
- border-radius: var(--fb-radius-sm);
1056
- font-size: 0.8125rem;
1057
- color: var(--fb-text);
1058
- }
1059
-
1060
- .form-integration-recipient-remove {
1061
- background: transparent;
1062
- border: none;
1063
- color: var(--fb-text-light);
1064
- cursor: pointer;
1065
- font-size: 1rem;
1066
- line-height: 1;
1067
- padding: 0 2px;
1068
- transition: color 0.15s ease;
1069
- }
1070
-
1071
- .form-integration-recipient-remove:hover {
1072
- color: var(--fb-danger);
1073
- }
1074
-
1075
- .form-integration-recipient-add {
1076
- display: flex;
1077
- gap: 8px;
1078
- }
1079
-
1080
- .form-integration-recipient-add .form-notification-input {
1081
- flex: 1;
1082
- }
1083
-
1084
- .form-integration-add-recipient-btn {
1085
- padding: 10px 14px;
1086
- font-size: 0.8125rem;
1087
- font-weight: 500;
1088
- color: var(--fb-text);
1089
- background: var(--fb-bg);
1090
- border: 1px solid var(--fb-border);
1091
- border-radius: var(--fb-radius-md);
1092
- cursor: pointer;
1093
- white-space: nowrap;
1094
- transition: all 0.15s ease;
1095
- flex-shrink: 0;
1096
- }
1097
-
1098
- .form-integration-add-recipient-btn:hover {
1099
- background: var(--fb-bg-hover);
1100
- border-color: var(--fb-text-light);
1101
- }
1102
-
1103
- /* Active row */
1104
- .form-integration-active-row {
1105
- display: flex;
1106
- align-items: center;
1107
- justify-content: space-between;
1108
- padding: 12px 0 4px;
1109
- border-top: 1px solid var(--fb-border);
1110
- }
1111
-
1112
- .form-integration-active-label {
1113
- font-size: 0.875rem;
1114
- font-weight: 500;
1115
- color: var(--fb-text);
1116
- }
1117
-
1118
- /* Modal footer buttons */
1119
- .form-integration-cancel-btn {
1120
- padding: 9px 18px;
1121
- font-size: 0.875rem;
1122
- font-weight: 500;
1123
- color: var(--fb-text);
1124
- background: var(--fb-bg);
1125
- border: 1px solid var(--fb-border);
1126
- border-radius: var(--fb-radius-md);
1127
- cursor: pointer;
1128
- transition: all 0.15s ease;
1129
- }
1130
-
1131
- .form-integration-cancel-btn:hover {
1132
- background: var(--fb-bg-hover);
1133
- border-color: var(--fb-text-light);
1134
- }
1135
-
1136
- .form-integration-save-btn {
1137
- padding: 9px 18px;
1138
- font-size: 0.875rem;
1139
- font-weight: 500;
1140
- color: #ffffff;
1141
- background: var(--fb-primary);
1142
- border: none;
1143
- border-radius: var(--fb-radius-md);
1144
- cursor: pointer;
1145
- transition: background 0.15s ease;
1146
- }
1147
-
1148
- .form-integration-save-btn:hover {
1149
- background: var(--fb-primary-hover);
125
+ color: var(--destructive);
126
+ border-color: var(--destructive);
127
+ background: color-mix(in srgb, var(--destructive) 10%, transparent);
1150
128
  }