PluginProbe
AI Builder – Generate pages, blocks, images & translate with AI / trunk
AI Builder – Generate pages, blocks, images & translate with AI vtrunk
2.7.10 2.7.9 2.7.8 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.3.10 All 122 releases
ai-builder / assets / css / account.css

account.css in AI Builder – Generate pages, blocks, images & translate with AI trunk, at assets/css/account.css

789 lines 15.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .ai-auth-container {
2 max-width: 400px;
3 margin: 50px auto;
4 padding: 40px;
5 background: #ffffff;
6 border-radius: 12px;
7 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
8 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
9 }
10
11 .ai-auth-header {
12 text-align: center;
13 margin-bottom: 30px;
14 }
15
16 .ai-auth-header h2 {
17 color: #1a1a1a;
18 font-size: 28px;
19 font-weight: 600;
20 margin: 0 0 8px 0;
21 }
22
23 .ai-auth-header p {
24 color: #666;
25 font-size: 16px;
26 margin: 0;
27 }
28
29 .ai-account-email {
30 margin-top: 10px !important;
31 font-size: 13px !important;
32 color: #4b5563 !important;
33 font-weight: 500;
34 word-break: break-word;
35 }
36
37 .ai-auth-form {
38 display: flex;
39 flex-direction: column;
40 gap: 20px;
41 }
42
43 .ai-form-group {
44 display: flex;
45 flex-direction: column;
46 gap: 8px;
47 }
48
49 .ai-form-group label {
50 font-weight: 500;
51 color: #232222;
52 font-size: 14px;
53 }
54
55 .ai-form-group input {
56 padding: 12px 16px;
57 border: 2px solid #e1e5e9 !important;
58 border-radius: 8px;
59 font-size: 16px;
60 transition: all 0.3s ease;
61 background: #ffffff;
62 outline: none;
63 color: #1a1a1a !important;
64 }
65
66 /* Styliser les placeholders */
67 .ai-form-group input::placeholder {
68 color: #666 !important;
69 opacity: 1 !important;
70 }
71
72 .ai-form-group input::-webkit-input-placeholder {
73 color: #666 !important;
74 opacity: 1 !important;
75 }
76
77 .ai-form-group input::-moz-placeholder {
78 color: #666 !important;
79 opacity: 1 !important;
80 }
81
82 .ai-form-group input:-ms-input-placeholder {
83 color: #666 !important;
84 opacity: 1 !important;
85 }
86
87 .ai-form-group input:-moz-placeholder {
88 color: #666 !important;
89 opacity: 1 !important;
90 }
91
92 .ai-form-group input:focus {
93 outline: none !important;
94 border-color: #007cba !important;
95 background: #ffffff;
96 box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);
97 color: #1a1a1a;
98 }
99
100 /* Empêcher les styles de validation HTML5 */
101 .ai-form-group input:invalid {
102 border-color: #e1e5e9 !important;
103 box-shadow: none !important;
104 color: #1a1a1a !important;
105 }
106
107 .ai-form-group input:valid {
108 border-color: #e1e5e9 !important;
109 color: #1a1a1a !important;
110 }
111
112 /* Empêcher les styles de validation WordPress */
113 .ai-form-group input.wp-error {
114 border-color: #e1e5e9 !important;
115 }
116
117 /* Empêcher les styles de validation du navigateur */
118 .ai-form-group input::-webkit-validation-bubble-message {
119 display: none;
120 }
121
122 .ai-form-group input::-webkit-validation-bubble-arrow {
123 display: none;
124 }
125
126 /* Styles supplémentaires pour éviter les bordures rouges */
127 .ai-form-group input[type="email"],
128 .ai-form-group input[type="password"] {
129 border-color: #e1e5e9 !important;
130 box-shadow: none !important;
131 color: #1a1a1a !important;
132 }
133
134 .ai-form-group input[type="email"]:focus,
135 .ai-form-group input[type="password"]:focus {
136 border-color: #007cba !important;
137 box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1) !important;
138 color: #1a1a1a !important;
139 }
140
141 /* Désactiver complètement la validation visuelle HTML5 */
142 .ai-form-group input:required {
143 border-color: #e1e5e9 !important;
144 color: #1a1a1a !important;
145 }
146
147 .ai-form-group input:required:invalid {
148 border-color: #e1e5e9 !important;
149 box-shadow: none !important;
150 color: #767676 !important;
151 }
152
153 .ai-form-group input:required:valid {
154 border-color: #e1e5e9 !important;
155 color: #1a1a1a !important;
156 }
157
158 /* Styles spécifiques pour les champs password */
159 .ai-form-group input[type="password"] {
160 color: #1a1a1a !important;
161 -webkit-text-security: none;
162 }
163
164 /* S'assurer que le texte saisi est visible */
165 .ai-form-group input[value] {
166 color: #1a1a1a !important;
167 }
168
169 /* Forcer la couleur du texte pour tous les navigateurs */
170 .ai-form-group input {
171 -webkit-text-fill-color: #1a1a1a !important;
172 color: #1a1a1a !important;
173 }
174
175 .ai-submit-btn {
176 background: linear-gradient(135deg, #007cba 0%, #005a87 100%);
177 color: white;
178 border: none;
179 padding: 14px 24px;
180 border-radius: 8px;
181 font-size: 16px;
182 font-weight: 600;
183 cursor: pointer;
184 transition: all 0.3s ease;
185 margin-top: 10px;
186 }
187
188 .ai-submit-btn:hover {
189 transform: translateY(-2px);
190 box-shadow: 0 8px 25px rgba(0, 124, 186, 0.3);
191 }
192
193 .ai-submit-btn:disabled {
194 background: #ccc;
195 cursor: not-allowed;
196 transform: none;
197 box-shadow: none;
198 }
199
200 .ai-toggle-form {
201 text-align: center;
202 margin-top: 20px;
203 padding-top: 20px;
204 border-top: 1px solid #e1e5e9;
205 }
206
207 .ai-toggle-form button {
208 background: none;
209 border: none;
210 color: #007cba;
211 font-size: 14px;
212 cursor: pointer;
213 text-decoration: underline;
214 font-weight: 500;
215 }
216
217 .ai-toggle-form button:hover {
218 color: #005a87;
219 }
220
221 .ai-forgot-password {
222 text-align: right;
223 margin-bottom: 10px;
224 }
225
226 .ai-forgot-password .ai-link {
227 color: #007cba;
228 text-decoration: none;
229 font-size: 14px;
230 font-weight: 500;
231 transition: color 0.3s ease;
232 }
233
234 .ai-forgot-password .ai-link:hover {
235 color: #005a87;
236 text-decoration: underline;
237 }
238
239 .ai-message {
240 padding: 16px;
241 border-radius: 8px;
242 margin: 20px 0;
243 font-size: 14px;
244 text-align: center;
245 }
246
247 .ai-message.success {
248 background: #d4edda;
249 color: #155724;
250 border: 1px solid #c3e6cb;
251 }
252
253 .ai-message.error {
254 background: #f8d7da;
255 color: #721c24;
256 border: 1px solid #f5c6cb;
257 }
258
259 .ai-message.info {
260 background: #d1ecf1;
261 color: #0c5460;
262 border: 1px solid #bee5eb;
263 }
264
265 .ai-message.warning {
266 background: #fff3cd;
267 color: #7a4b00;
268 border: 1px solid #ffecb5;
269 }
270
271 .ai-loading {
272 display: inline-block;
273 width: 20px;
274 height: 20px;
275 border: 3px solid rgba(255, 255, 255, 0.3);
276 border-radius: 50%;
277 border-top-color: #fff;
278 animation: spin 1s ease-in-out infinite;
279 margin-right: 10px;
280 }
281
282 @keyframes spin {
283 to {
284 transform: rotate(360deg);
285 }
286 }
287
288 .ai-form-hidden {
289 display: none;
290 }
291
292 /* Responsive Design */
293 @media (max-width: 480px) {
294 .ai-auth-container {
295 margin: 20px;
296 padding: 30px 20px;
297 }
298
299 .ai-auth-header h2 {
300 font-size: 24px;
301 }
302
303 .ai-form-group input {
304 padding: 10px 14px;
305 font-size: 16px;
306 /* Prevents zoom on iOS */
307 }
308 }
309
310 /* Animation pour les transitions */
311 .ai-fade-in {
312 animation: fadeIn 0.5s ease-in;
313 }
314
315 @keyframes fadeIn {
316 from {
317 opacity: 0;
318 transform: translateY(20px);
319 }
320
321 to {
322 opacity: 1;
323 transform: translateY(0);
324 }
325 }
326
327 /* Dashboard Styles */
328 .ai-dashboard-content {
329 display: flex;
330 flex-direction: column;
331 gap: 24px;
332 margin-top: 20px;
333 }
334
335 .ai-dashboard-card {
336 background: #ffffff;
337 border: 1px solid #e1e5e9;
338 border-radius: 12px;
339 padding: 24px;
340 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
341 transition: all 0.3s ease;
342 }
343
344 .ai-dashboard-card:hover {
345 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
346 transform: translateY(-2px);
347 }
348
349 .ai-card-header {
350 display: flex;
351 align-items: center;
352 gap: 16px;
353 margin-bottom: 16px;
354 }
355
356 .ai-card-icon {
357 width: 48px;
358 height: 48px;
359 background: linear-gradient(135deg, #007cba 0%, #005a87 100%);
360 border-radius: 12px;
361 display: flex;
362 align-items: center;
363 justify-content: center;
364 color: white;
365 }
366
367 .ai-card-title h3 {
368 margin: 0 0 4px 0;
369 font-size: 18px;
370 font-weight: 600;
371 color: #1a1a1a;
372 }
373
374 .ai-plan-badge {
375 display: inline-flex;
376 align-items: center;
377 padding: 6px 12px;
378 background: #e8f5e8;
379 color: #2d5a2d;
380 border-radius: 20px;
381 font-size: 14px;
382 font-weight: 500;
383 text-transform: capitalize;
384 }
385
386 .ai-plan-badge.premium {
387 background: #fff3cd;
388 color: #856404;
389 }
390
391 .ai-plan-badge.pro {
392 background: #d1ecf1;
393 color: #0c5460;
394 }
395
396 .ai-credits-display {
397 font-size: 24px;
398 font-weight: 700;
399 color: #007cba;
400 display: flex;
401 align-items: center;
402 gap: 8px;
403 }
404
405 .ai-credits-breakdown {
406 display: flex;
407 flex-direction: column;
408 gap: 12px;
409 margin-bottom: 20px;
410 }
411
412 .ai-credit-item {
413 display: flex;
414 justify-content: space-between;
415 align-items: center;
416 padding: 12px 16px;
417 background: #f8f9fa;
418 border-radius: 8px;
419 border-left: 4px solid #007cba;
420 }
421
422 .ai-credit-label {
423 font-size: 14px;
424 color: #666;
425 font-weight: 500;
426 }
427
428 .ai-credit-value {
429 font-size: 16px;
430 font-weight: 600;
431 color: #1a1a1a;
432 }
433
434 .ai-card-content p {
435 color: #666;
436 font-size: 14px;
437 line-height: 1.5;
438 margin-bottom: 20px;
439 }
440
441 .ai-primary-btn {
442 background: linear-gradient(135deg, #007cba 0%, #005a87 100%);
443 color: white;
444 border: none;
445 padding: 12px 20px;
446 border-radius: 8px;
447 font-size: 14px;
448 font-weight: 600;
449 cursor: pointer;
450 transition: all 0.3s ease;
451 display: flex;
452 align-items: center;
453 gap: 8px;
454 width: 100%;
455 justify-content: center;
456 }
457
458 .ai-primary-btn:hover {
459 transform: translateY(-2px);
460 box-shadow: 0 8px 25px rgba(0, 124, 186, 0.3);
461 }
462
463 .ai-secondary-btn {
464 background: transparent;
465 color: #007cba;
466 border: 2px solid #007cba;
467 padding: 12px 20px;
468 border-radius: 8px;
469 font-size: 14px;
470 font-weight: 600;
471 cursor: pointer;
472 transition: all 0.3s ease;
473 display: flex;
474 align-items: center;
475 gap: 8px;
476 width: 100%;
477 justify-content: center;
478 }
479
480 .ai-secondary-btn:hover {
481 background: #007cba;
482 color: white;
483 transform: translateY(-2px);
484 box-shadow: 0 8px 25px rgba(0, 124, 186, 0.3);
485 }
486
487 .ai-dashboard-actions {
488 margin-top: 32px;
489 padding-top: 24px;
490 border-top: 1px solid #e1e5e9;
491 }
492
493 .ai-signout-btn {
494 background: #f8f9fa;
495 color: #666;
496 border: 1px solid #e1e5e9;
497 display: flex;
498 align-items: center;
499 gap: 8px;
500 justify-content: center;
501 }
502
503 .ai-signout-btn:hover {
504 background: #e9ecef;
505 color: #495057;
506 transform: translateY(-2px);
507 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
508 }
509
510 /* Responsive Design pour le dashboard */
511 @media (max-width: 480px) {
512 .ai-dashboard-card {
513 padding: 20px;
514 }
515
516 .ai-card-header {
517 flex-direction: column;
518 align-items: flex-start;
519 gap: 12px;
520 }
521
522 .ai-credits-display {
523 font-size: 20px;
524 }
525
526 .ai-credit-item {
527 flex-direction: column;
528 align-items: flex-start;
529 gap: 4px;
530 }
531 }
532
533 /* Container plus large uniquement pour le dashboard connecté */
534 .ai-auth-container--dashboard {
535 max-width: 640px;
536 }
537
538 @media (max-width: 680px) {
539 .ai-auth-container--dashboard {
540 max-width: none;
541 margin: 20px;
542 padding: 30px 20px;
543 }
544 }
545
546 /* Feedback card: bouton qui est un <a> et pas un <button>.
547 Les <a> sont en box-sizing: content-box par défaut, donc width: 100%
548 + padding + border débordent du parent. On force border-box. */
549 .ai-feedback-btn {
550 text-decoration: none;
551 box-sizing: border-box;
552 max-width: 100%;
553 }
554
555 .ai-feedback-btn:hover,
556 .ai-feedback-btn:focus {
557 text-decoration: none;
558 color: white;
559 }
560
561 .ai-feedback-btn:focus {
562 color: #007cba;
563 }
564
565 /* Checkbox personnalisée pour les conditions d'utilisation */
566 .ai-checkbox-group {
567 margin-top: 10px;
568 }
569
570 .ai-checkbox-label {
571 display: flex !important;
572 align-items: flex-start !important;
573 gap: 12px !important;
574 cursor: pointer !important;
575 font-size: 14px !important;
576 line-height: 1.5 !important;
577 color: #333 !important;
578 position: relative !important;
579 margin: 0 !important;
580 padding: 0 !important;
581 }
582
583 .ai-checkbox-label input[type="checkbox"] {
584 position: absolute !important;
585 opacity: 0 !important;
586 cursor: pointer !important;
587 height: 0 !important;
588 width: 0 !important;
589 margin: 0 !important;
590 padding: 0 !important;
591 }
592
593 .ai-checkbox-custom {
594 position: relative !important;
595 height: 20px !important;
596 width: 20px !important;
597 background-color: #fafbfc !important;
598 border: 2px solid #e1e5e9 !important;
599 border-radius: 4px !important;
600 flex-shrink: 0 !important;
601 margin-top: 2px !important;
602 transition: all 0.3s ease !important;
603 display: block !important;
604 }
605
606 .ai-checkbox-label:hover .ai-checkbox-custom {
607 border-color: #007cba !important;
608 background-color: #f0f8ff !important;
609 }
610
611 .ai-checkbox-label input[type="checkbox"]:checked~.ai-checkbox-custom {
612 background-color: #007cba !important;
613 border-color: #007cba !important;
614 }
615
616 .ai-checkbox-custom:after {
617 content: "" !important;
618 position: absolute !important;
619 display: none !important;
620 left: 6px !important;
621 top: 2px !important;
622 width: 6px !important;
623 height: 10px !important;
624 border: solid white !important;
625 border-width: 0 2px 2px 0 !important;
626 transform: rotate(45deg) !important;
627 }
628
629 .ai-checkbox-label input[type="checkbox"]:checked~.ai-checkbox-custom:after {
630 display: block !important;
631 }
632
633 .ai-checkbox-text {
634 flex: 1 !important;
635 font-size: 14px !important;
636 line-height: 1.5 !important;
637 color: #333 !important;
638 display: inline !important;
639 }
640
641 .ai-link {
642 color: #007cba !important;
643 text-decoration: none !important;
644 font-weight: 500 !important;
645 transition: color 0.3s ease !important;
646 }
647
648 .ai-link:hover {
649 color: #005a87 !important;
650 text-decoration: underline !important;
651 }
652
653 /* État d'erreur pour la checkbox */
654 .ai-checkbox-label.error .ai-checkbox-custom {
655 border-color: #dc3545 !important;
656 background-color: #fff5f5 !important;
657 }
658
659 .ai-checkbox-label.error .ai-checkbox-text {
660 color: #dc3545 !important;
661 }
662
663 /* Responsive pour la checkbox */
664 @media (max-width: 480px) {
665 .ai-checkbox-label {
666 font-size: 13px;
667 gap: 10px;
668 }
669
670 .ai-checkbox-custom {
671 height: 18px;
672 width: 18px;
673 margin-top: 1px;
674 }
675
676 .ai-checkbox-custom:after {
677 left: 5px;
678 top: 1px;
679 width: 5px;
680 height: 9px;
681 }
682 }
683
684 /* Promo code (signup) */
685 .ai-promo-wrap {
686 gap: 10px;
687 }
688
689 .ai-promo-toggle-btn {
690 background: none;
691 border: none;
692 padding: 0;
693 color: #007cba;
694 font-size: 14px;
695 font-weight: 500;
696 cursor: pointer;
697 text-decoration: underline;
698 align-self: flex-start;
699 }
700
701 .ai-promo-toggle-btn:hover {
702 color: #005a87;
703 }
704
705 .ai-promo-panel {
706 display: flex;
707 flex-direction: column;
708 gap: 8px;
709 margin-top: 4px;
710 }
711
712 .ai-promo-panel[hidden] {
713 display: none !important;
714 }
715
716 .ai-promo-label {
717 font-weight: 500;
718 color: #232222;
719 font-size: 14px;
720 }
721
722 .ai-promo-row {
723 display: flex;
724 gap: 8px;
725 align-items: stretch;
726 }
727
728 .ai-promo-input {
729 flex: 1;
730 min-width: 0;
731 padding: 12px 16px;
732 border: 2px solid #e1e5e9 !important;
733 border-radius: 8px;
734 font-size: 16px;
735 background: #ffffff;
736 color: #1a1a1a !important;
737 }
738
739 .ai-promo-validate-btn {
740 flex-shrink: 0;
741 padding: 12px 16px;
742 border-radius: 8px;
743 font-size: 14px;
744 font-weight: 600;
745 cursor: pointer;
746 border: 2px solid #007cba;
747 background: #fff;
748 color: #007cba;
749 transition: background 0.2s ease, color 0.2s ease;
750 white-space: nowrap;
751 }
752
753 .ai-promo-validate-btn:hover:not(:disabled) {
754 background: #f0f7fb;
755 }
756
757 .ai-promo-validate-btn:disabled {
758 opacity: 0.65;
759 cursor: not-allowed;
760 }
761
762 .ai-promo-validate-btn.is-loading {
763 pointer-events: none;
764 }
765
766 .ai-promo-feedback {
767 margin: 0;
768 font-size: 13px;
769 line-height: 1.4;
770 min-height: 1.2em;
771 }
772
773 .ai-promo-feedback.is-success {
774 color: #155724;
775 }
776
777 .ai-promo-feedback.is-error {
778 color: #721c24;
779 }
780
781 @media (max-width: 480px) {
782 .ai-promo-row {
783 flex-direction: column;
784 }
785
786 .ai-promo-validate-btn {
787 width: 100%;
788 }
789 }