// Blog post inner page — data-driven. Each post is keyed by its URL slug.
// One component renders any article; the slug is read from the path at runtime.

const BLOG_POSTS = {

  // ──────────────────────────────────────────────────────────────────────
  'kastu-taupymas': {
    tag: 'Verslo augimas',
    tagsGhost: ['Kaštai', 'Viena sistema'],
    title: 'Kaštų taupymas apjungiant procesus vienoje sistemoje',
    dek: 'Atskiras CRM, priežiūros programa, apskaita — kiekviena kainuoja licencijas, integracijas ir mokymus. Kiek sutaupoma, kai visa tai sujungiama į vieną ERP365 (Odoo) sistemą.',
    date: '2026 m. birželio 10',
    readTime: '7 min. skaitinys',
    caption: 'ERP365 (Odoo) · vienos sistemos kaštų nauda',
    sections: [
      { id: 'paslepti-kastai', t: 'Paslėpti kaštai', heading: 'Kelios programos — keli kaštai, kurių sąskaitoje nematyti', blocks: [
        { lede: `Daugelis įmonių procesus susidėlioja palaipsniui: pardavimams nusiperka atskirą CRM, įrangos priežiūrai — specializuotą programą (pvz., Frontu), apskaitai — Rivilę, sandėliui ar projektams — dar ką nors. Kiekvienas įrankis atskirai atrodo logiškas pasirinkimas. Bet sudėjus juos kartu, susidaro kaštų eilutė, kurios atskirai niekas neskaičiuoja.` },
        { p: `Tikroji atskirų sistemų kaina — ne tik mėnesinė prenumerata. Prie jos prisideda:` },
        { ul: [
          `<strong>Licencijos kiekvienai programai</strong> — dažnai mokama už kiekvieną vartotoją atskirai, ir taip kiekvienoje sistemoje.`,
          `<strong>Integracijų priežiūra</strong> — kad programos „kalbėtųsi", reikia jungčių; jas reikia sukurti, atnaujinti ir taisyti, kai kuri nors pusė pasikeičia.`,
          `<strong>Mokymai</strong> — kiekviena sistema turi savą logiką, todėl darbuotojas turi išmokti ne vieną, o kelias.`,
          `<strong>Darbuotojų kaita</strong> — išėjus žmogui, žinios apie „kaip čia viskas sujungta" dažnai išeina kartu su juo.`,
          `<strong>Palaikymas</strong> — keli tiekėjai, keli kontaktai, keli SLA; iškilus problemai ilgai aiškinamasi, kurioje pusėje ji.`,
        ]},
        { p: `Visa tai — laikas ir pinigai, kurie nesimato vienoje eilutėje, bet kasmet auga kartu su komanda.` },
      ]},
      { id: 'viena-sistema', t: 'Viena sistema', heading: 'Kas pasikeičia, kai procesai gyvena vienoje sistemoje', blocks: [
        { p: `ERP365 (Odoo) esmė — pardavimai, CRM, sandėlis, pirkimai, projektai ir įrangos priežiūra veikia toje pačioje sistemoje, su <strong>viena duomenų baze</strong>. Praktiškai kaštų skirtumas atrodo taip:` },
        { ba: { before: 'Atskiri įrankiai', after: 'Viena ERP365 (Odoo) sistema', rows: [
          [`CRM — licencija kiekvienam vartotojui`, `CRM įskaičiuotas, vartotojų skaičius <strong>neribotas</strong>`],
          [`Priežiūros programa (pvz., Frontu) — atskira prenumerata`, `Priežiūros modulis toje pačioje sistemoje`],
          [`Sandėlis ar projektai dar vienoje programoje`, `Sandėlis, pirkimai, projektai — tie patys duomenys`],
          [`Kelios integracijos, kurias reikia prižiūrėti`, `Moduliai sujungti iš karto, be „klijavimo"`],
          [`Keli mokymai, keli palaikymo kontaktai`, `Vienas mokymas, vienas partneris`],
        ]}},
        { p: `Svarbiausias kaštų skirtumas — vartotojų licencijavimas. Vietoj „mokame už kiekvieną žmogų kiekvienoje programoje", ERP365 (Odoo) planai prasideda nuo <strong>99 €/mėn. su neribotu vartotojų skaičiumi</strong>. Tai reiškia, kad į sistemą galima įtraukti visą komandą — pardavimus, sandėlį, projektų vadovus, vadovybę — be papildomo mokesčio už kiekvieną prisijungimą.` },
      ]},
      { id: 'darbuotojai', t: 'Komanda kartu', heading: 'Daugiau darbuotojų — vienoje darbo aplinkoje', blocks: [
        { p: `Kai kiekvienas skyrius dirba savo programoje, informacija „nukrenta" tarp sistemų: pardavimai nemato priežiūros istorijos, projektų vadovas nemato sąskaitų, o vadovas nemato bendro vaizdo be rankinio Excel rinkimo.` },
        { p: `Apjungus darbuotojus vienoje sistemoje, visi dirba su tais pačiais duomenimis realiu laiku. Naujas žmogus mokomas vieną kartą, viena logika. Darbuotojui išėjus, jo darbas, klientų istorija ir dokumentai lieka sistemoje — ne asmeniniame faile ar kito įrankio paskyroje.` },
        { p: `Pavyzdžiui, jei įrangos priežiūrai naudojate atskirą sprendimą, perkėlus ją į <a href="/prieziura">ERP365 (Odoo) priežiūros modulį</a>, technikų darbas, atsarginių dalių sandėlis ir priežiūros sąnaudos atsiduria tame pačiame sraute kaip pirkimai ir apskaita — be atskiros programos ir be atskiros licencijos.` },
      ]},
      { id: 'apskaita', t: 'Apskaitos licencijos', heading: 'Sutaupoma ir ant apskaitos programos licencijų', blocks: [
        { p: `Apskaita — atskiras atvejis. Daug įmonių yra patenkintos Rivile ir nenori jos keisti — ir nereikia. Bet apskaitos programos licencijos dažnai skaičiuojamos pagal vartotojus ar darbo vietas: kuo daugiau žmonių reikia įleisti į apskaitos sistemą vien tam, kad suvestų ar pamatytų dokumentus, tuo brangiau.` },
        { p: `Su <a href="/blogas/rivile-erp365">ERP365 (Odoo) ⇄ Rivilės integracija</a> kasdienį darbą — pardavimus, sandėlį, sąskaitų išrašymą — komanda atlieka ERP365 (Odoo), o į Rivilę dokumentai nukeliauja automatiškai per REST API. Rivilėje lieka tik tai, kas tikrai reikalinga apskaitai, todėl dažnai užtenka mažiau apskaitos programos darbo vietų — komanda dirba ERP365 (Odoo), kur vartotojų skaičius neribotas.` },
        { p: `Rezultatas: 0 dvigubo įvedimo ir mažiau brangių licencijų ten, kur jų realiai nereikia.` },
      ]},
      { id: 'vystymas', t: 'Vienas partneris', heading: 'Vienas vystymo partneris vietoj penkių', blocks: [
        { p: `Kai sistemų penkios, kiekvienas patobulinimas — atskiras projektas su atskiru tiekėju. Reikia naujo lauko, ataskaitos ar automatikos? Tenka derinti su konkrečios programos gamintoju, laukti jo eilės ir mokėti jo įkainiais. O jei patobulinimas liečia kelias sistemas vienu metu, prasideda derinimas tarp tiekėjų.` },
        { p: `Vienoje sistemoje patobulinimai daromi vienoje vietoje, vieno partnerio. Tai pigiau ne tik tiesiogiai, bet ir laiko prasme — nereikia koordinuoti kelių pusių, o pakeitimas iš karto veikia visuose susijusiuose procesuose.` },
      ]},
      { id: 'produktas', t: 'Nuolat tobuliname', heading: 'ERP365 — produktas, kurį tobuliname pagal jūsų poreikius', blocks: [
        { p: `ERP365 (Odoo) nėra „dėžutė", kurią gaunate ir paliekate kaip yra. Tai produktas, kurį nuolat vystome — ir bendrai visiems klientams, ir pagal konkrečius individualius poreikius. Jei versle yra specifinis procesas, kurio standartinė funkcija pilnai nepadengia, jį galima pritaikyti: papildomi laukai, individualios ataskaitos, automatizacijos, specifinė verslo logika ar integracijos.` },
        { p: `Būtent tą ir darome: išsiaiškiname, ką reikia patobulinti, ir įgyvendiname. Kadangi viskas vienoje sistemoje, patobulinimas iš karto veikia visuose susijusiuose procesuose — ne tik viename atskirame įrankyje.` },
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `Atskiras CRM, priežiūros programa, apskaita ir dar keli įrankiai kiekvienas atskirai atrodo nebrangiai — bet kartu jie kainuoja licencijomis kiekvienam vartotojui, integracijų priežiūra, daugybe mokymų ir keliais palaikymo kontaktais. Apjungus procesus į vieną ERP365 (Odoo) sistemą su neribotu vartotojų skaičiumi, šie kaštai mažėja, o komanda dirba su tais pačiais duomenimis. Ir svarbiausia — sistema auga kartu su jumis, nes ją nuolat tobuliname pagal jūsų poreikius.` },
      ]},
    ],
    cta: { title: 'Norite pamatyti, kiek sutaupytumėte apjungę procesus?', lede: '30 min. demo — peržiūrėsime jūsų dabartines sistemas ir parodysime, kaip jos atrodytų viename ERP365 (Odoo).' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'erp-mazam-vidutiniam-verslui': {
    tag: 'ERP diegimas',
    tagsGhost: ['MVĮ', 'Praktinis gidas'],
    title: 'ERP sistema mažam ir vidutiniam verslui Lietuvoje: nuo ko pradėti',
    dek: 'Praktinis žvilgsnis, kaip Lietuvos mažos ir vidutinės įmonės pradeda diegti ERP — nuo ko pradėti ir ko tikėtis.',
    date: '2026 m. birželio 8',
    readTime: '7 min. skaitinys',
    caption: 'ERP365 (Odoo) · verslo valdymas vienoje sistemoje',
    sections: [
      { id: 'kas-yra-erp', t: 'Kas yra ERP', heading: 'Kas yra ERP ir kuo skiriasi nuo apskaitos programos', blocks: [
        { lede: `Daugelis Lietuvos mažų ir vidutinių įmonių prie ERP sistemos prieina ne dėl mados, o dėl skausmo: pardavimų duomenys vienoje vietoje, atsargos — Excel'yje, sąskaitos — apskaitos programoje, o klientų istorija — vadybininko galvoje. Kol komanda maža, tai veikia. Augant — pradeda strigti.` },
        { p: `ERP (angl. <em>Enterprise Resource Planning</em>) — tai viena sistema, jungianti pagrindinius verslo procesus: pardavimus, CRM, sandėlį, pirkimus, gamybą, projektus ir apskaitą. Esmė — <strong>viena duomenų bazė</strong>. Pardavimo vadybininkas mato tą patį likutį, kurį mato sandėlininkas, o buhalteris — tą pačią sąskaitą, kurią išrašė pardavimai.` },
        { p: `Apskaitos programa (pvz., Rivilė) atsako į klausimą „kiek uždirbome ir kiek mokame mokesčių". ERP atsako į klausimą „kaip veikia visas verslas" — nuo pirmo kontakto su klientu iki sumokėtos sąskaitos. Tai nereiškia, kad reikia atsisakyti apskaitos programos: ERP365 (Odoo) gali su ja integruotis (pavyzdžiui, per <a href="/rivile">Rivilės integraciją</a>).` },
      ]},
      { id: 'zenklai', t: 'Kada jau laikas', heading: '5 ženklai, kad jau laikas', blocks: [
        { ul: [
          `Tą patį duomenį suvedate du ar tris kartus skirtingose sistemose.`,
          `Niekas tiksliai nežino realaus sandėlio likučio.`,
          `Mėnesio uždarymas trunka dienomis, ne valandomis.`,
          `Svarbi informacija gyvena konkretaus žmogaus Excel'yje arba galvoje.`,
          `Augate, bet administracija nebespėja paskui pardavimus.`,
        ]},
        { p: `Jei atpažinote bent tris — ERP greičiausiai atsipirks greičiau, nei manote.` },
      ]},
      { id: 'nuo-ko', t: 'Nuo ko pradėti', heading: 'Nuo ko pradėti: ne nuo „visko iš karto"', blocks: [
        { p: `Didžiausia klaida — bandyti įdiegti visus 20 modulių vienu metu. Veikiantis principas — <strong>pradėti nuo skaudžiausios vietos</strong> ir plėstis palaipsniui.` },
        { p: `Tipinė MVĮ pradžia atrodo taip:` },
        { ol: [
          `<strong>Pardavimai ir CRM</strong> — kad nė vienas užsakymas ar užklausa nepasimestų.`,
          `<strong>Atsargos (sandėlis)</strong> — realaus laiko likučiai, brūkšniniai kodai.`,
          `<strong>Pirkimai</strong> — automatiniai užsakymai tiekėjams pagal likutį.`,
          `<strong>Apskaita / integracija</strong> — sąskaitų srautas, VMI i.SAF, arba sujungimas su esama apskaitos programa.`,
        ]},
        { p: `ERP365 (Odoo) turi 20+ integruotų modulių, bet pradėti galima ir nuo dviejų. Likusius įjungiate tada, kai jų prireikia — be naujo projekto „nuo nulio".` },
      ]},
      { id: 'kaina', t: 'Kiek kainuoja', heading: 'Kiek tai kainuoja Lietuvoje', blocks: [
        { p: `Ilgą laiką ERP Lietuvoje reiškė dideles pradines investicijas: licencijos, serveriai, ilgas diegimas. Nuomos modelis tai keičia — mokate fiksuotą mėnesinį mokestį, be CapEx.` },
        { p: `ERP365 (Odoo) atveju planai prasideda nuo <strong>99 €/mėn.</strong> su <strong>neribotu vartotojų skaičiumi</strong>. Į kainą įeina sistemos talpinimas, atsarginės kopijos ir priežiūra. Augančiam verslui yra Plus planas (299 €/mėn.) su keleto įmonių valdymu, o sudėtingesniems projektams — Enterprise paketas su individualia analize ir programavimo darbais.` },
        { p: `Svarbus niuansas Lietuvos rinkai: kainos konkrečios, be „susisiekite dėl kainos". Tai leidžia planuoti biudžetą iš anksto.` },
      ]},
      { id: 'trukme', t: 'Kiek trunka', heading: 'Kiek trunka diegimas', blocks: [
        { p: `Klasikinis baubas — „ERP diegiamas metus". Mažam ir vidutiniam verslui taip neturi būti. Pasirinkus paruoštą platformą ir inkrementinį paleidimą, <strong>bazinis diegimas trunka kelias savaites, ne mėnesius</strong>: sudaromas tikslus planas, palaipsniui įtraukiami moduliai ir skyriai, komanda apmokoma mažomis grupelėmis.` },
        { p: `Padeda ir tai, kad duomenų importas (iš Excel ar senų sistemų) bei lietuviška lokalizacija — VMI ataskaitos, lietuvių kalba — paruošti iš anksto.` },
      ]},
      { id: 'planas', t: 'Pradžios planas', heading: 'Praktinis pradžios planas', blocks: [
        { ol: [
          `<strong>Surašykite tris skaudžiausias problemas.</strong> Ne „norime ERP", o „nematome likučių" ar „mėnesio uždarymas trunka 3 dienas".`,
          `<strong>Pasirinkite vieną žmogų-savininką</strong> iš savo pusės, kuris priims sprendimus.`,
          `<strong>Pradėkite nuo 1–2 modulių</strong>, paleiskite į realų darbą, tada plėskitės.`,
          `<strong>Apmokykite mažomis grupėmis</strong> — įsiminimas kelis kartus geresnis nei per vieną ilgą mokymą.`,
          `<strong>Nesivykite tobulybės pirmą mėnesį</strong> — paleiskite su ~85 % funkcionalumo, likusį šlifuokite naudodamiesi.`,
        ]},
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `ERP mažam ir vidutiniam verslui nebėra prabanga ar metų trukmės projektas. Pradėjus nuo skaudžiausios vietos, su skaidria kainodara ir inkrementiniu diegimu, pirmieji rezultatai matomi per kelias savaites.` },
      ]},
    ],
    cta: { title: 'Pasiruošę pažiūrėti, kaip tai veiktų jūsų versle?', lede: '30 min. demo. Parodysime ERP365 (Odoo) pagal jūsų procesus — be spaudimo.' },
  },

  // ──────────────────────────────────────────────────────────────────────
  '5-zenklai-reikia-erp': {
    tag: 'Verslo augimas',
    tagsGhost: ['Excel', 'Augimas'],
    title: '5 ženklai, kad jūsų verslui jau reikia ERP sistemos',
    dek: 'Kaip suprasti, kad Excel ir atskirų programų nebepakanka. Penki aiškūs ženklai — ir ką daryti toliau.',
    date: '2026 m. birželio 5',
    readTime: '5 min. skaitinys',
    caption: 'ERP365 (Odoo) · kai atskirų sistemų nebepakanka',
    sections: [
      { id: 'zenklas-1', t: '1 · Dvigubas vedimas', heading: '1. Tą patį duomenį suvedate kelis kartus', blocks: [
        { lede: `Niekas neperka ERP sistemos „šiaip". Sprendimas dažniausiai ateina po to, kai kelias savaites iš eilės kažkas nuvažiuoja ne taip: pristabdytas užsakymas, dingęs likutis, klaida sąskaitoje. Klausimas — ar tai pavieniai atvejai, ar sistema jau lūžta.` },
        { p: `Štai penki ženklai, kuriuos per 10 metų darbo su Lietuvos verslais matome dažniausiai. Jei atpažįstate bent tris — greičiausiai laikas rimtai pasvarstyti apie ERP.` },
        { p: `Pardavimo užsakymas suvedamas vienoje vietoje, tada perrašomas į sandėlio Excel'į, tada — į apskaitos programą. Kiekvienas perrašymas — tai laikas ir galimybė suklysti.` },
        { p: `Tai aiškiausias ženklas, kad jūsų sistemos „nesikalba". ERP sprendžia tai iš esmės: dokumentas sukuriamas vieną kartą ir keliauja per visą grandinę — nuo pasiūlymo iki sąskaitos — be dvigubo įvedimo. ERP365 (Odoo) atveju visi moduliai dirba su viena duomenų baze, todėl perrašinėjimo paprasčiausiai nebelieka.` },
      ]},
      { id: 'zenklas-2', t: '2 · Likučiai „maždaug"', heading: '2. Niekas tiksliai nežino, kiek prekių yra sandėlyje', blocks: [
        { p: `Klasikinė scena: pardavimo vadybininkas skambina sandėlininkui pasiteirauti, ar likutis tikrai yra. Sandėlininkas eina žiūrėti. Klientas tuo metu laukia telefonu.` },
        { p: `Jei jūsų atsargų tikslumas yra „maždaug" — tai brangiai kainuoja dvejopai: arba pažadate tai, ko nėra, arba laikote pinigus „dingusiose" atsargose, kurių niekas nemato. ERP suteikia realaus laiko likučius su brūkšniniais kodais ir kelių sandėlių valdymu, todėl atsakymas į „ar turime?" — sekundė, ne skambutis.` },
      ]},
      { id: 'zenklas-3', t: '3 · Lėtas uždarymas', heading: '3. Mėnesio uždarymas trunka dienomis', blocks: [
        { p: `Jei kiekvieno mėnesio pabaiga jūsų buhalterijai — kelių dienų maratonas surenkant duomenis iš skirtingų vietų, tai ne buhalterio problema, o sistemų problema.` },
        { p: `Kai pardavimai, sandėlis ir apskaita yra vienoje sistemoje (arba sklandžiai integruoti), didžioji dalis duomenų jau yra sutvarkyta realiu laiku. Lietuvos kontekste svarbu ir tai, kad ERP365 (Odoo) turi VMI i.SAF/i.VAZ integraciją — deklaracijų paruošimas tampa kelių paspaudimų reikalu, ne rankiniu darbu.` },
      ]},
      { id: 'zenklas-4', t: '4 · Žinios galvoje', heading: `4. Svarbi informacija gyvena vieno žmogaus galvoje arba Excel'yje`, blocks: [
        { p: `Kas nutiks, jei rytoj geriausias vadybininkas išeis atostogų — ar kažkas kitas ras jo klientų istoriją, susitarimus, kainas? Jei atsakymas „ne visai" — verslas priklauso nuo žmonių, ne nuo procesų.` },
        { p: `ERP perkelia žinias iš galvų ir asmeninių failų į bendrą sistemą: klientų istorija, pardavimų piltuvas, susirašinėjimai, dokumentai. Komanda keičiasi — informacija lieka.` },
      ]},
      { id: 'zenklas-5', t: '5 · Neskaluojasi', heading: '5. Augate, bet administracija nebespėja', blocks: [
        { p: `Pardavimai auga, o kartu auga ir chaosas: daugiau užsakymų reiškia daugiau perrašinėjimo, daugiau klaidų, daugiau „gaisrų gesinimo". Jei tam, kad parduotumėte 2 kartus daugiau, reikia 2 kartus daugiau administracijos — tai neskaluojasi.` },
        { p: `ERP automatizuoja kartotinį darbą (sąskaitų generavimą, pirkimo užsakymus pagal likutį, dokumentų srautą), todėl komanda gali augti su pardavimais, o ne juos vytis.` },
      ]},
      { id: 'ka-daryti', t: 'Ką daryti', heading: 'Ką daryti, jei atpažinote save', blocks: [
        { p: `Geros žinios — pereiti prie ERP nebereiškia metų projekto ir didelės pradinės investicijos. Su nuomos modeliu pradedama nuo fiksuoto mėnesinio mokesčio (ERP365 (Odoo) planai — nuo 99 €/mėn. su neribotais vartotojais), o diegimas vyksta palaipsniui, pradedant nuo skaudžiausios vietos.` },
      ]},
    ],
    cta: { title: 'Nesate tikri, ar jau laikas?', lede: '30 min. demo — kartu peržiūrėsime jūsų procesus ir pasakysime atvirai, ar ERP365 (Odoo) duotų realios naudos.' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'erp365-crm': {
    tag: 'Odoo',
    tagsGhost: ['CRM', 'Pardavimai'],
    title: 'ERP365 (Odoo) CRM: kaip nepamesti nė vieno užsakymo',
    dek: 'Kiekviena prarasta užklausa — prarasti pinigai, kuriuos jau sumokėjote. Kaip CRM padaro, kad nė viena galimybė neiškristų pro tinklą.',
    date: '2026 m. birželio 3',
    readTime: '6 min. skaitinys',
    caption: 'ERP365 (Odoo) · pardavimų piltuvas (CRM)',
    sections: [
      { id: 'problema', t: 'Problema', heading: 'Problema: užklausos ateina, bet kažkur dingsta', blocks: [
        { lede: `Kiekviena prarasta užklausa — tai prarasti pinigai, kuriuos jau sumokėjote (už reklamą, už pardavėją, už laiką). Ir dažniausiai jos prarandamos ne dėl blogo produkto, o dėl paprastos priežasties: niekas neprisiminė laiku atsakyti, perskambinti ar atsiųsti pasiūlymo.` },
        { p: `Tipiškas mažo ir vidutinio verslo vaizdas: užklausos krenta iš svetainės formos, el. pašto, telefono, „Facebook" žinučių. Vienas vadybininkas jas laiko galvoje, kitas — Excel'yje, trečias — pašto aplanke. Kol srautas mažas, atrodo valdoma. Bet būtent augimo momentu, kai užklausų daugėja, dalis jų ima dingti — ir niekas net nepastebi, kiek pinigų prarandama.` },
        { p: `Esmė ne tai, kad žmonės tingi. Esmė, kad <strong>nėra vienos vietos</strong>, kurioje matytųsi visos galimybės ir kas su jomis vyksta.` },
      ]},
      { id: 'piltuvas', t: 'Pardavimų piltuvas', heading: 'Sprendimas: pardavimų piltuvas, kurį mato visi', blocks: [
        { p: `ERP365 (Odoo) CRM viską sudeda į vieną vizualų <strong>pardavimų piltuvą (Kanban)</strong>. Kiekviena galimybė — kortelė, kuri juda per etapus: nuo „Nauja užklausa" iki „Pasiūlymas išsiųstas", „Derybos" ir „Laimėta". Vienu žvilgsniu matote, kiek sandorių yra kiekvienoje stadijoje ir kuris „užstrigo".` },
        { p: `Ką tai duoda praktiškai:` },
        { ul: [
          `<strong>Potencialių klientų valdymas</strong> — visos užklausos iš visų kanalų vienoje vietoje, priskirtos atsakingiems.`,
          `<strong>Veiklos planavimas ir priminimai</strong> — sistema primena perskambinti ar atsiųsti pasiūlymą, todėl niekas nepasimiršta.`,
          `<strong>El. laiškų šablonai</strong> — tipiniai atsakymai ir pasiūlymai siunčiami greičiau, vienodu stiliumi.`,
          `<strong>Klientų istorija</strong> — visas susirašinėjimas ir veiksmai prie kiekvieno kontakto, ne vadybininko galvoje.`,
          `<strong>Komandos efektyvumo ataskaitos</strong> — matote, kiek galimybių kiekvienas valdo ir kur stringa konversija.`,
        ]},
      ]},
      { id: 'iki-saskaitos', t: 'Iki sąskaitos', heading: 'Nuo užklausos iki sumokėtos sąskaitos — be perėjimo į kitą sistemą', blocks: [
        { p: `Didžiausias ERP365 (Odoo) CRM privalumas prieš atskirą CRM įrankį — jis nėra atskira sala. Laimėjus sandorį, iš tos pačios sistemos:` },
        { ol: [
          `sugeneruojamas <strong>pasiūlymas</strong> (su kainoraščiu pagal klientą),`,
          `patvirtinamas <strong>pardavimo užsakymas</strong>,`,
          `rezervuojamos <strong>atsargos</strong> sandėlyje,`,
          `vienu paspaudimu išrašoma <strong>sąskaita faktūra</strong>.`,
        ]},
        { p: `Vadybininkas nebešokinėja tarp CRM, sandėlio Excel'io ir apskaitos programos — viskas vyksta viename sraute, su viena duomenų baze. Būtent todėl pardavimų ciklas (nuo pirmo kontakto iki sąskaitos) sutrumpėja, o klaidų dėl perrašinėjimo nelieka.` },
      ]},
      { id: 'augantis', t: 'Augančiam verslui', heading: 'Kodėl tai svarbu būtent augančiam verslui', blocks: [
        { p: `Kol komandoje du pardavėjai, „atmintinę galvoje" dar galima suvaldyti. Bet kai komanda auga, reikia, kad procesas veiktų <strong>nepriklausomai nuo konkretaus žmogaus</strong>. Naujas darbuotojas atėjęs iš karto mato piltuvą, klientų istoriją ir tolesnius žingsnius. Vadovas mato realią pardavimų prognozę, ne „jausmą".` },
        { p: `CRM taip pat natūraliai jungiasi su rinkodaros moduliais (el. paštas, SMS) — segmentuotas kampanijas galima siųsti tiesiai iš tų pačių kontaktų, todėl rinkodara ir pardavimai dirba su tais pačiais duomenimis.` },
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `Nepamestas užsakymas — pigiausias būdas uždirbti daugiau, nes už tą klientą jau sumokėjote. ERP365 (Odoo) CRM tam suteikia vieną vietą visoms galimybėms, automatinius priminimus ir sklandų kelią nuo užklausos iki sumokėtos sąskaitos — be Excel ir be „pamiršau perskambinti".` },
      ]},
    ],
    cta: { title: 'Norite pamatyti savo pardavimų piltuvą gyvai?', lede: '30 min. demo — parodysime, kaip ERP365 (Odoo) CRM atrodytų jūsų komandai.' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'rivile-erp365': {
    tag: 'Integracijos',
    tagsGhost: ['Rivilė', 'REST API'],
    title: 'Rivilė + ERP365 (Odoo): kaip dirbti moderniai neprarandant apskaitos',
    dek: 'Palikite Rivilę apskaitai, o kasdienį darbą perkelkite į ERP365 (Odoo). Dokumentai keliauja tarp sistemų automatiškai — be dvigubo įvedimo.',
    date: '2026 m. gegužės 30',
    readTime: '7 min. skaitinys',
    caption: 'ERP365 (Odoo) ⇄ Rivilė · per oficialų REST API',
    sections: [
      { id: 'ivadas', t: 'Integracija, ne migracija', heading: 'Ne migracija, o integracija — ir kuo tai geriau', blocks: [
        { lede: `Daug Lietuvos įmonių atsiduria toje pačioje vietoje: apskaita sukasi Rivilėje, buhalteris ja patenkintas, viskas atitinka VMI reikalavimus. Bet kasdienis darbas — pardavimai, CRM, sandėlis, gamyba — Rivilėje nepatogus. Komanda nori modernios aplinkos, o keisti apskaitos sistemos nesinori ir nereikia.` },
        { p: `Žodis „migracija" gąsdina: duomenų perkėlimas, rizika ką nors prarasti, buhalterio mokymas iš naujo. Todėl dažnu atveju teisingesnis kelias yra <strong>integracija</strong>, ne pilna migracija:` },
        { ul: [
          `<strong>Buhalteris ir toliau dirba Rivilėje</strong> — ta pati aplinka, tos pačios ataskaitos, PVM ir deklaracijos, didžioji knyga.`,
          `<strong>Komanda dirba ERP365 (Odoo)</strong> — modernus CRM, pardavimai, pirkimai, sandėlis, gamyba, projektai.`,
          `<strong>Dokumentai keliauja automatiškai</strong> tarp sistemų per Rivilės REST API — be rankinio perrašinėjimo.`,
        ]},
        { p: `Rezultatas: 100 % dokumentų perduodama automatiškai, 0 rankinių pakartotinių įvedimų. Niekas neturi suvedinėti tos pačios sąskaitos du kartus.` },
      ]},
      { id: 'ka-perduoda', t: 'Ką perduoda', heading: 'Ką integracija jau perduoda', blocks: [
        { p: `ERP365 (Odoo) ⇄ Rivilės integracija realizuota per oficialų Rivilės REST API ir apima aštuonias operacijų grupes — pagrindines kasdienes operacijas:` },
        { ol: [
          `<strong>Kontaktų sinchronizacija</strong> — klientai, tiekėjai, partneriai abiejose sistemose sutampa.`,
          `<strong>Prekių kortelės</strong> — sukurta vieną kartą ERP365 (Odoo), atsiranda ir Rivilėje su visais privalomais laukais.`,
          `<strong>Pirkimo ir pardavimo užsakymai</strong> — abiejų krypčių užsakymai perduodami automatiškai.`,
          `<strong>Prekių rezervavimas</strong> — pardavimo užsakymo prekės rezervuojamos Rivilėje, likučiai atspindi realią situaciją.`,
          `<strong>Sąskaitos faktūros</strong> — išrašytos ERP365 (Odoo), perkeliamos į Rivilę, apskaita vyksta toliau kaip įprasta.`,
          `<strong>Vidiniai perkėlimai</strong> — tarp sandėlių ar padalinių, registruojami Rivilėje.`,
          `<strong>Gamybos operacijos</strong> — nuo medžiagų nurašymo iki pagamintų produktų pajamavimo.`,
          `<strong>Prekių nurašymai</strong> — kad atsargos ir apskaita visada būtų sinchronizuotos.`,
        ]},
        { p: `Esant poreikiui, integracija plečiama pagal konkretų atvejį: papildomi laukai, specifiniai dokumentų tipai, individuali verslo logika ar sinchronizacijos stebėsenos ataskaitos.` },
      ]},
      { id: 'kaip-veikia', t: 'Kaip veikia', heading: 'Kaip tai veikia — du žingsniai', blocks: [
        { ol: [
          `<strong>ERP365 (Odoo):</strong> vartotojas sukuria dokumentą — pvz., pardavimo užsakymą, sąskaitą faktūrą ar gamybos operaciją.`,
          `<strong>API:</strong> integracija pakviečia Rivilės REST API su visais privalomais laukais — be rankinio įvedimo.`,
          `<strong>Rivilė:</strong> dokumentas registruojamas apskaitoje. Buhalteris mato duomenis tame pačiame kontekste, kaip visada.`,
        ]},
        { p: `Vartotojui tai vyksta fone — jis tiesiog dirba ERP365 (Odoo), o reikalingi įrašai atsiranda Rivilėje.` },
      ]},
      { id: 'ko-reikia', t: 'Ko reikia', heading: 'Ko reikia pradžiai', blocks: [
        { ul: [
          `<strong>Rivilė API licencija</strong> — įsigyjama tiesiogiai iš Rivilės (atskiras, vienkartinis įsigijimas). Su konfigūracija ir sujungimu padedame mes.`,
          `<strong>ERP365 (Odoo) licencijos</strong> — standartinis paketas su neribotais vartotojais.`,
          `<strong>Integracijos modulis</strong> — 100 €/mėn., su nuolatiniais atnaujinimais, palaikymu ir dvikrypčiu duomenų perdavimu. Diegimą atliekame mes.`,
        ]},
      ]},
      { id: 'kam-tinka', t: 'Kam tinka', heading: 'Kam tai tinka', blocks: [
        { p: `Šis sprendimas ypač tinka įmonėms, kurios:` },
        { ul: [
          `nori modernaus kasdienio darbo įrankio, bet nenori liesti veikiančios apskaitos;`,
          `turi buhalterį (vidinį ar išorinį), kuriam patogu likti Rivilėje;`,
          `jaučia, kad dvigubas duomenų vedimas ėda laiką ir kuria klaidas;`,
          `planuoja augti ir nori sistemos, kuri plečiasi kartu (CRM, sandėlis, gamyba, projektai).`,
        ]},
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `Nereikia rinktis tarp „modernu" ir „atitinka apskaitos reikalavimus". Su ERP365 (Odoo) ⇄ Rivilės integracija komanda dirba šiuolaikiškoje aplinkoje, o buhalteris lieka pažįstamoje Rivilėje — ir abu mato sutampančius duomenis, be rankinio perrašinėjimo.` },
      ]},
    ],
    cta: { title: 'Norite pamatyti, kaip ERP365 (Odoo) dokumentai atsiranda Rivilėje realiu laiku?', lede: '30 min. demo — parodysime integraciją veikiant.' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'diegimo-eiga': {
    tag: 'ERP diegimas',
    tagsGhost: ['Diegimas', 'Praktinis gidas'],
    title: 'ERP365 (Odoo) diegimo eiga: ko tikėtis žingsnis po žingsnio',
    dek: 'Diegimas nebūtinai trunka metus. Štai etapinis kelias, duodantis pirmuosius rezultatus per kelias savaites.',
    date: '2026 m. gegužės 27',
    readTime: '8 min. skaitinys',
    caption: 'ERP365 (Odoo) · etapinis diegimo kelias',
    sections: [
      { id: 'principas', t: 'Pamatinis principas', heading: 'Pamatinis principas: ne „didelis sprogimas", o palaipsniui', blocks: [
        { lede: `„Kiek tai užtruks?" ir „ar mums teks viską mesti ir mokytis iš naujo?" — du dažniausi klausimai prieš ERP diegimą. Atsakymas priklauso nuo to, kaip diegimas organizuojamas. Mes tikime inkrementiniu paleidimu, kuris pirmuosius rezultatus duoda per kelias savaites, ne mėnesius.` },
        { p: `Klasikinis ERP diegimas ilgai stringa, nes bandoma paleisti viską vienu metu — visus modulius, visus skyrius, visą funkcionalumą. Mes renkamės kitaip: <strong>kiekvieną etapą — vienas modulis į darbą, vienas mokymas komandai, viena retrospektyva.</strong>` },
        { p: `Toks kelias turi tris privalumus: greičiau matosi nauda, komanda spėja priprasti, o klaidos pastebimos anksti ir pigiai.` },
      ]},
      { id: 'analize', t: '1 · Analizė', heading: '1 žingsnis: poreikių analizė', blocks: [
        { p: `Pradedame ne nuo programos, o nuo jūsų procesų. Išsiaiškiname:` },
        { ul: [
          `skaudžiausias vietas (pvz., „nematome likučių", „mėnesio uždarymas trunka 3 dienas");`,
          `kokie skyriai ir kiek žmonių dirbs sistemoje;`,
          `kokie dokumentų srautai ir specifiniai poreikiai (Lietuvos lokalizacija, VMI i.SAF, Rivilės integracija ir pan.).`,
        ]},
        { p: `Rezultatas — aiškus prioritetų sąrašas: nuo ko pradedame ir ką plečiame vėliau.` },
      ]},
      { id: 'planas', t: '2 · Planas', heading: '2 žingsnis: planas ir įvertinimas', blocks: [
        { p: `Pagal analizę sudaromas konkretus diegimo planas: kokie moduliai, kokia eiga, kokie terminai. Čia sutariame ir dėl „savininko" iš jūsų pusės — vieno žmogaus, per kurį eina sprendimai. Tai vienas svarbiausių sėkmės veiksnių: be aiškaus savininko projektai stringa tarp skirtingų nuomonių.` },
      ]},
      { id: 'konfiguracija', t: '3 · Konfigūracija', heading: '3 žingsnis: konfigūracija ir duomenų importas', blocks: [
        { p: `Paruošiame sistemą jūsų verslui: modulius, prieigos teises, dokumentų šablonus, lietuvišką lokalizaciją. Turimus duomenis — klientus, prekes, likučius — importuojame iš Excel ar senų sistemų. Reikalui esant, sukonfigūruojame integracijas (pvz., Rivilės arba VMI i.SAF).` },
      ]},
      { id: 'paleidimas', t: '4 · Paleidimas', heading: '4 žingsnis: paleidimas etapais', blocks: [
        { p: `Vietoj „viskas nuo pirmadienio" — moduliai paleidžiami palaipsniui. Tipinė seka mažam ir vidutiniam verslui:` },
        { ol: [
          `<strong>Pardavimai ir CRM</strong> — aktyvios galimybės perkeliamos, vadybininkai apmokomi.`,
          `<strong>Atsargos</strong> — inventorizacija, brūkšniniai kodai, pirmasis realaus laiko likutis.`,
          `<strong>Pirkimai</strong> — tiekėjų katalogas, automatinis užsakymų siūlymas pagal likutį.`,
          `<strong>Apskaita / integracija</strong> — sąskaitų srautas, VMI i.SAF arba sujungimas su esama apskaitos programa.`,
        ]},
        { p: `Kiekvienas etapas paleidžiamas į realų darbą prieš pereinant prie kito.` },
      ]},
      { id: 'mokymai', t: '5 · Mokymai', heading: '5 žingsnis: mokymai mažomis grupėmis', blocks: [
        { p: `Vietoj vieno ilgo „visiems viskas" mokymo — trumpi seansai po 5–6 žmones, kiekvienas savo modulio kontekste. Klausimų būna daugiau, bet įsiminimas — kelis kartus geresnis. Komanda mokosi to, ką realiai naudos, ne abstrakčios teorijos.` },
      ]},
      { id: 'po-paleidimo', t: '6 · Priežiūra', heading: '6 žingsnis: paleidimas ir priežiūra po jo', blocks: [
        { p: `Kai pagrindiniai moduliai veikia, senos sistemos atjungiamos, o pirmąsias savaites budime palaikymui — kad smulkmenos būtų sutvarkytos greitai. Toliau priežiūra tęsiasi nuolat: ERP365 (Odoo) atveju sistemos talpinimas, atsarginės kopijos ir priežiūra įeina į mėnesinį mokestį, vyksta 24/7 monitoringas, o į kreipimusis reaguojama iki 4 val.` },
      ]},
      { id: 'ko-tiketis', t: 'Ko tikėtis', heading: 'Ko realiai tikėtis: trys svarbūs lūkesčiai', blocks: [
        { ul: [
          `<strong>Greičio.</strong> Bazinis diegimas trunka kelias savaites, ne metus — nes pradedame nuo svarbiausio ir plečiamės palaipsniui.`,
          `<strong>Ne tobulybės pirmą dieną.</strong> Pirmoji versija dažniausiai veikia su ~85 % funkcionalumo. Likę niuansai (specifinės taisyklės, ataskaitos) pridedami naudojantis — tai normalu ir net sveika.`,
          `<strong>Įsitraukimo iš jūsų pusės.</strong> Geriausi diegimai — tie, kuriuose klientas turi aktyvų savininką ir komanda dalyvauja mokymuose. Tai ne „atiduodame ir pamirštame", o bendras darbas.`,
        ]},
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `ERP365 (Odoo) diegimas — ne metų trukmės baubas, o struktūruotas, etapinis procesas: analizė → planas → konfigūracija ir importas → paleidimas etapais → mokymai → priežiūra. Toks kelias duoda greitą naudą ir minimizuoja riziką.` },
      ]},
    ],
    cta: { title: 'Norite tikslesnio plano savo įmonei?', lede: '30 min. demo — aptarsime jūsų procesus ir nubrėšime konkrečią diegimo eigą su ERP365 (Odoo).' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'ataskaitos-analitika': {
    tag: 'Odoo',
    tagsGhost: ['Analitika', 'Ataskaitos'],
    title: 'Ataskaitos ir verslo analitika realiu laiku su ERP365 (Odoo)',
    dek: 'Sprendimai pagal šiandienos, ne praėjusio mėnesio duomenis. Kaip realaus laiko analitika keičia valdymą.',
    date: '2026 m. gegužės 22',
    readTime: '6 min. skaitinys',
    caption: 'ERP365 (Odoo) · skydeliai realiu laiku',
    sections: [
      { id: 'kodel-veluoja', t: 'Kodėl vėluoja', heading: 'Kodėl Excel ataskaitos visada vėluoja', blocks: [
        { lede: `Daugumai vadovų pažįstamas jausmas: sprendimus reikia priimti šiandien, o realius skaičius turite tik mėnesio pabaigoje, kai buhalterija suves duomenis. Tai — sprendimų priėmimas žiūrint į galinio vaizdo veidrodėlį. Verslo analitika realiu laiku tą keičia iš esmės.` },
        { p: `Kai duomenys išsibarstę po kelias sistemas — pardavimai vienur, sandėlis kitur, apskaita trečiur — kiekviena ataskaita reiškia rankinį surinkimą: eksportuoti, suklijuoti, suderinti, patikrinti. Tai užtrunka, todėl daroma retai (kartą per mėnesį) ir su klaidų rizika. O kol ataskaita paruošiama, ji jau pasenusi.` },
        { p: `Esminė problema — ne Excel kaip įrankis, o tai, kad <strong>nėra vieno duomenų šaltinio</strong>.` },
      ]},
      { id: 'realaus-laiko', t: 'Vienas šaltinis', heading: 'Realaus laiko analitika: vienas šaltinis, gyvi skaičiai', blocks: [
        { p: `ERP365 (Odoo) visi moduliai dirba su viena duomenų baze. Tai reiškia, kad ataskaitos nėra atskiras darbas „po fakto" — jos formuojasi pačios, iš to paties srauto, kuriame dirba komanda. Pardavus prekę, atsinaujina ir pardavimų rodiklis, ir atsargų likutis, ir pajamų ataskaita — tuo pačiu metu.` },
        { p: `Praktiškai tai matosi kaip <strong>skydeliai (dashboards)</strong> — pagrindiniai rodikliai vienu žvilgsniu, be lūkuriavimo.` },
      ]},
      { id: 'ka-matyti', t: 'Ką matyti', heading: 'Ką galima matyti realiu laiku', blocks: [
        { ul: [
          `<strong>Pardavimai ir CRM</strong> — pardavimų piltuvo būsena, konversija pagal etapą, komandos efektyvumas, prognozė. Matote, kiek sandorių „kabo" ir kur stringa.`,
          `<strong>Atsargos</strong> — realaus laiko likučiai visuose sandėliuose, mažėjantys kiekiai, prekės, kurias laikas užsakyti.`,
          `<strong>Finansai</strong> — sąskaitos, mokėjimų stebėjimas realiu laiku, vėluojantys mokėjimai, pinigų srauto vaizdas.`,
          `<strong>Pirkimai</strong> — atviri užsakymai tiekėjams, pristatymo terminai, kainų palyginimas.`,
          `<strong>Projektai ir laikas</strong> — darbo krūvis, sugaištas laikas, projektų pelningumas.`,
          `<strong>Įrangos priežiūra</strong> — prastovos, MTBF ir MTTR rodikliai, priežiūros sąnaudos pagal įrangą.`,
        ]},
        { p: `Svarbu, kad visa tai — ne atskiri įrankiai su atskiromis licencijomis, o tos pačios sistemos dalis.` },
      ]},
      { id: 'sprendimai', t: 'Prie sprendimų', heading: 'Nuo skaičių prie sprendimų', blocks: [
        { p: `Analitikos vertė ne pačiuose skaičiuose, o sprendimuose, kuriuos jie leidžia priimti laiku:` },
        { ul: [
          `Matote, kad konkreti prekė baigiasi, <strong>prieš</strong> tai, kai pritrūksta — ir nepražiopsote pardavimo.`,
          `Matote, kad klientas vėluoja mokėti, <strong>anksti</strong> — ir reaguojate, kol skola dar nedidelė.`,
          `Matote, kuris pardavimų etapas „kemša" piltuvą — ir žinote, ką taisyti.`,
          `Matote realų projekto pelningumą <strong>vykstant</strong>, ne pabaigoje.`,
        ]},
        { p: `Lietuvos kontekste svarbu ir tai, kad apskaitos pusė (VMI i.SAF/i.VAZ) integruota, todėl finansiniai duomenys ataskaitose remiasi tuo pačiu šaltiniu, ne atskirai vedama informacija.` },
      ]},
      { id: 'kam-naudinga', t: 'Kam naudinga', heading: 'Kam tai ypač naudinga', blocks: [
        { ul: [
          `<strong>Vadovams</strong> — objektyvus verslo vaizdas realiu laiku, ne „jausmas" ir ne mėnesio senumo skaičiai.`,
          `<strong>Pardavimų vadovams</strong> — prognozė ir komandos rezultatai be rankinio Excel rinkimo.`,
          `<strong>Finansininkams</strong> — greitesnis mėnesio uždarymas ir mokėjimų kontrolė.`,
          `<strong>Operacijų vadovams</strong> — atsargų ir tiekimo grandinės būsena vienu žvilgsniu.`,
        ]},
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `Verslo analitika realiu laiku — tai ne prabangos funkcija „dideliems", o pamatinis pranašumas: sprendimai priimami pagal šiandienos, ne praėjusio mėnesio duomenis. ERP365 (Odoo) tai suteikia natūraliai, nes visi rodikliai formuojasi iš vienos, bendros duomenų bazės.` },
      ]},
    ],
    cta: { title: 'Norite pamatyti savo verslo skydelius gyvai?', lede: '30 min. demo — parodysime, kokias ataskaitas matytumėte realiu laiku su ERP365 (Odoo).' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'kas-yra-cmms': {
    tag: 'Priežiūra',
    tagsGhost: ['CMMS', 'Įrangos priežiūra'],
    title: 'Kas yra CMMS sistema ir kuo ji skiriasi nuo įprasto priežiūros žurnalo',
    dek: 'CMMS — įrangos priežiūros valdymo sistema. Kuo ji geresnė už Excel ar popierinį žurnalą ir kada jos prireikia.',
    date: '2026 m. gegužės 19',
    readTime: '6 min. skaitinys',
    caption: 'ERP365 (Odoo) · įrangos priežiūros valdymas',
    sections: [
      { id: 'kas-yra', t: 'Kas yra CMMS', heading: 'Kas yra CMMS', blocks: [
        { lede: `Kiekviena įmonė, turinti įrangą — stakles, automobilius, šaldymo sistemas, kompiuterius — ją kažkaip prižiūri. Klausimas tik vienas: ar ta priežiūra valdoma sistemingai, ar „kai sugenda, tada ir tvarkome". CMMS sistema egzistuoja tam, kad būtų pirmasis variantas.` },
        { p: `CMMS (angl. <em>Computerized Maintenance Management System</em>) — tai įrangos priežiūros valdymo sistema. Paprastai tariant, viena vieta, kurioje suvedama visa informacija apie įrangą ir jos priežiūrą: kas tai per įrenginys, kur jis yra, kas už jį atsakingas, kada paskutinį kartą buvo tikrintas, kada kitas planinis aptarnavimas, kiek kainavo remontai.` },
        { p: `Vietoj išbarstytų popierių, Excel lapų ir žinių „meistro galvoje", CMMS suteikia struktūrą: <strong>įrangos registrą, priežiūros užduotis, istoriją ir statistiką</strong>.` },
      ]},
      { id: 'skirtumas', t: 'Skirtumas nuo Excel', heading: 'Kuo CMMS skiriasi nuo Excel ar popierinio žurnalo', blocks: [
        { p: `Iš pirmo žvilgsnio Excel atrodo pakankamas — lentelė su įranga ir datomis. Bet skirtumas esminis:` },
        { ba: { before: 'Įprastas žurnalas / Excel', after: 'CMMS sistema', rows: [
          [`Įrašai statiški, niekas neprimena`, `Sistema <strong>pati įspėja</strong> prieš planinę priežiūrą, garantijos ar kalibravimo pabaigą`],
          [`Istorija pasimeta arba neišsami`, `Visa įrangos istorija — vienoje kortelėje, su nuotraukomis ir dokumentais`],
          [`Sunku pamatuoti sąnaudas`, `Matomas realus priežiūros laikas ir kaštai pagal įrangą`],
          [`Žinios priklauso nuo žmogaus`, `Žinios lieka sistemoje, net pasikeitus darbuotojui`],
          [`Nėra objektyvios statistikos`, `MTBF, MTTR ir kiti rodikliai sprendimams`],
        ]}},
        { p: `Svarbiausias skirtumas — CMMS leidžia pereiti nuo <strong>reaktyvios</strong> priežiūros („gesinam, kai sudega") prie <strong>prevencinės</strong> („planuojam, kad nesudegtų"). Excel to nedaro, nes jis nieko neprimena ir nieko neinicijuoja.` },
      ]},
      { id: 'ka-leidzia', t: 'Ką leidžia', heading: 'Ką CMMS leidžia daryti praktiškai', blocks: [
        { p: `Geroje CMMS sistemoje (pavyzdžiui, <a href="/prieziura">ERP365 (Odoo) įrangos priežiūros modulyje</a>) randate:` },
        { ul: [
          `<strong>Įrangos registrą</strong> — vidinė ir išorinė įranga vienoje vietoje: kategorijos, vietos, atsakingi asmenys, serijos numeriai.`,
          `<strong>Priežiūros užduotis</strong> — prevencines, korekcines ar planuotas patikras, susietas su konkrečia įranga ir darbuotoju.`,
          `<strong>Garantijų ir kalibravimo sekimą</strong> — sistema įspėja prieš artėjantį terminą.`,
          `<strong>Darbo laiko fiksavimą</strong> — matomas realus priežiūros laikas ir sąnaudos.`,
          `<strong>Statistiką ir KPI</strong> — objektyvūs duomenys sprendimams: remontuoti ar keisti, kaip dažnai prižiūrėti.`,
          `<strong>Patikros aktus</strong> — elektroninis pasirašymas ir PDF generavimas tiesiai iš sistemos.`,
        ]},
      ]},
      { id: 'kada-reikia', t: 'Kada reikia', heading: 'Kada verslui jau reikia CMMS', blocks: [
        { p: `Aiškūs ženklai, kad žurnalo nebepakanka:` },
        { ul: [
          `įrangos vienetų vis daugiau, sunku atsekti, kas ir kada tikrinta;`,
          `nuolat nustembate dėl netikėtų gedimų ir prastovų;`,
          `pražiopsote garantijos arba kalibravimo terminus;`,
          `nežinote, kiek realiai kainuoja konkretaus įrenginio priežiūra;`,
          `priežiūros žinios priklauso nuo vieno žmogaus.`,
        ]},
        { p: `Jei atpažįstate bent porą — CMMS greičiausiai atsipirks vien sumažintomis prastovomis.` },
      ]},
      { id: 'kam-tinka', t: 'Kam tinka', heading: 'Kam tai tinka', blocks: [
        { p: `CMMS naudinga bet kuriai įmonei, turinčiai įrangą:` },
        { ul: [
          `<strong>Gamybai</strong> — staklės, linijos, įrankiai; prevencinė priežiūra pagal darbo valandas ar ciklus.`,
          `<strong>Paslaugų įmonėms</strong> — šaldytuvai, HVAC, kondicionieriai pas klientus; serviso istorija vienoje vietoje.`,
          `<strong>IT ir biurui</strong> — kompiuteriai, serveriai, spausdintuvai; garantijos ir pakeitimo planas.`,
          `<strong>Transportui</strong> — automobilių parkas, priekabos; TA ir draudimo terminai.`,
        ]},
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `CMMS — tai ne „skaitmenizuotas Excel", o sistema, kuri pati primena, kaupia istoriją ir leidžia priimti sprendimus pagal objektyvius duomenis. Esminė nauda — perėjimas nuo gaisrų gesinimo prie planavimo, o kartu — mažiau prastovų ir aiškesnės priežiūros sąnaudos.` },
      ]},
    ],
    cta: { title: 'Norite pamatyti CMMS veikiant?', lede: '30 min. demo — parodysime ERP365 (Odoo) įrangos priežiūros modulį su jūsų įrangos pavyzdžiu.' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'irangos-prieziura': {
    tag: 'Priežiūra',
    tagsGhost: ['Maintenance', 'Mūsų modulis'],
    title: 'Įrangos priežiūros valdymas su ERP365 (Odoo): nuo gedimo registracijos iki užbaigto darbo',
    dek: 'Visa priežiūra viename sraute — nuo užklausos su nuotrauka iki pasirašyto patikros akto. Mažiau prastovų, daugiau veikiančios įrangos.',
    date: '2026 m. gegužės 15',
    readTime: '7 min. skaitinys',
    caption: 'ERP365 (Odoo) · priežiūros užklausų kanban',
    sections: [
      { id: 'procesas', t: 'Keturi žingsniai', heading: 'Procesas: keturi žingsniai', blocks: [
        { lede: `Kai įranga sugenda, prasideda lenktynės: kas pastebėjo, kas atsakingas, ar dar galioja garantija, kada technikas spės, ar yra atsarginių dalių. Jei viskas vyksta telefonu ir popieriuje, dalis informacijos pasimeta, o prastovos ilgėja. ERP365 (Odoo) įrangos priežiūros modulis tą procesą suvaldo nuo pradžios iki galo.` },
        { h3: `1. Užklausa` },
        { p: `Darbuotojas (arba net jutiklis) sukuria priežiūros užklausą: su nuotrauka, aprašymu ir susieta įranga. Niekam nereikia skambinti ar ieškoti, kas atsakingas — užklausa iš karto patenka į bendrą srautą.` },
        { h3: `2. Planavimas` },
        { p: `Užklausai priskiriamas atsakingas technikas, pasirenkamas prioritetas ir suplanuojamas darbo laikas. Kanban vaizde matosi, kiek darbų laukia kiekvienoje stadijoje — nuo „Naujos" iki „Sutaisyta".` },
        { h3: `3. Darbas` },
        { p: `Technikas atlieka priežiūrą, fiksuoja sugaištą laiką, naudotas medžiagas ir prideda nuotraukas. Visa tai lieka prie tos įrangos kortelės — ne atskirame lape.` },
        { h3: `4. Patikra` },
        { p: `Sugeneruojamas patikros aktas, elektroniškai pasirašomas ir išsaugomas prie įrangos istorijos. Kitą kartą prireikus — viskas po ranka.` },
      ]},
      { id: 'ka-apima', t: 'Ką apima', heading: 'Ką modulis apima', blocks: [
        { p: `ERP365 (Odoo) priežiūros modulis sukurtas realiems gamybos, paslaugų ir IT padalinių poreikiams. Pagrindinės galimybės:` },
        { ul: [
          `<strong>Įrangos registras</strong> — vidinė ir išorinė įranga vienoje vietoje: kategorijos, vietos, atsakingi, serijos numeriai.`,
          `<strong>Priežiūros užduotys</strong> — prevencinės, korekcinės ar planuotos patikros, susietos su konkrečia įranga.`,
          `<strong>Atsakingų priskyrimas</strong> — įrangos savininkas ar priežiūros komanda; pranešimai ir eigos stebėjimas realiu laiku.`,
          `<strong>Garantijos sekimas</strong> — pradžios ir pabaigos datos, tiekėjo duomenys; įspėjimas prieš garantijos pabaigą.`,
          `<strong>Priedai ir specifikacijos</strong> — nuotraukos, techniniai dokumentai, instrukcijos, sąskaitos — vienoje kortelėje.`,
          `<strong>Statistika ir KPI</strong> — objektyvūs duomenys sprendimams apie pakeitimą ar priežiūros dažnį.`,
          `<strong>Darbo laiko sekimas</strong> — reali priežiūros sąnauda pagal įrangą, komandą ar laikotarpį.`,
          `<strong>Patikros dokumentai</strong> — spausdinimas, elektroninis pasirašymas ir PDF generavimas iš sistemos.`,
          `<strong>Dalinimasis su tiekėjais</strong> — įrangos informacija išoriniams servisams vienu paspaudimu, be papildomų prisijungimų.`,
          `<strong>Metrologija ir kalibravimas</strong> — matavimo priemonių intervalai, sertifikatai, akreditacijos numeriai; įspėjimas prieš terminą.`,
        ]},
      ]},
      { id: 'kodel-geriau', t: 'Kodėl geriau', heading: 'Kodėl tai geriau nei atskira priežiūros programa', blocks: [
        { p: `Didžiausias privalumas — modulis nėra atskira sala. Jis dirba toje pačioje ERP365 (Odoo) sistemoje kaip ir atsargos, pirkimai bei apskaita. Praktiškai tai reiškia, kad priežiūra susijungia su atsarginių dalių sandėliu, o priežiūros sąnaudos matomos bendroje verslo analitikoje — ne atskirame įrankyje su atskira licencija.` },
      ]},
      { id: 'kaina', t: 'Kaina', heading: 'Kaina ir kas reikalinga pradžiai', blocks: [
        { p: `Modulio kaina — <strong>50 €/mėn.</strong>, be ribojimų įrangos ar užduočių kiekiui. Į kainą įeina pilnas funkcionalumas, nuolatiniai atnaujinimai ir palaikymas. Modulis veikia su visais ERP365 (Odoo) planais.` },
        { p: `Pradžiai užtenka:` },
        { ol: [
          `<strong>Sutarties</strong> — standartinio ERP365 (Odoo) paketo naudotojams.`,
          `<strong>Įrangos sąrašo</strong> — turimus duomenis importuojame iš Excel ar kitų sistemų.`,
          `<strong>Modulio</strong> — 50 €/mėn.; diegimą ir apmokymus atliekame mes, dažniausiai užtenka vienos darbo dienos.`,
        ]},
      ]},
      { id: 'praplesti', t: 'Praplėtimai', heading: 'Galima praplėsti pagal pramonę', blocks: [
        { p: `Kiekviena pramonė turi savų niuansų, todėl modulį galima išplėsti:` },
        { ul: [
          `<strong>QR kodų sprendimai</strong> — kiekvieno įrenginio QR kodas: nuskaitai telefonu, atidarai kortelę, registruoji patikrą vietoje.`,
          `<strong>Mobili programėlė</strong> — technikai fiksuoja darbą, fotografuoja ir pasirašo aktus tiesiai iš telefono.`,
          `<strong>IoT integracijos</strong> — sensorių rodmenys automatiškai paleidžia priežiūros užklausą, be žmogaus įsikišimo.`,
          `<strong>Individualios ataskaitos</strong> — pramonei pritaikyti patikros aktai, TA protokolai, atitikties dokumentai.`,
        ]},
      ]},
      { id: 'apibendrinimas', t: 'Apibendrinimas', heading: 'Apibendrinimas', blocks: [
        { p: `Įrangos priežiūra neturi būti chaosas telefonu ir popieriuje. Su ERP365 (Odoo) priežiūros moduliu visas kelias — nuo gedimo registracijos iki pasirašyto patikros akto — vyksta viename sraute, su pilna įrangos istorija ir objektyvia statistika. Rezultatas: mažiau prastovų, daugiau veikiančios įrangos.` },
      ]},
    ],
    cta: { title: 'Norite išbandyti?', lede: '30 min. demo — parodysime, kaip ERP365 (Odoo) priežiūros modulis veiktų su jūsų įranga.' },
  },

  // ──────────────────────────────────────────────────────────────────────
  'matavimo-prietaisu-prieziura': {
    tag: 'Priežiūra',
    tagsGhost: ['Metrologija', 'Kalibravimas'],
    title: 'Matavimo prietaisų priežiūra ir kalibravimas: skaitmenizacija prasideda nuo kontrolės',
    dek: 'Gamyboje, laboratorijose ir energetikoje matavimo prietaisų tikslumas tiesiogiai veikia kokybę, saugumą ir atitiktį. Kaip suvaldyti kalibravimą ir patikras vienoje sistemoje.',
    date: '2026 m. birželio 8',
    readTime: '6 min. skaitinys',
    caption: 'ERP365 (Odoo) · matavimo prietaisų ir kalibravimo valdymas',
    sections: [
      { id: 'kontrole', t: 'Nuo kontrolės', heading: 'Skaitmenizacija prasideda nuo kontrolės', blocks: [
        { lede: `Gamybos, energetikos, statybos ir kitose techninėse įmonėse bei laboratorijose matavimo prietaisų tikslumas tiesiogiai veikia darbo kokybę, saugumą ir atitiktį reikalavimams. Įmonės investuoja į modernią įrangą, automatizaciją ir gamybos procesų optimizavimą. Tačiau vienas svarbus aspektas dažnai lieka šešėlyje — matavimo prietaisų ir įrangos priežiūros valdymas.` },
        { p: `Kai įmonė valdo dešimtis ar net šimtus įrenginių, matavimo priemonių, jutiklių ar kontrolės prietaisų, tampa sudėtinga užtikrinti, kad visi kalibravimai, patikros ir techninės priežiūros darbai būtų atliekami laiku. Dažnai informacija vis dar saugoma „Excel" lentelėse, popieriniuose žurnaluose ar darbuotojų užrašuose. Kol viskas vyksta sklandžiai, tai atrodo tinkamas sprendimas. Tačiau augant įmonės mastui, tokia praktika pradeda kelti rizikas.` },
      ]},
      { id: 'issukis', t: 'Kontrolė kaip iššūkis', heading: 'Kai kontrolė tampa iššūkiu', blocks: [
        { p: `Įsivaizduokite situaciją: artėja ISO auditas, reikia pateikti konkretaus matavimo prietaiso kalibravimo istoriją. Atsakingas darbuotojas atostogauja. Informacija saugoma keliuose skirtinguose failuose. Rezultatas — papildomas stresas, sugaištas laikas ir rizika neatitikti reikalavimų.` },
        { p: `Dar didesnė problema atsiranda tada, kai praleidžiamas kalibravimo ar metrologinės patikros terminas. Tokiu atveju kyla klausimas ne tik dėl dokumentacijos, bet ir dėl <strong>visų atliktų matavimų patikimumo</strong>.` },
      ]},
      { id: 'prevencija', t: 'Prevencija', heading: 'Nuo reakcijos prie prevencijos', blocks: [
        { p: `Sėkmingai veikiančios organizacijos šiandien orientuojasi ne į problemų sprendimą po fakto, o į jų prevenciją. Tam reikalinga:` },
        { ul: [
          `aiški visos įrangos apskaita;`,
          `centralizuota priežiūros informacija;`,
          `automatiniai priminimai;`,
          `priežiūros darbų planavimas;`,
          `pilnas veiksmų atsekamumas.`,
        ]},
        { p: `Būtent todėl vis daugiau įmonių renkasi specializuotus įrangos priežiūros sprendimus.` },
      ]},
      { id: 'modulis', t: 'Kaip sprendžia ERP365', heading: 'Kaip tai sprendžia ERP365 (Odoo) įrangos priežiūros modulis', blocks: [
        { p: `ERP365 (Odoo) įrangos priežiūros modulis sukurtas organizacijoms, kurios valdo didelį kiekį įrangos, matavimo prietaisų ir techninių objektų. Sistema leidžia vienoje vietoje:` },
        { ul: [
          `registruoti visą įrangą ir matavimo priemones;`,
          `kaupti eksploatacijos bei remonto istoriją;`,
          `planuoti techninės priežiūros darbus;`,
          `kontroliuoti kalibravimo ir metrologinių patikrų terminus;`,
          `saugoti sertifikatus, protokolus ir kitus dokumentus;`,
          `automatiškai informuoti atsakingus darbuotojus apie artėjančius darbus.`,
        ]},
        { p: `Vietoje kelių lentelių ir skirtingų dokumentų šaltinių visa informacija tampa pasiekiama realiu laiku vienoje sistemoje.` },
      ]},
      { id: 'nauda', t: 'Nauda verslui', heading: 'Kokia nauda verslui', blocks: [
        { p: `Įrangos priežiūros skaitmenizacija nėra tik administracinio darbo mažinimas. Ji tiesiogiai prisideda prie:` },
        { ul: [
          `mažesnių neplanuotų prastovų;`,
          `efektyvesnio techninio personalo darbo;`,
          `geresnio pasirengimo auditams;`,
          `mažesnės žmogiškųjų klaidų rizikos;`,
          `tikslesnių sprendimų, paremtų duomenimis;`,
          `ilgesnio įrangos tarnavimo laiko.`,
        ]},
        { p: `Vadovams tai reiškia didesnį veiklos skaidrumą, o techninėms komandoms — mažiau laiko dokumentų paieškai ir daugiau laiko vertę kuriančiam darbui.` },
      ]},
      { id: 'konkurencingumas', t: 'Konkurencingumas', heading: 'Ateities konkurencingumas prasideda nuo procesų', blocks: [
        { p: `Dažnai įmonės pirmiausia galvoja apie naują įrangą ar gamybos pajėgumų didinimą. Tačiau tikrasis efektyvumas atsiranda tada, kai kontroliuojami procesai, susiję su tuo turtu.` },
        { p: `Matavimo prietaisų ir įrangos priežiūra nėra tik techninis klausimas. Tai kokybės, saugumo, atitikties ir veiklos efektyvumo dalis. Todėl verta savęs paklausti: <strong>ar jūsų įmonė valdo įrangos priežiūrą proaktyviai, ar vis dar reaguoja į problemas tada, kai jos jau įvyko?</strong>` },
      ]},
    ],
    cta: { title: 'Valdykite matavimo prietaisų priežiūrą proaktyviai.', lede: '30 min. demo — parodysime ERP365 (Odoo) įrangos priežiūros modulį su kalibravimo ir metrologinių patikrų pavyzdžiais.' },
  },

};

// Display order — drives prev/next + related, and the blog index ordering.
const BLOG_ORDER = [
  'erp-mazam-vidutiniam-verslui',
  'kastu-taupymas',
  '5-zenklai-reikia-erp',
  'erp365-crm',
  'rivile-erp365',
  'diegimo-eiga',
  'ataskaitos-analitika',
  'kas-yra-cmms',
  'irangos-prieziura',
  'matavimo-prietaisu-prieziura',
];
window.BLOG_POSTS = BLOG_POSTS;
window.BLOG_ORDER = BLOG_ORDER;

// Topic-related cover mockups (ERP365 / Odoo-style window per article).
const BLOG_COVERS = {
  'kastu-taupymas': {
    app: 'Kaštai', menu: ['Apžvalga', 'Licencijos', 'Priežiūra'], kind: 'kpi',
    kpis: [
      { l: 'Programos', v: '5 → 1', d: 'viena sistema', c: 'g' },
      { l: 'Licencijų kaštai', v: '−40 %', d: 'po apjungimo', c: 'g' },
      { l: 'Vartotojų skaičius', v: '∞', d: 'be papildomo mokesčio', c: 'b' },
    ],
    bars: [82, 74, 66, 57, 49, 42, 36],
  },
  'erp-mazam-vidutiniam-verslui': {
    app: 'Skydelis', menu: ['Apžvalga', 'Pardavimai', 'Atsargos'], kind: 'kpi',
    kpis: [
      { l: 'Pardavimai (MTD)', v: '€128k', d: '+18 %', c: 'g' },
      { l: 'Atviri užsakymai', v: '42', d: '8 nauji šiandien', c: 'b' },
      { l: 'Atsargų vertė', v: '€86k', d: 'realiu laiku', c: 'b' },
    ],
    bars: [40, 55, 48, 62, 70, 66, 80],
  },
  '5-zenklai-reikia-erp': {
    app: 'Sistemos būklė', menu: ['Diagnostika'], kind: 'check',
    items: ['Dvigubas duomenų vedimas', 'Likučiai netikslūs', 'Lėtas mėnesio uždarymas', "Žinios viename Excel'yje", 'Administracija nebespėja'],
  },
  'erp365-crm': {
    app: 'CRM', menu: ['Pardavimai', 'Ataskaitos', 'Konfigūracija'], pill: 'Mano piltuvėlis', kind: 'kanban',
    cols: [
      { t: 'Nauja', n: 6, cards: [ { t: 'Pasiūlymas 150 stalų', m: '€40 000', chip: 'Naujas', cc: 'b' }, { t: 'Užklausa 12 stalams', m: '€18 500', chip: 'Skambutis', cc: 'y', bl: 'bl-y' } ] },
      { t: 'Pasiūlymas', n: 4, cards: [ { t: 'Biuro baldų komplektas', m: '€9 000', chip: 'Derybos', cc: 'b' } ] },
      { t: 'Laimėta', n: 3, cards: [ { t: 'Platintojo sutartis', m: '€19 800', chip: 'Laimėta', cc: 'g', bl: 'bl-g' } ] },
    ],
  },
  'rivile-erp365': {
    app: 'Integracija', menu: ['Žurnalas', 'Būsenos'], kind: 'integration',
    left: { h: 'ERP365 (Odoo)', docs: ['Pardavimo užsak. SO0231', 'Sąskaita INV0188', 'Prekės kortelė'] },
    right: { h: 'Rivilė', docs: ['Įrašyta į DK', 'PVM užregistruota', 'Likutis atnaujintas'] },
  },
  'diegimo-eiga': {
    app: 'Diegimas', menu: ['Planas', 'Eiga'], kind: 'timeline',
    steps: [ { l: 'Analizė', s: 'done' }, { l: 'Planas', s: 'done' }, { l: 'Konfigūr.', s: 'done' }, { l: 'Paleidimas', s: 'now' }, { l: 'Mokymai', s: '' }, { l: 'Priežiūra', s: '' } ],
  },
  'ataskaitos-analitika': {
    app: 'Ataskaitos', menu: ['Skydeliai', 'Pardavimai', 'Finansai'], kind: 'kpi',
    kpis: [
      { l: 'Pajamos (MTD)', v: '€214k', d: '+12 %', c: 'g' },
      { l: 'Pelno marža', v: '31 %', d: '+2 p.p.', c: 'g' },
      { l: 'Vėluoja mokėti', v: '€12k', d: '4 sąskaitos', c: 'r' },
    ],
    bars: [30, 42, 38, 55, 60, 72, 68, 85],
  },
  'kas-yra-cmms': {
    app: 'Įranga', menu: ['Registras', 'Užduotys'], kind: 'list',
    cols: ['Įrenginys', 'Kita priežiūra', 'Būklė'],
    rows: [ ['CNC frezavimo staklės', 'Birželio 20', 'ok'], ['Kompresorius K-200', 'Birželio 12', 'warn'], ['Šaldymo agregatas', 'Birželio 5', 'bad'], ['Krautuvas EP-15', 'Liepos 2', 'ok'] ],
    stMap: { ok: 'Planuota', warn: 'Artėja', bad: 'Pavėluota' },
  },
  'irangos-prieziura': {
    app: 'Priežiūra', menu: ['Užklausos', 'Įranga', 'Ataskaitos'], kind: 'kanban',
    cols: [
      { t: 'Naujos', n: 5, cards: [ { t: 'Gedimas: linija L2', m: 'Prioritetas: aukštas', chip: 'Skubu', cc: 'r', bl: 'bl-r' }, { t: 'Triukšmas siurblyje', m: 'Prioritetas: vid.', chip: 'Nauja', cc: 'b' } ] },
      { t: 'Vyksta', n: 3, cards: [ { t: 'Planinė: konvejeris', m: 'Tech. Jonas', chip: 'Vyksta', cc: 'y', bl: 'bl-y' } ] },
      { t: 'Sutaisyta', n: 8, cards: [ { t: 'Pakeistas guolis', m: 'Aktas pasirašytas', chip: 'Baigta', cc: 'g', bl: 'bl-g' } ] },
    ],
  },
  'matavimo-prietaisu-prieziura': {
    app: 'Metrologija', menu: ['Prietaisai', 'Kalibravimas', 'Sertifikatai'], kind: 'list',
    cols: ['Matavimo priemonė', 'Kalibravimas iki', 'Būklė'],
    rows: [ ['Skaitm. slankmatis 0–150', '2026-09-14', 'ok'], ['Momento raktas TW-40', '2026-06-21', 'warn'], ['Manometras MP-10', '2026-05-30', 'bad'], ['Termohigrometras TH-2', '2026-11-02', 'ok'] ],
    stMap: { ok: 'Galioja', warn: 'Baigiasi', bad: 'Pavėluota' },
  },
};
Object.keys(BLOG_COVERS).forEach(k => { if (BLOG_POSTS[k]) BLOG_POSTS[k].cover = BLOG_COVERS[k]; });
// Cover photos (Pexels — see assets/blog/CREDITS.md). Filename == slug.
BLOG_ORDER.forEach(k => { if (BLOG_POSTS[k]) BLOG_POSTS[k].photo = `/assets/blog/${k}.jpg`; });

const BCV_CHIP = {
  b: { background: '#DBEAFE', color: '#1E40AF' },
  y: { background: '#FEF3C7', color: '#92400E' },
  g: { background: '#DCFCE7', color: '#166534' },
  r: { background: '#FEE2E2', color: '#991B1B' },
};
const BCV_DELTA = { g: '#16A34A', r: '#DC2626', b: 'var(--erp-gray-500)' };

function BlogCoverScene({ cover }) {
  const k = cover.kind;
  if (k === 'kanban') {
    return (
      <div className="erp-bcv-kanban" style={{ '--cols': cover.cols.length }}>
        {cover.cols.map((col, i) => (
          <div className="erp-bcv-col" key={i}>
            <div className="erp-bcv-col-h"><span>{col.t}</span><span className="n">{col.n}</span></div>
            {col.cards.map((c, j) => (
              <div className={`erp-bcv-card ${c.bl || ''}`} key={j}>
                <div className="erp-bcv-card-t">{c.t}</div>
                <div className="erp-bcv-card-m"><span>{c.m}</span><span className="erp-bcv-chip" style={BCV_CHIP[c.cc]}>{c.chip}</span></div>
              </div>
            ))}
          </div>
        ))}
      </div>
    );
  }
  if (k === 'list') {
    return (
      <div className="erp-bcv-list">
        <div className="erp-bcv-row h"><span>{cover.cols[0]}</span><span>{cover.cols[1]}</span><span>{cover.cols[2]}</span></div>
        {cover.rows.map((r, i) => (
          <div className="erp-bcv-row" key={i}>
            <span className="nm">{r[0]}</span>
            <span>{r[1]}</span>
            <span className={`erp-bcv-st st-${r[2]}`}>{cover.stMap[r[2]]}</span>
          </div>
        ))}
      </div>
    );
  }
  if (k === 'kpi') {
    return (
      <div className="erp-bcv-kpis">
        {cover.kpis.map((t, i) => (
          <div className="erp-bcv-kpi" key={i}>
            <div className="erp-bcv-kpi-l">{t.l}</div>
            <div className="erp-bcv-kpi-v">{t.v}</div>
            <div className="erp-bcv-kpi-d" style={{ color: BCV_DELTA[t.c] }}>{t.d}</div>
          </div>
        ))}
        <div className="erp-bcv-chart">
          {cover.bars.map((h, i) => <div className="erp-bcv-bar" key={i} style={{ height: `${h}%`, opacity: 0.55 + (i / cover.bars.length) * 0.45 }} />)}
        </div>
      </div>
    );
  }
  if (k === 'integration') {
    const panel = (p) => (
      <div className="erp-bcv-panel">
        <div className="erp-bcv-panel-h"><i />{p.h}</div>
        {p.docs.map((d, i) => <div className="erp-bcv-doc" key={i}><span>{d}</span><span>›</span></div>)}
      </div>
    );
    return (
      <div className="erp-bcv-int">
        {panel(cover.left)}
        <div className="erp-bcv-arrows">
          <span className="erp-bcv-arrow">Dokumentai →</span>
          <span className="erp-bcv-api">REST API</span>
          <span className="erp-bcv-arrow back">← Būsenos</span>
        </div>
        {panel(cover.right)}
      </div>
    );
  }
  if (k === 'timeline') {
    return (
      <div className="erp-bcv-time">
        <div className="erp-bcv-steps">
          {cover.steps.map((s, i) => (
            <div className={`erp-bcv-step ${s.s}`} key={i}>
              <div className="erp-bcv-node">{s.s === 'done' ? '✓' : i + 1}</div>
              <div className="erp-bcv-step-l">{s.l}</div>
            </div>
          ))}
        </div>
      </div>
    );
  }
  if (k === 'check') {
    return (
      <div className="erp-bcv-check">
        {cover.items.map((it, i) => (
          <div className="erp-bcv-citem" key={i}><span className="erp-bcv-cmark">!</span>{it}</div>
        ))}
      </div>
    );
  }
  return null;
}

function BlogPostCover({ post }) {
  const c = post.cover;
  if (!c) {
    return (
      <svg viewBox="0 0 100 100" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <rect x="20" y="24" width="60" height="44" rx="3" /><path d="M20 36h60" /><path d="M30 52l8-8 7 6 9-12 8 9" />
      </svg>
    );
  }
  return (
    <div className="erp-bcv">
      <div className="erp-bcv-chrome">
        <span className="erp-bcv-dot" style={{ background: '#FF5F57' }} />
        <span className="erp-bcv-dot" style={{ background: '#FEBC2E' }} />
        <span className="erp-bcv-dot" style={{ background: '#28C840' }} />
      </div>
      <div className="erp-bcv-top">
        <span className="erp-bcv-top-logo" />
        <span className="erp-bcv-app">{c.app}</span>
        {c.menu.map((m, i) => <span key={i} className={`erp-bcv-menu ${i === 0 ? 'is-on' : ''}`}>{m}</span>)}
        {c.pill && <span className="erp-bcv-pill">{c.pill}</span>}
      </div>
      <div className="erp-bcv-body">
        <BlogCoverScene cover={c} />
      </div>
    </div>
  );
}

function BlogPostBlock({ b }) {
  if (b.lede) return <p className="erp-post-lede" dangerouslySetInnerHTML={{ __html: b.lede }} />;
  if (b.p) return <p dangerouslySetInnerHTML={{ __html: b.p }} />;
  if (b.h3) return <h3 dangerouslySetInnerHTML={{ __html: b.h3 }} />;
  if (b.ul) return <ul>{b.ul.map((x, i) => <li key={i} dangerouslySetInnerHTML={{ __html: x }} />)}</ul>;
  if (b.ol) return <ol>{b.ol.map((x, i) => <li key={i} dangerouslySetInnerHTML={{ __html: x }} />)}</ol>;
  if (b.ba) return (
    <div className="erp-post-ba">
      <div className="erp-post-ba-head"><div>{b.ba.before}</div><div>{b.ba.after}</div></div>
      {b.ba.rows.map((r, i) => (
        <div key={i} className="erp-post-ba-row">
          <div className="erp-post-ba-before" dangerouslySetInnerHTML={{ __html: r[0] }} />
          <div className="erp-post-ba-after" dangerouslySetInnerHTML={{ __html: r[1] }} />
        </div>
      ))}
    </div>
  );
  return null;
}

// Equipment / metrology board mock for blog (reuses .erp-prie styles from site.v6.css).
function BlogEquipmentMock({ variant }) {
  const equipment = [
    { name: 'Eigos variklis NK3700 (Buehler ECOMET30)', code: 'EC30SM-190381', owner: 'Karolis', icon: 'cog', reqs: 2, extra: 'avatar' },
    { name: 'Kompresorius K-200', owner: 'Karolis', icon: 'wind', reqs: 3 },
    { name: 'Šaldymo agregatas HVAC-12', owner: 'Olesia', icon: 'thermometer', reqs: 1 },
    { name: 'Pramoninis spausdintuvas TSC ML340P', owner: 'Olesia', icon: 'printer', reqs: 1 },
    { name: 'Hidraulinė rankinė pompa 4T YATO', owner: 'Tadas', icon: 'droplet', reqs: 1 },
    { name: 'Makita DHR202Z perforatorius', owner: 'Marius', icon: 'wrench', reqs: 1 },
    { name: 'Krautuvas EP-15', owner: 'Tadas', icon: 'truck', reqs: 2 },
    { name: 'Sandėlio lentynos KLP', owner: 'Karolis', icon: 'archive', reqs: 1 },
  ];
  const metrology = [
    { name: 'Izoliacijos varžos matuoklis CAT III 600V', code: 'Kalibr. iki 2026-09-14', owner: 'Karolis', icon: 'gauge', reqs: 1, extra: 'upload' },
    { name: 'Pramoninis analizatorius Siemens ULTRAMAT 23', code: 'Kalibr. iki 2026-06-21', owner: 'Marius', icon: 'cpu', reqs: 1 },
    { name: 'Skaitmeninis slankmatis 0–150 mm', code: 'Kalibr. iki 2026-08-05', owner: 'Karolis', icon: 'ruler', reqs: 1, extra: 'upload' },
    { name: 'Manometras MP-10', code: 'Kalibr. iki 2026-05-30', owner: 'Olesia', icon: 'gauge', reqs: 2 },
    { name: 'Dinamometrinis raktas Faster Tools 480 mm', code: 'Kalibr. iki 2026-05-30', owner: 'Marius', icon: 'wrench', reqs: 1 },
    { name: 'Dinamometrinis raktas vienpusis iki 800 Nm', code: 'Kalibr. iki 2026-11-02', owner: 'Tadas', icon: 'wrench', reqs: 1 },
    { name: 'Termohigrometras TH-2', code: 'Kalibr. iki 2026-11-02', owner: 'Tadas', icon: 'thermometer', reqs: 1, extra: 'upload' },
    { name: 'Alkotesteris Dräger Alcotest 7000', code: '7000/123', owner: 'Marius', icon: 'activity', reqs: 3 },
  ];
  const isMet = variant === 'metrology';
  const items = isMet ? metrology : equipment;
  const reqLabel = (n) => (n === 1 ? 'Užklausa' : 'Užklausos');
  return (
    <div className="erp-odoo erp-prie">
      <div className="erp-prie-topbar">
        <div className="erp-prie-topbar-left">
          <span className="erp-prie-app-icon"><img src="/assets/odoo-maintenance.svg" alt="" /></span>
          <span className="erp-prie-app-name">Priežiūra</span>
          <span className="erp-prie-nav-link">Valdymo skydelis</span>
          <span className="erp-prie-nav-link">Priežiūra</span>
          <span className="erp-prie-nav-link is-active">Įranga</span>
          <span className="erp-prie-nav-link">Ataskaitos</span>
          <span className="erp-prie-nav-link">Konfigūracija</span>
        </div>
        <div className="erp-prie-topbar-right">
          <span className="erp-prie-company">UAB Demonstracija</span>
          <span className="erp-prie-avatar">A</span>
        </div>
      </div>
      <div className="erp-prie-actions">
        <div className="erp-prie-actions-left">
          <span className="erp-prie-new">Naujas</span>
          <span className="erp-prie-pagetitle">{isMet ? 'Matavimo priemonės' : 'Įranga'}</span>
        </div>
        <div className="erp-prie-actions-center">
          <div className="erp-prie-search">
            <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="#64748B" strokeWidth="2.5"><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.3-4.3"/></svg>
            <span className="erp-prie-search-chip">
              {isMet ? 'Kalibravimas' : 'Vykdoma priežiūra'}
              <svg width="9" height="9" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5"><path d="M18 6L6 18M6 6l12 12"/></svg>
            </span>
            <span className="erp-prie-search-placeholder">Ieškoti…</span>
          </div>
        </div>
        <div className="erp-prie-actions-right">
          <span className="erp-prie-paging">1-{items.length} / {items.length}</span>
          <span className="erp-prie-views">
            <span className="is-active" title="Kanban"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><rect x="3" y="3" width="7" height="18" rx="1"/><rect x="14" y="3" width="7" height="12" rx="1"/></svg></span>
            <span title="Sąrašas"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M3 6h18M3 12h18M3 18h18"/></svg></span>
          </span>
        </div>
      </div>
      <div className="erp-prie-eqboard">
        {items.map((it, i) => (
          <div key={i} className="erp-prie-eqcard">
            <div className="erp-prie-eqcard-content">
              <div className="erp-prie-eqcard-name">{it.name}</div>
              {it.code && <div className="erp-prie-eqcard-code">{it.code}</div>}
              {it.owner && <div className="erp-prie-eqcard-owner">{it.owner}</div>}
              <span className="erp-prie-eqcard-tag">{it.reqs} {reqLabel(it.reqs)}</span>
            </div>
            <div className="erp-prie-eqcard-side">
              <div className="erp-prie-eqcard-thumb"><i data-lucide={it.icon}></i></div>
              <div className="erp-prie-eqcard-icons">
                <svg className="erp-prie-eqcard-clock" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="#94A3B8" strokeWidth="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
                {it.extra === 'avatar' && <span className="erp-prie-eqcard-av">A</span>}
                {it.extra === 'upload' && <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="#16A34A" strokeWidth="2"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="M17 8l-5-5-5 5"/><path d="M12 3v12"/></svg>}
              </div>
            </div>
          </div>
        ))}
      </div>
    </div>
  );
}

// Picks the developed ERP365 (Odoo) mock for each article (rendered at runtime,
// so the global DashboardMock* from Shared.jsx are guaranteed to be defined).
function BlogMock({ slug }) {
  switch (slug) {
    case 'kastu-taupymas':               return <DashboardMockSaskaitos />;
    case 'erp-mazam-vidutiniam-verslui': return <DashboardMockPardavimai />;
    case '5-zenklai-reikia-erp':         return <DashboardMockAtsargos />;
    case 'erp365-crm':                   return <DashboardMock />;
    case 'rivile-erp365':                return <DashboardMockApskaita />;
    case 'diegimo-eiga':                 return <DashboardMockProjektai />;
    case 'ataskaitos-analitika':         return <DashboardMockSkydeliai />;
    case 'kas-yra-cmms':                 return <BlogEquipmentMock variant="equipment" />;
    case 'irangos-prieziura':            return <DashboardMockPrieziura />;
    case 'matavimo-prietaisu-prieziura': return <BlogEquipmentMock variant="metrology" />;
    default: return null;
  }
}

function BlogPostPage() {
  const url = window.__erp_url;

  // Resolve the current post from the URL slug (…/blogas/<slug>).
  const slug = (window.location.pathname.replace(/\/+$/, '').split('/').pop() || '').replace(/\.html$/, '');
  const postKey = BLOG_POSTS[slug] ? slug : BLOG_ORDER[0];
  const post = BLOG_POSTS[postKey];
  const idx = BLOG_ORDER.indexOf(postKey);
  const prev = idx > 0 ? BLOG_ORDER[idx - 1] : null;
  const next = idx < BLOG_ORDER.length - 1 ? BLOG_ORDER[idx + 1] : null;
  const related = BLOG_ORDER.filter(k => k !== postKey).slice(0, 3);

  const sections = post.sections;
  const [progress, setProgress] = React.useState(0);
  const [activeSection, setActiveSection] = React.useState(sections[0].id);

  React.useEffect(() => {
    const onScroll = () => {
      const h = document.documentElement;
      const total = h.scrollHeight - h.clientHeight;
      setProgress(total > 0 ? Math.min(100, (h.scrollTop / total) * 100) : 0);
      let current = sections[0].id;
      for (const s of sections) {
        const el = document.getElementById(s.id);
        if (el && el.getBoundingClientRect().top < 140) current = s.id;
      }
      setActiveSection(current);
    };
    window.addEventListener('scroll', onScroll, { passive: true });
    onScroll();
    return () => window.removeEventListener('scroll', onScroll);
  }, []);

  const scrollTo = (id) => (e) => {
    e.preventDefault();
    const el = document.getElementById(id);
    if (el) window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - 96, behavior: 'smooth' });
  };

  const copyLink = () => {
    try { navigator.clipboard.writeText(window.location.href); alert('Nuoroda nukopijuota.'); } catch (e) {}
  };
  const shareUrl = encodeURIComponent(window.location.href);
  const shareText = encodeURIComponent(post.title);
  const openShare = (href) => () => window.open(href, '_blank', 'noopener,noreferrer');

  return (
    <>
      <div className="erp-post-progress">
        <div className="erp-post-progress-bar" style={{ width: `${progress}%` }} />
      </div>

      {/* Hero */}
      <section className="erp-post-hero">
        <img src="/assets/orbit-pattern.svg" className="erp-post-hero-orbit" alt="" />
        <div className="erp-container">
          <div className="erp-post-hero-inner">
            <div className="erp-post-breadcrumb">
              <a href={url('home')}>Pradžia</a>
              <span>/</span>
              <a href={url('blogas')}>Blogas</a>
              <span>/</span>
              <strong>{post.tag}</strong>
            </div>

            <div className="erp-post-tags">
              <span className="erp-post-tag-primary">{post.tag}</span>
              {(post.tagsGhost || []).map(t => <span key={t} className="erp-post-tag-ghost">{t}</span>)}
            </div>

            <h1 className="erp-post-title">{post.title}</h1>
            <p className="erp-post-dek">{post.dek}</p>

            <div className="erp-post-byline">
              <div className="erp-post-byline-meta">
                <span>
                  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></svg>
                  {post.date}
                </span>
                <span>
                  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
                  {post.readTime}
                </span>
              </div>
              <div className="erp-post-byline-sep" />
              <div className="erp-post-byline-share">
                <button className="erp-post-share-btn" onClick={openShare(`https://www.linkedin.com/sharing/share-offsite/?url=${shareUrl}`)} aria-label="Dalintis per LinkedIn">
                  <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.852 3.37-1.852 3.601 0 4.267 2.37 4.267 5.455v6.288zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.063 2.063 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                </button>
                <button className="erp-post-share-btn" onClick={openShare(`https://twitter.com/intent/tweet?url=${shareUrl}&text=${shareText}`)} aria-label="Dalintis per X">
                  <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                </button>
                <button className="erp-post-share-btn" onClick={openShare(`https://www.facebook.com/sharer/sharer.php?u=${shareUrl}`)} aria-label="Dalintis per Facebook">
                  <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
                </button>
                <button className="erp-post-share-btn" onClick={copyLink} aria-label="Kopijuoti nuorodą">
                  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>
                </button>
              </div>
            </div>
          </div>
        </div>
      </section>

      {/* Cover photo */}
      <div className="erp-post-cover">
        <div className="erp-post-cover-inner">
          {post.photo
            ? <><img className="erp-post-cover-photo" src={post.photo} alt="" /><div className="erp-post-cover-grad" /></>
            : <><div className="erp-post-cover-pattern" /><BlogPostCover post={post} /></>}
          <div className="erp-post-cover-caption">{post.caption}</div>
        </div>
      </div>

      {/* Body */}
      <section className="erp-section" style={{ padding: '72px 0' }}>
        <div className="erp-container">
          <div className="erp-post-layout">

            <aside className="erp-post-toc">
              <div className="erp-post-toc-head">Turinys</div>
              <ol>
                {sections.map(s => (
                  <li key={s.id}>
                    <a href={`#${s.id}`} onClick={scrollTo(s.id)} className={activeSection === s.id ? 'is-active' : ''}>
                      {s.t}
                    </a>
                  </li>
                ))}
              </ol>
            </aside>

            <article className="erp-post-body">
              {sections.map((s, si) => (
                <React.Fragment key={s.id}>
                  <h2 id={s.id}>{s.heading}</h2>
                  {s.blocks.map((b, i) => <BlogPostBlock key={i} b={b} />)}
                  {si === 0 && (
                    <figure className="erp-post-body-mock">
                      <BlogMock slug={postKey} />
                      <figcaption>{post.caption}</figcaption>
                    </figure>
                  )}
                </React.Fragment>
              ))}

              {/* Tag strip */}
              <div className="erp-post-tagstrip">
                <span className="erp-post-tagstrip-label">Temos</span>
                <a href={url('blogas')}>#{post.tag}</a>
                {(post.tagsGhost || []).map(t => <a key={t} href={url('blogas')}>#{t.replace(/\s+/g, '')}</a>)}
              </div>

              {/* Prev / next */}
              <div className="erp-post-pager">
                {prev ? (
                  <a href={`/blogas/${prev}`} className="erp-post-pager-card">
                    <div className="erp-post-pager-dir">
                      <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>
                      Ankstesnis
                    </div>
                    <h4 className="erp-post-pager-title">{BLOG_POSTS[prev].title}</h4>
                  </a>
                ) : <span />}
                {next ? (
                  <a href={`/blogas/${next}`} className="erp-post-pager-card erp-post-pager-card-next">
                    <div className="erp-post-pager-dir">
                      Kitas
                      <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
                    </div>
                    <h4 className="erp-post-pager-title">{BLOG_POSTS[next].title}</h4>
                  </a>
                ) : <span />}
              </div>

            </article>
          </div>
        </div>
      </section>

      {/* Related */}
      <section className="erp-section erp-section-gray" style={{ padding: '72px 0' }}>
        <div className="erp-container">
          <div className="erp-post-related-head">
            <div>
              <div className="erp-eyebrow">Susiję straipsniai</div>
              <h2>Skaitykite daugiau.</h2>
            </div>
            <a href={url('blogas')} className="erp-post-related-link">Visi straipsniai →</a>
          </div>
          <div className="erp-blog-grid">
            {related.map((k, i) => {
              const r = BLOG_POSTS[k];
              return (
                <a key={k} href={`/blogas/${k}`} className="erp-blog-card" style={{ display: 'block', textDecoration: 'none', color: 'inherit' }}>
                  <div className="erp-blog-thumb" style={{ marginBottom: 18 }}>
                    <img className="erp-blog-thumb-img" src={r.photo} alt="" />
                  </div>
                  <div className="erp-blog-meta">
                    <span className="erp-blog-tag">{r.tag}</span>
                    <span>{r.date.replace('2026 m. ', '')}</span>
                  </div>
                  <h3>{r.title}</h3>
                  <p>{r.dek}</p>
                  <div style={{ marginTop: 14, font: '500 12px/1 var(--erp-font-body)', color: 'var(--erp-gray-500)' }}>
                    {r.readTime}
                  </div>
                </a>
              );
            })}
          </div>
        </div>
      </section>

      <CTASection
        title={post.cta.title}
        lede={post.cta.lede}
        primary="Išbandyti ERP365 →"
        secondary="Peržiūrėti kainas"
      />
    </>
  );
}

window.BlogPostPage = BlogPostPage;
