PluginProbe
BotWriter – AI Writer & SEO Content Generator / 3.2.8
BotWriter – AI Writer & SEO Content Generator v3.2.8
3.4.10 3.4.9 3.4.8 3.4.7 3.4.6 3.4.4 3.4.2 3.4.1 3.4.0 3.3.9 3.3.8 3.3.7 3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 3.3.0 3.2.8 trunk 1.3.0 1.3.1 1.3.2 1.3.3 All 51 releases
botwriter / assets / css / settings.css

settings.css in BotWriter – AI Writer & SEO Content Generator 3.2.8, at assets/css/settings.css

816 lines 16.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * BotWriter Settings Page Styles
3 *
4 * @package BotWriter
5 */
6
7 /* Save Status Indicator */
8 .botwriter-save-indicator {
9 display: inline-block;
10 margin-left: 15px;
11 padding: 4px 12px;
12 border-radius: 4px;
13 font-size: 12px;
14 font-weight: 500;
15 vertical-align: middle;
16 transition: all 0.3s ease;
17 }
18 .botwriter-save-indicator.saving {
19 background: #f0f6fc;
20 color: #2271b1;
21 }
22 .botwriter-save-indicator.saving::before {
23 content: '';
24 display: inline-block;
25 width: 12px;
26 height: 12px;
27 border: 2px solid #2271b1;
28 border-top-color: transparent;
29 border-radius: 50%;
30 margin-right: 6px;
31 animation: spin 1s linear infinite;
32 vertical-align: middle;
33 }
34 .botwriter-save-indicator.saved {
35 background: #d4edda;
36 color: #155724;
37 }
38 .botwriter-save-indicator.saved::before {
39 content: '';
40 margin-right: 4px;
41 }
42 .botwriter-save-indicator.error {
43 background: #f8d7da;
44 color: #721c24;
45 }
46 .botwriter-save-indicator.error::before {
47 content: '';
48 margin-right: 4px;
49 }
50 @keyframes spin {
51 to { transform: rotate(360deg); }
52 }
53
54 /* Main Tabs */
55 .botwriter-main-tabs {
56 display: flex;
57 border-bottom: 2px solid #2271b1;
58 margin-bottom: 20px;
59 background: #f6f7f7;
60 padding: 0;
61 }
62 .botwriter-main-tabs .main-tab {
63 padding: 15px 25px;
64 cursor: pointer;
65 border: none;
66 background: transparent;
67 text-decoration: none;
68 color: #50575e;
69 font-size: 14px;
70 font-weight: 500;
71 display: flex;
72 align-items: center;
73 gap: 8px;
74 transition: all 0.2s ease;
75 }
76 .botwriter-main-tabs .main-tab:hover {
77 background: #fff;
78 color: #2271b1;
79 }
80 .botwriter-main-tabs .main-tab.main-tab-active {
81 background: #fff;
82 color: #2271b1;
83 border-bottom: 2px solid #2271b1;
84 margin-bottom: -2px;
85 }
86 .botwriter-main-tabs .main-tab .dashicons {
87 font-size: 18px;
88 width: 18px;
89 height: 18px;
90 }
91
92 .botwriter-main-tab-content {
93 display: none;
94 padding: 0;
95 }
96 .botwriter-main-tab-content.active {
97 display: block;
98 }
99
100 /* Provider Selection Header */
101 .provider-selection-header {
102 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
103 padding: 20px 25px;
104 border-radius: 8px;
105 margin-bottom: 20px;
106 color: #fff;
107 }
108 .provider-selection-header h3 {
109 margin: 0 0 15px 0;
110 color: #fff;
111 font-size: 18px;
112 }
113 .provider-select {
114 width: 100%;
115 max-width: 350px;
116 padding: 10px 15px;
117 font-size: 14px;
118 border: none;
119 border-radius: 6px;
120 }
121
122 /* Provider Content */
123 .provider-content {
124 display: none;
125 }
126 .provider-content.active {
127 display: block;
128 }
129
130 /* Provider Config Cards */
131 .provider-config-section {
132 display: grid;
133 gap: 20px;
134 }
135 .provider-config-card,
136 .provider-info-card,
137 .provider-pricing-card,
138 .provider-features-card,
139 .provider-links-card {
140 background: #fff;
141 border: 1px solid #e5e5e5;
142 border-radius: 8px;
143 padding: 20px;
144 }
145 .provider-config-card h4,
146 .provider-info-card h4,
147 .provider-pricing-card h4,
148 .provider-features-card h4,
149 .provider-links-card h4 {
150 margin: 0 0 15px 0;
151 padding-bottom: 10px;
152 border-bottom: 1px solid #eee;
153 font-size: 15px;
154 color: #1d2327;
155 display: flex;
156 align-items: center;
157 gap: 8px;
158 }
159
160 /* API Key Wrapper */
161 .api-key-wrapper {
162 display: flex;
163 gap: 10px;
164 align-items: center;
165 flex-wrap: wrap;
166 }
167 .api-key-wrapper input {
168 flex: 1;
169 max-width: 400px;
170 }
171
172 /* Test API Key Button */
173 .test-api-key {
174 white-space: nowrap;
175 }
176 .test-api-key .dashicons {
177 font-size: 16px;
178 width: 16px;
179 height: 16px;
180 margin-right: 4px;
181 vertical-align: text-bottom;
182 }
183 .test-api-key.testing {
184 opacity: 0.7;
185 pointer-events: none;
186 }
187 .test-api-key .dashicons.spin {
188 animation: spin 1s linear infinite;
189 }
190
191 /* Test API Result */
192 .test-api-result {
193 display: inline-flex;
194 align-items: center;
195 gap: 4px;
196 font-size: 13px;
197 padding: 4px 10px;
198 border-radius: 4px;
199 transition: all 0.3s ease;
200 }
201 .test-api-result:empty {
202 display: none;
203 }
204 .test-api-result.success {
205 background: #d4edda;
206 color: #155724;
207 }
208 .test-api-result.error {
209 background: #f8d7da;
210 color: #721c24;
211 }
212 .test-api-result .dashicons {
213 font-size: 16px;
214 width: 16px;
215 height: 16px;
216 }
217
218 /* Model Select with Test Button */
219 .model-select-wrapper {
220 display: flex;
221 flex-wrap: wrap;
222 align-items: center;
223 gap: 8px;
224 }
225 .model-select-wrapper .model-select {
226 flex: 0 1 400px;
227 min-width: 200px;
228 }
229 .test-model {
230 white-space: nowrap;
231 }
232 .test-model.testing {
233 opacity: 0.7;
234 pointer-events: none;
235 }
236 .test-model .dashicons.spin {
237 animation: spin 1s linear infinite;
238 }
239
240 /* Test Model Result */
241 .test-model-result {
242 display: inline-flex;
243 align-items: center;
244 gap: 4px;
245 font-size: 13px;
246 padding: 4px 10px;
247 border-radius: 4px;
248 transition: all 0.3s ease;
249 max-width: 100%;
250 word-break: break-word;
251 }
252 .test-model-result:empty {
253 display: none;
254 }
255 .test-model-result.success {
256 background: #d4edda;
257 color: #155724;
258 }
259 .test-model-result.error {
260 background: #f8d7da;
261 color: #721c24;
262 }
263 .test-model-result .dashicons {
264 font-size: 16px;
265 width: 16px;
266 height: 16px;
267 flex-shrink: 0;
268 }
269
270 /* Form Rows */
271 .form-row {
272 margin-bottom: 18px;
273 }
274 .form-row:last-child {
275 margin-bottom: 0;
276 }
277 .form-row label {
278 display: block;
279 margin-bottom: 6px;
280 font-weight: 500;
281 color: #1d2327;
282 }
283 .form-row .description {
284 margin-top: 6px;
285 color: #757575;
286 font-size: 12px;
287 }
288 .form-select {
289 width: 100%;
290 max-width: 400px;
291 padding: 8px 12px;
292 }
293
294 /* Setup Steps */
295 .setup-steps {
296 padding-left: 20px;
297 margin: 15px 0;
298 }
299 .setup-steps li {
300 margin-bottom: 10px;
301 color: #50575e;
302 }
303 .setup-steps a {
304 color: #2271b1;
305 font-weight: 500;
306 }
307
308 /* Info Tip */
309 .info-tip {
310 background: #e7f5ff;
311 border-left: 4px solid #2271b1;
312 padding: 12px 15px;
313 margin-top: 15px;
314 display: flex;
315 gap: 10px;
316 align-items: flex-start;
317 border-radius: 0 4px 4px 0;
318 }
319 .info-tip .dashicons {
320 color: #2271b1;
321 margin-top: 2px;
322 }
323 .info-tip p {
324 margin: 0;
325 color: #1d2327;
326 }
327
328 /* Pricing Table */
329 .pricing-table {
330 width: 100%;
331 border-collapse: collapse;
332 margin: 15px 0;
333 }
334 .pricing-table th,
335 .pricing-table td {
336 padding: 10px 12px;
337 text-align: left;
338 border-bottom: 1px solid #eee;
339 }
340 .pricing-table th {
341 background: #f9f9f9;
342 font-weight: 600;
343 color: #1d2327;
344 }
345 .pricing-table code {
346 background: #f0f0f1;
347 padding: 2px 6px;
348 border-radius: 3px;
349 font-size: 12px;
350 }
351
352 /* Pricing Highlight */
353 .pricing-highlight {
354 background: linear-gradient(135deg, #d4fc79 0%, #96e6a1 100%);
355 padding: 15px;
356 border-radius: 6px;
357 margin-bottom: 15px;
358 }
359 .free-credits-badge {
360 background: #00a32a;
361 color: #fff;
362 padding: 4px 10px;
363 border-radius: 4px;
364 font-size: 12px;
365 font-weight: 600;
366 }
367 .pricing-highlight p {
368 margin: 10px 0 0 0;
369 color: #1d2327;
370 }
371
372 /* Cost Saving Tip */
373 .cost-saving-tip {
374 background: #fff3cd;
375 border-left: 4px solid #ffc107;
376 padding: 12px 15px;
377 margin: 15px 0;
378 border-radius: 0 4px 4px 0;
379 }
380 .cost-saving-tip .dashicons {
381 color: #856404;
382 }
383
384 /* Features List */
385 .features-list {
386 list-style: none;
387 padding: 0;
388 margin: 0;
389 }
390 .features-list li {
391 padding: 8px 0;
392 display: flex;
393 align-items: center;
394 gap: 10px;
395 color: #50575e;
396 }
397 .features-list .dashicons-yes-alt {
398 color: #00a32a;
399 }
400
401 /* Pros/Cons */
402 .pros-cons {
403 display: grid;
404 grid-template-columns: 1fr 1fr;
405 gap: 20px;
406 margin-top: 20px;
407 padding-top: 20px;
408 border-top: 1px solid #eee;
409 }
410 .pros h5, .cons h5 {
411 margin: 0 0 10px 0;
412 font-size: 13px;
413 color: #1d2327;
414 }
415 .pros ul, .cons ul {
416 list-style: none;
417 padding: 0;
418 margin: 0;
419 }
420 .pros li, .cons li {
421 padding: 5px 0;
422 display: flex;
423 align-items: center;
424 gap: 8px;
425 font-size: 13px;
426 }
427 .pros .dashicons-plus-alt2 {
428 color: #00a32a;
429 }
430 .cons .dashicons-minus {
431 color: #d63638;
432 }
433
434 /* Links Grid */
435 .links-grid {
436 display: grid;
437 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
438 gap: 10px;
439 }
440 .link-item {
441 display: flex;
442 align-items: center;
443 gap: 8px;
444 padding: 12px 15px;
445 background: #f9f9f9;
446 border-radius: 6px;
447 text-decoration: none;
448 color: #2271b1;
449 font-size: 13px;
450 transition: all 0.2s ease;
451 }
452 .link-item:hover {
453 background: #2271b1;
454 color: #fff;
455 }
456 .link-item:hover .dashicons {
457 color: #fff;
458 }
459
460 /* Image Settings Section */
461 .image-settings-section {
462 background: #fff;
463 border: 1px solid #e5e5e5;
464 border-radius: 8px;
465 padding: 20px;
466 margin-top: 20px;
467 }
468 .section-title {
469 margin: 0 0 20px 0;
470 padding-bottom: 10px;
471 border-bottom: 1px solid #eee;
472 font-size: 15px;
473 color: #1d2327;
474 display: flex;
475 align-items: center;
476 gap: 8px;
477 }
478 .settings-grid {
479 display: grid;
480 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
481 gap: 20px;
482 }
483
484 /* General Settings */
485 .general-settings-section {
486 background: #fff;
487 border: 1px solid #e5e5e5;
488 border-radius: 8px;
489 padding: 20px;
490 margin-bottom: 20px;
491 }
492 .checkbox-row label {
493 display: flex;
494 align-items: center;
495 gap: 8px;
496 cursor: pointer;
497 }
498 .checkbox-row input[type="checkbox"] {
499 margin: 0;
500 }
501 .warning-option .warning-text {
502 color: #d63638;
503 }
504 .input-with-suffix {
505 display: flex;
506 align-items: center;
507 gap: 10px;
508 }
509 .small-input {
510 width: 80px;
511 }
512 .suffix {
513 color: #757575;
514 }
515
516 /* Submit Section */
517 .submit-section {
518 margin-top: 25px;
519 padding-top: 20px;
520 border-top: 1px solid #e5e5e5;
521 }
522 .button-large {
523 padding: 8px 30px !important;
524 font-size: 14px !important;
525 }
526
527 /* Highlight for text-rendering providers */
528 .highlight-text .text-banner {
529 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
530 color: #fff;
531 padding: 12px 15px;
532 border-radius: 6px;
533 margin-bottom: 15px;
534 display: flex;
535 align-items: center;
536 gap: 10px;
537 }
538
539 /* Image Settings Section - Enhanced */
540 .settings-grid-2col {
541 display: grid;
542 grid-template-columns: repeat(2, 1fr);
543 gap: 25px;
544 margin-bottom: 20px;
545 }
546 .setting-card {
547 background: #f9f9f9;
548 border: 1px solid #e5e5e5;
549 border-radius: 8px;
550 padding: 20px;
551 }
552 .setting-card .form-row label {
553 display: flex;
554 align-items: center;
555 gap: 8px;
556 font-size: 14px;
557 font-weight: 600;
558 margin-bottom: 12px;
559 }
560 .setting-card .form-select {
561 width: 100%;
562 max-width: none;
563 padding: 10px 14px;
564 font-size: 13px;
565 }
566
567 /* Format Preview */
568 .format-preview {
569 margin: 15px 0;
570 display: flex;
571 justify-content: center;
572 padding: 15px;
573 background: #fff;
574 border-radius: 6px;
575 }
576 .preview-box {
577 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
578 display: flex;
579 align-items: center;
580 justify-content: center;
581 color: #fff;
582 font-weight: 600;
583 font-size: 14px;
584 border-radius: 4px;
585 transition: all 0.3s ease;
586 }
587 .preview-box.landscape {
588 width: 160px;
589 height: 90px;
590 }
591 .preview-box.square {
592 width: 100px;
593 height: 100px;
594 }
595 .preview-box.portrait {
596 width: 67px;
597 height: 120px;
598 }
599
600 /* Specs Tables */
601 .format-specs, .quality-specs {
602 margin-top: 15px;
603 }
604 .specs-table {
605 width: 100%;
606 font-size: 12px;
607 border-collapse: collapse;
608 }
609 .specs-table td {
610 padding: 6px 8px;
611 border-bottom: 1px solid #eee;
612 }
613 .specs-table td:first-child {
614 color: #666;
615 width: 40%;
616 }
617 .specs-table td:last-child {
618 font-family: monospace;
619 color: #2271b1;
620 font-weight: 500;
621 }
622
623 /* Quality Indicator */
624 .quality-indicator {
625 margin: 15px 0;
626 padding: 15px;
627 background: #fff;
628 border-radius: 6px;
629 }
630 .quality-bar {
631 height: 12px;
632 background: linear-gradient(to right, #4CAF50, #FFEB3B, #FF5722);
633 border-radius: 6px;
634 position: relative;
635 }
636 .quality-bar .bar-fill {
637 position: absolute;
638 width: 20px;
639 height: 20px;
640 background: #fff;
641 border: 3px solid #333;
642 border-radius: 50%;
643 top: -4px;
644 transition: left 0.3s ease;
645 }
646 .quality-bar.low .bar-fill { left: 10%; }
647 .quality-bar.medium .bar-fill { left: 45%; }
648 .quality-bar.high .bar-fill { left: 80%; }
649 .quality-labels {
650 display: flex;
651 justify-content: space-between;
652 margin-top: 8px;
653 font-size: 11px;
654 color: #666;
655 }
656
657 /* Highlight Tip */
658 .info-tip.highlight-tip {
659 background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
660 border-left: 4px solid #ff9800;
661 padding: 15px 20px;
662 }
663 .info-tip.highlight-tip .dashicons {
664 color: #e65100;
665 font-size: 24px;
666 width: 24px;
667 height: 24px;
668 }
669 .info-tip.highlight-tip p {
670 margin: 0 0 5px 0;
671 }
672 .info-tip.highlight-tip p:last-child {
673 margin: 0;
674 }
675
676 /* Cost Comparison */
677 .cost-comparison {
678 margin-top: 20px;
679 padding: 20px;
680 background: #f0f6fc;
681 border-radius: 8px;
682 border: 1px solid #c3d9ed;
683 }
684 .cost-comparison h5 {
685 margin: 0 0 15px 0;
686 font-size: 14px;
687 color: #1d2327;
688 display: flex;
689 align-items: center;
690 gap: 8px;
691 }
692 .cost-cards {
693 display: flex;
694 gap: 12px;
695 flex-wrap: wrap;
696 }
697 .cost-card {
698 flex: 1;
699 min-width: 100px;
700 background: #fff;
701 border: 1px solid #ddd;
702 border-radius: 8px;
703 padding: 12px;
704 text-align: center;
705 position: relative;
706 }
707 .cost-card.cheapest {
708 border-color: #00a32a;
709 background: #f0fff4;
710 }
711 .cost-card .provider {
712 display: block;
713 font-size: 12px;
714 color: #666;
715 margin-bottom: 5px;
716 }
717 .cost-card .cost {
718 display: block;
719 font-size: 14px;
720 font-weight: 600;
721 color: #1d2327;
722 }
723 .cost-card .badge {
724 position: absolute;
725 top: -8px;
726 right: -8px;
727 background: #00a32a;
728 color: #fff;
729 font-size: 9px;
730 padding: 3px 6px;
731 border-radius: 10px;
732 font-weight: 600;
733 }
734
735 /* Responsive */
736 @media (max-width: 782px) {
737 .botwriter-main-tabs {
738 flex-direction: column;
739 }
740 .botwriter-main-tabs .main-tab {
741 border-bottom: 1px solid #e5e5e5;
742 }
743 .botwriter-main-tabs .main-tab.main-tab-active {
744 border-bottom: 1px solid #2271b1;
745 }
746 .pros-cons {
747 grid-template-columns: 1fr;
748 }
749 .links-grid {
750 grid-template-columns: 1fr;
751 }
752 .settings-grid-2col {
753 grid-template-columns: 1fr;
754 }
755 .cost-cards {
756 flex-direction: column;
757 }
758 .cost-card {
759 min-width: auto;
760 }
761 }
762 /* Compression Slider - styled like quality bar */
763 .form-range {
764 -webkit-appearance: none;
765 appearance: none;
766 width: 100%;
767 height: 12px;
768 background: linear-gradient(to right, #FF5722, #FFEB3B, #4CAF50);
769 border-radius: 6px;
770 outline: none;
771 cursor: pointer;
772 }
773 .form-range::-webkit-slider-thumb {
774 -webkit-appearance: none;
775 appearance: none;
776 width: 22px;
777 height: 22px;
778 background: #fff;
779 border: 3px solid #333;
780 border-radius: 50%;
781 cursor: pointer;
782 box-shadow: 0 2px 4px rgba(0,0,0,0.2);
783 transition: transform 0.2s ease;
784 }
785 .form-range::-webkit-slider-thumb:hover {
786 transform: scale(1.1);
787 }
788 .form-range::-moz-range-thumb {
789 width: 22px;
790 height: 22px;
791 background: #fff;
792 border: 3px solid #333;
793 border-radius: 50%;
794 cursor: pointer;
795 box-shadow: 0 2px 4px rgba(0,0,0,0.2);
796 transition: transform 0.2s ease;
797 }
798 .form-range::-moz-range-thumb:hover {
799 transform: scale(1.1);
800 }
801 .form-range::-moz-range-track {
802 height: 12px;
803 background: linear-gradient(to right, #FF5722, #FFEB3B, #4CAF50);
804 border-radius: 6px;
805 }
806 #compression_value {
807 display: inline-block;
808 min-width: 45px;
809 padding: 4px 8px;
810 background: #f0f0f1;
811 border-radius: 4px;
812 font-weight: 600;
813 color: #2271b1;
814 text-align: center;
815 margin-left: 10px;
816 }