PluginProbe
Forumax – AI Powered Advanced Community Forum Plugin / 2.4.4
Forumax – AI Powered Advanced Community Forum Plugin v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4.0 trunk 1.0.8 1.1.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 2.0.0 2.1.0 All 29 releases
bbp-core / assets / admin / css / analytics-locked.css

analytics-locked.css in Forumax – AI Powered Advanced Community Forum Plugin 2.4.4, at assets/admin/css/analytics-locked.css

876 lines 19.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ──────────────────────────────────────────────────────
2 Forumax Analytics — Locked / Free-user Presentation
3 ────────────────────────────────────────────────────── */
4
5 /* ─── Reset & base ──────────────────────────────────── */
6 .frmx-analytics-page {
7 margin: 20px 20px 20px 0;
8 font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
9 Oxygen, Ubuntu, sans-serif;
10 -webkit-font-smoothing: antialiased;
11 -moz-osx-font-smoothing: grayscale;
12 }
13
14 .frmx-analytics-page *,
15 .frmx-analytics-page *::before,
16 .frmx-analytics-page *::after {
17 box-sizing: border-box;
18 }
19
20 /* ─── Shell ───────────────────────────────────────── */
21 .frmx-analytics-shell {
22 width: 100%;
23 background: #f8fafc;
24 border: 1px solid #e2e8f0;
25 border-radius: 20px;
26 overflow: hidden;
27 box-shadow:
28 0 1px 3px rgba(15, 23, 42, 0.04),
29 0 12px 40px rgba(15, 23, 42, 0.06);
30 }
31
32 /* ─── Shared badge / kicker ──────────────────────── */
33 .frmx-analytics-kicker {
34 display: inline-flex;
35 align-items: center;
36 gap: 6px;
37 padding: 6px 14px;
38 border-radius: 999px;
39 background: rgba(255, 255, 255, 0.14);
40 color: #fff;
41 font-size: 11px;
42 font-weight: 800;
43 letter-spacing: 0.1em;
44 text-transform: uppercase;
45 }
46
47 .frmx-analytics-kicker--dark {
48 background: rgba(104, 49, 193, 0.1);
49 color: #7c3aed;
50 }
51
52 /* ─── Buttons ────────────────────────────────────── */
53 .frmx-analytics-btn {
54 display: inline-flex;
55 align-items: center;
56 justify-content: center;
57 gap: 8px;
58 padding: 12px 22px;
59 border-radius: 12px;
60 border: 1px solid transparent;
61 font-size: 13px;
62 font-weight: 700;
63 line-height: 1;
64 text-decoration: none;
65 white-space: nowrap;
66 cursor: pointer;
67 transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
68 }
69
70 .frmx-analytics-btn svg {
71 flex-shrink: 0;
72 }
73
74 .frmx-analytics-btn--accent {
75 background: linear-gradient(135deg, #f7b14f 0%, #f59e0b 100%);
76 border-color: rgba(245, 158, 11, 0.3);
77 color: #1c1917;
78 box-shadow:
79 0 1px 2px rgba(245, 158, 11, 0.3),
80 0 4px 12px rgba(245, 158, 11, 0.15);
81 }
82
83 .frmx-analytics-btn--accent:hover {
84 background: linear-gradient(135deg, #f5a83d 0%, #d97706 100%);
85 color: #1c1917;
86 box-shadow:
87 0 1px 2px rgba(245, 158, 11, 0.4),
88 0 8px 20px rgba(245, 158, 11, 0.25);
89 transform: translateY(-1px);
90 }
91
92 .frmx-analytics-btn--secondary {
93 background: #fff;
94 border-color: #e2e8f0;
95 color: #1e293b;
96 box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
97 }
98
99 .frmx-analytics-btn--secondary:hover {
100 border-color: #cbd5e1;
101 background: #f8fafc;
102 color: #0f172a;
103 box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
104 transform: translateY(-1px);
105 }
106
107 .frmx-analytics-btn--primary {
108 background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
109 color: #fff;
110 border-color: rgba(124, 58, 237, 0.3);
111 box-shadow:
112 0 1px 2px rgba(124, 58, 237, 0.3),
113 0 4px 12px rgba(124, 58, 237, 0.2);
114 }
115
116 .frmx-analytics-btn--primary:hover {
117 background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%);
118 color: #fff;
119 box-shadow:
120 0 1px 2px rgba(124, 58, 237, 0.4),
121 0 8px 20px rgba(124, 58, 237, 0.3);
122 transform: translateY(-1px);
123 }
124
125 /* ─── Top bar ────────────────────────────────────── */
126 .frmx-analytics-topbar {
127 display: flex;
128 align-items: center;
129 justify-content: space-between;
130 gap: 24px;
131 padding: 24px 36px 28px;
132 background: linear-gradient(135deg, #581c87 0%, #7c3aed 50%, #8b5cf6 100%);
133 position: relative;
134 overflow: hidden;
135 }
136
137 .frmx-analytics-topbar::before {
138 content: "";
139 position: absolute;
140 top: -60%;
141 right: -10%;
142 width: 400px;
143 height: 400px;
144 border-radius: 50%;
145 background: radial-gradient(
146 circle,
147 rgba(255, 255, 255, 0.08) 0%,
148 transparent 70%
149 );
150 pointer-events: none;
151 }
152
153 .frmx-analytics-topbar::after {
154 content: "";
155 position: absolute;
156 bottom: -40%;
157 left: 15%;
158 width: 300px;
159 height: 300px;
160 border-radius: 50%;
161 background: radial-gradient(
162 circle,
163 rgba(255, 255, 255, 0.05) 0%,
164 transparent 70%
165 );
166 pointer-events: none;
167 }
168
169 .frmx-analytics-topbar__main {
170 display: flex;
171 align-items: center;
172 gap: 18px;
173 min-width: 0;
174 position: relative;
175 z-index: 1;
176 }
177
178 .frmx-analytics-topbar__logo {
179 width: 56px;
180 height: 56px;
181 border-radius: 16px;
182 display: flex;
183 align-items: center;
184 justify-content: center;
185 background: rgba(255, 255, 255, 0.12);
186 border: 1px solid rgba(255, 255, 255, 0.18);
187 box-shadow:
188 inset 0 1px 0 rgba(255, 255, 255, 0.1),
189 0 4px 12px rgba(0, 0, 0, 0.1);
190 backdrop-filter: blur(8px);
191 }
192
193 .frmx-analytics-topbar__logo img {
194 height: 26px;
195 width: auto;
196 display: block;
197 }
198
199 .frmx-analytics-topbar__copy h1 {
200 display: flex;
201 flex-wrap: wrap;
202 align-items: center;
203 gap: 10px;
204 margin: 8px 0 6px;
205 font-size: 28px;
206 line-height: 1.1;
207 letter-spacing: -0.03em;
208 color: #fff;
209 }
210
211 .frmx-analytics-topbar__copy p {
212 margin: 0;
213 max-width: 42ch;
214 font-size: 13.5px;
215 line-height: 1.65;
216 color: rgba(255, 255, 255, 0.82);
217 }
218
219 .frmx-analytics-topbar__actions {
220 position: relative;
221 z-index: 1;
222 }
223
224 .frmx-analytics-plan {
225 display: inline-flex;
226 padding: 5px 10px;
227 border-radius: 999px;
228 background: rgba(255, 255, 255, 0.16);
229 color: #fff;
230 font-size: 10px;
231 font-weight: 800;
232 letter-spacing: 0.08em;
233 text-transform: uppercase;
234 backdrop-filter: blur(4px);
235 }
236
237 /* ─── Hero section ──────────────────────────────── */
238 .frmx-analytics-hero {
239 display: grid;
240 grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
241 gap: 40px;
242 padding: 40px 36px;
243 background: linear-gradient(180deg, #f1f5f9 0%, #ffffff 100%);
244 border-bottom: 1px solid #e2e8f0;
245 }
246
247 .frmx-analytics-hero__eyebrow {
248 display: inline-flex;
249 align-items: center;
250 gap: 6px;
251 padding: 6px 12px;
252 border-radius: 999px;
253 background: linear-gradient(135deg, rgba(124, 58, 237, 0.08) 0%, rgba(139, 92, 246, 0.12) 100%);
254 color: #7c3aed;
255 font-size: 11px;
256 font-weight: 800;
257 letter-spacing: 0.08em;
258 text-transform: uppercase;
259 }
260
261 .frmx-analytics-hero__eyebrow svg {
262 flex-shrink: 0;
263 }
264
265 .frmx-analytics-hero__copy h2 {
266 margin: 18px 0 14px;
267 max-width: 16ch;
268 font-size: 38px;
269 line-height: 1.08;
270 letter-spacing: -0.04em;
271 color: #0f172a;
272 }
273
274 .frmx-analytics-hero__copy p {
275 max-width: 48ch;
276 margin: 0;
277 font-size: 15px;
278 line-height: 1.75;
279 color: #64748b;
280 }
281
282 /* ─── Summary items ─────────────────────────────── */
283 .frmx-analytics-summary {
284 display: grid;
285 gap: 10px;
286 margin-top: 28px;
287 }
288
289 .frmx-analytics-summary__item {
290 display: grid;
291 grid-template-columns: 42px minmax(0, 1fr);
292 gap: 14px;
293 padding: 14px 16px;
294 background: #fff;
295 border: 1px solid #e2e8f0;
296 border-radius: 14px;
297 box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03);
298 transition: all 0.2s ease;
299 }
300
301 .frmx-analytics-summary__item:hover {
302 border-color: #c7d2fe;
303 box-shadow: 0 4px 16px rgba(124, 58, 237, 0.06);
304 }
305
306 .frmx-analytics-summary__icon {
307 width: 42px;
308 height: 42px;
309 display: flex;
310 align-items: center;
311 justify-content: center;
312 border-radius: 12px;
313 }
314
315 .frmx-analytics-summary__icon--blue {
316 background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(59, 130, 246, 0.16) 100%);
317 color: #3b82f6;
318 }
319
320 .frmx-analytics-summary__icon--purple {
321 background: linear-gradient(135deg, rgba(124, 58, 237, 0.1) 0%, rgba(124, 58, 237, 0.16) 100%);
322 color: #7c3aed;
323 }
324
325 .frmx-analytics-summary__icon--green {
326 background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(16, 185, 129, 0.16) 100%);
327 color: #10b981;
328 }
329
330 .frmx-analytics-summary__item strong {
331 display: block;
332 margin-bottom: 2px;
333 font-size: 14px;
334 color: #0f172a;
335 }
336
337 .frmx-analytics-summary__item p {
338 margin: 0;
339 font-size: 12.5px;
340 line-height: 1.55;
341 color: #64748b;
342 }
343
344 /* ─── Hero actions ──────────────────────────────── */
345 .frmx-analytics-hero__actions {
346 display: flex;
347 flex-wrap: wrap;
348 gap: 12px;
349 margin-top: 24px;
350 }
351
352 /* ─── Preview widget ────────────────────────────── */
353 .frmx-analytics-preview__window {
354 padding: 16px;
355 background: #fff;
356 border: 1px solid #e2e8f0;
357 border-radius: 24px;
358 box-shadow:
359 0 1px 3px rgba(15, 23, 42, 0.04),
360 0 12px 36px rgba(15, 23, 42, 0.07);
361 }
362
363 .frmx-analytics-preview__top {
364 display: flex;
365 align-items: center;
366 justify-content: space-between;
367 gap: 10px;
368 margin-bottom: 16px;
369 padding: 4px 4px 0;
370 }
371
372 .frmx-analytics-preview__dots {
373 display: flex;
374 gap: 6px;
375 }
376
377 .frmx-analytics-preview__dots span {
378 width: 8px;
379 height: 8px;
380 border-radius: 50%;
381 background: #e2e8f0;
382 }
383
384 .frmx-analytics-preview__dots span:first-child {
385 background: #c4b5fd;
386 }
387
388 .frmx-analytics-preview__dots span:nth-child(2) {
389 background: #ddd6fe;
390 }
391
392 .frmx-analytics-preview__label {
393 font-size: 12px;
394 font-weight: 700;
395 color: #7c3aed;
396 letter-spacing: 0.02em;
397 }
398
399 /* ─── Preview stats ──────────────────────────────── */
400 .frmx-analytics-preview__stats {
401 display: grid;
402 grid-template-columns: repeat(3, 1fr);
403 gap: 12px;
404 }
405
406 .frmx-analytics-preview__stat {
407 padding: 16px 14px 14px;
408 background: #fafbff;
409 border: 1px solid #eef2ff;
410 border-radius: 16px;
411 transition: all 0.2s ease;
412 }
413
414 .frmx-analytics-preview__stat:hover {
415 border-color: #c7d2fe;
416 background: #f5f3ff;
417 }
418
419 .frmx-analytics-preview__stat label {
420 display: block;
421 margin-bottom: 4px;
422 font-size: 11px;
423 font-weight: 700;
424 color: #94a3b8;
425 text-transform: uppercase;
426 letter-spacing: 0.04em;
427 }
428
429 .frmx-analytics-preview__stat strong {
430 display: block;
431 font-size: 26px;
432 line-height: 1;
433 letter-spacing: -0.03em;
434 color: #0f172a;
435 }
436
437 /* Preview sparklines */
438 .frmx-analytics-preview__sparkline {
439 margin-top: 8px;
440 height: 24px;
441 opacity: 0.6;
442 }
443
444 .frmx-analytics-preview__sparkline svg {
445 width: 100%;
446 height: 100%;
447 }
448
449 /* ─── Badges ──────────────────────────────────── */
450 .frmx-analytics-badge {
451 display: inline-flex;
452 margin-top: 8px;
453 padding: 4px 10px;
454 border-radius: 999px;
455 font-size: 11px;
456 font-weight: 700;
457 }
458
459 .frmx-analytics-badge--green {
460 background: rgba(16, 185, 129, 0.1);
461 color: #059669;
462 }
463
464 .frmx-analytics-badge--purple {
465 background: rgba(139, 92, 246, 0.1);
466 color: #7c3aed;
467 }
468
469 .frmx-analytics-badge--amber {
470 background: rgba(245, 158, 11, 0.1);
471 color: #d97706;
472 }
473
474 /* ─── Preview chart ──────────────────────────────── */
475 .frmx-analytics-preview__chart {
476 position: relative;
477 margin-top: 14px;
478 border-radius: 18px;
479 overflow: hidden;
480 background: linear-gradient(180deg, #f5f3ff 0%, #ede9fe 100%);
481 }
482
483 .frmx-analytics-preview__chart-bars {
484 display: flex;
485 align-items: flex-end;
486 gap: 10px;
487 height: 220px;
488 padding: 20px 18px 24px;
489 }
490
491 .frmx-bar {
492 flex: 1;
493 min-width: 0;
494 border-radius: 8px 8px 4px 4px;
495 background: linear-gradient(
496 180deg,
497 rgba(139, 92, 246, 0.4) 0%,
498 rgba(124, 58, 237, 0.65) 100%
499 );
500 animation: frmx-bar-grow 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) both;
501 }
502
503 .frmx-bar-1 { height: 22%; animation-delay: 0s; }
504 .frmx-bar-2 { height: 38%; animation-delay: 0.06s; }
505 .frmx-bar-3 { height: 28%; animation-delay: 0.12s; }
506 .frmx-bar-4 { height: 55%; animation-delay: 0.18s; }
507 .frmx-bar-5 { height: 40%; animation-delay: 0.24s; }
508 .frmx-bar-6 { height: 65%; animation-delay: 0.3s; }
509 .frmx-bar-7 { height: 48%; animation-delay: 0.36s; }
510
511 @keyframes frmx-bar-grow {
512 from {
513 height: 0;
514 opacity: 0;
515 }
516 to {
517 opacity: 1;
518 }
519 }
520
521 /* Lock overlay */
522 .frmx-analytics-preview__lock {
523 position: absolute;
524 inset: 0;
525 display: flex;
526 flex-direction: column;
527 align-items: center;
528 justify-content: center;
529 gap: 10px;
530 background: rgba(255, 255, 255, 0.5);
531 backdrop-filter: blur(4px);
532 -webkit-backdrop-filter: blur(4px);
533 }
534
535 .frmx-analytics-preview__lock-icon {
536 width: 44px;
537 height: 44px;
538 display: flex;
539 align-items: center;
540 justify-content: center;
541 border-radius: 50%;
542 background: rgba(124, 58, 237, 0.08);
543 color: #7c3aed;
544 }
545
546 .frmx-analytics-preview__lock span {
547 font-size: 13px;
548 font-weight: 800;
549 color: #1e1b4b;
550 letter-spacing: 0.02em;
551 }
552
553 /* ─── Section ────────────────────────────────────── */
554 .frmx-analytics-section {
555 padding: 44px 36px;
556 border-bottom: 1px solid #e2e8f0;
557 }
558
559 .frmx-analytics-section--soft {
560 background: linear-gradient(180deg, #faf5ff 0%, #f8fafc 100%);
561 }
562
563 .frmx-analytics-section__header {
564 max-width: 640px;
565 margin: 0 auto;
566 text-align: center;
567 }
568
569 .frmx-analytics-section__header h2 {
570 margin: 16px 0 10px;
571 font-size: 30px;
572 line-height: 1.15;
573 letter-spacing: -0.035em;
574 color: #0f172a;
575 }
576
577 .frmx-analytics-section__header p {
578 margin: 0;
579 font-size: 14.5px;
580 line-height: 1.75;
581 color: #64748b;
582 }
583
584 /* Section icons */
585 .frmx-analytics-icon {
586 width: 48px;
587 height: 48px;
588 margin: 0 auto;
589 border-radius: 14px;
590 display: flex;
591 align-items: center;
592 justify-content: center;
593 background: linear-gradient(135deg, rgba(124, 58, 237, 0.08) 0%, rgba(124, 58, 237, 0.14) 100%);
594 color: #7c3aed;
595 }
596
597 .frmx-analytics-icon--blue {
598 background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(59, 130, 246, 0.14) 100%);
599 color: #3b82f6;
600 }
601
602 /* ─── Stats grid (What you can measure) ──────── */
603 .frmx-analytics-stats {
604 display: grid;
605 grid-template-columns: repeat(4, 1fr);
606 gap: 16px;
607 margin-top: 30px;
608 }
609
610 .frmx-analytics-stat {
611 padding: 22px 20px;
612 background: #fff;
613 border: 1px solid #e2e8f0;
614 border-radius: 16px;
615 transition: all 0.25s ease;
616 position: relative;
617 overflow: hidden;
618 }
619
620 .frmx-analytics-stat::before {
621 content: "";
622 position: absolute;
623 top: 0;
624 left: 0;
625 right: 0;
626 height: 3px;
627 background: transparent;
628 border-radius: 16px 16px 0 0;
629 transition: background 0.25s ease;
630 }
631
632 .frmx-analytics-stat:hover {
633 border-color: #c7d2fe;
634 box-shadow:
635 0 4px 16px rgba(124, 58, 237, 0.06),
636 0 1px 3px rgba(15, 23, 42, 0.04);
637 transform: translateY(-2px);
638 }
639
640 .frmx-analytics-stat:nth-child(1):hover::before { background: linear-gradient(90deg, #6366f1, #818cf8); }
641 .frmx-analytics-stat:nth-child(2):hover::before { background: linear-gradient(90deg, #8b5cf6, #a78bfa); }
642 .frmx-analytics-stat:nth-child(3):hover::before { background: linear-gradient(90deg, #14b8a6, #2dd4bf); }
643 .frmx-analytics-stat:nth-child(4):hover::before { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
644
645 /* Stat icons */
646 .frmx-analytics-stat__icon {
647 width: 44px;
648 height: 44px;
649 display: flex;
650 align-items: center;
651 justify-content: center;
652 border-radius: 12px;
653 margin-bottom: 16px;
654 }
655
656 .frmx-analytics-stat__icon--indigo {
657 background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(99, 102, 241, 0.18) 100%);
658 color: #6366f1;
659 }
660
661 .frmx-analytics-stat__icon--violet {
662 background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(139, 92, 246, 0.18) 100%);
663 color: #8b5cf6;
664 }
665
666 .frmx-analytics-stat__icon--teal {
667 background: linear-gradient(135deg, rgba(20, 184, 166, 0.1) 0%, rgba(20, 184, 166, 0.18) 100%);
668 color: #14b8a6;
669 }
670
671 .frmx-analytics-stat__icon--amber {
672 background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(245, 158, 11, 0.18) 100%);
673 color: #f59e0b;
674 }
675
676 .frmx-analytics-stat strong {
677 display: block;
678 margin-bottom: 8px;
679 font-size: 18px;
680 letter-spacing: -0.02em;
681 color: #0f172a;
682 }
683
684 .frmx-analytics-stat span {
685 display: block;
686 font-size: 13px;
687 line-height: 1.7;
688 color: #64748b;
689 }
690
691 /* ─── Report cards grid ─────────────────────────── */
692 .frmx-analytics-grid {
693 display: grid;
694 grid-template-columns: repeat(2, 1fr);
695 gap: 16px;
696 margin-top: 30px;
697 }
698
699 .frmx-analytics-card {
700 padding: 24px 22px;
701 background: #fff;
702 border: 1px solid #e2e8f0;
703 border-radius: 16px;
704 transition: all 0.25s ease;
705 position: relative;
706 }
707
708 .frmx-analytics-card:hover {
709 border-color: #c7d2fe;
710 box-shadow:
711 0 4px 16px rgba(124, 58, 237, 0.06),
712 0 1px 3px rgba(15, 23, 42, 0.04);
713 transform: translateY(-2px);
714 }
715
716 /* Card icons */
717 .frmx-analytics-card__icon {
718 width: 40px;
719 height: 40px;
720 display: flex;
721 align-items: center;
722 justify-content: center;
723 border-radius: 10px;
724 margin-bottom: 14px;
725 }
726
727 .frmx-analytics-card__icon--indigo {
728 background: linear-gradient(135deg, rgba(99, 102, 241, 0.08) 0%, rgba(99, 102, 241, 0.16) 100%);
729 color: #6366f1;
730 }
731
732 .frmx-analytics-card__icon--violet {
733 background: linear-gradient(135deg, rgba(139, 92, 246, 0.08) 0%, rgba(139, 92, 246, 0.16) 100%);
734 color: #8b5cf6;
735 }
736
737 .frmx-analytics-card__icon--teal {
738 background: linear-gradient(135deg, rgba(20, 184, 166, 0.08) 0%, rgba(20, 184, 166, 0.16) 100%);
739 color: #14b8a6;
740 }
741
742 .frmx-analytics-card__icon--amber {
743 background: linear-gradient(135deg, rgba(245, 158, 11, 0.08) 0%, rgba(245, 158, 11, 0.16) 100%);
744 color: #f59e0b;
745 }
746
747 .frmx-analytics-card h3 {
748 margin: 0 0 8px;
749 font-size: 17px;
750 line-height: 1.3;
751 letter-spacing: -0.01em;
752 color: #0f172a;
753 }
754
755 .frmx-analytics-card p {
756 margin: 0;
757 font-size: 13.5px;
758 line-height: 1.75;
759 color: #64748b;
760 }
761
762 /* ─── Footer CTA ─────────────────────────────────── */
763 .frmx-analytics-footer {
764 display: flex;
765 align-items: center;
766 justify-content: space-between;
767 gap: 32px;
768 padding: 36px 36px;
769 background: linear-gradient(135deg, #faf5ff 0%, #f0f9ff 50%, #fff 100%);
770 position: relative;
771 overflow: hidden;
772 }
773
774 .frmx-analytics-footer__glow {
775 position: absolute;
776 top: 50%;
777 left: 50%;
778 transform: translate(-50%, -50%);
779 width: 500px;
780 height: 200px;
781 background: radial-gradient(
782 ellipse,
783 rgba(124, 58, 237, 0.06) 0%,
784 transparent 70%
785 );
786 pointer-events: none;
787 }
788
789 .frmx-analytics-footer__content {
790 max-width: 560px;
791 position: relative;
792 z-index: 1;
793 }
794
795 .frmx-analytics-footer__content h2 {
796 margin: 14px 0 8px;
797 font-size: 28px;
798 line-height: 1.15;
799 letter-spacing: -0.035em;
800 color: #0f172a;
801 }
802
803 .frmx-analytics-footer__content p {
804 margin: 0;
805 font-size: 14px;
806 line-height: 1.75;
807 color: #64748b;
808 }
809
810 .frmx-analytics-footer > .frmx-analytics-btn {
811 position: relative;
812 z-index: 1;
813 flex-shrink: 0;
814 }
815
816 /* ─── Responsive ─────────────────────────────────── */
817 @media (max-width: 1080px) {
818 .frmx-analytics-hero {
819 grid-template-columns: 1fr;
820 gap: 32px;
821 }
822
823 .frmx-analytics-hero__copy h2 {
824 max-width: none;
825 }
826 }
827
828 @media (max-width: 980px) {
829 .frmx-analytics-topbar,
830 .frmx-analytics-footer {
831 flex-direction: column;
832 align-items: flex-start;
833 }
834
835 .frmx-analytics-stats {
836 grid-template-columns: 1fr 1fr;
837 }
838 }
839
840 @media (max-width: 782px) {
841 .frmx-analytics-page {
842 margin-right: 10px;
843 }
844
845 .frmx-analytics-topbar,
846 .frmx-analytics-hero,
847 .frmx-analytics-section,
848 .frmx-analytics-footer {
849 padding-left: 20px;
850 padding-right: 20px;
851 }
852
853 .frmx-analytics-topbar__copy h1,
854 .frmx-analytics-hero__copy h2,
855 .frmx-analytics-section__header h2,
856 .frmx-analytics-footer__content h2 {
857 font-size: 24px;
858 max-width: none;
859 }
860
861 .frmx-analytics-topbar__main {
862 align-items: flex-start;
863 }
864
865 .frmx-analytics-topbar__logo {
866 width: 48px;
867 height: 48px;
868 }
869
870 .frmx-analytics-preview__stats,
871 .frmx-analytics-stats,
872 .frmx-analytics-grid {
873 grid-template-columns: 1fr;
874 }
875 }
876