Files
Brancheneinstufung2/docs/Praesentation/sales_dashboard_v2.html

384 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="de">
<head>
<!-- Updated: 16:26:23 -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sales Intelligence Dashboard: Executive Briefing</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Space+Grotesk:wght@300;500;700&display=swap" rel="stylesheet">
<!-- Tailwind CSS -->
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
brandDark: '#081734',
brandLight: '#DDEEFE',
brandCyan: '#00E5FF',
brandGold: '#FFD42C',
brandSlate: '#1E293B'
},
fontFamily: {
'head': ['Space Grotesk', 'sans-serif'],
'body': ['Inter', 'sans-serif']
}
}
}
}
</script>
<style>
body {
background-color: #081734;
color: #DDEEFE;
font-family: 'Inter', sans-serif;
overflow-x: hidden;
line-height: 1.6;
}
h1, h2, h3, h4 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; }
.glass-card {
background: rgba(221, 238, 254, 0.02);
backdrop-filter: blur(25px);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 28px;
}
.section-screen {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
padding: 4rem 2rem;
}
/* Toby Animation */
.toby-float { animation: float 6s ease-in-out infinite; }
@keyframes float { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-15px) rotate(1deg); } 100% { transform: translateY(0px) rotate(0deg); } }
#toby-fixed {
position: fixed;
bottom: 40px;
right: 40px;
width: 160px;
z-index: 100;
pointer-events: none;
opacity: 0;
display: flex;
flex-direction: column;
align-items: center;
}
#toby-bubble {
background: #FFF;
color: #081734;
padding: 0.85rem 1.25rem;
border-radius: 14px;
font-size: 0.8rem;
font-weight: 600;
margin-bottom: 12px;
position: relative;
text-align: center;
box-shadow: 0 10px 40px rgba(0,0,0,0.4);
max-width: 200px;
}
#toby-bubble::after {
content: '';
position: absolute;
bottom: -8px;
left: 50%;
transform: translateX(-50%);
border-width: 8px 8px 0;
border-style: solid;
border-color: #FFF transparent transparent transparent;
}
/* Custom Progress Bar */
#progress-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 3px;
background: rgba(255,255,255,0.03);
z-index: 1000;
}
#progress-bar {
height: 100%;
width: 0%;
background: #00E5FF;
}
.text-gradient {
background: linear-gradient(135deg, #FFF 20%, #00E5FF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.stat-value { font-size: 4.5rem; font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
.content-width { max-width: 1100px; width: 100%; }
.reveal { opacity: 0; transform: translateY(25px); }
/* Dashboard Elements Mocks */
.mock-kpi {
border-left: 4px solid #00E5FF;
padding: 1.5rem;
background: rgba(255,255,255,0.02);
}
</style>
</head>
<body class="antialiased">
<div id="progress-container"><div id="progress-bar"></div></div>
<!-- Toby Fixed -->
<div id="toby-fixed" class="toby-float">
<div id="toby-bubble">Präzision statt Vermutung.</div>
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB9AAAAc2CAYAAABaJTzmAAAACXBIWXMAABsRAAAbEQEEnGAvAAAEvmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI2LTAxLTEzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dExtZD4zZjE1OTM5Ny04MWM3LTQyM2ItOWViMy02ODYyYzAxZjM4NGI8L0F0dHJpYjpFeHRJZD4KICAgICA8QXR0cmliOkZiSWQ+NTI1MjY1OTE0MTc5NTgwPC9BdHRyaWI6RmJJZD4KICAgICA8QXR0cmliOlRvdWNoVHlwZT4yPC9BdHRyaWI6VG91Y2hUeXBlPgogICAgPC9yZGY6bGk+CiAgIDwvJmRmOlNlcT4KICB8L0F0dHJpYjpBZHM+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyc+CiAgPGRjOnRpdGxlPgogICA8cmRmOkFsdD4KICAgIDxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVsdCc+Um9ib1BsYW5ldF9BdmF0YXJfaGVsbGJsYXUuYWkgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPldhY2tsZXJHcm91cDwvcGRmOkF1dGhvcm4+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOnhtcD0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhtcDpDcmVhdG9yVG9vbD5DYW52YSBkb2M9REFHLVN1Y0tTeXMgdXNlcj1VQUVUOG1KY3lhSSBicmFuZD1CQUVUOGd0OERsTSB0ZW1wbGF0ZT08L3htcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSdyJz8+qsA63gAACAASURBVHic7N15uG5z/fj/zx+/6/urvqU5aVCSSFGhyJjMZAghY6aMoQxJEioaKBkjkTEJERWJFAopY6nOWvc+xzmpnNa695n4616v73qvc/o0knOcc9733vvxvK7HtU/lCnvf+17v4V7v9T//I0mSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS... [truncated]" alt="Toby" class="w-full opacity-80">
</div>
<!-- 1. Intro: The Intelligence Cockpit -->
<section class="section-screen">
<div class="content-width text-center">
<h4 class="text-brandCyan uppercase tracking-[0.5em] mb-8 reveal font-head text-xs">Executive Summary</h4>
<h1 class="text-7xl md:text-8xl font-bold mb-10 reveal leading-[1.1] tracking-tight">Sales Intelligence <br> <span class="text-gradient">Cockpit</span></h1>
<p class="text-xl md:text-2xl text-brandLight/40 max-w-2xl mx-auto mb-16 reveal font-body font-light">
Transparenz auf Knopfdruck. <br>
Vom statischen Archiv zum aktiven Steuerungs-Hub.
</p>
<div class="flex justify-center gap-6 reveal">
<div class="h-[1px] w-12 bg-brandCyan/40 self-center"></div>
<span class="text-brandCyan font-mono uppercase text-xs tracking-widest">30 Tage Live-Betrieb</span>
<div class="h-[1px] w-12 bg-brandCyan/40 self-center"></div>
</div>
</div>
</section>
<!-- 2. The Efficiency: Adieu Excel -->
<section class="section-screen bg-brandSlate/10">
<div class="content-width">
<div class="grid grid-cols-1 md:grid-cols-2 gap-20 items-center">
<div class="reveal">
<h2 class="text-5xl mb-8">Echte Daten statt manueller Berichte.</h2>
<p class="text-lg text-brandLight/60 mb-10 font-light leading-relaxed">
Bisher kostete die Aufbereitung der Pipeline eine Stunde pro Woche. Das Dashboard liefert diese Erkenntnisse in <strong>Echtzeit</strong> fehlerfrei und interaktiv.
</p>
<div class="grid grid-cols-2 gap-4">
<div class="mock-kpi">
<p class="text-3xl font-bold text-white">-1h</p>
<p class="text-[10px] uppercase tracking-widest text-brandLight/50 mt-1">Manueller Aufwand / Woche</p>
</div>
<div class="mock-kpi">
<p class="text-3xl font-bold text-brandCyan">Live</p>
<p class="text-[10px] uppercase tracking-widest text-brandLight/50 mt-1">Pipeline-Truth 24/7</p>
</div>
</div>
</div>
<div class="glass-card p-12 reveal">
<h4 class="text-brandCyan uppercase text-[10px] tracking-widest font-bold mb-6 border-b border-white/5 pb-4">Vorteil: Daten-Integrität</h4>
<p class="text-xl text-white font-light leading-relaxed mb-6">
"Automatisierte Erkennung von Dubletten und Varianten eine Transparenz, die SuperOffice in dieser Form nicht bietet."
</p>
<div class="w-16 h-1 bg-brandCyan"></div>
</div>
</div>
</div>
</section>
<!-- 3. Transparency: The Winning DNA -->
<section class="section-screen">
<div class="content-width">
<div class="text-center mb-20 reveal">
<h2 class="text-5xl mb-6">Die Winning DNA</h2>
<p class="text-xl text-brandLight/40 font-light">Tiefe Einblicke in die Mechanik unseres Erfolgs.</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 reveal">
<div class="glass-card p-10 hover:bg-brandCyan/[0.03] transition-all">
<p class="text-brandCyan font-mono text-[10px] uppercase mb-4">Kanäle</p>
<h4 class="text-lg mb-4">Winning Channels</h4>
<p class="text-sm text-brandLight/50 font-light leading-relaxed">Präzise Auswertung: Welche Lead-Quelle konvertiert wirklich?</p>
</div>
<div class="glass-card p-10 hover:bg-brandCyan/[0.03] transition-all">
<p class="text-brandCyan font-mono text-[10px] uppercase mb-4">Analyse</p>
<h4 class="text-lg mb-4">Absage-Gründe</h4>
<p class="text-sm text-brandLight/50 font-light leading-relaxed">Warum verlieren wir Deals? Daten statt Vermutungen.</p>
</div>
<div class="glass-card p-10 hover:bg-brandCyan/[0.03] transition-all">
<p class="text-brandCyan font-mono text-[10px] uppercase mb-4">Performance</p>
<h4 class="text-lg mb-4">Time to Sale</h4>
<p class="text-sm text-brandLight/50 font-light leading-relaxed">Abschlussquoten & Kontakthäufigkeit pro Sales Manager.</p>
</div>
</div>
</div>
</section>
<!-- 4. Proactivity: The Red List -->
<section class="section-screen bg-white/[0.01]">
<div class="content-width">
<div class="grid grid-cols-1 md:grid-cols-2 gap-20 items-center">
<div class="reveal relative order-2 md:order-1">
<div class="glass-card p-1 relative overflow-hidden border-red-500/20">
<div class="bg-red-500/10 p-10">
<div class="flex justify-between items-center mb-8">
<h4 class="text-red-500 font-bold uppercase text-xs tracking-widest">Rote Liste: Deals in Gefahr</h4>
<span class="bg-red-500 text-white text-[10px] px-2 py-1 rounded">Aktion Erforderlich</span>
</div>
<div class="space-y-4">
<div class="h-12 bg-white/5 rounded border border-white/5 flex items-center px-4 justify-between">
<div class="w-1/2 h-2 bg-white/20 rounded"></div>
<div class="w-12 h-2 bg-red-500/40 rounded"></div>
</div>
<div class="h-12 bg-white/5 rounded border border-white/5 flex items-center px-4 justify-between">
<div class="w-1/2 h-2 bg-white/20 rounded"></div>
<div class="w-12 h-2 bg-red-500/40 rounded"></div>
</div>
<div class="h-12 bg-white/5 rounded border border-white/5 flex items-center px-4 justify-between">
<div class="w-1/2 h-2 bg-white/20 rounded"></div>
<div class="w-12 h-2 bg-red-500/40 rounded"></div>
</div>
</div>
</div>
</div>
</div>
<div class="reveal order-1 md:order-2">
<h2 class="text-5xl mb-8 leading-tight">Wissen, wo <br> <span class="text-red-500">es brennt.</span></h2>
<p class="text-lg text-brandLight/60 font-light leading-relaxed mb-8">
Überschrittene Verkaufsdaten oder Stagnation > 14 Tage werden sofort markiert. Das Dashboard fungiert als <strong>Frühwarnsystem</strong> für die Pipeline.
</p>
<div class="flex items-center gap-4 text-brandCyan">
<span class="text-xl"></span>
<p class="text-sm uppercase tracking-widest font-bold">Prävention von Deal-Verlusten</p>
</div>
</div>
</div>
</div>
</section>
<!-- 5. Action Hub: From Insight to Interaction -->
<section class="section-screen">
<div class="content-width">
<div class="grid grid-cols-1 md:grid-cols-2 gap-20 items-center">
<div class="reveal">
<h4 class="text-brandCyan font-mono uppercase tracking-widest text-xs mb-6 font-bold">The Action Hub</h4>
<h2 class="text-6xl mb-8 leading-tight">Vom Insight <br> zur <span class="text-gradient">Tat.</span></h2>
<p class="text-xl text-brandLight/70 font-light mb-10 leading-relaxed">
Das Dashboard ist kein Rückspiegel. Mit einem Klick zum Account, zum Sale oder zur automatisierten <strong>Rückrufbitte</strong>.
</p>
<div class="glass-card p-10 bg-brandCyan/5 border-brandCyan/20">
<div class="stat-value text-white mb-2">>20%</div>
<p class="text-xs uppercase tracking-widest font-bold text-brandCyan">Response-Rate</p>
<p class="text-sm text-brandLight/60 mt-4">Belegter Erfolg: Jede 5. Nachricht führt zu einer direkten Reaktion.</p>
</div>
</div>
<div class="reveal">
<div class="glass-card p-12 border-brandCyan/30">
<h4 class="text-xs uppercase tracking-widest font-bold mb-6 border-b border-white/5 pb-4">Einfachheit gewinnt</h4>
<p class="text-lg text-brandLight/80 font-light leading-relaxed mb-8">
"Was in SuperOffice 5-10 Klicks braucht, liegt hier auf der Oberfläche. Das Team arbeitet lieber im Dashboard, weil es Zeit spart und Übersicht schafft."
</p>
<div class="flex items-center gap-3">
<div class="w-8 h-8 rounded-full bg-brandCyan/20"></div>
<p class="text-xs text-brandLight/40 uppercase tracking-widest">Feedback aus dem Innendienst</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- 6. Infrastructure: Scalable Asset -->
<section class="section-screen bg-brandCyan/5">
<div class="content-width text-center">
<h2 class="text-5xl md:text-7xl mb-12 reveal font-head tracking-tighter uppercase">Scalable <br> Asset</h2>
<p class="text-xl md:text-2xl text-brandLight/70 max-w-3xl mx-auto mb-16 reveal font-light leading-relaxed">
Dieses Dashboard ist kein isoliertes Tool. Es fußt auf einem robusten <strong>API-Connector</strong>, der die Grundlage für alle zukünftigen Sales-Automatisierungen bildet.
</p>
<div class="h-[1px] w-24 bg-brandCyan mx-auto opacity-30 reveal"></div>
</div>
</section>
<!-- 7. Conclusion -->
<section class="section-screen">
<div class="content-width text-center">
<h2 class="text-6xl mb-12 reveal font-head">Bereit für die <br> <span class="text-gradient">nächste Stufe.</span></h2>
<p class="text-brandLight/40 uppercase tracking-[0.3em] text-xs reveal">Vielen Dank für Ihre Aufmerksamkeit.</p>
</div>
</section>
<!-- Scripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
<script>
gsap.registerPlugin(ScrollTrigger);
const tobyFixed = document.getElementById('toby-fixed');
const tobyBubble = document.getElementById('toby-bubble');
const progressBar = document.getElementById('progress-bar');
const tobyMessages = [
"Willkommen im Cockpit.",
"Live-Daten schlagen Excel.",
"Die Erfolgs-DNA im Blick.",
"Frühwarnsystem aktiviert.",
"Action: Jede 5. Mail ein Treffer.",
"Bereit zum Skalieren.",
"Das ist erst der Anfang."
];
function updateToby(index) {
if (tobyMessages[index]) {
tobyBubble.innerHTML = tobyMessages[index];
gsap.fromTo(tobyBubble, { scale: 0.8, opacity: 0 }, { scale: 1, opacity: 1, duration: 0.4, ease: "back.out(1.7)" });
}
}
// Reveal Animations
gsap.utils.toArray('.reveal').forEach((el, i) => {
gsap.to(el, {
scrollTrigger: {
trigger: el,
start: "top 88%",
toggleActions: "play none none reverse"
},
opacity: 1,
y: 0,
duration: 0.8,
ease: "power2.out"
});
});
// Toby Visibility & Updates
ScrollTrigger.create({
trigger: "body",
start: "100px top",
onEnter: () => gsap.to(tobyFixed, { opacity: 1, duration: 0.5 }),
onLeaveBack: () => gsap.to(tobyFixed, { opacity: 0, duration: 0.5 })
});
const sections = gsap.utils.toArray('section');
sections.forEach((section, i) => {
ScrollTrigger.create({
trigger: section,
start: "top center",
onEnter: () => updateToby(i),
onEnterBack: () => updateToby(i)
});
});
// Progress Bar
gsap.to(progressBar, {
width: "100%",
ease: "none",
scrollTrigger: { scrub: 0.3 }
});
</script>
</body>
</html>