/* ────────────────────────────────────────────────────── Forumax Analytics — Locked / Free-user Presentation ────────────────────────────────────────────────────── */ /* ─── Reset & base ──────────────────────────────────── */ .frmx-analytics-page { margin: 20px 20px 20px 0; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .frmx-analytics-page *, .frmx-analytics-page *::before, .frmx-analytics-page *::after { box-sizing: border-box; } /* ─── Shell ───────────────────────────────────────── */ .frmx-analytics-shell { width: 100%; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 20px; overflow: hidden; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 12px 40px rgba(15, 23, 42, 0.06); } /* ─── Shared badge / kicker ──────────────────────── */ .frmx-analytics-kicker { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.14); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; } .frmx-analytics-kicker--dark { background: rgba(104, 49, 193, 0.1); color: #7c3aed; } /* ─── Buttons ────────────────────────────────────── */ .frmx-analytics-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 12px; border: 1px solid transparent; font-size: 13px; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); } .frmx-analytics-btn svg { flex-shrink: 0; } .frmx-analytics-btn--accent { background: linear-gradient(135deg, #f7b14f 0%, #f59e0b 100%); border-color: rgba(245, 158, 11, 0.3); color: #1c1917; box-shadow: 0 1px 2px rgba(245, 158, 11, 0.3), 0 4px 12px rgba(245, 158, 11, 0.15); } .frmx-analytics-btn--accent:hover { background: linear-gradient(135deg, #f5a83d 0%, #d97706 100%); color: #1c1917; box-shadow: 0 1px 2px rgba(245, 158, 11, 0.4), 0 8px 20px rgba(245, 158, 11, 0.25); transform: translateY(-1px); } .frmx-analytics-btn--secondary { background: #fff; border-color: #e2e8f0; color: #1e293b; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06); } .frmx-analytics-btn--secondary:hover { border-color: #cbd5e1; background: #f8fafc; color: #0f172a; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); transform: translateY(-1px); } .frmx-analytics-btn--primary { background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%); color: #fff; border-color: rgba(124, 58, 237, 0.3); box-shadow: 0 1px 2px rgba(124, 58, 237, 0.3), 0 4px 12px rgba(124, 58, 237, 0.2); } .frmx-analytics-btn--primary:hover { background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%); color: #fff; box-shadow: 0 1px 2px rgba(124, 58, 237, 0.4), 0 8px 20px rgba(124, 58, 237, 0.3); transform: translateY(-1px); } /* ─── Top bar ────────────────────────────────────── */ .frmx-analytics-topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 36px 28px; background: linear-gradient(135deg, #581c87 0%, #7c3aed 50%, #8b5cf6 100%); position: relative; overflow: hidden; } .frmx-analytics-topbar::before { content: ""; position: absolute; top: -60%; right: -10%; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient( circle, rgba(255, 255, 255, 0.08) 0%, transparent 70% ); pointer-events: none; } .frmx-analytics-topbar::after { content: ""; position: absolute; bottom: -40%; left: 15%; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient( circle, rgba(255, 255, 255, 0.05) 0%, transparent 70% ); pointer-events: none; } .frmx-analytics-topbar__main { display: flex; align-items: center; gap: 18px; min-width: 0; position: relative; z-index: 1; } .frmx-analytics-topbar__logo { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 4px 12px rgba(0, 0, 0, 0.1); backdrop-filter: blur(8px); } .frmx-analytics-topbar__logo img { height: 26px; width: auto; display: block; } .frmx-analytics-topbar__copy h1 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 8px 0 6px; font-size: 28px; line-height: 1.1; letter-spacing: -0.03em; color: #fff; } .frmx-analytics-topbar__copy p { margin: 0; max-width: 42ch; font-size: 13.5px; line-height: 1.65; color: rgba(255, 255, 255, 0.82); } .frmx-analytics-topbar__actions { position: relative; z-index: 1; } .frmx-analytics-plan { display: inline-flex; padding: 5px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.16); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; backdrop-filter: blur(4px); } /* ─── Hero section ──────────────────────────────── */ .frmx-analytics-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr); gap: 40px; padding: 40px 36px; background: linear-gradient(180deg, #f1f5f9 0%, #ffffff 100%); border-bottom: 1px solid #e2e8f0; } .frmx-analytics-hero__eyebrow { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: linear-gradient(135deg, rgba(124, 58, 237, 0.08) 0%, rgba(139, 92, 246, 0.12) 100%); color: #7c3aed; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .frmx-analytics-hero__eyebrow svg { flex-shrink: 0; } .frmx-analytics-hero__copy h2 { margin: 18px 0 14px; max-width: 16ch; font-size: 38px; line-height: 1.08; letter-spacing: -0.04em; color: #0f172a; } .frmx-analytics-hero__copy p { max-width: 48ch; margin: 0; font-size: 15px; line-height: 1.75; color: #64748b; } /* ─── Summary items ─────────────────────────────── */ .frmx-analytics-summary { display: grid; gap: 10px; margin-top: 28px; } .frmx-analytics-summary__item { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; padding: 14px 16px; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03); transition: all 0.2s ease; } .frmx-analytics-summary__item:hover { border-color: #c7d2fe; box-shadow: 0 4px 16px rgba(124, 58, 237, 0.06); } .frmx-analytics-summary__icon { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 12px; } .frmx-analytics-summary__icon--blue { background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(59, 130, 246, 0.16) 100%); color: #3b82f6; } .frmx-analytics-summary__icon--purple { background: linear-gradient(135deg, rgba(124, 58, 237, 0.1) 0%, rgba(124, 58, 237, 0.16) 100%); color: #7c3aed; } .frmx-analytics-summary__icon--green { background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(16, 185, 129, 0.16) 100%); color: #10b981; } .frmx-analytics-summary__item strong { display: block; margin-bottom: 2px; font-size: 14px; color: #0f172a; } .frmx-analytics-summary__item p { margin: 0; font-size: 12.5px; line-height: 1.55; color: #64748b; } /* ─── Hero actions ──────────────────────────────── */ .frmx-analytics-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; } /* ─── Preview widget ────────────────────────────── */ .frmx-analytics-preview__window { padding: 16px; background: #fff; border: 1px solid #e2e8f0; border-radius: 24px; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 12px 36px rgba(15, 23, 42, 0.07); } .frmx-analytics-preview__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; padding: 4px 4px 0; } .frmx-analytics-preview__dots { display: flex; gap: 6px; } .frmx-analytics-preview__dots span { width: 8px; height: 8px; border-radius: 50%; background: #e2e8f0; } .frmx-analytics-preview__dots span:first-child { background: #c4b5fd; } .frmx-analytics-preview__dots span:nth-child(2) { background: #ddd6fe; } .frmx-analytics-preview__label { font-size: 12px; font-weight: 700; color: #7c3aed; letter-spacing: 0.02em; } /* ─── Preview stats ──────────────────────────────── */ .frmx-analytics-preview__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; } .frmx-analytics-preview__stat { padding: 16px 14px 14px; background: #fafbff; border: 1px solid #eef2ff; border-radius: 16px; transition: all 0.2s ease; } .frmx-analytics-preview__stat:hover { border-color: #c7d2fe; background: #f5f3ff; } .frmx-analytics-preview__stat label { display: block; margin-bottom: 4px; font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.04em; } .frmx-analytics-preview__stat strong { display: block; font-size: 26px; line-height: 1; letter-spacing: -0.03em; color: #0f172a; } /* Preview sparklines */ .frmx-analytics-preview__sparkline { margin-top: 8px; height: 24px; opacity: 0.6; } .frmx-analytics-preview__sparkline svg { width: 100%; height: 100%; } /* ─── Badges ──────────────────────────────────── */ .frmx-analytics-badge { display: inline-flex; margin-top: 8px; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; } .frmx-analytics-badge--green { background: rgba(16, 185, 129, 0.1); color: #059669; } .frmx-analytics-badge--purple { background: rgba(139, 92, 246, 0.1); color: #7c3aed; } .frmx-analytics-badge--amber { background: rgba(245, 158, 11, 0.1); color: #d97706; } /* ─── Preview chart ──────────────────────────────── */ .frmx-analytics-preview__chart { position: relative; margin-top: 14px; border-radius: 18px; overflow: hidden; background: linear-gradient(180deg, #f5f3ff 0%, #ede9fe 100%); } .frmx-analytics-preview__chart-bars { display: flex; align-items: flex-end; gap: 10px; height: 220px; padding: 20px 18px 24px; } .frmx-bar { flex: 1; min-width: 0; border-radius: 8px 8px 4px 4px; background: linear-gradient( 180deg, rgba(139, 92, 246, 0.4) 0%, rgba(124, 58, 237, 0.65) 100% ); animation: frmx-bar-grow 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) both; } .frmx-bar-1 { height: 22%; animation-delay: 0s; } .frmx-bar-2 { height: 38%; animation-delay: 0.06s; } .frmx-bar-3 { height: 28%; animation-delay: 0.12s; } .frmx-bar-4 { height: 55%; animation-delay: 0.18s; } .frmx-bar-5 { height: 40%; animation-delay: 0.24s; } .frmx-bar-6 { height: 65%; animation-delay: 0.3s; } .frmx-bar-7 { height: 48%; animation-delay: 0.36s; } @keyframes frmx-bar-grow { from { height: 0; opacity: 0; } to { opacity: 1; } } /* Lock overlay */ .frmx-analytics-preview__lock { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } .frmx-analytics-preview__lock-icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(124, 58, 237, 0.08); color: #7c3aed; } .frmx-analytics-preview__lock span { font-size: 13px; font-weight: 800; color: #1e1b4b; letter-spacing: 0.02em; } /* ─── Section ────────────────────────────────────── */ .frmx-analytics-section { padding: 44px 36px; border-bottom: 1px solid #e2e8f0; } .frmx-analytics-section--soft { background: linear-gradient(180deg, #faf5ff 0%, #f8fafc 100%); } .frmx-analytics-section__header { max-width: 640px; margin: 0 auto; text-align: center; } .frmx-analytics-section__header h2 { margin: 16px 0 10px; font-size: 30px; line-height: 1.15; letter-spacing: -0.035em; color: #0f172a; } .frmx-analytics-section__header p { margin: 0; font-size: 14.5px; line-height: 1.75; color: #64748b; } /* Section icons */ .frmx-analytics-icon { width: 48px; height: 48px; margin: 0 auto; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(124, 58, 237, 0.08) 0%, rgba(124, 58, 237, 0.14) 100%); color: #7c3aed; } .frmx-analytics-icon--blue { background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(59, 130, 246, 0.14) 100%); color: #3b82f6; } /* ─── Stats grid (What you can measure) ──────── */ .frmx-analytics-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 30px; } .frmx-analytics-stat { padding: 22px 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; transition: all 0.25s ease; position: relative; overflow: hidden; } .frmx-analytics-stat::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: transparent; border-radius: 16px 16px 0 0; transition: background 0.25s ease; } .frmx-analytics-stat:hover { border-color: #c7d2fe; box-shadow: 0 4px 16px rgba(124, 58, 237, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04); transform: translateY(-2px); } .frmx-analytics-stat:nth-child(1):hover::before { background: linear-gradient(90deg, #6366f1, #818cf8); } .frmx-analytics-stat:nth-child(2):hover::before { background: linear-gradient(90deg, #8b5cf6, #a78bfa); } .frmx-analytics-stat:nth-child(3):hover::before { background: linear-gradient(90deg, #14b8a6, #2dd4bf); } .frmx-analytics-stat:nth-child(4):hover::before { background: linear-gradient(90deg, #f59e0b, #fbbf24); } /* Stat icons */ .frmx-analytics-stat__icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; margin-bottom: 16px; } .frmx-analytics-stat__icon--indigo { background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(99, 102, 241, 0.18) 100%); color: #6366f1; } .frmx-analytics-stat__icon--violet { background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(139, 92, 246, 0.18) 100%); color: #8b5cf6; } .frmx-analytics-stat__icon--teal { background: linear-gradient(135deg, rgba(20, 184, 166, 0.1) 0%, rgba(20, 184, 166, 0.18) 100%); color: #14b8a6; } .frmx-analytics-stat__icon--amber { background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(245, 158, 11, 0.18) 100%); color: #f59e0b; } .frmx-analytics-stat strong { display: block; margin-bottom: 8px; font-size: 18px; letter-spacing: -0.02em; color: #0f172a; } .frmx-analytics-stat span { display: block; font-size: 13px; line-height: 1.7; color: #64748b; } /* ─── Report cards grid ─────────────────────────── */ .frmx-analytics-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 30px; } .frmx-analytics-card { padding: 24px 22px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; transition: all 0.25s ease; position: relative; } .frmx-analytics-card:hover { border-color: #c7d2fe; box-shadow: 0 4px 16px rgba(124, 58, 237, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04); transform: translateY(-2px); } /* Card icons */ .frmx-analytics-card__icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px; margin-bottom: 14px; } .frmx-analytics-card__icon--indigo { background: linear-gradient(135deg, rgba(99, 102, 241, 0.08) 0%, rgba(99, 102, 241, 0.16) 100%); color: #6366f1; } .frmx-analytics-card__icon--violet { background: linear-gradient(135deg, rgba(139, 92, 246, 0.08) 0%, rgba(139, 92, 246, 0.16) 100%); color: #8b5cf6; } .frmx-analytics-card__icon--teal { background: linear-gradient(135deg, rgba(20, 184, 166, 0.08) 0%, rgba(20, 184, 166, 0.16) 100%); color: #14b8a6; } .frmx-analytics-card__icon--amber { background: linear-gradient(135deg, rgba(245, 158, 11, 0.08) 0%, rgba(245, 158, 11, 0.16) 100%); color: #f59e0b; } .frmx-analytics-card h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.3; letter-spacing: -0.01em; color: #0f172a; } .frmx-analytics-card p { margin: 0; font-size: 13.5px; line-height: 1.75; color: #64748b; } /* ─── Footer CTA ─────────────────────────────────── */ .frmx-analytics-footer { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 36px 36px; background: linear-gradient(135deg, #faf5ff 0%, #f0f9ff 50%, #fff 100%); position: relative; overflow: hidden; } .frmx-analytics-footer__glow { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 500px; height: 200px; background: radial-gradient( ellipse, rgba(124, 58, 237, 0.06) 0%, transparent 70% ); pointer-events: none; } .frmx-analytics-footer__content { max-width: 560px; position: relative; z-index: 1; } .frmx-analytics-footer__content h2 { margin: 14px 0 8px; font-size: 28px; line-height: 1.15; letter-spacing: -0.035em; color: #0f172a; } .frmx-analytics-footer__content p { margin: 0; font-size: 14px; line-height: 1.75; color: #64748b; } .frmx-analytics-footer > .frmx-analytics-btn { position: relative; z-index: 1; flex-shrink: 0; } /* ─── Responsive ─────────────────────────────────── */ @media (max-width: 1080px) { .frmx-analytics-hero { grid-template-columns: 1fr; gap: 32px; } .frmx-analytics-hero__copy h2 { max-width: none; } } @media (max-width: 980px) { .frmx-analytics-topbar, .frmx-analytics-footer { flex-direction: column; align-items: flex-start; } .frmx-analytics-stats { grid-template-columns: 1fr 1fr; } } @media (max-width: 782px) { .frmx-analytics-page { margin-right: 10px; } .frmx-analytics-topbar, .frmx-analytics-hero, .frmx-analytics-section, .frmx-analytics-footer { padding-left: 20px; padding-right: 20px; } .frmx-analytics-topbar__copy h1, .frmx-analytics-hero__copy h2, .frmx-analytics-section__header h2, .frmx-analytics-footer__content h2 { font-size: 24px; max-width: none; } .frmx-analytics-topbar__main { align-items: flex-start; } .frmx-analytics-topbar__logo { width: 48px; height: 48px; } .frmx-analytics-preview__stats, .frmx-analytics-stats, .frmx-analytics-grid { grid-template-columns: 1fr; } }