PluginProbe ʕ •ᴥ•ʔ
GPTranslate – Multilingual AI Translation Agent for WordPress: Translate Your Site with AI / 2.34.3
GPTranslate – Multilingual AI Translation Agent for WordPress: Translate Your Site with AI v2.34.3
2.34.3 2.34.2 2.34.1 2.34 2.33.10 2.33.9 2.33.8 2.33.7 2.33.6 2.33.5 2.33.2 2.32.10 2.33 2.33.1 2.32.6 2.32.7 2.32.8 trunk 2.10.3 2.10.4 2.10.5 2.10.6 2.11 2.12 2.13 2.14 2.14.1 2.15 2.15.1 2.16.1 2.16.2 2.17 2.18 2.18.1 2.18.2 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.25.1 2.25.2 2.26 2.27 2.27.10 2.27.5 2.28 2.28.1 2.29 2.30 2.31 2.32 2.32.5
gptranslate / assets / css / admin.css
gptranslate / assets / css Last commit date
admin.css 3 days ago bootstrap.min.css 3 days ago crawler.css 3 days ago select2.min.css 3 days ago wizard.css 3 days ago
admin.css
1161 lines
1 #wpbody-content > h1 {
2 position: relative;
3 color: #1d2327;
4 font-size: 2em;
5 margin: 0;
6 margin-left: -20px;
7 background: #FFF;
8 padding: 20px;
9 border: 1px solid #c3c4c7;
10 }
11
12 div.notice {
13 margin: 5px 20px 5px 0;
14 }
15
16 h2.nav-tab-wrapper {
17 margin-top: 20px;
18 }
19
20 img.gptranslate-plugin-icon {
21 width: 64px;
22 height: 64px;
23 }
24
25 /* Labels */
26 .gpt-label {
27 display: inline-block;
28 padding: 2px 8px;
29 font-size: 1em;
30 font-weight: 600;
31 color: #fff;
32 background-color: #0073aa; /* WordPress blue */
33 border-radius: 12px;
34 vertical-align: middle;
35 white-space: nowrap;
36 }
37
38 /* Success label */
39 .gpt-label-success {
40 background-color: #46b450;
41 }
42
43 /* Danger label */
44 .gpt-label-danger {
45 background-color: #dc3232;
46 }
47
48 /* Warning label */
49 .gpt-label-warning {
50 background-color: #ffb900;
51 color: #000;
52 }
53
54 /* Buttons */
55 .gpt-button {
56 display: inline-block;
57 padding: 6px 12px;
58 font-size: 14px;
59 font-weight: 600;
60 color: #fff;
61 background-color: #0073aa;
62 border: none;
63 border-radius: 2px;
64 cursor: pointer;
65 text-decoration: none;
66 transition: background-color 0.2s;
67 }
68
69 .gpt-button:hover {
70 background-color: #006799;
71 text-decoration: none;
72 }
73
74 /* Button variants */
75 .gpt-button-danger {
76 background-color: #dc3232;
77 }
78
79 .gpt-button-danger:hover {
80 background-color: #b81b1b;
81 }
82
83 .gpt-button-success {
84 background-color: #46b450;
85 }
86
87 .gpt-button-success:hover {
88 background-color: #3ea145;
89 }
90
91 /* Table styling */
92 .gpt-table {
93 width: 100%;
94 border-collapse: collapse;
95 margin-bottom: 20px;
96 }
97
98 .gpt-table th, .gpt-table td {
99 padding: 8px 10px;
100 border: 1px solid #ccc;
101 text-align: left;
102 }
103
104 .gpt-table th {
105 background-color: #f9f9f9;
106 font-weight: 600;
107 }
108
109 .form-table th {
110 vertical-align: top;
111 text-align: left;
112 padding: 20px 10px 10px 10px;
113 width: 200px;
114 line-height: 1.3;
115 font-weight: 600;
116 border-left: 1px solid #2271b1;
117 border-left-width: 4px;
118 box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
119 }
120
121 #tab-translator .form-table th {
122 width: 280px;
123 }
124
125 .form-table td {
126 box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
127 }
128
129 /* Edit record translation */
130 #wpfooter {
131 display: none !important;
132 }
133
134 input[name=pagelink], input[name=translated_alias] {
135 width: 60%;
136 }
137
138 div.gptcard {
139 width: 100%;
140 }
141
142 @media ( max-width : 1024px) {
143 input[name=pagelink] {
144 width: 100%;
145 }
146 }
147
148 div.accordion-body {
149 max-height: 800px;
150 overflow: auto;
151 }
152
153 /* Search */
154 div.gptcard-header button, div.gptcard-header input {
155 font-weight: normal;
156 white-space: nowrap;
157 }
158
159 /* Sort dropdown */
160 .gpt-sort-select {
161 padding: 4px 8px;
162 font-size: 13px;
163 border: 1px solid #8c8f94;
164 border-radius: 4px;
165 background: #fff;
166 color: #2c3338;
167 cursor: pointer;
168 height: 30px;
169 margin-left: 4px;
170 }
171
172 .gpt-sort-select:focus {
173 border-color: #2271b1;
174 box-shadow: 0 0 0 1px #2271b1;
175 outline: none;
176 }
177
178 input[name=search] {
179 width: 50%;
180 }
181
182 /* Container */
183 form.form-filter-container {
184 display: flex;
185 justify-content: space-between;
186 margin-bottom: 10px;
187 position: relative;
188 }
189
190 div.right-filter-container input[type="submit"] {
191 margin: 0 1px;
192 }
193
194 .translations-container {
195 max-width: 100%;
196 padding: 1rem;
197 font-family: sans-serif;
198 }
199
200 *.doublesize-icon {
201 font-size: 18px;
202 font-weight: 700;
203 margin-left: 5px;
204 }
205
206 #search-input {
207 min-width: 300px;
208 margin-right: 2px;
209 }
210
211 #search-input+button,
212 #search-input+button+button {
213 margin-right: 2px;
214 }
215
216 /* Card */
217 .gptcard {
218 border: 1px solid #ddd;
219 border-radius: 6px;
220 margin-bottom: 1rem;
221 background-color: #fff;
222 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
223 }
224
225 /* Card header */
226 .gptcard-header {
227 background-color: #f5f5f5;
228 padding: 0.75rem 1rem;
229 border-bottom: 1px solid #ddd;
230 font-weight: bold;
231 }
232
233 .gptcard-header [data-role="search-translations"],
234 .gptcard-header [data-role="reset-search"] {
235 white-space: nowrap;
236 font-weight: normal;
237 }
238
239 /* Accordion toggle area */
240 .accordion-toggle {
241 display: flex;
242 align-items: center;
243 gap: 1rem;
244 }
245
246 /* Input group */
247 .input-group {
248 display: flex;
249 align-items: center;
250 gap: 0.5rem;
251 flex-wrap: nowrap;
252 width: 100%;
253 }
254
255 .input-group-text {
256 background-color: #e9ecef;
257 padding: 0.5rem 0.75rem;
258 border-radius: 4px;
259 font-size: 0.875rem;
260 }
261
262 #migraterow span.input-group label {
263 white-space: nowrap;
264 }
265
266 table.widefat input.form-check-input {
267 margin: 0;
268 width: inherit !important;
269 }
270
271 /* Card body */
272 .gptcard-body {
273 padding: 1rem;
274 }
275
276 div.translation-row.translation-row-hidden {
277 display: none;
278 }
279
280 /* Buttons */
281 .btn {
282 display: inline-block;
283 padding: 0.375rem 0.75rem;
284 border-radius: 2px;
285 border: none;
286 font-size: 0.875rem;
287 cursor: pointer;
288 }
289
290 .btn-sm {
291 font-size: 0.75rem;
292 padding: 0.25rem 0.5rem;
293 }
294
295 .btn-primary {
296 background-color: #2271b1;
297 color: white;
298 }
299
300 .btn-success {
301 background-color: #198754;
302 color: white;
303 }
304
305 .btn-danger {
306 background-color: #dc3545;
307 color: white;
308 }
309
310 .btn-warning {
311 background-color: #ffc107;
312 color: black;
313 }
314
315 span.icon-refresh {
316 display: inline-block;
317 }
318
319 button.group-sync.btn-invisible {
320 display: none;
321 }
322
323 button.group-sync span.icon-refresh.icon-working {
324 animation: spin 2s infinite linear;
325 }
326
327 @keyframes spin {
328 0% {
329 transform: rotate(0deg);
330 }
331 100% {
332 transform: rotate(360deg);
333 }
334 }
335
336 /* Badges */
337 .badge {
338 display: inline-block;
339 padding: 0.35em 0.65em;
340 font-size: 1em;
341 font-weight: 600;
342 border-radius: 3px;
343 margin-bottom: 0.25rem;
344 }
345
346 /* Colori di stato */
347 .bg-primary {
348 background-color: #2271b1;
349 color: #FFFFFF;
350 }
351
352 .bg-success {
353 background-color: #28a745;
354 color: #FFFFFF;
355 }
356
357 .bg-danger {
358 background-color: #dc3545;
359 color: #FFFFFF;
360 }
361
362 .bg-warning {
363 background-color: #ffc107;
364 color: #212529;
365 }
366
367 .bg-info {
368 background-color: #17a2b8;
369 color: #FFFFFF;
370 }
371
372 /* Zero state */
373 .gptranslate-zero-state {
374 max-width: 768px;
375 margin: 80px auto;
376 padding: 40px;
377 background: #ffffff;
378 border-radius: 8px;
379 border: 1px solid #e5e5e5;
380 text-align: center;
381 }
382
383 .gptranslate-zero-title {
384 font-size: 24px;
385 font-weight: 600;
386 margin-bottom: 10px;
387 }
388
389 .gptranslate-zero-icon {
390 margin-bottom: 20px;
391 opacity: 0.9;
392 }
393
394 .gptranslate-zero-desc {
395 font-size: 15px;
396 color: #555;
397 margin-bottom: 30px;
398 }
399
400 .gptranslate-zero-hint {
401 margin-top: 20px;
402 font-size: 13px;
403 color: #777;
404 }
405
406 #gptranslate-start-crawler span.dashicons-before::before {
407 vertical-align: middle;
408 margin-right: 10px;
409 }
410
411 /* Textarea */
412 .translation-row textarea {
413 width: 100%;
414 min-height: 60px;
415 resize: vertical;
416 box-sizing: border-box;
417 transition: min-height 0.2s ease;
418 }
419
420 div.gptcard.gpt-expanded .translation-row textarea {
421 min-height: 140px;
422 }
423
424 .translation-row button,
425 .translation-row label.badge {
426 white-space: nowrap;
427 }
428
429 /* Translation row */
430 .translation-row {
431 display: grid;
432 grid-template-columns: 1fr 1fr 230px;
433 gap: 8px;
434 align-items: start;
435 padding: 4px 0;
436 margin-top: 6px;
437 border-bottom: 1px solid rgba(0, 0, 0, 0.08);
438 position: relative;
439 }
440
441 .translation-row div.gpt-col {
442 min-width: 0;
443 }
444
445 .translation-row div.gpt-col-actions {
446 display: flex;
447 flex-direction: row;
448 flex-wrap: nowrap;
449 gap: 6px;
450 align-items: center;
451 justify-content: flex-end;
452 position: relative;
453 }
454
455 .translation-row label.gpt-row-label {
456 display: none;
457 }
458
459 /* Sticky column header above translation rows */
460 .gpt-translations-body {
461 position: relative;
462 padding-top: 0;
463 }
464
465 .gpt-translation-header {
466 display: grid;
467 grid-template-columns: 1fr 1fr 230px;
468 gap: 8px;
469 padding: 6px 0 8px;
470 position: sticky;
471 top: 0;
472 z-index: 5;
473 background: #fff;
474 border-bottom: 2px solid #2271b1;
475 margin-bottom: 6px;
476 font-weight: 600;
477 font-size: 0.8rem;
478 color: #2271b1;
479 text-transform: uppercase;
480 letter-spacing: 0.03em;
481 }
482
483 .gpt-th {
484 display: flex;
485 align-items: center;
486 }
487
488 .gpt-th-actions {
489 display: flex;
490 align-items: center;
491 justify-content: flex-end;
492 }
493
494 .gpt-expand-btn {
495 white-space: nowrap;
496 }
497
498 .gpt-expand-btn:hover {
499 background-color: #135e96;
500 }
501
502 .gpt-expand-btn.gpt-expanded-active {
503 background-color: #135e96;
504 }
505
506 .translation-row label.gpt-label.badge {
507 position: absolute;
508 right: 1px;
509 top: calc(100% + 4px);
510 font-size: 12px;
511 z-index: 2;
512 white-space: nowrap;
513 }
514
515 /* Tooltips */
516 .custom-tooltip {
517 position: absolute;
518 top: 0;
519 left: 0;
520 z-index: 9999;
521 background: #333;
522 color: #fff;
523 padding: 6px 10px;
524 font-size: 0.85em;
525 border-radius: 4px;
526 max-width: 250px;
527 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
528 pointer-events: none;
529 opacity: 0;
530 transition: opacity 0.2s ease;
531 white-space: normal;
532 }
533
534 /* Settings with switchers */
535 a.nav-tab:focus {
536 box-shadow: none;
537 }
538
539 .nav-tab-active, .nav-tab-active:focus, .nav-tab-active:focus:active, .nav-tab-active:hover {
540 transition: border 0s;
541 }
542
543 div.tab-content > p:first-child,
544 div.tab-content > p:last-child {
545 text-align: right;
546 margin-right: 20px;
547 }
548
549 #config-gptranslate table.form-table {
550 margin-top: -40px;
551 }
552
553 table.form-table th.settings-label-separator {
554 border: none;
555 background: #2271b1;
556 color: #FFF;
557 text-align: center;
558 padding: 0;
559 vertical-align: middle;
560 border-left: 4px solid #2271b1;
561 }
562
563 table.widefat.fixed.striped a:focus {
564 box-shadow: none;
565 }
566
567 table tr.alt_translations_0 {
568 display: none;
569 }
570
571 tr.gptranslate-dictionary-table-row {
572 border-left: 1px solid #2271b1;
573 border-left-width: 4px;
574 }
575
576 /* API Key field with eye-toggle */
577 .gpt-apikey-wrap {
578 display: flex;
579 align-items: center;
580 gap: 0;
581 }
582 .gpt-apikey-wrap .button {
583 padding: 0 12px;
584 height: 30px;
585 line-height: 30px;
586 flex-shrink: 0;
587 background: #f6f7f7;
588 }
589 .gpt-apikey-wrap .dashicons {
590 font-size: 18px;
591 width: 18px;
592 height: 18px;
593 margin-top: 4px;
594 }
595
596 .gpt-apikey-wrap .dashicons.dashicons-visibility,
597 .gpt-apikey-wrap .dashicons.dashicons-hidden {
598 line-height: normal;
599 }
600
601 .gpt-apikey-wrap .large-apikey {
602 width: 50%;
603 }
604
605 .toggle-import {
606 background: #FFF;
607 padding: 4px 5px;
608 }
609
610 .wp-admin input[type=file] {
611 border: 1px solid #CCC;
612 border-radius: 4px;
613 padding-left: 5px;
614 }
615
616 div.exportimportbtns {
617 position: relative;
618 display: flex;
619 justify-content: flex-end;
620 margin-top: -40px;
621 column-gap: 5px;
622 margin-right: 20px;
623 }
624
625 #add-repeatable-row {
626 float: right;
627 }
628
629 .gptranslate-dictionary-filters {
630 display: flex;
631 flex-wrap: wrap;
632 justify-content: flex-end;
633 gap: 0.5rem;
634 width: 100%;
635 }
636
637 .gptranslate-dictionary-filters input {
638 flex: 0 1 200px;
639 }
640
641 .gptranslate-dictionary-filters select {
642 flex: 0 1 220px;
643 }
644
645 tr.gptranslate-dictionary-table-row > td {
646 padding-top: 0;
647 }
648
649 /* Give this row (right after the blue "Dictionary and exclusions" section separator) a bit more
650 breathing room: it's now short (just the filters) instead of the full table, so the default
651 .form-table padding alone reads as too tight underneath the separator */
652 tr.gptranslate-dictionary-filters-row > th,
653 tr.gptranslate-dictionary-filters-row > td {
654 padding-top: 28px;
655 }
656
657 #bulk-delete-btn, #toggle-migration {
658 margin-right: 10px;
659 }
660
661 #migraterow {
662 width: fit-content;
663 margin-bottom: 10px;
664 background: #FFF;
665 padding: 5px 10px;
666 border-radius: 4px;
667 }
668
669 #migraterow .input-group {
670 width: auto;
671 margin-right: 10px;
672 }
673
674 #migraterow .button {
675 margin-right: 5px;
676 }
677
678 /* Pagination */
679 .tablenav-pages {
680 margin-top: 20px;
681 }
682
683 .tablenav-pages .button {
684 margin-bottom: 4px !important;
685 margin-right: 5px;
686 padding: 5px 10px;
687 text-decoration: none;
688 }
689
690 .tablenav-pages .current-page {
691 font-weight: bold;
692 background-color: #0073aa;
693 color: #fff;
694 }
695
696 div.action-buttons-toolbar {
697 margin: 5px 0 10px;
698 }
699
700 input[name='import_file'] {
701 margin-left: 5px;
702 }
703
704 #translations_json {
705 display: none !important;
706 }
707
708 .wp-core-ui .button-warning,
709 .wp-core-ui .button-warning:focus,
710 .wp-core-ui .button-warning:active {
711 background: #f15116;
712 border-color: #d43900;
713 color: #fff;
714 }
715
716 .wp-core-ui .button-warning:hover {
717 background: #d43900;
718 border-color: #d43900;
719 color: #fff;
720 }
721
722 .wp-core-ui .button-warning.button-crawler {
723 position: absolute;
724 top: 40px;
725 right: 0;
726 box-shadow: none;
727 }
728
729 div.wrap:has(input.button-crawler) {
730 position: relative;
731 }
732
733 div.wrap:has(#notranslations-notice) .button-warning.button-crawler {
734 top: -60px;
735 }
736
737 @media (max-width: 782px) {
738 .wp-core-ui .button-warning.button-crawler {
739 top: 50px;
740 }
741 }
742
743 @media (max-width: 1280px) { body.toplevel_page_gptranslate, body.gptranslate_page_gptranslate-settings { min-width: 1280px; overflow-x: auto }}
744
745 /* GPTranslate iOS switch */
746 .wrapper {
747 position: relative;
748 display: inline-block;
749 width: 52px;
750 height: 28px;
751 vertical-align: middle;
752 cursor: pointer;
753 }
754
755 .wrapper input[type="radio"] {
756 position: absolute;
757 opacity: 0;
758 pointer-events: none;
759 }
760
761 .wrapper > label {
762 position: absolute;
763 top: 0;
764 left: 0;
765 height: 100%;
766 width: 50%;
767 cursor: pointer;
768 }
769 .wrapper > label:last-child {
770 left: 50%;
771 }
772
773 .wrapper > label > span {
774 position: absolute !important;
775 width: 1px;
776 height: 1px;
777 overflow: hidden;
778 clip: rect(1px,1px,1px,1px);
779 }
780
781 .wrapper::before {
782 content: "";
783 position: absolute;
784 inset: 0;
785 background: #bdbdbd;
786 border-radius: 999px;
787 transition: background-color 0.25s ease, box-shadow 0.25s ease;
788 box-shadow: inset 0 0 3px rgba(0,0,0,0.25);
789 pointer-events: none;
790 }
791
792 .wrapper::after {
793 position: absolute;
794 top: 3px;
795 left: 3px;
796 width: 22px;
797 height: 22px;
798 border-radius: 50%;
799 background: #fff;
800 box-shadow: 0 1px 4px rgba(0,0,0,0.3);
801 transition: transform 0.28s cubic-bezier(0.45,1.6,0.45,1), color 0.2s ease;
802 pointer-events: none;
803 display: flex;
804 align-items: center;
805 justify-content: center;
806 font-size: 14px;
807 font-weight: bold;
808 content: "";
809 }
810
811 .wrapper:has(> label:first-child > input:checked)::after {
812 content: "";
813 color: #2196f3;
814 }
815
816 .wrapper:has(> label:first-child > input:checked)::before {
817 background: #2196f3;
818 box-shadow: 0 0 0 3px rgba(33,150,243,0.18);
819 }
820 .wrapper:has(> label:first-child > input:checked)::after {
821 transform: translateX(24px);
822 }
823
824 .wrapper:has(> label:last-child > input:checked)::before {
825 background: #bdbdbd;
826 }
827 .wrapper:has(> label:last-child > input:checked)::after {
828 transform: translateX(0);
829 }
830
831 .wrapper:hover::before {
832 box-shadow: 0 0 0 3px rgba(33,150,243,0.12);
833 }
834 .wrapper input[type="radio"]:focus-visible + span {
835 outline: 2px solid rgba(33,150,243,0.45);
836 outline-offset: 2px;
837 }
838
839 /* Test API Key button */
840 #btn_test_apikey {
841 margin: 4px 0 0 1px;
842 vertical-align: middle;
843 background: #f6f7f7;
844 }
845 #btn_test_apikey:disabled {
846 opacity: 0.7;
847 cursor: wait;
848 }
849 .icon-spin {
850 animation: gpt-spin 1s linear infinite;
851 }
852 @keyframes gpt-spin {
853 0% { transform: rotate(0deg); }
854 100% { transform: rotate(360deg); }
855 }
856 #apikey_test_result {
857 display: inline-block;
858 padding: 3px 10px;
859 border-radius: 3px;
860 font-size: 13px;
861 vertical-align: middle;
862 font-weight: 500;
863 }
864 .gpt-test-success {
865 background-color: #d4edda;
866 color: #155724;
867 border: 1px solid #c3e6cb;
868 }
869 .gpt-test-error {
870 background-color: #f8d7da;
871 color: #721c24;
872 border: 1px solid #f5c6cb;
873 max-width: 500px;
874 word-break: break-word;
875 }
876
877 .gpt-field-error {
878 border-color: #dc3232 !important;
879 box-shadow: 0 0 0 1px #dc3232 !important;
880 }
881 .gpt-validation-error {
882 display: block;
883 color: #dc3232;
884 font-size: 12px;
885 margin-top: 4px;
886 margin-left: 4px;
887 margin-right: 4px;
888 }
889
890 .gpt-drag-over-before {
891 border-top: 3px solid #2271b1;
892 box-shadow: 0 -2px 6px rgba(34, 113, 177, 0.35);
893 }
894 .gpt-drag-over-after {
895 border-bottom: 3px solid #2271b1;
896 box-shadow: 0 2px 6px rgba(34, 113, 177, 0.35);
897 }
898
899 li.select2-search input.select2-search__field {
900 min-height: 30px
901 }
902
903 /* Targetta ogni body che ha una classe 'branch-' seguita da un numero >= 7 */
904 body[class*="branch-7"] .wrapper:has(> label:first-child > input:checked)::after,
905 body[class*="branch-8"] .wrapper:has(> label:first-child > input:checked)::after,
906 body[class*="branch-9"] .wrapper:has(> label:first-child > input:checked)::after {
907 color: #3858e9;
908 }
909
910 body[class*="branch-7"] .wrapper:has(> label:first-child > input:checked)::before,
911 body[class*="branch-8"] .wrapper:has(> label:first-child > input:checked)::before,
912 body[class*="branch-9"] .wrapper:has(> label:first-child > input:checked)::before {
913 background: #3858e9;
914 }
915
916 body[class*="branch-7"] table.form-table th.settings-label-separator,
917 body[class*="branch-8"] table.form-table th.settings-label-separator,
918 body[class*="branch-9"] table.form-table th.settings-label-separator {
919 background: #3858e9;
920 border-left: 4px solid #3858e9;
921 }
922
923 body[class*="branch-7"] div.exportimportbtns,
924 body[class*="branch-8"] div.exportimportbtns,
925 body[class*="branch-9"] div.exportimportbtns {
926 margin-top: -50px;
927 }
928
929
930 body[class*="branch-7"] input[name="gptranslate_settings_file"],
931 body[class*="branch-8"] input[name="gptranslate_settings_file"],
932 body[class*="branch-9"] input[name="gptranslate_settings_file"],
933 body[class*="branch-7"] input[name="import_file"],
934 body[class*="branch-8"] input[name="import_file"],
935 body[class*="branch-9"] input[name="import_file"] {
936 border: 1px solid #CCC;
937 border-radius: 4px;
938 padding-left: 5px;
939 padding: 8px;
940 }
941
942 body[class*="branch-7"] .gpt-label:not([class*="bg-"]),
943 body[class*="branch-8"] .gpt-label:not([class*="bg-"]),
944 body[class*="branch-9"] .gpt-label:not([class*="bg-"]) {
945 background-color: #3858e9;
946 }
947
948 body[class*="branch-7"].wp-core-ui .button-warning.button-crawler,
949 body[class*="branch-8"].wp-core-ui .button-warning.button-crawler,
950 body[class*="branch-9"].wp-core-ui .button-warning.button-crawler {
951 top: 50px;
952 }
953
954 body[class*="branch-7"] .bg-primary,
955 body[class*="branch-8"] .bg-primary,
956 body[class*="branch-9"] .bg-primary,
957 body[class*="branch-7"] .btn-primary,
958 body[class*="branch-8"] .btn-primary,
959 body[class*="branch-9"] .btn-primary {
960 background-color: #3858e9;
961 }
962
963 body[class*="branch-7"] #btn_test_apikey span.dashicons,
964 body[class*="branch-8"] #btn_test_apikey span.dashicons,
965 body[class*="branch-9"] #btn_test_apikey span.dashicons {
966 line-height: normal;
967 margin-top: -1px;
968 }
969
970 body[class*="branch-7"] div.notice.notice-success,
971 body[class*="branch-8"] div.notice.notice-success,
972 body[class*="branch-9"] div.notice.notice-success {
973 border-top: 1px solid #4ab866;
974 border-right: 1px solid #4ab866;
975 border-bottom: 1px solid #4ab866;
976 }
977
978 body[class*="branch-7"] div.notice.notice-warning,
979 body[class*="branch-8"] div.notice.notice-warning,
980 body[class*="branch-9"] div.notice.notice-warning {
981 border-top: 1px solid #f0b849;
982 border-right: 1px solid #f0b849;
983 border-bottom: 1px solid #f0b849;
984 }
985
986 body[class*="branch-7"].wp-core-ui div.left-filter-container .button,
987 body[class*="branch-8"].wp-core-ui div.left-filter-container .button,
988 body[class*="branch-9"].wp-core-ui div.left-filter-container .button,
989 body[class*="branch-7"].wp-core-ui div.right-filter-container .button,
990 body[class*="branch-8"].wp-core-ui div.right-filter-container .button,
991 body[class*="branch-9"].wp-core-ui div.right-filter-container .button {
992 background: #f6f7f7;
993 }
994
995 body[class*="branch-7"] .form-table th,
996 body[class*="branch-8"] .form-table th,
997 body[class*="branch-9"] .form-table th,
998 body[class*="branch-7"] tr.gptranslate-dictionary-table-row,
999 body[class*="branch-8"] tr.gptranslate-dictionary-table-row,
1000 body[class*="branch-9"] tr.gptranslate-dictionary-table-row {
1001 border-left-color: #3858e9;
1002 }
1003
1004 body[class*="branch-7"] input[name="exactmatch"],
1005 body[class*="branch-8"] input[name="exactmatch"],
1006 body[class*="branch-9"] input[name="exactmatch"]{
1007 border: 1px solid #3858e9;
1008 }
1009
1010 body[class*="branch-7"] .gpt-apikey-wrap .dashicons,
1011 body[class*="branch-8"] .gpt-apikey-wrap .dashicons,
1012 body[class*="branch-9"] .gpt-apikey-wrap .dashicons {
1013 margin-top: 5px;
1014 }
1015
1016 /* Rate us button & review modal */
1017 #gpt-rate-btn {
1018 position: absolute;
1019 top: 5px;
1020 right: 0;
1021 z-index: 9990;
1022 display: flex;
1023 align-items: center;
1024 gap: 5px;
1025 background: #fff;
1026 border: 1px solid #ddd;
1027 border-right: none;
1028 border-radius: 4px 0 0 4px;
1029 padding: 5px 10px 5px 10px;
1030 font-size: 12px;
1031 font-weight: 600;
1032 color: #444;
1033 cursor: pointer;
1034 box-shadow: -2px 2px 6px rgba(0, 0, 0, .08);
1035 transition: background .15s;
1036 display: none;
1037 }
1038
1039 #gpt-rate-btn:hover {
1040 background: #fafafa;
1041 }
1042
1043 #gpt-rate-btn .gpt-heart {
1044 color: #e03e3e;
1045 font-size: 13px;
1046 }
1047
1048 #gpt-rate-btn .gpt-stars {
1049 color: #f0b429;
1050 letter-spacing: 1px;
1051 }
1052
1053 #gpt-review-overlay {
1054 display: none;
1055 position: fixed;
1056 inset: 0;
1057 background: rgba(0, 0, 0, .45);
1058 z-index: 99998;
1059 align-items: center;
1060 justify-content: center;
1061 }
1062
1063 #gpt-review-overlay.open {
1064 display: flex;
1065 }
1066
1067 #gpt-review-box {
1068 background: #fff;
1069 border-radius: 8px;
1070 padding: 30px 32px 24px;
1071 max-width: 400px;
1072 width: 90%;
1073 box-shadow: 0 8px 32px rgba(0, 0, 0, .22);
1074 position: relative;
1075 text-align: center;
1076 }
1077
1078 #gpt-review-close {
1079 position: absolute;
1080 top: 10px;
1081 right: 14px;
1082 background: none;
1083 border: none;
1084 font-size: 20px;
1085 cursor: pointer;
1086 color: #aaa;
1087 line-height: 1;
1088 }
1089
1090 #gpt-review-close:hover {
1091 color: #555;
1092 }
1093
1094 .gpt-review-stars {
1095 color: #f0b429;
1096 font-size: 26px;
1097 letter-spacing: 3px;
1098 margin: 4px 0 10px;
1099 }
1100
1101 .gpt-review-title {
1102 margin: 0 0 10px;
1103 font-size: 16px;
1104 font-weight: 700;
1105 color: #1d2327;
1106 }
1107
1108 .gpt-review-desc {
1109 margin: 0 0 20px;
1110 color: #555;
1111 font-size: 13px;
1112 line-height: 1.65;
1113 }
1114
1115 .gpt-review-cta {
1116 display: inline-block;
1117 background: #2271b1;
1118 color: #fff !important;
1119 padding: 9px 22px;
1120 border-radius: 4px;
1121 text-decoration: none !important;
1122 font-size: 13px;
1123 font-weight: 600;
1124 margin-bottom: 16px;
1125 }
1126
1127 .gpt-review-cta:hover {
1128 background: #135e96;
1129 }
1130
1131 .gpt-review-links {
1132 font-size: 12px;
1133 }
1134
1135 .gpt-review-links a {
1136 color: #aaa;
1137 text-decoration: none;
1138 margin: 0 8px;
1139 }
1140
1141 .gpt-review-links a:hover {
1142 color: #777;
1143 }
1144
1145 .gpt-review-footer {
1146 margin-top: 18px;
1147 padding-top: 14px;
1148 border-top: 1px solid #f0f0f0;
1149 font-size: 11px;
1150 color: #bbb;
1151 }
1152
1153 .gpt-review-footer a {
1154 color: #bbb;
1155 text-decoration: none;
1156 }
1157
1158 .gpt-review-footer a:hover {
1159 color: #888;
1160 }
1161