{"id":379333,"date":"2026-02-20T14:08:11","date_gmt":"2026-02-20T13:08:11","guid":{"rendered":"https:\/\/license-library.de\/roi-calculator-2-0\/"},"modified":"2026-02-27T10:14:36","modified_gmt":"2026-02-27T09:14:36","slug":"roi-calculator","status":"publish","type":"page","link":"https:\/\/license-library.de\/en\/roi-calculator\/","title":{"rendered":"ROI CALCULATOR"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;unset&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code admin_label=&#8221;Code &#8211; set language&#8221; _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<script><!-- [et_pb_line_break_holder] -->  window.DEFAULT_LANG = \"en\";<!-- [et_pb_line_break_holder] -->  window.ASSETS_PATH = \"\/wp-content\/uploads\/roi\/assets\/\"<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][et_pb_code admin_label=&#8221;Code &#8211; calculator &#8211; on change update en translation&#8221; _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<!-- React & ReactDOM --><!-- [et_pb_line_break_holder] --><script src=\"\/wp-content\/uploads\/roi\/libs\/react_18.3.1.min.js\"><\/script><!-- [et_pb_line_break_holder] --><script src=\"\/wp-content\/uploads\/roi\/libs\/react-dom_18.3.1.min.js\"><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Babel for JSX --><!-- [et_pb_line_break_holder] --><script src=\"\/wp-content\/uploads\/roi\/libs\/babel_7.29.1.min.js\"><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Tailwind CSS --><!-- [et_pb_line_break_holder] --><script src=\"\/wp-content\/uploads\/roi\/libs\/tailwindcss_3.4.17.js\"><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- PDF libs --><!-- [et_pb_line_break_holder] --><script src=\"\/wp-content\/uploads\/roi\/libs\/html2canvas_1.4.1.min.js\"><\/script><!-- [et_pb_line_break_holder] --><script src=\"\/wp-content\/uploads\/roi\/libs\/jspdf_2.5.1.umd.min.js\"><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Tailwind config: CI Farben + Corbel --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->  tailwind.config = {<!-- [et_pb_line_break_holder] -->    theme: {<!-- [et_pb_line_break_holder] -->      extend: {<!-- [et_pb_line_break_holder] -->        colors: {<!-- [et_pb_line_break_holder] -->          'lili-orange': '#f39200',<!-- [et_pb_line_break_holder] -->          'lili-dark-orange': '#eb6408',<!-- [et_pb_line_break_holder] -->          'lili-yellow': '#fbbb33',<!-- [et_pb_line_break_holder] -->          'lili-blue-grey': '#475362',<!-- [et_pb_line_break_holder] -->          'lili-light-grey': '#b2b2b1',<!-- [et_pb_line_break_holder] -->        },<!-- [et_pb_line_break_holder] -->        fontFamily: {<!-- [et_pb_line_break_holder] -->          sans: ['Corbel', 'Segoe UI', 'sans-serif'],<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"root\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->body #root {<!-- [et_pb_line_break_holder] -->    font-family: 'Corbel', 'Segoe UI', sans-serif;<!-- [et_pb_line_break_holder] -->    background-color: #f9fafb;<!-- [et_pb_line_break_holder] -->    color: #475362;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* Range Slider Customization *\/<!-- [et_pb_line_break_holder] -->#root input[type=range] {<!-- [et_pb_line_break_holder] -->    background: transparent;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#root input[type=\"range\"]::-webkit-slider-thumb {<!-- [et_pb_line_break_holder] -->    -webkit-appearance: none;<!-- [et_pb_line_break_holder] -->    height: 20px;<!-- [et_pb_line_break_holder] -->    width: 20px;<!-- [et_pb_line_break_holder] -->    border-radius: 50%;<!-- [et_pb_line_break_holder] -->    background: #f39200;<!-- [et_pb_line_break_holder] -->    cursor: pointer;<!-- [et_pb_line_break_holder] -->    margin-top: -8px;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 1px 3px rgba(0,0,0,0.3);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#root input[type=\"range\"]::-moz-range-thumb{<!-- [et_pb_line_break_holder] -->    height: 20px;<!-- [et_pb_line_break_holder] -->    width: 20px;<!-- [et_pb_line_break_holder] -->    border-radius: 50%;<!-- [et_pb_line_break_holder] -->    background: #f39200;<!-- [et_pb_line_break_holder] -->    cursor: pointer;<!-- [et_pb_line_break_holder] -->    margin-top: -8px;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 1px 3px rgba(0,0,0,0.3);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#root input[type=\"range\"]::-webkit-slider-runnable-track {<!-- [et_pb_line_break_holder] -->     width: 100%;<!-- [et_pb_line_break_holder] -->     height: 6px;<!-- [et_pb_line_break_holder] -->     cursor: pointer;<!-- [et_pb_line_break_holder] -->     background: #e2e8f0;<!-- [et_pb_line_break_holder] -->     border-radius: 4px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#root input[type=\"range\"]::-moz-range-track  {<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->    height: 6px;<!-- [et_pb_line_break_holder] -->    cursor: pointer;<!-- [et_pb_line_break_holder] -->    background: #e2e8f0;<!-- [et_pb_line_break_holder] -->    border-radius: 4px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#root input[type=\"range\"]:focus::-webkit-slider-thumb {<!-- [et_pb_line_break_holder] -->    box-shadow: 0 0 0 3px rgba(243, 146, 0, 0.3);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#root input[type=\"range\"]:focus-visible::-moz-range-thumb {<!-- [et_pb_line_break_holder] -->    box-shadow: 0 0 0 3px rgba(243, 146, 0, 0.3);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#root input[type=\"range\"]:focus-visible {<!-- [et_pb_line_break_holder] -->    outline: 0 solid #0000;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#root .border, #root .border-r, #root .border-l, #root .border-b, #root .border-t,<!-- [et_pb_line_break_holder] -->#root .border-l-8, #root .border-b-2 {<!-- [et_pb_line_break_holder] -->    border-style:solid;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* PDF template helpers *\/<!-- [et_pb_line_break_holder] -->.pdf-root {<!-- [et_pb_line_break_holder] -->    font-family: 'Corbel', 'Segoe UI', sans-serif !important;<!-- [et_pb_line_break_holder] -->    background: #ffffff !important;<!-- [et_pb_line_break_holder] -->    color: #475362 !important;<!-- [et_pb_line_break_holder] -->    -webkit-font-smoothing: antialiased;<!-- [et_pb_line_break_holder] -->    text-rendering: geometricPrecision;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.pdf-header {<!-- [et_pb_line_break_holder] -->    height: 28mm;<!-- [et_pb_line_break_holder] -->    display: flex;<!-- [et_pb_line_break_holder] -->    align-items: center;<!-- [et_pb_line_break_holder] -->    justify-content: center;<!-- [et_pb_line_break_holder] -->    padding-top: 6mm;<!-- [et_pb_line_break_holder] -->    padding-bottom: 4mm;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.pdf-footer {<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.pdf-content {<!-- [et_pb_line_break_holder] -->    padding-left: 12mm;<!-- [et_pb_line_break_holder] -->    padding-right: 12mm;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.pdf-no-justify {<!-- [et_pb_line_break_holder] -->    text-align: left;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script type=\"text\/babel\"><!-- [et_pb_line_break_holder] -->const { useMemo, useRef, useState } = React;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------------- ICONS ---------------- *\/<!-- [et_pb_line_break_holder] -->const Icon = ({ path, className, style }) => (<!-- [et_pb_line_break_holder] -->  <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\"<!-- [et_pb_line_break_holder] -->       width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"<!-- [et_pb_line_break_holder] -->       fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\"<!-- [et_pb_line_break_holder] -->       strokeLinecap=\"round\" strokeLinejoin=\"round\"<!-- [et_pb_line_break_holder] -->       className={className} style={style}><!-- [et_pb_line_break_holder] -->    {path}<!-- [et_pb_line_break_holder] -->  <\/svg><!-- [et_pb_line_break_holder] -->);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const Icons = {<!-- [et_pb_line_break_holder] -->  Calculator: (props) => <Icon {...props} path={<><rect width=\"16\" height=\"20\" x=\"4\" y=\"2\" rx=\"2\"\/><line x1=\"8\" x2=\"16\" y1=\"6\" y2=\"6\"\/><line x1=\"16\" x2=\"16\" y1=\"14\" y2=\"18\"\/><path d=\"M16 10h.01\"\/><path d=\"M12 10h.01\"\/><path d=\"M8 10h.01\"\/><path d=\"M12 14h.01\"\/><path d=\"M8 14h.01\"\/><path d=\"M12 18h.01\"\/><path d=\"M8 18h.01\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  Info: (props) => <Icon {...props} path={<><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"M12 16v-4\"\/><path d=\"M12 8h.01\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  InfoInv: (props) => <Icon {...props} style={{stroke:\"white\", strokeWidth:3}} path={<><circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"none\" fill='currentColor'\/><path d=\"M12 16v-4\"\/><path d=\"M12 8h.01\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  CheckCircle2: (props) => <Icon {...props} path={<><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m9 12 2 2 4-4\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  TrendingUp: (props) => <Icon {...props} path={<><polyline points=\"22 7 13.5 15.5 8.5 10.5 2 17\"\/><polyline points=\"16 7 22 7 22 13\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  ArrowRight: (props) => <Icon {...props} path={<><path d=\"M5 12h14\"\/><path d=\"m12 5 7 7-7 7\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  Download: (props) => <Icon {...props} path={<><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" x2=\"12\" y1=\"15\" y2=\"3\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  Clock: (props) => <Icon {...props} path={<><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/>} \/>,<!-- [et_pb_line_break_holder] -->  Loader: (props) => <Icon {...props} path={<><path d=\"M21 12a9 9 0 1 1-6.219-8.56\"\/><\/>} \/><!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const Tooltip = (html, className) => {<!-- [et_pb_line_break_holder] -->  const [userToggle, setUserToggle] = useState(false);<!-- [et_pb_line_break_holder] -->  return (<!-- [et_pb_line_break_holder] -->    <button<!-- [et_pb_line_break_holder] -->      className=\"float-right\"<!-- [et_pb_line_break_holder] -->      onFocus={() => setUserToggle(true)}<!-- [et_pb_line_break_holder] -->      onBlur={() => setUserToggle(false)}<!-- [et_pb_line_break_holder] -->      onMouseEnter={() => setUserToggle(true)}<!-- [et_pb_line_break_holder] -->      onMouseLeave={() => setUserToggle(false)}<!-- [et_pb_line_break_holder] -->    ><!-- [et_pb_line_break_holder] -->      <\/p>\n<div className=\"\"><!-- [et_pb_line_break_holder] -->        <Icons.InfoInv className=\"w-6 h-6 p-1\"\/><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      {userToggle && (<!-- [et_pb_line_break_holder] -->        <\/p>\n<div className={\"absolute z-50 left-0 bg-slate-900 text-white text-start text-sm font-bold border border-white px-4 py-2 \" + (className ?? '')}><!-- [et_pb_line_break_holder] -->          {html}<!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      )}<!-- [et_pb_line_break_holder] -->    <\/button><!-- [et_pb_line_break_holder] -->  );<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------------- HELPERS ---------------- *\/<!-- [et_pb_line_break_holder] -->const colors = {<!-- [et_pb_line_break_holder] -->  darkOrange: '#eb6408',<!-- [et_pb_line_break_holder] -->  orange: '#f39200',<!-- [et_pb_line_break_holder] -->  yellow: '#fbbb33',<!-- [et_pb_line_break_holder] -->  blueGrey: '#475362',<!-- [et_pb_line_break_holder] -->  lightGrey: '#b2b2b1',<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const clamp = (n, min, max) => Math.max(min, Math.min(max, n));<!-- [et_pb_line_break_holder] -->const safePercent = (num, denom) => {<!-- [et_pb_line_break_holder] -->  if (!denom || denom <= 0) return 0;<!-- [et_pb_line_break_holder] -->  return clamp((num \/ denom) * 100, 0, 100);<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const formatEUR = (val, locale) =><!-- [et_pb_line_break_holder] -->  new Intl.NumberFormat(locale, {<!-- [et_pb_line_break_holder] -->    style: 'currency',<!-- [et_pb_line_break_holder] -->    currency: 'EUR',<!-- [et_pb_line_break_holder] -->    maximumFractionDigits: 0<!-- [et_pb_line_break_holder] -->  }).format(val);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const formatNumber = (val, locale) =><!-- [et_pb_line_break_holder] -->  new Intl.NumberFormat(locale, { maximumFractionDigits: 1 }).format(val);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const preloadImage = (src) =><!-- [et_pb_line_break_holder] -->  new Promise((resolve) => {<!-- [et_pb_line_break_holder] -->    const img = new Image();<!-- [et_pb_line_break_holder] -->    img.crossOrigin = \"anonymous\";<!-- [et_pb_line_break_holder] -->    img.onload = () => resolve(true);<!-- [et_pb_line_break_holder] -->    img.onerror = () => resolve(false);<!-- [et_pb_line_break_holder] -->    img.src = src;<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------------- I18N ---------------- *\/<!-- [et_pb_line_break_holder] -->const STRINGS = {<!-- [et_pb_line_break_holder] -->  de: {<!-- [et_pb_line_break_holder] -->    langLabel: \"Sprache\",<!-- [et_pb_line_break_holder] -->    langDE: \"Deutsch\",<!-- [et_pb_line_break_holder] -->    langEN: \"Englisch\",<!-- [et_pb_line_break_holder] -->    title: \"ROI durch individuelle Zeitersparnis\",<!-- [et_pb_line_break_holder] -->    intro: \"Allein durch drastisch verk\u00fcrzte Recherchezeit von Quellen \u2013 also Herstellerdokumenten - und deren detaillierten Lizenzierungsinformationen zu den jeweiligen Softwareprodukten erzielen Sie messbare Gewinne. Dieser Rechner zeigt Ihnen, wie sich die Investition rein \u00fcber die Zeitersparnis rechnet.\",<!-- [et_pb_line_break_holder] -->    paramsTitle: \"Ihre Parameter\",<!-- [et_pb_line_break_holder] -->    tasksLabel: \"Recherchevorg\u00e4nge pro Woche\",<!-- [et_pb_line_break_holder] -->    taskTimeLabel: \"Pr\u00fcfdauer je Vorgang (Std.)\",<!-- [et_pb_line_break_holder] -->    salaryLabel: \"Jahresbrutto (Mitarbeiter)\",<!-- [et_pb_line_break_holder] -->    hint: \"Kalkulation basiert auf 43 Arbeitswochen inkl. 23% Lohnnebenkosten.\",<!-- [et_pb_line_break_holder] -->    benefitTitle: \"Der License Library Vorteil\",<!-- [et_pb_line_break_holder] -->    benefit1: \"Reduktion auf \u00d8 10 Min. Recherche\",<!-- [et_pb_line_break_holder] -->    benefit2: \"Validierte Herstellerinformationen\",<!-- [et_pb_line_break_holder] -->    benefit3: \"Inklusive Experten-Support\",<!-- [et_pb_line_break_holder] -->    roiStatus: \"ROI Status\",<!-- [et_pb_line_break_holder] -->    roiSub: \"Return on Investment (ROI)\",<!-- [et_pb_line_break_holder] -->    amortTitle: \"Amortisation\",<!-- [et_pb_line_break_holder] -->    amortSub: \"Break-Even Punkt erreicht.\",<!-- [et_pb_line_break_holder] -->    amortImmediate: \"Sofort\",<!-- [et_pb_line_break_holder] -->    amortAfter: (m) => `nach ${m} Monaten`,<!-- [et_pb_line_break_holder] -->    amortOverYear: \"> 12 Monate\",<!-- [et_pb_line_break_holder] -->    costCompare: \"Kostenvergleich\",<!-- [et_pb_line_break_holder] -->    yearlyView: \"J\u00e4hrliche Betrachtung\",<!-- [et_pb_line_break_holder] -->    manualResearch: \"Manuelle Recherche\",<!-- [et_pb_line_break_holder] -->    withLL: \"Mit License Library\",<!-- [et_pb_line_break_holder] -->    personnel: \"Personal\",<!-- [et_pb_line_break_holder] -->    license: \"Lizenz\",<!-- [et_pb_line_break_holder] -->    hours: \"Std.\",<!-- [et_pb_line_break_holder] -->    savingsTitle: \"Ihr J\u00e4hrliches Einsparpotenzial\",<!-- [et_pb_line_break_holder] -->    savingsText: (lic, pers) => `Dieser Betrag ist Ihr Reingewinn, der allein durch die effizientere Recherche entsteht. Er verbleibt Ihnen nach vollst\u00e4ndigem Abzug der Lizenzgeb\u00fchr (${lic}) und der anfallenden Personalkosten (${pers}).`,<!-- [et_pb_line_break_holder] -->    cta: \"Jetzt Testphase starten\",<!-- [et_pb_line_break_holder] -->    ctaLink: \"\/jetzt-testen\/\",<!-- [et_pb_line_break_holder] -->    pdfBtn: \"PDF Zusammenfassung herunterladen\",<!-- [et_pb_line_break_holder] -->    pdfWorking: \"PDF wird erstellt...\",<!-- [et_pb_line_break_holder] -->    pdfError: \"Entschuldigung, beim Erstellen des PDFs ist ein Fehler aufgetreten.\",<!-- [et_pb_line_break_holder] -->    pdfFile: \"LicenseLibrary_Management_Summary_DE.pdf\",<!-- [et_pb_line_break_holder] -->    pdfParams: \"Ihre Parameter\",<!-- [et_pb_line_break_holder] -->    pdfCalcNote: \"*Kalkulation: 43 Wochen, 23% Lohnnebenkosten.\",<!-- [et_pb_line_break_holder] -->    pdfRoi: \"ROI Status\",<!-- [et_pb_line_break_holder] -->    pdfRoiSub: \"Return on Investment\",<!-- [et_pb_line_break_holder] -->    pdfAmort: \"Amortisation\",<!-- [et_pb_line_break_holder] -->    pdfAmortSub: \"Break-Even Punkt\",<!-- [et_pb_line_break_holder] -->    pdfInvestCovered: \"Investition gedeckt\",<!-- [et_pb_line_break_holder] -->    pdfCostCompare: \"Kostenvergleich (J\u00e4hrlich)\",<!-- [et_pb_line_break_holder] -->    pdfSavingsSub: \"Reingewinn nach Abzug aller Kosten.\",<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    manualResearchTip: \"Die manuelle Recherche ohne Unterst\u00fctzung durch die License Library verursacht deutlich h\u00f6here Kosten. Viele dieser Vorg\u00e4nge erfordern umfassendes Fachwissen, die Suche nach schwer auffindbaren Quellen und zeitintensive Abstimmungen \u2013 Ressourcen, die besser in strategische Aufgaben investiert werden k\u00f6nnten.\",<!-- [et_pb_line_break_holder] -->    withLLTip: \"Mit der License Library lassen sich Ihre manuellen Rechercheaufw\u00e4nde drastisch reduzieren. Unsere Plattform bietet Ihnen direkten Zugang zu validierten Informationen, spart wertvolle Zeit und vermeidet unn\u00f6tige Kosten.\",<!-- [et_pb_line_break_holder] -->    tasksLabelTip:<!-- [et_pb_line_break_holder] -->      <\/p>\n<div><!-- [et_pb_line_break_holder] -->        <pee className=\"mb-2 p-0\">Mit wie vielen Vorg\u00e4ngen verbringen Sie w\u00f6chentlich Ihre Zeit? Recherchevorg\u00e4nge entstehen zum Beispiel durch<\/pee><!-- [et_pb_line_break_holder] -->        <\/p>\n<ul className=\"list-disc ms-3 p-0\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Internetrecherchen f\u00fcr Quellen & Dokumente<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Informationsbedarf an Nutzungsrechten & Regulatorik-Datenpunkten<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Recherchen f\u00fcr Ihren Freigabeprozess<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Recherchen zu OSS, Fonts, Volumenlizenzvertr\u00e4gen, Use Cases<\/li>\n<p><!-- [et_pb_line_break_holder] -->        <\/ul>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p>,<!-- [et_pb_line_break_holder] -->    taskTimeLabelTip:<!-- [et_pb_line_break_holder] -->      <\/p>\n<div><!-- [et_pb_line_break_holder] -->        <pee className=\"mb-2 p-0\">Wie lange dauert es durchschnittlich, bis Sie einen Vorgang abgeschlossen haben?<\/pee><!-- [et_pb_line_break_holder] -->        <pee className=\"mb-2 p-0\">F\u00fcr die Berechnung bestimmen Sie bitte den zeitlichen Umfang Ihrer Recherchevorg\u00e4nge. Ber\u00fccksichtigen Sie folgende Faktoren, die die Dauer Ihrer Recherchen beeinflussen k\u00f6nnen:<\/pee><!-- [et_pb_line_break_holder] -->        <\/p>\n<ul className=\"list-disc ms-3 mb-2 p-0\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Bekanntheitsgrad des Herstellers (z.B. A- bis C-Vendoren)<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Bereitgestellte Quellen durch den Hersteller und deren Auffindbarkeit (Lizenz- und Support-Portale, Direktkommunikation)<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Art und Qualit\u00e4t der Nutzungsrechttexte (z.B. stark verklausulierte oder unklare Lizenzparameter)<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Zeitaufwand f\u00fcr interne Kommunikation<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Ben\u00f6tigte weiterf\u00fchrende Informationen (z.B. zur Analyse von Volumenlizenzvertr\u00e4gen, Schriften oder Urheberrechten)<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<li>Problemstellungen, die eine Dienstleisterbeauftragung erforderlich machen (Software bzw. Lizenzierungs-Use Cases)<\/li>\n<p><!-- [et_pb_line_break_holder] -->        <\/ul>\n<p><!-- [et_pb_line_break_holder] -->        <pee>Leiten Sie aus diesen Faktoren Ihre ben\u00f6tigten Zeitaufw\u00e4nde ab.<\/pee><!-- [et_pb_line_break_holder] -->      <\/div>\n<p>,<!-- [et_pb_line_break_holder] -->    salaryLabelTip:<!-- [et_pb_line_break_holder] -->      <\/p>\n<div><!-- [et_pb_line_break_holder] -->        <pee className=\"mb-2 p-0\">Wie viel verdienen Sie bzw. Ihre Mitarbeiter?<\/pee><!-- [et_pb_line_break_holder] -->        <pee className=\"mb-2 p-0\">Um Ihre Einsparpotenziale berechnen zu k\u00f6nnen, ben\u00f6tigen wir Angaben zu Ihren Personalkosten. (Hinweis: Ihre Angaben werden nicht gespeichert und ausschlie\u00dflich f\u00fcr die Berechnung Ihres individuellen ROI verwendet.)<\/pee><!-- [et_pb_line_break_holder] -->        <pee>Zur Erhebung des monet\u00e4ren Aufwandes geben Sie bitte das Jahresbruttogehalt an. Die Gehaltsspanne f\u00fcr Lizenzmanager liegt laut StepStone zwischen 47.900 \u20ac und 66.200 \u20ac Jahresbrutto (Stand Februar 2026). Durch Outsourcing oder variierende Standortkosten k\u00f6nnen Ihre Werte abweichen.<\/pee><!-- [et_pb_line_break_holder] -->      <\/div>\n<p>,<!-- [et_pb_line_break_holder] -->},<!-- [et_pb_line_break_holder] -->  en: {<!-- [et_pb_line_break_holder] -->    langLabel: \"Language\",<!-- [et_pb_line_break_holder] -->    langDE: \"German\",<!-- [et_pb_line_break_holder] -->    langEN: \"English\",<!-- [et_pb_line_break_holder] -->    title: \"ROI through individual time savings\",<!-- [et_pb_line_break_holder] -->    intro: \"By drastically reducing research time for sources (manufacturer documents) and detailed licensing information for software products, measurable gains are achieved. This calculator shows how the investment pays off purely through time savings.\",<!-- [et_pb_line_break_holder] -->    paramsTitle: \"Your parameters\",<!-- [et_pb_line_break_holder] -->    tasksLabel: \"Research tasks per week\",<!-- [et_pb_line_break_holder] -->    taskTimeLabel: \"Review time per task (hrs)\",<!-- [et_pb_line_break_holder] -->    salaryLabel: \"Annual gross salary (employee)\",<!-- [et_pb_line_break_holder] -->    hint: \"Calculation based on 43 working weeks incl. 23% employer costs.\",<!-- [et_pb_line_break_holder] -->    benefitTitle: \"License Library advantage\",<!-- [et_pb_line_break_holder] -->    benefit1: \"Reduction to \u00d8 10 min research\",<!-- [et_pb_line_break_holder] -->    benefit2: \"Validated manufacturer information\",<!-- [et_pb_line_break_holder] -->    benefit3: \"Includes expert support\",<!-- [et_pb_line_break_holder] -->    roiStatus: \"ROI status\",<!-- [et_pb_line_break_holder] -->    roiSub: \"Return on Investment (ROI)\",<!-- [et_pb_line_break_holder] -->    amortTitle: \"Payback\",<!-- [et_pb_line_break_holder] -->    amortSub: \"Break-even reached.\",<!-- [et_pb_line_break_holder] -->    amortImmediate: \"Immediate\",<!-- [et_pb_line_break_holder] -->    amortAfter: (m) => `after ${m} months`,<!-- [et_pb_line_break_holder] -->    amortOverYear: \"> 12 months\",<!-- [et_pb_line_break_holder] -->    costCompare: \"Cost comparison\",<!-- [et_pb_line_break_holder] -->    yearlyView: \"Yearly view\",<!-- [et_pb_line_break_holder] -->    manualResearch: \"Manual research\",<!-- [et_pb_line_break_holder] -->    withLL: \"With License Library\",<!-- [et_pb_line_break_holder] -->    personnel: \"Personnel\",<!-- [et_pb_line_break_holder] -->    license: \"License\",<!-- [et_pb_line_break_holder] -->    hours: \"hrs\",<!-- [et_pb_line_break_holder] -->    savingsTitle: \"Your annual savings potential\",<!-- [et_pb_line_break_holder] -->    savingsText: (lic, pers) => `This amount is your net gain achieved purely through more efficient research. It remains after fully deducting the license fee (${lic}) and personnel costs (${pers}).`,<!-- [et_pb_line_break_holder] -->    cta: \"Start trial now\",<!-- [et_pb_line_break_holder] -->    ctaLink: \"\/en\/test-us-now\/\",<!-- [et_pb_line_break_holder] -->    pdfBtn: \"Download PDF summary\",<!-- [et_pb_line_break_holder] -->    pdfWorking: \"Generating PDF...\",<!-- [et_pb_line_break_holder] -->    pdfError: \"Sorry, an error occurred while creating the PDF.\",<!-- [et_pb_line_break_holder] -->    pdfFile: \"LicenseLibrary_Management_Summary_EN.pdf\",<!-- [et_pb_line_break_holder] -->    pdfParams: \"Your parameters\",<!-- [et_pb_line_break_holder] -->    pdfCalcNote: \"*Calculation: 43 weeks, 23% employer costs.\",<!-- [et_pb_line_break_holder] -->    pdfRoi: \"ROI status\",<!-- [et_pb_line_break_holder] -->    pdfRoiSub: \"Return on Investment\",<!-- [et_pb_line_break_holder] -->    pdfAmort: \"Payback\",<!-- [et_pb_line_break_holder] -->    pdfAmortSub: \"Break-even point\",<!-- [et_pb_line_break_holder] -->    pdfInvestCovered: \"Investment covered\",<!-- [et_pb_line_break_holder] -->    pdfCostCompare: \"Cost comparison (yearly)\",<!-- [et_pb_line_break_holder] -->    pdfSavingsSub: \"Net gain after all costs.\",<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    manualResearchTip: \"Manual research without the support of the License Library incurs significantly higher costs. Many of these tasks require extensive specialist knowledge, searching for hard-to-find sources, and time-consuming coordination\u2014resources that could be better invested in strategic tasks.\",<!-- [et_pb_line_break_holder] -->    withLLTip: \"The License Library can drastically reduce your manual research efforts. Our platform offers you direct access to validated information, saving you valuable time and avoiding unnecessary costs.\",<!-- [et_pb_line_break_holder] -->    tasksLabelTip:<!-- [et_pb_line_break_holder] -->        <\/p>\n<div><!-- [et_pb_line_break_holder] -->          <pee className=\"mb-2 p-0\">How many tasks do you spend your time on each week? Research tasks arise, for example, from<\/pee><!-- [et_pb_line_break_holder] -->          <\/p>\n<ul className=\"list-disc ms-3 p-0\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Internet research for sources and documents<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Information requirements regarding use rights and regulatory data points<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Research for your approval process<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Research on OSS, fonts, volume license agreements, and use cases<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/ul>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p>,<!-- [et_pb_line_break_holder] -->    taskTimeLabelTip:<!-- [et_pb_line_break_holder] -->        <\/p>\n<div><!-- [et_pb_line_break_holder] -->          <pee className=\"mb-2 p-0\">How long does it take you on average to complete a task?<\/pee><!-- [et_pb_line_break_holder] -->          <pee className=\"mb-2 p-0\">To calculate the cost, please determine the time required for your research tasks. Take into account the following factors that may influence the duration of your research:<\/pee><!-- [et_pb_line_break_holder] -->          <\/p>\n<ul className=\"list-disc ms-3 mb-2 p-0\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Level of recognition of the manufacturer (e.g., A to C vendors)<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Sources provided by the manufacturer and their accessibility (license and support portals, direct communication)<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Type and quality of the use right texts (e.g., highly convoluted or unclear license parameters)<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Time required for internal communication<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Additional information required (e.g., for analyzing volume license agreements, fonts, or copyrights)<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<li>Issues that require the involvement of a service provider (software or licensing use cases)<\/li>\n<p><!-- [et_pb_line_break_holder] -->          <\/ul>\n<p><!-- [et_pb_line_break_holder] -->          <pee>Use these factors to determine how much time you will require.<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p>,<!-- [et_pb_line_break_holder] -->    salaryLabelTip:<!-- [et_pb_line_break_holder] -->        <\/p>\n<div><!-- [et_pb_line_break_holder] -->          <pee className=\"mb-2 p-0\">How much do you or your employees earn?<\/pee><!-- [et_pb_line_break_holder] -->          <pee className=\"mb-2 p-0\">To calculate your potential savings, we need information about your personnel costs. (Note: Your information will not be stored and will only be used to calculate your individual ROI.)<\/pee><!-- [et_pb_line_break_holder] -->          <pee>To calculate the monetary expenditure, please enter the gross annual salary. According to StepStone, the salary range for License Managers is between \u20ac47,900 and \u20ac66,200 gross per annum (as of February 2026). Your figures may vary due to outsourcing or varying location costs.<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------------- UI COMPONENTS ---------------- *\/<!-- [et_pb_line_break_holder] -->const InputSlider = ({ label, tooltip, value, min, max, step, onChange, unit, subLabels, locale }) => (<!-- [et_pb_line_break_holder] -->  <\/p>\n<div className=\"mb-8 last:mb-0\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div className=\"flex justify-between items-center mb-3\"><!-- [et_pb_line_break_holder] -->      <label className=\"font-bold text-base text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->        {label}<!-- [et_pb_line_break_holder] -->      <\/label><!-- [et_pb_line_break_holder] -->      {Tooltip(tooltip)}<!-- [et_pb_line_break_holder] -->      <span className=\"flex-grow\"><\/span><!-- [et_pb_line_break_holder] -->      <span className=\"bg-orange-50 px-3 py-1 rounded-lg font-bold text-lg text-lili-dark-orange\"><!-- [et_pb_line_break_holder] -->        {unit === '\u20ac' ? formatEUR(value, locale) : unit ? `${value} ${unit}` : `${value}`}<!-- [et_pb_line_break_holder] -->      <\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <input<!-- [et_pb_line_break_holder] -->      type=\"range\" min={min} max={max} step={step} value={value}<!-- [et_pb_line_break_holder] -->      onChange={(e) => onChange(Number(e.target.value))}<!-- [et_pb_line_break_holder] -->      className=\"w-full h-2 rounded-lg appearance-none cursor-pointer bg-slate-200\"<!-- [et_pb_line_break_holder] -->    \/><!-- [et_pb_line_break_holder] -->    {subLabels && (<!-- [et_pb_line_break_holder] -->      <\/p>\n<div className=\"flex justify-between text-xs text-slate-400 mt-2 font-medium\"><!-- [et_pb_line_break_holder] -->        {subLabels.map((l, i) => <span key={i}>{l}<\/span>)}<!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    )}<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------------- MAIN APP ---------------- *\/<!-- [et_pb_line_break_holder] -->const ROICalculator = () => {<!-- [et_pb_line_break_holder] -->  const initialLang = (window.DEFAULT_LANG === \"en\") ? \"en\" : \"de\";<!-- [et_pb_line_break_holder] -->  const [lang, setLang] = useState(initialLang);<!-- [et_pb_line_break_holder] -->  const t = STRINGS[lang];<!-- [et_pb_line_break_holder] -->  const locale = lang === \"de\" ? \"de-DE\" : \"en-GB\";<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const [tasksPerWeek, setTasksPerWeek] = useState(3);<!-- [et_pb_line_break_holder] -->  const [hoursPerTask, setHoursPerTask] = useState(1.5);<!-- [et_pb_line_break_holder] -->  const [salary, setSalary] = useState(50000);<!-- [et_pb_line_break_holder] -->  const [isGeneratingPDF, setIsGeneratingPDF] = useState(false);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const pdfTemplateRef = useRef(null);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Constants<!-- [et_pb_line_break_holder] -->  const WEEKS_PER_YEAR = 43;<!-- [et_pb_line_break_holder] -->  const SALARY_BURDEN_FACTOR = 1.23;<!-- [et_pb_line_break_holder] -->  const YEARLY_HOURS = 1720;<!-- [et_pb_line_break_holder] -->  const LICENSE_COST = 2150;<!-- [et_pb_line_break_holder] -->  const NEW_TIME_PER_TASK_MINUTES = 10;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Calculations<!-- [et_pb_line_break_holder] -->  const hourlyRate = (salary * SALARY_BURDEN_FACTOR) \/ YEARLY_HOURS;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const tasksPerYear = tasksPerWeek * WEEKS_PER_YEAR;<!-- [et_pb_line_break_holder] -->  const totalHoursOld = tasksPerYear * hoursPerTask;<!-- [et_pb_line_break_holder] -->  const costOld = totalHoursOld * hourlyRate;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const totalHoursNew = tasksPerYear * (NEW_TIME_PER_TASK_MINUTES \/ 60);<!-- [et_pb_line_break_holder] -->  const costPersonnelNew = totalHoursNew * hourlyRate;<!-- [et_pb_line_break_holder] -->  const totalCostNew = costPersonnelNew + LICENSE_COST;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const savingsYearly = costOld - totalCostNew;<!-- [et_pb_line_break_holder] -->  const yearlyPersonnelSavings = costOld - costPersonnelNew;<!-- [et_pb_line_break_holder] -->  const monthsToAmortize = yearlyPersonnelSavings > 0<!-- [et_pb_line_break_holder] -->    ? (LICENSE_COST \/ (yearlyPersonnelSavings \/ 12))<!-- [et_pb_line_break_holder] -->    : 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const isProfitable = savingsYearly > 0;<!-- [et_pb_line_break_holder] -->  const roiPercentage = LICENSE_COST > 0 ? (savingsYearly \/ LICENSE_COST) * 100 : 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const amortText = useMemo(() => {<!-- [et_pb_line_break_holder] -->    if (monthsToAmortize > 0 && monthsToAmortize < 12) return t.amortAfter(formatNumber(monthsToAmortize, locale));<!-- [et_pb_line_break_holder] -->    if (monthsToAmortize <= 0) return t.amortImmediate;<!-- [et_pb_line_break_holder] -->    return t.amortOverYear;<!-- [et_pb_line_break_holder] -->  }, [monthsToAmortize, t, locale]);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const handleDownloadPDF = async () => {<!-- [et_pb_line_break_holder] -->    if (!pdfTemplateRef.current) return;<!-- [et_pb_line_break_holder] -->    setIsGeneratingPDF(true);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      if (document.fonts && document.fonts.ready) {<!-- [et_pb_line_break_holder] -->        await document.fonts.ready;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      await Promise.all([<!-- [et_pb_line_break_holder] -->        preloadImage(\"\/wp-content\/uploads\/roi\/assets\/LicenseLibrary_LOGO_final.png\"),<!-- [et_pb_line_break_holder] -->        preloadImage(\"\/wp-content\/uploads\/roi\/assets\/footer_visual.png\"),<!-- [et_pb_line_break_holder] -->      ]);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const el = pdfTemplateRef.current;<!-- [et_pb_line_break_holder] -->      const rect = el.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->      const windowWidth = Math.ceil(rect.width) || 794;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const canvas = await html2canvas(el, {<!-- [et_pb_line_break_holder] -->        scale: 2,<!-- [et_pb_line_break_holder] -->        useCORS: true,<!-- [et_pb_line_break_holder] -->        allowTaint: false,<!-- [et_pb_line_break_holder] -->        logging: false,<!-- [et_pb_line_break_holder] -->        backgroundColor: \"#ffffff\",<!-- [et_pb_line_break_holder] -->        windowWidth,<!-- [et_pb_line_break_holder] -->        scrollX: 0,<!-- [et_pb_line_break_holder] -->        scrollY: 0,<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const imgData = canvas.toDataURL(\"image\/jpeg\", 1.0);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const { jsPDF } = window.jspdf;<!-- [et_pb_line_break_holder] -->      const pdf = new jsPDF(\"p\", \"mm\", \"a4\");<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const pageW = 210;<!-- [et_pb_line_break_holder] -->      const pageH = 297;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Aspect-ratio safe placement (no stretching)<!-- [et_pb_line_break_holder] -->      const imgWpx = canvas.width;<!-- [et_pb_line_break_holder] -->      const imgHpx = canvas.height;<!-- [et_pb_line_break_holder] -->      const imgRatio = imgWpx \/ imgHpx;<!-- [et_pb_line_break_holder] -->      const pageRatio = pageW \/ pageH;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      let renderW, renderH, offsetX, offsetY;<!-- [et_pb_line_break_holder] -->      if (imgRatio > pageRatio) {<!-- [et_pb_line_break_holder] -->        renderW = pageW;<!-- [et_pb_line_break_holder] -->        renderH = pageW \/ imgRatio;<!-- [et_pb_line_break_holder] -->        offsetX = 0;<!-- [et_pb_line_break_holder] -->        offsetY = (pageH - renderH) \/ 2;<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        renderH = pageH;<!-- [et_pb_line_break_holder] -->        renderW = pageH * imgRatio;<!-- [et_pb_line_break_holder] -->        offsetX = (pageW - renderW) \/ 2;<!-- [et_pb_line_break_holder] -->        offsetY = 0;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      pdf.addImage(imgData, \"JPG\", offsetX, offsetY, renderW, renderH);<!-- [et_pb_line_break_holder] -->      pdf.save(t.pdfFile);<!-- [et_pb_line_break_holder] -->    } catch (err) {<!-- [et_pb_line_break_holder] -->      console.error(\"PDF Generation failed:\", err);<!-- [et_pb_line_break_holder] -->      alert(t.pdfError);<!-- [et_pb_line_break_holder] -->    } finally {<!-- [et_pb_line_break_holder] -->      setIsGeneratingPDF(false);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  return (<!-- [et_pb_line_break_holder] -->    <\/p>\n<div className=\"min-h-screen p-4 md:p-8 font-sans bg-slate-50 text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div className=\"max-w-6xl mx-auto\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        {\/* Header *\/}<!-- [et_pb_line_break_holder] -->        <\/p>\n<header className=\"mb-12\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"grid grid-cols-1 md:grid-cols-3 gap-8 items-end\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"md:col-span-2\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<h1 className=\"text-3xl md:text-4xl font-bold mb-4 text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->                {t.title}<!-- [et_pb_line_break_holder] -->              <\/h1>\n<p><!-- [et_pb_line_break_holder] -->              <pee className=\"text-lili-blue-grey text-lg leading-relaxed\"><!-- [et_pb_line_break_holder] -->                {t.intro}<!-- [et_pb_line_break_holder] -->              <\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"h-1 w-24 rounded-full mt-8 bg-lili-orange\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/header>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        {\/* Content *\/}<!-- [et_pb_line_break_holder] -->        <\/p>\n<div className=\"grid grid-cols-1 lg:grid-cols-12 gap-8\"><!-- [et_pb_line_break_holder] -->          {\/* Inputs *\/}<!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"lg:col-span-5 space-y-8\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"relative bg-white rounded-2xl shadow-sm border border-slate-100 p-8\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<h2 className=\"text-xl font-bold mb-8 flex items-center gap-2 text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->                <Icons.Calculator className=\"w-6 h-6 text-lili-orange\" \/><!-- [et_pb_line_break_holder] -->                {t.paramsTitle}<!-- [et_pb_line_break_holder] -->              <\/h2>\n<p><!-- [et_pb_line_break_holder] -->              <InputSlider<!-- [et_pb_line_break_holder] -->                label={t.tasksLabel}<!-- [et_pb_line_break_holder] -->                tooltip={t.tasksLabelTip}<!-- [et_pb_line_break_holder] -->                value={tasksPerWeek}<!-- [et_pb_line_break_holder] -->                min={1}<!-- [et_pb_line_break_holder] -->                max={20}<!-- [et_pb_line_break_holder] -->                step={1}<!-- [et_pb_line_break_holder] -->                onChange={setTasksPerWeek}<!-- [et_pb_line_break_holder] -->                unit=\"\"<!-- [et_pb_line_break_holder] -->                locale={locale}<!-- [et_pb_line_break_holder] -->                subLabels={lang === \"de\"<!-- [et_pb_line_break_holder] -->                  ? ['Wenige (1)', 'Standard (10)', 'Intensiv (20)']<!-- [et_pb_line_break_holder] -->                  : ['Low (1)', 'Typical (10)', 'High (20)']}<!-- [et_pb_line_break_holder] -->              \/><!-- [et_pb_line_break_holder] -->              <InputSlider<!-- [et_pb_line_break_holder] -->                label={t.taskTimeLabel}<!-- [et_pb_line_break_holder] -->                tooltip={t.taskTimeLabelTip}<!-- [et_pb_line_break_holder] -->                value={hoursPerTask}<!-- [et_pb_line_break_holder] -->                min={0.5}<!-- [et_pb_line_break_holder] -->                max={5.0}<!-- [et_pb_line_break_holder] -->                step={0.5}<!-- [et_pb_line_break_holder] -->                onChange={setHoursPerTask}<!-- [et_pb_line_break_holder] -->                unit=\"h\"<!-- [et_pb_line_break_holder] -->                locale={locale}<!-- [et_pb_line_break_holder] -->                subLabels={lang === \"de\"<!-- [et_pb_line_break_holder] -->                  ? ['Einfach (0.5h)', 'Komplex (5.0h)']<!-- [et_pb_line_break_holder] -->                  : ['Simple (0.5h)', 'Complex (5.0h)']}<!-- [et_pb_line_break_holder] -->              \/><!-- [et_pb_line_break_holder] -->              <InputSlider<!-- [et_pb_line_break_holder] -->                label={t.salaryLabel}<!-- [et_pb_line_break_holder] -->                tooltip={t.salaryLabelTip}<!-- [et_pb_line_break_holder] -->                value={salary}<!-- [et_pb_line_break_holder] -->                min={30000}<!-- [et_pb_line_break_holder] -->                max={100000}<!-- [et_pb_line_break_holder] -->                step={1000}<!-- [et_pb_line_break_holder] -->                onChange={setSalary}<!-- [et_pb_line_break_holder] -->                unit=\"\u20ac\"<!-- [et_pb_line_break_holder] -->                locale={locale}<!-- [et_pb_line_break_holder] -->                subLabels={lang === \"de\"<!-- [et_pb_line_break_holder] -->                  ? ['Junior (30k)', 'Senior (100k)']<!-- [et_pb_line_break_holder] -->                  : ['Junior (30k)', 'Senior (100k)']}<!-- [et_pb_line_break_holder] -->              \/><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"mt-6 p-4 bg-slate-50 rounded-xl border border-slate-100 flex gap-3 text-sm text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->                <Icons.Info className=\"w-5 h-5 flex-shrink-0 text-slate-400\" \/><!-- [et_pb_line_break_holder] -->                <pee>{t.hint}<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            {\/* Benefit card *\/}<!-- [et_pb_line_break_holder] -->            <div<!-- [et_pb_line_break_holder] -->              className=\"rounded-2xl shadow-lg p-8 text-white relative overflow-hidden\"<!-- [et_pb_line_break_holder] -->              style={{ background: `linear-gradient(135deg, ${colors.darkOrange} 0%, ${colors.orange} 100%)` }}<!-- [et_pb_line_break_holder] -->            ><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"relative z-10\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h3 className=\"font-bold text-xl text-white mb-4\">{t.benefitTitle}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<ul className=\"space-y-3\"><!-- [et_pb_line_break_holder] -->                  <\/p>\n<li className=\"flex gap-3 items-center\"><!-- [et_pb_line_break_holder] -->                    \n<div className=\"bg-white\/20 p-1 rounded-full\"><Icons.CheckCircle2 className=\"w-4 h-4 text-white\" \/><\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <span className=\"font-medium\">{t.benefit1}<\/span><!-- [et_pb_line_break_holder] -->                  <\/li>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<li className=\"flex gap-3 items-center\"><!-- [et_pb_line_break_holder] -->                    \n<div className=\"bg-white\/20 p-1 rounded-full\"><Icons.CheckCircle2 className=\"w-4 h-4 text-white\" \/><\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <span className=\"font-medium\">{t.benefit2}<\/span><!-- [et_pb_line_break_holder] -->                  <\/li>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<li className=\"flex gap-3 items-center\"><!-- [et_pb_line_break_holder] -->                    \n<div className=\"bg-white\/20 p-1 rounded-full\"><Icons.CheckCircle2 className=\"w-4 h-4 text-white\" \/><\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <span className=\"font-medium\">{t.benefit3}<\/span><!-- [et_pb_line_break_holder] -->                  <\/li>\n<p><!-- [et_pb_line_break_holder] -->                <\/ul>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"absolute -bottom-10 -right-10 w-40 h-40 bg-white\/10 rounded-full blur-2xl\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          {\/* Results *\/}<!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"lg:col-span-7 space-y-8\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"grid grid-cols-1 md:grid-cols-2 gap-6\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"bg-white p-8 rounded-2xl shadow-sm border border-slate-100 flex flex-col justify-between h-full min-h-[140px]\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"flex items-center gap-2 mb-2\"><!-- [et_pb_line_break_holder] -->                  <Icons.TrendingUp className=\"w-5 h-5 text-lili-orange\" \/><!-- [et_pb_line_break_holder] -->                  <span className=\"font-bold text-lili-blue-grey\">{t.roiStatus}<\/span><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-3xl font-bold text-green-600 mb-1\">{formatNumber(roiPercentage, locale)}%<\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <pee className=\"text-sm text-lili-blue-grey\">{t.roiSub}<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"bg-white p-8 rounded-2xl shadow-sm border border-slate-100 flex flex-col justify-between h-full min-h-[140px]\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"flex items-center gap-2 mb-2\"><!-- [et_pb_line_break_holder] -->                  <Icons.Info className=\"w-5 h-5 text-lili-orange\" \/><!-- [et_pb_line_break_holder] -->                  <span className=\"font-bold text-lili-blue-grey\">{t.amortTitle}<\/span><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-2xl font-bold text-lili-blue-grey\">{amortText}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <pee className=\"text-sm text-lili-blue-grey\">{t.amortSub}<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"relative bg-white rounded-2xl shadow-lg border border-slate-100 p-8\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"flex justify-between items-center mb-8 border-b border-slate-100 pb-4\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h3 className=\"font-bold text-xl text-lili-blue-grey\">{t.costCompare}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->                <span className=\"text-xs font-bold bg-slate-100 text-lili-blue-grey px-3 py-1.5 rounded-full\"><!-- [et_pb_line_break_holder] -->                  {t.yearlyView}<!-- [et_pb_line_break_holder] -->                <\/span><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"flex flex-col gap-8\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"space-y-3\"><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"flex justify-between items-baseline\"><!-- [et_pb_line_break_holder] -->                    <span className=\"text-lili-blue-grey font-bold\"><!-- [et_pb_line_break_holder] -->                      {t.manualResearch}<!-- [et_pb_line_break_holder] -->                      {Tooltip(t.manualResearchTip, \"sm:ms-6 sm:w-2\/3\")}<!-- [et_pb_line_break_holder] -->                    <\/span><!-- [et_pb_line_break_holder] -->                    <span className=\"text-lili-blue-grey font-bold text-lg\">{formatEUR(costOld, locale)}<\/span><!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"h-14 w-full bg-slate-100 rounded-xl relative overflow-hidden flex items-center px-4 border border-slate-200\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div className=\"flex items-center gap-2\"><!-- [et_pb_line_break_holder] -->                      <Icons.Clock className=\"w-4 h-4 text-slate-400\" \/><!-- [et_pb_line_break_holder] -->                      <span className=\"font-bold text-lili-blue-grey text-sm\">{formatNumber(totalHoursOld, locale)} {t.hours}<\/span><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"space-y-3\"><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"flex justify-between items-baseline\"><!-- [et_pb_line_break_holder] -->                    <span className=\"text-lili-dark-orange font-bold\"><!-- [et_pb_line_break_holder] -->                      {t.withLL}<!-- [et_pb_line_break_holder] -->                      {Tooltip(t.withLLTip, \"sm:ms-6 sm:w-2\/3\")}<!-- [et_pb_line_break_holder] -->                    <\/span><!-- [et_pb_line_break_holder] -->                    <span className=\"text-lili-dark-orange font-bold text-lg\">{formatEUR(totalCostNew, locale)}<\/span><!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"h-14 w-full bg-green-50\/50 rounded-xl relative overflow-hidden flex ring-1 ring-slate-200\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div className=\"absolute inset-0 opacity-20\"<!-- [et_pb_line_break_holder] -->                         style={{ backgroundImage: 'radial-gradient(#22c55e 1px, transparent 1px)', backgroundSize: '8px 8px' }} \/><!-- [et_pb_line_break_holder] -->                    <div<!-- [et_pb_line_break_holder] -->                      className=\"h-full bg-lili-blue-grey relative border-r border-white\/20\"<!-- [et_pb_line_break_holder] -->                      style={{ width: `${safePercent(costPersonnelNew, costOld)}%`, minWidth: '8px' }}<!-- [et_pb_line_break_holder] -->                    \/><!-- [et_pb_line_break_holder] -->                    <div<!-- [et_pb_line_break_holder] -->                      className=\"h-full bg-lili-orange relative\"<!-- [et_pb_line_break_holder] -->                      style={{ width: `${safePercent(LICENSE_COST, costOld)}%`, minWidth: '8px' }}<!-- [et_pb_line_break_holder] -->                    \/><!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"flex flex-wrap gap-3 mt-2\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div className=\"inline-flex items-center gap-2 bg-slate-50 px-3 py-1.5 rounded-lg border border-slate-100 text-sm\"><!-- [et_pb_line_break_holder] -->                      <\/p>\n<div className=\"w-2.5 h-2.5 rounded-full bg-lili-blue-grey\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->                      <span className=\"text-lili-blue-grey\">{t.personnel}: <strong>{formatEUR(costPersonnelNew, locale)}<\/strong><\/span><!-- [et_pb_line_break_holder] -->                      <span className=\"text-slate-400 text-xs border-l border-slate-200 pl-2 ml-1\"><!-- [et_pb_line_break_holder] -->                        {formatNumber(totalHoursNew, locale)} {t.hours}<!-- [et_pb_line_break_holder] -->                      <\/span><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div className=\"inline-flex items-center gap-2 bg-slate-50 px-3 py-1.5 rounded-lg border border-slate-100 text-sm\"><!-- [et_pb_line_break_holder] -->                      <\/p>\n<div className=\"w-2.5 h-2.5 rounded-full bg-lili-orange\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->                      <span className=\"text-lili-blue-grey\">{t.license}: <strong>{formatEUR(LICENSE_COST, locale)}<\/strong><\/span><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className={`bg-white rounded-2xl shadow-lg border-l-8 p-8 flex flex-col md:flex-row items-center justify-between gap-6 ${isProfitable ? 'border-l-lili-dark-orange' : 'border-l-lili-light-grey'}`}><!-- [et_pb_line_break_holder] -->              <\/p>\n<div><!-- [et_pb_line_break_holder] -->                <\/p>\n<h3 className=\"text-lg font-bold uppercase tracking-wider text-slate-400 mb-2\">{t.savingsTitle}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->                <pee className=\"text-lili-blue-grey text-sm max-w-sm leading-relaxed\"><!-- [et_pb_line_break_holder] -->                  {t.savingsText(formatEUR(LICENSE_COST, locale), formatEUR(costPersonnelNew, locale))}<!-- [et_pb_line_break_holder] -->                <\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className={`text-5xl md:text-6xl font-bold tracking-tight whitespace-nowrap text-right ${isProfitable ? 'text-lili-dark-orange' : 'text-lili-light-grey'}`}><!-- [et_pb_line_break_holder] -->                {formatEUR(savingsYearly, locale)}<!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"flex justify-between pt-2 pb-8\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"\" data-html2canvas-ignore=\"true\"><!-- [et_pb_line_break_holder] -->                <button<!-- [et_pb_line_break_holder] -->                  onClick={handleDownloadPDF}<!-- [et_pb_line_break_holder] -->                  disabled={isGeneratingPDF}<!-- [et_pb_line_break_holder] -->                  className={!isProfitable ? 'hidden ' : \"text-sm font-medium text-slate-400 hover:text-lili-blue-grey flex items-center gap-1 mx-auto transition-colors disabled:opacity-50\"}<!-- [et_pb_line_break_holder] -->                  type=\"button\"<!-- [et_pb_line_break_holder] -->                ><!-- [et_pb_line_break_holder] -->                  {isGeneratingPDF<!-- [et_pb_line_break_holder] -->                    ? <><Icons.Loader className=\"w-4 h-4 animate-spin\" \/> {t.pdfWorking}<\/><!-- [et_pb_line_break_holder] -->                    : <><Icons.Download className=\"w-4 h-4\" \/> {t.pdfBtn}<\/><!-- [et_pb_line_break_holder] -->                  }<!-- [et_pb_line_break_holder] -->                <\/button><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <a<!-- [et_pb_line_break_holder] -->                href={t.ctaLink}<!-- [et_pb_line_break_holder] -->                target=\"_blank\"<!-- [et_pb_line_break_holder] -->                rel=\"noopener noreferrer\"<!-- [et_pb_line_break_holder] -->                className=\"text-white font-bold py-4 px-8 rounded-xl shadow-lg transition-all flex items-center gap-3 hover:opacity-90 hover:translate-x-1 bg-lili-dark-orange\"<!-- [et_pb_line_break_holder] -->              ><!-- [et_pb_line_break_holder] -->                {t.cta}<!-- [et_pb_line_break_holder] -->                <Icons.ArrowRight className=\"w-5 h-5\" \/><!-- [et_pb_line_break_holder] -->              <\/a><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      {\/* ===================== HIDDEN A4 PDF TEMPLATE ===================== *\/}<!-- [et_pb_line_break_holder] -->      <div<!-- [et_pb_line_break_holder] -->        ref={pdfTemplateRef}<!-- [et_pb_line_break_holder] -->        style={{<!-- [et_pb_line_break_holder] -->          position: 'fixed',<!-- [et_pb_line_break_holder] -->          left: '-9999px',<!-- [et_pb_line_break_holder] -->          top: 0,<!-- [et_pb_line_break_holder] -->          width: '210mm',<!-- [et_pb_line_break_holder] -->          minHeight: '297mm',<!-- [et_pb_line_break_holder] -->          padding: 0,<!-- [et_pb_line_break_holder] -->        }}<!-- [et_pb_line_break_holder] -->        className=\"pdf-root flex flex-col relative\"<!-- [et_pb_line_break_holder] -->      ><!-- [et_pb_line_break_holder] -->        {\/* Header *\/}<!-- [et_pb_line_break_holder] -->        <\/p>\n<div className=\"pdf-header w-full bg-white\"><!-- [et_pb_line_break_holder] -->          <img<!-- [et_pb_line_break_holder] -->            src={`${window.ASSETS_PATH}LicenseLibrary_LOGO_final.png`}<!-- [et_pb_line_break_holder] -->            alt=\"Logo\"<!-- [et_pb_line_break_holder] -->            style={{ height: '50px', objectFit: 'contain' }}<!-- [et_pb_line_break_holder] -->            crossOrigin=\"anonymous\"<!-- [et_pb_line_break_holder] -->            onError={(e) => { e.target.style.display = 'none'; }}<!-- [et_pb_line_break_holder] -->          \/><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        {\/* Content *\/}<!-- [et_pb_line_break_holder] -->        <\/p>\n<div className=\"pdf-content flex-grow\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"mb-6 border-b-2 border-lili-orange pb-3\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h1 className=\"text-3xl font-bold text-lili-blue-grey mb-2\">{t.title}<\/h1>\n<p><!-- [et_pb_line_break_holder] -->            <pee className=\"text-lili-blue-grey text-sm leading-relaxed pdf-no-justify\">{t.intro}<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"flex gap-8 mb-6\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"w-1\/3 bg-slate-50 p-6 rounded-xl border border-slate-100\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<h2 className=\"text-lg font-bold text-lili-blue-grey mb-4 border-b border-slate-200 pb-2\"><!-- [et_pb_line_break_holder] -->                {t.pdfParams}<!-- [et_pb_line_break_holder] -->              <\/h2>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"space-y-4\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xs text-slate-400 uppercase tracking-wider font-bold\"><!-- [et_pb_line_break_holder] -->                    {lang === \"de\" ? \"Vorg\u00e4nge \/ Woche\" : \"Ops \/ week\"}<!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xl font-bold text-lili-dark-orange\">{tasksPerWeek}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xs text-slate-400 uppercase tracking-wider font-bold\"><!-- [et_pb_line_break_holder] -->                    {lang === \"de\" ? \"Pr\u00fcfdauer (Std)\" : \"Time per op (hrs)\"}<!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xl font-bold text-lili-dark-orange\">{hoursPerTask} h<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xs text-slate-400 uppercase tracking-wider font-bold\"><!-- [et_pb_line_break_holder] -->                    {lang === \"de\" ? \"Jahresbrutto\" : \"Annual salary\"}<!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xl font-bold text-lili-dark-orange\">{formatEUR(salary, locale)}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"mt-6 text-[10px] text-slate-400 leading-tight\"><!-- [et_pb_line_break_holder] -->                {t.pdfCalcNote}<!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"w-2\/3 flex flex-col gap-4\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"flex-1 bg-white border border-slate-200 rounded-xl p-6 flex items-center justify-between\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-sm font-bold text-lili-blue-grey uppercase\">{t.pdfRoi}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xs text-slate-400\">{t.pdfRoiSub}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"text-4xl font-bold text-green-600\">{formatNumber(roiPercentage, locale)}%<\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"flex-1 bg-white border border-slate-200 rounded-xl p-6 flex items-center justify-between\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-sm font-bold text-lili-blue-grey uppercase\">{t.pdfAmort}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xs text-slate-400\">{t.pdfAmortSub}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"text-right\"><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-2xl font-bold text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->                    {amortText}<!-- [et_pb_line_break_holder] -->                  <\/div>\n<p><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"text-xs text-green-600 font-medium\">{t.pdfInvestCovered}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"mb-6 p-6 border border-slate-200 rounded-xl bg-white\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3 className=\"font-bold text-lg text-lili-blue-grey mb-6\">{t.pdfCostCompare}<\/h3>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"mb-6\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"flex justify-between text-sm mb-2 font-bold text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->                <span>{t.manualResearch} ({formatNumber(totalHoursOld, locale)} {t.hours})<\/span><!-- [et_pb_line_break_holder] -->                <span>{formatEUR(costOld, locale)}<\/span><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"w-full bg-slate-100 h-6 rounded border border-slate-200\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"h-full bg-slate-300 rounded\" style={{ width: '100%' }}><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"flex justify-between text-sm mb-2 font-bold text-lili-dark-orange\"><!-- [et_pb_line_break_holder] -->                <span>{t.withLL}<\/span><!-- [et_pb_line_break_holder] -->                <span>{formatEUR(totalCostNew, locale)}<\/span><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"w-full bg-green-50 h-6 rounded border border-green-100 relative overflow-hidden flex\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"h-full bg-lili-blue-grey\" style={{ width: `${safePercent(costPersonnelNew, costOld)}%` }}><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div className=\"h-full bg-lili-orange\" style={{ width: `${safePercent(LICENSE_COST, costOld)}%` }}><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div className=\"flex gap-4 ms-1 text-[10px] text-lili-blue-grey\"><!-- [et_pb_line_break_holder] -->                <span className=\"flex items-center gap-1\"><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"w-2 h-2 mt-3 rounded-full bg-lili-blue-grey\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->                  {t.personnel}: {formatEUR(costPersonnelNew, locale)}<!-- [et_pb_line_break_holder] -->                <\/span><!-- [et_pb_line_break_holder] -->                <span className=\"flex items-center gap-1\"><!-- [et_pb_line_break_holder] -->                  <\/p>\n<div className=\"w-2 h-2 mt-3 rounded-full bg-lili-orange\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->                  {t.license}: {formatEUR(LICENSE_COST, locale)}<!-- [et_pb_line_break_holder] -->                <\/span><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div className=\"bg-lili-blue-grey p-8 pt-1 rounded-xl flex items-center justify-between shadow-sm\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div><!-- [et_pb_line_break_holder] -->              <\/p>\n<h3 className=\"text-lg text-white font-bold uppercase tracking-wider opacity-80 my-2\">{t.savingsTitle}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->              <pee className=\"text-xs text-slate-300 max-w-sm\">{t.pdfSavingsSub}<\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div className=\"text-5xl font-bold text-lili-orange mb-6\">{formatEUR(savingsYearly, locale)}<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        {\/* Footer *\/}<!-- [et_pb_line_break_holder] -->        <\/p>\n<div className=\"pdf-footer mt-auto\"><!-- [et_pb_line_break_holder] -->          <img<!-- [et_pb_line_break_holder] -->            src={`${window.ASSETS_PATH}footer_visual.png`}<!-- [et_pb_line_break_holder] -->            alt=\"Footer Visual\"<!-- [et_pb_line_break_holder] -->            className=\"w-full\"<!-- [et_pb_line_break_holder] -->            crossOrigin=\"anonymous\"<!-- [et_pb_line_break_holder] -->            onError={(e) => { e.target.style.display = 'none'; }}<!-- [et_pb_line_break_holder] -->          \/><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  );<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const root = ReactDOM.createRoot(document.getElementById('root'));<!-- [et_pb_line_break_holder] -->root.render(<ROICalculator \/>);<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","iawp_total_views":47,"footnotes":""},"class_list":["post-379333","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ROI CALCULATOR | License Library<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/license-library.de\/en\/roi-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ROI CALCULATOR | License Library\" \/>\n<meta property=\"og:url\" content=\"https:\/\/license-library.de\/en\/roi-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"License Library\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ccpsoftwaregmbh\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-27T09:14:36+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/license-library.de\\\/en\\\/roi-calculator\\\/\",\"url\":\"https:\\\/\\\/license-library.de\\\/en\\\/roi-calculator\\\/\",\"name\":\"ROI CALCULATOR | License Library\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/license-library.de\\\/en\\\/#website\"},\"datePublished\":\"2026-02-20T13:08:11+00:00\",\"dateModified\":\"2026-02-27T09:14:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/license-library.de\\\/en\\\/roi-calculator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/license-library.de\\\/en\\\/roi-calculator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/license-library.de\\\/en\\\/roi-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/license-library.de\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ROI CALCULATOR\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/license-library.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/license-library.de\\\/en\\\/\",\"name\":\"License Library\",\"description\":\"Das All-In-One Portal der Software-Lizenzierung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/license-library.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ROI CALCULATOR | License Library","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/license-library.de\/en\/roi-calculator\/","og_locale":"en_US","og_type":"article","og_title":"ROI CALCULATOR | License Library","og_url":"https:\/\/license-library.de\/en\/roi-calculator\/","og_site_name":"License Library","article_publisher":"https:\/\/www.facebook.com\/ccpsoftwaregmbh\/","article_modified_time":"2026-02-27T09:14:36+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/license-library.de\/en\/roi-calculator\/","url":"https:\/\/license-library.de\/en\/roi-calculator\/","name":"ROI CALCULATOR | License Library","isPartOf":{"@id":"https:\/\/license-library.de\/en\/#website"},"datePublished":"2026-02-20T13:08:11+00:00","dateModified":"2026-02-27T09:14:36+00:00","breadcrumb":{"@id":"https:\/\/license-library.de\/en\/roi-calculator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/license-library.de\/en\/roi-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/license-library.de\/en\/roi-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/license-library.de\/en\/"},{"@type":"ListItem","position":2,"name":"ROI CALCULATOR"}]},{"@type":"WebSite","@id":"https:\/\/license-library.de\/en\/#website","url":"https:\/\/license-library.de\/en\/","name":"License Library","description":"Das All-In-One Portal der Software-Lizenzierung","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/license-library.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/pages\/379333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/comments?post=379333"}],"version-history":[{"count":23,"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/pages\/379333\/revisions"}],"predecessor-version":[{"id":379414,"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/pages\/379333\/revisions\/379414"}],"wp:attachment":[{"href":"https:\/\/license-library.de\/en\/wp-json\/wp\/v2\/media?parent=379333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}