PluginProbe
SureDonation – Donation Forms, Fundraising Campaigns & Donor Management / 0.0.1
SureDonation – Donation Forms, Fundraising Campaigns & Donor Management v0.0.1
1.6.0 1.5.1 1.5.0 1.4.0 1.3.0 trunk 0.0.1 1.0.0 1.1.0 1.1.1 1.1.2 1.2.0
suredonation / assets / css / form-editor.css

form-editor.css in SureDonation – Donation Forms, Fundraising Campaigns & Donor Management 0.0.1, at assets/css/form-editor.css

685 lines 20.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * SureDonation Form Editor Styles
3 *
4 * Styles for the block editor when editing donation forms.
5 * Matches SureForms editor styling patterns.
6 *
7 * @package SureDonation
8 * @since 0.0.1
9 */
10
11 /* ==========================================================================
12 CSS Variables (Editor) - Matches SureForms
13 ========================================================================== */
14
15 :root {
16 /* Base */
17 --sd-font-size: 16px;
18
19 /* Colors - Primary */
20 --sd-color-scheme-primary: #10b981;
21 --sd-color-scheme-primary-hover: #059669;
22
23 /* Colors - Input */
24 --sd-color-input-text: #1f2937;
25 --sd-color-input-label: #1f2937;
26 --sd-color-input-description: #6b7280;
27 --sd-color-input-placeholder: #9ca3af;
28 --sd-color-input-background: #ffffff;
29 --sd-color-input-background-hover: #f9fafb;
30 --sd-color-input-border: #d1d5db;
31 --sd-color-input-border-hover: #9ca3af;
32 --sd-color-input-border-focus-glow: rgba(16, 185, 129, 0.15);
33 --sd-color-input-selected: rgba(16, 185, 129, 0.05);
34 --sd-color-multi-choice-svg: #9ca3af;
35 --sd-color-input-prefix: #6b7280;
36
37 /* Colors - Error */
38 --sd-error-color: #dc2626;
39 --sd-error-color-border: rgba(220, 38, 38, 0.65);
40 --sd-error-color-border-glow: rgba(220, 38, 38, 0.15);
41
42 /* Layout - Gaps */
43 --sd-column-gap-between-blocks: 16px;
44 --sd-col-gap-between-fields: 16px;
45 --sd-row-gap-between-blocks: 18px;
46
47 /* Input Field */
48 --sd-input-height: 40px;
49 --sd-input-field-font-size: 16px;
50 --sd-input-field-font-weight: 400;
51 --sd-input-field-line-height: 1.5;
52 --sd-input-field-padding: 10px 14px;
53 --sd-input-field-border-radius: 6px;
54 --sd-input-label-gap: 6px;
55
56 /* Label */
57 --sd-label-font-size: 14px;
58 --sd-label-font-weight: 500;
59 --sd-label-line-height: 20px;
60
61 /* Description */
62 --sd-description-font-size: 13px;
63 --sd-description-font-weight: 400;
64 --sd-description-line-height: 18px;
65 --sd-description-margin-top: 2px;
66
67 /* Error */
68 --sd-error-font-size: 12px;
69 --sd-error-font-weight: 500;
70 --sd-error-line-height: 16px;
71
72 /* Checkbox */
73 --sd-checkbox-size: 18px;
74 --sd-checkbox-input-border-radius: 4px;
75 --sd-check-svg-top: 2px;
76 --sd-check-svg-left: 2px;
77
78 /* Multi-Choice */
79 --sd-gap-between-icon-text: 8px;
80 --sd-multi-choice-horizontal-svg-size: 16px;
81
82 /* Button */
83 --sd-btn-padding: 12px 24px;
84 --sd-btn-font-size: 16px;
85 --sd-btn-font-weight: 500;
86 --sd-btn-line-height: 1.5;
87 --sd-btn-border-radius: 6px;
88 }
89
90 /* ==========================================================================
91 Editor Block Wrapper - Root Container Flex Layout
92 ========================================================================== */
93
94 /* Make the root container a flex container for block width support */
95 /* Target any editor containing SD blocks */
96 .is-root-container.block-editor-block-list__layout:has([data-type^="sd/"]),
97 .block-editor-inner-blocks .block-editor-block-list__layout:has([data-type^="sd/"]) {
98 display: flex;
99 flex-wrap: wrap;
100 gap: var(--sd-row-gap-between-blocks, 18px) var(--sd-col-gap-between-fields, 16px);
101 padding: 0;
102 max-width: 620px;
103 margin: 0 auto;
104 }
105
106 /* Override padding from built editor.css that causes width calculation issues */
107 body.post-type-suredonation_form div.is-root-container.block-editor-block-list__layout .block-editor-block-list__block,
108 body.post-type-suredonation_form div.is-root-container.block-editor-block-list__layout .block-list-appender {
109 padding: 0 !important;
110 }
111
112 /* Ensure box-sizing for all SD blocks - critical for height calculations */
113 .is-root-container [data-type^="sd/"] *,
114 .editor-styles-wrapper [data-type^="sd/"] * {
115 box-sizing: border-box;
116 }
117
118 .editor-styles-wrapper .sd-block-single {
119 display: flex;
120 flex-direction: column;
121 width: 100%;
122 margin-bottom: 0;
123 }
124
125 /* Block placeholder styles - remove margin since gap handles it */
126 .editor-styles-wrapper [data-type^="sd/"] {
127 margin: 0;
128 }
129
130 /* Reset margin for last child compatibility */
131 .editor-styles-wrapper [data-type^="sd/"]:last-child {
132 margin-bottom: 0;
133 }
134
135 /* ==========================================================================
136 Label & Description (Editor)
137 ========================================================================== */
138
139 .editor-styles-wrapper .sd-label {
140 display: flex;
141 align-items: center;
142 gap: 4px;
143 font-size: var(--sd-label-font-size, 14px);
144 font-weight: var(--sd-label-font-weight);
145 line-height: var(--sd-label-line-height, 20px);
146 color: var(--sd-color-input-label, #1f2937);
147 margin-bottom: var(--sd-input-label-gap, 6px);
148 }
149
150 .editor-styles-wrapper .sd-required {
151 color: var(--sd-error-color);
152 }
153
154 .editor-styles-wrapper .sd-help {
155 font-size: var(--sd-description-font-size, 13px);
156 font-weight: var(--sd-description-font-weight);
157 line-height: var(--sd-description-line-height, 18px);
158 color: var(--sd-color-input-description, #6b7280);
159 margin-top: var(--sd-description-margin-top);
160 margin-bottom: var(--sd-input-label-gap, 6px);
161 }
162
163 /* ==========================================================================
164 Input Fields (Editor) - Matches SureForms editor input styles
165 ========================================================================== */
166
167 .editor-styles-wrapper .sd-block-wrap {
168 position: relative;
169 width: 100%;
170 }
171
172 .editor-styles-wrapper .sd-input-common {
173 display: block;
174 width: 100%;
175 height: var(--sd-input-height, 44px);
176 /* padding: var(--sd-input-field-padding, 10px 14px); */
177 font-family: inherit;
178 font-size: var(--sd-input-field-font-size, 16px);
179 font-weight: var(--sd-input-field-font-weight);
180 line-height: var(--sd-input-field-line-height, 1.5);
181 color: var(--sd-color-input-text, #1f2937);
182 background-color: var(--sd-color-input-background, #ffffff);
183 border: 1px solid var(--sd-color-input-border, #d1d5db);
184 border-radius: var(--sd-input-field-border-radius);
185 outline: none;
186 pointer-events: none;
187 }
188
189 .editor-styles-wrapper .sd-input-common::placeholder {
190 color: var(--sd-color-input-placeholder, #9ca3af);
191 }
192
193 /* ==========================================================================
194 Number Block (Editor)
195 ========================================================================== */
196
197 .editor-styles-wrapper .sd-number-block .sd-number-wrap {
198 display: flex;
199 width: 100%;
200 align-items: center;
201 font-family: inherit;
202 font-size: var(--sd-input-field-font-size, 16px);
203 font-weight: var(--sd-input-field-font-weight);
204 line-height: var(--sd-input-field-line-height, 1.5);
205 color: var(--sd-color-input-text, #1f2937);
206 border: 1px solid var(--sd-color-input-border, #d1d5db);
207 border-radius: var(--sd-input-field-border-radius);
208 background-color: var(--sd-color-input-background, #ffffff);
209 height: var(--sd-input-height, 44px);
210 overflow: hidden;
211 }
212
213 .editor-styles-wrapper .sd-number-block .sd-input-number {
214 border: none;
215 border-radius: 0;
216 padding: var(--sd-input-field-padding, 10px 14px);
217 height: 100%;
218 flex: 1;
219 pointer-events: none;
220 }
221
222 .editor-styles-wrapper .sd-currency-symbol {
223 display: flex;
224 align-items: center;
225 height: 100%;
226 padding: 0 12px;
227 white-space: nowrap;
228 color: var(--sd-color-input-prefix, #6b7280);
229 border-right: 1px solid var(--sd-color-input-border, #d1d5db);
230 }
231
232 /* ==========================================================================
233 Error Message (Editor)
234 ========================================================================== */
235
236 .editor-styles-wrapper .suredonation-error {
237 display: none;
238 font-size: var(--sd-error-font-size);
239 font-weight: var(--sd-error-font-weight);
240 line-height: var(--sd-error-line-height);
241 color: var(--sd-error-color);
242 margin-top: 6px;
243 }
244
245 /* ==========================================================================
246 Checkbox Block (Editor) - Matches SureForms checkbox editor styles
247 ========================================================================== */
248
249 .editor-styles-wrapper .sd-checkbox-block .sd-checkbox-wrap {
250 display: flex;
251 align-items: flex-start;
252 }
253
254 .editor-styles-wrapper .sd-checkbox-block .sd-checkbox-label {
255 position: relative;
256 display: flex;
257 align-items: flex-start;
258 gap: 10px;
259 cursor: default;
260 }
261
262 .editor-styles-wrapper .sd-checkbox-block .sd-input-checkbox {
263 position: relative;
264 flex-shrink: 0;
265 width: var(--sd-checkbox-size, 18px);
266 height: var(--sd-checkbox-size, 18px);
267 border: 1px solid var(--sd-color-input-border, #d1d5db);
268 border-radius: var(--sd-checkbox-input-border-radius);
269 background-color: var(--sd-color-input-background, #ffffff);
270 -webkit-appearance: none;
271 -moz-appearance: none;
272 appearance: none;
273 margin: 0;
274 pointer-events: none;
275 }
276
277 .editor-styles-wrapper .sd-checkbox-block .sd-checkbox-text {
278 font-size: var(--sd-input-field-font-size, 16px);
279 line-height: var(--sd-input-field-line-height, 1.5);
280 color: var(--sd-color-input-text, #1f2937);
281 }
282
283 .editor-styles-wrapper .sd-checkbox-block .sd-checkbox-text .sd-required {
284 color: var(--sd-error-color);
285 }
286
287 /* ==========================================================================
288 Multi-Choice Block (Editor) - Matches SureForms multi-choice editor styles
289 ========================================================================== */
290
291 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap {
292 display: flex;
293 flex-wrap: wrap;
294 margin: 0 -4px;
295 padding: var(--sd-multi-choice-outer-padding, 0) 0;
296 }
297
298 /* Layout variations - class on wrap div (matching SureForms pattern) */
299 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap {
300 flex-direction: row;
301 }
302
303 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-vertical-layout {
304 flex-direction: column;
305 }
306
307 /* Single choice item - matches SureForms srfm-multi-choice-single */
308 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-single {
309 padding: 4px;
310 cursor: pointer;
311 margin: 0;
312 }
313
314 /* Choice width variations - controls option width in horizontal layout */
315 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-choice-width-100 .sd-multi-choice-single {
316 width: 100%;
317 }
318
319 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-choice-width-75 .sd-multi-choice-single {
320 width: 75%;
321 }
322
323 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-choice-width-66-66 .sd-multi-choice-single {
324 width: 66.66%;
325 }
326
327 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-choice-width-50 .sd-multi-choice-single {
328 width: 50%;
329 }
330
331 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-choice-width-33-33 .sd-multi-choice-single {
332 width: 33.33%;
333 }
334
335 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-choice-width-25 .sd-multi-choice-single {
336 width: 25%;
337 }
338
339 /* Block content wrap - matches SureForms srfm-block-content-wrap */
340 .editor-styles-wrapper .sd-multi-choice-block .sd-block-content-wrap {
341 display: flex;
342 justify-content: space-between;
343 align-items: center;
344 gap: var(--sd-multi-choice-internal-option-gap, 10px);
345 padding: var(--sd-input-field-padding, 10px 14px);
346 font-size: var(--sd-input-field-font-size, 16px);
347 font-weight: var(--sd-input-field-font-weight);
348 line-height: var(--sd-input-field-line-height, 1.5);
349 color: var(--sd-color-input-text, #1f2937);
350 border: 1px solid var(--sd-color-input-border, #d1d5db);
351 border-radius: var(--sd-input-field-border-radius, 6px);
352 background-color: var(--sd-color-input-background, #ffffff);
353 min-height: var(--sd-input-height, 44px);
354 height: auto;
355 margin: 0;
356 transition: 0.2s ease-out;
357 }
358
359 .editor-styles-wrapper .sd-multi-choice-block .sd-block-content-wrap:hover {
360 border-color: var(--sd-color-input-border-hover, #9ca3af);
361 background-color: var(--sd-color-input-background-hover, #f9fafb);
362 }
363
364 /* Selected state */
365 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-single.sd-selected .sd-block-content-wrap {
366 border-color: var(--sd-color-input-border-hover, #9ca3af);
367 background-color: var(--sd-color-input-selected, #f0fdf4);
368 }
369
370 /* Option container */
371 .editor-styles-wrapper .sd-multi-choice-block .sd-option-container {
372 display: flex;
373 flex: 1;
374 gap: var(--sd-multi-choice-internal-option-gap, 10px);
375 align-items: center;
376 }
377
378 .editor-styles-wrapper .sd-multi-choice-block .sd-option-container p {
379 font-size: 1em;
380 line-height: var(--sd-input-field-line-height, 1.5);
381 margin: 0;
382 word-break: break-word;
383 flex: 1;
384 }
385
386 /* Icon container */
387 .editor-styles-wrapper .sd-multi-choice-block .sd-icon-container {
388 display: flex;
389 align-items: center;
390 }
391
392 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-icon,
393 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-icon-unchecked {
394 display: flex;
395 align-items: center;
396 color: var(--sd-color-input-border, #d1d5db);
397 transition: opacity 0.2s ease-out;
398 }
399
400 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-icon svg,
401 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-icon-unchecked svg {
402 width: 20px;
403 height: 20px;
404 }
405
406 /* Unchecked state - show unchecked icon, hide checked icon */
407 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-icon {
408 opacity: 0;
409 width: 0;
410 overflow: hidden;
411 }
412
413 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-icon-unchecked {
414 opacity: 1;
415 }
416
417 /* Selected state - show checked icon, hide unchecked icon */
418 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-single.sd-selected .sd-multi-choice-icon {
419 opacity: 1;
420 width: auto;
421 color: var(--sd-color-scheme-primary, #10b981);
422 }
423
424 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-single.sd-selected .sd-multi-choice-icon-unchecked {
425 opacity: 0;
426 width: 0;
427 overflow: hidden;
428 }
429
430 /* Vertical layout specific styles - class on wrap div */
431 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-vertical-layout .sd-block-content-wrap {
432 position: relative;
433 padding: var(--sd-multi-choice-vertical-padding, 16px);
434 min-height: 80px;
435 }
436
437 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-vertical-layout .sd-option-container {
438 flex-direction: column;
439 align-items: center;
440 justify-content: center;
441 text-align: center;
442 }
443
444 .editor-styles-wrapper .sd-multi-choice-block .sd-multi-choice-wrap.sd-vertical-layout .sd-icon-container {
445 position: absolute;
446 top: 8px;
447 right: 8px;
448 }
449
450 /* ==========================================================================
451 Payment Block (Editor) - Matches SureForms payment editor styles
452 ========================================================================== */
453
454 .editor-styles-wrapper .sd-payment-block {
455 width: 100%;
456 }
457
458 .editor-styles-wrapper .sd-payment-wrap {
459 margin-bottom: 16px;
460 }
461
462 .editor-styles-wrapper .sd-payment-element {
463 padding: 16px;
464 border: 1px dashed var(--sd-color-input-border, #d1d5db);
465 border-radius: var(--sd-input-field-border-radius);
466 background-color: #f9fafb;
467 min-height: 80px;
468 display: flex;
469 align-items: center;
470 justify-content: center;
471 }
472
473 .editor-styles-wrapper .sd-payment-placeholder {
474 display: flex;
475 flex-direction: column;
476 align-items: center;
477 gap: 8px;
478 color: var(--sd-color-input-description, #6b7280);
479 font-size: var(--sd-description-font-size, 13px);
480 }
481
482 .editor-styles-wrapper .sd-payment-placeholder svg {
483 width: 32px;
484 height: 32px;
485 opacity: 0.5;
486 }
487
488 .editor-styles-wrapper .sd-payment-not-configured {
489 padding: 16px;
490 background-color: #fffbeb;
491 border: 1px solid #fbbf24;
492 border-radius: var(--sd-input-field-border-radius);
493 color: #92400e;
494 font-size: var(--sd-description-font-size, 13px);
495 }
496
497 /* Submit Button Preview */
498 .editor-styles-wrapper .sd-payment-submit {
499 margin-top: 8px;
500 }
501
502 .editor-styles-wrapper .sd-submit-button {
503 display: inline-flex;
504 align-items: center;
505 justify-content: center;
506 width: 100%;
507 padding: var(--sd-btn-padding, 12px 24px);
508 font-family: inherit;
509 font-size: var(--sd-btn-font-size, 16px);
510 font-weight: var(--sd-btn-font-weight);
511 line-height: var(--sd-btn-line-height, 1.5);
512 color: #ffffff;
513 background-color: var(--sd-color-scheme-primary, #10b981);
514 border: none;
515 border-radius: var(--sd-btn-border-radius);
516 cursor: default;
517 pointer-events: none;
518 }
519
520 /* ==========================================================================
521 Block Selection States
522 ========================================================================== */
523
524 .editor-styles-wrapper [data-type^="sd/"].is-selected .sd-block-single,
525 .editor-styles-wrapper [data-type^="sd/"].has-child-selected .sd-block-single {
526 position: relative;
527 }
528
529 /* Subtle highlight on selection */
530 .editor-styles-wrapper [data-type^="sd/"].is-selected::after {
531 content: '';
532 position: absolute;
533 top: -4px;
534 left: -4px;
535 right: -4px;
536 bottom: -4px;
537 border: 2px solid var(--sd-color-scheme-primary, #10b981);
538 border-radius: 4px;
539 pointer-events: none;
540 opacity: 0.5;
541 }
542
543 /* ==========================================================================
544 Block Inserter Panel
545 ========================================================================== */
546
547 /* Style for SD blocks in the inserter */
548 .block-editor-block-types-list__list-item[class*="sd-"] .block-editor-block-types-list__item-icon {
549 color: var(--sd-color-scheme-primary, #10b981);
550 }
551
552 /* ==========================================================================
553 Responsive Preview
554 ========================================================================== */
555
556 /* Mobile view preview */
557 .editor-styles-wrapper .is-mobile-preview .sd-block-single {
558 flex: 0 1 100% !important;
559 }
560
561 /* ==========================================================================
562 Field Width Previews
563 ========================================================================== */
564
565 /* Block width classes - applied to block wrapper via blockProps className */
566 .is-root-container .sd-block-width-100,
567 .block-editor-block-list__layout .sd-block-width-100 {
568 flex: 0 1 100%;
569 }
570
571 .is-root-container .sd-block-width-75,
572 .block-editor-block-list__layout .sd-block-width-75 {
573 flex: 0 1 calc(75% - 0.25 * var(--sd-col-gap-between-fields, 16px));
574 }
575
576 .is-root-container .sd-block-width-66-66,
577 .block-editor-block-list__layout .sd-block-width-66-66 {
578 flex: 0 1 calc(66.66% - 0.3333 * var(--sd-col-gap-between-fields, 16px));
579 }
580
581 .is-root-container .sd-block-width-50,
582 .block-editor-block-list__layout .sd-block-width-50 {
583 flex: 0 1 calc(50% - 0.5 * var(--sd-col-gap-between-fields, 16px));
584 }
585
586 .is-root-container .sd-block-width-33-33,
587 .block-editor-block-list__layout .sd-block-width-33-33 {
588 flex: 0 1 calc(33.33% - 0.6666 * var(--sd-col-gap-between-fields, 16px));
589 }
590
591 .is-root-container .sd-block-width-25,
592 .block-editor-block-list__layout .sd-block-width-25 {
593 flex: 0 1 calc(25% - 0.75 * var(--sd-col-gap-between-fields, 16px));
594 }
595
596 /* Mobile responsive - all blocks full width */
597 @media (max-width: 576px) {
598 .is-root-container .sd-block-width-25,
599 .is-root-container .sd-block-width-33-33,
600 .is-root-container .sd-block-width-50,
601 .is-root-container .sd-block-width-66-66,
602 .is-root-container .sd-block-width-75,
603 .block-editor-block-list__layout .sd-block-width-25,
604 .block-editor-block-list__layout .sd-block-width-33-33,
605 .block-editor-block-list__layout .sd-block-width-50,
606 .block-editor-block-list__layout .sd-block-width-66-66,
607 .block-editor-block-list__layout .sd-block-width-75 {
608 flex: 0 1 100%;
609 min-width: 100%;
610 }
611 }
612
613 /* ==========================================================================
614 Inspector Controls Enhancements
615 ========================================================================== */
616
617 /* Gateway selection in inspector */
618 .sd-gateway-selector {
619 display: flex;
620 flex-direction: column;
621 gap: 8px;
622 }
623
624 .sd-gateway-option {
625 display: flex;
626 align-items: center;
627 gap: 8px;
628 padding: 12px;
629 border: 1px solid #e5e7eb;
630 border-radius: 6px;
631 cursor: pointer;
632 transition: border-color 0.2s;
633 }
634
635 .sd-gateway-option:hover {
636 border-color: var(--sd-color-scheme-primary, #10b981);
637 }
638
639 .sd-gateway-option.is-selected {
640 border-color: var(--sd-color-scheme-primary, #10b981);
641 background-color: rgba(16, 185, 129, 0.05);
642 }
643
644 .sd-gateway-option svg {
645 width: 24px;
646 height: 24px;
647 }
648
649 .sd-gateway-option-label {
650 font-weight: 500;
651 }
652
653 .sd-gateway-option-status {
654 margin-left: auto;
655 font-size: 12px;
656 color: var(--sd-color-input-description, #6b7280);
657 }
658
659 .sd-gateway-option-status.is-configured {
660 color: var(--sd-color-scheme-primary, #10b981);
661 }
662
663 /* ==========================================================================
664 Test Mode Banner
665 ========================================================================== */
666
667 .sd-test-mode-banner {
668 display: flex;
669 align-items: center;
670 gap: 8px;
671 padding: 8px 12px;
672 background-color: #fffbeb;
673 border: 1px solid #fbbf24;
674 border-radius: 4px;
675 font-size: 13px;
676 color: #92400e;
677 margin-bottom: 12px;
678 }
679
680 .sd-test-mode-banner svg {
681 width: 16px;
682 height: 16px;
683 flex-shrink: 0;
684 }
685