{"id":259614,"date":"2026-10-26T05:50:57","date_gmt":"2026-10-26T05:50:57","guid":{"rendered":"https:\/\/zenithsoftware.ca\/?page_id=259614"},"modified":"2026-10-26T05:53:57","modified_gmt":"2026-10-26T05:53:57","slug":"video-series","status":"publish","type":"page","link":"https:\/\/zenithsoftware.ca\/fr\/video-series\/","title":{"rendered":"S\u00e9rie vid\u00e9o Zenith"},"content":{"rendered":"<style>\n#zvs,#zvs-m,#zvs-ix{--teal:#004d54;--teal2:#0f7c87;--soft:#e2f0f1;--ink:#15282b;--muted:#4f6468;--bg:#f1f5f5;--line:#dfe7e8;--red:#e62117;--top:90px;color:var(--ink);line-height:1.5}\n#zvs *,#zvs-m *,#zvs-ix *{box-sizing:border-box}\n#zvs{background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax)}\n#zvs .zv-wrap{padding:40px 0 64px}\n#zvs button,#zvs-m button,#zvs-ix button{font:inherit;line-height:1.3;text-transform:none;letter-spacing:normal}\n#zvs .zv-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal2);font-weight:700;margin:0;padding:0;line-height:1.4}\n#zvs h1.zv-h1{font-size:clamp(28px,4vw,40px);margin:8px 0 10px;padding:0;letter-spacing:-.01em;line-height:1.15;color:var(--ink);font-weight:800}\n#zvs .zv-lead{font-size:17px;color:var(--muted);max-width:70ch;margin:0;padding:0;line-height:1.55}\n#zvs .zv-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}#zvs .zv-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--muted)}#zvs .zv-meta b{color:var(--ink)}\n\/* two columns: fixed index + content *\/\n#zvs .zv-cols{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start;margin-top:28px}\n#zvs .zv-side{position:sticky;top:var(--top);max-height:calc(100vh - var(--top) - 16px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:0;box-shadow:0 14px 34px -26px rgba(0,48,54,.55);scrollbar-width:thin}\n.zv-ixhead{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;border-bottom:1px solid var(--line);background:#fff}\n#zvs .zv-side .zv-ixhead{position:sticky;top:0;z-index:2;border-radius:16px 16px 0 0}\n.zv-ring{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(var(--teal2) var(--p,0%),var(--soft) 0)}\n.zv-ring span{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--teal);letter-spacing:-.02em}\n.zv-ixt b{display:block;font-size:16px;color:var(--ink);font-weight:800;line-height:1.2}.zv-ixt span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}\n.zv-g{border-bottom:1px solid var(--line)}.zv-g:last-child{border-bottom:0}\n.zv-gh{display:grid;grid-template-columns:34px 1fr 16px;gap:11px;align-items:center;width:100%;background:none;border:0;padding:12px 14px;cursor:pointer;text-align:left;transition:background .15s}\n.zv-gh:hover{background:#f7fafa}\n.zv-ic{width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--teal);display:grid;place-items:center;transition:background .2s,color .2s}\n.zv-ic svg{width:18px;height:18px;display:block}\n.zv-gn{display:block;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.25}\n.zv-gm{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:2px}\n.zv-chev{width:16px;height:16px;color:#9aaeb1;transition:transform .25s}\n.zv-g.open .zv-chev{transform:rotate(90deg)}\n.zv-g.cur .zv-ic{background:var(--teal);color:#fff}.zv-g.cur .zv-gn{color:var(--teal)}\n.zv-gb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}\n.zv-g.open .zv-gb{grid-template-rows:1fr}\n.zv-gb>div{overflow:hidden;min-height:0}\n.zv-gb ol{list-style:none;margin:0;padding:0 12px 12px 14px}\n.zv-gb li{margin:0;padding:0;list-style:none}\n.zv-it{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;width:100%;background:none;border:0;border-radius:9px;padding:7px 8px 7px 36px;cursor:pointer;text-align:left;font-size:13.5px;line-height:1.38;color:#2b3d40;transition:background .15s}\n.zv-it:before{content:\"\";position:absolute;left:16.5px;top:0;bottom:0;width:1.5px;background:var(--line)}\n.zv-gb li:first-child .zv-it:before{top:15px}.zv-gb li:last-child .zv-it:before{bottom:calc(100% - 15px)}\n.zv-it em{position:absolute;left:8px;top:6px;width:19px;height:19px;border-radius:50%;background:#fff;border:1.5px solid #cbdadc;display:grid;place-items:center;font-style:normal;font-size:9.5px;font-weight:800;color:var(--muted);z-index:1}\n.zv-it small{color:#8a9ea1;font-size:11.5px;font-variant-numeric:tabular-nums}\n.zv-it:hover{background:#f4f8f8;color:var(--ink)}.zv-it:hover em{border-color:var(--teal2);color:var(--teal)}\n.zv-it.seen em{background:var(--teal2);border-color:var(--teal2);color:#fff}.zv-it.seen em span{display:none}.zv-it.seen em:before{content:\"\\2713\";font-size:10px}\n.zv-it.now{background:var(--soft);color:var(--teal);font-weight:700}.zv-it.now em{background:var(--red);border-color:var(--red);color:#fff}\n\/* content *\/\n#zvs .zv-feat{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin:0 0 30px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 14px 34px -26px rgba(0,48,54,.55);align-items:center}\n#zvs .zv-cover{position:relative;border-radius:12px;overflow:hidden;background:#0d1718;aspect-ratio:16\/9;cursor:pointer;border:0;padding:0;width:100%;display:block}\n#zvs .zv-cover img{width:100%;height:100%;object-fit:cover;display:block;margin:0}\n#zvs .zv-big{position:absolute;inset:0;margin:auto;width:70px;height:70px;border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:0 8px 24px -6px rgba(230,33,23,.7)}\n#zvs .zv-big:after{content:\"\";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:7px}\n#zvs .zv-cap{position:absolute;right:12px;bottom:12px;color:#fff;font-size:13px;font-weight:600;background:rgba(0,0,0,.7);padding:3px 9px;border-radius:6px}\n#zvs .zv-fi h2{font-size:22px;margin:6px 0 8px;padding:0;line-height:1.25;color:var(--ink);font-weight:700}#zvs .zv-fi p{color:var(--muted);margin:0 0 16px;padding:0;line-height:1.55;font-size:15px}\n#zvs .zv-fi p.zv-eyebrow{font-size:12px;color:var(--teal2);margin:0}\n#zvs .zv-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none}\n#zvs .zv-pl{width:28px;height:28px;border-radius:50%;background:var(--red);display:grid;place-items:center;flex:none}\n#zvs .zv-pl:after{content:\"\";border-left:9px solid #fff;border-top:5.5px solid transparent;border-bottom:5.5px solid transparent;margin-left:2px}\n#zvs .zv-btn .zv-pl{width:22px;height:22px;background:#fff}#zvs .zv-btn .zv-pl:after{border-left:7px solid var(--red);border-top-width:4.5px;border-bottom-width:4.5px}\n#zvs .zv-sec{scroll-margin-top:calc(var(--top) + 12px);margin:0 0 28px}\n#zvs .zv-sec h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:0 0 8px;border-bottom:2px solid var(--line);font-size:21px;color:var(--ink);font-weight:800}\n#zvs .zv-sec h3 span{font-size:13px;font-weight:600;color:var(--muted)}\n#zvs .zv-list{display:grid;gap:12px}\n#zvs .zv-row{display:grid;grid-template-columns:38px 190px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px 12px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;text-align:left;width:100%;color:inherit;margin:0;scroll-margin-top:calc(var(--top) + 70px)}\n#zvs .zv-row:hover,#zvs .zv-row:focus-visible{border-color:var(--teal2);box-shadow:0 10px 24px -18px rgba(0,48,54,.6);transform:translateY(-1px);outline:none}\n#zvs .zv-row.flash{border-color:var(--teal2);box-shadow:0 0 0 3px rgba(15,124,135,.25)}\n#zvs .zv-num{width:34px;height:34px;border-radius:50%;background:var(--soft);color:var(--teal);font-weight:800;display:grid;place-items:center;font-size:14px}\n#zvs .zv-row.seen .zv-num{background:var(--teal);color:#fff}\n#zvs .zv-th{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:16\/9;background:#0d1718;display:block}\n#zvs .zv-th img{width:100%;height:100%;object-fit:cover;display:block;margin:0}\n#zvs .zv-th .zv-pl{position:absolute;inset:0;margin:auto;width:38px;height:38px;box-shadow:0 4px 14px -4px rgba(0,0,0,.5)}#zvs .zv-th .zv-pl:after{border-left-width:12px;border-top-width:7px;border-bottom-width:7px;margin-left:3px}\n#zvs .zv-dur{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.78);color:#fff;font-size:11.5px;padding:2px 6px;border-radius:5px;font-weight:600}\n#zvs .zv-tx{display:block}\n#zvs .zv-tx h4{margin:0 0 4px;padding:0;font-size:17px;color:var(--ink);font-weight:700;line-height:1.3}#zvs .zv-tx p{margin:0;padding:0;color:var(--muted);font-size:14px;line-height:1.5}\n#zvs .zv-go{color:var(--teal);font-weight:700;font-size:14px;white-space:nowrap}\n#zvs .zv-row.seen .zv-go:before{content:\"\\2713  Watched\";color:var(--teal2)}#zvs .zv-row.seen .zv-go span{display:none}\n#zvs .zv-cta{margin:8px 0 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--teal);color:#fff;border-radius:18px;padding:24px 28px}\n#zvs .zv-cta h3{margin:0 0 4px;padding:0;font-size:21px;color:#fff;font-weight:700}#zvs .zv-cta p{margin:0;padding:0;opacity:.85;color:#fff}\n#zvs .zv-cta .zv-btn{background:#fff;color:var(--teal)}#zvs .zv-cta .zv-btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}\n\/* phone: index bar + index sheet *\/\n#zvs .zv-mbar{display:none}\n#zvs-ix{position:fixed;inset:0;z-index:999999;background:rgba(8,20,22,.55);display:none}\n#zvs-ix.on{display:block}\n#zvs-ix .zv-sheet{position:absolute;left:0;right:0;bottom:0;max-height:86vh;overflow:auto;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px -10px rgba(0,0,0,.4)}\n#zvs-ix .zv-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:var(--soft);color:var(--teal);font-size:20px;line-height:1;cursor:pointer;padding:0}\n#zvs-ix .zv-sheet{padding:0 0 calc(18px + env(safe-area-inset-bottom))}#zvs-ix .zv-ixhead{position:sticky;top:0;z-index:2;padding-right:56px;border-radius:18px 18px 0 0}#zvs-ix .zv-close{top:18px;right:14px}#zvs-ix .zv-it{font-size:15px;padding:9px 8px 9px 36px}#zvs-ix .zv-it em{top:9px}#zvs-ix .zv-gh{padding:12px 16px}#zvs-ix .zv-gb ol{padding:0 14px 12px 16px}#zvs-ix .zv-chev{display:none}\n\/* player *\/\n#zvs-m{position:fixed;inset:0;background:rgba(8,20,22,.82);display:none;align-items:center;justify-content:center;padding:16px;z-index:1000000}\n#zvs-m.on{display:flex}#zvs-m .zv-box{position:relative;width:min(1040px,100%);max-height:100%;overflow:auto;background:#0d1718;border-radius:14px;color:#fff}\n#zvs-m .zv-stage{position:relative;aspect-ratio:16\/9;background:#000}#zvs-m .zv-stage video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}\n#zvs-m video::cue{font-size:clamp(14px,2.2vw,22px);background:rgba(0,0,0,.72)}\n#zvs-m .zv-info{padding:14px 18px 4px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}\n#zvs-m .zv-info b{font-size:17px;display:block;margin-bottom:3px;color:#fff}#zvs-m .zv-sub{opacity:.72;font-size:13px}\n#zvs-m .zv-ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}\n#zvs-m .zv-cc{display:inline-flex;border:1px solid rgba(255,255,255,.28);border-radius:8px;overflow:hidden}#zvs-m .zv-cc button{background:transparent;color:#cfe;border:0;padding:7px 10px;font-size:12.5px;cursor:pointer}#zvs-m .zv-cc button.on{background:rgba(255,255,255,.16);color:#fff;font-weight:700}\n#zvs-m .zv-x{position:absolute;top:10px;right:10px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:22px;line-height:1;cursor:pointer;color:#111;padding:0}\n#zvs-m .zv-next{background:var(--red);color:#fff;border:0;border-radius:8px;padding:9px 14px;font-weight:700;cursor:pointer}\n#zvs-m .zv-next.pulse{animation:zvnp 1.2s ease-in-out infinite}@keyframes zvnp{50%{box-shadow:0 0 0 6px rgba(230,33,23,.35)}}\n#zvs-m .zv-ld{margin:0;padding:0 18px 18px;color:#c9dfe1;font-size:14.5px;line-height:1.6;max-width:920px}#zvs-m .zv-ld[hidden]{display:none}\n#zvs-m .zv-chap{display:flex;gap:8px;overflow-x:auto;padding:10px 18px 16px;scrollbar-width:thin}\n#zvs-m .zv-chap button{flex:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#e6f2f3;border-radius:8px;padding:7px 10px;font-size:13px;cursor:pointer;text-align:left}\n#zvs-m .zv-chap button b{color:#7fd3db;margin-right:6px;font-weight:700}#zvs-m .zv-chap button.on{background:var(--teal2);border-color:var(--teal2);color:#fff}#zvs-m .zv-chap button.on b{color:#fff}\nbody.zv-lock{overflow:hidden}\n#zvs .zv-row.off{cursor:default;opacity:.5}#zvs .zv-row.off:hover{transform:none;box-shadow:none;border-color:var(--line)}#zvs .zv-row.off .zv-th img{filter:grayscale(1)}#zvs .zv-row.off .zv-pl,#zvs .zv-row.off .zv-go,#zvs .zv-row.off .zv-lk{display:none}\n#zvs .zv-side .zv-it{font-size:14px}.zv-itt{display:block}.zv-it.off{cursor:default;opacity:.45}.zv-it.off:hover{background:none;color:#2b3d40}.zv-it.off:hover em{border-color:#cbdadc;color:var(--muted)}\n#zvs .zv-gbar{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 0;padding:12px 14px 12px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal2);border-radius:12px;font-size:14.5px;color:var(--ink);line-height:1.45}\n#zvs .zv-gbar.on{display:flex}#zvs .zv-gbar b{color:var(--teal)}#zvs .zv-gbar svg{width:16px;height:16px;vertical-align:-3px;margin-right:6px;color:var(--teal2)}\n#zvs .zv-gbtn{background:var(--teal);color:#fff;border:0;border-radius:9px;padding:9px 15px;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}\n#zvs .zv-link{background:none;border:0;color:var(--teal2);text-decoration:underline;cursor:pointer;font-size:13.5px;padding:0;margin-left:6px}\n#zvs .zv-th .zv-lk{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;background:rgba(0,77,84,.92);color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:5px}\n#zvs .zv-th .zv-lk svg{width:11px;height:11px}#zvs .zv-row.unl .zv-lk{display:none}\n.zv-it .zv-ilk{display:inline-block;width:12px;height:12px;color:#9aaeb1;margin-left:5px;vertical-align:-1px}.zv-it .zv-ilk svg{width:12px;height:12px;display:block}\n#zvs-r{--teal:#004d54;--teal2:#0f7c87;--ink:#15282b;--muted:#4f6468;--line:#dfe7e8;--red:#e62117;position:fixed;inset:0;z-index:1000001;background:rgba(8,20,22,.72);display:none;align-items:center;justify-content:center;padding:16px;line-height:1.45}\n#zvs-r *{box-sizing:border-box}#zvs-r.on{display:flex}\n#zvs-r .zr-box{position:relative;width:min(480px,100%);max-height:100%;overflow:auto;background:#fff;border-radius:18px;padding:26px 24px 22px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);color:var(--ink)}\n#zvs-r .zr-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:#eef4f4;color:var(--teal);font-size:20px;line-height:1;cursor:pointer;padding:0}\n#zvs-r .zr-ic{width:44px;height:44px;border-radius:12px;background:#e2f0f1;color:var(--teal);display:grid;place-items:center;margin-bottom:12px}#zvs-r .zr-ic svg{width:22px;height:22px}\n#zvs-r h3{margin:0 0 6px;padding:0;font-size:22px;font-weight:800;color:var(--ink);line-height:1.25}\n#zvs-r .zr-sub{margin:0 0 18px;padding:0;color:var(--muted);font-size:14.5px}\n#zvs-r label.zr-l{display:block;font-size:13px;font-weight:700;color:var(--ink);margin:0 0 5px}\n#zvs-r input.zr-in{width:100%;height:44px;border:1.5px solid #cfdcde;border-radius:10px;padding:0 12px;font-size:15px;color:var(--ink);background:#fff;margin:0;font-family:inherit}\n#zvs-r input.zr-in:focus{outline:none;border-color:var(--teal2);box-shadow:0 0 0 3px rgba(15,124,135,.18)}\n#zvs-r .zr-f{margin:0 0 12px}#zvs-r .zr-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}\n#zvs-r .zr-err{display:none;color:#b42318;font-size:12.5px;margin-top:5px}#zvs-r .zr-f.bad input{border-color:#d92d20}#zvs-r .zr-f.bad .zr-err{display:block}\n#zvs-r .zr-ck{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:4px 0 16px;cursor:pointer}\n#zvs-r .zr-ck input{margin:2px 0 0;width:17px;height:17px;flex:none;accent-color:#004d54}\n#zvs-r .zr-go{width:100%;height:48px;border:0;border-radius:11px;background:var(--red);color:#fff;font-weight:800;font-size:16px;cursor:pointer;font-family:inherit}\n#zvs-r .zr-go[disabled]{opacity:.6;cursor:wait}\n#zvs-r .zr-fine{font-size:12px;color:var(--muted);margin:12px 0 0;padding:0}#zvs-r .zr-fine a{color:var(--teal2)}\n#zvs-r .zr-code{letter-spacing:.45em;text-align:center;font-size:24px;font-weight:800;height:56px}\n#zvs-r .zr-msg{display:none;margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#fef3f2;color:#b42318;font-size:13.5px}#zvs-r .zr-msg.on{display:block}\n#zvs-r .zr-note{margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#fff7e6;color:#7a4a00;font-size:13px;display:none}#zvs-r .zr-note.on{display:block}\n#zvs-r .zr-links{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:13px}#zvs-r .zr-links button{background:none;border:0;color:var(--teal2);text-decoration:underline;cursor:pointer;padding:0;font-size:13px;font-family:inherit}\n#zvs-r .zr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}\n#zvs-r [hidden]{display:none!important}\n@media (max-width:520px){#zvs-r{padding:0;align-items:flex-end}#zvs-r .zr-box{border-radius:18px 18px 0 0;padding:22px 18px calc(20px + env(safe-area-inset-bottom))}#zvs-r .zr-row{grid-template-columns:1fr;gap:0}}\n\n.page-id-259614 h1.main_title{display:none}.page-id-259614 #main-content .container{padding-top:0!important}.page-id-259614 #main-content .container:before{display:none}.page-id-259614 .et_pb_post{margin-bottom:0}.page-id-259614 .entry-content>p{margin:0!important;padding:0!important}\n@media (max-width:1100px){#zvs .zv-feat{grid-template-columns:1fr}#zvs .zv-row{grid-template-columns:34px 160px 1fr}#zvs .zv-go{display:none}}\n@media (max-width:900px){\n #zvs .zv-wrap{padding:24px 0 40px}#zvs .zv-lead{font-size:15.5px}\n #zvs .zv-cols{display:block;margin-top:0}#zvs .zv-side{display:none}\n #zvs .zv-mbar{display:flex;position:sticky;top:var(--top);z-index:5;gap:8px;align-items:center;margin:18px -16px 16px;padding:10px 16px;background:rgba(241,245,245,.96);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}\n #zvs .zv-ixbtn{flex:none;display:inline-flex;align-items:center;gap:6px;background:var(--teal);color:#fff;border:0;border-radius:999px;padding:8px 13px;font-weight:700;font-size:13.5px;cursor:pointer}\n #zvs .zv-mchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}#zvs .zv-mchips::-webkit-scrollbar{display:none}\n #zvs .zv-mchip svg{width:15px;height:15px;flex:none}#zvs .zv-mchip{display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}#zvs .zv-mchip.cur{background:var(--soft);border-color:var(--teal2);color:var(--teal);font-weight:700}\n #zvs .zv-feat{padding:12px;gap:14px}\n #zvs .zv-sec h3{font-size:19px}\n #zvs .zv-row{grid-template-columns:120px 1fr;gap:12px;padding:10px;scroll-margin-top:calc(var(--top) + 120px)}#zvs .zv-sec{scroll-margin-top:calc(var(--top) + 64px)}\n #zvs .zv-num{display:none}#zvs .zv-tx h4{font-size:15.5px}#zvs .zv-tx p{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}\n #zvs .zv-th .zv-lk span{display:none}#zvs .zv-th .zv-lk{padding:4px 5px} #zvs .zv-th .zv-pl{width:32px;height:32px}#zvs .zv-cta{padding:20px}\n #zvs-m{padding:0;align-items:flex-start}#zvs-m .zv-box{border-radius:0;min-height:100%}#zvs-m .zv-x{top:8px;right:8px;width:32px;height:32px;font-size:20px}\n}\n@media (prefers-reduced-motion:reduce){#zvs *,#zvs-m *,#zvs-ix *{transition:none!important;animation:none!important}html{scroll-behavior:auto}}\n<\/style>\n<div id=\"zvs\"><div class=\"zv-wrap\">\n<p class=\"zv-eyebrow\" id=\"zv-stitle\"><\/p>\n<h1 class=\"zv-h1\" id=\"zv-head\"><\/h1>\n<p class=\"zv-lead\" id=\"zv-intro\"><\/p>\n<div class=\"zv-meta\" id=\"zv-meta\"><\/div>\n<div class=\"zv-gbar\" id=\"zv-gbar\" aria-live=\"polite\"><\/div>\n<div class=\"zv-mbar\" id=\"zv-mbar\"><button class=\"zv-ixbtn\" id=\"zv-ixbtn\" aria-haspopup=\"dialog\"><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"><path d=\"M4 6h16M4 12h16M4 18h10\"\/><\/svg>Index<\/button><div class=\"zv-mchips\" id=\"zv-mchips\"><\/div><\/div>\n<div class=\"zv-cols\">\n<aside class=\"zv-side\" id=\"zv-side\" aria-label=\"Video index\"><\/aside>\n<div class=\"zv-main\">\n<section class=\"zv-feat\"><button class=\"zv-cover\" id=\"zv-fcov\" aria-label=\"Play video 1\"><img id=\"zv-fimg\" alt=\"Zenith editions overview\"><span class=\"zv-big\"><\/span><span class=\"zv-cap\" id=\"zv-flen\"><\/span><\/button>\n<div class=\"zv-fi\"><p class=\"zv-eyebrow\">Start Here &middot; Video 1<\/p><h2 id=\"zv-ft\"><\/h2><p id=\"zv-fd\"><\/p>\n<button class=\"zv-btn\" id=\"zv-fbtn\"><span class=\"zv-pl\"><\/span>Play video 1<\/button><\/div><\/section>\n<div id=\"zv-secs\"><\/div>\n<section class=\"zv-cta\"><div><h3>Ready to see it with your own equipment?<\/h3><p>Book a 30-minute demo and we&rsquo;ll walk through your own sites and assets.<\/p><\/div><div style=\"display:flex;gap:10px;flex-wrap:wrap\"><a class=\"zv-btn\" href=\"\/book-a-demo\/\">Book a demo<\/a><a class=\"zv-btn ghost\" href=\"\/zenith-price\/\">See pricing in CAD<\/a><\/div><\/section>\n<\/div><\/div>\n<\/div><\/div>\n<div id=\"zvs-ix\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Video index\"><div class=\"zv-sheet\"><div id=\"zv-ixsheet\"><\/div><\/div><\/div>\n<div id=\"zvs-r\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"zr-t\"><div class=\"zr-box\"><button class=\"zr-x\" id=\"zr-x\" aria-label=\"Close\">&times;<\/button>\n<form id=\"zr-1\" novalidate><div class=\"zr-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\"\/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"\/><\/svg><\/div><h3 id=\"zr-t\">Unlock the full video series<\/h3><p class=\"zr-sub\" id=\"zr-s1\"><\/p>\n<div class=\"zr-msg\" id=\"zr-m1\"><\/div>\n<div class=\"zr-row\"><div class=\"zr-f\" data-f=\"name\"><label class=\"zr-l\" for=\"zr-name\">Full name<\/label><input class=\"zr-in\" id=\"zr-name\" name=\"name\" autocomplete=\"name\" required><div class=\"zr-err\"><\/div><\/div>\n<div class=\"zr-f\" data-f=\"title\"><label class=\"zr-l\" for=\"zr-title\">Job title<\/label><input class=\"zr-in\" id=\"zr-title\" name=\"title\" autocomplete=\"organization-title\" required><div class=\"zr-err\"><\/div><\/div><\/div>\n<div class=\"zr-f\" data-f=\"company\"><label class=\"zr-l\" for=\"zr-company\">Company or organization<\/label><input class=\"zr-in\" id=\"zr-company\" name=\"company\" autocomplete=\"organization\" required><div class=\"zr-err\"><\/div><\/div>\n<div class=\"zr-f\" data-f=\"email\"><label class=\"zr-l\" for=\"zr-email\">Work email<\/label><input class=\"zr-in\" id=\"zr-email\" name=\"email\" type=\"email\" autocomplete=\"email\" inputmode=\"email\" placeholder=\"you@yourcompany.com\" required><div class=\"zr-err\"><\/div><\/div>\n<div class=\"zr-hp\" aria-hidden=\"true\"><label>Website<input name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div>\n<label class=\"zr-ck\"><input type=\"checkbox\" id=\"zr-consent\" name=\"consent\"><span id=\"zr-ctext\"><\/span><\/label>\n<button class=\"zr-go\" id=\"zr-go1\" type=\"submit\">Email me a code<\/button>\n<p class=\"zr-fine\" id=\"zr-fine\"><\/p><\/form>\n<form id=\"zr-2\" novalidate hidden><div class=\"zr-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"m3 7 9 6 9-6\"\/><\/svg><\/div><h3>Check your email<\/h3><p class=\"zr-sub\">We sent a 6-digit code to <b id=\"zr-to\"><\/b>. It expires in 15 minutes.<\/p>\n<div class=\"zr-note\" id=\"zr-test\"><\/div><div class=\"zr-msg\" id=\"zr-m2\"><\/div>\n<div class=\"zr-f\"><label class=\"zr-l\" for=\"zr-code\">Code<\/label><input class=\"zr-in zr-code\" id=\"zr-code\" name=\"code\" inputmode=\"numeric\" autocomplete=\"one-time-code\" maxlength=\"6\" pattern=\"[0-9]*\" required><\/div>\n<button class=\"zr-go\" id=\"zr-go2\" type=\"submit\">Verify and watch<\/button>\n<div class=\"zr-links\"><button type=\"button\" id=\"zr-back\">Use a different email<\/button><button type=\"button\" id=\"zr-resend\">Send a new code<\/button><\/div>\n<p class=\"zr-fine\">Can&rsquo;t find it? Check your junk folder. Still nothing after a few minutes? Some company email filters hold automated messages. Write to <a href=\"mailto:iman@zenithsoftware.ca\">iman@zenithsoftware.ca<\/a> and we&rsquo;ll send you a direct link.<\/p><\/form>\n<\/div><\/div>\n<div id=\"zvs-m\"><div class=\"zv-box\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"zv-mt\"><button class=\"zv-x\" id=\"zv-mx\" aria-label=\"Close\">&times;<\/button>\n<div class=\"zv-stage\" id=\"zv-stage\"><\/div>\n<div class=\"zv-info\"><div><b id=\"zv-mt\"><\/b><span class=\"zv-sub\" id=\"zv-mn\"><\/span><\/div><div class=\"zv-ctl\"><span class=\"zv-cc\" id=\"zv-cc\" title=\"English captions are built into the video\"><button data-l=\"fr\">Sous-titres fran&ccedil;ais<\/button><button data-l=\"off\">Off<\/button><\/span><button class=\"zv-next\" id=\"zv-nx\">Next video &rarr;<\/button><\/div><\/div>\n<div class=\"zv-chap\" id=\"zv-chap\"><\/div><p class=\"zv-ld\" id=\"zv-ld\" hidden><\/p><\/div><\/div>\n<script>\n(function(){\nconst S={\"series_title\":\"Zenith video series\",\"heading\":\"Learn Zenith, one short video at a time\",\"intro\":\"Short, step-by-step videos recorded in the real app: start with the overview, then follow a request all the way to a finished job, your assets, your preventive maintenance, the Workplace and your inventory.\",\"start_here\":1,\"categories\":[\"Start Here\",\"Product Demos\",\"Work Order Management\",\"Asset Management\",\"Preventive Maintenance\",\"Workplace\",\"Inventory Management\",\"Reports\",\"Automation\"],\"audio_language\":\"en\",\"subtitle_languages\":[\"en\",\"fr\"],\"featured_cover\":\"01-zenith-editions-cover.jpg\",\"videos\":[{\"n\":1,\"title\":\"Zenith in 2 minutes: editions and Basic\",\"category\":\"Start Here\",\"description\":\"The four editions, how you can grow from one to the next, and what Basic covers: requests, work orders and assets.\",\"length\":\"2:14\",\"video\":\"Zenith-Overview-1-Editions-and-Basic.mp4\",\"thumbnail\":\"01-zenith-editions-thumb.jpg\",\"subtitles\":[\"01-zenith-editions.en.vtt\",\"01-zenith-editions.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:09\",\"Four editions\"],[\"0:44\",\"Growing is safe\"],[\"0:54\",\"Basic\"],[\"1:47\",\"In every edition\"]],\"d\":1,\"video_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Zenith-Overview-1-Editions-and-Basic.mp4\",\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-01-zenith-editions-thumb.jpg\",\"locked\":0},{\"n\":2,\"title\":\"Essential: run your maintenance team\",\"category\":\"Start Here\",\"description\":\"What Essential adds: the triage desk, the full work order life, the phone app, PM, parts, labour and vendors.\",\"length\":\"1:59\",\"video\":\"Zenith-Overview-2-Essential.mp4\",\"thumbnail\":\"02-essential-thumb.jpg\",\"subtitles\":[\"02-essential.en.vtt\",\"02-essential.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:11\",\"Triage desk\"],[\"0:22\",\"Work order life\"],[\"0:50\",\"Preventive maintenance\"],[\"1:17\",\"Parts, labour, vendors\"]],\"d\":2,\"video_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Zenith-Overview-2-Essential.mp4\",\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-02-essential-thumb.jpg\",\"locked\":0},{\"n\":3,\"title\":\"Advanced: planning and reliability\",\"category\":\"Start Here\",\"description\":\"What Advanced adds: planning and scheduling, job plans, inspections, projects, safety, purchasing and reliability.\",\"length\":\"1:53\",\"video\":\"Zenith-Overview-3-Advanced.mp4\",\"thumbnail\":\"03-advanced-thumb.jpg\",\"subtitles\":[\"03-advanced.en.vtt\",\"03-advanced.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:11\",\"Planning\"],[\"0:25\",\"Job plans and inspections\"],[\"1:02\",\"Projects and safety\"],[\"1:22\",\"Purchasing and reliability\"]],\"d\":3,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-03-advanced-thumb.jpg\",\"locked\":0,\"off\":1},{\"n\":4,\"title\":\"Premium: automation, integrations, Assist\",\"category\":\"Start Here\",\"description\":\"What Premium adds: your own workflows, links to your other systems, Zenith Assist, RCM, PM effectiveness and reports.\",\"length\":\"1:39\",\"video\":\"Zenith-Overview-4-Premium.mp4\",\"thumbnail\":\"04-premium-thumb.jpg\",\"subtitles\":[\"04-premium.en.vtt\",\"04-premium.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:12\",\"Automation\"],[\"0:26\",\"Integrations\"],[\"0:38\",\"Zenith Assist\"],[\"0:59\",\"Effectiveness and reports\"]],\"d\":4,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-04-premium-thumb.jpg\",\"locked\":0,\"off\":1},{\"n\":101,\"title\":\"Basic Demo\",\"category\":\"Product Demos\",\"description\":\"A full walkthrough of the Basic edition: service requests, work orders and assets.\",\"length\":\"\",\"subtitles\":[],\"chapters\":[],\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-demo-basic-thumb.jpg\",\"locked\":1,\"off\":1,\"d\":5},{\"n\":102,\"title\":\"Essential Demo\",\"category\":\"Product Demos\",\"description\":\"A full 11-minute walkthrough of Zenith Essential: your day on Home, requests and triage, work orders, the phone app, assets, preventive maintenance, parts, people and vendors, dashboards and reports, and user access.\",\"length\":\"11:02\",\"subtitles\":[],\"chapters\":[[\"0:00\",\"Your day on Home\"],[\"0:20\",\"The editions\"],[\"2:00\",\"Sites and locations\"],[\"2:20\",\"Requests and triage\"],[\"4:00\",\"Work orders\"],[\"5:00\",\"The phone app\"],[\"6:20\",\"Assets\"],[\"7:00\",\"Preventive maintenance\"],[\"8:00\",\"Parts, people and vendors\"],[\"8:40\",\"Dashboard and reports\"],[\"9:20\",\"Notifications, users and access\"]],\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-demo-essential-thumb.jpg\",\"locked\":1,\"d\":6},{\"n\":103,\"title\":\"Advanced Demo\",\"category\":\"Product Demos\",\"description\":\"A full walkthrough of the Advanced edition: planning, job plans, inspections, projects, safety and reliability.\",\"length\":\"\",\"subtitles\":[],\"chapters\":[],\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-demo-advanced-thumb.jpg\",\"locked\":1,\"off\":1,\"d\":7},{\"n\":104,\"title\":\"Premium Demo\",\"category\":\"Product Demos\",\"description\":\"A full walkthrough of the Premium edition: automation, integrations, Zenith Assist and PM effectiveness.\",\"length\":\"\",\"subtitles\":[],\"chapters\":[],\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-demo-premium-thumb.jpg\",\"locked\":1,\"off\":1,\"d\":8},{\"n\":105,\"title\":\"Workplace Demo\",\"category\":\"Product Demos\",\"description\":\"A full 8-minute walkthrough of Zenith Workplace: how it is set up, a day at the office with rooms, desks, check-in, office days, visitors, shared equipment and the phone, then the rules, approvals, dashboard, reports and who may do what.\",\"length\":\"8:19\",\"subtitles\":[],\"chapters\":[[\"0:00\",\"Welcome and the edition\"],[\"0:52\",\"Menu, language and theme\"],[\"1:16\",\"Places and drawings\"],[\"1:53\",\"The space register\"],[\"2:14\",\"The Workplace page\"],[\"2:44\",\"Book a room\"],[\"3:05\",\"Find a space, repeat it\"],[\"3:24\",\"Desks and check-in\"],[\"4:21\",\"Office days and visitors\"],[\"4:52\",\"Equipment and the phone\"],[\"5:17\",\"Rules and approvals\"],[\"6:01\",\"Priority and notifications\"],[\"6:45\",\"Dashboard and reports\"],[\"7:18\",\"Who may do what\"]],\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-demo-workplace-thumb.jpg\",\"locked\":1,\"d\":9},{\"n\":106,\"title\":\"Space Management Demo\",\"category\":\"Product Demos\",\"description\":\"A full walkthrough of Space Management: your buildings, floors, rooms and desks in one place.\",\"length\":\"\",\"subtitles\":[],\"chapters\":[],\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-demo-space-management-thumb.jpg\",\"locked\":1,\"off\":1,\"d\":10},{\"n\":6,\"title\":\"The Requests page\",\"category\":\"Work Order Management\",\"description\":\"Find your way around requests: the toolbar, tabs, cards, views, search, filters, columns and opening a request.\",\"length\":\"4:35\",\"thumbnail\":\"06-requests-page-thumb.jpg\",\"subtitles\":[\"06-requests-page.en.vtt\",\"06-requests-page.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:13\",\"The toolbar\"],[\"0:58\",\"Tabs and cards\"],[\"1:59\",\"Views, search, filters\"],[\"3:45\",\"Opening a request\"]],\"d\":11,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-06-requests-page-thumb.jpg\",\"locked\":1},{\"n\":7,\"title\":\"Creating a request\",\"category\":\"Work Order Management\",\"description\":\"Report a problem step by step: title, urgency, site, location and asset, photos, then review and submit.\",\"length\":\"1:46\",\"thumbnail\":\"07-creating-a-request-thumb.jpg\",\"subtitles\":[\"07-creating-a-request.en.vtt\",\"07-creating-a-request.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:17\",\"The form\"],[\"0:36\",\"Urgency\"],[\"0:56\",\"Location and asset\"],[\"1:20\",\"Review and submit\"]],\"d\":12,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-07-creating-a-request-thumb.jpg\",\"locked\":1},{\"n\":8,\"title\":\"From request to work order\",\"category\":\"Work Order Management\",\"description\":\"How a supervisor reads a new request, turns it into a work order, picks the technician and tracks it.\",\"length\":\"2:53\",\"thumbnail\":\"08-request-to-work-order-thumb.jpg\",\"subtitles\":[\"08-request-to-work-order.en.vtt\",\"08-request-to-work-order.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:19\",\"The supervisor is told\"],[\"0:47\",\"Reading the request\"],[\"1:08\",\"Create the work order\"],[\"2:07\",\"Tracking it\"]],\"d\":13,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-08-request-to-work-order-thumb.jpg\",\"locked\":1},{\"n\":9,\"title\":\"The Work Orders page\",\"category\":\"Work Order Management\",\"description\":\"Tabs, cards, filters and columns on the Work Orders page, plus the backlog, approval and verification tabs.\",\"length\":\"4:04\",\"thumbnail\":\"09-work-orders-page-thumb.jpg\",\"subtitles\":[\"09-work-orders-page.en.vtt\",\"09-work-orders-page.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:18\",\"New and calendar\"],[\"0:53\",\"Tabs and cards\"],[\"1:31\",\"Filters and columns\"],[\"2:18\",\"Backlog to verification\"]],\"d\":14,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-09-work-orders-page-thumb.jpg\",\"locked\":1},{\"n\":10,\"title\":\"Creating a work order\",\"category\":\"Work Order Management\",\"description\":\"Fill in a new work order: the basics, priority and approval, location and assets, labour, parts, tools and media.\",\"length\":\"4:11\",\"thumbnail\":\"10-creating-a-work-order-thumb.jpg\",\"subtitles\":[\"10-creating-a-work-order.en.vtt\",\"10-creating-a-work-order.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:16\",\"The form\"],[\"1:37\",\"Location and assets\"],[\"2:00\",\"Labour, parts, tools\"],[\"3:18\",\"Review and create\"]],\"d\":15,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-10-creating-a-work-order-thumb.jpg\",\"locked\":1},{\"n\":11,\"title\":\"Doing the job: the technician's view\",\"category\":\"Work Order Management\",\"description\":\"The technician finds the job, works the steps, records time and parts, adds photos and completes it.\",\"length\":\"3:36\",\"thumbnail\":\"11-doing-the-job-thumb.jpg\",\"subtitles\":[\"11-doing-the-job.en.vtt\",\"11-doing-the-job.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:19\",\"Finding your jobs\"],[\"1:02\",\"The steps\"],[\"1:16\",\"Time and parts\"],[\"2:26\",\"Completing the job\"]],\"d\":16,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-11-doing-the-job-thumb.jpg\",\"locked\":1},{\"n\":12,\"title\":\"Approvals and verification\",\"category\":\"Work Order Management\",\"description\":\"Who approves a job and how, then how a supervisor checks the finished work, closes it or reopens it.\",\"length\":\"3:39\",\"thumbnail\":\"12-approvals-and-verification-thumb.jpg\",\"subtitles\":[\"12-approvals-and-verification.en.vtt\",\"12-approvals-and-verification.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:17\",\"When approval is needed\"],[\"1:20\",\"Making the decision\"],[\"1:50\",\"Verification\"],[\"3:14\",\"Reopening\"]],\"d\":17,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-12-approvals-and-verification-thumb.jpg\",\"locked\":1},{\"n\":13,\"title\":\"Asset management, edition by edition\",\"category\":\"Asset Management\",\"description\":\"The same machine opened in each edition, so you see what Basic, Essential, Advanced and Premium add to an asset.\",\"length\":\"1:54\",\"thumbnail\":\"13-asset-editions-thumb.jpg\",\"subtitles\":[\"13-asset-editions.en.vtt\",\"13-asset-editions.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:27\",\"Basic\"],[\"0:50\",\"Essential\"],[\"1:08\",\"Advanced\"],[\"1:24\",\"Premium\"]],\"d\":18,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-13-asset-editions-thumb.jpg\",\"locked\":1},{\"n\":14,\"title\":\"The Assets page and the hierarchy tree\",\"category\":\"Asset Management\",\"description\":\"Walk the hierarchy from organization to part, switch views, find anything, act on the tree and add assets.\",\"length\":\"3:39\",\"thumbnail\":\"14-assets-page-thumb.jpg\",\"subtitles\":[\"14-assets-page.en.vtt\",\"14-assets-page.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:24\",\"The hierarchy\"],[\"1:06\",\"Five views\"],[\"1:57\",\"Acting on the tree\"],[\"3:00\",\"Adding assets\"]],\"d\":19,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-14-assets-page-thumb.jpg\",\"locked\":1},{\"n\":15,\"title\":\"The asset window\",\"category\":\"Asset Management\",\"description\":\"Everything about one machine in Basic: the header, identity and location, warranty, lifecycle, work and history.\",\"length\":\"2:38\",\"thumbnail\":\"15-asset-window-thumb.jpg\",\"subtitles\":[\"15-asset-window.en.vtt\",\"15-asset-window.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:19\",\"The header\"],[\"0:46\",\"Overview\"],[\"1:27\",\"Work orders and requests\"],[\"1:53\",\"Media and history\"]],\"d\":20,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-15-asset-window-thumb.jpg\",\"locked\":1},{\"n\":16,\"title\":\"Assets: what Essential adds\",\"category\":\"Asset Management\",\"description\":\"Six more tabs: PM schedules, meters, spare parts, warranty, specifications and relationships, plus your own fields.\",\"length\":\"2:16\",\"thumbnail\":\"16-assets-essential-thumb.jpg\",\"subtitles\":[\"16-assets-essential.en.vtt\",\"16-assets-essential.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:11\",\"Header and Overview\"],[\"0:34\",\"PM and meters\"],[\"0:56\",\"Parts and warranty\"],[\"1:22\",\"Specs and relationships\"]],\"d\":21,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-16-assets-essential-thumb.jpg\",\"locked\":1},{\"n\":17,\"title\":\"Assets: what Advanced and Premium add\",\"category\":\"Asset Management\",\"description\":\"Reliability figures, safety, inspections, condition, functions and failures, then repair-or-replace and insights.\",\"length\":\"2:28\",\"thumbnail\":\"17-assets-advanced-premium-thumb.jpg\",\"subtitles\":[\"17-assets-advanced-premium.en.vtt\",\"17-assets-advanced-premium.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:13\",\"Reliability\"],[\"0:33\",\"Safety and inspections\"],[\"1:09\",\"Functions and failures\"],[\"1:47\",\"Premium\"]],\"d\":22,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-17-assets-advanced-premium-thumb.jpg\",\"locked\":1},{\"n\":203,\"title\":\"Analyse with AI\",\"category\":\"Asset Management\",\"description\":\"Photograph a nameplate, a meter, damage or a document \u2014 Zenith reads it and fills the form for you to confirm. Premium.\",\"long\":\"Every asset register starts with somebody copying a nameplate by hand. Analyse with AI gives Zenith eyes: drop a photo, or take one on the phone, and the asset form is filled \u2014 manufacturer, model, serial number, year, class, type and every rating as a specification \u2014 with each field marked read, suggested or needed. Nothing is saved until you press Add. The same window turns a meter photo into a reading, a photo of damage into a service request, and a manual or certificate into a Media file attached to the asset. Every photo analysed is kept in Media, tagged AI analysis. And the business rule holds: the same serial number is the same machine \u2014 a nameplate already on file updates the existing asset instead of adding a twin.\",\"tags\":[\"AI\",\"assets\",\"nameplate\",\"meters\",\"requests\",\"media\",\"premium\"],\"length\":\"3:49\",\"thumbnail\":\"analyse-ai-thumb.jpg\",\"subtitles\":[],\"chapters\":[[\"0:03\",\"Why: the clipboard and the typo\"],[\"0:24\",\"We gave Zenith eyes\"],[\"0:31\",\"The button, the window\"],[\"0:45\",\"Drop, upload, take; the composer and the + menu\"],[\"1:07\",\"A nameplate: drop, say, Analyse\"],[\"1:14\",\"The asset form, sixteen specifications\"],[\"1:45\",\"Read, suggested, needed\"],[\"2:04\",\"Add asset\"],[\"2:08\",\"AHU-202: the record, the tab, the photo, Media\"],[\"2:33\",\"The same plate next month\"],[\"2:44\",\"Same serial, same machine: update, not a twin\"],[\"3:12\",\"A meter, damage, a certificate\"],[\"3:36\",\"Close\"]],\"d\":23,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/zenith-series-analyse-ai-thumb.jpg\",\"locked\":1},{\"n\":18,\"title\":\"Preventive maintenance, edition by edition\",\"category\":\"Preventive Maintenance\",\"description\":\"What PM is in Zenith and what Essential, Advanced and Premium each give you, from schedules to effectiveness.\",\"length\":\"1:46\",\"thumbnail\":\"18-pm-editions-thumb.jpg\",\"subtitles\":[\"18-pm-editions.en.vtt\",\"18-pm-editions.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:19\",\"The cycle\"],[\"0:39\",\"Essential\"],[\"1:00\",\"Advanced\"],[\"1:22\",\"Premium\"]],\"d\":24,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-18-pm-editions-thumb.jpg\",\"locked\":1},{\"n\":19,\"title\":\"The Maintenance page\",\"category\":\"Preventive Maintenance\",\"description\":\"The PM list, its cards and filters, the What\u2019s due look-ahead, generating work orders and changing status.\",\"length\":\"2:07\",\"thumbnail\":\"19-maintenance-page-thumb.jpg\",\"subtitles\":[\"19-maintenance-page.en.vtt\",\"19-maintenance-page.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:07\",\"The PM list\"],[\"0:35\",\"Cards and filters\"],[\"1:10\",\"What's due\"],[\"1:26\",\"Generate work orders\"]],\"d\":25,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-19-maintenance-page-thumb.jpg\",\"locked\":1},{\"n\":20,\"title\":\"Creating a PM schedule\",\"category\":\"Preventive Maintenance\",\"description\":\"Build a PM step by step: general details, equipment, the task checklist, crew and parts, safety and media.\",\"length\":\"2:05\",\"thumbnail\":\"20-creating-a-pm-thumb.jpg\",\"subtitles\":[\"20-creating-a-pm.en.vtt\",\"20-creating-a-pm.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:17\",\"General\"],[\"0:42\",\"Tasks\"],[\"1:05\",\"Resources\"],[\"1:23\",\"Safety and media\"]],\"d\":26,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-20-creating-a-pm-thumb.jpg\",\"locked\":1},{\"n\":21,\"title\":\"When a PM comes due: scheduling\",\"category\":\"Preventive Maintenance\",\"description\":\"Every scheduling option: calendar, fixed or after last done, meters, whichever first, lead time, seasons.\",\"length\":\"2:43\",\"thumbnail\":\"21-pm-scheduling-thumb.jpg\",\"subtitles\":[\"21-pm-scheduling.en.vtt\",\"21-pm-scheduling.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:21\",\"Calendar\"],[\"0:40\",\"Fixed or after last done\"],[\"1:05\",\"Meter and whichever first\"],[\"1:33\",\"Timing and dates\"]],\"d\":27,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-21-pm-scheduling-thumb.jpg\",\"locked\":1},{\"n\":22,\"title\":\"From PM schedule to work order\",\"category\":\"Preventive Maintenance\",\"description\":\"How a PM creates its work order: timing, crew and technician, options, approval, the preview, skip or postpone.\",\"length\":\"2:21\",\"thumbnail\":\"22-pm-to-work-order-thumb.jpg\",\"subtitles\":[\"22-pm-to-work-order.en.vtt\",\"22-pm-to-work-order.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:11\",\"When it fires\"],[\"0:45\",\"Work order details\"],[\"1:15\",\"Approval and preview\"],[\"1:47\",\"Skip or postpone\"]],\"d\":28,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-22-pm-to-work-order-thumb.jpg\",\"locked\":1},{\"n\":23,\"title\":\"Doing and closing a PM work order\",\"category\":\"Preventive Maintenance\",\"description\":\"Work the checklist, record readings and sign-offs, complete and close the job, and watch the PM move on.\",\"length\":\"1:54\",\"thumbnail\":\"23-doing-and-closing-pm-thumb.jpg\",\"subtitles\":[\"23-doing-and-closing-pm.en.vtt\",\"23-doing-and-closing-pm.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:25\",\"The checklist\"],[\"0:45\",\"Sign-offs\"],[\"1:02\",\"Closing the job\"],[\"1:17\",\"Record completion\"]],\"d\":29,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-23-doing-and-closing-pm-thumb.jpg\",\"locked\":1},{\"n\":24,\"title\":\"PM: what Advanced adds\",\"category\":\"Preventive Maintenance\",\"description\":\"Job plans used by many PMs, one PM for a whole class, inspections and findings, routes and what PM costs.\",\"length\":\"2:06\",\"thumbnail\":\"24-pm-advanced-thumb.jpg\",\"subtitles\":[\"24-pm-advanced.en.vtt\",\"24-pm-advanced.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:10\",\"Job plans\"],[\"0:45\",\"One PM for a class\"],[\"1:07\",\"Inspections\"],[\"1:23\",\"Routes and cost\"]],\"d\":30,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-24-pm-advanced-thumb.jpg\",\"locked\":1},{\"n\":25,\"title\":\"Premium: is your PM working?\",\"category\":\"Preventive Maintenance\",\"description\":\"PM effectiveness: breakdowns between services, what each visit found, the interval advice and drifting dates.\",\"length\":\"1:28\",\"thumbnail\":\"25-pm-effectiveness-thumb.jpg\",\"subtitles\":[\"25-pm-effectiveness.en.vtt\",\"25-pm-effectiveness.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:10\",\"Did it work?\"],[\"0:36\",\"What visits found\"],[\"0:48\",\"The advice\"],[\"1:04\",\"Drifting dates\"]],\"d\":31,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-25-pm-effectiveness-thumb.jpg\",\"locked\":1},{\"n\":26,\"title\":\"Workplace: the Spaces page\",\"category\":\"Workplace\",\"description\":\"Find your way around the floor plan: pick a floor, read the colours, choose a time, open a space and its day, neighbourhoods, list and calendar.\",\"length\":\"1:36\",\"thumbnail\":\"26-workplace-spaces-page-thumb.jpg\",\"subtitles\":[\"26-workplace-spaces-page.en.vtt\",\"26-workplace-spaces-page.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:11\",\"Picking a floor\"],[\"0:20\",\"The floor plan\"],[\"0:33\",\"What the colours say\"],[\"0:52\",\"Choosing a time\"],[\"1:01\",\"One space, up close\"],[\"1:09\",\"Neighbourhoods\"],[\"1:20\",\"List and calendar\"]],\"d\":32,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-26-workplace-spaces-page-thumb.jpg\",\"locked\":1},{\"n\":27,\"title\":\"Workplace: booking a room or a desk\",\"category\":\"Workplace\",\"description\":\"Reserve a room, keep a meeting private, find a space by what you need, book a weekly series, a desk for the day and your usual desk.\",\"length\":\"1:22\",\"thumbnail\":\"27-workplace-booking-thumb.jpg\",\"subtitles\":[\"27-workplace-booking.en.vtt\",\"27-workplace-booking.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:08\",\"Reserve a room\"],[\"0:22\",\"Private meetings\"],[\"0:30\",\"Find a space\"],[\"0:41\",\"A weekly meeting\"],[\"0:48\",\"Book a desk\"],[\"0:55\",\"Your usual desk\"],[\"1:04\",\"My reservations\"]],\"d\":33,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-27-workplace-booking-thumb.jpg\",\"locked\":1},{\"n\":28,\"title\":\"Workplace: on the day\",\"category\":\"Workplace\",\"description\":\"Check in from e-mail, phone or QR code, automatic release of no-shows, releasing it yourself, and the room display at the door.\",\"length\":\"1:06\",\"thumbnail\":\"28-workplace-on-the-day-thumb.jpg\",\"subtitles\":[\"28-workplace-on-the-day.en.vtt\",\"28-workplace-on-the-day.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:10\",\"Check in\"],[\"0:21\",\"Automatic release\"],[\"0:30\",\"Release it yourself\"],[\"0:35\",\"The room display\"],[\"0:47\",\"Back on the plan\"]],\"d\":34,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-28-workplace-on-the-day-thumb.jpg\",\"locked\":1},{\"n\":29,\"title\":\"Workplace: rules and approvals\",\"category\":\"Workplace\",\"description\":\"Rule sets for each kind of space, the approval queue, neighbourhoods for teams, booking priority and private categories.\",\"length\":\"1:08\",\"thumbnail\":\"29-workplace-rules-approvals-thumb.jpg\",\"subtitles\":[\"29-workplace-rules-approvals.en.vtt\",\"29-workplace-rules-approvals.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:09\",\"Rule sets\"],[\"0:20\",\"Approvals\"],[\"0:31\",\"Neighbourhoods\"],[\"0:40\",\"Booking priority\"],[\"0:48\",\"Categories and privacy\"]],\"d\":35,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-29-workplace-rules-approvals-thumb.jpg\",\"locked\":1},{\"n\":30,\"title\":\"Workplace: office days, visitors and the phone\",\"category\":\"Workplace\",\"description\":\"Say which days you're in, release a desk when you're away, invite visitors, the self-service kiosk, and booking from the phone.\",\"length\":\"0:56\",\"thumbnail\":\"30-workplace-office-days-visitors-thumb.jpg\",\"subtitles\":[\"30-workplace-office-days-visitors.en.vtt\",\"30-workplace-office-days-visitors.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:07\",\"Office days\"],[\"0:15\",\"Released desks\"],[\"0:23\",\"Visitors\"],[\"0:29\",\"Reception and kiosk\"],[\"0:36\",\"On the phone\"]],\"d\":36,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-30-workplace-office-days-visitors-thumb.jpg\",\"locked\":1},{\"n\":31,\"title\":\"Workplace: from drawing to reports\",\"category\":\"Workplace\",\"description\":\"Upload a drawing, draw the spaces, the space register, QR labels and room displays, and the reports on how space is used.\",\"length\":\"1:02\",\"thumbnail\":\"31-workplace-floor-reports-thumb.jpg\",\"subtitles\":[\"31-workplace-floor-reports.en.vtt\",\"31-workplace-floor-reports.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:08\",\"Your drawing\"],[\"0:16\",\"Draw the spaces\"],[\"0:26\",\"The space register\"],[\"0:33\",\"Labels and displays\"],[\"0:39\",\"Reports\"]],\"d\":37,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-31-workplace-floor-reports-thumb.jpg\",\"locked\":1},{\"n\":32,\"title\":\"Workplace: dashboard and reports\",\"category\":\"Workplace\",\"description\":\"The dashboard for the quick picture: utilisation, no-shows, approvals, peak hours and underused space; then the report library, filters, PDF, CSV and schedules.\",\"length\":\"1:25\",\"thumbnail\":\"32-workplace-dashboard-reports-thumb.jpg\",\"subtitles\":[\"32-workplace-dashboard-reports.en.vtt\",\"32-workplace-dashboard-reports.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:08\",\"The top line\"],[\"0:26\",\"Patterns\"],[\"0:41\",\"What to act on\"],[\"0:51\",\"The report library\"],[\"1:02\",\"Open a report\"],[\"1:08\",\"Print, export, schedule\"]],\"d\":38,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-32-workplace-dashboard-reports-thumb.jpg\",\"locked\":1},{\"n\":33,\"title\":\"Inventory at a glance\",\"category\":\"Inventory Management\",\"description\":\"The seven tabs, the morning check on Stock health, the three numbers every quantity is read in, and the stock gauge.\",\"length\":\"1:57\",\"thumbnail\":\"33-inventory-at-a-glance-thumb.jpg\",\"subtitles\":[\"33-inventory-at-a-glance.en.vtt\",\"33-inventory-at-a-glance.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:13\",\"The seven tabs\"],[\"0:42\",\"Stock health\"],[\"1:04\",\"On hand, held, available\"],[\"1:29\",\"The part window\"]],\"d\":39,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-33-inventory-at-a-glance-thumb.jpg\",\"locked\":1},{\"n\":34,\"title\":\"Inventory: parts, the item master\",\"category\":\"Inventory Management\",\"description\":\"The Parts page and its cards, the part window tab by tab, units and packs, stocking levels, and editing a part.\",\"length\":\"4:08\",\"thumbnail\":\"34-inventory-parts-thumb.jpg\",\"subtitles\":[\"34-inventory-parts.en.vtt\",\"34-inventory-parts.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:14\",\"The Parts page\"],[\"1:04\",\"The part window\"],[\"1:55\",\"Where used and fits\"],[\"2:43\",\"Editing a part\"],[\"3:46\",\"A new part\"]],\"d\":40,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-34-inventory-parts-thumb.jpg\",\"locked\":1},{\"n\":35,\"title\":\"Inventory: storerooms, bins and levels\",\"category\":\"Inventory Management\",\"description\":\"Kinds of storeroom, what a room holds, what to reorder, bins and labels, editing a room, and levels for each store.\",\"length\":\"2:56\",\"thumbnail\":\"35-inventory-storerooms-thumb.jpg\",\"subtitles\":[\"35-inventory-storerooms.en.vtt\",\"35-inventory-storerooms.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:16\",\"The Storerooms tab\"],[\"0:36\",\"Inside a storeroom\"],[\"1:19\",\"Bins\"],[\"1:51\",\"Editing a storeroom\"],[\"2:13\",\"Levels per store\"]],\"d\":41,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-35-inventory-storerooms-thumb.jpg\",\"locked\":1},{\"n\":36,\"title\":\"Inventory: the stock desk\",\"category\":\"Inventory Management\",\"description\":\"Receive, issue, transfer, return and adjust stock, and how every movement builds a job\u2019s parts cost.\",\"length\":\"2:49\",\"thumbnail\":\"36-inventory-stock-desk-thumb.jpg\",\"subtitles\":[\"36-inventory-stock-desk.en.vtt\",\"36-inventory-stock-desk.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:17\",\"The stock desk\"],[\"0:49\",\"Receive\"],[\"1:16\",\"Issue\"],[\"1:43\",\"Transfer\"],[\"1:55\",\"Return\"],[\"2:06\",\"Adjust\"],[\"2:20\",\"A job\u2019s story\"]],\"d\":42,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-36-inventory-stock-desk-thumb.jpg\",\"locked\":1},{\"n\":37,\"title\":\"Inventory: parts on a work order\",\"category\":\"Inventory Management\",\"description\":\"Plan the parts a job needs, hold them on the shelf, and request what is short.\",\"length\":\"2:19\",\"thumbnail\":\"37-inventory-parts-on-work-orders-thumb.jpg\",\"subtitles\":[\"37-inventory-parts-on-work-orders.en.vtt\",\"37-inventory-parts-on-work-orders.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:16\",\"Finding the job\"],[\"0:30\",\"Planning the parts\"],[\"1:12\",\"Short parts\"],[\"1:31\",\"Saving the plan\"],[\"1:41\",\"On the shelf\"]],\"d\":43,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-37-inventory-parts-on-work-orders-thumb.jpg\",\"locked\":1},{\"n\":38,\"title\":\"Inventory: doing the job\",\"category\":\"Inventory Management\",\"description\":\"Parts out on a job, recording what was used, and what Complete does with unused parts and holds.\",\"length\":\"2:24\",\"thumbnail\":\"38-inventory-doing-the-job-thumb.jpg\",\"subtitles\":[\"38-inventory-doing-the-job.en.vtt\",\"38-inventory-doing-the-job.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:15\",\"Parts out on a job\"],[\"0:44\",\"Recording what was used\"],[\"1:35\",\"Completing the job\"],[\"2:01\",\"On the stock desk\"]],\"d\":44,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-38-inventory-doing-the-job-thumb.jpg\",\"locked\":1},{\"n\":39,\"title\":\"Inventory: parts for preventive maintenance\",\"category\":\"Inventory Management\",\"description\":\"A PM\u2019s parts list, jobs that arrive with their parts held, kits to pick, and the PM parts forecast.\",\"length\":\"2:27\",\"thumbnail\":\"39-inventory-parts-for-pm-thumb.jpg\",\"subtitles\":[\"39-inventory-parts-for-pm.en.vtt\",\"39-inventory-parts-for-pm.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:16\",\"The PM\u2019s parts list\"],[\"0:41\",\"Generating with holds\"],[\"1:01\",\"Kits to pick\"],[\"1:37\",\"PM parts forecast\"]],\"d\":45,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-39-inventory-parts-for-pm-thumb.jpg\",\"locked\":1},{\"n\":40,\"title\":\"Inventory: purchasing\",\"category\":\"Inventory Management\",\"description\":\"Replenishment, requisitions and approval, purchase orders, and receiving a delivery.\",\"length\":\"2:40\",\"thumbnail\":\"40-inventory-purchasing-thumb.jpg\",\"subtitles\":[\"40-inventory-purchasing.en.vtt\",\"40-inventory-purchasing.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:13\",\"Replenishment\"],[\"0:55\",\"Requisitions\"],[\"1:19\",\"Approval\"],[\"1:31\",\"Purchase order\"],[\"1:49\",\"Receiving\"]],\"d\":46,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-40-inventory-purchasing-thumb.jpg\",\"locked\":1},{\"n\":41,\"title\":\"Inventory: counting the shelf\",\"category\":\"Inventory Management\",\"description\":\"Cycle counts by ABC class, the blind count sheet, and posting the differences.\",\"length\":\"1:52\",\"thumbnail\":\"41-inventory-counting-thumb.jpg\",\"subtitles\":[\"41-inventory-counting.en.vtt\",\"41-inventory-counting.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:16\",\"Counts due\"],[\"0:35\",\"The count sheet\"],[\"1:16\",\"Posting\"],[\"1:20\",\"The adjustment\"]],\"d\":47,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-41-inventory-counting-thumb.jpg\",\"locked\":1},{\"n\":42,\"title\":\"Inventory: stock health, alerts and money\",\"category\":\"Inventory Management\",\"description\":\"The daily check, the alert and requisition at the reorder point, and what the stock is worth.\",\"length\":\"2:09\",\"thumbnail\":\"42-inventory-health-alerts-money-thumb.jpg\",\"subtitles\":[\"42-inventory-health-alerts-money.en.vtt\",\"42-inventory-health-alerts-money.fr.vtt\"],\"chapters\":[[\"0:00\",\"Intro\"],[\"0:15\",\"Stock health\"],[\"0:37\",\"An alert\"],[\"1:16\",\"Value and turns\"]],\"d\":48,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-42-inventory-health-alerts-money-thumb.jpg\",\"locked\":1},{\"n\":201,\"title\":\"AI Reports: from reports to answers\",\"category\":\"Reports\",\"description\":\"Ask for any report in plain words, then go further with live analyses that show exactly how every number was worked out: PM compliance, repair or replace, workload, backlog and parts. Save, schedule and share as PDF or Excel.\",\"length\":\"5:42\",\"thumbnail\":\"ai-reports-thumb.jpg\",\"subtitles\":[],\"chapters\":[[\"0:00\",\"Why AI Reports\"],[\"1:45\",\"Getting started\"],[\"2:16\",\"Ask for a report\"],[\"2:58\",\"Charts and downloads\"],[\"3:35\",\"Analysis\"],[\"4:12\",\"How it is worked out\"],[\"4:53\",\"Save and schedule\"],[\"5:14\",\"Settings and control\"]],\"d\":49,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/zenith-series-ai-reports-thumb.jpg\",\"locked\":1},{\"n\":202,\"title\":\"Workflow overview\",\"category\":\"Automation\",\"description\":\"See the rules Zenith runs on \u2014 requests, work orders and PM schedules \u2014 drawn from the live tables. Read them, switch the ones that are yours, and draw your own.\",\"long\":\"Every maintenance system follows rules; in most software they are hidden in the code. The Workflows page draws them: every phase a request, a work order or a PM schedule goes through, every decision, every rule and mandatory field. In Our process you switch decisions off, make fields mandatory, rename phases and add rules in your own words, then publish. In Design mode (Premium) you add phases and decisions of your own on top of the standard process, attach automations to a phase, or start a workflow of your own.\",\"tags\":[\"workflows\",\"process\",\"automation\",\"requests\",\"work orders\",\"PM\",\"premium\"],\"length\":\"4:55\",\"thumbnail\":\"workflows-thumb.jpg\",\"subtitles\":[],\"chapters\":[[\"0:00\",\"Why: the hidden rules\"],[\"0:35\",\"The Workflows page\"],[\"1:31\",\"The panel: who, decisions, rules, fields, automations, notes\"],[\"2:05\",\"Our process: switching, renaming, adding a rule\"],[\"2:56\",\"Publish \u2014 and the phone follows\"],[\"3:06\",\"Work orders and PM schedules\"],[\"3:26\",\"Design mode (Premium): your own phases, automations, workflows\"],[\"4:21\",\"What is live today and what is coming\"],[\"4:41\",\"Close\"]],\"d\":50,\"thumb_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/zenith-series-workflows-thumb.jpg\",\"locked\":1}],\"featured_cover_url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-01-zenith-editions-cover.jpg\",\"subs_base\":\"\\\/video-series\\\/subtitles\\\/\",\"gate\":1,\"api\":\"https:\\\/\\\/zenithsoftware.ca\\\/fr\\\/wp-json\\\/zvs\\\/v1\\\/\",\"privacy\":\"https:\\\/\\\/zenithsoftware.ca\\\/fr\\\/privacy-policy\\\/\",\"contact\":\"https:\\\/\\\/zenithsoftware.ca\\\/fr\\\/contact-us\\\/\",\"consent_text\":\"Yes, Zenith Software Corp. may email me product news and updates. I can unsubscribe at any time.\"};\nconst $=id=>document.getElementById('zv-'+id);\nconst M=document.getElementById('zvs-m'), IX=document.getElementById('zvs-ix');\nconst R=document.getElementById('zvs-r');document.body.appendChild(M);document.body.appendChild(IX);document.body.appendChild(R);\nconst ROOTS=[document.getElementById('zvs'),M,IX];\nconst sec=t=>t.split(':').reduce((a,b)=>a*60+(+b),0);\nconst fmt=s=>Math.round(s\/60)+' min';\nconst V=S.videos; let cur=-1, lang='off', vid=null;\nconst LOCK='<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\"\/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"\/><\/svg>';\nconst GATE=!!S.gate; let tok=null, urls={}, me='', pend=-1, reg=null;\ntry{tok=localStorage.getItem('zv_tok')}catch(e){}\n{const m=location.hash.match(\/^#access-([a-f0-9]{64})$\/);if(m){tok=m[1];try{localStorage.setItem('zv_tok',tok)}catch(e){}try{history.replaceState(null,'',location.pathname+location.search)}catch(e){}}}\nconst isLocked=v=>GATE&&v.locked&&!urls[v.n];\nconst P=V.filter(v=>!v.off);const nLocked=P.filter(v=>v.locked).length;const nOpen=P.length-nLocked;const pc=g=>g.items.filter(o=>!o.v.off);\nfunction api(p,body){const h={'Content-Type':'application\/json'};if(S.nonce)h['X-WP-Nonce']=S.nonce;return fetch(S.api+p,{method:'POST',headers:h,credentials:'same-origin',body:JSON.stringify(body)}).then(r=>r.json().catch(()=>({})).then(j=>({ok:r.ok&&!!j.ok,j}))).catch(()=>({ok:false,j:{msg:'Connection problem. Please try again.'}}))}\nfunction logEv(n,ev){if(!tok)return;try{fetch(S.api+'log',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({token:tok,n:n,event:ev}),keepalive:true,credentials:'omit'})}catch(e){}}\nlet seen={}; try{seen=JSON.parse(localStorage.getItem('zv_seen')||'{}')}catch(e){}\nconst mark=n=>{seen[n]=1;try{localStorage.setItem('zv_seen',JSON.stringify(seen))}catch(e){}};\nconst esc=s=>String(s).replace(\/[&<>\"]\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c]));\nconst slug=c=>'zv-s-'+c.toLowerCase().replace(\/[^a-z0-9]+\/g,'-');\nconst G=S.categories.map(c=>({c,id:slug(c),items:V.map((v,i)=>({v,i})).filter(o=>o.v.category===c)})).filter(g=>g.items.length);\nconst total=Math.round(P.reduce((a,v)=>a+sec(v.length),0)\/60);\n$('stitle').textContent=S.series_title; $('head').textContent=S.heading; $('intro').textContent=S.intro;\n$('meta').innerHTML=`<span><b>${P.length}<\/b> videos<\/span><span><b>${total}<\/b> minutes in total<\/span><span>Short how-tos and full demos<\/span><span>English audio and captions &middot; French subtitles<\/span>`;\nconst F=V.find(v=>v.n===S.start_here)||V[0];\n$('fimg').src=S.featured_cover_url; $('flen').textContent=F.length; $('ft').textContent=F.title; $('fd').textContent=F.description;\n$('fcov').onclick=$('fbtn').onclick=()=>openV(V.indexOf(F));\n\/* top offset under the site's sticky header *\/\nfunction setTop(){let t=0;for(const h of document.querySelectorAll('body *')){if(h.closest('#zvs,#zvs-m,#zvs-ix'))continue;const s=getComputedStyle(h);if(s.position!=='fixed'&&s.position!=='sticky')continue;if(s.display==='none'||s.visibility==='hidden')continue;const r=h.getBoundingClientRect();if(r.height<20||r.height>220||r.width<innerWidth*.6)continue;const st=parseFloat(s.top);if(isNaN(st)||st>60)continue;t=Math.max(t,st+r.height)}\n const v=Math.max(12,Math.round(t)+14)+'px';ROOTS.forEach(r=>r.style.setProperty('--top',v))}\n\/* sections *\/\n$('secs').innerHTML=G.map(g=>`<section class=\"zv-sec\" id=\"${g.id}\"><h3>${esc(g.c)}<span>${pc(g).length} video${pc(g).length===1?'':'s'} &middot; ${fmt(pc(g).reduce((a,o)=>a+sec(o.v.length),0))}<\/span><\/h3><div class=\"zv-list\">${g.items.map(({v,i})=>\n `<${v.off?'div':'button'} class=\"zv-row${v.off?' off':''}\" data-i=\"${i}\" id=\"zv-v${v.n}\"${v.off?' aria-disabled=\"true\"':''}><span class=\"zv-num\">${v.d}<\/span><span class=\"zv-th\"><img decoding=\"async\" src=\"${v.thumb_url}\" alt=\"\" loading=\"lazy\" width=\"1280\" height=\"720\"><span class=\"zv-pl\"><\/span>${v.length?`<span class=\"zv-dur\">${v.length}<\/span>`:''}${GATE&&v.locked?`<span class=\"zv-lk\">${LOCK}<span>Free with registration<\/span><\/span>`:''}<\/span><span class=\"zv-tx\"><h4>${esc(v.title)}<\/h4><p>${esc(v.description)}<\/p><\/span><span class=\"zv-go\"><span>Watch &rarr;<\/span><\/span><\/${v.off?'div':'button'}>`).join('')}<\/div><\/section>`).join('');\n$('secs').onclick=e=>{const r=e.target.closest('.zv-row');if(r&&!r.classList.contains('off'))openV(+r.dataset.i)};\n\/* index (desktop sidebar + phone sheet) *\/\nconst ICO={'Product Demos':'<rect x=\"3\" y=\"4\" width=\"18\" height=\"13\" rx=\"2\"\/><path d=\"M8 21h8M12 17v4\"\/><path d=\"m10 8.5 4 2.5-4 2.5z\" fill=\"currentColor\"\/>','Start Here':'<path d=\"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z\"\/><path d=\"m10 8.5 5 3.5-5 3.5z\" fill=\"currentColor\"\/>',\n 'Work Order Management':'<rect x=\"5\" y=\"4\" width=\"14\" height=\"17\" rx=\"2\"\/><path d=\"M9 4h6v3H9zM8.5 12h7M8.5 16h4.5\"\/>',\n 'Asset Management':'<path d=\"M12 3 4 7.5v9L12 21l8-4.5v-9z\"\/><path d=\"M4 7.5 12 12l8-4.5M12 12v9\"\/>',\n 'Preventive Maintenance':'<rect x=\"4\" y=\"5\" width=\"16\" height=\"16\" rx=\"2\"\/><path d=\"M8 3v4M16 3v4M4 10h16\"\/><path d=\"m9 15 2 2 4-4\"\/>',\n 'Workplace':'<path d=\"M4 21V5a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v16M15 9h4a1 1 0 0 1 1 1v11M3 21h18\"\/><path d=\"M8 8h3M8 12h3M8 16h3\"\/>',\n 'Inventory Management':'<path d=\"M21 8 12 3 3 8v8l9 5 9-5V8Z\"\/><path d=\"m3 8 9 5 9-5M12 13v8\"\/><path d=\"m7.5 5.5 9 5\"\/>',\n 'Reports':'<path d=\"M4 20V10M10 20V4M16 20v-7M22 20H2\"\/><path d=\"m17.5 3 .6 1.4 1.4.6-1.4.6-.6 1.4-.6-1.4L15.5 5l1.4-.6z\" fill=\"currentColor\"\/>',\n 'Automation':'<rect x=\"3\" y=\"3\" width=\"6\" height=\"6\" rx=\"1.5\"\/><rect x=\"15\" y=\"15\" width=\"6\" height=\"6\" rx=\"1.5\"\/><rect x=\"15\" y=\"3\" width=\"6\" height=\"6\" rx=\"1.5\"\/><path d=\"M9 6h6M18 9v6M6 9v6a3 3 0 0 0 3 3h6\"\/>'};\nconst icon=c=>`<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">${ICO[c]||ICO['Start Here']}<\/svg>`;\nconst CHEV='<svg class=\"zv-chev\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m9 6 6 6-6 6\"\/><\/svg>';\nlet curG=G[0].id;\nconst ixHTML=all=>{const w=P.filter(v=>seen[v.n]).length;const p=Math.round(w\/P.length*100);\n return `<div class=\"zv-ixhead\"><div class=\"zv-ring\" style=\"--p:${p}%\"><span>${w}\/${P.length}<\/span><\/div><div class=\"zv-ixt\"><b>Contents<\/b><span>${G.length} sections &middot; ${P.length} videos &middot; ${total} min<\/span><\/div>${all?'<button class=\"zv-close\" data-close=\"1\" aria-label=\"Close index\">&times;<\/button>':''}<\/div>`+\n G.map(g=>`<div class=\"zv-g${all||g.id===curG?' open':''}${g.id===curG?' cur':''}\" data-g=\"${g.id}\"><button class=\"zv-gh\" data-go=\"${g.id}\" aria-expanded=\"${all||g.id===curG}\"><span class=\"zv-ic\">${icon(g.c)}<\/span><span><span class=\"zv-gn\">${esc(g.c)}<\/span><span class=\"zv-gm\">${pc(g).length} video${pc(g).length===1?'':'s'} &middot; ${fmt(pc(g).reduce((a,o)=>a+sec(o.v.length),0))}<\/span><\/span>${CHEV}<\/button><div class=\"zv-gb\"><div><ol>${g.items.map(({v,i})=>`<li><${v.off?'span':'button'} class=\"zv-it${v.off?' off':''}${seen[v.n]&&!v.off?' seen':''}${i===cur?' now':''}\" data-i=\"${i}\"${v.off?' aria-disabled=\"true\"':''}><em><span>${v.d}<\/span><\/em><span class=\"zv-itt\">${esc(v.title)}${isLocked(v)&&!v.off?`<span class=\"zv-ilk\" title=\"Free with registration\">${LOCK}<\/span>`:''}<\/span><small>${v.length}<\/small><\/${v.off?'span':'button'}><\/li>`).join('')}<\/ol><\/div><\/div><\/div>`).join('')};\n$('mchips').innerHTML=G.map(g=>`<button class=\"zv-mchip\" data-go=\"${g.id}\">${icon(g.c)}${esc(g.c)}<\/button>`).join('');\nfunction drawIx(){const st=$('side').scrollTop;$('side').innerHTML=ixHTML(false);$('side').scrollTop=st;$('ixsheet').innerHTML=ixHTML(true);spy()}\nfunction go(id){const el=document.getElementById(id);if(el)el.scrollIntoView({behavior:'smooth',block:'start'})}\nfunction ixClick(e){if(e.target.closest('[data-close]')){closeIx();return}const h=e.target.closest('[data-go]');if(h){closeIx();go(h.dataset.go);return}const it=e.target.closest('.zv-it');if(it&&it.classList.contains('off'))return;if(it){closeIx();const i=+it.dataset.i;const row=document.getElementById('zv-v'+V[i].n);if(row){row.scrollIntoView({block:'center'});row.classList.add('flash');setTimeout(()=>row.classList.remove('flash'),1600)}openV(i)}}\n$('side').onclick=ixClick;$('ixsheet').onclick=ixClick;$('mchips').onclick=ixClick;\nfunction openIx(){IX.classList.add('on');document.body.classList.add('zv-lock');const x=IX.querySelector('[data-close]');if(x)x.focus()}\nfunction closeIx(){if(!IX.classList.contains('on'))return;IX.classList.remove('on');if(!M.classList.contains('on'))document.body.classList.remove('zv-lock')}\n$('ixbtn').onclick=openIx;IX.onclick=e=>{if(e.target===IX)closeIx()};\n\/* highlight the section on screen *\/\nfunction spy(){const top=parseFloat(getComputedStyle(ROOTS[0]).getPropertyValue('--top'))||90;let c=G[0].id;G.forEach(g=>{const el=document.getElementById(g.id);if(el&&el.getBoundingClientRect().top<top+140)c=g.id});\n if(c!==curG){curG=c;['side','ixsheet'].forEach(k=>$(k).querySelectorAll('.zv-g').forEach(x=>{const on=x.dataset.g===c;x.classList.toggle('cur',on);if(k==='side'){x.classList.toggle('open',on);x.querySelector('.zv-gh').setAttribute('aria-expanded',on)}}));\n  const side=$('side');setTimeout(()=>{const g=side.querySelector('.zv-g.cur');if(g&&side.scrollHeight>side.clientHeight)side.scrollTo({top:Math.max(0,g.offsetTop-side.querySelector('.zv-ixhead').offsetHeight),behavior:'smooth'})},320)}\n const chips=[...document.querySelectorAll('#zv-mchips .zv-mchip')];chips.forEach(x=>x.classList.toggle('cur',x.dataset.go===c));\n const a=chips.find(x=>x.dataset.go===c);if(a&&a.dataset.on!=='1'){chips.forEach(x=>x.dataset.on='');a.dataset.on='1';const p=a.parentElement;p.scrollTo({left:a.offsetLeft-p.offsetLeft-8,behavior:'smooth'})}}\nlet tk=0;addEventListener('scroll',()=>{if(!tk){tk=requestAnimationFrame(()=>{tk=0;spy()})}},{passive:true});\naddEventListener('resize',()=>{setTop();spy()});\n\/* player *\/\nfunction setLang(l){lang=l;$('cc').querySelectorAll('button').forEach(b=>b.classList.toggle('on',b.dataset.l===l));\n if(vid)for(const t of vid.textTracks)t.mode=(t.language===l)?'showing':'disabled';}\n$('cc').onclick=e=>{const b=e.target.closest('button');if(b)setLang(b.dataset.l)};\nconst nextOk=i=>{for(let k=i+1;k<V.length;k++)if(!V[k].off)return k;return -1};\nfunction openV(i){\n if(!V[i]||V[i].off)return;\n if(isLocked(V[i])){openReg(i);return}\n cur=i;const v=V[i];$('mt').textContent=v.d+'. '+v.title;$('mn').textContent=v.length+' \u00b7 '+v.category;\n $('nx').style.display=nextOk(i)>=0?'':'none';$('nx').classList.remove('pulse');\n const st=$('stage');st.innerHTML='';\n vid=document.createElement('video');vid.controls=true;vid.playsInline=true;vid.preload='metadata';vid.poster=v.thumb_url;vid.src=v.video_url||urls[v.n];vid.setAttribute('controlsList','nodownload');\n (v.subtitles||[]).forEach(f=>{const t=document.createElement('track');const l=f.includes('.fr.')?'fr':'en';t.kind='subtitles';t.srclang=l;t.label=l==='fr'?'Fran\u00e7ais':'English';t.src=S.subs_base+f;\n  if(l==='fr')t.addEventListener('load',()=>{const c=t.track.cues;if(c)for(const q of c){q.snapToLines=true;q.line=0}});vid.appendChild(t)});\n vid.addEventListener('loadedmetadata',()=>setLang(lang));vid.addEventListener('timeupdate',hl);vid.addEventListener('ended',()=>{$('nx').classList.add('pulse');logEv(v.n,'complete')});\n if(tok){const done={};vid.addEventListener('play',()=>{if(!done.o){done.o=1;logEv(v.n,'open')}});vid.addEventListener('timeupdate',e=>{const d=e.target.duration;if(!d)return;const p=e.target.currentTime\/d*100;[25,50,75].forEach(q=>{if(p>=q&&!done[q]){done[q]=1;logEv(v.n,String(q))}})})}\n st.appendChild(vid);vid.play().catch(()=>{});setTimeout(()=>setLang(lang),50);\n $('cc').style.display=(v.subtitles||[]).length?'':'none';\n {const ld=$('ld');if(v.long){ld.textContent=v.long;ld.hidden=false}else{ld.textContent='';ld.hidden=true}}\n $('chap').innerHTML=v.chapters.map(c=>`<button data-t=\"${sec(c[0])}\"><b>${esc(c[0])}<\/b>${esc(c[1])}<\/button>`).join('');\n M.classList.add('on');document.body.classList.add('zv-lock');mark(v.n);drawRows();drawIx();$('mx').focus();\n}\nfunction drawRows(){document.querySelectorAll('#zv-secs .zv-row').forEach(r=>{const v=V[+r.dataset.i];r.classList.toggle('seen',!!seen[v.n]);r.classList.toggle('unl',!isLocked(v))})}\nfunction hl(e){const t=e.target.currentTime;const bs=[...$('chap').children];let k=0;bs.forEach((b,j)=>{if(t>=+b.dataset.t)k=j});bs.forEach((b,j)=>b.classList.toggle('on',j===k))}\n$('chap').onclick=e=>{const b=e.target.closest('button');if(b&&vid){vid.currentTime=+b.dataset.t;vid.play().catch(()=>{})}};\nfunction closeV(){M.classList.remove('on');document.body.classList.remove('zv-lock');if(vid)vid.pause();$('stage').innerHTML='';vid=null;\n const row=cur>=0&&document.getElementById('zv-v'+V[cur].n);if(row){const r=row.getBoundingClientRect();if(r.top<0||r.bottom>innerHeight)row.scrollIntoView({block:'center'})}}\n$('mx').onclick=closeV;M.onclick=e=>{if(e.target===M)closeV()};$('nx').onclick=()=>{const k=nextOk(cur);if(k>=0)openV(k)};\ndocument.addEventListener('keydown',e=>{if(e.key!=='Escape')return;if(R.classList.contains('on'))closeReg();else if(M.classList.contains('on'))closeV();else closeIx()});\n\n\/* registration *\/\nconst Z=id=>document.getElementById('zr-'+id);\nfunction drawGate(){const b=$('gbar');if(!GATE){b.classList.remove('on');return}b.classList.add('on');\n if(Object.keys(urls).length){b.innerHTML=`<span><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m5 12 5 5 9-10\"\/><\/svg>Welcome${me?', <b>'+esc(me.split(' ')[0])+'<\/b>':''}. All ${P.length} videos are unlocked.<button class=\"zv-link\" id=\"zv-out\" type=\"button\">Not you?<\/button><\/span>`;\n  $('out').onclick=()=>{tok=null;urls={};me='';try{localStorage.removeItem('zv_tok')}catch(e){}drawGate();drawRows();drawIx()}}\n else{b.innerHTML=`<span>${LOCK}The Start Here videos are open to everyone. <b>Register once, free,<\/b> to watch the other ${nLocked}, including the full demo.<\/span><button class=\"zv-gbtn\" id=\"zv-reg\" type=\"button\">Unlock all videos<\/button>`;$('reg').onclick=()=>openReg(-1)}}\nfunction fErr(f,msg){const el=R.querySelector('.zr-f[data-f=\"'+f+'\"]');if(el){el.classList.add('bad');el.querySelector('.zr-err').textContent=msg;const i=el.querySelector('input');if(i)i.focus()}else{Z('m1').textContent=msg;Z('m1').classList.add('on')}}\nfunction clearErr(){R.querySelectorAll('.zr-f.bad').forEach(x=>x.classList.remove('bad'));['m1','m2'].forEach(k=>Z(k).classList.remove('on'))}\nfunction step(n){Z('1').hidden=n!==1;Z('2').hidden=n!==2;clearErr();setTimeout(()=>(n===1?Z('name'):Z('code')).focus(),30)}\nfunction openReg(i){pend=i;const v=i>=0?V[i]:null;Z('s1').innerHTML=(v?'<b>'+esc(v.title)+'<\/b> is part of the full series. ':'')+`Register once with your work email to unlock all ${nLocked} videos, including the full demo. It&rsquo;s free.`;\n Z('ctext').textContent=S.consent_text;Z('fine').innerHTML=`We use your details to give you access and to follow up about Zenith, and we record which videos you watch. See our <a href=\"${esc(S.privacy)}\" target=\"_blank\" rel=\"noopener\">Privacy Policy<\/a>.`;\n R.classList.add('on');document.body.classList.add('zv-lock');step(reg&&!Z('2').hidden?2:1)}\nfunction closeReg(){R.classList.remove('on');if(!M.classList.contains('on')&&!IX.classList.contains('on'))document.body.classList.remove('zv-lock')}\nZ('x').onclick=closeReg;R.onclick=e=>{if(e.target===R)closeReg()};\nconst FREE=\/@(gmail|googlemail|yahoo|ymail|hotmail|outlook|live|msn|icloud|me|mac|aol|proton|protonmail|pm|gmx|mail|yandex|shaw|telus|rogers|sympatico|bell|videotron)\\.[a-z.]+$\/i;\nfunction sendCode(){const f=Z('1');const d={name:Z('name').value.trim(),title:Z('title').value.trim(),company:Z('company').value.trim(),email:Z('email').value.trim(),consent:Z('consent').checked,website:(f.querySelector('[name=website]')||{}).value||''};\n clearErr();for(const k of ['name','title','company','email']){if(d[k].length<2){fErr(k,'Please fill in this field.');return Promise.resolve()}}\n if(!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/.test(d.email)){fErr('email','Please enter a valid email address.');return Promise.resolve()}\n if(FREE.test(d.email)){fErr('email','Please use your work email address. Personal addresses such as Gmail, Outlook or Yahoo can\u2019t be used.');return Promise.resolve()}\n Z('go1').disabled=true;Z('go1').textContent='Sending\u2026';\n return api('register',d).then(({ok,j})=>{Z('go1').disabled=false;Z('go1').textContent='Email me a code';\n  if(!ok){fErr(j.field||'',j.msg||'Something went wrong. Please try again.');return}\n  reg=d;Z('to').textContent=d.email;Z('code').value='';step(2);\n  const tn=Z('test');if(j.test_code){tn.textContent='Test mode (only you see this): your code is '+j.test_code;tn.classList.add('on')}else tn.classList.remove('on');\n  if(j.sent===false){Z('m2').textContent='We couldn\u2019t send the email just now. Please try again in a minute.';Z('m2').classList.add('on')}})}\nZ('1').onsubmit=e=>{e.preventDefault();sendCode()};\nZ('back').onclick=()=>{reg=null;step(1)};\nZ('resend').onclick=()=>{if(!reg)return step(1);const f=Z('1');Z('resend').textContent='Sending\u2026';api('register',reg).then(({ok,j})=>{Z('resend').textContent='Send a new code';clearErr();if(!ok){Z('m2').textContent=j.msg||'Please try again.';Z('m2').classList.add('on')}else if(j.test_code){Z('test').textContent='Test mode (only you see this): your code is '+j.test_code;Z('test').classList.add('on')}})};\nZ('2').onsubmit=e=>{e.preventDefault();const code=Z('code').value.replace(\/\\D\/g,'');clearErr();if(code.length!==6){Z('m2').textContent='Please enter the 6-digit code.';Z('m2').classList.add('on');return}\n Z('go2').disabled=true;Z('go2').textContent='Checking\u2026';\n api('verify',{email:reg.email,code}).then(({ok,j})=>{Z('go2').disabled=false;Z('go2').textContent='Verify and watch';\n  if(!ok){Z('m2').textContent=j.msg||'Please try again.';Z('m2').classList.add('on');return}\n  tok=j.token;urls=j.urls||{};me=j.name||'';try{localStorage.setItem('zv_tok',tok)}catch(e){}reg=null;\n  closeReg();drawGate();drawRows();drawIx();if(pend>=0)openV(pend)})};\nZ('code').addEventListener('input',e=>{e.target.value=e.target.value.replace(\/\\D\/g,'').slice(0,6)});\nsetTop();drawRows();drawIx();drawGate();setTimeout(()=>{setTop();spy()},600);\nconst vslug=v=>String(v.title).toLowerCase().replace(\/[^a-z0-9]+\/g,'-').replace(\/^-+|-+$\/g,'');\nfunction fromHash(){const h=decodeURIComponent(location.hash.slice(1)).toLowerCase();if(!h)return;const i=V.findIndex(v=>vslug(v)===h);if(i<0||V[i].off)return;\n const row=document.getElementById('zv-v'+V[i].n);if(row){row.scrollIntoView({block:'center'});row.classList.add('flash');setTimeout(()=>row.classList.remove('flash'),2000)}setTimeout(()=>openV(i),400)}\nif(GATE&&tok){api('me',{token:tok}).then(({ok,j})=>{if(ok){urls=j.urls||{};me=j.name||''}else{tok=null;try{localStorage.removeItem('zv_tok')}catch(e){}}drawGate();drawRows();drawIx();fromHash()})}else{setTimeout(fromHash,300)}\naddEventListener('hashchange',fromHash);\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":259563,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-259614","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Zenith CMMS video series: 24 short how-to videos<\/title>\n<meta name=\"description\" content=\"Learn Zenith CMMS in 24 short videos recorded in the real app: work orders, asset management and preventive maintenance. English audio, French subtitles.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zenithsoftware.ca\/fr\/video-series\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zenith CMMS video series: 24 short how-to videos\" \/>\n<meta property=\"og:description\" content=\"Learn Zenith CMMS in 24 short videos recorded in the real app: work orders, asset management and preventive maintenance. English audio, French subtitles.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zenithsoftware.ca\/fr\/video-series\/\" \/>\n<meta property=\"og:site_name\" content=\"Zenith Software Corp\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-26T05:53:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zenithsoftware.ca\/wp-content\/uploads\/2026\/10\/zenith-series-01-zenith-editions-cover.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/\",\"url\":\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/\",\"name\":\"Zenith CMMS video series: 24 short how-to videos\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zenithsoftware.ca\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-01-zenith-editions-cover.jpg\",\"datePublished\":\"2026-10-26T05:50:57+00:00\",\"dateModified\":\"2026-10-26T05:53:57+00:00\",\"description\":\"Learn Zenith CMMS in 24 short videos recorded in the real app: work orders, asset management and preventive maintenance. English audio, French subtitles.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/#primaryimage\",\"url\":\"https:\\\/\\\/zenithsoftware.ca\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-01-zenith-editions-cover.jpg\",\"contentUrl\":\"https:\\\/\\\/zenithsoftware.ca\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/zenith-series-01-zenith-editions-cover.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/video-series\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zenithsoftware.ca\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zenith video series\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/#website\",\"url\":\"https:\\\/\\\/zenithsoftware.ca\\\/\",\"name\":\"Zenith Software\",\"description\":\"CMMS and CAFM Software\",\"publisher\":{\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/#organization\"},\"alternateName\":\"Zenith\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zenithsoftware.ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/#organization\",\"name\":\"Zenith Software Corp\",\"alternateName\":\"Evolve FM\",\"url\":\"https:\\\/\\\/zenithsoftware.ca\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/zenithsoftware.ca\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/E-light.png\",\"contentUrl\":\"https:\\\/\\\/zenithsoftware.ca\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/E-light.png\",\"width\":96,\"height\":96,\"caption\":\"Zenith Software Corp\"},\"image\":{\"@id\":\"https:\\\/\\\/zenithsoftware.ca\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/zenith-software-corp\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Zenith CMMS video series: 24 short how-to videos","description":"Learn Zenith CMMS in 24 short videos recorded in the real app: work orders, asset management and preventive maintenance. English audio, French subtitles.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zenithsoftware.ca\/fr\/video-series\/","og_locale":"fr_CA","og_type":"article","og_title":"Zenith CMMS video series: 24 short how-to videos","og_description":"Learn Zenith CMMS in 24 short videos recorded in the real app: work orders, asset management and preventive maintenance. English audio, French subtitles.","og_url":"https:\/\/zenithsoftware.ca\/fr\/video-series\/","og_site_name":"Zenith Software Corp","article_modified_time":"2026-10-26T05:53:57+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/zenithsoftware.ca\/wp-content\/uploads\/2026\/10\/zenith-series-01-zenith-editions-cover.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zenithsoftware.ca\/video-series\/","url":"https:\/\/zenithsoftware.ca\/video-series\/","name":"Zenith CMMS video series: 24 short how-to videos","isPartOf":{"@id":"https:\/\/zenithsoftware.ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zenithsoftware.ca\/video-series\/#primaryimage"},"image":{"@id":"https:\/\/zenithsoftware.ca\/video-series\/#primaryimage"},"thumbnailUrl":"https:\/\/zenithsoftware.ca\/wp-content\/uploads\/2026\/10\/zenith-series-01-zenith-editions-cover.jpg","datePublished":"2026-10-26T05:50:57+00:00","dateModified":"2026-10-26T05:53:57+00:00","description":"Learn Zenith CMMS in 24 short videos recorded in the real app: work orders, asset management and preventive maintenance. English audio, French subtitles.","breadcrumb":{"@id":"https:\/\/zenithsoftware.ca\/video-series\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zenithsoftware.ca\/video-series\/"]}]},{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/zenithsoftware.ca\/video-series\/#primaryimage","url":"https:\/\/zenithsoftware.ca\/wp-content\/uploads\/2026\/10\/zenith-series-01-zenith-editions-cover.jpg","contentUrl":"https:\/\/zenithsoftware.ca\/wp-content\/uploads\/2026\/10\/zenith-series-01-zenith-editions-cover.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/zenithsoftware.ca\/video-series\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zenithsoftware.ca\/"},{"@type":"ListItem","position":2,"name":"Zenith video series"}]},{"@type":"WebSite","@id":"https:\/\/zenithsoftware.ca\/#website","url":"https:\/\/zenithsoftware.ca\/","name":"Zenith Software","description":"CMMS and CAFM Software","publisher":{"@id":"https:\/\/zenithsoftware.ca\/#organization"},"alternateName":"Zenith","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zenithsoftware.ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/zenithsoftware.ca\/#organization","name":"Zenith Software Corp","alternateName":"Evolve FM","url":"https:\/\/zenithsoftware.ca\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/zenithsoftware.ca\/#\/schema\/logo\/image\/","url":"https:\/\/zenithsoftware.ca\/wp-content\/uploads\/2024\/09\/E-light.png","contentUrl":"https:\/\/zenithsoftware.ca\/wp-content\/uploads\/2024\/09\/E-light.png","width":96,"height":96,"caption":"Zenith Software Corp"},"image":{"@id":"https:\/\/zenithsoftware.ca\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/zenith-software-corp\/"]}]}},"_links":{"self":[{"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/pages\/259614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/comments?post=259614"}],"version-history":[{"count":1,"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/pages\/259614\/revisions"}],"predecessor-version":[{"id":259615,"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/pages\/259614\/revisions\/259615"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/media\/259563"}],"wp:attachment":[{"href":"https:\/\/zenithsoftware.ca\/fr\/wp-json\/wp\/v2\/media?parent=259614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}