PageSourceSearch

https://omicall.com/tinh-nang/crm/

html omicall.com collected 2026-10-04 04:16:12 UTC 175,324 bytes, 2,665 lines download raw bytes

1<!DOCTYPE html>
2<html lang="vi">
3<head>
4<meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0">
5<title>Quản lý khách hàng (CRM) – Tính năng OMICall</title>
6<meta name="description" content="Tính năng CRM – Quản lý khách hàng của OMICall: gom khách từ nhập tay/Excel/đa kênh/tổng đài, sales pipeline real-time, lịch sử tương tác đầy đủ, check trùng SĐT, tuỳ chỉnh thuộc tính.">
7<link rel="preconnect" href="https://fonts.googleapis.com">
8<link href="https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
9<style>
10*{box-sizing:border-box;margin:0;padding:0;-webkit-hyphens:none!important;hyphens:none!important}
11:root{--blue:#00B1FF;--green:#56cc6e;--bd:#0080c0;--bl:#e6f7fe;--gl:#eef7dc;--tx:#1e3150;--mu:#6b7280;--li:#9ca3af;--bg:#fff;--sf:#f8fafc;--mi:#f1f5f9;--br:#e5eaf0;--sh:0 4px 24px rgba(0,0,0,.06);--tk:#0369a1;--tkbg:#dbeafe;--tkbr:#7dd3fc;--tk2:#0891b2}
12body{font-family:'Be Vietnam Pro',sans-serif;color:var(--tx);background:var(--bg);line-height:1.7;font-size:16px;position:relative}
13button,input,select,textarea{font-family:inherit;color:inherit}
14body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
15  background:radial-gradient(ellipse 70% 50% at 85% 10%,rgba(3,105,161,.06) 0%,transparent 60%),
16    radial-gradient(ellipse 55% 45% at 10% 85%,rgba(8,145,178,.05) 0%,transparent 60%),
17    #fafcff}
18a{text-decoration:none;color:inherit}
19.wrap{max-width:1180px;margin:0 auto;padding:0 2rem}
20
21/* ========== HEADER ========== */
22header{position:sticky;top:0;z-index:100;background:rgba(250,252,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--br)}
23.hdr{display:flex;align-items:center;justify-content:space-between;height:72px;max-width:1280px;margin:0 auto;padding:0 2rem;white-space:nowrap;gap:1.5rem}
24.logo{font-size:1.8rem;font-weight:800;letter-spacing:-.5px;line-height:1}
25.logo .b{color:var(--blue)}.logo .g{color:var(--green)}
26header nav{display:flex;gap:.75rem;
26align-items:center;white-space:nowrap}
27header nav a{font-size:.72rem;font-weight:600;color:var(--mu);transition:color .2s;white-space:nowrap;text-transform:uppercase;letter-spacing:.2px}
28header nav a:hover{color:var(--blue)}
29header nav a.active{color:var(--blue)}
30.nav-dropdown{position:relative;display:flex;align-items:center}
31.nav-dd-trigger{display:flex;align-items:center;gap:3px;cursor:pointer;font-size:.72rem;font-weight:600;color:var(--mu);text-decoration:none;text-transform:uppercase;letter-spacing:.2px;transition:color .2s;white-space:nowrap}
32.nav-dd-trigger:hover{color:var(--blue)}
33.nav-dd-trigger.active{color:var(--blue)}
34.nav-dd-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid rgba(0,177,255,.15);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.12);padding:.75rem;min-width:260px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transform:translateX(-50%) translateY(-6px);z-index:200}
35.nav-dd-menu::after{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
36.nav-dropdown:hover .nav-dd-menu,.nav-dd-menu:hover{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
37.nav-dd-menu::before{content:'';position:absolute;top:-6px;left:50%;width:10px;height:10px;background:#fff;border-left:1px solid rgba(0,177,255,.15);border-top:1px solid rgba(0,177,255,.15);transform:translateX(-50%) rotate(45deg)}
38.nav-dd-label{font-size:.62rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--mu);padding:.25rem .5rem .5rem;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:.375rem}
39.nav-dd-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:8px;font-size:.78rem;font-weight:500;color:var(--tx);text-decoration:none;transition:all .15s;white-space:nowrap}
40.nav-dd-item:hover{background:rgba(0,177,255,.07);color:var(--blue)}
41.nav-dd-item{justify-content:space-between}
42.nav-dd-badge{font-size:.56rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:6px;flex-shrink:0;white-space:nowrap;line-height:1.2}
43.nav-dd-badge.unique{background:#00B1FF;color:#fff}
44.nav-dd-badge.competitive{background:#56cc6e;color:#fff}
45.nav-dd-badge.featured{background:linear-gradient(135deg,#00B1FF,#56cc6e);color:#fff;box-shadow:0 2px 6px rgba(0,177,255,.3)}
46.mnv-sub-badge{display:inline-block;font-size:.56rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:6px;margin-left:.5rem;line-height:1.2;vertical-align:middle}
47.mnv-sub-badge.unique{background:#00B1FF;color:#fff}
48.mnv-sub-badge.competitive{background:#56cc6e;color:#fff}
49.mnv-sub-badge.featured{background:linear-gradient(135deg,#00B1FF,#56cc6e);color:#fff}
50
51.nav-dd-item.active{background:rgba(0,177,255,.1);color:var(--bd);font-weight:700}
52.hdr-group{display:flex;align-items:center;gap:.75rem}
53.hdr-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
54.hdr-login{font-size:.72rem;font-weight:600;color:var(--tx);text-decoration:none;padding:.35rem .875rem;border-radius:7px;border:1px solid rgba(0,0,0,.15);transition:all .2s}
55.hdr-login:hover{border-color:var(--blue);color:var(--blue)}
56.hdr-register{font-size:.72rem;font-weight:700;color:#fff;text-decoration:none;padding:.35rem .875rem;border-radius:7px;background:var(--blue);transition:all .2s}
57.hdr-register:hover{opacity:.88}
58
59/* ========== HERO ========== */
60.tk-hero{padding:70px 0 50px;position:relative;overflow:hidden}
61.tk-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
62.tk-hero-left{min-width:0}
63.tk-crumb{font-size:.78rem;color:var(--mu);margin-bottom:1.25rem;display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}
64.tk-crumb a{color:var(--mu);transition:color .2s}
65.tk-crumb a:hover{color:var(--blue)}
66.tk-crumb .sep{color:var(--li)}
67.tk-crumb .cur{color:var(--tx);font-weight:600}
68.tk-hero-tag{display:inline-flex;align-items:center;gap:.4rem;padding:5px 14px;background:var(--tkbg);color:var(--tk);border:1px solid var(--tkbr);border-radius:100px;font-size:.7rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;margin-bottom:1rem}
69.tk-hero-tag svg{width:12px;height:12px}
70.tk-hero h1{font-size:3rem;font-weight:900;letter-spacing:-1.2px;line-height:1.2;margin-bottom:1rem;color:var(--tx)}
71.tk-hero h1 .hl{display:inline-block;padding:.05em 0;line-height:inherit}
72.tk-hero h1 .hl{background:linear-gradient(135deg,#0369a1,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}
73.tk-hero-lead{font-size:1.1rem;color:var(--mu);line-height:1.65;margin-bottom:1.75rem;max-width:540px}
74.tk-hero-ctas{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.75rem}
75.tk-btn{padding:.85rem 1.5rem;border-radius:11px;font-size:.88rem;font-weight:800;border:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:.4rem;transition:all .25s;text-decoration:none}
76.tk-btn.p{background:linear-gradient(135deg,#0369a1,#0891b2);color:#fff;box-shadow:0 8px 20px rgba(3,105,161,.3)}
77.tk-btn.p:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(3,105,161,.4)}
78.tk-btn.o{background:#fff;color:var(--tx);border:1.5px solid var(--br)}
79.tk-btn.o:hover{border-color:var(--tk);color:var(--tk)}
80.tk-hero-stats{display:flex;gap:2.5rem;padding-top:1.5rem;border-top:1px dashed var(--br)}
81.tk-hero-stat-num{font-size:1.5rem;font-weight:900;color:var(--tk);letter-spacing:-.5px;line-height:1.1}
82.tk-hero-stat-lbl{font-size:.72rem;color:var(--mu);font-weight:600;margin-top:.125rem}
83.tk-hero-visual{position:relative}
84.tk-hero-placeholder{aspect-ratio:4/3;border-radius:22px;background:linear-gradient(135deg,#f0f9ff,var(--tkbg));border:2px dashed var(--tkbr);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.875rem;position:relative;overflow:hidden}
85.tk-hero-placeholder::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0,transparent 20px,rgba(3,105,161,.04) 20px,rgba(3,105,161,.04) 21px);pointer-events:none}
86.tk-hero-placeholder-ic{width:68px;height:68px;border-radius:18px;background:var(--tk);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px rgba(3,105,161,.35);position:relative}
87.tk-hero-placeholder-ic svg{width:34px;height:34px}
88.tk-hero-placeholder-t{font-size:.95rem;font-weight:800;color:var(--tk);letter-spacing:.2px;position:relative;text-align:center}
89.tk-hero-placeholder-d{font-size:.78rem;color:var(--mu);text-align:center;line-height:1.5;position:relative;max-width:320px}
90.tk-hero-placeholder-size{display:inline-flex;align-items:center;gap:.375rem;font-size:.7rem;color:var(--mu);background:#fff;padding:4px 10px;border-radius:100px;border:1px solid var(--tkbr);font-weight:700;position:relative;margin-top:.25rem}
91
92/* ========== FEATURE ROW ========== */
93.tk-feat{padding:50px 0;position:relative}
94.tk-feat:nth-of-type(even){background:linear-gradient(180deg,transparent,rgba(3,105,161,.03))}
95.tk-feat-in{display:grid;grid-template-columns:1fr 1.15fr;gap:3.5rem;align-items:center}
96.tk-feat:nth-of-type(odd) .tk-feat-in{grid-template-columns:1.15fr 1fr}
97.tk-feat:nth-of-type(odd) .tk-feat-body{order:2}
98.tk-feat:nth-of-type(odd) .tk-feat-visual{order:1}
99.tk-feat-body{min-width:0}
100.tk-feat-num{display:inline-flex;align-items:center;gap:.5rem;padding:4px 12px;background:var(--tkbg);color:var(--tk);border-radius:100px;font-size:.7rem;font-weight:900;letter-spacing:.4px;text-transform:uppercase;margin-bottom:1rem;border:1px solid var(--tkbr)}
101.tk-feat-num-badge{display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--tk);color:#fff;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;margin-left:-4px}
102.tk-feat-body h2{font-size:1.85rem;font-weight:900;letter-spacing:-.6px;line-height:1.2;margin-bottom:.75rem;color:var(--tx)}
103.tk-feat-body h2 .hl{color:var(--tk)}
104.tk-feat-body > p{font-size:1rem;color:var(--mu);line-height:1.7;margin-bottom:1.25rem}
105.tk-feat-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.25rem}
106.tk-feat-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.55;color:var(--tx)}
107.tk-feat-list li svg{width:16px;height:16px;color:#22c55e;flex-shrink:0;margin-top:2.5px}
108.tk-feat-list li b{font-weight:800}
109.tk-feat-tags{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.75rem}
110.tk-feat-tag{display:inline-flex;align-items:center;gap:.25rem;padding:3px 10px;background:#fff;border:1px solid var(--br);border-radius:100px;font-size:.72rem;font-weight:700;color:var(--mu)}
111.tk-feat-tag.hot{background:var(--tkbg);border-color:var(--tkbr);color:var(--tk)}
112
113/* Visual (image placeholder) */
114.tk-feat-visual{position:relative}
115.tk-ph{aspect-ratio:4/3;border-radius:20px;background:linear-gradient(135deg,#fff,#f0f9ff);border:2px dashed #7dd3fc;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.75rem;position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(3,105,161,.08)}
116.tk-ph::before{content:'';position:absolute;top:-50%;right:-30%;width:60%;height:160%;background:radial-gradient(circle,rgba(3,105,161,.08),transparent 60%);pointer-events:none}
117.tk-ph-ic{width:58px;height:58px;border-radius:15px;background:#fff;border:1.5px solid var(--tkbr);color:var(--tk);
117display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(3,105,161,.12);position:relative}
118.tk-ph-ic svg{width:28px;height:28px}
119.tk-ph-ttl{font-size:.88rem;font-weight:800;color:var(--tk);letter-spacing:.1px;text-align:center;position:relative}
120.tk-ph-desc{font-size:.75rem;color:var(--mu);text-align:center;line-height:1.5;position:relative;max-width:300px}
121.tk-ph-meta{display:inline-flex;align-items:center;gap:.375rem;font-size:.68rem;color:var(--tk);background:#fff;padding:4px 11px;border-radius:100px;border:1px solid var(--tkbr);font-weight:700;position:relative;font-family:'SF Mono',Monaco,Consolas,monospace}
122.tk-ph-meta svg{width:11px;height:11px}
123.tk-ph-dim{font-size:.62rem;color:var(--li);font-weight:600;position:relative;letter-spacing:.3px}
124
125/* Optional overlay for visual to add a "chip label" indicating what goes in */
126.tk-ph-chip{position:absolute;top:14px;left:14px;padding:4px 10px;background:var(--tk);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;border-radius:7px;z-index:2}
127
128/* ========== BENEFITS STRIP ========== */
129.tk-bene{padding:64px 0;margin:30px 0;background:linear-gradient(135deg,var(--tkbg),#f8fafc);border-top:1px solid var(--tkbr);border-bottom:1px solid var(--tkbr)}
130.tk-bene-head{text-align:center;margin-bottom:2.5rem;max-width:680px;margin-left:auto;margin-right:auto}
131.tk-bene-head h2{font-size:1.8rem;font-weight:900;letter-spacing:-.6px;line-height:1.25;margin-bottom:.6rem;color:var(--tx)}
132.tk-bene-head p{font-size:.95rem;color:var(--mu);line-height:1.6}
133.tk-bene-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
134.tk-bene-card{background:#fff;border:1px solid rgba(10,15,30,.06);border-radius:18px;padding:1.75rem;display:flex;flex-direction:column;gap:1rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s;position:relative;overflow:hidden}
135.tk-bene-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -16px rgba(3,105,161,.18);border-color:rgba(var(--tk-rgb,190,24,93),.22)}
136.tk-bene-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
137.tk-bene-ic{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--tkbg),var(--tkbr));color:var(--tk);display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
138.tk-bene-ic svg{width:22px;height:22px}
139.tk-bene-metric{text-align:right;line-height:1}
140.tk-bene-metric .num{font-size:1.7rem;font-weight:900;color:var(--green);letter-spacing:-.04em;display:block}
141.tk-bene-metric .lbl{font-size:.66rem;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.08em;margin-top:5px;display:block}
142.tk-bene-title{font-size:1.05rem;font-weight:800;color:var(--tx);letter-spacing:-.2px;line-height:1.35;margin:0}
143.tk-bene-desc{font-size:.86rem;color:var(--mu);line-height:1.65;margin:0}
144.tk-bene-desc b{color:var(--tx);font-weight:700}
145.tk-bene-lbl{font-size:.82rem;font-weight:700;color:var(--tx);margin-bottom:.25rem}
146.tk-bene-sub{font-size:.72rem;color:var(--mu);line-height:1.5}
147
148/* ========== CTA ========== */
149.tk-cta{padding:60px 0}
150.tk-cta-box{max-width:960px;margin:0 auto;background:linear-gradient(135deg,#0369a1 0%,#075985 40%,#0891b2 100%);border-radius:24px;padding:3rem 2.5rem;color:#fff;display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(3,105,161,.3)}
151.tk-cta-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 10% 20%,rgba(255,255,255,.15),transparent 60%),radial-gradient(ellipse 50% 40% at 90% 80%,rgba(255,255,255,.1),transparent 60%);pointer-events:none}
152.tk-cta-in{position:relative;z-index:2}
153.tk-cta-mini{display:inline-block;background:rgba(255,255,255,.2);padding:4px 14px;border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.875rem;border:1px solid rgba(255,255,255,.25)}
154.tk-cta-box h2{font-size:1.75rem;font-weight:900;letter-spacing:-.4px;margin-bottom:.5rem;line-height:1.25;color:#fff}
155.tk-cta-box p{font-size:.95rem;color:rgba(255,255,255,.88);line-height:1.6}
156.tk-cta-actions{display:flex;flex-direction:column;gap:.625rem;position:relative;z-index:2}
157.tk-cta-btn{padding:.95rem 1.5rem;border-radius:12px;font-size:.9rem;font-weight:800;border:none;cursor:pointer;transition:all .25s;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-align:center;text-decoration:none}
158.tk-cta-btn.p{background:#fff;color:var(--tk);box-shadow:0 8px 20px rgba(0,0,0,.2)}
159.tk-cta-btn.p:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.28)}
160.tk-cta-btn.o{background:rgba(255,255,255,.15);color:#fff;border:1.5px solid rgba(255,255,255,.4);backdrop-filter:blur(4px)}
161.tk-cta-btn.o:hover{background:rgba(255,255,255,.22);border-color:#fff}
162.tk-cta-note{font-size:.72rem;color:rgba(255,255,255,.75);text-align:center;margin-top:.25rem;display:flex;align-items:center;justify-content:center;gap:.375rem}
163.tk-cta-note svg{width:13px;height:13px;flex-shrink:0}
164
165/* ========== FOOTER ========== */
166footer{background:linear-gradient(180deg,#f8fcff,#eef6fb);padding:60px 0 28px;border-top:1px solid var(--br)}
167.fgrid2{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem;align-items:start}
168.fdesc2{font-size:.84rem;line-height:1.55;color:var(--mu);max-width:34ch;margin-top:.75rem}
169.fhd{font-size:.82rem;font-weight:800;color:var(--tx);margin-bottom:.875rem;letter-spacing:.3px}
170.flinks{list-style:none;display:flex;flex-direction:column;gap:.7rem}
171.flinks a{font-size:.82rem;color:var(--mu);transition:color .2s}
172.flinks a:hover{color:var(--blue)}
173.fbot{border-top:1px solid var(--br);padding-top:1.5rem;display:flex;justify-content:center;align-items:center;text-align:center;font-size:.78rem;color:var(--li)}
174.fbrand-line{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.72rem;color:var(--mu);font-weight:600;background:#fff;padding:4px 12px;border-radius:100px;border:1px solid var(--br)}
175.fbrand-line::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue)}
176.faddr{margin-top:1rem;display:flex;flex-direction:column;gap:.875rem}
177.faddr-item{font-size:.78rem;line-height:1.6}
178.faddr-lbl{display:inline-block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;background:rgba(0,177,255,.1);color:var(--bd);padding:2px 8px;border-radius:4px}
179.faddr-txt{color:var(--mu);display:block}
180.fcontact{list-style:none;display:flex;flex-direction:column;gap:1rem}
181.fcontact li{display:flex;flex-direction:column;gap:2px}
182.fc-lbl{font-size:.65rem;color:var(--li);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
183.fc-val{font-size:.88rem;font-weight:700;color:var(--tx)}
184.fc-sub{font-size:.7rem;color:var(--li);margin-top:1px}
185.fsocial-wrap{margin-top:1.25rem;padding-top:1rem;border-top:1px dashed var(--br)}
186.fsocial-lbl{font-size:.65rem;color:var(--li);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.625rem}
187.fsocial{display:grid;grid-template-columns:repeat(4,36px);gap:.5rem;justify-content:start}
188.fsocial-ic{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--br);display:flex;align-items:center;justify-content:center;color:var(--mu);transition:all .2s;text-decoration:none}
189.fsocial-ic svg{width:16px;height:16px}
190.fsocial-ic:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
191.fsocial-ic.we:hover{color:var(--blue);border-color:var(--blue)}
192.fsocial-ic.fb:hover{color:#1877f2;border-color:#1877f2}
193.fsocial-ic.li:hover{color:#0a66c2;border-color:#0a66c2}
194.fsocial-ic.yt:hover{color:#ff0000;border-color:#ff0000}
195.fsocial-ic.tk:hover{color:#000;border-color:#000;background:#fafafa}
196.fsocial-ic.za{font-weight:900;font-size:.6rem;letter-spacing:-.3px}
197.fsocial-ic.za:hover{color:#0068ff;border-color:#0068ff;background:#e6f0ff}.fsocial-ic.wa:hover{color:#25D366;border-color:#25D366}
198
199/* ========== POPUP FORM ========== */
200.omif-overlay{position:fixed;inset:0;background:rgba(12,25,40,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9999;display:none;align-items:center;justify-content:center;padding:1rem;opacity:0;transition:opacity .25s}
201.omif-overlay.open{display:flex;opacity:1}
202.omif-modal{background:#fff;border-radius:20px;width:100%;max-width:540px;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translateY(30px) scale(.96);transition:transform .35s cubic-bezier(.2,.9,.3,1.15);font-family:'Be Vietnam Pro',sans-serif}
203.omif-overlay.open .omif-modal{transform:translateY(0) scale(1)}
204.omif-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:18px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:all .2s;font-family:inherit;line-height:1;padding:0}
205.omif-close:hover{background:rgba(255,255,255,.35);transform:rotate(90deg)}
206.omif-hero{padding:2rem 1.75rem 1.5rem;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,#0369a1 0%,#075985 40%,#0891b2 80%,#6b21a8 100%)}
207.omif-hero::before{content:'';position:absolute;top:-40%;right:-20%;width:70%;height:180%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%);pointer-events:none}
208.omif-hero::after{content:'';position:absolute;bottom:-30%;left:-10%;width:50%;height:120%;background:radial-gradient(circle,rgba(86,204,110,.2),transparent 60%);pointer-events:none}
209.omif-hero-in{position:relative;z-index:1}
210.omif-hero-tag{display:inline-block;background:rgba(255,255,255,.2);padding:4px 12px;border-radius:100px;font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.875rem;border:1px solid rgba(255,255,255,.25)}
211.omif-hero h3{font-size:1.5rem;font-weight:900;letter-spacing:-.4px;margin-bottom:.375rem;line-height:1.25;color:#fff}
212.omif-hero p{font-size:.88rem;color:rgba(255,255,255,.85);line-height:1.5}
213.omif-form{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:.875rem}
214.omif-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
215.omif-form label{display:flex;flex-direction:column;gap:.375rem}
216.omif-form label>span{font-size:.75rem;font-weight:700;color:var(--tx);letter-spacing:.2px}
217.omif-form label>span .req{color:#ef4444;margin-left:2px}
218.omif-form input[type=text],.omif-form input[type=tel],.omif-form input[type=email],.omif-form textarea{padding:.7rem .875rem;border:1px solid var(--br);border-radius:10px;font-size:.9rem;font-family:inherit;color:var(--tx);background:var(--sf);transition:all .2s;width:100%;resize:vertical}
219.omif-form input:focus,.omif-form textarea:focus{outline:none;border-color:var(--tk);background:#fff;box-shadow:0 0 0 3px rgba(3,105,161,.12)}
220.omif-form textarea{min-height:72px;line-height:1.5}
221.omif-region{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
222.omif-chip{position:relative;cursor:pointer;margin:0}
223.omif-chip input[type=radio]{position:absolute;opacity:0;pointer-events:none}
224.omif-chip>span{display:block;padding:.55rem .5rem;border:1.5px solid var(--br);border-radius:10px;font-size:.82rem;font-weight:600;color:var(--mu);text-align:center;background:var(--sf);transition:all .15s}
225.omif-chip:hover>span{border-color:var(--tk);color:var(--tk)}
226.omif-chip input:checked+span{background:var(--tkbg);border-color:var(--tk);color:var(--tk);font-weight:800;box-shadow:0 2px 8px rgba(3,105,161,.18)}
227.omif-submit{margin-top:.5rem;padding:.95rem 1.5rem;border:none;border-radius:12px;font-size:.95rem;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#0369a1,#0891b2);box-shadow:0 8px 24px rgba(3,105,161,.3);transition:all .25s;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}
228.omif-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(3,105,161,.4)}
229.omif-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
230.omif-msg{margin-top:.25rem;font-size:.82rem;text-align:center;padding:.5rem .75rem;border-radius:8px;display:none;line-height:1.5}
231.omif-msg.ok{display:block;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
232.omif-msg.err{display:block;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
233.omif-trust{margin-top:.25rem;font-size:.72rem;color:var(--li);text-align:center;line-height:1.5}
234body.omif-locked{overflow:hidden}
235
236/* ========== MOBILE MENU ========== */
237.mnv-toggle{display:none;background:none;border:none;padding:8px;
237cursor:pointer;margin-left:auto;font-family:inherit;color:var(--tx);border-radius:8px;transition:background .2s}
238.mnv-toggle:hover{background:rgba(0,0,0,.05)}
239.mnv-toggle svg{width:24px;height:24px;display:block}
240.mnv-overlay{position:fixed;inset:0;background:rgba(12,25,40,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9998;display:none;opacity:0;transition:opacity .25s}
241.mnv-overlay.open{display:block;opacity:1}
242.mnv-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);background:#fff;z-index:9999;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.9,.3,1);box-shadow:-8px 0 40px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}
243.mnv-drawer.open{transform:translateX(0)}
244body.mnv-locked{overflow:hidden}
245.mnv-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--br);background:#fff;flex-shrink:0}
246.mnv-header .logo{font-size:1.4rem}
247.mnv-close{background:none;border:none;padding:6px;cursor:pointer;font-family:inherit;color:var(--mu);border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}
248.mnv-close:hover{background:rgba(0,0,0,.05);color:var(--tx);transform:rotate(90deg)}
249.mnv-close svg{width:22px;height:22px}
250.mnv-body{padding:.5rem 0;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
251.mnv-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;font-size:.95rem;font-weight:600;color:var(--tx);text-decoration:none;transition:background .15s;border-left:3px solid transparent;box-sizing:border-box}
252.mnv-link:hover{background:var(--sf)}
253.mnv-link.active{color:var(--blue);background:var(--bl);border-left-color:var(--blue);font-weight:700}
254.mnv-group{box-sizing:border-box}
255.mnv-group-title{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;font-size:.95rem;font-weight:600;color:var(--tx);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid transparent;box-sizing:border-box;transition:background .15s}
256.mnv-group-title:hover{background:var(--sf)}
257.mnv-group-title::after{content:'';width:9px;height:9px;border-right:2px solid var(--mu);border-bottom:2px solid var(--mu);transform:rotate(45deg);transition:transform .25s;margin-top:-3px;flex-shrink:0}
258.mnv-group.open .mnv-group-title{background:var(--sf)}
259.mnv-group.open .mnv-group-title::after{transform:rotate(-135deg);margin-top:2px}
260.mnv-group-items{max-height:0;overflow:hidden;transition:max-height .3s ease;background:#fafbfc}
261.mnv-group.open .mnv-group-items{max-height:700px}
262.mnv-sub{display:block;padding:.7rem 1.25rem .7rem 2.5rem;font-size:.88rem;color:var(--mu);text-decoration:none;transition:all .15s;border-left:3px solid transparent;box-sizing:border-box;position:relative}
263.mnv-sub::before{content:'';position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--li)}
264.mnv-sub:hover{background:#fff;color:var(--blue)}
265.mnv-sub:hover::before{background:var(--blue)}
266.mnv-sub.active{color:var(--blue);font-weight:700;background:#fff;border-left-color:var(--blue)}
267.mnv-sub.active::before{background:var(--blue)}
268.mnv-cta{padding:1rem 1.25rem;border-top:1px solid var(--br);display:flex;gap:.625rem;background:#fff;flex-shrink:0}
269.mnv-cta a{flex:1;padding:.8rem 1rem;border-radius:10px;font-size:.85rem;font-weight:700;text-align:center;text-decoration:none;transition:all .2s;box-sizing:border-box}
270.mnv-cta .login{color:var(--tx);border:1.5px solid var(--br);background:#fff}
271.mnv-cta .login:hover{border-color:var(--blue);color:var(--blue)}
272.mnv-cta .register{color:#fff;background:var(--blue);border:1.5px solid var(--blue)}
273.mnv-cta .register:hover{opacity:.88}
274
275/* ========== RESPONSIVE ========== */
276@media(max-width:1024px){
277  .tk-hero-grid{grid-template-columns:1fr;gap:2rem}
278  .tk-feat-in,.tk-feat:nth-of-type(odd) .tk-feat-in{grid-template-columns:1fr;gap:2rem}
279  .tk-feat:nth-of-type(odd) .tk-feat-body,.tk-feat:nth-of-type(odd) .tk-feat-visual{order:unset}
280  .tk-bene-grid{grid-template-columns:repeat(2,1fr)}
281  .tk-cta-box{grid-template-columns:1fr;gap:1.75rem}
282}
283@media(max-width:960px){
284  .hdr nav,.hdr-right{display:none}
285  .hdr-group{margin-left:auto}
286  .mnv-toggle{display:flex;align-items:center;justify-content:center}
287  .tk-hero h1{font-size:2.2rem}
288  .fgrid2{grid-template-columns:1fr 1fr;gap:2rem}
289}
290@media(max-width:640px){
291  .tk-hero h1{font-size:1.85rem;letter-spacing:-.8px}
292  .tk-hero-lead{font-size:1rem}
293  .tk-feat-body h2{font-size:1.5rem}
294  .hdr{padding:0 1rem;height:60px}
295  .wrap{padding:0 1.25rem}
296  .fgrid2{grid-template-columns:1fr;gap:1.5rem}
297  .fbot{flex-direction:column;gap:.5rem;text-align:center}
298  .tk-hero-stats{gap:1.5rem}
299  .tk-bene-grid{grid-template-columns:1fr}
300  .tk-cta-box{padding:2rem 1.5rem}
301  .omif-modal{max-height:94vh;border-radius:16px}
302  .omif-hero{padding:1.75rem 1.25rem 1.25rem}
303  .omif-hero h3{font-size:1.3rem}
304  .omif-form{padding:1.25rem 1.25rem 1.5rem;gap:.75rem}
305  .omif-row,.omif-region{grid-template-columns:1fr}
306}
306
307</style>
308<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
309<script id="omi-utm-normalize">
310(function(){try{
311  var p=new URLSearchParams(location.search);
312  var coStd=false; p.forEach(function(v,k){ if(/^utm_/i.test(k)) coStd=true; });
313  if(!coStd){
314    var g=p.get('utm')||p.get('source')||p.get('ref')||p.get('src');
315    if(g){ p.set('utm_source', g);
316      history.replaceState(null,'', location.pathname + '?' + p.toString() + location.hash); }
317  }
318  /* Lưu UTM LẦN CHẠM ĐẦU của phiên để form gửi kèm đúng nguồn dù người dùng đã
319     chuyển sang trang khác (mất tham số trên URL). First-touch: chỉ ghi nếu chưa có. */
320  var keys=['utm_source','utm_medium','utm_campaign','utm_term','utm_content','utm_id','gclid','fbclid'];
321  var cur={}, has=false;
322  keys.forEach(function(k){ var v=p.get(k); if(v){ cur[k]=v; has=true; } });
323  if(has && !sessionStorage.getItem('omi_utm')){ sessionStorage.setItem('omi_utm', JSON.stringify(cur)); }
324}catch(e){}})();
325</script>
325
326<link rel='dns-prefetch' href='//fonts.googleapis.com' />
327<link rel="alternate" type="application/rss+xml" title="Dòng thông tin OMICall &raquo;" href="https://omicall.com/feed/" />
328<link rel="alternate" type="application/rss+xml" title="OMICall &raquo; Dòng bình luận" href="https://omicall.com/comments/feed/" />
329<!-- Google Ads AW-778631136 -->
vendor: 64 bytes, lines 329-330
329
330<script async src="https://www.googletagmanager.com/gtag/js?id=
330AW-778631136
vendor: 12 bytes, line 330
330"></script>
331<script>
332window.dataLayer = window.dataLayer || [];
333window.omiAdsGtag = function(){ window.dataLayer.push(arguments); };
334window.omiAdsGtag('js', new Date());
335window.omiAdsGtag('config', 'AW-778631136');
336</script>
336
337<!-- End Google Ads -->
338<link rel="alternate" type="application/rss+xml" title="OMICall &raquo; crm Dòng bình luận" href="https://omicall.com/feed/?attachment_id=1215" />
339<!-- Meta Pixel Code -->
340<script>
vendor: 399 bytes, lines 340-349
340
341!function(f,b,e,v,n,t,s)
342{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
343n.callMethod.apply(n,arguments):n.queue.push(arguments)};
344if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
345n.queue=[];t=b.createElement(e);t.async=!0;
346t.src=v;s=b.getElementsByTagName(e)[0];
347s.parentNode.insertBefore(t,s)}(window, document,'script',
348'https://connect.facebook.net/en_US/fbevents.js');
349fbq('init', '
3491825358274826282
vendor: 30 bytes, lines 349-350
349');
350fbq('track', 'PageView');
351</script>
351
352<noscript><img height="1" width="1" style="display:none"
353src="https://www.facebook.com/tr?id=1825358274826282&ev=PageView&noscript=1"
354/></noscript>
355<!-- End Meta Pixel Code -->
356<link rel="alternate" title="oNhúng (JSON)" type="application/json+oembed" href="https://omicall.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fomicall.com%2Fcrm%2F" />
357<link rel="alternate" title="oNhúng (XML)" type="text/xml+oembed" href="https://omicall.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fomicall.com%2Fcrm%2F&#038;format=xml" />
358<link rel='stylesheet' id='omicom-font-css' href='https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700;800;900&#038;display=swap' media='all' />
359<link rel='stylesheet' id='omicom-base-css' href='https://omicall.com/wp-content/mu-plugins/omicall-2026/style.css?ver=2026.09.04.2' media='all' />
360<link rel="https://api.w.org/" href="https://omicall.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://omicall.com/wp-json/wp/v2/media/1215" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://omicall.com/xmlrpc.php?rsd" />
361<meta name="generator" content="WordPress 7.1.2" />
362<link rel='shortlink' href='https://omicall.com/?p=1215' />
363<!-- HFCM by 99 Robots - Snippet # 3: APP cá»§a OMI -->
364<meta name="google-site-verification" content="pptYaWnO9GGfxXAhnYclspp-nXR8kU-SiXxia1WXuTY" />
365<!-- /end HFCM by 99 Robots -->
366<!-- HFCM by 99 Robots - Snippet # 5: Popup Ladipage 1 -->
367<script src="https://w.ladicdn.com/popupx/sdk.js" id="622f18c9fe570c002c648a8b" async></script>
367
368<!-- /end HFCM by 99 Robots -->
369<!-- HFCM by 99 Robots - Snippet # 6: Google Tag Manager -->
370<!-- Google Tag Manager -->
371<script>
vendor: 331 bytes, lines 371-375
371(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
372new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
373j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
374'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
375})(window,document,'script','dataLayer','
375GTM-MWPHSFHG
vendor: 3 bytes, line 375
375');
375</script>
375
376<!-- End Google Tag Manager -->
377<!-- /end HFCM by 99 Robots -->
378<meta name="og:url" content="https://omicall.com/crm/" /><!-- Google tag: GA4 + Google Ads -->
vendor: 64 bytes, lines 378-379
378
379<script async src="https://www.googletagmanager.com/gtag/js?id=
379G-YLVXFDS32W
vendor: 12 bytes, line 379
379"></script>
380<script>
vendor: 127 bytes, lines 381-384
381window.dataLayer = window.dataLayer || [];
382function gtag(){dataLayer.push(arguments);}
383gtag('js', new Date());
384gtag('config', '
384G-YLVXFDS32W
vendor: 4 bytes, line 384
384');
385gtag('config', 'AW-778631136');
386document.addEventListener('wpcf7mailsent', function (e) {
387  gtag('event', 'conversion', {'send_to': 'AW-778631136/sH3pCKeh8uYcEODvo_MC', 'value': 1.0, 'currency': 'VND'});
388  var fid = e.detail ? e.detail.contactFormId : undefined;
389  gtag('event', 'generate_lead', {'method': 'cf7', 'form_id': fid});
390});
391document.addEventListener('click', function (e) {
392  var a = e.target.closest ? e.target.closest('a[href*="sso.omicrm.io/register"], a[href*="sso.omicall.com/widget/register"]') : null;
393  if (a) { gtag('event', 'click_dung_thu', {'link_url': a.href}); }
394});
395</script>
395
396<!-- End Google tag -->
397        
397<script>
398                    </script>
398
399    <style type="text/css">
400            .bg-gradient,
401            .bg-hover-gradient:hover,
402            .author-widget_wrapper,
403            .service-box .number-box,
404            .service-box .overlay,
405            .icon-box.s1 .icon-main, .icon-box.s4 .icon-main,
406            .icon-box.s3 .icon-main,
407            .icon-box.s3 .bg-s3,
408            .icon-box-grid,
409            .process-box .number-box,
410            .ot-testimonials .testimonial-wrap .bg-block,
411            .projects-box .portfolio-info .portfolio-info-inner{ 
412                background-color: #0160e7;
413                background-image:-moz-linear-gradient(145deg, #0160e7, #00c3ff);
414                background-image:-webkit-linear-gradient(145deg, #0160e7, #00c3ff);
415                background-image:linear-gradient(145deg, #0160e7, #00c3ff); 
416            }
417
418            /**** Main Color ****/
419
420            	/* Background Color */
421                blockquote:before,
422                .bg-primary,
423                .octf-btn,
424                .octf-btn.octf-btn-white i,
425                .octf-btn-primary,
426                .post-box .post-cat a,
427                .blog-post .share-post a,
428                .widget-area .widget .widget-title:before,
429                .search-form .search-submit i,
430                .ot-pricing-table.s3 .title-table,
431                .ot-tabs .tab-link,
432                .ot-counter h6:before,
433                .dc-text.dc-bg-primary .elementor-drop-cap,
434                .mc4wp-form-fields .subscribe-inner-form .subscribe-btn-icon i{ background-color: #76bd1d; }
435    			
436    			/* Color */
437                .text-primary,
438                .octf-btn.octf-btn-white,
439                .octf-btn.octf-btn-white:visited, .octf-btn.octf-btn-white:hover, .octf-btn.octf-btn-white:focus,
440                .octf-btn-icon i,
441                a:hover, a:focus, a:active,
442                .header-topbar a:hover,
443                .header-overlay .header-topbar a:hover,
444                .header_mobile .mobile_nav .mobile_mainmenu li li a:hover,.header_mobile .mobile_nav .mobile_mainmenu ul > li > ul > li.current-menu-ancestor > a,
445                .header_mobile .mobile_nav .mobile_mainmenu > li > a:hover, .header_mobile .mobile_nav .mobile_mainmenu > li.current-menu-item > a,.header_mobile .mobile_nav .mobile_mainmenu > li.current-menu-ancestor > a,
446                .page-header .breadcrumbs li a:hover,
447                .post-box .post-cat a:hover,
448                .post-box .entry-meta a:hover i,
449                .post-box .entry-title a:hover,
450                .blog-post .author-bio .author-info .author-socials a:hover,
451                .drop-cap span,
452                .sl-wrapper .sl-icon svg,
453                .comments-area .comment-item .comment-meta .comment-reply-link:hover,
454                .comment-respond .comment-reply-title small a:hover,
455                .comment-form .logged-in-as a:hover,
456                .icon-box .content-box h5 a:hover,
457                .icon-box.s3:hover h5 a:hover, .icon-box.s3:hover p a:hover,
458                .icon-box-grid .icon-box .content-box h5 a:hover,
459                .ot-pricing-table.s3 h2,
460                .ot-tabs .tab-content ul.has-icon li i,
461                .ot-counter h6,
462                .video-popup a,
463                .dc-text .elementor-drop-cap span{ color: #76bd1d; }
464    			
465    		/**** Second Color ****/
466            
467    		    /* Background Color */
468                .bg-second,
469                .slick-arrow:not(.slick-disabled):hover,
470                .octf-btn-secondary,
471                .octf-btn-secondary.octf-btn-white i,
472                .main-navigation > ul > li:after,.main-navigation > ul > li:before,
473                .main-navigation ul li li a:before,
474                .cart-contents .count,
475                .post-box .btn-play i:hover,
476                .page-pagination li span, .page-pagination li a:hover,
477                .blog-post .tagcloud a:hover,
478                .widget .tagcloud a:hover,
479                .widget-area .widget ul:not(.recent-news) > li a:hover:before,
480                .search-form .search-submit i:hover,
481                .ot-heading.text-light h6:before, .ot-heading.text-light h6:after,
482                .team-wrap .team-social a, .team-wrap .team-social span,
483                .ot-progress .progress-bar,
484                .ot-pricing-table .title-table,
485                .ot-tabs .tab-link.current, .ot-tabs .tab-link:hover,
486                .ot-accordions .acc-item .acc-toggle i,
487                .slider,
488                .video-popup a:hover,
489                .dc-text.dc-bg-second .elementor-drop-cap,
490                div .custom .tp-bullet:after,
491                .grid-lines .line-cleft .g-dot,
492                .grid-lines .line-cright .g-dot,
493                .project_filters li a:after{ background-color: #00c3ff; }        
494
495                /* Color */            
496                .text-second,
497                .slick-arrow,
498                .octf-btn-secondary i,
499                .octf-btn-secondary.octf-btn-white,
500                .octf-btn-secondary.octf-btn-white:visited, .octf-btn-secondary.octf-btn-white:hover, .octf-btn-secondary.octf-btn-white:focus,
501                a,
502                a:visited,
503                .topbar-info li i,
504                .main-navigation ul > li > a:hover,
505                .main-navigation ul li li a:hover,.main-navigation ul ul li.current-menu-item > a,.main-navigation ul ul li.current-menu-ancestor > a,
506                .header-style-1.header-overlay .btn-cta-header a,
507                .post-box .link-box a:hover,
508                .post-box .link-box i,
509                .post-box .quote-box i,
510                .post-box .btn-play i,
511                .widget-area .widget ul:not(.recent-news) > li a:hover,
512                .widget-area .widget ul:not(.recent-news) > li a:hover + span,
513                .widget .recent-news h6 a:hover,
514                .service-box:hover .number-box,
515                .service-box-s2 .number-box,
516                .active .service-box .number-box,
517                .icon-box.s1:hover .icon-main, .icon-box.s4:hover .icon-main,
518                .icon-box.s3:hover .icon-main,
519                .active .icon-box.s1 .icon-main,
520                .active .icon-box.s3 .icon-main,
521                .team-wrap .team-social.active span,
522                .ot-pricing-table .inner-table h2,
523                .ot-accordions .acc-item .acc-toggle:hover,
524                .ot-accordions .acc-item.current .acc-toggle,
525                .slick-dots li.slick-active button:before,
526                .real-numbers > span.active,
527                .real-numbers .chart-boxs .chart-item h2,
528                .dc-text.dc-text-second .elementor-drop-cap span,
529                .projects-style-2 .projects-box .portfolio-info .portfolio-cates,
530                .projects-style-2 .projects-box .portfolio-info .portfolio-cates a,
531                .project_filters li a:hover, .project_filters li a.selected,
532                .ot-countdown li.seperator,
533                #back-to-top{ color: #00c3ff; }
534
535                /* Border Color */
536                .video-popup a:hover span{ border-color: #00c3ff; }
537
538            /**** Third Color ****/
539                
540                /* Background Color */
541                .bg-third,
542                .octf-btn-third,
543                .octf-btn-third.octf-btn-white i,
544                .ot-pricing-table.s2 .title-table,
545                .message-box .icon-main,
546                input:checked + .slider,
547                .dc-text.dc-bg-third .elementor-drop-cap,
548                .grid-lines .g-dot{ background-color: #0160e7; }
549
550                /* Color */
551                .text-third,
552                .octf-btn-third i,
553                .octf-btn-third.octf-btn-white,
554                .octf-btn-third.octf-btn-white:visited, .octf-btn-third.octf-btn-white:hover, .octf-btn-third.octf-btn-white:focus,
555                .post-nav a,
556                .post-nav a:hover span,
557                .icon-box.s2 .icon-main,
558                .icon-box-grid .icon-box:hover .icon-main,
559                .ot-pricing-table.s2 h2,
560                .tab-titles .title-item:hover .icon-main, .tab-titles .title-item.tab-active .icon-main,
561                .real-numbers > span.a-switch.active,
562                .dc-text.dc-text-third .elementor-drop-cap span{ color: #0160e7; }
563
564			</style><meta name="generator" content="Elementor 4.3.3; features: additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-auto">
565			<style>
566				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
567				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
568					background-image: none !important;
569				}
570				@media screen and (max-height: 1024px) {
571					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
572					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
573						background-image: none !important;
574					}
575				}
576				@media screen and (max-height: 640px) {
577					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
578					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
579						background-image: none !important;
580					}
581				}
582			</style>
583			<link rel="icon" href="https://omicall.com/wp-content/uploads/cropped-favicon-502x502-1-32x32.png" sizes="32x32" />
584<link rel="icon" href="https://omicall.com/wp-content/uploads/cropped-favicon-502x502-1-192x192.png" sizes="192x192" />
585<link rel="apple-touch-icon" href="https://omicall.com/wp-content/uploads/cropped-favicon-502x502-1-180x180.png" />
586<meta name="msapplication-TileImage" content="https://omicall.com/wp-content/uploads/cropped-favicon-502x502-1-270x270.png" />
587<style id="omi-menu-visited">
588/* Link ĐÃ BẤM (:visited) trình duyệt bỏ qua màu thừa kế → rơi về xanh mặc định. Ép về
589   màu thiết kế, giữ hover xanh. Đặt ở <head> để không nhấp nháy. Phủ hết 32 trang inline. */
590.nav-dd-item:link, .nav-dd-item:visited { color: #1e3150; }
591.nav-dd-item:hover { color: #00B1FF; }
592nav a:not(.ncta):not(.nav-dd-item):link, nav a:not(.ncta):not(.nav-dd-item):visited { color: #6b7280; }
593nav a:not(.ncta):not(.nav-dd-item):hover { color: #00B1FF; }
594.bg-cat-btn:link, .bg-cat-btn:visited { color: #1e3150; }
595.bg-cat-btn:hover { color: #00B1FF; }
596.bg-cat-btn.active { color: #00B1FF; }
597/* Ẩn mục "Tổng đài giá rẻ" khỏi menu Dịch vụ (anh chốt 18/8) — cả menu desktop lẫn mobile.
598   Trang /dv-tong-dai-gia-re/ vẫn tồn tại, chỉ gỡ khỏi điều hướng. Phủ 33 trang inline. */
599/* Ẩn "Tổng đài giá rẻ" khỏi menu (desktop + mobile). Link bị đính ?utm_... nên PHẢI dùng
600   khớp bắt-đầu-bằng (^=), không dùng khớp chính xác (=) — nếu không sẽ trượt. */
601a[href^="/tong-dai-gia-re/"].nav-dd-item, a[href^="/tong-dai-gia-re/"].mnv-sub,
602.nav-dd-item[href^="/tong-dai-gia-re/"], .mnv-sub[href^="/tong-dai-gia-re/"] { display: none !important; }
603.bg-search input[type="search"] { -webkit-appearance: none; appearance: none; font-family: inherit;
604  /* Theme .vn ép input[type=search] padding:4px/radius:23px → khung tí hon. Lớp chrome.php
605     nạp muộn, ép lại kích thước khung to đúng thiết kế (anh chốt 17/8: khung nhỏ, không phải chữ). */
606  padding: 1.375rem 4.5rem 1.375rem 1.75rem !important;
607  border-radius: 18px !important;
608  font-size: 1.0625rem !important;
609  min-height: 66px !important;
610  box-sizing: border-box !important; }
611/* ===== CẤM TUYỆT ĐỐI đổi màu chữ nút khi tương tác (anh chốt 17/8) =====
612   Nút là thẻ <a>: sau khi bấm (:visited) chữ rơi về xanh mặc định của trình duyệt
613   ("màu xanh đã chọn"). Ép CỨNG màu gốc cho mọi trạng thái, literal + !important
614   (vì :visited bỏ qua var()). color + -webkit-text-fill-color để phủ cả nút clip-text. */
615.frow-cta-btn,.frow-cta-btn:link,.frow-cta-btn:visited,.frow-cta-btn:hover,.frow-cta-btn:focus,.frow-cta-btn:active,
616.btnp,.btnp:link,.btnp:visited,.btnp:hover,.btnp:focus,.btnp:active,
617.ncta,.ncta:link,.ncta:visited,.ncta:hover,.ncta:focus,.ncta:active,
618.tm-cta,.tm-cta:link,.tm-cta:visited,.tm-cta:hover,.tm-cta:focus,.tm-cta:active,
619.hdr-register,.hdr-register:link,.hdr-register:visited,.hdr-register:hover,.hdr-register:focus,.hdr-register:active,
620.register,.register:link,.register:visited,.register:hover,.register:focus,.register:active
621{ color:#fff !important; -webkit-text-fill-color:#fff !important; }
622.hdr-login:link,.hdr-login:visited,.hdr-login:focus,.hdr-login:active,
623.login:link,.login:visited,.login:focus,.login:active,
624.mnv-link:link,.mnv-link:visited,.mnv-link:hover,.mnv-link:focus,.mnv-link:active,
625.mnv-sub:link,.mnv-sub:visited,.mnv-sub:hover,.mnv-sub:focus,.mnv-sub:active,
626.mnv-group-title:link,.mnv-group-title:visited,.mnv-group-title:hover,.mnv-group-title:focus,.mnv-group-title:active
627{ color:#1e3150 !important; -webkit-text-fill-color:#1e3150 !important; }
628.btno:link,.btno:visited,.btnw:link,.btnw:visited
629{ color:#00B1FF !important; -webkit-text-fill-color:#00B1FF !important; }
630.fsocial-ic:link,.fsocial-ic:visited,.fsocial-ic:focus,.fsocial-ic:active
631{ color:#6b7280 !important; -webkit-text-fill-color:#6b7280 !important; }
632/* Hover đổi màu theo thương hiệu (giống .vn) — global mọi trang, thắng khoá xám */
633.fsocial-ic:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
634.fsocial-ic.we:hover{color:#00B1FF !important;-webkit-text-fill-color:#00B1FF !important;border-color:#00B1FF}
635.fsocial-ic.fb:hover{color:#1877f2 !important;-webkit-text-fill-color:#1877f2 !important;border-color:#1877f2}
636.fsocial-ic.li:hover{color:#0a66c2 !important;-webkit-text-fill-color:#0a66c2 !important;border-color:#0a66c2}
637.fsocial-ic.yt:hover{color:#ff0000 !important;-webkit-text-fill-color:#ff0000 !important;border-color:#ff0000}
638.fsocial-ic.tk:hover{color:#111 !important;-webkit-text-fill-color:#111 !important;border-color:#111;background:#fafafa}
639.fsocial-ic.za:hover{color:#0068ff !important;-webkit-text-fill-color:#0068ff !important;border-color:#0068ff;background:#e6f0ff}
640.fsocial-ic.wa:hover{color:#25D366 !important;-webkit-text-fill-color:#25D366 !important;border-color:#25D366}
641.fc-val:link,.fc-val:visited,.fc-val:focus,.fc-val:active
642{ color:#1e3150 !important; -webkit-text-fill-color:#1e3150 !important; }
643.banner-cta:link,.banner-cta:visited { color:#00B1FF !important; -webkit-text-fill-color:#00B1FF !important; }
644.bg-news-btn-sub:link,.bg-news-btn-sub:visited { color:#fff !important; -webkit-text-fill-color:#fff !important; }
645.bg-news-btn:link,.bg-news-btn:visited { color:#0080c0 !important; -webkit-text-fill-color:#0080c0 !important; }
646a,button{ -webkit-tap-highlight-color:transparent !important; }
647/* HOVER nút: bản gốc dùng opacity:.88 → nút MỜ đi, nền phía sau thấu qua làm chữ trắng
648   loang xanh (anh soi 17/8, kể cả nút .vn). Thay bằng brightness(.94): tối nhẹ đặc, không
649   trong suốt, chữ đọc rõ, hợp mọi màu nút. Ở <head> phủ header + CTA cả 32 trang. */
650.frow-cta-btn:hover, .tm-cta:hover, .btnp:hover, .btnw:hover, .hdr-register:hover, .ncta:hover {
651  opacity: 1 !important; filter: brightness(0.94);
652}
653</style>
654<style id="wp-custom-css">
655@media (max-width: 991px){
656.main-navigation .menu li {
657margin: 10px 0px;
658}
659} 
660.rt-reading-time
661{
662    display: block;
663    padding-bottom: 20pt;
664    color: orange;
665    font-style: italic;
666}
667
668.buttongiua {text-align: center;}
669
670#responsive-form{
671	max-width:600px /*-- change this to get your desired form width --*/;
672	margin:0 auto;
673        width:100%;
674}
675.form-row{
676	width: 100%;
677}
678.column-half, .column-full{
679	float: left;
680	position: relative;
681	padding: 0.65rem;
682	width:100%;
683	-webkit-box-sizing: border-box;
684        -moz-box-sizing: border-box;
685        box-sizing: border-box;
686font-family:'Mulish';
687					
688}
689.clearfix:after {
690	content: "";
691	display: table;
692	clear: both;
693}
694 
695/**---------------- Media query ----------------**/
696@media only screen and (min-width: 48em) { 
697	.column-half{
698		width: 50%;
699	}
700}
701
702
703/*Form width*/
704.wpcf7 {
705    text-align: center;
706    width: 100%;
707    border-radius: 15px;
708}
709 
710/*Input Field widths*/
711.wpcf7-text, .wpcf7-textarea {
712    width: 100%;
713    border: 1px solid #e4e4e4;
714}
715 
716.wpcf7-text {
717 
718	height: 50px;
719    padding-left: 10px;
720
721}
722.wpcf7-text:focus, .wpcf7-textarea:focus {
723    border-color: #129FEA;
724
725}
726 
727/*Label Font*/
728.wpcf7-form p {
729    font-size: 16px;
730    font-family: 'Roboto', sans-serif;
731}
732 
733/*Submit button Font*/
734.wpcf7-submit {
735    width: 100%;
736    font-size: 15px !important;
737    color: #fff !important;
738    padding: 20px;
739	  text-align: center;
740}
741 
742/*Submit button Hover*/
743.wpcf7-submit:hover {
744    background: #56cc6e !important;
745}
746 
747/*Response messages - Error & Success*/
748.wpcf7-response-output {
749    margin-bottom: 30px !important;
750}
751 
752/***********borders************/
753 
754/*Form border*/
755.wpcf7 {
756    padding: 20px 25px !important;
757    padding-bottom: 0px !important;
758}
759 
760/*Input Field borders*/
761.wpcf7-text:focus, .wpcf7-textarea:focus {
762    border-color: #8F8F8F !important;
763}
764 
765/*Submit button Background*/
766.wpcf7-submit {
767    background: #7E7E7E !important;
768    color: #fff !important;
769	font-family: 'Mulish';
770}
771 
772/*Submit button Hover*/
773.wpcf7-submit:hover {
774    background: #5F5F5F !important;
775}
776 
777/***********colors************/
778 
779/*Submit button background & border*/
780.wpcf7-submit {
781    background-color: #2075ef !important;
782    border: 2px solid #5A5050 !important;
783    color: #5A5050 !important;
784    font-weight: bold !important;
785}
786 
787/*Submit button Hover styles*/
788.wpcf7-submit:hover {
789    background-color: rgba(29, 39, 49, 0.66) !important;    
790    border-color: #4CAF50 !important;
791    color: #4CAF50 !important;
792}
793 
794/*Label Text color*/
795.wpcf7-form p {
796    color: #FFF;
797}
798 
799.wpcf7-form label{
800	/*display: none;*/
801}
802 
803/*Input Field Text color*/
804.wpcf7-text, .wpcf7-textarea {
805	color: #777;
806}
807 
808/****background-images********/
809 
810/*Form background*/
811.wpcf7 {
812    background-color: #00b1ff;
813    background-position: center;
814    background-size: cover;
815}
816 
817/*Label Text color*/
818.wpcf7-form p {
819    /*display: none;*/
820    /*color: #000000;*/
821}
822 
823/*Submit button background & border*/
824.wpcf7-submit {
825    border: 2px solid #FFFFFF !important;
826    color: #FFFFFF !important;
827}
828 
829/*Submit button Hover styles*/
830.wpcf7-submit:hover {
831    border-color: transparent !important;
832    background-color: #2da545 !important;
833    color: #FFFFFF !important;
834}
835 
836/*Input Field border*/
837.wpcf7-text:focus, .wpcf7-textarea:focus {
838    border-color: #5A3D3D !important;
839}
840
841.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
842    border-color: #f00;
843    color: white;
844    margin-top: -60px;
845    padding-bottom: 30px;
846}
847
848h5.cf7 {
849	  font-family: 'Mulish';
850    font-size: 20px;
851    font-weight: 350;
852    letter-spacing: 0px;
853    line-height: 1.2;
854    text-transform: none;
855    color: #ffffff;
856}
857
858#fancybox-outer {
859    width: 95%;
860	  height: 95%;
861    max-width: 920px;
862    margin: 0 auto;
863}
864 
865#fancybox-wrap {
866    left: 5% !important;
867    width: calc(100% - 32px) !important;
868    right: 5% !important;
869}
870
871input[type=text], input[type=email], input[type=url], input[type=password], input[type=search], input[type=number], input[type=tel], input[type=range], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color], textarea {
872    color: #000;
873    border: 1px solid #e6e6e6;
874    border-radius: 23px;
875    -webkit-border-radius: 23px;
876    -moz-border-radius: 23px;
877    padding: 4px 10px;
878    box-sizing: border-box;
879    outline: none;
880    font-family: 'Mulish';
881}
882
883
884.hotline-phone-ring-wrap {
885  position: fixed;
886  bottom: 0;
887  left: 0;
888  z-index: 999999;
889}
890.hotline-phone-ring {
891  position: relative;
892  visibility: visible;
893  background-color: transparent;
894  width: 150px;
895  height: 110px;
896  cursor: pointer;
897  z-index: 11;
898  -webkit-backface-visibility: hidden;
899  -webkit-transform: translateZ(0);
900  transition: visibility .5s;
901  left: 0;
902  bottom: 0;
903  display: block;
904}
905.hotline-phone-ring-circle {
906	width: 85px;
907  height: 85px;
908  top: 10px;
909  left: 10px;
910  position: absolute;
911  background-color: transparent;
912  border-radius: 100%;
913  border: 2px solid #e60808;
914  -webkit-animation: phonering-alo-circle-anim 1.2s infinite ease-in-out;
915  animation: phonering-alo-circle-anim 1.2s infinite ease-in-out;
916  transition: all .5s;
917  -webkit-transform-origin: 50% 50%;
918  -ms-transform-origin: 50% 50%;
919  transform-origin: 50% 50%;
920  opacity: 0.5;
921}
922.hotline-phone-ring-circle-fill {
923	width: 55px;
924  height: 55px;
925  top: 25px;
926  left: 25px;
927  position: absolute;
928  background-color: rgba(230, 8, 8, 0.7);
929  border-radius: 100%;
930  border: 2px solid transparent;
931  -webkit-animation: phonering-alo-circle-fill-anim 2.3s infinite ease-in-out;
932  animation: phonering-alo-circle-fill-anim 2.3s infinite ease-in-out;
933  transition: all .5s;
934  -webkit-transform-origin: 50% 50%;
935  -ms-transform-origin: 50% 50%;
936  transform-origin: 50% 50%;
937}
938.hotline-phone-ring-img-circle {
939	background-color: #e60808;
940	width: 33px;
941  height: 33px;
942  top: 37px;
943  left: 37px;
944  position: absolute;
945  background-size: 20px;
946  border-radius: 100%;
947  border: 2px solid transparent;
948  -webkit-animation: phonering-alo-circle-img-anim 1s infinite ease-in-out;
949  animation: phonering-alo-circle-img-anim 1s infinite ease-in-out;
950  -webkit-transform-origin: 50% 50%;
951  -ms-transform-origin: 50% 50%;
952  transform-origin: 50% 50%;
953  display: -webkit-box;
954  display: -webkit-flex;
955  display: -ms-flexbox;
956  display: flex;
957  align-items: center;
958  justify-content: center;
959}
960.hotline-phone-ring-img-circle .pps-btn-img {
961	display: -webkit-box;
962  display: -webkit-flex;
963  display: -ms-flexbox;
964  display: flex;
965}
966.hotline-phone-ring-img-circle .pps-btn-img img {
967	width: 20px;
968	height: 20px;
969}
970.hotline-bar {
971  position: absolute;
972  background: rgba(230, 8, 8, 0.75);
973  height: 40px;
974  width: 180px;
975  line-height: 40px;
976  border-radius: 3px;
977  padding: 0 10px;
978  background-size: 100%;
979  cursor: pointer;
980  transition: all 0.8s;
981  -webkit-transition: all 0.8s;
982  z-index: 9;
983  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.1);
984  border-radius: 50px !important;
985  /* width: 175px !important; */
986  left: 33px;
987  bottom: 37px;
988}
989.hotline-bar > a {
990  color: #fff;
991  text-decoration: none;
992  font-size: 15px;
993  font-weight: bold;
994  text-indent: 43px;
995  display: block;
996  letter-spacing: 1px;
997  line-height: 40px;
998  font-family: Arial;
999}
1000.hotline-bar > a:hover,
1001.hotline-bar > a:active {
1002  color: #fff;
1003}
1004@-webkit-keyframes phonering-alo-circle-anim {
1005  0% {
1006    -webkit-transform: rotate(0) scale(0.5) skew(1deg);
1007    -webkit-opacity: 0.1;
1008  }
1009  30% {
1010    -webkit-transform: rotate(0) scale(0.7) skew(1deg);
1011    -webkit-opacity: 0.5;
1012  }
1013  100% {
1014    -webkit-transform: rotate(0) scale(1) skew(1deg);
1015    -webkit-opacity: 0.1;
1016  }
1017}
1018@-webkit-keyframes phonering-alo-circle-fill-anim {
1019  0% {
1020    -webkit-transform: rotate(0) scale(0.7) skew(1deg);
1021    opacity: 0.6;
1022  }
1023  50% {
1024    -webkit-transform: rotate(0) scale(1) skew(1deg);
1025    opacity: 0.6;
1026  }
1027  100% {
1028    -webkit-transform: rotate(0) scale(0.7) skew(1deg);
1029    opacity: 0.6;
1030  }
1031}
1032@-webkit-keyframes phonering-alo-circle-img-anim {
1033  0% {
1034    -webkit-transform: rotate(0) scale(1) skew(1deg);
1035  }
1036  10% {
1037    -webkit-transform: rotate(-25deg) scale(1) skew(1deg);
1038  }
1039  20% {
1040    -webkit-transform: rotate(25deg) scale(1) skew(1deg);
1041  }
1042  30% {
1043    -webkit-transform: rotate(-25deg) scale(1) skew(1deg);
1044  }
1045  40% {
1046    -webkit-transform: rotate(25deg) scale(1) skew(1deg);
1047  }
1048  50% {
1049    -webkit-transform: rotate(0) scale(1) skew(1deg);
1050  }
1051  100% {
1052    -webkit-transform: rotate(0) scale(1) skew(1deg);
1053  }
1054}
1055@media (max-width: 768px) {
1056  .hotline-bar {
1057    display: none;
1058  }
1059}
1060
1061</style>
1062
1063<!-- omicall-2026: bù thẻ head (Yoast đã tắt trên trang route) -->
1064<link rel="canonical" href="https://omicall.com/tinh-nang/crm/">
1065<meta name="robots" content="index, follow, max-image-preview:large">
1066<meta property="og:type" content="website">
1067<meta property="og:url" content="https://omicall.com/tinh-nang/crm/">
1068<meta property="og:site_name" content="OMICall">
1069<meta property="og:locale" content="vi_VN">
1070<link rel="alternate" hreflang="vi" href="https://omicall.com/tinh-nang/crm/">
1071<link rel="alternate" hreflang="lo" href="https://omicall.com/lo/tinh-nang/crm/">
1072<link rel="alternate" hreflang="en" href="https://omicall.com/en/tinh-nang/crm/">
1073<link rel="alternate" hreflang="x-default" href="https://omicall.com/tinh-nang/crm/">
1074<meta property="og:title" content="Quản lý khách hàng (CRM) – Tính năng OMICall">
1075<meta name="twitter:title" content="Quản lý khách hàng (CRM) – Tính năng OMICall">
1076<meta property="og:description" content="Tính năng CRM – Quản lý khách hàng của OMICall: gom khách từ nhập tay/Excel/đa kênh/tổng đài, sales pipeline real-time, lịch sử tương tác đầy đủ, check trùng SĐT, tuỳ chỉnh thuộc tính.">
1077<meta name="twitter:description" content="Tính năng CRM – Quản lý khách hàng của OMICall: gom khách từ nhập tay/Excel/đa kênh/tổng đài, sales pipeline real-time, lịch sử tương tác đầy đủ, check trùng SĐT, tuỳ chỉnh thuộc tính.">
1078<meta name="twitter:card" content="summary_large_image">
1079<meta property="og:image" content="https://omicall.com/wp-content/uploads/omicall-og-tong-dai-da-kenh-ai-2026.jpg">
1080<meta name="twitter:image" content="https://omicall.com/wp-content/uploads/omicall-og-tong-dai-da-kenh-ai-2026.jpg">
1081</head>
1082<body data-source="omicall-tn-crm">
1083
1084<!-- ============ HEADER ============ -->
1085<header>
1086  <div class="hdr">
1087    <div><a href="https://omicall.com/" class="logo" aria-label="OMICall — Trang chủ"><img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/logo-omicall.png" alt="OMICall"></a></div>
1088    <div class="hdr-group">
1089    <nav>
1090      <a href="/">Trang chá»§</a>
1091      <div class="nav-dropdown">
1092        <a href="#" class="nav-dd-trigger">
1092Tính năng <svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 3.5L5 6.5L8 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg></a>
1093        <div class="nav-dd-menu">
1094          <div class="nav-dd-label">Tính năng</div>
1095          <a href="/tinh-nang/ticket/" class="nav-dd-item">Quản lý công việc (Ticket)</a>
1096          <a href="/tinh-nang/crm/" class="nav-dd-item">Quản lý khách hàng (CRM)</a>
1097          <a href="/tinh-nang/marketing/" class="nav-dd-item">Marketing (ZBS/SMS/Email/Autocall)</a>
1098          <a href="/tinh-nang/omni/" class="nav-dd-item">Đa kênh (Omni Channel)</a>
1099          <a href="/tinh-nang/workflow/" class="nav-dd-item">Workflow Tự động hoá<span class="nav-dd-badge unique">Độc đáo</span></a>
1100          <a href="/tinh-nang/tong-dai/" class="nav-dd-item">Tổng đài ảo<span class="nav-dd-badge featured">Nổi bật</span></a>
1101          <a href="/tong-dai-ai/" class="nav-dd-item">OMI AI<span class="nav-dd-badge competitive">Cạnh tranh</span></a>
1102          <a href="/tinh-nang/bao-cao/" class="nav-dd-item">Báo cáo</a>
1103          <a href="/tinh-nang/nhan-vien/" class="nav-dd-item">Quản lý nhân viên</a>
1104        </div>
1105      </div>
1106      <div class="nav-dropdown">
1107        <a href="#" class="nav-dd-trigger">Giải pháp <svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 3.5L5 6.5L8 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg></a>
1108        <div class="nav-dd-menu">
1109          <div class="nav-dd-label">Theo ngành nghề</div>
1110          <a href="/giai-phap/bat-dong-san/" class="nav-dd-item">Bất động sản</a>
1111          <a href="/giai-phap/tai-chinh/" class="nav-dd-item">Tài chính – Ngân hàng</a>
1112          <a href="/giai-phap/bao-hiem/" class="nav-dd-item">Bảo hiểm</a>
1113          <a href="/giai-phap/tmdt/" class="nav-dd-item">Thương mại điện tử</a>
1114          <a href="/giai-phap/giao-duc/" class="nav-dd-item">Giáo dục</a>
1115          <a href="/giai-phap/y-te/" class="nav-dd-item">Y tế</a>
1116          <a href="/giai-phap/logistics/" class="nav-dd-item">Logistics – Vận tải</a>
1117          <a href="/giai-phap/du-lich/" class="nav-dd-item">Du lịch – Khách sạn</a>
1118          <a href="/giai-phap/fnb/" class="nav-dd-item">F&amp;B</a>
1119        </div>
1120      </div>
1121      <div class="nav-dropdown">
1122        <a href="#" class="nav-dd-trigger">Dịch vụ <svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 3.5L5 6.5L8 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg></a>
1123        <div class="nav-dd-menu">
1124          <div class="nav-dd-label">Dịch vụ viễn thông</div>
1125          <a href="/tong-dai-gia-re/" class="nav-dd-item">Tổng đài giá rẻ<span class="nav-dd-badge value">Tiết kiệm</span></a>
1126          <a href="/dau-so-tong-dai-1900-va-1800/" class="nav-dd-item">Đầu số tổng đài</a>
1127          <a href="/voice-brandname/" class="nav-dd-item">
1127Voice Brandname</a>
1128          <a href="/sms-brandname/" class="nav-dd-item">Gá»­i tin ZBS/SMS</a>
1129        </div>
1130      </div>
1131      <a href="/thiet-bi/">Thiết bị</a>
1132      <a href="/bang-gia/">Bảng giá</a>
1133      <div class="nav-dropdown">
1134        <a href="#" class="nav-dd-trigger">Đối tác <svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 3.5L5 6.5L8 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg></a>
1135        <div class="nav-dd-menu">
1136          <div class="nav-dd-label">Chương trình đối tác</div>
1137          <a href="/doi-tac-kinh-doanh/" class="nav-dd-item">Đại lý · Cộng tác viên</a>
1138          <a href="/doi-tac-tich-hop/" class="nav-dd-item">Đối tác tích hợp</a>
1139        </div>
1140      </div>
1141      <a href="/case-study/">Case study</a>
1142      <a href="/blog/">Blog</a>
1143    
1144      <div class="nav-dropdown nav-lang">
1145        <a href="#" class="nav-dd-trigger" aria-haspopup="true" aria-label="Ngôn ngữ / Language"><span class="nav-lang-flag"><svg viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><rect width="30" height="20" fill="#DA251D"/><polygon fill="#FFFF00" points="15,4 18.53,14.85 9.29,8.15 20.71,8.15 11.47,14.85"/></svg></span>VI <svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 3.5L5 6.5L8 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg></a>
1146        <div class="nav-dd-menu nav-lang-menu">
1147          <a href="/tinh-nang/crm/" class="nav-dd-item active" hreflang="vi" lang="vi"><span class="nav-lang-flag"><svg viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><rect width="30" height="20" fill="#DA251D"/><polygon fill="#FFFF00" points="15,4 18.53,14.85 9.29,8.15 20.71,8.15 11.47,14.85"/></svg></span><span class="nav-lang-ma">VI</span><span class="nav-lang-ten">Tiếng Việt</span></a>
1148          <a href="/lo/tinh-nang/crm/" class="nav-dd-item" hreflang="lo" lang="lo"><span class="nav-lang-flag"><svg viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><rect width="30" height="20" fill="#CE1126"/><rect y="5" width="30" height="10" fill="#002868"/><circle cx="15" cy="10" r="4" fill="#FFFFFF"/></svg></span><span class="nav-lang-ma">LO</span><span class="nav-lang-ten">ລາວ</span></a>
1149          <a href="/en/tinh-nang/crm/" class="nav-dd-item" hreflang="en" lang="en"><span class="nav-lang-flag"><svg viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><rect width="30" height="20" fill="#012169"/><path d="M0,0 L30,20 M30,0 L0,20" stroke="#FFFFFF" stroke-width="4"/><path d="M0,0 L30,20 M30,0 L0,20" stroke="#C8102E" stroke-width="1.6"/><path d="M15,0 V20 M0,10 H30" stroke="#FFFFFF" stroke-width="6"/><path d="M15,0 V20 M0,10 H30" stroke="#C8102E" stroke-width="3.6"/></svg></span><span class="nav-lang-ma">EN</span><span class="nav-lang-ten">English</span></a>
1150        </div>
1151      </div>
1152    </nav>
1153    <div class="hdr-right">
1154      <a href="https://sso.omicrm.io/" class="hdr-login">Đăng nhập</a>
1155      <a href="https://sso.omicrm.io/register" class="hdr-register">Đăng ký</a>
1156    </div>
1157    <button type="button" class="mnv-toggle" id="mnvToggle" aria-label="Mở menu" onclick="openMnv()">
1158      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
1159    </button>
1160    </div>
1161  </div>
1162</header>
1163
1164<!-- ============ MOBILE MENU ============ -->
1165<div class="mnv-overlay" id="mnvOverlay" onclick="closeMnv()"></div>
1166<aside class="mnv-drawer" id="mnvDrawer" aria-hidden="true">
1167  <div class="mnv-header">
1168    <a href="https://omicall.com/" class="logo" aria-label="OMICall — Trang chủ"><img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/logo-omicall.png" alt="OMICall"></a>
1169    <button type="button" class="mnv-close" id="mnvClose" aria-label="Đóng menu" onclick="closeMnv()">
1170      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
1171    </button>
1172  </div>
1173  <div class="mnv-body">
1174    <a href="/" class="mnv-link">Trang chá»§</a>
1175    <div class="mnv-group">
1176      <div class="mnv-group-title" onclick="toggleMnvGroup(this)">Tính năng</div>
1177      <div class="mnv-group-items">
1178        <a href="/tinh-nang/ticket/" class="mnv-sub">
1178Quản lý công việc (Ticket)</a>
1179        <a href="/tinh-nang/crm/" class="mnv-sub">Quản lý khách hàng (CRM)</a>
1180        <a href="/tinh-nang/marketing/" class="mnv-sub">Marketing (ZBS/SMS/Email/Autocall)</a>
1181        <a href="/tinh-nang/omni/" class="mnv-sub">Đa kênh (Omni Channel)</a>
1182        <a href="/tinh-nang/workflow/" class="mnv-sub">Workflow Tự động hoá</a>
1183        <a href="/tinh-nang/tong-dai/" class="mnv-sub">Tổng đài ảo</a>
1184        <a href="/tong-dai-ai/" class="mnv-sub">OMI AI</a>
1185        <a href="/tinh-nang/bao-cao/" class="mnv-sub">Báo cáo</a>
1186        <a href="/tinh-nang/nhan-vien/" class="mnv-sub">Quản lý nhân viên</a>
1187      </div>
1188    </div>
1189    <div class="mnv-group">
1190      <div class="mnv-group-title" onclick="toggleMnvGroup(this)">Giải pháp</div>
1191      <div class="mnv-group-items">
1192        <a href="/giai-phap/bat-dong-san/" class="mnv-sub">Bất động sản</a>
1193        <a href="/giai-phap/tai-chinh/" class="mnv-sub">Tài chính – Ngân hàng</a>
1194        <a href="/giai-phap/bao-hiem/" class="mnv-sub">Bảo hiểm</a>
1195        <a href="/giai-phap/tmdt/" class="mnv-sub">Thương mại điện tử</a>
1196        <a href="/giai-phap/giao-duc/" class="mnv-sub">Giáo dục</a>
1197        <a href="/giai-phap/y-te/" class="mnv-sub">Y tế</a>
1198        <a href="/giai-phap/logistics/" class="mnv-sub">Logistics – Vận tải</a>
1199        <a href="/giai-phap/du-lich/" class="mnv-sub">Du lịch – Khách sạn</a>
1200        <a href="/giai-phap/fnb/" class="mnv-sub">F&amp;B</a>
1201      </div>
1202    </div>
1203    <div class="mnv-group">
1204      <div class="mnv-group-title" onclick="toggleMnvGroup(this)">Dịch vụ</div>
1205      <div class="mnv-group-items">
1206        <a href="/tong-dai-gia-re/" class="mnv-sub">Tổng đài giá rẻ</a>
1207        <a href="/dau-so-tong-dai-1900-va-1800/" class="mnv-sub">Đầu số tổng đài</a>
1208        <a href="/voice-brandname/" class="mnv-sub">
1208Voice Brandname</a>
1209        <a href="/sms-brandname/" class="mnv-sub">Gá»­i tin ZBS/SMS</a>
1210      </div>
1211    </div>
1212    <a href="/thiet-bi/" class="mnv-link">Thiết bị</a>
1213    <a href="/bang-gia/" class="mnv-link">Bảng giá</a>
1214    <div class="mnv-group">
1215      <div class="mnv-group-title" onclick="toggleMnvGroup(this)">Đối tác</div>
1216      <div class="mnv-group-items">
1217        <a href="/doi-tac-kinh-doanh/" class="mnv-sub">Đại lý · Cộng tác viên</a>
1218        <a href="/doi-tac-tich-hop/" class="mnv-sub">Đối tác tích hợp</a>
1219      </div>
1220    </div>
1221    <a href="/case-study/" class="mnv-link">Case study</a>
1222    <a href="/blog/" class="mnv-link">Blog</a>
1223  
1224  <div class="mnv-lang">
1225    <span class="mnv-lang-nhan">Ngôn ngữ · Language</span>
1226    <div class="mnv-lang-ds">
1227      <a href="/tinh-nang/crm/" class="mnv-lang-item active" hreflang="vi" lang="vi"><span class="nav-lang-flag"><svg viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><rect width="30" height="20" fill="#DA251D"/><polygon fill="#FFFF00" points="15,4 18.53,14.85 9.29,8.15 20.71,8.15 11.47,14.85"/></svg></span><b>VI</b><small>Tiếng Việt</small></a>
1228      <a href="/lo/tinh-nang/crm/" class="mnv-lang-item" hreflang="lo" lang="lo"><span class="nav-lang-flag"><svg viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><rect width="30" height="20" fill="#CE1126"/><rect y="5" width="30" height="10" fill="#002868"/><circle cx="15" cy="10" r="4" fill="#FFFFFF"/></svg></span><b>LO</b><small>ລາວ</small></a>
1229      <a href="/en/tinh-nang/crm/" class="mnv-lang-item" hreflang="en" lang="en"><span class="nav-lang-flag"><svg viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><rect width="30" height="20" fill="#012169"/><path d="M0,0 L30,20 M30,0 L0,20" stroke="#FFFFFF" stroke-width="4"/><path d="M0,0 L30,20 M30,0 L0,20" stroke="#C8102E" stroke-width="1.6"/><path d="M15,0 V20 M0,10 H30" stroke="#FFFFFF" stroke-width="6"/><path d="M15,0 V20 M0,10 H30" stroke="#C8102E" stroke-width="3.6"/></svg></span><b>EN</b><small>English</small></a>
1230    </div>
1231  </div>
1232  <div class="mnv-cta">
1233    <a href="https://sso.omicrm.io/" class="login">Đăng nhập</a>
1234    <a href="https://sso.omicrm.io/register" class="register">Đăng ký</a>
1235  </div>
1236</aside>
1237
1238<!-- ============ HERO ============ -->
1239<section class="tk-hero">
1240  <div class="wrap">
1241    <div class="tk-hero-grid">
1242      <div class="tk-hero-left">
1243        <div class="tk-crumb">
1244          <a href="/">Trang chá»§</a>
1245          <span class="sep">›</span>
1246          <a href="#">Tính năng</a>
1247          <span class="sep">›</span>
1248          <span class="cur">Quản lý khách hàng (CRM)</span>
1249        </div>
1250        <div class="tk-hero-tag">
1251          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>
1252          Module CRM · Quản lý khách hàng
1253        </div>
1254        <h1>Toàn bộ khách hàng trong <span class="hl">một hồ sơ</span></h1>
1255        <p class="tk-hero-lead">Một bản ghi khách hàng duy nhất hợp nhất từ mọi điểm tương tác. Sales pipeline tức thì, tự phát hiện trùng lặp, tuỳ biến thuộc tính theo từng ngành.</p>
1256        <div class="tk-hero-ctas">
1257          <button type="button" class="tk-btn p" data-open-form>
1258            Dùng thử miễn phí
1259            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
1260          </button>
1261          <a href="tel:19000211" class="tk-btn o">
1262            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;
1262height:14px"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
1263            1900 0211
1264          </a>
1265        </div>
1266        <div class="tk-hero-stats">
1267          <div><div class="tk-hero-stat-num"><1 phút</div><div class="tk-hero-stat-lbl">PHẢN HỒI LEAD MỚI</div></div>
1268          <div><div class="tk-hero-stat-num">360°</div><div class="tk-hero-stat-lbl">LỊCH SỬ KHÁCH GOM MỘT NƠI</div></div>
1269          <div><div class="tk-hero-stat-num">80.000+</div><div class="tk-hero-stat-lbl">DOANH NGHIỆP TIN DÙNG</div></div>
1270        </div>
1271      </div>
1272      <div class="tk-hero-visual">
1273        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/hero-v4.png" alt="Giao diện CRM OMICall — danh sách khách hàng" style="width:100%;height:auto;display:block">
1274      </div>
1275    </div>
1276  </div>
1277</section>
1278
1279<!-- ============ FEATURE 1: GOM KHÁCH ĐA NGUỒN ============ -->
1280<section class="tk-feat">
1281  <div class="wrap">
1282    <div class="tk-feat-in">
1283      <div class="tk-feat-body">
1284        <div class="tk-feat-num"><span class="tk-feat-num-badge">1</span> Gom khách đa nguồn</div>
1285        <h2>Quản lý <span class="hl">toàn bộ khách hàng</span> từ mọi nguồn về một nơi</h2>
1286        <p>Khách từ Excel, website form, Zalo, Facebook, tổng đài… tự động gom về 1 danh sách. Không còn mỗi nơi một file.</p>
1287        <ul class="tk-feat-list">
1288          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Nhập tay trực tiếp trên giao diện hoặc <b>nhập Excel hàng loạt</b> (tối đa 10.000 dòng/lần)</span></li>
1289          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Tự động tạo khách hàng khi có <b>cuộc gọi đến tổng đài</b> — kể cả số lạ chưa trong hệ thống</span></li>
1290          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Đồng bộ &amp; lưu trữ khách hàng từ <b>đa kênh: Facebook, Zalo, TikTok, Telegram, Viber, Email, Livetalk</b></span></li>
1291          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Đồng bộ qua <b>API các nền tảng tích hợp</b> — kết nối sẵn với website form, CRM khác, ERP</span></li>
1292          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Hợp nhất khách hàng trùng lặp từ nhiều nguồn về <b>1 hồ sơ duy nhất</b></span></li>
1293        </ul>
1294        <div class="tk-feat-tags">
1295          <span class="tk-feat-tag hot">Đa kênh</span>
1296          <span class="tk-feat-tag">Excel nhập</span>
1297          <span class="tk-feat-tag">API tích hợp</span>
1298          <span class="tk-feat-tag">Tự động</span>
1299        </div>
1300      </div>
1301      <div class="tk-feat-visual">
1302        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/1-v4.png" alt="Danh sách khách hàng đa nguồn" style="width:100%;height:auto;display:block" loading="lazy">
1303      </div>
1304    </div>
1305  </div>
1306</section>
1307
1308<!-- ============ FEATURE 2: BỘ LỌC NHÂN VIÊN ============ -->
1309<section class="tk-feat">
1310  <div class="wrap">
1311    <div class="tk-feat-in">
1312      <div class="tk-feat-body">
1313        <div class="tk-feat-num"><span class="tk-feat-num-badge">2</span> Bộ lọc nhân viên</div>
1314        <h2>Tạo <span class="hl">
1314bộ lọc theo nhân viên</span> — xem ngay khách của từng sales</h2>
1315        <p>Quản lý xem khách của sales nào? Sales xem khách mình phụ trách? 1 bấm — biết ngay ai có bao nhiêu khách, tình trạng ra sao.</p>
1316        <ul class="tk-feat-list">
1317          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Lọc theo <b>nhân viên phụ trách chính</b>, phụ trách phụ, hoặc nhóm sales</span></li>
1318          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Quản lý <b>xem được toàn bộ</b> khách của đội, sales chỉ xem khách của mình</span></li>
1319          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Kết hợp với bộ lọc khác: trạng thái, nguồn, ngành, khu vực, thời gian</span></li>
1320          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Lưu bộ lọc thường dùng — 1 bấm truy cập mà không phải setup lại</span></li>
1321        </ul>
1322        <div class="tk-feat-tags">
1323          <span class="tk-feat-tag hot">Phân quyền</span>
1324          <span class="tk-feat-tag">Saved filter</span>
1325          <span class="tk-feat-tag">AND/OR</span>
1326        </div>
1327      </div>
1328      <div class="tk-feat-visual">
1329        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/2-v4.png" alt="Panel bộ lọc theo nhân viên" style="width:100%;height:auto;display:block" loading="lazy">
1330      </div>
1331    </div>
1332  </div>
1333</section>
1334
1335<!-- ============ FEATURE 3: SALES PIPELINE ============ -->
1336<section class="tk-feat">
1337  <div class="wrap">
1338    <div class="tk-feat-in">
1339      <div class="tk-feat-body">
1340        <div class="tk-feat-num"><span class="tk-feat-num-badge">3</span> Sales Pipeline</div>
1341        <h2>Xem <span class="hl">Sales Pipeline tức thì</span> — biết rõ khách đang ở giai đoạn nào</h2>
1342        <p>Hành trình rõ ràng: <b>Lead → Quan tâm → Báo giá → Đàm phán → Chốt</b>. Pipeline cập nhật tức thì, biết ngay hợp đồng đang đứng ở đâu.</p>
1343        <ul class="tk-feat-list">
1344          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Hiển thị tất cả khách theo <b>giai đoạn pipeline</b> (dạng card board dọc hoặc danh sách)</span></li>
1345          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span><b>Kéo-thả</b> khách từ giai đoạn này sang giai đoạn khác — cập nhật ngay lập tức</span></li>
1346          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Biểu đồ <b>chuyển đổi phễu</b>: bao nhiêu khách vào, bao nhiêu rớt ở mỗi giai đoạn</span></li>
1347          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Cảnh báo khách <b>bị kẹt</b> ở 1 giai đoạn quá lâu — cần sales chăm sóc tiếp</span></li>
1348        </ul>
1349        <div class="tk-feat-tags">
1350          <span class="tk-feat-tag hot">Tức thì</span>
1351          <span class="tk-feat-tag">Drag-drop</span>
1352          <span class="tk-feat-tag">Phễu chart</span>
1353          <span class="tk-feat-tag">Auto alert</span>
1354        </div>
1355      </div>
1356      <div class="tk-feat-visual">
1357        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/3-v4.png" alt="Sales Pipeline board" style="width:100%;height:auto;display:block" loading="lazy">
1358      </div>
1359    </div>
1360  </div>
1361</section>
1362
1363<!-- ============ FEATURE 4: LỊCH SỬ 360° ============ -->
1364<section class="tk-feat">
1365  <div class="wrap">
1366    <div class="tk-feat-in">
1367      <div class="tk-feat-body">
1368        <div class="tk-feat-num"><span class="tk-feat-num-badge">4</span> Lịch sử 360°</div>
1369        <h2>Toàn bộ <span class="hl">lịch sử tương tác</span> hiển thị trên 1 mốc thời gian duy nhất</h2>
1370        <p>Mốc thời gian 1 trang hiển thị mọi tương tác theo thời gian: gọi (kèm ghi âm), email, ZBS/SMS, chat, chiến dịch. Sales mới tiếp nhận hiểu khách ngay.</p>
1371        <ul class="tk-feat-list">
1372          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span><b>Tất cả cuộc gọi</b>: ghi âm, thời lượng, nhân viên thực hiện, ghi chú kèm</span></li>
1373          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span><b>Email, SMS, ZBS, chat</b> đa kênh — nội dung đầy đủ, ai gửi khi nào</span></li>
1374          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span><b>Chiến dịch marketing</b> đã gửi cho khách: loại chiến dịch, ngày, link mở</span></li>
1375          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Lọc mốc thời gian theo loại tương tác để tìm nhanh</span></li>
1376        </ul>
1377        <div class="tk-feat-tags">
1378          <span class="tk-feat-tag hot">360° view</span>
1379          <span class="tk-feat-tag">Recording</span>
1380          <span class="tk-feat-tag">Omnichannel</span>
1381          <span class="tk-feat-tag">Mốc thời gian</span>
1382        </div>
1383      </div>
1384      <div class="tk-feat-visual">
1385        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/4-v4.png" alt="Hồ sơ khách + Mốc thời gian 360°" style="width:100%;height:auto;display:block" loading="lazy">
1386      </div>
1387    </div>
1388  </div>
1389</section>
1390
1391<!-- ============ FEATURE 5: ANTI-DUPLICATE ============ -->
1392<section class="tk-feat">
1393  <div class="wrap">
1394    <div class="tk-feat-in">
1395      <div class="tk-feat-body">
1396        <div class="tk-feat-num"><span class="tk-feat-num-badge">5</span> Anti-duplicate</div>
1397        <h2>Chế độ <span class="hl">check trùng khách</span> — 1 số điện thoại là 1 khách hàng duy nhất</h2>
1398        <p>Tự phát hiện trùng SĐT ngay khi nhập. Ngăn tạo khách trùng + gợi ý merge nếu đã lỡ tạo. Hết cảnh 5 sales gọi cùng 1 khách.</p>
1399        <ul class="tk-feat-list">
1400          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span><b>Cảnh báo tức thì</b> khi vừa nhập số đã có sẵn — không cho tạo mới</span></li>
1401          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Khi nhập Excel: tự động <b>báo cáo các dòng trùng</b> để quản lý quyết định</span></li>
1402          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Công cụ <b>merge khách trùng</b>: chọn bản ghi gốc, gộp thông tin từ bản ghi phụ</span></li>
1403          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span><b>Quy tắc ưu tiên</b> khi gộp: giữ thông tin bản mới hơn hay thông tin đầy đủ hơn</span></li>
1404        </ul>
1405        <div class="tk-feat-tags">
1406          <span class="tk-feat-tag hot">Tức thì check</span>
1407          <span class="tk-feat-tag">Auto-merge</span>
1408          <span class="tk-feat-tag">Zero duplicate</span>
1409        </div>
1410      </div>
1411      <div class="tk-feat-visual">
1412        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/5-v4.png" alt="Dialog cảnh báo trùng SĐT" style="width:100%;height:auto;display:block" loading="lazy">
1413      </div>
1414    </div>
1415  </div>
1416</section>
1417
1418<!-- ============ FEATURE 6: CUSTOM FIELDS ============ -->
1419<section class="tk-feat">
1420  <div class="wrap">
1421    <div class="tk-feat-in">
1422      <div class="tk-feat-body">
1423        <div class="tk-feat-num"><span class="tk-feat-num-badge">6</span> Custom fields</div>
1424        <h2>Tự tay <span class="hl">tuỳ chọn thuộc tính khách</span> theo đặc thù ngành nghề</h2>
1425        <p>Tự tạo thuộc tính khách không giới hạn theo ngành — bất động sản, F&B, giáo dục… kéo thả là xong, không cần code.</p>
1426        <ul class="tk-feat-list">
1427          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Thêm field kiểu <b>text, number, date, dropdown, checkbox, file đính kèm</b></span></li>
1428          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Đặt field <b>bắt buộc, mặc định, validation rule</b> — kiểm soát chất lượng dữ liệu</span></li>
1429          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Mỗi <b>nhóm khách hàng</b> có bộ thuộc tính riêng, không lẫn lộn giữa nhóm</span></li>
1430          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Dùng thuộc tính custom để <b>lọc, phân nhóm, kích hoạt tự động hoá</b></span></li>
1431        </ul>
1432        <div class="tk-feat-tags">
1433          <span class="tk-feat-tag hot">No-code</span>
1434          <span class="tk-feat-tag">6 loại field</span>
1435          <span class="tk-feat-tag">Theo nhóm KH</span>
1436        </div>
1437      </div>
1438      <div class="tk-feat-visual">
1439        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/6-v4.png" alt="Panel tuỳ chỉnh thuộc tính" style="width:100%;height:auto;display:block" loading="lazy">
1440      </div>
1441    </div>
1442  </div>
1443</section>
1444
1445<!-- ============ FEATURE 7: PIPELINE TÙY BIẾN ============ -->
1446<section class="tk-feat">
1447  <div class="wrap">
1448    <div class="tk-feat-in">
1449      <div class="tk-feat-body">
1450        <div class="tk-feat-num"><span class="tk-feat-num-badge">7</span> Pipeline tùy biến</div>
1451        <h2>Thiết lập <span class="hl">hành trình bán hàng</span> riêng cho từng nhóm khách</h2>
1452        <p>B2B khác B2C. VIP khác khách lạnh. Tạo không giới hạn pipeline — mỗi nhóm khách có quy trình, giai đoạn, tiêu chí riêng.</p>
1453        <ul class="tk-feat-list">
1454          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Tạo <b>nhiều pipeline song song</b>: B2B, B2C, Enterprise, Khách cũ, Dự án…</span></li>
1455          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Mỗi pipeline có <b>số giai đoạn riêng</b>, tên giai đoạn riêng, thứ tự riêng</span></li>
1456          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Gắn <b>điều kiện chuyển giai đoạn</b> tự động (VD: khách đồng ý báo giá → tự chuyển sang "Đàm phán")</span></li>
1457          <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg><span>Tích hợp với Workflow Tự động hoá để <b>kích hoạt hành động</b> khi khách đổi giai đoạn</span></li>
1458        </ul>
1459        <div class="tk-feat-tags">
1460          <span class="tk-feat-tag hot">Multi-pipeline</span>
1461          <span class="tk-feat-tag">Auto-advance</span>
1462          <span class="tk-feat-tag">Workflow ready</span>
1463        </div>
1464      </div>
1465      <div class="tk-feat-visual">
1466        <img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/crm/7-v4.png" alt="Editor pipeline tùy biến" style="width:100%;height:auto;display:block" loading="lazy">
1467      </div>
1468    </div>
1469  </div>
1470</section>
1471
1472<!-- ============ BENEFITS STRIP ============ -->
1473<section class="tk-bene">
1474  <div class="wrap">
1475    <div class="tk-bene-head">
1476      <h2>Dùng CRM OMICall — bạn giải quyết được gì?</h2>
1477      <p>4 vấn đề đội Sales đang gặp hàng ngày, kèm cách CRM xử và kết quả định lượng từ khách hàng thực tế.</p>
1478    </div>
1479    <div class="tk-bene-grid">
1480
1481      <div class="tk-bene-card">
1482        <div class="tk-bene-top">
1483          <div class="tk-bene-ic">
1484            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M23 6l-9.5 9.5-5-5L1 18"/><polyline points="17 6 23 6 23 12"/></svg>
1485          </div>
1486          <div class="tk-bene-metric"><span class="num">+45%</span><span class="lbl">Tỷ lệ chốt hợp đồng</span></div>
1487        </div>
1488        <h3 class="tk-bene-title">Sales hết "đoán mò" hợp đồng nào nên ưu tiên</h3>
1489        <p class="tk-bene-desc">Pipeline hiển thị rõ hợp đồng đang ở giai đoạn nào, đứng yên bao lâu. Sales tập trung vào <b>hợp đồng có khả năng chốt cao nhất</b>, không phân tán nguồn lực vào lead lạnh.</p>
1490      </div>
1491
1492      <div class="tk-bene-card">
1493        <div class="tk-bene-top">
1494          <div class="tk-bene-ic">
1495            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="9 12 11 14 15 10"/></svg>
1496          </div>
1497          <div class="tk-bene-metric"><span class="num">100%</span><span class="lbl">Khách không trùng</span></div>
1498        </div>
1499        <h3 class="tk-bene-title">Hết cảnh 5 sales cùng gọi 1 khách</h3>
1500        <p class="tk-bene-desc">Hệ thống <b>tự kiểm tra trùng SĐT/email</b> ngay khi nhập, gợi ý merge với bản ghi cũ. Mỗi khách chỉ có 1 hồ sơ duy nhất — không tranh chấp hoa hồng, không phiền khách hàng.</p>
1501      </div>
1502
1503      <div class="tk-bene-card">
1504        <div class="tk-bene-top">
1505          <div class="tk-bene-ic">
1506            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
1507          </div>
1508          <div class="tk-bene-metric"><span class="num">−60%</span><span class="lbl">Thời gian tra cứu</span></div>
1509        </div>
1510        <h3 class="tk-bene-title">Tiếp khách không cần hỏi "anh từng liên hệ chưa?"</h3>
1511        <p class="tk-bene-desc"><b>Mốc thời gian 360°</b> hiển thị mọi cuộc gọi (kèm ghi âm), email, ZBS/SMS, chat đa kênh ngay khi mở hồ sơ — sales nắm tiền sử trong 30 giây, gây ấn tượng chuyên nghiệp với khách.</p>
1512      </div>
1513
1514      <div class="tk-bene-card">
1515        <div class="tk-bene-top">
1516          <div class="tk-bene-ic">
1517            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>
1518          </div>
1519          <div class="tk-bene-metric"><span class="num">2×</span><span class="lbl">Năng suất sales</span></div>
1520        </div>
1521        <h3 class="tk-bene-title">Sales nghỉ việc, dữ liệu vẫn ở lại doanh nghiệp</h3>
1522        <p class="tk-bene-desc">Mọi tương tác của sales với khách lưu trên hệ thống — không phải Zalo cá nhân. Khi nhân sự nghỉ, sales mới <b>nhận khách kèm full history</b>, tiếp tục bán không gián đoạn.</p>
1523      </div>
1524
1525    </div>
1526  </div>
1527</section>
1528
1529<!-- ============ CTA ============ -->
1530<section class="tk-cta">
1531  <div class="wrap">
1532    <div class="tk-cta-box">
1533      <div class="tk-cta-in">
1534        <div class="tk-cta-mini">Dùng thử miễn phí · Phản hồi 1h</div>
1535        <h2>Biến khách hàng rời rạc thành tài sản có hệ thống</h2>
1536        <p>Đăng ký dùng thử miễn phí. Chuyên viên setup pipeline + custom field theo ngành — triển khai trong 1 tuần.</p>
1537      </div>
1538      <div class="tk-cta-actions">
1539        <button type="button" class="tk-cta-btn p" data-open-form>
1540          Đăng ký dùng thử miễn phí →
1541        </button>
1542        <a href="tel:19000211" class="tk-cta-btn o">
1543          Gọi tư vấn: 1900 0211
1544        </a>
1545        <div class="tk-cta-note">
1546          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>
1547          Thông tin bảo mật
1548        </div>
1549      </div>
1550    </div>
1551  </div>
1552</section>
1553
1554<!-- ============ FOOTER ============ -->
1555<footer>
1556  <div class="wrap">
1557    <div class="fgrid2">
1558      <div>
1559        <a href="https://omicall.com/" class="logo" style="display:block;margin-bottom:.5rem" aria-label="OMICall — Trang chủ"><img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/logo-omicall.png" alt="OMICall"></a>
1560        <div class="fbrand-line">Một sản phẩm của OMIJSC · Thành viên ViHAT Group</div>
1561        <p class="fdesc2">Nền tảng tổng đài đa kênh ứng dụng AI. Giúp doanh nghiệp tối ưu trải nghiệm khách hàng và tăng trưởng doanh số bền vá
1561»¯ng.</p>
1562        <div class="faddr">
1563          <div class="faddr-item">
1564            <span class="faddr-lbl">Trụ sở HCM</span>
1565            <span class="faddr-txt">Tòa nhà ViHAT – 140-142 Đường số 2 – Khu nhà ở Vạn Phúc 1, Phường Hiệp Bình, TP. HCM</span>
1566          </div>
1567          <div class="faddr-item">
1568            <span class="faddr-lbl">Văn phòng HN</span>
1569            <span class="faddr-txt">Tầng 6, Toà nhà An Hưng, số 85-87 Hoàng Quốc Việt, Phường Nghĩa Đô, Hà Nội</span>
1570          </div>
1571        </div>
1572      </div>
1573      <div>
1574        <div class="fhd">Liên hệ</div>
1575        <ul class="fcontact">
1576          <li><span class="fc-lbl">Tư vấn dịch vụ</span><a class="fc-val" href="tel:02871010898">0287 1010 898</a><a class="fc-val" href="tel:19000211">1900 0211</a><span class="fc-sub">8h00 – 22h hàng ngày</span></li>
1577          <li><span class="fc-lbl">Hỗ trợ kỹ thuật</span><a class="fc-val" href="tel:02727777787">0272 7777 787</a><span class="fc-sub">24/7/365</span></li>
1578          <li><span class="fc-lbl">Email</span><span class="fc-val">[email protected]</span></li>
1579        </ul>
1580        <style id="omi-fcert-css">.fcert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:1rem}.fcert-b{display:inline-flex;align-items:center;line-height:0;opacity:.92;transition:opacity .18s ease}.fcert-b:hover{opacity:1}.fcert-b img{height:40px;width:auto;display:block;border-radius:4px}.fcert-b img[alt*="DMCA"]{height:30px;border-radius:5px}@media(max-width:600px){.fcert-b img{height:36px}.fcert-b img[alt*="DMCA"]{height:27px}}</style><div class="fcert"><a class="fcert-b" href="http://online.gov.vn/Home/WebDetails/89408" title="Đã thông báo Bộ Công Thương" target="_blank" rel="noopener nofollow"><img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/badges/bo-cong-thuong.png" alt="Đã thông báo Bộ Công Thương" loading="lazy" decoding="async"></a><a class="fcert-b" href="https://www.dmca.com/Protection/Status.aspx?ID=abdb8756-d22b-4f86-87ab-221f4425496a&#038;refurl=https://omicall.vn/" title="DMCA.com Protection Status" target="_blank" rel="noopener nofollow"><img src="https://omicall.com/wp-content/mu-plugins/omicall-2026/assets/img/badges/dmca-protected.png" alt="DMCA.com Protection Status" loading="lazy" decoding="async"></a></div>        
1581      </div>
1582      <div>
1583        <div class="fhd">Chuyên mục</div>
1584        <ul class="flinks">
1585          <li><a href="/tinh-nang/tong-dai/">Tổng đài ảo</a></li>
1586          <li><a href="/sms-brandname/">Gá»­i tin ZBS &amp; SMS</a></li>
1587          <li><a href="/tong-dai-ai/">AI Callbot &amp; Chatbot</a></li>
1588          <li><a href="/tinh-nang/omni/">Chat đa kênh</a></li>
1589          <li><a href="/tinh-nang/crm/">Quản lý khách hàng</a></li>
1590          <li><a href="/voice-brandname/">
1590Voice Brandname</a></li>
1591          <li><a href="/bang-gia/">Bảng giá</a></li>
1592          <li><a href="/case-study/">Case study</a></li>
1593          <li><a href="/blog/">Blog</a></li>
1594        </ul>
1595      </div>
1596      <div>
1597        <div class="fhd">Hỗ trợ</div>
1598        <ul class="flinks">
1599          <li><a href="https://omicrm.io/post/topic/apis-tich-hop-3?lng=vi" target="_blank" rel="noopener">Tài liệu API</a></li>
1600          <li><a href="https://omicrm.io/post/topic/huong-dan-tinh-nang-5?lng=vi" target="_blank" rel="noopener">Trung tâm trợ giúp</a></li>
1601          <li><a data-open-form>Đăng ký tư vấn</a></li>
1602          <li><a href="/chinh-sach-quyen-rieng-tu-omicall/">Chính sách bảo mật</a></li>
1603          <li><a href="/dieu-khoan-va-dieu-kien/">Điều khoản người dùng</a></li>
1604        </ul>
1605        <div class="fsocial-wrap">
1606          <div class="fsocial-lbl">Kênh chính thức</div>
1607          <div class="fsocial">
1608            <a href="https://omicall.com/" target="_blank" rel="noopener" class="fsocial-ic we" title="Website" aria-label="Website"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></a>
1609            <a href="https://www.facebook.com/omicall" target="_blank" rel="noopener" class="fsocial-ic fb" title="Facebook" aria-label="Facebook"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg></a>
1610            <a href="https://www.linkedin.com/company/omijsc" target="_blank" rel="noopener" class="fsocial-ic li" title="LinkedIn" aria-label="LinkedIn"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg></a>
1611            <a href="https://www.youtube.com/@omijsc" target="_blank" rel="noopener" class="fsocial-ic yt" title="YouTube" aria-label="YouTube"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg></a>
1612            <a href="https://www.tiktok.com/@omijsc" target="_blank" rel="noopener" class="fsocial-ic tk" title="TikTok" aria-label="TikTok"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5.8 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1.84-.1z"/></svg></a>
1613            <a href="https://zalo.me/omicall" target="_blank" rel="noopener" class="fsocial-ic za" title="Zalo OA" aria-label="Zalo OA">Zalo</a>
1614            <a href="https://wa.me/84936068980" target="_blank" rel="noopener" class="fsocial-ic wa" title="WhatsApp" aria-label="WhatsApp"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.
1614198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z"/></svg></a>
1615          </div>
1616        </div>
1617      </div>
1618    </div>
1619    <div class="fbot">
1620      <span>© OMICall. Bản quyền thuộc về OMIJSC – Thành viên ViHAT Group.</span>
1621    </div>
1622  </div>
1623</footer>
1624
1625
1626<script>
1627
1628/* ============================================================
1629   MOBILE MENU
1630   ============================================================ */
1631(function(){
1632  const toggle = document.getElementById('mnvToggle');
1633  const overlay = document.getElementById('mnvOverlay');
1634  const drawer = document.getElementById('mnvDrawer');
1635  const close = document.getElementById('mnvClose');
1636  if(!toggle || !drawer) return;
1637  function openMenu(){
1638    overlay.classList.add('open'); drawer.classList.add('open');
1639    drawer.setAttribute('aria-hidden','false');
1640    document.body.classList.add('mnv-locked');
1641  }
1642  function closeMenu(){
1643    overlay.classList.remove('open'); drawer.classList.remove('open');
1644    drawer.setAttribute('aria-hidden','true');
1645    document.body.classList.remove('mnv-locked');
1646  }
1647  toggle.addEventListener('click', openMenu);
1648  close.addEventListener('click', closeMenu);
1649  overlay.addEventListener('click', closeMenu);
1650  document.addEventListener('keydown', e => { if(e.key==='Escape' && drawer.classList.contains('open')) closeMenu(); });
1651  /* bỏ listener trùng: đã có onclick="toggleMnvGroup(this)" trên từng mục.
1652     Để cả hai thì 1 lần bấm bị đảo 2 lần -> menu không sổ ra được. */
1653})();
1654</script>
vendor: 1 bytes, line 1654
1654
1655<script>
1656// Mobile menu — inline onclick để đảm bảo chạy trong mọi môi trường (iOS Files preview, Safari quicklook...)
1657window.openMnv = function(){
1658  var o=document.getElementById('mnvOverlay'), d=document.getElementById('mnvDrawer');
1659  if(!o||!d) return;
1660  o.classList.add('open');
1661  d.classList.add('open');
1662  d.setAttribute('aria-hidden','false');
1663  document.body.classList.add('mnv-locked');
1664};
1665window.closeMnv = function(){
1666  var o=document.getElementById('mnvOverlay'), d=document.getElementById('mnvDrawer');
1667  if(!o||!d) return;
1668  o.classList.remove('open');
1669  d.classList.remove('open');
1670  d.setAttribute('aria-hidden','true');
1671  document.body.classList.remove('mnv-locked');
1672};
1673window.toggleMnvGroup = function(el){
1674  el.parentElement.classList.toggle('open');
1675};
1676</script>
1676
1677<style id="omi-no-bounce">
1678html,body{overscroll-behavior:none;overscroll-behavior-y:none;overscroll-behavior-x:none}
1679body{-webkit-overflow-scrolling:auto}
1680/* chặn trôi ngang mà KHÔNG phá thanh cuộn dọc.
1681   Dùng clip chứ KHÔNG dùng hidden: hidden trên <html> biến trang thành
1682   khung cuộn lồng nhau -> thanh cuộn của trình duyệt kéo không được. */
1683html,body{max-width:100%;overflow-x:clip}
1684/* máy cũ chưa hiểu clip: chỉ chặn ở body, KHÔNG đụng html để thanh cuộn còn nguyên */
1685@supports not (overflow-x: clip){body{overflow-x:hidden}}
1686</style>
1687<style id="omi-mobile-fix">
1688@media(max-width:640px){
1689  /* 1. Bảng rộng đã có khung cuộn ngang sẵn (.pr-cmp-scroll, .tg-cmp-wrap) — chỉ bảo đảm cuộn mượt */
1690  .pr-cmp-scroll,.tg-cmp-wrap,[class*="cmp-scroll"],[class*="cmp-wrap"]{-webkit-overflow-scrolling:touch}
1691
1692  /* 2. Không để khối nào rộng hơn màn hình */
1693  img,svg,video,iframe,pre{max-width:100%;height:auto}
1694  .pr-add-item,.tg-brand-ph,.frow-ph,.banner-wrap{max-width:100%}
1695
1696  /* 3. Nút bấm đủ lớn để chạm bằng ngón tay */
1697  .hdr-login,.hdr-register,.mnv-toggle,.mnv-close,.th-cta{min-height:42px;min-width:42px;display:inline-flex;align-items:center;justify-content:center}
1698  input,select,textarea,button[type=submit]{min-height:44px}
1699  .banner-link,.banner-cta,.banner-wrap a{min-height:40px;display:inline-flex;align-items:center}
1700  .banner-nav button,.bg-page-wrap a,.page-numbers{min-width:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center}
1701  .bg-page-wrap .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
1702  .bg-card-footer a,.it-brand-cta,.tk-btn,.dl-btn-o,.fnb-btn-o{min-height:40px;display:inline-flex;align-items:center}
1703  .pt-share-btn{width:38px!important;height:38px!important}
1704
1705  /* 4. Chữ nhỏ quá thì nâng lên cho đọc được */
1706  body{font-size:15px}
1707  .fsocial-lbl,.faddr-lbl,.fc-lbl,.stag,.ins-tag,.sol-tag,
1708  .tk-feat-tag,.it-brand-cat,.cs-chip,.banner-ph-meta,.banner-ph-chip,
1709  .bg-card-cat,.pt-cat,.nav-dd-title{font-size:.72rem!important;letter-spacing:.02em}
1710  .fdesc2,.faddr-txt,.fc-sub,.sol-desc,.ins-tdesc,.yt-tool-desc,.it-brand-desc,
1711  .cs-card-desc,.bg-card-excerpt{font-size:.82rem!important}
1712
1713  /* 4b. Menu điện thoại: mục có mũi tên và mục thường phải cùng cỡ chữ */
1714  .mnv-link,.mnv-group-title{font-size:1rem!important;font-weight:600!important}
1715  .mnv-sub{font-size:.9rem!important}
1716
1717  /* 5. Chừa chỗ cho nút hotline nổi, không che nội dung cuối trang */
1718  footer,.th-ft{padding-bottom:76px}
1719}
1720</style>
1721<script id="omicom-geo">
1722(function(){
1723  function dutru(){
1724    if (!window.omiGeo) {
1725      window.omiGeo = { ma: 'VN', la_vn: true, khi: function(cb){ try { cb('VN', true); } catch(e){} } };
1726    }
1727  }
1728  try {
1729    var G = {
1730      ma: null,
1731      la_vn: null,
1732      _xong: false,
1733      _cho: [],
1734      khi: function(cb){
1735        if (typeof cb !== 'function') return;
1736        if (this._xong) { try { cb(this.ma, this.la_vn); } catch(e){} return; }
1737        this._cho.push(cb);
1738      }
1739    };
1740    window.omiGeo = G;
1741
1742    function hople(m){ return typeof m === 'string' && /^[A-Za-z]{2}$/.test(m); }
1743
1744    function xong(ma, luu){
1745      if (G._xong) return;
1746      ma = hople(ma) ? ma.toUpperCase() : 'VN';
1747      G.ma = ma;
1748      G.la_vn = (ma === 'VN');
1749      G._xong = true;
1750      if (luu) { try { localStorage.setItem('omi_geo', JSON.stringify({ ma: ma, t: Date.now() })); } catch(e){} }
1751      var ds = G._cho; G._cho = [];
1752      for (var i = 0; i < ds.length; i++) { try { ds[i](G.ma, G.la_vn); } catch(e){} }
1753    }
1754
1755    /* (1) Ép mã quốc gia để test: ?omi_geo=US — nhớ trong sessionStorage cho các trang sau. */
1756    var ep = null;
1757    try {
1758      var m = String(location.search || '').match(/[?&]omi_geo=([A-Za-z]{2})(?:&|$)/);
1759      if (m) { ep = m[1].toUpperCase(); try { sessionStorage.setItem('omi_geo_ep', ep); } catch(e){} }
1760      else { var s = sessionStorage.getItem('omi_geo_ep'); if (hople(s)) ep = s.toUpperCase(); }
1761    } catch(e){}
1762    if (ep) { xong(ep, false); return; }
1763
1764    /* (2) Cache 7 ngày. */
1765    try {
1766      var c = JSON.parse(localStorage.getItem('omi_geo') || 'null');
1767      if (c && hople(c.ma) && (Date.now() - (Number(c.t) || 0)) < 604800000) { xong(c.ma, false); return; }
1768    } catch(e){}
1769
1770    /* Trình duyệt quá cũ (thiếu fetch/Promise/AbortController) → coi như Việt Nam. */
1771    if (typeof fetch !== 'function' || typeof Promise !== 'function' || typeof AbortController !== 'function') {
1772      xong('VN', false); return;
1773    }
1774
1775    /* (3) Ba nguồn tra IP, thử lần lượt, mỗi nguồn tối đa 2,5 giây. */
1776    var nguon = [
1777      { url: 'https://www.cloudflare.com/cdn-cgi/trace', json: false, doc: function(t){
1778          var k = String(t || '').match(/(?:^|\n)loc=([A-Za-z]{2})/); return k ? k[1] : null; } },
1779      { url: 'https://api.country.is/', json: true, doc: function(j){ return j && j.country; } },
1780      { url: 'https://get.geojs.io/v1/ip/country.json', json: true, doc: function(j){ return j && j.country; } }
1781    ];
1782
1783    function thu(i){
1784      if (i >= nguon.length) { xong('VN', false); return; }   /* (4) hỏng hết → VN, KHÔNG lưu cache */
1785      var n = nguon[i], ac = new AbortController(), het = false;
1786      var hg = setTimeout(function(){ het = true; try { ac.abort(); } catch(e){} }, 2500);
1787      try {
1788        fetch(n.url, { signal: ac.signal, cache: 'no-store', credentials: 'omit' })
1789          .then(function(r){ if (!r || !r.ok) throw new Error('http'); return n.json ? r.json() : r.text(); })
1790          .then(function(d){
1791            clearTimeout(hg);
1792            if (het) return;
1793            var ma = null; try { ma = n.doc(d); } catch(e){}
1794            if (hople(ma)) xong(ma, true); else thu(i + 1);
1795          })
1796          .catch(function(){ clearTimeout(hg); thu(i + 1); });
1797      } catch(e){ clearTimeout(hg); thu(i + 1); }
1798    }
1799    thu(0);
1800  } catch(e) { dutru(); }
1801})();
1802</script>
1802<script>
1803(function(){
1804  var SKIP = {SCRIPT:1,STYLE:1,CODE:1,PRE:1,TEXTAREA:1,INPUT:1,SELECT:1,OPTION:1,SVG:1};
1805  var SEL = 'h1,h2,h3,h4,h5,h6,p,li,td,th,figcaption,blockquote,dd,dt,a,span,div,button,label,strong,em';
1806  var MAX_PAIR = 24;               // 2 chữ cuối dài quá thì thôi, nối vào sẽ hở dòng xấu
1807  function fix(root){
1808    var els = root.querySelectorAll(SEL), i, el;
1809    for(i=0;i<els.length;i++){
1810      el = els[i];
1811      if(SKIP[el.tagName]) continue;
1812      if(el.closest('[data-widow="off"]')) continue;
1813      // khối bị khoá số dòng (line-clamp): nối chữ có thể làm đổi số dòng -> nháy, bỏ qua
1814      if(getComputedStyle(el).webkitLineClamp !== 'none') continue;
1815      // phần tử inline GIỮA DÒNG (còn chữ phía sau trong cùng dòng chảy) thì bỏ qua:
1816      // ghi lại text node sẽ cắt mất dấu cách cuối, chữ dính vào chữ kế sau
1817      // (vụ /fmm-la-gi/ 21/8: "kết nối " trong span + <b>Meta...</b> thành "kết nốiMeta").
1818      // Đi ngược lên hết chuỗi cha inline — dấu cách ngăn cách có thể nằm ở tầng cha.
1819      var cur = el, sauEl = '';
1820      while(cur && cur.nodeType === 1 && getComputedStyle(cur).display === 'inline'){
1821        var nx = cur.nextSibling;
1822        while(nx){ sauEl += nx.textContent || ''; nx = nx.nextSibling; }
1823        if(/\S/.test(sauEl)) break;
1824        cur = cur.parentNode;
1825      }
1826      if(/\S/.test(sauEl)) continue;
1827      // lấy text node CUỐI CÙNG có chữ trong khối (kể cả nằm trong <b>, <strong>...)
1828      var tn = null, w = document.createTreeWalker(el, NodeFilter.SHOW_TEXT), t;
1829      while(t = w.nextNode()){ if(/\S/.test(t.nodeValue)) tn = t; }
1830      if(!tn) continue;
1831      var v = tn.nodeValue.replace(/\s+$/,'');
1832      var m = v.match(/(\S+)(\s+)(\S+)$/);
1833      if(!m) continue;                                   // ít hơn 2 chữ
1834      if(m[2].indexOf('\u00A0')>-1) continue;            // đã nối rồi
1835      if((m[1].length+m[3].length) > MAX_PAIR) continue;
1836      tn.nodeValue = v.slice(0, v.length-m[0].length) + m[1] + '\u00A0' + m[3];
1837    }
1838  }
1839  function run(){ try{ fix(document); }catch(e){} }
1840  run();
1841  // nhiều trang dựng thêm nội dung bằng JS sau khi tải -> chạy lại vài lần cho phủ hết
1842  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', run);
1843  window.addEventListener('load', run);
1844  // trang nào dựng nội dung bằng JS (tab, bộ lọc, slider) -> tự chạy lại khi DOM đổi
1845  if(window.MutationObserver){
1846    var t=null;
1847    new MutationObserver(function(){ clearTimeout(t); t=setTimeout(run,120); })
1848      .observe(document.documentElement,{childList:true,subtree:true});
1849  }
1850  window.omiFixWidows = run;      // gọi lại được sau khi chèn nội dung động
1851})();
1852</script>
1852
1853<style id="omi-hotline-css">
1854/* 20/8 chỉnh lần 3 (anh chốt): 2 NÚT riêng xếp NGANG, nhãn HOTLINE 1 / HOTLINE 2,
1855   mỗi nút một số, giữ nguyên dáng pill gốc của .vn. */
1856.omi-hl-wrap{position:fixed;left:18px;bottom:18px;z-index:9998;display:flex;flex-direction:row;gap:10px;align-items:center}
1857.omi-hl{display:inline-flex;align-items:center;gap:10px;
1858  padding:9px 18px 9px 9px;border-radius:100px;background:#fff;text-decoration:none;
1859  font-family:'Be Vietnam Pro',system-ui,sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.01em;
1860  box-shadow:0 8px 28px rgba(8,37,64,.16),0 0 0 1px rgba(8,37,64,.06);transition:transform .2s,box-shadow .2s}
1861/* màu khai THẲNG cho cả :link và :visited — trình duyệt chặn màu kế thừa ở :visited */
1862.omi-hl:link,.omi-hl:visited{color:#0b2540}
1863.omi-hl:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(8,37,64,.22),0 0 0 1px rgba(0,177,255,.35)}
1864.omi-hl-ic{position:relative;width:40px;height:40px;border-radius:50%;flex-shrink:0;
1865  background:linear-gradient(135deg,#00B1FF,#0080c0);display:flex;align-items:center;justify-content:center;color:#fff}
1866.omi-hl-ic svg{width:19px;height:19px}
1867.omi-hl-ic::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(0,177,255,.55);
1868  animation:omiHlRing 2s ease-out infinite}
1869@keyframes omiHlRing{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.55);opacity:0}}
1870/* Hotline 2 màu XANH LÁ (anh chốt 20/8) — đúng #88C030 của bộ nhận diện ViHAT/OMICALL,
1871   sắc đậm pha từ chính nó, không đẻ màu ngoài bảng. */
1872.omi-hl.xanh-la .omi-hl-ic{background:linear-gradient(135deg,#88C030,#648F20)}
1873.omi-hl.xanh-la .omi-hl-ic::after{border-color:rgba(136,192,48,.55)}
1874.omi-hl.xanh-la:hover{box-shadow:0 12px 34px rgba(8,37,64,.22),0 0 0 1px rgba(136,192,48,.35)}
1875.omi-hl-txt{display:flex;flex-direction:column;line-height:1.15;align-items:stretch}
1876/* nhãn trên giãn đều cho bằng đúng bề ngang số điện thoại bên dưới */
1877.omi-hl-txt small{display:block;width:100%;font-size:.62rem;font-weight:700;white-space:nowrap;color:#64748b;text-transform:uppercase;margin-bottom:1px}
1878.omi-hl-num{font-variant-numeric:tabular-nums;letter-spacing:.02em}
1879/* hai vòng nhịp so le cho đỡ rối mắt: nút trên trễ 1s */
1880.omi-hl:first-child .omi-hl-ic::after{animation-delay:1s}
1881@media(prefers-reduced-motion:reduce){.omi-hl-ic::after{animation:none}}
1882@media(max-width:640px){
1883  .omi-hl-wrap{left:14px;bottom:14px;gap:8px}
1884  .omi-hl{padding:6px;gap:0}
1885  .omi-hl .omi-hl-txt{display:none}
1886}
1887@media print{.omi-hl-wrap{display:none}}
1888</style>
1889<div class="omi-hl-wrap" data-widow="off">
1890  <a class="omi-hl" href="tel:19000211" aria-label="Gọi Hotline 1 OMICall 1900 0211">
1891    <span class="omi-hl-ic">
1892      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
1893    </span>
1894    <span class="omi-hl-txt"><small>Hotline 1</small><span class="omi-hl-num">1900 0211</span></span>
1895  </a>
1896  <a class="omi-hl xanh-la" href="tel:02871010898" aria-label="Gọi Hotline 2 OMICall 0287 1010 898">
1897    <span class="omi-hl-ic">
1898      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
1899    </span>
1900    <span class="omi-hl-txt"><small>Hotline 2</small><span class="omi-hl-num">0287 1010 898</span></span>
1901  </a>
1902</div>
1903<script>
1904(function(){
1905  // Giãn đều chữ "Tư vấn miễn phí" cho bằng đúng bề ngang dòng số điện thoại
1906  function canhNhan(){
1907    // 20/8: 2 nút riêng — MỖI nút tự giãn nhãn cho bằng bề ngang số của chính nó
1908    var cacNut = document.querySelectorAll('.omi-hl');
1909    for(var i = 0; i < cacNut.length; i++){
1910      var lbl = cacNut[i].querySelector('.omi-hl-txt small');
1911      var num = cacNut[i].querySelector('.omi-hl-num');
1912      if(!lbl || !num) continue;
1913      lbl.style.letterSpacing = '0px';
1914      var rongSo = num.getBoundingClientRect().width;
1915      // đo bề ngang THẬT của chữ: tạm cho ô co lại theo nội dung rồi trả về như cũ
1916      var wCu = lbl.style.width, dCu = lbl.style.display;
1917      lbl.style.display = 'inline-block'; lbl.style.width = 'auto';
1918      var rongNhan = lbl.getBoundingClientRect().width;
1919      lbl.style.display = dCu || 'block'; lbl.style.width = wCu || '100%';
1920      var soKhoang = Math.max(lbl.textContent.trim().length - 1, 1);
1921      var them = (rongSo - rongNhan) / soKhoang;
1922      if(them > 0) lbl.style.letterSpacing = them.toFixed(3) + 'px';
1923    }
1924  }
1925  if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', canhNhan);
1926  else canhNhan();
1927  window.addEventListener('load', canhNhan);
1928  if(document.fonts && document.fonts.ready) document.fonts.ready.then(canhNhan);
1929  window.addEventListener('resize', canhNhan);
1930})();
1931</script>
1931
1932<style id="omi-hide-hfcm-hotline">
1933/* Nút HFCM #4 vẫn được in ra (không gỡ snippet — 90 trang Elementor cũ còn dùng),
1934   nhưng trên trang mới mình dùng nút .omi-hl tự chứa CSS nên ẩn cái này đi.
1935   Ẩn bằng CSS là đúng chỗ ở đây: markup do plugin khác in ở wp_footer, mình không
1936   sở hữu nó; và mục tiêu là KHÔNG hiện hai nút, chứ không phải cắt bỏ của người khác. */
1937.hotline-phone-ring-wrap { display: none !important; }
1938</style>
1939<style id="omi-fit-css">
1940.bg-card-img,.it-brand-banner,.cs-card-banner{position:relative;overflow:hidden;background:#f1f5f9}
1941.bg-card-img img,.it-brand-banner img,.cs-card-banner img,.banner-slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important}
1942/* WordPress đổi emoji (⭐ …) thành <img class="emoji"> — thiếu CSS gò cỡ thì ảnh phình
1943   to bằng khung cha (bug sao khổng lồ ở /tinh-nang/omni). Gò về đúng cỡ chữ như WP chuẩn. */
1944img.emoji,img.wp-smiley{display:inline-block!important;width:1em!important;height:1em!important;
1945  margin:0 .05em 0 .1em!important;vertical-align:-.15em!important;background:none!important;
1946  border:none!important;box-shadow:none!important;padding:0!important;object-fit:contain!important}
1947.omi-fit-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
1948  filter:blur(22px) saturate(1.25);transform:scale(1.2);opacity:.65;pointer-events:none}
1949</style>
1950<script>
1951(function(){
1952  var KHUNG_LIST = ['.bg-card-img', '.it-brand-banner', '.cs-card-banner', '.banner-slide'];
1953  var KHUNG = KHUNG_LIST.join(', ');
1954  // LƯU Ý: '.a, .b' + ' img' ra '.a, .b img' -> SAI. Phải ghép từng cái một.
1955  var SEL_IMG = KHUNG_LIST.map(function(k){ return k + ' img'; }).join(', ');
1956  function lapNen(img){
1957    var box = img.closest(KHUNG);
1958    if(!box || box.querySelector('.omi-fit-bg')) return;
1959    var src = img.currentSrc || img.src;
1960    if(!src) return;
1961    // ảnh đã đúng 16:9 thì không cần nền mờ
1962    var tl = img.naturalWidth && img.naturalHeight ? img.naturalWidth / img.naturalHeight : 0;
1963    if(tl && Math.abs(tl - 16/9) < 0.04) return;
1964    var bg = document.createElement('div');
1965    bg.className = 'omi-fit-bg';
1966    bg.style.backgroundImage = 'url("' + src.replace(/"/g, '%22') + '")';
1967    box.insertBefore(bg, box.firstChild);
1968  }
1969  function chay(){
1970    document.querySelectorAll(SEL_IMG).forEach(function(img){
1971      if(img.complete && img.naturalWidth) lapNen(img);
1972      else img.addEventListener('load', function(){ lapNen(img); }, {once:true});
1973    });
1974  }
1975  if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', chay);
1976  else chay();
1977  window.addEventListener('load', chay);
1978  if(window.MutationObserver){
1979    var t=null;
1980    new MutationObserver(function(){ clearTimeout(t); t=setTimeout(chay,150); })
1981      .observe(document.documentElement,{childList:true,subtree:true});
1982  }
1983})();
1984</script>
1984
1985<style id="omi-hl-dau-tieng-viet">
1986h1 .hl, h2 .hl, h3 .hl, .tk-hero h1 .hl, .hero h1 .hl {
1987  padding-top: .16em; padding-bottom: .16em;
1988  margin-top: -.16em; margin-bottom: -.16em;
1989}
1990</style>
1991<script type="speculationrules">
1992{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/mu-plugins/omicall-2026/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1993</script>
1993
1994<!-- HFCM by 99 Robots - Snippet # 1: Live Talk (omicall-2026: chỉ tải khi IP Việt Nam) -->
1995<script type="text/javascript">
1996(function(){
1997  function chay(){
1998    var d = window.document;
1999    var doc = new Proxy(d, { get: function(t, k){
2000      if (k === 'addEventListener') return function(ev, fn, o){
2001        if (ev === 'DOMContentLoaded' && t.readyState !== 'loading') { try { fn(); } catch(_){} return; }
2002        return t.addEventListener(ev, fn, o);
2003      };
2004      var v = t[k]; return (typeof v === 'function') ? v.bind(t) : v;
2005    }});
2006    (function(document){ document.addEventListener("DOMContentLoaded",()=>{let e=[["utm_source","GoogleSEO"],["utm_medium","blog"],["utm_campaign","seoomicall.com"],["utm_id","SSS200"],];function t(e){let t=[...e.matchAll(/[?&](utm_[^=]+)=[^&]+/g)].map(e=>e[0].replace(/^[?&]/,""));return t.map(e=>e.split("="))}let{search:a}=location,m=t(a);Object.keys(m).length||(m=e),document.querySelectorAll('a[href*="omicrm"]').forEach(e=>{let t=new URL(e.href);m.forEach(([e,a])=>{t.searchParams.append(e,a)}),e.href=t.toString()});let r="vihat",i=encodeURIComponent(JSON.stringify(Object.from
2006Entries(m))),l=document.createElement("script");l.id="omiLiveTalk",l.type="text/javascript",l.src=`https://cdn.omicrm.com/script/livetalk/main.js#domain=${r};utm_params=${i}`,document.head.appendChild(l)}); })(doc);
2007  }
2008  if (window.omiGeo && typeof window.omiGeo.khi === 'function') window.omiGeo.khi(function(ma, la_vn){ if (la_vn) chay(); });
2009  else chay();
2010})();
2011</script>
2011
2012<!-- /end HFCM by 99 Robots -->
2013<!-- HFCM by 99 Robots - Snippet # 4: Nut Gọi Call -->
2014<div class="hotline-phone-ring-wrap">
2015	<div class="hotline-phone-ring">
2016		<div class="hotline-phone-ring-circle"></div>
2017		<div class="hotline-phone-ring-circle-fill"></div>
2018		<div class="hotline-phone-ring-img-circle">
2019		<a href="tel:02871010898" class="pps-btn-img">
2020			<img src="https://omicall.com/wp-content/uploads/icon-call-nh.png" alt="Gọi điện thoại" width="50">
2021		</a>
2022		</div>
2023	</div>
2024	<div class="hotline-bar">
2025		<a href="tel:02871010898">
2026			<span class="text-hotline">1900 0211</span>
2027		</a>
2028	</div>
2029</div>
2030<!-- /end HFCM by 99 Robots -->
2031<!-- HFCM by 99 Robots - Snippet # 7: Google Tag Manager Body -->
2032<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 2032-2033
2032
2033<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2033GTM-MWPHSFHG
vendor: 85 bytes, lines 2033-2034
2033"
2034height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2035<!-- End Google Tag Manager (noscript) -->
2036<!-- /end HFCM by 99 Robots -->
2037<script id='kirki-viewport-lists'>var kirkiViewports = {"md":{"value":1200,"scale":1,"minWidth":1200,"maxWidth":1200,"title":"Desktop","icon":"desktop","activeIcon":"desktop-hover","id":"md","type":"max"},"tablet":{"value":991,"scale":1,"minWidth":991,"maxWidth":991,"title":"Tablet","icon":"tablet-default","activeIcon":"tablet-hover","type":"max","id":"tablet"},"mobileLandscape":{"value":767,"scale":1,"minWidth":767,"maxWidth":767,"title":"Landscape","icon":"phone-hr-default","activeIcon":"phone-hr-hover","type":"max","id":"mobileLandscape"},"mobile":{"value":575,"scale":1,"minWidth":575,"maxWidth":575,"title":"Mobile","icon":"phone-vr-default","activeIcon":"phone-vr-hover","type":"max","id":"mobile"}};</script>
2037<script id='kirki-variable-lists'>var kirkiCSSVariable = {"data":[{"title":"Colors","key":"color","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Numbers","key":"size","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Text Styles","key":"text-style","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Font Family","key":"font-family","modes":[{"title":"Default","key":"default"}],"variables":[]}]};</script>
2037<script id="kirki-api-and-nonce">
2038    window.wp_kirki = {
2039        ajaxUrl: "https://omicall.com/wp-admin/admin-ajax.php",
2040        restUrl: "https://omicall.com/wp-json/",
2041        siteUrl: "https://omicall.com",
2042        apiVersion: "v1",
2043        postId: "1215",
2044        nonce: "24e78d02fd",
2045        call_from: "",
2046        templateId: "",
2047        context: {"id":1215,"type":"post"}
2048    };
2049    </script>
2049<a id="back-to-top" href="#" class="show"><i class="flaticon-arrow-pointing-to-up"></i></a>			
2049<script>
2050				( () => {
2051					const lazyloadRunObserver = () => {
2052						const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
2053						const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
2054							entries.forEach( ( entry ) => {
2055								if ( entry.isIntersecting ) {
2056									let lazyloadBackground = entry.target;
2057									if( lazyloadBackground ) {
2058										lazyloadBackground.classList.add( 'e-lazyloaded' );
2059									}
2060									lazyloadBackgroundObserver.unobserve( entry.target );
2061								}
2062							});
2063						}, { rootMargin: '200px 0px 200px 0px' } );
2064						lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
2065							lazyloadBackgroundObserver.observe( lazyloadBackground );
2066						} );
2067					};
2068					const events = [
2069						'DOMContentLoaded',
2070						'elementor/lazyload/observe',
2071					];
2072					events.forEach( ( event ) => {
2073						document.addEventListener( event, lazyloadRunObserver );
2074					} );
2075				} )();
2076			</script>
2076
2077			<div id="omiLb" role="dialog" aria-modal="true" aria-label="Xem ảnh phóng to">
2078  <button type="button" class="omiLb-close" aria-label="Đóng">&times;</button>
2079  <img src="" alt="">
2080</div>
2081<script>
2082(function(){
2083  var lb=document.getElementById('omiLb'); if(!lb) return;
2084  var big=lb.querySelector('img');
2085  function open(src,alt){ big.src=src; big.alt=alt||''; lb.classList.add('open'); document.body.style.overflow='hidden'; }
2086  function close(){ lb.classList.remove('open'); document.body.style.overflow=''; big.removeAttribute('src'); }
2087  document.querySelectorAll('.pt-content img').forEach(function(im){
2088    im.style.cursor='zoom-in';
2089    im.addEventListener('click', function(e){ e.preventDefault(); open(im.currentSrc||im.src, im.alt); });
2090  });
2091  lb.addEventListener('click', function(e){ if(e.target!==big) close(); });
2092  document.addEventListener('keydown', function(e){ if(e.key==='Escape' && lb.classList.contains('open')) close(); });
2093})();
2094</script>
2094
2095<style id="omif-shared-css">
2096.omif-overlay{position:fixed;inset:0;background:rgba(12,25,40,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9999;display:none;align-items:center;justify-content:center;padding:1rem;opacity:0;transition:opacity .25s}
2097.omif-overlay.open{display:flex;opacity:1}
2098.omif-modal{background:#fff;border-radius:20px;width:100%;max-width:540px;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translateY(30px) scale(.96);transition:transform .35s cubic-bezier(.2,.9,.3,1.15);font-family:'Be Vietnam Pro',sans-serif;scrollbar-width:thin;scrollbar-color:rgba(0,177,255,.4) transparent;clip-path:inset(0 round 20px)}
2099.omif-modal::-webkit-scrollbar{width:8px}
2100.omif-modal::-webkit-scrollbar-track{background:transparent;margin:14px 0}
2101.omif-modal::-webkit-scrollbar-thumb{background:rgba(0,177,255,.35);border-radius:10px;border:2px solid #fff;background-clip:padding-box}
2102.omif-modal::-webkit-scrollbar-thumb:hover{background:rgba(0,177,255,.6);border:2px solid #fff;background-clip:padding-box}
2103.omif-overlay.open .omif-modal{transform:translateY(0) scale(1)}
2104.omif-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:18px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:all .2s;font-family:inherit;line-height:1;padding:0}
2105.omif-close:hover{background:rgba(255,255,255,.35);transform:rotate(90deg)}
2106.omif-hero{padding:2rem 1.75rem 1.5rem;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,#00B1FF 0%,#0080c0 40%,#0e7490 80%,#14b8a6 100%)}
2107.omif-hero::before{content:'';position:absolute;top:-40%;right:-20%;width:70%;height:180%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%);pointer-events:none}
2108.omif-hero::after{content:'';position:absolute;bottom:-30%;left:-10%;width:50%;height:120%;background:radial-gradient(circle,rgba(86,204,110,.2),transparent 60%);pointer-events:none}
2109.omif-hero-in{position:relative;z-index:1}
2110.omif-hero-tag{display:inline-block;background:rgba(255,255,255,.2);padding:4px 12px;border-radius:100px;font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.875rem;border:1px solid rgba(255,255,255,.25)}
2111.omif-hero h3{font-size:1.5rem;font-weight:900;letter-spacing:-.4px;margin-bottom:.375rem;line-height:1.25;color:#fff}
2112.omif-hero p{font-size:.88rem;color:rgba(255,255,255,.85);line-height:1.5}
2113.omif-form{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:.875rem}
2114.omif-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
2115.omif-form label,.omif-form .omif-fld{display:flex;flex-direction:column;gap:.375rem}
2116.omif-form label>span,.omif-form .omif-fld>span{font-size:.75rem;font-weight:700;color:var(--tx,#0c1928);letter-spacing:.2px}
2117.omif-form label>span .req,.omif-form .omif-fld>span .req{color:#ef4444;margin-left:2px}
2118.omif-form input[type=text],.omif-form input[type=tel],.omif-form input[type=email],.omif-form select,.omif-form textarea{padding:.7rem .875rem;border:1px solid var(--br,#e2e8f0);border-radius:10px;font-size:.9rem;font-family:inherit;color:var(--tx,#0c1928);background:var(--sf,#f8fafc);transition:all .2s;width:100%;resize:vertical}
2119.omif-form input:focus,.omif-form select:focus,.omif-form textarea:focus{outline:none;border-color:var(--blue,#00B1FF);background:#fff;box-shadow:0 0 0 3px rgba(0,177,255,.12)}
2120/* Form bản nước ngoài (22/9/2026): select dùng lại đúng khuôn ô nhập, mũi tên vẽ bằng
2121   SVG data-uri màu --mu (#64748b) để không thêm màu mới; ô mã vùng chỉ đọc nên nền xám nhạt. */
2122.omif-form select,.omif-form select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.75 6 6.25 11 1.75'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:11px 8px}
2123.omif-form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.2rem;cursor:pointer}
2124.omif-form input[readonly]{background:#eef2f7;color:var(--mu,#64748b)}
2125/* Ô QUỐC GIA — bản 2 (anh chốt 22/9/2026 sau khi xem trên Mac): 242 nước nhét vào
2126   <select> thì menu sổ xuống là của HỆ ĐIỀU HÀNH (xấu, không đồng bộ) và KHÔNG gõ
2127   tìm được → bỏ select gốc, tự dựng ô gõ tìm. Màu/bóng đều bê từ khuôn đã có trong
2128   tệp này (#e6f7fe của .omif-chip input:checked+span, bóng nhẹ kiểu modal), không
2129   thêm màu mới. Popup dùng position:absolute vì .omif-modal có overflow-y:auto +
2130   clip-path — position:fixed sẽ bị cắt/lệch khi cuộn. */
2131.omif-cb{position:relative}
2132.omif-cb>input[type=text],.omif-cb>input[type=text]:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.75 6 6.25 11 1.75'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:11px 8px;padding-right:2.2rem}
2133.omif-cb-pop{position:absolute;
2133left:0;right:0;top:calc(100% + 4px);z-index:5;background:#fff;border:1px solid var(--br,#e2e8f0);border-radius:10px;max-height:220px;overflow-y:auto;margin:0;padding:.35rem;list-style:none;box-shadow:0 12px 32px rgba(12,25,40,.12)}
2134.omif-cb-pop[hidden]{display:none}
2135.omif-cb-pop li{padding:.5rem .7rem;border-radius:8px;font-size:.9rem;cursor:pointer;color:var(--tx,#0c1928)}
2136.omif-cb-pop li:hover,.omif-cb-pop li.on{background:#e6f7fe;color:var(--bd,#0080c0)}
2137.omif-cb-pop li.chon::after{content:'✓';float:right;font-weight:800;color:var(--bd,#0080c0)}
2138.omif-cb-pop li.trong,.omif-cb-pop li.trong:hover{color:var(--mu,#64748b);cursor:default;background:transparent}
2139.omif-qt{display:flex;flex-direction:column;gap:.875rem}
2140.omif-qt .omif-row{align-items:end}   /* nhãn xuống 2 dòng vẫn phải thẳng đáy với ô bên cạnh */
2141.omif-form.omif-nuoc-ngoai .omif-row-1{grid-template-columns:1fr}
2142.omif-vn[hidden],.omif-qt[hidden]{display:none!important}
2143.omif-form textarea{min-height:72px;font-family:inherit;line-height:1.5}
2144.omif-region{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
2145.omif-chip{position:relative;cursor:pointer;margin:0}
2146.omif-chip input[type=radio]{position:absolute;opacity:0;pointer-events:none}
2147.omif-chip>span{display:block;padding:.55rem .5rem;border:1.5px solid var(--br,#e2e8f0);border-radius:10px;font-size:.82rem;font-weight:600;color:var(--mu,#64748b);text-align:center;background:var(--sf,#f8fafc);transition:all .15s}
2148.omif-chip:hover>span{border-color:var(--blue,#00B1FF);color:var(--blue,#00B1FF)}
2149.omif-chip input:checked+span{background:linear-gradient(135deg,#e6f7fe,#d0f0ff);border-color:var(--blue,#00B1FF);color:var(--bd,#0080c0);font-weight:800;box-shadow:0 2px 8px rgba(0,177,255,.18)}
2150.omif-submit{margin-top:.5rem;padding:.95rem 1.5rem;border:none;border-radius:12px;font-size:.95rem;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#00B1FF 0%,#0080c0 50%,#0e7490 100%);box-shadow:0 8px 24px rgba(0,177,255,.3);transition:all .25s;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.2px}
2151.omif-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,177,255,.4)}
2152.omif-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
2153.omif-msg{margin-top:.25rem;font-size:.82rem;text-align:center;padding:.5rem .75rem;border-radius:8px;display:none;line-height:1.5}
2154.omif-msg.ok{display:block;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
2155.omif-msg.err{display:block;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
2156.omif-trust{margin-top:.25rem;font-size:.72rem;color:var(--li,#94a3b8);text-align:center;line-height:1.5}
2157body.omif-locked{overflow:hidden}
2158@media(max-width:640px){
2159  .omif-modal{max-height:94vh;border-radius:16px}
2160  .omif-hero{padding:1.75rem 1.25rem 1.25rem}
2161  .omif-hero h3{font-size:1.3rem}
2162  .omif-form{padding:1.25rem 1.25rem 1.5rem;gap:.75rem}
2163  .omif-row{grid-template-columns:1fr}
2164  .omif-region{grid-template-columns:1fr}
2165  .omif-qt{gap:.75rem}
2166}
2167</style>
2168<script id="wp-emoji-settings" type="application/json">
2169{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://omicall.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
2170</script>
vendor: 1 bytes, line 2170
2170
2171<script type="module">
2172/*! This file is auto-generated */
2173var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
2174//# sourceURL=https://omicall.com/wp-includes/js/wp-emoji-loader.min.js
2175</script>
2175
2176<div class="omif-overlay" id="omiForm" role="dialog" aria-modal="true" aria-labelledby="omiFormTitle">
2177  <div class="omif-modal">
2178    <button type="button" class="omif-close" aria-label="Đóng">&times;</button>
2179    <div class="omif-hero">
2180      <div class="omif-hero-in">
2181        <div class="omif-hero-tag">Đăng ký tư vấn &middot; Miễn phí</div>
2182        <h3 id="omiFormTitle">Đặt lịch tư vấn 1:1 với chuyên gia OMICall</h3>
2183        <p>Để lại thông tin — chuyên gia OMICall sẽ liên hệ trong 1 giờ để tư vấn giải pháp phù hợp với bạn.</p>
2184      </div>
2185    </div>
2186    <form class="omif-form" id="omiFormEl" novalidate>
2187      <div class="omif-row omif-row-1">
2188        <label><span>Họ &amp; tên <span class="req">*</span></span><input type="text" name="name" required placeholder="Nguyễn Văn A"></label>
2189        <label class="omif-vn"><span>Số điện thoại <span class="req">*</span></span><input type="tel" name="phone" required placeholder="0912 345 678" pattern="[0-9\s+().-]{8,}"></label>
2190      </div>
2191      <div class="omif-qt" hidden>
2192        <div class="omif-fld">
2193          <span>Quốc gia <span class="req">*</span></span>
2194          <div class="omif-cb">
2195            <input type="text" name="country_search" autocomplete="off" disabled placeholder="Gõ tên nước hoặc mã vùng…" role="combobox" aria-expanded="false" aria-autocomplete="list" aria-controls="omifCbPop">
2196            <input type="hidden" name="country">
2197            <ul class="omif-cb-pop" id="omifCbPop" hidden role="listbox"></ul>
2198          </div>
2199        </div>
2200        <div class="omif-row">
2201          <label><span>Mã vùng <span class="req">*</span></span><input type="text" name="phone_code" readonly value="+84"></label>
2202          <label><span>Số điện thoại <span class="req">*</span></span><input type="tel" name="phone_intl" disabled placeholder="912 345 678" pattern="[0-9\s().-]{6,15}"></label>
2203        </div>
2204        <label>
2205          <span>Ứng dụng chat</span>
2206          <div class="omif-region omif-chat">
2207            <label class="omif-chip"><input type="radio" name="chat_app" value="whatsapp" disabled><span>WhatsApp</span></label>
2208            <label class="omif-chip"><input type="radio" name="chat_app" value="viber" disabled><span>Viber</span></label>
2209            <label class="omif-chip"><input type="radio" name="chat_app" value="telegram" disabled><span>Telegram</span></label>
2210          </div>
2211        </label>
2212        <label><span>Số WhatsApp / Viber / Telegram (tuỳ chọn)</span><input type="tel" name="chat_number" disabled placeholder="+1 555 123 4567"></label>
2213      </div>
2214      <label><span>Email <span class="req">*</span></span><input type="email" name="email" required placeholder="[email protected]"></label>
2215      <label class="omif-vn">
2216        <span>Khu vá»±c <span class="req">*</span></span>
2217        <div class="omif-region">
2218          <label class="omif-chip"><input type="radio" name="region" value="Miền Bắc" required><span>Miền Bắc</span></label>
2219          <label class="omif-chip"><input type="radio" name="region" value="Miền Trung"><span>Miền Trung</span></label>
2220          <label class="omif-chip"><input type="radio" name="region" value="Miền Nam"><span>Miền Nam</span></label>
2221        </div>
2222      </label>
2223      <label><span>Tên công ty</span><input type="text" name="company" placeholder="Công ty TNHH ABC"></label>
2224      <label><span>Ghi chú</span><textarea name="note" placeholder="Ngành nghề, quy mô đội, hoặc vấn đề cụ thể bạn đang cần tư vấn…"></textarea></label>
2225      <button type="submit" class="omif-submit">Gửi yêu cầu tư vấn →</button>
2226      <div class="omif-msg" id="omiFormMsg"></div>
2227      <div class="omif-trust">Thông tin của bạn được bảo mật</div>
2228    </form>
2229  </div>
2230</div>
2231<script>
2232(function(){
2233  // Lấy từ `ban-do.php`. Bản .vn hard-code endpoint STAGING (`external-v1-stg`) —
2234  // KHÔNG mang lên tên miền chính. Rỗng thì form không gửi, xem khối chặn bên dưới.
2235  // Ngôn ngữ phụ (Lào) có webhook + hotline + utm_source riêng — xem OMICOM_NGON_NGU
2236  // trong `ban-do.php`. Thiếu cấu hình thì rơi về hằng số bản tiếng Việt.
2237  var OMIF_WEBHOOK = "https:\/\/external-v1-stg.omicrm.com\/api\/campaign\/webhook\/5cbfc17a580dd80007ffc32a-aZTAsPTl3J3qCT3J0zQA";
2238  // Nơi nhận lead nước ngoài (theo IP, 22/9/2026) — khai ở `ban-do.php`. Rỗng thì
2239  // rơi về webhook thường để không mất lead.
2240  var OMIF_WEBHOOK_QT = "https:\/\/external-v1-stg.omicrm.com\/api\/campaign\/webhook\/5cbfc17a580dd80007ffc32a-TNFT5fPwlA5A6Va8VvwZ";
2241  var OMIF_HOTLINE = "02871010898";
2242  var OMIF_GA4_LEAD = "generate_lead";
2243  var OMIF_UTM_SOURCE = "";
2244  var OMIF_LANG = "vi";
2245  var overlay = document.getElementById('omiForm');
2246  if(!overlay) return;
2247  var form = document.getElementById('omiFormEl');
2248  var msg = document.getElementById('omiFormMsg');
2249  var submitBtn = form.querySelector('.omif-submit');
2250  var noteField = form.querySelector('textarea[name="note"]');
2251  var selectedPlan = '';
2252
2253  /* ---- RẼ NHÁNH THEO IP (anh chốt 22/9/2026) --------------------------------
2254     `window.omiGeo` do `geo.php` dựng: { ma, la_vn, khi(cb) } — khi(cb) gọi cb(ma, la_vn)
2255     đúng một lần khi đã biết. Không có omiGeo (tệp chưa lên) → coi như khách Việt Nam,
2256     form giữ nguyên như cũ. Nhãn vẫn theo ngôn ngữ trang, chỉ các ô là đổi. */
2257  var laVN = true, geoMa = '';
2258  var khoiVN = form.querySelectorAll('.omif-vn');
2259  var khoiQT = form.querySelectorAll('.omif-qt');
2260  var oCountryS = form.querySelector('input[name="country_search"]');   // ô gõ tìm (hiển thị)
2261  var oCountryH = form.querySelector('input[name="country"]');          // giá trị thật: ISO-2
2262  var cbPop = form.querySelector('.omif-cb-pop');
2263  var oPhoneCode = form.querySelector('input[name="phone_code"]');
2264  var oPhoneIntl = form.querySelector('input[name="phone_intl"]');
2265  var oPhoneVN = form.querySelector('input[name="phone"]');
2266
2267  /* Bảng 242 nước in ra một lần, dạng { ISO: [tên EN, mã vùng] } — dùng cho cả ô gõ
2268     tìm lẫn payload (khoá `country` gửi đi là TÊN, `country_code` là ISO). */
2269  var OMIF_QG = {"AF":["Afghanistan","93"],"AL":["Albania","355"],"DZ":["Algeria","213"],"AS":["American Samoa","1"],"AD":["Andorra","376"],"AO":["Angola","244"],"AI":["Anguilla","1"],"AG":["Antigua and Barbuda","1"],"AR":["Argentina","54"],"AM":["Armenia","374"],"AW":["Aruba","297"],"AU":["Australia","61"],"AT":["Austria","43"],"AZ":["Azerbaijan","994"],"BS":["Bahamas","1"],"BH":["Bahrain","973"],"BD":["Bangladesh","880"],"BB":["Barbados","1"],"BY":["Belarus","375"],"BE":["Belgium","32"],"BZ":["Belize","501"],"BJ":["Benin","229"],"BM":["Bermuda","1"],"BT":["Bhutan","975"],"BO":["Bolivia","591"],"BQ":["Bonaire, Sint Eustatius and Saba","599"],"BA":["Bosnia and Herzegovina","387"],"BW":["Botswana","267"],"BR":["Brazil","55"],"IO":["British Indian Ocean Territory","246"],"BN":["Brunei","673"],"BG":["Bulgaria","359"],"BF":["Burkina Faso","226"],"BI":["Burundi","257"],"CV":["Cabo Verde","238"],"KH":["Cambodia","855"],"CM":["Cameroon","237"],"CA":["Canada","1"],"KY":["Cayman Islands","1"],"CF":["Central African Republic","236"],"TD":["Chad","235"],"CL":["Chile","56"],"CN":["China","86"],"CX":["Christmas Island","61"],"CC":["Cocos (Keeling) Islands","61"],"CO":["Colombia","57"],"KM":["Comoros","269"],"CG":["Congo","242"],"CK":["Cook Islands","682"],"CR":["Costa Rica","506"],"HR":["Croatia","385"],"CU":["Cuba","53"],"CW":["Cura\u00e7ao","599"],"CY":["Cyprus","357"],"CZ":["Czech Republic","420"],"CI":["C\u00f4te d'Ivoire","225"],"DK":["Denmark","45"],"DJ":["Djibouti","253"],"DM":["Dominica","1"],"DO":["Dominican Republic","1"],"CD":["DR Congo","243"],"EC":["Ecuador","593"],"EG":["Egypt","20"],"SV":["El Salvador","503"],"GQ":["Equatorial Guinea","240"],"ER":["Eritrea","291"],"EE":["Estonia","372"],"SZ":["Eswatini","268"],"ET":["Ethiopia","251"],"FK":["Falkland Islands (Malvinas)","500"],"FO":["Faroe Islands","298"],"FJ":["Fiji","679"],"FI":["Finland","358"],"FR":["France","33"],"GF":["French Guiana","594"],"PF":["French Polynesia","689"],"GA":["Gabon","241"],"GM":["Gambia","220"],"GE":["Georgia","995"],"DE":["Germany","49"],"GH":["Ghana","233"],"GI":["Gibraltar","350"],"GR":["Greece","30"],"GL":["Greenland","299"],"GD":["Grenada","1"],"GP":["Guadeloupe","590"],"GU":["Guam","1"],"GT":["Guatemala","502"],"GG":["Guer
2269nsey","44"],"GN":["Guinea","224"],"GW":["Guinea-Bissau","245"],"GY":["Guyana","592"],"HT":["Haiti","509"],"HN":["Honduras","504"],"HK":["Hong Kong","852"],"HU":["Hungary","36"],"IS":["Iceland","354"],"IN":["India","91"],"ID":["Indonesia","62"],"IR":["Iran","98"],"IQ":["Iraq","964"],"IE":["Ireland","353"],"IM":["Isle of Man","44"],"IL":["Israel","972"],"IT":["Italy","39"],"JM":["Jamaica","1"],"JP":["Japan","81"],"JE":["Jersey","44"],"JO":["Jordan","962"],"KZ":["Kazakhstan","7"],"KE":["Kenya","254"],"KI":["Kiribati","686"],"KW":["Kuwait","965"],"KG":["Kyrgyzstan","996"],"LA":["Laos","856"],"LV":["Latvia","371"],"LB":["Lebanon","961"],"LS":["Lesotho","266"],"LR":["Liberia","231"],"LY":["Libya","218"],"LI":["Liechtenstein","423"],"LT":["Lithuania","370"],"LU":["Luxembourg","352"],"MO":["Macao","853"],"MG":["Madagascar","261"],"MW":["Malawi","265"],"MY":["Malaysia","60"],"MV":["Maldives","960"],"ML":["Mali","223"],"MT":["Malta","356"],"MH":["Marshall Islands","692"],"MQ":["Martinique","596"],"MR":["Mauritania","222"],"MU":["Mauritius","230"],"YT":["Mayotte","262"],"MX":["Mexico","52"],"FM":["Micronesia","691"],"MD":["Moldova","373"],"MC":["Monaco","377"],"MN":["Mongolia","976"],"ME":["Montenegro","382"],"MS":["Montserrat","1"],"MA":["Morocco","212"],"MZ":["Mozambique","258"],"MM":["Myanmar","95"],"NA":["Namibia","264"],"NR":["Nauru","674"],"NP":["Nepal","977"],"NL":["Netherlands","31"],"NC":["New Caledonia","687"],"NZ":["New Zealand","64"],"NI":["Nicaragua","505"],"NE":["Niger","227"],"NG":["Nigeria","234"],"NU":["Niue","683"],"NF":["Norfolk Island","672"],"KP":["North Korea","850"],"MK":["North Macedonia","389"],"MP":["Northern Mariana Islands","1"],"NO":["Norway","47"],"OM":["Oman","968"],"PK":["Pakistan","92"],"PW":["Palau","680"],"PS":["Palestine","970"],"PA":["Panama","507"],"PG":["Papua New Guinea","675"],"PY":["Paraguay","595"],"PE":["Peru","51"],"PH":["Philippines","63"],"PL":["Poland","48"],"PT":["Portugal","351"],"PR":["Puerto Rico","1"],"QA":["Qatar","974"],"RO":["Romania","40"],"RU":["Russia","7"],"RW":["Rwanda","250"],"RE":["R\u00e9union","262"],"BL":["Saint Barth\u00e9lemy","590"],"SH":["Saint Helena, Ascension and Tristan da Cunha","290"],"KN":["Saint Kitts and Nevis","1"],"LC":["Saint Lucia","1"],"MF":["Saint Martin (French part)","590"],"PM":["Saint Pierre and Miquelon","508"],"VC":["Saint Vincent and the Grenadines","1"],"WS":["Samoa","685"],"SM":["San Marino","378"],"ST":["Sao Tome and Principe","239"],"SA":["Saudi Arabia","966"],"SN":["Senegal","221"],"RS":["Serbia","381"],"SC":["Seychelles","248"],"SL":["Sierra Leone","232"],"SG":["Singapore","65"],"SX":["Sint Maarten (Dutch part)","1"],"SK":["Slovakia","421"],"SI":["Slovenia","386"],"SB":["Solomon Islands","677"],"SO":["Somalia","252"],"ZA":["South Africa","27"],"KR":["South Korea","82"],"SS":["South Sudan","211"],"ES":["Spain","34"],"LK":["Sri Lanka","94"],"SD":["Sudan","249"],"SR":["Suriname","597"],"SJ":["Svalbard and Jan Mayen","47"],"SE":["Sweden","46"],"CH":["Switzerland","41"],"SY":["Syria","963"],"TW":["Taiwan","886"],"TJ":["Tajikistan","992"],"TZ":["Tanzania","255"],"TH":["Thailand","66"],"TL":["Timor-Leste","670"],"TG":["Togo","228"],"TK":["Tokelau","690"],"TO":["Tonga","676"],"TT":["Trinidad and Tobago","1"],"TN":["Tunisia","216"],"TR":["Turkey","90"],"TM":["Turkmenistan","993"],"TC":["Turks and Caicos Islands","1"],"TV":["Tuvalu","688"],"UG":["Uganda","256"],"UA":["Ukraine","380"],"AE":["United Arab Emirates","971"],"GB":["United Kingdom","44"],"US":["United States","1"],"UY":["Uruguay","598"],"UZ":["Uzbekistan","998"],"VU":["Vanuatu","678"],"VA":["Vatican City","39"],"VE":["Venezuela","58"],"VN":["Vietnam","84"],"VG":["Virgin Islands, British","1"],"VI":["Virgin Islands, U.S.","1"],"WF":["Wallis and Futuna","681"],"EH":["Western Sahara","212"],"YE":["Yemen","967"],"ZM":["Zambia","260"],"ZW":["Zimbabwe","263"],"AX":["\u00c5land Islands","358"]};
2270  var CB_MAX = 60;   // 242 nước vẽ hết thì popup giật; lọc rồi cắt 60 dòng là đủ dùng
2271
2272  function batTat(goc, tat){
2273    goc.querySelectorAll('input,select,textarea').forEach(function(el){
2274      el.disabled = tat;
2275      if(tat){ if(el.required){ el.dataset.omifReq = '1'; el.required = false; } }
2276      else if(el.dataset.omifReq === '1'){ el.required = true; }
2277    });
2278  }
2279
2280  /* ---- Ô GÕ TÌM QUỐC GIA (combobox tự dựng, 22/9/2026) ---------------------- */
2281  function boDau(s){
2282    s = String(s).toLowerCase();
2283    if(s.normalize) s = s.normalize('NFD').replace(/[̀-ͯ]/g, '');
2284    return s.replace(/đ/g, 'd');
2285  }
2286  var QG_DS = [];   // [iso, tên, mã vùng, tên-đã-bỏ-dấu] — dựng một lần, lọc cho nhanh
2287  (function(){
2288    for(var iso in OMIF_QG){
2289      if(!Object.prototype.hasOwnProperty.call(OMIF_QG, iso)) continue;
2290      QG_DS.push([iso, OMIF_QG[iso][0], String(OMIF_QG[iso][1]), boDau(OMIF_QG[iso][0])]);
2291    }
2292  })();
2293  function nhanQG(iso){ var q = OMIF_QG[iso]; return q ? (q[0] + ' (+' + q[1] + ')') : ''; }
2294  function locQG(tu){
2295    var t = boDau(tu).replace(/^\+/, '').trim();
2296    var ra = [];
2297    for(var i = 0; i < QG_DS.length && ra.length < CB_MAX; i++){
2298      var r = QG_DS[i];
2299      // khớp tên ở BẤT KỲ vị trí (gõ "sing" ra Singapore), hoặc mã vùng bắt đầu bằng
2300      // chuỗi gõ (gõ "84" ra Vietnam).
2301      if(!t || r[3].indexOf(t) > -1 || r[2].indexOf(t) === 0) ra.push(r);
2302    }
2303    return ra;
2304  }
2305  var cbMo = false;
2306  function veQG(ds){
2307    if(!cbPop) return;
2308    cbPop.innerHTML = '';
2309    if(!ds.length){
2310      var li0 = document.createElement('li');
2311      li0.className = 'trong'; li0.textContent = '—';
2312      cbPop.appendChild(li0);
2313      return;
2314    }
2315    var cur = oCountryH ? oCountryH.value : '';
2316    ds.forEach(function(r){
2317      var li = document.createElement('li');
2318      li.setAttribute('role', 'option');
2319      li.setAttribute('data-iso', r[0]);
2320      li.textContent = r[1] + ' (+' + r[2] + ')';
2321      if(r[0] === cur){ li.className = 'chon'; li.setAttribute('aria-selected', 'true'); }
2322      cbPop.appendChild(li);
2323    });
2324  }
2325  function moPop(tu){
2326    if(!cbPop || !oCountryS || oCountryS.disabled) return;
2327    veQG(locQG(tu == null ? '' : tu));
2328    cbPop.hidden = false; cbMo = true;
2329    oCountryS.setAttribute('aria-expanded', 'true');
2330    var c = cbPop.querySelector('li.chon');
2331    if(c){ c.classList.add('on'); cbPop.scrollTop = Math.max(0, c.offsetTop - 40); }
2332  }
2333  function dongPop(){
2334    if(!cbPop) return;
2335    cbPop.hidden = true; cbMo = false;
2336    if(oCountryS) oCountryS.setAttribute('aria-expanded', 'false');
2337  }
2338  function chonQG(iso, giuFocus){
2339    if(!oCountryH || !oCountryS || !OMIF_QG[iso]) return;
2340    oCountryH.value = iso;
2341    oCountryS.value = nhanQG(iso);
2342    oCountryS.setCustomValidity('');
2343    dongBoMaVung();
2344    dongPop();
2345    if(giuFocus) oCountryS.focus();
2346  }
2347  function dongBoMaVung(){
2348    if(!oCountryH || !oPhoneCode) return;
2349    var q = OMIF_QG[oCountryH.value];
2350    oPhoneCode.value = q ? ('+' + q[1]) : '';
2351  }
2352  if(oCountryS && oCountryH && cbPop){
2353    oCountryS.addEventListener('focus', function(){ moPop(''); oCountryS.select(); });
2354    oCountryS.addEventListener('input', function(){
2355      // GIỮ nguyên nước đã chọn trong lúc gõ: gõ dở rồi bỏ đi (blur) thì ô trả về
2356      // đúng nước đang chọn, không làm rỗng mã vùng giữa chừng.
2357      oCountryS.setCustomValidity('');
2358      moPop(oCountryS.value);
2359    });
2360    oCountryS.addEventListener('keydown', function(e){
2361      if(e.key === 'Escape'){
2362        // Chặn nổi bọt để Esc lần đầu chỉ đóng popup, KHÔNG đóng luôn cả modal.
2363        if(cbMo){ e.stopPropagation(); dongPop(); }
2364        return;
2365      }
2366      if(e.key === 'ArrowDown' || e.key === 'ArrowUp'){
2367        e.preventDefault();
2368        if(!cbMo){ moPop(oCountryS.value); return; }
2369        var ds = cbPop.querySelectorAll('li[data-iso]');
2370        if(!ds.length) return;
2371        var i = -1;
2372        for(var k = 0; k < ds.length; k++){ if(ds[k].classList.contains('on')){ i = k; break; } }
2373        ds.forEach(function(x){ x.classList.remove('on'); });
2374        i = (e.key === 'ArrowDown') ? ((i + 1) % ds.length) : (i <= 0 ? ds.length - 1 : i - 1);
2375        var li = ds[i];
2376        li.classList.add('on');
2377        if(li.offsetTop < cbPop.scrollTop) cbPop.scrollTop = li.offsetTop;
2378        else if(li.offsetTop + li.offsetHeight > cbPop.scrollTop + cbPop.clientHeight)
2379          cbPop.scrollTop = li.offsetTop + li.offsetHeight - cbPop.clientHeight;
2380        return;
2381      }
2382      if(e.key === 'Enter' && cbMo){
2383        e.preventDefault();
2384        var on = cbPop.querySelector('li.on') || cbPop.querySelector('li[data-iso]');
2385        if(on) chonQG(on.getAttribute('data-iso'), true);
2386      }
2387    });
2388    // mousedown chặn mặc định → ô nhập không mất focus, không kích blur trước click.
2389    cbPop.addEventListener('mousedown', function(e){ e.preventDefault(); });
2390    cbPop.addEventListener('click', function(e){
2391      var li = e.target;
2392      while(li && li !== cbPop && !li.getAttribute('data-iso')) li = li.parentNode;
2393      if(!li || li === cbPop) return;
2394      e.preventDefault(); e.stopPropagation();
2395      chonQG(li.getAttribute('data-iso'), true);
2396    });
2397    oCountryS.addEventListener('blur', function(){
2398      setTimeout(function(){
2399        dongPop();
2400        // Gõ dở rồi bỏ đi → trả ô về đúng nước đang chọn, không để chữ rác.
2401        oCountryS.value = oCountryH.value ? nhanQG(oCountryH.value) : '';
2402        if(oCountryH.value) dongBoMaVung();
2403      }, 120);
2404    });
2405    document.addEventListener('click', function(e){
2406      if(!cbMo) return;
2407      if(e.target === oCountryS || cbPop.contains(e.target)) return;
2408      dongPop();
2409    });
2410  }
2411
2412  /* ---- 3 nút Ứng dụng chat: bấm lại nút đang chọn thì BỎ chọn ---------------
2413     Radio gốc không bỏ chọn được, nên nhớ trạng thái trước lúc bấm rồi gỡ tay. */
2414  var chatTruoc = null;
2415  form.querySelectorAll('.omif-chat .omif-chip').forEach(function(lb){
2416    var r = lb.querySelector('input[name="chat_app"]');
2417    if(!r) return;
2418    lb.addEventListener('mousedown', function(){ chatTruoc = r.checked; });
2419    r.addEventListener('keydown', function(e){ if(e.key === ' ') chatTruoc = r.checked; });
2420    r.addEventListener('click', function(){
2421      if(chatTruoc === true) r.checked = false;
2422      chatTruoc = null;
2423      if(form.chat_number) form.chat_number.setCustomValidity('');
2424    });
2425  });
2426  if(form.chat_number) form.chat_number.addEventListener('input', function(){ form.chat_number.setCustomValidity(''); });
2427
2428  function apDung(){
2429    if(laVN){
2430      form.classList.remove('omif-nuoc-ngoai');
2431      khoiQT.forEach(function(k){ batTat(k, true); k.hidden = true; });
2432      khoiVN.forEach(function(k){ k.hidden = false; batTat(k, false); });
2433      dongPop();
2434    } else {
2435      form.classList.add('omif-nuoc-ngoai');
2436      khoiVN.forEach(function(k){ batTat(k, true); k.hidden = true; });
2437      khoiQT.forEach(function(k){ k.hidden = false; batTat(k, false); });
2438      if(oCountryS && oCountryH){
2439        var chon = (geoMa && OMIF_QG[geoMa]) ? geoMa : (OMIF_QG['US'] ? 'US' : (QG_DS.length ? QG_DS[0][0] : ''));
2440        if(chon) chonQG(chon, false);
2441        oCountryS.required = true;
2442      }
2443      if(oPhoneIntl) oPhoneIntl.required = true;
2444    }
2445  }
2446  apDung();
2447  if(window.omiGeo && typeof window.omiGeo.khi === 'function'){
2448    window.omiGeo.khi(function(ma, vn){ geoMa = ma || ''; laVN = vn !== false; apDung(); });
2449  }
2450
2451  function openModal(e){
2452    if(e) e.preventDefault();
2453    if(e && e.currentTarget && e.currentTarget.dataset.plan){
2454      selectedPlan = e.currentTarget.dataset.plan;
2455      if(noteField && !noteField.value){ noteField.value = 'Quan tâm gói: ' + selectedPlan + '. '; }
2456    }
2457    overlay.classList.add('open');
2458    overlay.setAttribute('aria-hidden','false');
2459    document.body.classList.add('omif-locked');
2460    setTimeout(function(){ var first = form.querySelector('input[name="name"]'); if(first) first.focus(); }, 300);
2461  }
2462  function closeModal(){
2463    overlay.classList.remove('open');
2464    overlay.setAttribute('aria-hidden','true');
2465    document.body.classList.remove('omif-locked');
2466    selectedPlan = '';
2467  }
2468
2469  // Trigger chuẩn DUY NHẤT: bất kỳ phần tử có data-open-form
2470  document.querySelectorAll('[data-open-form]').forEach(function(el){ el.addEventListener('click', openModal); });
2471  // Điều hướng: data-href ("#..." cuộn mượt, còn lại chuyển trang)
2472  document.querySelectorAll('[data-href]').forEach(function(el){
2473    el.addEventListener('click', function(){
2474      var h = el.dataset.href;
2475      if(h.charAt(0) === '#'){ var t = document.querySelector(h); if(t) t.scrollIntoView({behavior:'smooth'}); }
2476      else window.location.href = h;
2477    });
2478  });
2479
2480  overlay.querySelector('.omif-close').addEventListener('click', closeModal);
2481  overlay.addEventListener('click', function(e){ if(e.target === overlay) closeModal(); });
2482  document.addEventListener('keydown', function(e){ if(e.key === 'Escape' && overlay.classList.contains('open')) closeModal(); });
2483
2484  form.addEventListener('submit', function(e){
2485    e.preventDefault();
2486    // Ô quốc gia là ô gõ tìm: có chữ trong ô chưa chắc đã chọn được nước nào →
2487    // kiểm ô ẩn `country` (ISO) và báo lỗi ngay trên ô gõ.
2488    if(!laVN && oCountryS && oCountryH && !oCountryH.value){
2489      oCountryS.setCustomValidity('Vui lòng chọn quốc gia');
2490      oCountryS.reportValidity();
2491      return;
2492    }
2493    // Gõ số chat thì phải chọn app (anh chốt 24/9/2026); để trống cả hai vẫn gửi được.
2494    if(!laVN && form.chat_number && form.chat_number.value.trim() && !form.querySelector('input[name="chat_app"]:checked')){
2495      form.chat_number.setCustomValidity('Chọn WhatsApp, Viber hay Telegram cho số này');
2496      form.chat_number.reportValidity();
2497      return;
2498    }
2499    if(!form.checkValidity()){ form.reportValidity(); return; }
2500    // Khách nước ngoài gửi về webhook riêng; chưa khai thì dùng chung với bản Việt.
2501    var url = laVN ? OMIF_WEBHOOK : (OMIF_WEBHOOK_QT || OMIF_WEBHOOK);
2502    // Chưa cấu hình nơi nhận: NÓI THẬT thay vì báo "đã gửi" rồi mất lead.
2503    if(!url){
2504      msg.className = 'omif-msg err';
2505      msg.textContent = '✗ Kênh nhận yêu cầu đang được cấu hình. Vui lòng gọi ' + OMIF_HOTLINE + ' để được hỗ trợ ngay.';
2506      return;
2507    }
2508    msg.className = 'omif-msg'; msg.textContent = '';
2509    submitBtn.disabled = true;
2510    var originalText = submitBtn.textContent;
2511    submitBtn.textContent = 'Đang gửi…';
2512    // UTM: ưu tiên bản lưu đầu phiên (first-touch), thiếu thì lấy từ URL hiện tại.
2513    var _utm={}; try{ _utm=JSON.parse(sessionStorage.getItem('omi_utm')||'{}'); }catch(_e){}
2514    var _uq=new URLSearchParams(location.search);
2515    function _ug(k){ return (_utm[k] || _uq.get(k) || ''); }
2516    var data = {
2517      name: form.name.value.trim(),
2518      // `form.phone` có thể trỏ nhầm (ô VN bị disabled khi khách nước ngoài) → lấy thẳng ô.
2519      phone: (oPhoneVN ? oPhoneVN.value.trim() : ''),
2520      email: form.email.value.trim(),
2521      region: (form.region ? form.region.value : ''),   // bản Lào không có ô Khu vực
2522      company: form.company.value.trim(),
2523      note: form.note.value.trim(),
2524      source: document.body.dataset.source || 'omicall-website',
2525      interested_plan: selectedPlan,
2526      submitted_at: new Date().toISOString(),
2527      utm_source: _ug('utm_source') || OMIF_UTM_SOURCE,
2528      utm_medium: _ug('utm_medium'),
2529      utm_campaign: _ug('utm_campaign'),
2530      utm_term: _ug('utm_term'),
2531      utm_content: _ug('utm_content'),
2532      utm_id: _ug('utm_id'),
2533      gclid: _ug('gclid'),
2534      fbclid: _ug('fbclid'),
2535      page_url: location.href,
2536      referrer: document.referrer || '',
2537      language: OMIF_LANG,
2538      geo_country: geoMa
2539    };
2540    if(!laVN){
2541      var isoQG = oCountryH ? oCountryH.value : '';
2542      data.country = OMIF_QG[isoQG] ? OMIF_QG[isoQG][0] : '';
2543      data.country_code = isoQG;
2544      data.phone_code = oPhoneCode ? oPhoneCode.value : '';
2545      var rChat = form.querySelector('input[name="chat_app"]:checked');
2546      data.chat_app = rChat ? rChat.value : '';
2547      data.chat_number = form.chat_number ? form.chat_number.value.trim() : '';
2548      // Khách nước ngoài: phone CHỈ là số nhập, mã vùng đã nằm riêng ở phone_code (anh chốt 24/9/2026).
2549      data.phone = oPhoneIntl ? oPhoneIntl.value.trim() : '';
2550    }
2551    /* Gửi JSON để OMICRM hiện Payload dạng tree đọc được (urlencoded thì tree=null).
2552       Dùng Content-Type text/plain (không phải application/json) để KHÔNG kích CORS
2553       preflight cross-domain — webhook vẫn nhận & parse JSON từ body bình thường. */
2554    var body = JSON.stringify(data);
2555    fetch(url, { method: 'POST', headers: { 'Content-Type': 'text/plain;charset=UTF-8' }, body: body })
2556      .then(function(res){
2557        if(!res.ok) throw new Error('HTTP ' + res.status);
2558        msg.className = 'omif-msg ok';
2559        msg.textContent = '✓ Đã nhận yêu cầu. Chuyên gia OMICall sẽ liên hệ trong 1 giờ!';
2560        // Chuyển đổi GA4: chỉ bắn khi máy chủ ĐÃ nhận (res.ok), không bắn lúc bấm nút.
2561        // Đẩy cả vào dataLayer để tag trong GTM bắt được, vì GA4 ở .com cấu hình
2562        // trong GTM chứ không có gtag() sẵn trên trang.
2563        try {
2564          window.dataLayer = window.dataLayer || [];
2565          window.dataLayer.push({
2566            event: OMIF_GA4_LEAD,
2567            form_name: 'tu-van-omicall',
2568            interested_plan: selectedPlan || '(khong-chon)',
2569            page_path: location.pathname
2570          });
2571          if (typeof window.gtag === 'function') {
2572            window.gtag('event', OMIF_GA4_LEAD, {
2573              form_name: 'tu-van-omicall',
2574              interested_plan: selectedPlan || '(khong-chon)'
2575            });
2576          }
2577          // Chuyển đổi Google Ads: chỉ bắn khi webhook trả OK, mỗi lần gửi thành công đúng 1 lần.
2578          if (typeof window.omiAdsGtag === 'function') {
2579            window.omiAdsGtag('event', 'conversion', {'send_to': 'AW-778631136/sH3pCKeh8uYcEODvo_MC', 'value': 1.0, 'currency': 'VND'});
2580          }
2581        } catch(_){}
2582        form.reset();
2583        apDung();   // reset() trả select/ô mã vùng về giá trị HTML gốc → dựng lại đúng trạng thái
2584        setTimeout(closeModal, 2500);
2585      })
2586      .catch(function(){
2587        msg.className = 'omif-msg err';
2588        msg.textContent = '✗ Có lỗi xảy ra. Vui lòng gọi hotline 1900 0211 để được hỗ trợ.';
2589      })
2590      .then(function(){
2591        submitBtn.disabled = false;
2592        submitBtn.textContent = originalText;
2593      });
2594  });
2595})();
2596</script>
vendor: 1 bytes, line 2596
2596
2597<script id="omicom-ga4">
2598(function(){
2599  var SU = "sign_up";
2600  function ban(ten, tham){
2601    try {
2602      window.dataLayer = window.dataLayer || [];
2603      window.dataLayer.push(Object.assign({event: ten}, tham || {}));
2604      if (typeof window.gtag === 'function') window.gtag('event', ten, tham || {});
2605    } catch(_){}
2606  }
2607  // Bắt ở tầng document để không phải gắn tay từng link, và vẫn ăn với link
2608  // được thêm vào DOM sau (script Livetalk có sửa link omicrm để gắn UTM).
2609  document.addEventListener('click', function(e){
2610    var a = e.target && e.target.closest ? e.target.closest('a[href]') : null;
2611    if (!a) return;
2612    var h = a.getAttribute('href') || '';
2613    if (h.indexOf('sso.omicrm.io/register') === -1) return;
2614    ban(SU, {
2615      method: 'sso-omicrm',
2616      link_text: (a.textContent || '').trim().slice(0, 80),
2617      page_path: location.pathname
2618    });
2619  }, true);   // pha capture: chạy trước mọi handler khác, kể cả handler chặn sự kiện
2620
2621  // GHI ĐÈ utm_source CHO TRANG NGÔN NGỮ KHÁC (/lo/…)
2622  //
2623  // Snippet HFCM #1 (Livetalk) của site chạy ở `wp_footer` ưu tiên 10, trong
2624  // DOMContentLoaded: nếu URL trang không có UTM thì nó `searchParams.append`
2625  // bộ mặc định (utm_source=GoogleSEO…) vào MỌI `a[href*="omicrm"]`. `append` chứ
2626  // không phải `set`, nên link Lào `?utm_source=omicall-laos` sẽ thành HAI utm_source
2627  // và bên OMICRM đọc cái đầu (GoogleSEO) → mất dấu nguồn Lào.
2628  //
2629  // Nên ở đây dùng `set` (ghi đè, không thêm) và chạy SAU nó: script này in ở ưu tiên
2630  // 21 nên listener DOMContentLoaded đăng ký sau, chạy sau. Thêm `load` + một nhịp trễ
2631  // cho link được chèn muộn. CHỈ đụng `utm_source`, các utm khác giữ nguyên.
2632  var UTM_SRC = "";
2633  if (UTM_SRC) {
2634    var epUtm = function(){
2635      document.querySelectorAll('a[href*="omicrm"]').forEach(function(a){
2636        try { var u = new URL(a.href, location.href); u.searchParams.set('utm_source', UTM_SRC); a.href = u.toString(); } catch(_){}
2637      });
2638    };
2639    document.addEventListener('DOMContentLoaded', epUtm);
2640    window.addEventListener('load', epUtm);
2641    setTimeout(epUtm, 1500);
2642  }
2643})();
2644</script>
2644
2645    
2645<script id="omi-utm-an">
2646window.addEventListener('load', function(){ setTimeout(function(){ try{
2647  var XOA = /^(utm_|utm$|gclid$|fbclid$)/i;
2648  var p = new URLSearchParams(location.search), doi = false;
2649  Array.from(p.keys()).forEach(function(k){ if(XOA.test(k)){ p.delete(k); doi = true; } });
2650  if(doi){ var q = p.toString(); history.replaceState(null, '', location.pathname + (q ? '?' + q : '') + location.hash); }
2651  document.querySelectorAll('a[href*="utm"]').forEach(function(a){
2652    var h = a.getAttribute('href') || '';
2653    if(h.indexOf('omicrm') !== -1){ return; }
2654    try{
2655      var u = new URL(a.href, location.origin);
2656      if(u.host !== location.host){ return; }
2657      var thay = false;
2658      Array.from(u.searchParams.keys()).forEach(function(k){ if(XOA.test(k)){ u.searchParams.delete(k); thay = true; } });
2659      if(thay){ var q2 = u.searchParams.toString(); a.setAttribute('href', u.pathname + (q2 ? '?' + q2 : '') + u.hash); }
2660    }catch(e){}
2661  });
2662}catch(e){} }, 900); });
2663</script>
2663
2664</body>
2665</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.