{"id":271,"date":"2026-09-06T21:18:15","date_gmt":"2026-09-06T19:18:15","guid":{"rendered":"http:\/\/rajvero.pl\/?page_id=271"},"modified":"2026-09-06T21:46:57","modified_gmt":"2026-09-06T19:46:57","slug":"dla-pracodawcy-rajvero","status":"publish","type":"page","link":"https:\/\/rajvero.pl\/index.php\/dla-pracodawcy-rajvero\/","title":{"rendered":"Dla pracodawcy \u2013 Rajvero"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"271\" class=\"elementor elementor-271\">\n\t\t\t\t<div class=\"elementor-element elementor-element-59b3a65 e-flex e-con-boxed e-con e-parent\" data-id=\"59b3a65\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aee5100 elementor-widget elementor-widget-html\" data-id=\"aee5100\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n#rv-employer{\n  --navy:#061426;\n  --panel:#0d2038;\n  --blue:#1594ff;\n  --blue2:#0876e5;\n  --white:#f8fbff;\n  --muted:#9aabc0;\n  --line:#29435f;\n  width:100vw;\n  min-height:100vh;\n  margin-left:calc(50% - 50vw);\n  background:\n    radial-gradient(circle at 75% 15%,rgba(21,148,255,.15),transparent 32%),\n    var(--navy);\n  color:var(--white);\n  font-family:Arial,Helvetica,sans-serif;\n  box-sizing:border-box;\n}\n\n#rv-employer *{box-sizing:border-box}\n\n#rv-employer button,\n#rv-employer input,\n#rv-employer textarea{\n  font:inherit;\n}\n\n#rv-employer button{cursor:pointer}\n\n.rve-wrap{\n  width:min(1180px,92%);\n  margin:auto;\n}\n\n.rve-header{\n  min-height:86px;\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  border-bottom:1px solid rgba(255,255,255,.08);\n}\n\n.rve-logo{\n  display:block;\n  width:235px;\n}\n\n.rve-logo svg{\n  display:block;\n  width:100%;\n  height:auto;\n}\n\n.rve-back{\n  color:#c5d1df!important;\n  text-decoration:none!important;\n  padding:11px 17px;\n  border:1px solid var(--line);\n  border-radius:10px;\n}\n\n.rve-main{\n  display:grid;\n  grid-template-columns:330px 1fr;\n  gap:34px;\n  padding:54px 0 80px;\n}\n\n.rve-side,\n.rve-form{\n  background:rgba(13,32,56,.94);\n  border:1px solid var(--line);\n  border-radius:22px;\n}\n\n.rve-side{\n  padding:28px;\n  align-self:start;\n}\n\n.rve-badge{\n  display:inline-block;\n  padding:7px 11px;\n  color:#75bdff;\n  background:#102f50;\n  border-radius:20px;\n  font-size:13px;\n}\n\n.rve-side h1{\n  margin:20px 0 14px;\n  font-size:29px;\n  line-height:1.15;\n}\n\n.rve-side p{\n  color:var(--muted);\n  line-height:1.55;\n}\n\n.rve-benefits{\n  list-style:none;\n  padding:0;\n  margin:25px 0 0;\n}\n\n.rve-benefits li{\n  display:flex;\n  gap:10px;\n  margin:15px 0;\n  color:#d8e2ed;\n}\n\n.rve-check{\n  color:#25c779;\n  font-weight:900;\n}\n\n.rve-form{\n  min-height:650px;\n  overflow:hidden;\n  display:flex;\n  flex-direction:column;\n}\n\n.rve-form-head{\n  padding:20px 24px;\n  display:flex;\n  align-items:center;\n  gap:13px;\n  border-bottom:1px solid var(--line);\n}\n\n.rve-avatar{\n  width:48px;\n  height:48px;\n  display:grid;\n  place-items:center;\n  color:#fff;\n  background:linear-gradient(135deg,var(--blue2),#45b3ff);\n  border-radius:14px;\n  font-size:22px;\n}\n\n.rve-online{\n  color:#35cb7b;\n  font-size:13px;\n}\n\n.rve-progress-area{\n  padding:18px 24px 5px;\n}\n\n.rve-progress-info{\n  display:flex;\n  justify-content:space-between;\n  margin-bottom:8px;\n  color:var(--muted);\n  font-size:13px;\n}\n\n.rve-progress{\n  height:7px;\n  overflow:hidden;\n  background:#172f4b;\n  border-radius:20px;\n}\n\n.rve-progress-bar{\n  width:0;\n  height:100%;\n  background:linear-gradient(90deg,var(--blue2),#43b4ff);\n  border-radius:20px;\n  transition:.35s;\n}\n\n.rve-conversation{\n  flex:1;\n  max-height:430px;\n  padding:25px;\n  overflow:auto;\n}\n\n.rve-message{\n  max-width:82%;\n  padding:14px 17px;\n  margin-bottom:14px;\n  border-radius:16px;\n  line-height:1.5;\n  animation:rveShow .25s ease;\n}\n\n.rve-message.ai{\n  color:#102033;\n  background:#eef3f8;\n  border-bottom-left-radius:5px;\n}\n\n.rve-message.user{\n  margin-left:auto;\n  color:#fff;\n  background:var(--blue2);\n  border-bottom-right-radius:5px;\n}\n\n@keyframes rveShow{\n  from{opacity:0;transform:translateY(7px)}\n  to{opacity:1;transform:none}\n}\n\n.rve-answer{\n  padding:20px 24px 24px;\n  background:#0a1a2e;\n  border-top:1px solid var(--line);\n}\n\n.rve-field{\n  width:100%;\n  min-height:54px;\n  padding:14px 16px;\n  color:#fff!important;\n  background:#10243d!important;\n  border:1px solid #36526f!important;\n  border-radius:11px!important;\n  outline:none;\n}\n\n.rve-field:focus{\n  border-color:var(--blue)!important;\n}\n\n.rve-field::placeholder{\n  color:#7f91a7;\n}\n\ntextarea.rve-field{\n  min-height:100px;\n  resize:vertical;\n}\n\n.rve-choice-grid{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:10px;\n}\n\n.rve-choice{\n  min-height:50px;\n  padding:10px;\n  color:#dce8f4!important;\n  background:#10243d!important;\n  border:1px solid #36526f!important;\n  border-radius:11px!important;\n}\n\n.rve-choice:hover,\n.rve-choice.selected{\n  color:#fff!important;\n  background:#0d78dc!important;\n  border-color:#2fa6ff!important;\n}\n\n.rve-error{\n  display:none;\n  margin-top:10px;\n  color:#ff9d9d;\n  font-size:13px;\n}\n\n.rve-controls{\n  display:flex;\n  justify-content:space-between;\n  gap:12px;\n  margin-top:15px;\n}\n\n.rve-button{\n  min-height:50px;\n  padding:0 22px;\n  border:0!important;\n  border-radius:11px!important;\n  font-weight:800!important;\n}\n\n.rve-next{\n  margin-left:auto;\n  color:#fff!important;\n  background:var(--blue2)!important;\n}\n\n.rve-prev{\n  color:#bdd0e4!important;\n  background:transparent!important;\n  border:1px solid #36526f!important;\n}\n\n.rve-summary{\n  padding:22px;\n  color:#102033;\n  background:#fff;\n  border-radius:18px;\n}\n\n.rve-summary h2{\n  margin:0 0 7px;\n  font-size:25px;\n}\n\n.rve-score{\n  margin-bottom:18px;\n  color:#16a864;\n  font-weight:800;\n}\n\n.rve-summary-row{\n  padding:11px 0;\n  border-bottom:1px solid #e2e8ef;\n}\n\n.rve-summary-row span{\n  display:block;\n  margin-bottom:3px;\n  color:#6d7b8c;\n  font-size:12px;\n}\n\n.rve-summary-actions{\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px;\n  margin-top:18px;\n}\n\n.rve-save{\n  width:100%;\n  color:#fff!important;\n  background:linear-gradient(135deg,#0876e5,#1594ff)!important;\n  box-shadow:0 10px 28px rgba(8,118,229,.25);\n}\n\n.rve-save:disabled{\n  cursor:not-allowed;\n  opacity:.65;\n}\n\n.rve-edit{\n  color:#fff!important;\n  background:#0876e5!important;\n}\n\n.rve-copy{\n  color:#173553!important;\n  background:#dce9f6!important;\n}\n\n.rve-restart{\n  color:#173553!important;\n  background:#edf1f6!important;\n}\n\n.rve-save-status{\n  display:none;\n  margin-top:14px;\n  padding:13px 15px;\n  border-radius:10px;\n  font-size:14px;\n  line-height:1.45;\n}\n\n.rve-save-status.success{\n  display:block;\n  color:#087444;\n  background:#ddf8eb;\n  border:1px solid #93dfb9;\n}\n\n.rve-save-status.error{\n  display:block;\n  color:#9b2525;\n  background:#ffe7e7;\n  border:1px solid #f1abab;\n}\n\n.rve-note{\n  margin-top:15px;\n  color:#718094;\n  font-size:12px;\n  line-height:1.45;\n}\n\n.rve-honeypot{\n  position:absolute!important;\n  left:-10000px!important;\n  width:1px!important;\n  height:1px!important;\n  overflow:hidden!important;\n}\n\n@media(max-width:800px){\n  .rve-logo{width:195px}\n\n  .rve-back{\n    padding:11px 14px;\n    font-size:0;\n  }\n\n  .rve-back:after{\n    content:\"\u2190\";\n    font-size:22px;\n  }\n\n  .rve-main{\n    grid-template-columns:1fr;\n    padding-top:25px;\n  }\n\n  .rve-side{display:none}\n\n  .rve-form{\n    min-height:calc(100vh - 130px);\n    border-radius:17px;\n  }\n\n  .rve-conversation{\n    max-height:none;\n    padding:18px;\n  }\n\n  .rve-message{max-width:92%}\n  .rve-choice-grid{grid-template-columns:1fr}\n  .rve-answer{padding:16px}\n}\n<\/style>\n\n<div id=\"rv-employer\">\n\n  <header class=\"rve-wrap rve-header\">\n\n    <a class=\"rve-logo\" href=\"https:\/\/rajvero.pl\/\" aria-label=\"Rajvero\">\n      <svg viewBox=\"0 0 390 90\">\n        <defs>\n          <linearGradient id=\"rveGradient\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n            <stop offset=\"0%\" stop-color=\"#095ce8\"\/>\n            <stop offset=\"55%\" stop-color=\"#289aff\"\/>\n            <stop offset=\"100%\" stop-color=\"#67c5ff\"\/>\n          <\/linearGradient>\n        <\/defs>\n\n        <path fill=\"url(#rveGradient)\"\n          d=\"M8 8h48c18 0 29 11 29 27 0 12-7 21-18 25l22 22H65L46 63H29v19H8V45h47c6 0 10-4 10-9s-4-9-10-9H8V8zm21 55L8 84V63h21z\"\/>\n\n        <text x=\"105\" y=\"63\"\n          fill=\"#ffffff\"\n          font-family=\"Arial,Helvetica,sans-serif\"\n          font-size=\"47\"\n          font-weight=\"800\"\n          letter-spacing=\"2\">RAJVERO<\/text>\n      <\/svg>\n    <\/a>\n\n    <a class=\"rve-back\" href=\"https:\/\/rajvero.pl\/\">\n      \u2190 Strona g\u0142\u00f3wna\n    <\/a>\n\n  <\/header>\n\n  <main class=\"rve-wrap rve-main\">\n\n    <aside class=\"rve-side\">\n\n      <div class=\"rve-badge\">\n        Panel pracodawcy \u2014 wersja testowa\n      <\/div>\n\n      <h1>Znajd\u017a w\u0142a\u015bciwego pracownika<\/h1>\n\n      <p>\n        Opisz stanowisko krok po kroku. Oferta zostanie zapisana\n        w panelu Rajvero i b\u0119dzie gotowa do p\u00f3\u017aniejszego dopasowania\n        kandydat\u00f3w.\n      <\/p>\n\n      <ul class=\"rve-benefits\">\n        <li><span class=\"rve-check\">\u2713<\/span> Oko\u0142o 5 minut<\/li>\n        <li><span class=\"rve-check\">\u2713<\/span> Przejrzyste wymagania<\/li>\n        <li><span class=\"rve-check\">\u2713<\/span> Mo\u017cliwo\u015b\u0107 poprawienia danych<\/li>\n        <li><span class=\"rve-check\">\u2713<\/span> Bezpieczny zapis oferty<\/li>\n      <\/ul>\n\n    <\/aside>\n\n    <section class=\"rve-form\">\n\n      <div class=\"rve-form-head\">\n        <div class=\"rve-avatar\">\u2726<\/div>\n\n        <div>\n          <strong>Asystent pracodawcy Rajvero<\/strong><br>\n          <span class=\"rve-online\">\u25cf Tworzenie oferty aktywne<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"rve-progress-area\">\n\n        <div class=\"rve-progress-info\">\n          <span id=\"rve-step-label\">Pytanie 1 z 12<\/span>\n          <span id=\"rve-percent\">8%<\/span>\n        <\/div>\n\n        <div class=\"rve-progress\">\n          <div class=\"rve-progress-bar\" id=\"rve-progress-bar\"><\/div>\n        <\/div>\n\n      <\/div>\n\n      <div class=\"rve-conversation\" id=\"rve-conversation\"><\/div>\n      <div class=\"rve-answer\" id=\"rve-answer\"><\/div>\n\n    <\/section>\n\n  <\/main>\n\n<\/div>\n\n<script>\n(function(){\n\n  const questions = [\n    {\n      key:\"company\",\n      label:\"Firma\",\n      question:\"Jak nazywa si\u0119 Twoja firma?\",\n      type:\"text\",\n      placeholder:\"Wpisz nazw\u0119 firmy\"\n    },\n    {\n      key:\"position\",\n      label:\"Stanowisko\",\n      question:\"Na jakie stanowisko szukasz pracownika?\",\n      type:\"text\",\n      placeholder:\"Np. kierowca C+E, kucharz, magazynier\"\n    },\n    {\n      key:\"location\",\n      label:\"Miejsce pracy\",\n      question:\"Gdzie znajduje si\u0119 miejsce pracy?\",\n      type:\"text\",\n      placeholder:\"Np. Stalowa Wola, ul. Przemys\u0142owa\"\n    },\n    {\n      key:\"workMode\",\n      label:\"Tryb pracy\",\n      question:\"W jakim trybie b\u0119dzie wykonywana praca?\",\n      type:\"choice\",\n      options:[\n        \"Stacjonarnie\",\n        \"Zdalnie\",\n        \"Hybrydowo\",\n        \"Praca mobilna\"\n      ]\n    },\n    {\n      key:\"contract\",\n      label:\"Forma zatrudnienia\",\n      question:\"Jak\u0105 form\u0119 zatrudnienia oferujesz?\",\n      type:\"choice\",\n      options:[\n        \"Umowa o prac\u0119\",\n        \"Umowa zlecenie\",\n        \"B2B\",\n        \"Do uzgodnienia\"\n      ]\n    },\n    {\n      key:\"salary\",\n      label:\"Wynagrodzenie\",\n      question:\"Jakie wynagrodzenie oferujesz?\",\n      type:\"text\",\n      placeholder:\"Np. 6000\u20138000 z\u0142 brutto miesi\u0119cznie\"\n    },\n    {\n      key:\"duties\",\n      label:\"Zakres obowi\u0105zk\u00f3w\",\n      question:\"Jakie b\u0119d\u0105 najwa\u017cniejsze obowi\u0105zki pracownika?\",\n      type:\"textarea\",\n      placeholder:\"Opisz najwa\u017cniejsze zadania na tym stanowisku\"\n    },\n    {\n      key:\"requirements\",\n      label:\"Wymagania konieczne\",\n      question:\"Jakie wymagania kandydat musi spe\u0142ni\u0107?\",\n      type:\"textarea\",\n      placeholder:\"Np. prawo jazdy C+E, minimum rok do\u015bwiadczenia\"\n    },\n    {\n      key:\"advantages\",\n      label:\"Dodatkowe atuty\",\n      question:\"Co b\u0119dzie dodatkowym atutem, ale nie jest konieczne?\",\n      type:\"textarea\",\n      placeholder:\"Np. znajomo\u015b\u0107 j\u0119zyka, dodatkowe uprawnienia\"\n    },\n    {\n      key:\"start\",\n      label:\"Termin rozpocz\u0119cia\",\n      question:\"Kiedy pracownik mo\u017ce rozpocz\u0105\u0107 prac\u0119?\",\n      type:\"choice\",\n      options:[\n        \"Od zaraz\",\n        \"W ci\u0105gu 2 tygodni\",\n        \"W ci\u0105gu miesi\u0105ca\",\n        \"Termin do uzgodnienia\"\n      ]\n    },\n    {\n      key:\"email\",\n      label:\"E-mail kontaktowy\",\n      question:\"Na jaki adres e-mail Rajvero ma przesy\u0142a\u0107 kandydat\u00f3w?\",\n      type:\"email\",\n      placeholder:\"Np. rekrutacja@firma.pl\"\n    },\n    {\n      key:\"phone\",\n      label:\"Telefon kontaktowy\",\n      question:\"Podaj numer telefonu kontaktowego do firmy.\",\n      type:\"tel\",\n      placeholder:\"Np. 500 000 000\"\n    }\n  ];\n\n  const answers = {};\n  let step = 0;\n  let selectedChoice = \"\";\n  let offerSaved = false;\n\n  const conversation =\n    document.getElementById(\"rve-conversation\");\n\n  const answerBox =\n    document.getElementById(\"rve-answer\");\n\n  const progressBar =\n    document.getElementById(\"rve-progress-bar\");\n\n  const stepLabel =\n    document.getElementById(\"rve-step-label\");\n\n  const percentLabel =\n    document.getElementById(\"rve-percent\");\n\n  function addMessage(text,type){\n    const message = document.createElement(\"div\");\n    message.className = \"rve-message \" + type;\n    message.textContent = text;\n    conversation.appendChild(message);\n    conversation.scrollTop = conversation.scrollHeight;\n  }\n\n  function updateProgress(){\n    const percent =\n      Math.round(((step + 1) \/ questions.length) * 100);\n\n    progressBar.style.width = percent + \"%\";\n\n    stepLabel.textContent =\n      \"Pytanie \" + (step + 1) + \" z \" + questions.length;\n\n    percentLabel.textContent = percent + \"%\";\n  }\n\n  function renderQuestion(){\n    selectedChoice = \"\";\n    answerBox.innerHTML = \"\";\n    updateProgress();\n\n    const q = questions[step];\n    addMessage(q.question,\"ai\");\n\n    let field;\n\n    if(q.type === \"choice\"){\n      field = document.createElement(\"div\");\n      field.className = \"rve-choice-grid\";\n\n      q.options.forEach(function(option){\n        const button = document.createElement(\"button\");\n\n        button.type = \"button\";\n        button.className = \"rve-choice\";\n        button.textContent = option;\n\n        if(answers[q.key] === option){\n          selectedChoice = option;\n          button.classList.add(\"selected\");\n        }\n\n        button.onclick = function(){\n          selectedChoice = option;\n\n          field.querySelectorAll(\".rve-choice\")\n            .forEach(function(item){\n              item.classList.remove(\"selected\");\n            });\n\n          button.classList.add(\"selected\");\n          hideError();\n        };\n\n        field.appendChild(button);\n      });\n\n    }else if(q.type === \"textarea\"){\n      field = document.createElement(\"textarea\");\n      field.className = \"rve-field\";\n      field.placeholder = q.placeholder;\n      field.value = answers[q.key] || \"\";\n      field.addEventListener(\"input\",hideError);\n\n    }else{\n      field = document.createElement(\"input\");\n      field.type = q.type === \"email\"\n        ? \"email\"\n        : q.type === \"tel\"\n        ? \"tel\"\n        : \"text\";\n\n      field.className = \"rve-field\";\n      field.placeholder = q.placeholder;\n      field.value = answers[q.key] || \"\";\n      field.addEventListener(\"input\",hideError);\n    }\n\n    answerBox.appendChild(field);\n\n    const error = document.createElement(\"div\");\n    error.className = \"rve-error\";\n    error.id = \"rve-error\";\n    error.textContent = \"Uzupe\u0142nij lub wybierz odpowied\u017a.\";\n    answerBox.appendChild(error);\n\n    const controls = document.createElement(\"div\");\n    controls.className = \"rve-controls\";\n\n    if(step > 0){\n      const previous = document.createElement(\"button\");\n\n      previous.type = \"button\";\n      previous.className = \"rve-button rve-prev\";\n      previous.textContent = \"\u2190 Wstecz\";\n      previous.onclick = goBack;\n\n      controls.appendChild(previous);\n    }\n\n    const next = document.createElement(\"button\");\n\n    next.type = \"button\";\n    next.className = \"rve-button rve-next\";\n\n    next.textContent =\n      step === questions.length - 1\n      ? \"Sprawd\u017a ofert\u0119\"\n      : \"Dalej \u2192\";\n\n    next.onclick = submitAnswer;\n    controls.appendChild(next);\n\n    answerBox.appendChild(controls);\n\n    if(q.type !== \"choice\"){\n      setTimeout(function(){\n        field.focus();\n      },100);\n\n      field.addEventListener(\"keydown\",function(event){\n        if(event.key === \"Enter\" && q.type !== \"textarea\"){\n          event.preventDefault();\n          submitAnswer();\n        }\n      });\n    }\n  }\n\n  function showError(text){\n    const error = document.getElementById(\"rve-error\");\n\n    if(error){\n      error.textContent = text || \"Uzupe\u0142nij lub wybierz odpowied\u017a.\";\n      error.style.display = \"block\";\n    }\n  }\n\n  function hideError(){\n    const error = document.getElementById(\"rve-error\");\n    if(error) error.style.display = \"none\";\n  }\n\n  function submitAnswer(){\n    const q = questions[step];\n    let value;\n\n    if(q.type === \"choice\"){\n      value = selectedChoice || \"\";\n    }else{\n      const input = answerBox.querySelector(\".rve-field\");\n      value = input ? input.value.trim() : \"\";\n    }\n\n    if(!value){\n      showError();\n      return;\n    }\n\n    if(q.type === \"email\"){\n      const emailPattern = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n\n      if(!emailPattern.test(value)){\n        showError(\"Wpisz poprawny adres e-mail.\");\n        return;\n      }\n    }\n\n    if(q.type === \"tel\"){\n      const digits = value.replace(\/\\D\/g,\"\");\n\n      if(digits.length < 9){\n        showError(\"Wpisz poprawny numer telefonu.\");\n        return;\n      }\n    }\n\n    answers[q.key] = value;\n    addMessage(value,\"user\");\n\n    if(step < questions.length - 1){\n      step++;\n      setTimeout(renderQuestion,250);\n    }else{\n      setTimeout(showSummary,300);\n    }\n  }\n\n  function goBack(){\n    if(step === 0) return;\n\n    step--;\n    conversation.innerHTML = \"\";\n\n    addMessage(\n      \"Mo\u017cesz teraz poprawi\u0107 wcze\u015bniejsz\u0105 odpowied\u017a.\",\n      \"ai\"\n    );\n\n    renderQuestion();\n  }\n\n  function summaryRow(label,value){\n    return `\n      <div class=\"rve-summary-row\">\n        <span>${safe(label)}<\/span>\n        <strong>${safe(value)}<\/strong>\n      <\/div>\n    `;\n  }\n\n  function showSummary(){\n    progressBar.style.width = \"100%\";\n    stepLabel.textContent = \"Sprawd\u017a i zapisz ofert\u0119\";\n    percentLabel.textContent = \"100%\";\n\n    addMessage(\n      \"Oferta jest gotowa. Sprawd\u017a dane, a nast\u0119pnie zapisz j\u0105 w Rajvero.\",\n      \"ai\"\n    );\n\n    answerBox.innerHTML = `\n      <div class=\"rve-summary\">\n\n        <h2>Podsumowanie oferty<\/h2>\n\n        <div class=\"rve-score\">\n          \u2713 Profil stanowiska zosta\u0142 przygotowany\n        <\/div>\n\n        ${summaryRow(\"Firma\",answers.company)}\n        ${summaryRow(\"Stanowisko\",answers.position)}\n        ${summaryRow(\"Miejsce pracy\",answers.location)}\n        ${summaryRow(\"Tryb pracy\",answers.workMode)}\n        ${summaryRow(\"Forma zatrudnienia\",answers.contract)}\n        ${summaryRow(\"Wynagrodzenie\",answers.salary)}\n        ${summaryRow(\"Zakres obowi\u0105zk\u00f3w\",answers.duties)}\n        ${summaryRow(\"Wymagania konieczne\",answers.requirements)}\n        ${summaryRow(\"Dodatkowe atuty\",answers.advantages)}\n        ${summaryRow(\"Termin rozpocz\u0119cia\",answers.start)}\n        ${summaryRow(\"E-mail\",answers.email)}\n        ${summaryRow(\"Telefon\",answers.phone)}\n\n        <div class=\"rve-summary-actions\">\n\n          <button class=\"rve-button rve-save\" id=\"rve-save\">\n            Zapisz ofert\u0119 w Rajvero\n          <\/button>\n\n          <button class=\"rve-button rve-edit\" id=\"rve-edit\">\n            Popraw odpowiedzi\n          <\/button>\n\n          <button class=\"rve-button rve-copy\" id=\"rve-copy\">\n            Kopiuj ofert\u0119\n          <\/button>\n\n          <button class=\"rve-button rve-restart\" id=\"rve-restart\">\n            Zacznij od nowa\n          <\/button>\n\n        <\/div>\n\n        <div class=\"rve-save-status\" id=\"rve-save-status\"><\/div>\n\n        <input\n          class=\"rve-honeypot\"\n          id=\"rve-website\"\n          type=\"text\"\n          tabindex=\"-1\"\n          autocomplete=\"off\"\n          aria-hidden=\"true\"\n        >\n\n        <div class=\"rve-note\">\n          Oferta zostanie zapisana prywatnie w panelu Rajvero.\n          Nie zostanie jeszcze automatycznie opublikowana dla kandydat\u00f3w.\n        <\/div>\n\n      <\/div>\n    `;\n\n    document.getElementById(\"rve-save\").onclick = saveOffer;\n    document.getElementById(\"rve-edit\").onclick = editAnswers;\n    document.getElementById(\"rve-copy\").onclick = copySummary;\n    document.getElementById(\"rve-restart\").onclick = restart;\n  }\n\n  async function saveOffer(){\n    const button = document.getElementById(\"rve-save\");\n    const status = document.getElementById(\"rve-save-status\");\n    const website = document.getElementById(\"rve-website\");\n\n    if(offerSaved){\n      status.className = \"rve-save-status success\";\n      status.textContent = \"Ta oferta zosta\u0142a ju\u017c zapisana.\";\n      return;\n    }\n\n    button.disabled = true;\n    button.textContent = \"Zapisywanie...\";\n\n    status.className = \"rve-save-status\";\n    status.textContent = \"\";\n\n    const payload = {\n      firma: answers.company,\n      stanowisko: answers.position,\n      lokalizacja: answers.location,\n      tryb_pracy: answers.workMode,\n      umowa: answers.contract,\n      wynagrodzenie: answers.salary,\n      obowiazki: answers.duties,\n      wymagania: answers.requirements,\n      mile_widziane: answers.advantages,\n      start: answers.start,\n      email: answers.email,\n      telefon: answers.phone,\n      website: website ? website.value : \"\"\n    };\n\n    try{\n      const response = await fetch(\n        \"https:\/\/rajvero.pl\/?rest_route=\/rajvero\/v1\/oferty\",\n        {\n          method:\"POST\",\n          headers:{\n            \"Content-Type\":\"application\/json\"\n          },\n          body:JSON.stringify(payload)\n        }\n      );\n\n      let result = {};\n\n      try{\n        result = await response.json();\n      }catch(error){\n        result = {};\n      }\n\n      if(!response.ok){\n        throw new Error(\n          result.message ||\n          \"Nie uda\u0142o si\u0119 zapisa\u0107 oferty.\"\n        );\n      }\n\n      offerSaved = true;\n\n      status.className = \"rve-save-status success\";\n      status.textContent =\n        \"Oferta zosta\u0142a zapisana. Numer zg\u0142oszenia: \" +\n        result.id + \".\";\n\n      button.textContent = \"Oferta zapisana \u2713\";\n\n      addMessage(\n        \"Dzi\u0119kuj\u0119! Oferta zosta\u0142a zapisana w Rajvero.\",\n        \"ai\"\n      );\n\n    }catch(error){\n      status.className = \"rve-save-status error\";\n      status.textContent =\n        error.message ||\n        \"Wyst\u0105pi\u0142 b\u0142\u0105d podczas zapisywania oferty.\";\n\n      button.disabled = false;\n      button.textContent = \"Spr\u00f3buj zapisa\u0107 ponownie\";\n    }\n  }\n\n  function editAnswers(){\n    offerSaved = false;\n    step = 0;\n    selectedChoice = \"\";\n    conversation.innerHTML = \"\";\n\n    addMessage(\n      \"Przejrzyj odpowiedzi. Wcze\u015bniejsze dane pozostaj\u0105 wpisane w polach.\",\n      \"ai\"\n    );\n\n    renderQuestion();\n  }\n\n  function copySummary(){\n    const text =\n`Oferta pracy \u2014 Rajvero\nFirma: ${answers.company}\nStanowisko: ${answers.position}\nMiejsce pracy: ${answers.location}\nTryb pracy: ${answers.workMode}\nForma zatrudnienia: ${answers.contract}\nWynagrodzenie: ${answers.salary}\nZakres obowi\u0105zk\u00f3w: ${answers.duties}\nWymagania konieczne: ${answers.requirements}\nDodatkowe atuty: ${answers.advantages}\nTermin rozpocz\u0119cia: ${answers.start}\nE-mail: ${answers.email}\nTelefon: ${answers.phone}`;\n\n    if(navigator.clipboard){\n      navigator.clipboard.writeText(text).then(function(){\n        document.getElementById(\"rve-copy\")\n          .textContent = \"Skopiowano \u2713\";\n      });\n    }else{\n      alert(text);\n    }\n  }\n\n  function restart(){\n    Object.keys(answers).forEach(function(key){\n      delete answers[key];\n    });\n\n    offerSaved = false;\n    step = 0;\n    selectedChoice = \"\";\n    conversation.innerHTML = \"\";\n\n    addMessage(\n      \"Zaczynamy tworzenie nowej oferty pracy.\",\n      \"ai\"\n    );\n\n    renderQuestion();\n  }\n\n  function safe(value){\n    return String(value || \"\")\n      .replace(\/&\/g,\"&amp;\")\n      .replace(\/<\/g,\"&lt;\")\n      .replace(\/>\/g,\"&gt;\")\n      .replace(\/\"\/g,\"&quot;\");\n  }\n\n  addMessage(\n    \"Cze\u015b\u0107! Pomog\u0119 Ci przygotowa\u0107 i zapisa\u0107 ofert\u0119 pracy.\",\n    \"ai\"\n  );\n\n  setTimeout(renderQuestion,300);\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>RAJVERO \u2190 Strona g\u0142\u00f3wna Panel pracodawcy \u2014 wersja testowa Znajd\u017a w\u0142a\u015bciwego pracownika Opisz stanowisko krok po kroku. Oferta zostanie zapisana [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-271","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/pages\/271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/comments?post=271"}],"version-history":[{"count":7,"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/pages\/271\/revisions"}],"predecessor-version":[{"id":284,"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/pages\/271\/revisions\/284"}],"wp:attachment":[{"href":"https:\/\/rajvero.pl\/index.php\/wp-json\/wp\/v2\/media?parent=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}