.x7m0{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:999998;width:min(92vw,820px);pointer-events:none;--x7:#ff7a00;--x7d:#111827;--x7m:#64748b}.x7m0,.x7m0 *{box-sizing:border-box}.x7m0__rail{position:relative;height:78px;border-radius:999px;background:rgba(255,255,255,.58);backdrop-filter:blur(26px) saturate(1.45);-webkit-backdrop-filter:blur(26px) saturate(1.45);border:1px solid rgba(255,255,255,.76);box-shadow:0 28px 70px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.88),inset 0 -1px 0 rgba(15,23,42,.04);display:grid;grid-template-columns:1fr 1fr 1.18fr 1fr 1fr;align-items:center;padding:8px 11px;gap:2px;pointer-events:auto;overflow:hidden}.x7m0__rail:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(255,255,255,.2) 45%,rgba(255,255,255,.48));pointer-events:none}.x7m0__rail:after{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);pointer-events:none}.x7m0__glider{position:absolute;left:0;top:8px;height:61px;width:60px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:0 18px 36px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(15,23,42,.05);border:1px solid rgba(255,255,255,.82);pointer-events:none;z-index:1;opacity:0;transform:translate3d(0,0,0);transition:transform .56s cubic-bezier(.16,1,.3,1),width .56s cubic-bezier(.16,1,.3,1),opacity .18s ease}.x7m0__it{position:relative;z-index:2;height:61px;border-radius:999px;color:var(--x7d);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-weight:400;letter-spacing:-.02em;transition:color .28s ease,transform .22s cubic-bezier(.2,.8,.2,1),filter .28s ease;overflow:visible;-webkit-tap-highlight-color:transparent}.x7m0__it:focus{outline:none}.x7m0__it:active{transform:scale(.96)}.x7m0__it:hover{color:var(--x7)}.x7m0__ico{position:relative;width:27px;height:27px;display:flex;align-items:center;justify-content:center;color:currentColor;flex:0 0 27px}.x7m0__i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .24s ease,transform .42s cubic-bezier(.16,1,.3,1);transform-origin:center}.x7m0__i svg{width:100%;height:100%;display:block}.x7m0__i0{opacity:1;transform:scale(1) rotate(0)}.x7m0__i1{opacity:0;transform:scale(1) rotate(-8deg)}.x7m0__it.is-a{color:var(--x7);filter:drop-shadow(0 8px 12px rgba(255,122,0,.13))}.x7m0__it.is-a .x7m0__i0{opacity:0;transform:scale(1) rotate(8deg)}.x7m0__it.is-a .x7m0__i1{opacity:1;transform:scale(1) rotate(0)}.x7m0__tx{font-size:12px;line-height:1;white-space:nowrap;font-weight:400;transition:color .28s ease;font-variation-settings:normal}.x7m0__it.is-a .x7m0__tx{font-size:12px;font-weight:800;color:var(--x7)}.x7m0__it--mid{height:61px;min-width:104px;margin:0 2px;background:transparent;box-shadow:none;border:0}.x7m0__badge{position:absolute;top:6px;right:20px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e11d22;color:#fff;border:2px solid #fff;font-size:11px;line-height:16px;text-align:center;font-weight:900;box-shadow:0 8px 16px rgba(225,29,34,.36);animation:x7badge .85s cubic-bezier(.16,1,.3,1) both}@keyframes x7badge{0%{transform:translateY(-7px) scale(.76);opacity:0}65%{transform:translateY(1px) scale(1.08);opacity:1}100%{transform:translateY(0) scale(1)}}.x7m0__bar{position:absolute;left:34px;right:34px;top:0;height:3px;width:auto;border-radius:999px;background:linear-gradient(90deg,#ff7a00,#ff3d00);z-index:4;opacity:0;transform:scaleX(0);transform-origin:left center;transition:transform .64s cubic-bezier(.16,1,.3,1),opacity .18s ease}.x7m0.is-l .x7m0__bar{transform:scaleX(1);opacity:1}.x7m0.is-l .x7m0__rail{box-shadow:0 30px 78px rgba(15,23,42,.2),inset 0 1px 0 rgba(255,255,255,.9)}.x7m0-pjax-out{opacity:0;transition:opacity .26s ease,transform .44s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.x7m0-pjax-out.x7m0-dir-fwd{transform:translate3d(-52px,0,0)}.x7m0-pjax-out.x7m0-dir-rev{transform:translate3d(52px,0,0)}.x7m0-pjax-out.x7m0-dir-same{transform:translate3d(0,0,0)}.x7m0-pjax-in{will-change:opacity,transform}.x7m0-pjax-in.x7m0-dir-fwd{animation:x7inF .52s cubic-bezier(.16,1,.3,1) both}.x7m0-pjax-in.x7m0-dir-rev{animation:x7inR .52s cubic-bezier(.16,1,.3,1) both}.x7m0-pjax-in.x7m0-dir-same{animation:x7inS .36s cubic-bezier(.16,1,.3,1) both}@keyframes x7inF{from{opacity:0;transform:translate3d(56px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes x7inR{from{opacity:0;transform:translate3d(-56px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes x7inS{from{opacity:.16;transform:translate3d(0,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@media(max-width:520px){.x7m0{width:calc(100vw - 24px);bottom:calc(9px + env(safe-area-inset-bottom))}.x7m0__rail{height:72px;border-radius:999px;padding:7px 8px;grid-template-columns:1fr 1fr 1.14fr 1fr 1fr}.x7m0__glider{top:7px;height:56px}.x7m0__it{height:56px}.x7m0__it--mid{height:56px;min-width:92px}.x7m0__ico{width:24px;height:24px;flex-basis:24px}.x7m0__tx,.x7m0__it.is-a .x7m0__tx{font-size:11px}.x7m0__badge{right:15px;top:5px}.x7m0__bar{left:24px;right:24px}}@media(max-width:380px){.x7m0__tx,.x7m0__it.is-a .x7m0__tx{font-size:10px}.x7m0__it--mid{min-width:84px}.x7m0__ico{width:23px;height:23px;flex-basis:23px}}html.x7m0-pjaxing,html.x7m0-pjaxing *{scroll-behavior:auto!important}body.x7m0-home-ready .xk-344e326617,body.x7m0-home-ready .xk-2e9e385cf0 [data-anim]{opacity:1!important;transform:none!important;visibility:visible!important}@media(max-width:1024px){body.hfad-v106{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}}
.x7m0__chat{position:absolute;left:auto;right:18px;bottom:86px;width:54px;height:54px;border-radius:999px;border:1px solid rgba(255,255,255,.84);background:rgba(255,255,255,.68);color:#ff7a00;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:6;box-shadow:0 20px 46px rgba(15,23,42,.18),0 0 0 7px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(15,23,42,.05);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);cursor:pointer;transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease,background .24s ease,color .24s ease;-webkit-tap-highlight-color:transparent}.x7m0__chat:before{content:"";position:absolute;inset:-3px;border-radius:inherit;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.82),transparent 50%);pointer-events:none}.x7m0__chat svg{position:relative;z-index:1;width:27px;height:27px;display:block}.x7m0__chat:hover,.x7m0__chat:focus{color:#fff;background:linear-gradient(135deg,#ff7a00,#ff4d00);box-shadow:0 24px 54px rgba(255,122,0,.26),0 0 0 8px rgba(255,122,0,.08),inset 0 1px 0 rgba(255,255,255,.42)}.x7m0__chat:active{transform:scale(.94)}.x7m0__chat.is-on{color:#fff;background:linear-gradient(135deg,#ff7a00,#ff4d00);animation:x7chatPulse 1.9s ease-in-out infinite}@keyframes x7chatPulse{0%,100%{box-shadow:0 24px 54px rgba(255,122,0,.22),0 0 0 0 rgba(255,122,0,.22)}50%{box-shadow:0 24px 54px rgba(255,122,0,.28),0 0 0 12px rgba(255,122,0,0)}}@media(max-width:520px){.x7m0__chat{width:50px;height:50px;bottom:78px;right:12px}.x7m0__chat svg{width:25px;height:25px}}@media(max-width:380px){.x7m0__chat{width:47px;height:47px;bottom:76px}}

/* v110 chat custom */.x7m0__chat{animation:x7chatBreath 2.6s ease-in-out infinite}.x7m0__chat:after{content:"";position:absolute;inset:-8px;border-radius:inherit;border:1px solid rgba(255,122,0,.32);opacity:.72;animation:x7chatRing 2.2s ease-out infinite;pointer-events:none}.x7m0__chat-img{position:relative;z-index:1;width:36px;height:36px;border-radius:999px;object-fit:cover;display:block}.x7m0__chat:hover .x7m0__chat-img,.x7m0__chat.is-on .x7m0__chat-img{filter:drop-shadow(0 5px 10px rgba(255,122,0,.28))}@keyframes x7chatBreath{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-3px) scale(1.045)}70%{transform:translateY(0) scale(1)}}@keyframes x7chatRing{0%{transform:scale(.72);opacity:.58}65%{transform:scale(1.34);opacity:0}100%{transform:scale(1.34);opacity:0}}#crisp-chatbox .cc-unoo,#crisp-chatbox [data-id="chat_opened"],#crisp-chatbox [data-id="chat_closed"],#crisp-chatbox [data-id="chat_button"]{opacity:0!important;pointer-events:none!important;visibility:hidden!important}

/* v110 chat image + desktop */
.x7m0__chat--img{background:transparent!important;border:0!important;box-shadow:0 18px 42px rgba(15,23,42,.10)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important}
.x7m0__chat--img:before{display:none!important}
.x7m0__chat--img .x7m0__chat-img{position:relative!important;z-index:9!important;width:36px!important;height:36px!important;object-fit:contain!important;border-radius:0!important;display:block!important;filter:drop-shadow(0 6px 14px rgba(15,23,42,.16))}
.x7m0__chat--img:hover,.x7m0__chat--img:focus,.x7m0__chat--img.is-on{background:transparent!important;color:inherit!important}
.x7m0__chat--img:hover .x7m0__chat-img,.x7m0__chat--img.is-on .x7m0__chat-img{filter:drop-shadow(0 8px 18px rgba(255,122,0,.28))}
@media(min-width:1025px){.x7m0{width:auto!important;max-width:none!important;left:auto!important;right:24px!important;bottom:24px!important;transform:none!important}.x7m0__rail,.x7m0__bar{display:none!important}.x7m0__chat{position:fixed!important;right:24px!important;bottom:24px!important;left:auto!important;display:flex!important;pointer-events:auto!important}}

/* v111 restore glass chat button, larger uploaded PNG, stronger motion */
.x7m0__chat--img{width:54px!important;height:54px!important;background:rgba(255,255,255,.70)!important;border:1px solid rgba(255,255,255,.88)!important;box-shadow:0 22px 48px rgba(15,23,42,.20),0 0 0 8px rgba(255,255,255,.26),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(15,23,42,.06)!important;backdrop-filter:blur(24px) saturate(1.45)!important;-webkit-backdrop-filter:blur(24px) saturate(1.45)!important;overflow:visible!important;animation:x7chatPopStrong 1.72s cubic-bezier(.16,1,.3,1) infinite!important}
.x7m0__chat--img:before{display:block!important;content:""!important;position:absolute!important;inset:0!important;border-radius:inherit!important;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.92),rgba(255,255,255,.46) 42%,rgba(255,255,255,.16) 74%)!important;z-index:1!important;pointer-events:none!important}
.x7m0__chat--img:after{content:""!important;position:absolute!important;inset:-10px!important;border-radius:inherit!important;border:1.5px solid rgba(255,255,255,.58)!important;box-shadow:0 0 0 1px rgba(255,122,0,.18),0 0 24px rgba(255,122,0,.18)!important;opacity:.92!important;animation:x7chatRingStrong 1.55s ease-out infinite!important;pointer-events:none!important;z-index:0!important}
.x7m0__chat--img .x7m0__chat-img{position:relative!important;z-index:9!important;width:48px!important;height:48px!important;object-fit:contain!important;border-radius:999px!important;display:block!important;filter:drop-shadow(0 7px 14px rgba(15,23,42,.18))!important;transform:translateY(-1px)!important}
.x7m0__chat--img:hover,.x7m0__chat--img:focus,.x7m0__chat--img.is-on{background:rgba(255,255,255,.78)!important;color:#ff7a00!important;box-shadow:0 26px 56px rgba(255,122,0,.24),0 0 0 9px rgba(255,255,255,.30),inset 0 1px 0 rgba(255,255,255,.96)!important}
.x7m0__chat--img:hover .x7m0__chat-img,.x7m0__chat--img.is-on .x7m0__chat-img{filter:drop-shadow(0 9px 18px rgba(255,122,0,.32))!important;transform:translateY(-1px) scale(1.04)!important}
@keyframes x7chatPopStrong{0%,100%{transform:translateY(0) scale(1)}18%{transform:translateY(-2px) scale(1.07)}40%{transform:translateY(-5px) scale(1.12)}62%{transform:translateY(0) scale(1.02)}78%{transform:translateY(-2px) scale(1.06)}}
@keyframes x7chatRingStrong{0%{transform:scale(.72);opacity:.82}58%{transform:scale(1.42);opacity:.06}100%{transform:scale(1.48);opacity:0}}
@media(max-width:520px){.x7m0__chat--img{width:50px!important;height:50px!important}.x7m0__chat--img .x7m0__chat-img{width:44px!important;height:44px!important}.x7m0__chat--img:after{inset:-9px!important}}
@media(max-width:380px){.x7m0__chat--img{width:48px!important;height:48px!important}.x7m0__chat--img .x7m0__chat-img{width:42px!important;height:42px!important}}

/* v112 smoother chat motion + bounded ring */
.x7m0__chat,.x7m0__chat--img{animation:x7chatSmooth112 2.45s cubic-bezier(.4,0,.2,1) infinite!important;will-change:transform!important}
.x7m0__chat:after,.x7m0__chat--img:after{inset:-5px!important;animation:x7chatRing112 2.45s cubic-bezier(.22,.61,.36,1) infinite!important;border-color:rgba(255,122,0,.30)!important;box-shadow:0 0 0 1px rgba(255,255,255,.42),0 0 18px rgba(255,122,0,.16)!important}
@keyframes x7chatSmooth112{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-2px,0) scale(1.035)}}
@keyframes x7chatRing112{0%{transform:scale(.84);opacity:.46}62%{transform:scale(1.18);opacity:.10}100%{transform:scale(1.22);opacity:0}}
@media(max-width:520px){.x7m0__chat:after,.x7m0__chat--img:after{inset:-4px!important}@keyframes x7chatRing112{0%{transform:scale(.84);opacity:.42}62%{transform:scale(1.14);opacity:.08}100%{transform:scale(1.18);opacity:0}}}

/* v112 login/register guard popup */
html.x7m0-auth-lock,body.x7m0-auth-lock{overflow:hidden!important;overscroll-behavior:none!important}
.x7m0a{position:fixed;inset:0;z-index:1000001;display:none;font-family:inherit}.x7m0a.is-open{display:block}.x7m0a__bg{position:absolute;inset:0;background:rgba(3,7,18,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:x7aFade .22s ease both}.x7m0a__box{position:absolute;left:50%;bottom:calc(105px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(92vw,520px);max-height:min(76vh,660px);overflow:auto;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.82);border-radius:28px;box-shadow:0 34px 92px rgba(15,23,42,.30),inset 0 1px 0 rgba(255,255,255,.95);padding:24px;animation:x7aUp .34s cubic-bezier(.16,1,.3,1) both}.x7m0a__x{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:999px;background:#eef2ee;color:#123d23;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.x7m0a__top{text-align:center;margin:8px 36px 18px}.x7m0a__title{display:block;color:#0b2b19;font-size:28px;line-height:1.1;font-weight:900}.x7m0a__sub{margin:10px 0 0;color:#667085;font-size:14px;line-height:1.55}.x7m0a__msg{display:none;margin:0 0 14px;padding:11px 13px;border-radius:14px;font-size:13px;font-weight:700;line-height:1.45}.x7m0a__msg.is-bad,.x7m0a__msg.is-ok{display:block}.x7m0a__msg.is-bad{background:#fff1f0;color:#b42318;border:1px solid #fecdca}.x7m0a__msg.is-ok{background:#effaf3;color:#166534;border:1px solid #bbf7d0}.x7m0a__form{display:grid;gap:14px}.x7m0a__form label{display:grid;gap:8px;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.x7m0a__form input[type=text],.x7m0a__form input[type=email],.x7m0a__form input[type=password]{height:54px;border-radius:18px;border:1px solid #d9dee7;background:#fff;color:#111827;font-size:16px;padding:0 16px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.x7m0a__form input:focus{border-color:#ff7a00;box-shadow:0 0 0 4px rgba(255,122,0,.12)}.x7m0a__remember{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;text-transform:none!important;font-size:14px!important;color:#667085!important;font-weight:600!important;letter-spacing:0!important}.x7m0a__remember input{width:20px;height:20px;accent-color:#ff7a00}.x7m0a__btn{height:56px;border:0;border-radius:18px;background:linear-gradient(135deg,#ff9a3d,#ff6500);color:#fff;font-size:17px;font-weight:900;box-shadow:0 16px 32px rgba(255,122,0,.24);cursor:pointer}.x7m0a__btn:disabled{opacity:.7;cursor:wait}.x7m0a__btn.is-loading{animation:x7aBtn 1.1s ease-in-out infinite}.x7m0a__link{border:0;background:transparent;color:#667085;font-size:14px;font-weight:700;cursor:pointer;padding:4px 0}.x7m0a__link strong{color:#ff6500}.x7m0a__register[hidden],.x7m0a__login[hidden]{display:none!important}@keyframes x7aFade{from{opacity:0}to{opacity:1}}@keyframes x7aUp{from{opacity:0;transform:translate(-50%,22px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes x7aBtn{0%,100%{filter:saturate(1)}50%{filter:saturate(1.25) brightness(1.03)}}@media(min-width:1025px){.x7m0a__box{bottom:94px;right:24px;left:auto;transform:none;width:min(420px,calc(100vw - 48px));animation:x7aDesk .32s cubic-bezier(.16,1,.3,1) both}@keyframes x7aDesk{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}.x7m0a *{box-sizing:border-box}

/* ---- UM CSS bundle from uploaded login/register style ---- */
/* =========================================================
   ULTIMATE MEMBER - FINAL CLEAN BUNDLE
   Áp dụng: Login / Register / Lost Password
   Phone field key thực tế: phonenumber
   Gợi ý: XÓA TOÀN BỘ CSS UM CŨ trước khi dán bộ này
========================================================= */

/* =========================================================
   1) BIẾN MÀU
========================================================= */
:root{
  --um-accent: #f57c20;
  --um-accent-2: #ff9b3d;
  --um-accent-soft: #fff3e8;
  --um-text: #172b4d;
  --um-text-2: #667085;
  --um-border: #e7edf4;
  --um-border-strong: rgba(23,43,77,.12);
  --um-white: #ffffff;
  --um-bg-soft: #fffaf6;

  --um-radius-outer: 28px;
  --um-radius-card: 22px;
  --um-radius-input: 18px;
  --um-radius-btn: 18px;

  --um-shadow-outer: 0 22px 55px rgba(15,23,42,.08);
  --um-shadow-card: 0 14px 30px rgba(15,23,42,.08);
  --um-shadow-btn: 0 14px 32px rgba(245,124,32,.16);
}


/* =========================================================
   2) RESET CÁC PATCH CŨ
========================================================= */
.um.um-login,
.um.um-register,
.um.um-password{
  padding-top: 0 !important;
}

.um.um-login::before,
.um.um-login::after,
.um.um-register::before,
.um.um-register::after,
.um.um-password::before,
.um.um-password::after,
.um.um-login .um-form .um-row:first-child::before,
.um.um-login .um-form .um-row:first-child::after,
.um.um-register .um-form .um-row:first-child::before,
.um.um-register .um-form .um-row:first-child::after,
.um.um-password .um-form .um-row:first-child::before,
.um.um-password .um-form .um-row:first-child::after{
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}

.um .um-field-icon,
.um .um-form hr{
  display: none !important;
}

.um *,
.um *::before,
.um *::after{
  box-sizing: border-box !important;
}


/* =========================================================
   3) KHUNG NGOÀI FORM
========================================================= */
.um.um-login,
.um.um-register,
.um.um-password{
  position: relative !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 18px auto !important;
  padding: 14px !important;
  border-radius: var(--um-radius-outer) !important;
  background:
    radial-gradient(circle at top left, rgba(255,155,61,.10), transparent 25%),
    linear-gradient(180deg, #fffaf6 0%, #ffffff 100%) !important;
  border: 1px solid rgba(245,124,32,.10) !important;
  box-shadow: var(--um-shadow-outer) !important;
  overflow: visible !important;
}


/* =========================================================
   4) CARD CHÍNH
========================================================= */
.um.um-login .um-form,
.um.um-register .um-form,
.um.um-password .um-form{
  position: relative !important;
  overflow: visible !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffdfa 100%) !important;
  border: 1px solid var(--um-border-strong) !important;
  border-radius: var(--um-radius-card) !important;
  box-shadow: var(--um-shadow-card) !important;
  padding: 82px 20px 18px !important;
}

.um.um-login .um-form::before,
.um.um-register .um-form::before,
.um.um-password .um-form::before{
  content: "" !important;
  position: absolute !important;
  left: 0;
  top: 0;
  right: 0;
  height: 6px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, var(--um-accent), var(--um-accent-2)) !important;
}

.um.um-login .um-form::after,
.um.um-register .um-form::after,
.um.um-password .um-form::after{
  position: absolute !important;
  top: 22px !important;
  left: 16px !important;
  right: 16px !important;
  text-align: center !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: -.4px !important;
  color: var(--um-text) !important;
}

.um.um-login .um-form::after{ content: "Đăng nhập" !important; }
.um.um-register .um-form::after{ content: "Đăng ký tài khoản" !important; }
.um.um-password .um-form::after{ content: "Quên mật khẩu" !important; }


/* =========================================================
   5) BỐ CỤC FIELD
========================================================= */
.um .um-row{
  margin-bottom: 0 !important;
}

.um .um-field{
  margin-bottom: 14px !important;
}

.um .um-field:last-child{
  margin-bottom: 0 !important;
}

.um .um-field-label{
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
  border: 0 !important;
}

.um .um-field-label label{
  margin: 0 !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
  color: #667085 !important;
}

.um .um-field-label .um-tip{
  position: static !important;
  margin: 0 !important;
  transform: none !important;
}


/* =========================================================
   6) INPUT / SELECT / TEXTAREA
========================================================= */
.um .um-field-area{
  position: relative !important;
}

.um input[type="text"],
.um input[type="password"],
.um input[type="email"],
.um input[type="tel"],
.um input[type="number"],
.um textarea,
.um select{
  width: 100% !important;
  min-height: 58px !important;
  height: 58px !important;
  padding: 0 18px 0 58px !important;
  border-radius: var(--um-radius-input) !important;
  border: 1.5px solid var(--um-border) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffdfa 100%) !important;
  color: var(--um-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
  transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.um textarea{
  min-height: 110px !important;
  height: auto !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  resize: vertical !important;
}

.um input::placeholder,
.um textarea::placeholder{
  color: #98a2b3 !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

.um input[type="text"]:focus,
.um input[type="password"]:focus,
.um input[type="email"]:focus,
.um input[type="tel"]:focus,
.um input[type="number"]:focus,
.um textarea:focus,
.um select:focus{
  border-color: var(--um-accent) !important;
  background: #fffdfb !important;
  box-shadow: 0 0 0 4px rgba(245,124,32,.12) !important;
  outline: none !important;
  transform: none !important;
}


/* =========================================================
   7) KHUNG ICON CHUNG
========================================================= */
.um .um-field-username .um-field-area::before,
.um .um-field[data-key="username"] .um-field-area::before,
.um .um-field-user_login .um-field-area::before,
.um .um-field[data-key="user_login"] .um-field-area::before,
.um .um-field-login .um-field-area::before,
.um .um-field[data-key="login"] .um-field-area::before,
.um .um-field-first_name .um-field-area::before,
.um .um-field[data-key="first_name"] .um-field-area::before,
.um .um-field-last_name .um-field-area::before,
.um .um-field[data-key="last_name"] .um-field-area::before,
.um .um-field-user_email .um-field-area::before,
.um .um-field[data-key="user_email"] .um-field-area::before,
.um .um-field-user_password .um-field-area::before,
.um .um-field[data-key="user_password"] .um-field-area::before,
.um .um-field-user_password_confirm .um-field-area::before,
.um .um-field-confirm_user_password .um-field-area::before,
.um .um-field-phonenumber .um-field-area::before,
.um .um-field[data-key="phonenumber"] .um-field-area::before{
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 12px !important;
  background-color: var(--um-accent-soft) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 15px 15px !important;
  box-shadow: inset 0 0 0 1px rgba(245,124,32,.10) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}


/* =========================================================
   8) ICON RIÊNG
========================================================= */

/* Tên người dùng hoặc email */
.um .um-field-username .um-field-area::before,
.um .um-field[data-key="username"] .um-field-area::before,
.um .um-field-user_login .um-field-area::before,
.um .um-field[data-key="user_login"] .um-field-area::before,
.um .um-field-login .um-field-area::before,
.um .um-field[data-key="login"] .um-field-area::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f57c20' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}

/* Tên */
.um .um-field-first_name .um-field-area::before,
.um .um-field[data-key="first_name"] .um-field-area::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f57c20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0'/%3E%3Cpath d='M6 21v-2a4 4 0 0 1 4 -4h3.5'/%3E%3Cpath d='M19 22v.01'/%3E%3Cpath d='M19 19a2.003 2.003 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483'/%3E%3C/svg%3E") !important;
}

/* Họ */
.um .um-field-last_name .um-field-area::before,
.um .um-field[data-key="last_name"] .um-field-area::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f57c20' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='8.5' cy='10' r='1.5'/%3E%3Cpath d='M13 9h4M13 12h4M7 15h10'/%3E%3C/svg%3E") !important;
}

/* Email */
.um .um-field-user_email .um-field-area::before,
.um .um-field[data-key="user_email"] .um-field-area::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f57c20' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") !important;
}

/* Mật khẩu */
.um .um-field-user_password .um-field-area::before,
.um .um-field[data-key="user_password"] .um-field-area::before,
.um .um-field-user_password_confirm .um-field-area::before,
.um .um-field-confirm_user_password .um-field-area::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f57c20' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 1 1 8 0v3'/%3E%3C/svg%3E") !important;
}

/* Điện thoại */
.um .um-field-phonenumber .um-field-area::before,
.um .um-field[data-key="phonenumber"] .um-field-area::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f57c20' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath 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-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.79.61 2.64a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.44-1.18a2 2 0 0 1 2.11-.45c.85.28 1.74.49 2.64.61A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
}


/* =========================================================
   9) CHỪA KHOẢNG CHO ICON
========================================================= */
.um .um-field-username input,
.um .um-field[data-key="username"] input,
.um .um-field-user_login input,
.um .um-field[data-key="user_login"] input,
.um .um-field-login input,
.um .um-field[data-key="login"] input,
.um .um-field-first_name input,
.um .um-field[data-key="first_name"] input,
.um .um-field-last_name input,
.um .um-field[data-key="last_name"] input,
.um .um-field-user_email input,
.um .um-field[data-key="user_email"] input,
.um .um-field-phonenumber input,
.um .um-field[data-key="phonenumber"] input,
.um input[id^="username-"],
.um input[name^="username-"],
.um input[id^="phonenumber_"],
.um input[name^="phonenumber-"]{
  padding-left: 58px !important;
}

/* giữ nền input phone sạch */
.um .um-field-phonenumber .um-field-area input,
.um .um-field[data-key="phonenumber"] .um-field-area input,
.um input[data-key="phonenumber"],
.um input[id^="phonenumber_"],
.um input[name^="phonenumber-"]{
  background-image: none !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffdfa 100%) !important;
  background-color: #ffffff !important;
}


/* =========================================================
   10) ICON MẮT
========================================================= */
.um .um-field-user_password input,
.um .um-field-user_password_confirm input,
.um .um-field-confirm_user_password input,
.um .um-field-type_password input{
  padding-right: 56px !important;
}

.um .um-field-user_password .um-field-area,
.um .um-field-user_password_confirm .um-field-area,
.um .um-field-confirm_user_password .um-field-area,
.um .um-field-type_password .um-field-area{
  position: relative !important;
}

.um .um-password-toggle,
.um .um-field-type_password .um-field-area .um-toggle-pw,
.um .um-field-type_password .um-field-area .um-toggle-password,
.um .um-field-user_password .um-field-area .um-password-toggle,
.um .um-field-user_password_confirm .um-field-area .um-password-toggle,
.um .um-field-confirm_user_password .um-field-area .um-password-toggle{
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  width: 22px !important;
  height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  z-index: 4 !important;
  color: #4b5563 !important;
}

.um .um-password-toggle i,
.um .um-password-toggle svg,
.um .um-field-type_password .um-field-area .um-toggle-pw i,
.um .um-field-type_password .um-field-area .um-toggle-pw svg,
.um .um-field-type_password .um-field-area .um-toggle-password i,
.um .um-field-type_password .um-field-area .um-toggle-password svg{
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}


/* =========================================================
   11) GHI NHỚ ĐĂNG NHẬP
========================================================= */
.um.um-login .um-field-type_checkbox{
  margin: 6px 0 8px !important;
}

.um.um-login .um-field-type_checkbox .um-field-area{
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 0 2px !important;
  background: transparent !important;
  border: 0 !important;
}

.um.um-login .um-field-type_checkbox .um-field-checkbox-option{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #6b7280 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.um.um-login .um-icon-android-checkbox-outline-blank,
.um.um-login .um-icon-android-checkbox-outline{
  font-size: 22px !important;
  line-height: 1 !important;
  margin-right: 2px !important;
}

.um.um-login .um-icon-android-checkbox-outline-blank{
  color: #cfd6de !important;
}

.um.um-login .um-icon-android-checkbox-outline{
  color: var(--um-accent) !important;
}


/* =========================================================
   12) KHU VỰC NÚT
========================================================= */
.um .um-col-alt{
  margin-top: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.um .um-left,
.um .um-right,
.um .um-half,
.um .um-col-alt-b,
.um .um-col-alt-s{
  float: none !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 !important;
}

.um .um-button,
.um a.um-button,
.um input[type="submit"].um-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: var(--um-radius-btn) !important;
  background: linear-gradient(135deg, #ff9b3d 0%, #f57c20 68%, #ea6f14 100%) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
  text-transform: none !important;
  box-shadow: var(--um-shadow-btn) !important;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

.um .um-button:hover,
.um a.um-button:hover,
.um input[type="submit"].um-button:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.02) !important;
  box-shadow: 0 18px 36px rgba(245,124,32,.20) !important;
}

/* nút phụ thành link */
.um .um-button.um-alt,
.um a.um-button.um-alt{
  width: auto !important;
  min-height: auto !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: var(--um-accent) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.um .um-button.um-alt:hover,
.um a.um-button.um-alt:hover{
  background: transparent !important;
  color: #d86410 !important;
  transform: none !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

.um.um-login .um-button.um-alt::before,
.um.um-login a.um-button.um-alt::before{
  content: "Chưa có tài khoản?  ";
  color: var(--um-text-2);
  font-weight: 700;
}

.um.um-register .um-button.um-alt::before,
.um.um-register a.um-button.um-alt::before{
  content: "Đã có tài khoản?  ";
  color: var(--um-text-2);
  font-weight: 700;
}

.um.um-password .um-button.um-alt::before,
.um.um-password a.um-button.um-alt::before{
  content: "Nhớ mật khẩu rồi? ";
  color: var(--um-text-2);
  font-weight: 700;
}

.um a{
  color: var(--um-accent) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.um a:hover{
  color: #d86410 !important;
  text-decoration: underline !important;
}


/* =========================================================
   13) LINK QUAY LẠI TRANG CHỦ
   (CSS này chỉ style nếu JS đã chèn sẵn dòng đó)
========================================================= */
.um .um-home-backline{
  margin-top: 6px !important;
  text-align: center !important;
}

.um .um-home-backline a{
  display: inline-block !important;
  color: #667085 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.um .um-home-backline a:hover{
  color: var(--um-accent) !important;
  text-decoration: underline !important;
}


/* =========================================================
   14) NOTICE / ERROR
========================================================= */
.um .um-notice,
.um .um-field-error{
  margin-bottom: 12px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}

.um .um-notice.err,
.um .um-field-error{
  background: #fff2f0 !important;
  color: #c2410c !important;
  border: 1px solid #ffd6cf !important;
}

.um .um-notice.success{
  background: #eefbf3 !important;
  color: #157347 !important;
  border: 1px solid #cfeeda !important;
}


/* =========================================================
   15) TINH CHỈNH RIÊNG ĐĂNG KÝ
========================================================= */
.um.um-register .um-field{
  margin-bottom: 13px !important;
}

.um.um-register .um-col-alt{
  margin-top: 10px !important;
}


/* =========================================================
   16) 
   MOBILE FIX CHUẨN THEO BỀ NGANG THỰC TẾ MÀN HÌNH
   - không dùng 100vw để tránh tràn ngang
   - 2 bên chỉ chừa 1px
   - khung và nút luôn nằm gọn trong màn hình
========================================================= */
@media (max-width: 767px){

  html, body{
    overflow-x: hidden !important;
  }

  /* khung ngoài UM: lấy bề ngang thực tế của phần chứa */
  .um.um-login,
  .um.um-register,
  .um.um-password{
    display: block !important;
    width: calc(100% - 2px) !important;
    max-width: calc(100% - 2px) !important;
    min-width: 0 !important;
    margin: 4px auto !important;
    padding: 1px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* card trong */
  .um.um-login .um-form,
  .um.um-register .um-form,
  .um.um-password .um-form{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 68px 8px 14px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* tiêu đề */
  .um.um-login .um-form::after,
  .um.um-register .um-form::after,
  .um.um-password .um-form::after{
    top: 18px !important;
    left: 8px !important;
    right: 8px !important;
    font-size: 22px !important;
  }

  /* field */
  .um .um-field{
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
  }

  .um .um-field-label{
    margin-bottom: 7px !important;
    gap: 5px !important;
  }

  .um .um-field-label label{
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .um .um-field-area{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* input */
  .um input[type="text"],
  .um input[type="password"],
  .um input[type="email"],
  .um input[type="tel"],
  .um input[type="number"],
  .um textarea,
  .um select{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    height: 54px !important;
    padding-left: 52px !important;
    padding-right: 46px !important;
    font-size: 16px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
  }

  .um textarea{
    min-height: 96px !important;
    height: auto !important;
    padding-top: 14px !important;
  }

  /* icon trái */
  .um .um-field-username .um-field-area::before,
  .um .um-field[data-key="username"] .um-field-area::before,
  .um .um-field-user_login .um-field-area::before,
  .um .um-field[data-key="user_login"] .um-field-area::before,
  .um .um-field-login .um-field-area::before,
  .um .um-field[data-key="login"] .um-field-area::before,
  .um .um-field-first_name .um-field-area::before,
  .um .um-field[data-key="first_name"] .um-field-area::before,
  .um .um-field-last_name .um-field-area::before,
  .um .um-field[data-key="last_name"] .um-field-area::before,
  .um .um-field-user_email .um-field-area::before,
  .um .um-field[data-key="user_email"] .um-field-area::before,
  .um .um-field-user_password .um-field-area::before,
  .um .um-field[data-key="user_password"] .um-field-area::before,
  .um .um-field-user_password_confirm .um-field-area::before,
  .um .um-field-confirm_user_password .um-field-area::before,
  .um .um-field-phonenumber .um-field-area::before,
  .um .um-field[data-key="phonenumber"] .um-field-area::before{
    left: 10px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 11px !important;
    background-size: 15px 15px !important;
  }

  /* riêng các field có icon trái */
  .um .um-field-username input,
  .um .um-field[data-key="username"] input,
  .um .um-field-user_login input,
  .um .um-field[data-key="user_login"] input,
  .um .um-field-login input,
  .um .um-field[data-key="login"] input,
  .um .um-field-first_name input,
  .um .um-field[data-key="first_name"] input,
  .um .um-field-last_name input,
  .um .um-field[data-key="last_name"] input,
  .um .um-field-user_email input,
  .um .um-field[data-key="user_email"] input,
  .um .um-field-phonenumber input,
  .um .um-field[data-key="phonenumber"] input,
  .um input[id^="username-"],
  .um input[name^="username-"],
  .um input[id^="phonenumber_"],
  .um input[name^="phonenumber-"]{
    padding-left: 52px !important;
  }

  /* icon mắt */
  .um .um-password-toggle,
  .um .um-field-type_password .um-field-area .um-toggle-pw,
  .um .um-field-type_password .um-field-area .um-toggle-password,
  .um .um-field-user_password .um-field-area .um-password-toggle,
  .um .um-field-user_password_confirm .um-field-area .um-password-toggle,
  .um .um-field-confirm_user_password .um-field-area .um-password-toggle{
    right: 12px !important;
    width: 18px !important;
    height: 18px !important;
  }

  /* checkbox */
  .um.um-login .um-field-type_checkbox{
    margin: 4px 0 6px !important;
  }

  .um.um-login .um-field-type_checkbox .um-field-area{
    min-height: 40px !important;
    width: 100% !important;
  }

  .um.um-login .um-field-type_checkbox .um-field-checkbox-option{
    font-size: 13px !important;
  }

  /* vùng nút */
  .um .um-col-alt{
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 4px !important;
    gap: 7px !important;
    box-sizing: border-box !important;
  }

  .um .um-left,
  .um .um-right,
  .um .um-half,
  .um .um-col-alt-b,
  .um .um-col-alt-s{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* nút */
  .um .um-button,
  .um a.um-button,
  .um input[type="submit"].um-button{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    height: 52px !important;
    font-size: 15px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
  }

  .um .um-button.um-alt,
  .um a.um-button.um-alt{
    font-size: 14px !important;
  }

  .um .um-home-backline{
    margin-top: 5px !important;
  }

  .um .um-home-backline a{
    font-size: 13px !important;
  }

  .um .um-notice,
  .um .um-field-error{
    font-size: 13px !important;
    padding: 12px 14px !important;
  }
}
/* ===== FIX NÚT MẮT HIỆN / ẨN MẬT KHẨU ===== */

/* chừa chỗ bên phải rộng hơn */
.um .um-field-user_password input,
.um .um-field-user_password_confirm input,
.um .um-field-confirm_user_password input,
.um .um-field-type_password input{
  padding-right: 60px !important;
}

/* wrapper password */
.um .um-field-user_password .um-field-area,
.um .um-field-user_password_confirm .um-field-area,
.um .um-field-confirm_user_password .um-field-area,
.um .um-field-type_password .um-field-area{
  position: relative !important;
}

/* tăng vùng bấm */
.um .um-password-toggle,
.um .um-field-type_password .um-field-area .um-toggle-pw,
.um .um-field-type_password .um-field-area .um-toggle-password,
.um .um-field-user_password .um-field-area .um-password-toggle,
.um .um-field-user_password_confirm .um-field-area .um-password-toggle,
.um .um-field-confirm_user_password .um-field-area .um-password-toggle{
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* icon mắt nhỏ vừa phải, nhưng vùng bấm lớn */
.um .um-password-toggle i,
.um .um-password-toggle svg,
.um .um-field-type_password .um-field-area .um-toggle-pw i,
.um .um-field-type_password .um-field-area .um-toggle-pw svg,
.um .um-field-type_password .um-field-area .um-toggle-password i,
.um .um-field-type_password .um-field-area .um-toggle-password svg{
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  pointer-events: none !important;
}

/* mobile: vùng chạm còn lớn hơn chút */
@media (max-width: 767px){
  .um .um-field-user_password input,
  .um .um-field-user_password_confirm input,
  .um .um-field-confirm_user_password input,
  .um .um-field-type_password input{
    padding-right: 62px !important;
  }

  .um .um-password-toggle,
  .um .um-field-type_password .um-field-area .um-toggle-pw,
  .um .um-field-type_password .um-field-area .um-toggle-password,
  .um .um-field-user_password .um-field-area .um-password-toggle,
  .um .um-field-user_password_confirm .um-field-area .um-password-toggle,
  .um .um-field-confirm_user_password .um-field-area .um-password-toggle{
    right: 8px !important;
    width: 42px !important;
    height: 42px !important;
  }
}

/* v113 Ultimate Member auth popup polish */
.x7m0a--um .x7m0a__box--um{width:min(94vw,640px)!important;max-height:min(82vh,760px)!important;padding:10px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:auto!important;bottom:calc(94px + env(safe-area-inset-bottom))!important}
.x7m0a--um .x7m0a__x{z-index:30!important;background:#111827!important;color:#fff!important;box-shadow:0 12px 32px rgba(15,23,42,.20)!important}
.x7m0a--um .x7m0a__msg{position:relative;z-index:4;margin:0 auto 8px!important;width:min(100%,560px)!important}
.x7m0a__um-panel[hidden]{display:none!important}.x7m0a__um-panel{position:relative;z-index:2}.x7m0a__fallback{background:#fff;border-radius:22px;padding:28px;text-align:center;color:#64748b;font-weight:800;box-shadow:0 20px 55px rgba(15,23,42,.12)}
.x7m0a--um .um.um-login,.x7m0a--um .um.um-register,.x7m0a--um .um.um-password{margin:0 auto!important;max-width:560px!important;width:100%!important}.x7m0a--um .um .um-col-alt .um-button.um-alt,.x7m0a--um .um a.um-button.um-alt{display:none!important}.x7m0a__switch{width:min(100%,560px);margin:10px auto 0;text-align:center}.x7m0a__switch button{border:0;background:transparent;color:#667085;font-size:15px;font-weight:800;cursor:pointer;padding:7px 10px}.x7m0a__switch strong{color:#f57c20;font-weight:900}.x7m0a__switch button:hover{color:#f57c20;text-decoration:underline}.x7m0a--um .um input[type="submit"].um-button,.x7m0a--um .um .um-button{border-radius:22px!important}.x7m0a--um .um .um-form{border-radius:24px!important}
@media(max-width:767px){.x7m0a--um .x7m0a__box--um{width:calc(100vw - 14px)!important;max-height:calc(100vh - 118px - env(safe-area-inset-bottom))!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;padding:6px!important}.x7m0a--um .x7m0a__x{right:12px!important;top:12px!important;width:38px!important;height:38px!important}}

/* v114 auth modal final polish */
html.x7m0-auth-lock,body.x7m0-auth-lock,html.x7m0-auth-hardlock,body.x7m0-auth-hardlock{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
.x7m0a--um .x7m0a__box--um{left:50%!important;right:auto!important;top:calc(10px + env(safe-area-inset-top))!important;bottom:calc(92px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(94vw,650px)!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding:8px!important;background:transparent!important;border:0!important;box-shadow:none!important;animation:x7u14In .32s cubic-bezier(.16,1,.3,1) both!important}
@keyframes x7u14In{from{opacity:0;transform:translate(-50%,18px) scale(.985)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.x7m0a--um .x7m0a__x{top:24px!important;right:24px!important;width:44px!important;height:44px!important;font-size:30px!important;background:#111827!important;color:#fff!important;z-index:60!important;box-shadow:0 16px 38px rgba(15,23,42,.22)!important}
.x7m0a--um .x7m0a__msg{width:min(100%,560px)!important;margin:0 auto 8px!important}
.x7m0a--um .um.um-login,.x7m0a--um .um.um-register,.x7m0a--um .um.um-password{max-width:580px!important;width:100%!important;margin:0 auto!important;padding:8px!important;border-radius:26px!important}
.x7m0a--um .um.um-login .um-form,.x7m0a--um .um.um-register .um-form,.x7m0a--um .um.um-password .um-form{padding-top:84px!important;border-radius:24px!important;overflow:visible!important}
.x7m0a--um .um.um-login .um-form::after,.x7m0a--um .um.um-register .um-form::after,.x7m0a--um .um.um-password .um-form::after{top:24px!important;left:64px!important;right:64px!important;font-size:28px!important;line-height:1.2!important;white-space:normal!important}
.x7m0a--um .um .um-home-backline,.x7m0a--um .x7m0a__hide-home{display:none!important}.x7m0a--um .um a[href*="/"] .um-home-backline{display:none!important}
.x7m0a--um .um .um-col-alt{width:calc(100% - 44px)!important;margin:8px auto 0!important;gap:8px!important;align-items:stretch!important}.x7m0a--um .um input[type="submit"].um-button,.x7m0a--um .um .um-button:not(.um-alt){width:100%!important;height:56px!important;min-height:56px!important;border-radius:22px!important}.x7m0a--um .um.um-login .um-field-type_checkbox{width:calc(100% - 44px)!important;margin:5px auto 8px!important}.x7m0a--um .um.um-login .um-field-type_checkbox .um-field-area{padding:0!important}.x7m0a--um .um.um-login .um-field-type_checkbox .um-field-checkbox-option{justify-content:flex-start!important;text-align:left!important}.x7m0a--um .um .um-col-alt-b,.x7m0a--um .um .um-col-alt-s{width:calc(100% - 44px)!important;margin:5px auto 0!important;text-align:center!important}.x7m0a--um .um .um-col-alt-b a,.x7m0a--um .um .um-col-alt-s a{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#f57c20!important;font-weight:900!important;font-size:15px!important;line-height:1.3!important}
.x7m0a--um .x7m0a__switch{width:calc(100% - 44px)!important;margin:10px auto 0!important;text-align:center!important;position:relative!important;z-index:10!important}.x7m0a--um .um .um-form>.x7m0a__switch{padding:2px 0 0!important}.x7m0a--um .x7m0a__switch button{border:0!important;background:transparent!important;color:#667085!important;font-size:15px!important;font-weight:800!important;line-height:1.35!important;padding:7px 8px!important;cursor:pointer!important}.x7m0a--um .x7m0a__switch strong{color:#f57c20!important;font-weight:950!important}
.x7m0a--um .um.um-register .um-field-first_name,.x7m0a--um .um.um-register .um-field[data-key="first_name"]{display:inline-block!important;width:calc(50% - 6px)!important;margin-right:12px!important;vertical-align:top!important}.x7m0a--um .um.um-register .um-field-last_name,.x7m0a--um .um.um-register .um-field[data-key="last_name"]{display:inline-block!important;width:calc(50% - 6px)!important;margin-right:0!important;vertical-align:top!important}.x7m0a--um .um.um-register .um-field-first_name input,.x7m0a--um .um.um-register .um-field-last_name input,.x7m0a--um .um.um-register .um-field[data-key="first_name"] input,.x7m0a--um .um.um-register .um-field[data-key="last_name"] input{padding-left:50px!important}.x7m0a--um .um.um-register .um-field-first_name .um-field-label label,.x7m0a--um .um.um-register .um-field-last_name .um-field-label label{font-size:11px!important;letter-spacing:.55px!important}
@media(min-width:1025px){.x7m0a--um .x7m0a__box--um{left:50%!important;right:auto!important;top:4vh!important;bottom:auto!important;max-height:88vh!important;transform:translateX(-50%)!important;width:min(720px,94vw)!important}.x7m0a--um .x7m0a__x{top:26px!important;right:calc(50% - 330px)!important}}
@media(max-width:767px){.x7m0a--um .x7m0a__box--um{width:calc(100vw - 12px)!important;top:calc(8px + env(safe-area-inset-top))!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;padding:5px!important}.x7m0a--um .x7m0a__x{top:18px!important;right:16px!important;width:42px!important;height:42px!important}.x7m0a--um .um.um-login,.x7m0a--um .um.um-register,.x7m0a--um .um.um-password{padding:1px!important;border-radius:20px!important}.x7m0a--um .um.um-login .um-form,.x7m0a--um .um.um-register .um-form,.x7m0a--um .um.um-password .um-form{padding-top:70px!important;padding-left:8px!important;padding-right:8px!important}.x7m0a--um .um.um-login .um-form::after,.x7m0a--um .um.um-register .um-form::after,.x7m0a--um .um.um-password .um-form::after{top:18px!important;left:58px!important;right:58px!important;font-size:23px!important}.x7m0a--um .um .um-col-alt,.x7m0a--um .um.um-login .um-field-type_checkbox,.x7m0a--um .um .um-col-alt-b,.x7m0a--um .um .um-col-alt-s,.x7m0a--um .x7m0a__switch{width:calc(100% - 16px)!important}.x7m0a--um .um input[type="submit"].um-button,.x7m0a--um .um .um-button:not(.um-alt){height:54px!important;min-height:54px!important;border-radius:18px!important}.x7m0a--um .um.um-register .um-field-first_name,.x7m0a--um .um.um-register .um-field[data-key="first_name"]{width:calc(50% - 4px)!important;margin-right:8px!important}.x7m0a--um .um.um-register .um-field-last_name,.x7m0a--um .um.um-register .um-field[data-key="last_name"]{width:calc(50% - 4px)!important}.x7m0a--um .um.um-register .um-field-first_name input,.x7m0a--um .um.um-register .um-field-last_name input,.x7m0a--um .um.um-register .um-field[data-key="first_name"] input,.x7m0a--um .um.um-register .um-field[data-key="last_name"] input{padding-left:46px!important;font-size:14px!important}.x7m0a--um .um.um-register .um-field-first_name .um-field-label label,.x7m0a--um .um.um-register .um-field-last_name .um-field-label label{font-size:10px!important}}

/* v115 auth popup: hard pull-to-refresh lock + centered responsive layout */
html.x7m0-auth-lock,
body.x7m0-auth-lock,
html.x7m0-auth-hardlock,
body.x7m0-auth-hardlock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  -webkit-overflow-scrolling:auto!important;
}
.x7m0a.is-open{
  touch-action:none!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
}
.x7m0a.is-open .x7m0a__bg{
  touch-action:none!important;
  overscroll-behavior:none!important;
}
.x7m0a--um.is-open .x7m0a__box--um{
  left:50%!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(94vw,650px)!important;
  max-height:min(86dvh,760px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  padding:8px!important;
  animation:x7u15CenterIn .34s cubic-bezier(.16,1,.3,1) both!important;
}
@keyframes x7u15CenterIn{
  from{opacity:0;transform:translate(-50%,calc(-50% + 18px)) scale(.985)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
.x7m0a--um .um.um-login,
.x7m0a--um .um.um-register,
.x7m0a--um .um.um-password{
  padding:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  max-width:580px!important;
  background:linear-gradient(180deg,#fffaf6 0%,#ffffff 100%)!important;
}
.x7m0a--um .um.um-login .um-form,
.x7m0a--um .um.um-register .um-form,
.x7m0a--um .um.um-password .um-form{
  padding-top:98px!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
.x7m0a--um .um.um-login .um-form::before,
.x7m0a--um .um.um-register .um-form::before,
.x7m0a--um .um.um-password .um-form::before{
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:8px!important;
  border-radius:28px 28px 0 0!important;
  background:linear-gradient(90deg,#ff8a2a 0%,#ff7a00 55%,#ff6500 100%)!important;
}
.x7m0a--um .um.um-login .um-form::after,
.x7m0a--um .um.um-register .um-form::after,
.x7m0a--um .um.um-password .um-form::after{
  top:38px!important;
  left:78px!important;
  right:78px!important;
  font-size:29px!important;
  line-height:1.15!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
}
.x7m0a--um .x7m0a__x{
  top:34px!important;
  right:max(18px,calc((100% - 580px)/2 + 18px))!important;
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.x7m0a--um .um .um-col-alt,
.x7m0a--um .um.um-login .um-field-type_checkbox,
.x7m0a--um .um .um-col-alt-b,
.x7m0a--um .um .um-col-alt-s,
.x7m0a--um .x7m0a__switch{
  width:calc(100% - 44px)!important;
  max-width:calc(100% - 44px)!important;
}
.x7m0a--um .um input[type="submit"].um-button,
.x7m0a--um .um .um-button:not(.um-alt){
  border-radius:22px!important;
}
@media(min-width:768px) and (max-width:1024px){
  .x7m0a--um.is-open .x7m0a__box--um{
    width:min(88vw,690px)!important;
    max-height:min(84dvh,760px)!important;
  }
  .x7m0a--um .x7m0a__x{
    top:34px!important;
    right:max(20px,calc((100% - 580px)/2 + 20px))!important;
  }
}
@media(min-width:1025px){
  .x7m0a--um.is-open .x7m0a__box--um{
    width:min(720px,94vw)!important;
    max-height:min(86dvh,780px)!important;
    left:50%!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
  }
  .x7m0a--um .x7m0a__x{
    top:36px!important;
    right:max(22px,calc((100% - 580px)/2 + 22px))!important;
  }
}
@media(max-width:767px){
  .x7m0a--um.is-open .x7m0a__box--um{
    width:calc(100vw - 12px)!important;
    max-height:calc(100dvh - 110px - env(safe-area-inset-bottom))!important;
    top:calc(50% - 14px)!important;
    padding:5px!important;
  }
  .x7m0a--um .um.um-login,
  .x7m0a--um .um.um-register,
  .x7m0a--um .um.um-password{
    border-radius:22px!important;
  }
  .x7m0a--um .um.um-login .um-form,
  .x7m0a--um .um.um-register .um-form,
  .x7m0a--um .um.um-password .um-form{
    padding-top:82px!important;
    border-radius:22px!important;
  }
  .x7m0a--um .um.um-login .um-form::before,
  .x7m0a--um .um.um-register .um-form::before,
  .x7m0a--um .um.um-password .um-form::before{
    height:7px!important;
    border-radius:22px 22px 0 0!important;
  }
  .x7m0a--um .um.um-login .um-form::after,
  .x7m0a--um .um.um-register .um-form::after,
  .x7m0a--um .um.um-password .um-form::after{
    top:28px!important;
    left:60px!important;
    right:60px!important;
    min-height:32px!important;
    font-size:24px!important;
  }
  .x7m0a--um .x7m0a__x{
    top:24px!important;
    right:16px!important;
    width:42px!important;
    height:42px!important;
  }
  .x7m0a--um .um .um-col-alt,
  .x7m0a--um .um.um-login .um-field-type_checkbox,
  .x7m0a--um .um .um-col-alt-b,
  .x7m0a--um .um .um-col-alt-s,
  .x7m0a--um .x7m0a__switch{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
  }
}

/* v116 auth modal hard scroll lock + centered close + scroll hint */
html.x7m0-auth-v116,
body.x7m0-auth-v116{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:none!important;
}
body.x7m0-auth-v116{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:100%!important;
}
.x7m0a--um.is-open{
  position:fixed!important;
  inset:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
.x7m0a--um.is-open .x7m0a__bg{
  position:fixed!important;
  inset:0!important;
  touch-action:none!important;
  overscroll-behavior:none!important;
}
.x7m0a--um.is-open .x7m0a__box--um{
  position:fixed!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:auto!important;
  overscroll-behavior:contain!important;
  overscroll-behavior-y:contain!important;
  touch-action:none!important;
  scrollbar-gutter:stable both-edges;
}
.x7m0a--um .x7m0a__x{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-size:0!important;
  padding:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
.x7m0a--um .x7m0a__x::before,
.x7m0a--um .x7m0a__x::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:18px!important;
  height:3px!important;
  border-radius:999px!important;
  background:currentColor!important;
  transform-origin:center!important;
  text-indent:0!important;
}
.x7m0a--um .x7m0a__x::before{transform:translate(-50%,-50%) rotate(45deg)!important;}
.x7m0a--um .x7m0a__x::after{transform:translate(-50%,-50%) rotate(-45deg)!important;}
.x7m0a__scrollhint{
  position:sticky!important;
  bottom:10px!important;
  z-index:90!important;
  width:max-content!important;
  max-width:calc(100% - 22px)!important;
  margin:10px 10px 2px auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.86)!important;
  color:#f57c20!important;
  border:1px solid rgba(245,124,32,.22)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.9)!important;
  backdrop-filter:blur(16px) saturate(1.25)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.25)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translateY(8px) scale(.96)!important;
  transition:opacity .18s ease, transform .18s cubic-bezier(.16,1,.3,1)!important;
}
.x7m0a__scrollhint.is-on{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
.x7m0a__scrollhint i{
  width:15px!important;
  height:15px!important;
  display:inline-block!important;
  position:relative!important;
  animation:x7u16Hint 1.15s ease-in-out infinite!important;
}
.x7m0a__scrollhint i::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:3px!important;
  width:8px!important;
  height:8px!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  transform:translateX(-50%) rotate(45deg)!important;
  border-radius:1px!important;
}
@keyframes x7u16Hint{
  0%,100%{transform:translateY(-2px);opacity:.72}
  50%{transform:translateY(3px);opacity:1}
}
@media(min-width:768px) and (max-width:1024px){
  .x7m0a--um.is-open .x7m0a__box--um{
    top:50%!important;
    bottom:auto!important;
    left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(88vw,690px)!important;
    max-height:min(82dvh,760px)!important;
  }
  .x7m0a--um .x7m0a__x{
    top:34px!important;
    right:max(22px,calc((100% - 580px)/2 + 22px))!important;
    width:44px!important;
    height:44px!important;
  }
}
@media(min-width:1025px){
  .x7m0a--um.is-open .x7m0a__box--um{
    top:50%!important;
    bottom:auto!important;
    left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(720px,94vw)!important;
    max-height:min(84dvh,780px)!important;
  }
  .x7m0a--um .x7m0a__x{
    top:36px!important;
    right:max(24px,calc((100% - 580px)/2 + 24px))!important;
    width:44px!important;
    height:44px!important;
  }
}
@media(max-width:767px){
  .x7m0a--um.is-open .x7m0a__box--um{
    top:50%!important;
    bottom:auto!important;
    left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:calc(100vw - 12px)!important;
    max-height:calc(100dvh - 112px - env(safe-area-inset-bottom))!important;
  }
  .x7m0a__scrollhint{
    bottom:8px!important;
    margin-right:8px!important;
    padding:7px 10px!important;
    font-size:11px!important;
  }
}

/* v117 stronger auth pull-to-refresh lock + centered scroll hint */
html.x7m0-auth-v117,
body.x7m0-auth-v117{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:none!important;
  height:100%!important;
}
body.x7m0-auth-v117{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
}
html.x7m0-auth-v117 .x7m0a--um.is-open,
html.x7m0-auth-v117 .x7m0a.is-open{
  position:fixed!important;
  inset:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
html.x7m0-auth-v117 .x7m0a--um.is-open .x7m0a__bg,
html.x7m0-auth-v117 .x7m0a.is-open .x7m0a__bg{
  position:fixed!important;
  inset:0!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
html.x7m0-auth-v117 .x7m0a--um.is-open .x7m0a__box--um,
html.x7m0-auth-v117 .x7m0a.is-open .x7m0a__box{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:none!important;
}
.x7m0a__scrollhint{
  display:flex!important;
  width:max-content!important;
  max-width:calc(100% - 32px)!important;
  margin:12px auto 4px!important;
  left:auto!important;
  right:auto!important;
  justify-content:center!important;
  transform:translateY(8px) scale(.96)!important;
}
.x7m0a__scrollhint.is-on{
  transform:translateY(0) scale(1)!important;
}
@media(max-width:767px){
  .x7m0a__scrollhint{
    margin:10px auto 3px!important;
    left:auto!important;
    right:auto!important;
  }
}


/* v120 keyboard safe: no extra focus stabilizer, prevent mobile auto zoom without blocking page load */
html,body{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
.x7m0a--um.is-open,
.x7m0a.is-open{overscroll-behavior:none!important;overscroll-behavior-y:none!important}
.x7m0a--um.is-open .x7m0a__box--um,
.x7m0a.is-open .x7m0a__box{scroll-behavior:auto!important;overscroll-behavior:contain!important;overscroll-behavior-y:contain!important}
.x7m0a--um input[type="text"],
.x7m0a--um input[type="password"],
.x7m0a--um input[type="email"],
.x7m0a--um input[type="tel"],
.x7m0a--um input[type="number"],
.x7m0a--um textarea,
.x7m0a--um select,
.x7m0a input[type="text"],
.x7m0a input[type="password"],
.x7m0a input[type="email"],
.x7m0a input[type="tel"],
.x7m0a input[type="number"],
.x7m0a textarea,
.x7m0a select{
  font-size:16px!important;
  transform:none!important;
  zoom:1!important;
  touch-action:manipulation!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}
@media(max-width:767px){
  .x7m0a--um .um.um-register .um-field-first_name input,
  .x7m0a--um .um.um-register .um-field-last_name input,
  .x7m0a--um .um.um-register .um-field[data-key="first_name"] input,
  .x7m0a--um .um.um-register .um-field[data-key="last_name"] input{
    font-size:16px!important;
  }
}

/* v1.1.3.2: auth popup soft lock - giữ nguyên vị trí nền, không dùng body fixed/scrollTo */
.x7m0a--um.is-open,
.x7m0a.is-open{
  position:fixed!important;
  inset:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:auto!important;
}
.x7m0a--um.is-open .x7m0a__bg,
.x7m0a.is-open .x7m0a__bg{
  position:fixed!important;
  inset:0!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
.x7m0a--um.is-open .x7m0a__box--um,
.x7m0a.is-open .x7m0a__box{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
}
html.x7m0-auth-lock,
body.x7m0-auth-lock,
html.x7m0-auth-hardlock,
body.x7m0-auth-hardlock{
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  height:auto!important;
  touch-action:auto!important;
}

/* v1.1.3.2: reload thật nhưng vẫn có hiệu ứng trượt trang */
.x7m0-page-leave{
  pointer-events:none!important;
  will-change:opacity,transform!important;
  transition:opacity .16s ease,transform .18s cubic-bezier(.22,.61,.36,1)!important;
}
.x7m0-page-leave.x7m0-dir-fwd{opacity:.32!important;transform:translate3d(-18px,0,0)!important;}
.x7m0-page-leave.x7m0-dir-rev{opacity:.32!important;transform:translate3d(18px,0,0)!important;}
.x7m0-page-leave.x7m0-dir-same{opacity:.42!important;transform:scale(.998)!important;}
.x7m0-page-enter{will-change:opacity,transform!important;}
.x7m0-page-enter.x7m0-dir-fwd{animation:x7m0ReloadInF .34s cubic-bezier(.16,1,.3,1) both!important;}
.x7m0-page-enter.x7m0-dir-rev{animation:x7m0ReloadInR .34s cubic-bezier(.16,1,.3,1) both!important;}
.x7m0-page-enter.x7m0-dir-same{animation:x7m0ReloadInS .26s cubic-bezier(.16,1,.3,1) both!important;}
@keyframes x7m0ReloadInF{from{opacity:.18;transform:translate3d(22px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes x7m0ReloadInR{from{opacity:.18;transform:translate3d(-22px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes x7m0ReloadInS{from{opacity:.38;transform:scale(.998)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: reduce){
  .x7m0-page-leave,.x7m0-page-enter{transition:none!important;animation:none!important;transform:none!important;}
}

/* v1.1.3.3 auth ajax feedback + success tick */
.x7m0a.is-success .x7m0a__um-panel,
.x7m0a.is-success .x7m0a__msg{display:none!important}
.x7m0a__success{display:none;text-align:center;padding:26px 16px 24px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f7fff9 100%);border:1px solid rgba(22,163,74,.16);box-shadow:0 18px 48px rgba(22,163,74,.12)}
.x7m0a.is-success .x7m0a__success{display:block!important}
.x7m0a__success[hidden]{display:none!important}
.x7m0a__success-ico{width:76px;height:76px;margin:0 auto 14px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:42px;font-weight:1000;box-shadow:0 18px 38px rgba(22,163,74,.28),inset 0 1px 0 rgba(255,255,255,.45)}
.x7m0a__success strong{display:block;color:#073b1b;font-size:25px;line-height:1.2;font-weight:1000;letter-spacing:-.02em}
.x7m0a__success span{display:block;margin-top:8px;color:#667085;font-size:14px;line-height:1.55;font-weight:700}
.x7m0a .is-loading{opacity:.82!important;cursor:wait!important;filter:saturate(1.1) brightness(1.02)}

/* v1.1.3.5: hiển thị lỗi đăng nhập/đăng ký ngay dưới ô sai, không dùng toast trên đầu popup */
.x7m0a--um .x7m0a__msg.is-bad{
  display:none!important;
}
.x7m0a--um .x7m0a__field-error{
  position:relative!important;
  width:calc(100% - 44px)!important;
  max-width:calc(100% - 44px)!important;
  margin:-2px auto 14px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  background:#fff1f1!important;
  border:1px solid rgba(220,38,38,.18)!important;
  color:#b93815!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.5!important;
  box-shadow:0 12px 28px rgba(185,28,28,.08), inset 0 1px 0 rgba(255,255,255,.74)!important;
  animation:x7m0FieldErrIn .22s cubic-bezier(.16,1,.3,1) both!important;
}
.x7m0a--um .x7m0a__field-error::before{
  content:""!important;
  position:absolute!important;
  left:20px!important;
  top:-10px!important;
  width:0!important;
  height:0!important;
  border-left:10px solid transparent!important;
  border-right:10px solid transparent!important;
  border-bottom:10px solid #c43a34!important;
  filter:drop-shadow(0 -1px 0 rgba(220,38,38,.12))!important;
}
.x7m0a--um .um .um-field.x7m0a-has-error input[type="text"],
.x7m0a--um .um .um-field.x7m0a-has-error input[type="email"],
.x7m0a--um .um .um-field.x7m0a-has-error input[type="password"],
.x7m0a--um .um .um-field.x7m0a-has-error input[type="tel"],
.x7m0a--um .um .um-field.x7m0a-has-error input[type="number"]{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.08), inset 0 1px 0 rgba(255,255,255,.8)!important;
}
@keyframes x7m0FieldErrIn{
  from{opacity:0;transform:translateY(-6px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:767px){
  .x7m0a--um .x7m0a__field-error{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
    margin:-3px auto 13px!important;
    padding:14px 16px!important;
    border-radius:17px!important;
    font-size:14px!important;
  }
  .x7m0a--um .x7m0a__field-error::before{
    left:18px!important;
    top:-9px!important;
    border-left-width:9px!important;
    border-right-width:9px!important;
    border-bottom-width:9px!important;
  }
}

/* v1.1.3.8: Tooltip dấu hỏi của Ultimate Member trong popup auth */
.x7m0a--um .um .um-field-label .um-tip,
.x7m0a--um .um .um-tip,
.x7m0a--um .um [original-title],
.x7m0a--um .um [data-original-title],
.x7m0a--um .um [data-tooltip],
.x7m0a--um .um [data-tip]{
  cursor:pointer!important;
  pointer-events:auto!important;
  -webkit-tap-highlight-color:transparent!important;
}
.x7m0a__umtip-pop{
  position:fixed!important;
  z-index:2147483647!important;
  max-width:min(280px, calc(100vw - 28px))!important;
  padding:10px 13px!important;
  border-radius:8px!important;
  background:rgba(31,31,31,.96)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
  box-shadow:0 14px 30px rgba(0,0,0,.24)!important;
  opacity:0!important;
  transform:translateY(4px) scale(.98)!important;
  transition:opacity .16s ease, transform .16s ease!important;
  pointer-events:none!important;
}
.x7m0a__umtip-pop.is-on{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
.x7m0a__umtip-pop:before{
  content:""!important;
  position:absolute!important;
  left:18px!important;
  bottom:-7px!important;
  width:0!important;
  height:0!important;
  border-left:7px solid transparent!important;
  border-right:7px solid transparent!important;
  border-top:7px solid rgba(31,31,31,.96)!important;
}

/* v1.1.3.11: dùng chung báo lỗi/tick xanh cho form Ultimate chính thức /login/ và /register/ */
.x7m0a__success--inline{
  display:block!important;
  margin:0 auto 18px!important;
  max-width:680px!important;
}
.um .x7m0a__field-error{
  position:relative!important;
  width:calc(100% - 44px)!important;
  max-width:calc(100% - 44px)!important;
  margin:-2px auto 14px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  background:#fff1f1!important;
  border:1px solid rgba(220,38,38,.18)!important;
  color:#b93815!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.5!important;
  box-shadow:0 12px 28px rgba(185,28,28,.08), inset 0 1px 0 rgba(255,255,255,.74)!important;
  animation:x7m0FieldErrIn .22s cubic-bezier(.16,1,.3,1) both!important;
}
.um .x7m0a__field-error::before{
  content:""!important;
  position:absolute!important;
  left:20px!important;
  top:-10px!important;
  width:0!important;
  height:0!important;
  border-left:10px solid transparent!important;
  border-right:10px solid transparent!important;
  border-bottom:10px solid #c43a34!important;
}
.um .um-field.x7m0a-has-error input[type="text"],
.um .um-field.x7m0a-has-error input[type="email"],
.um .um-field.x7m0a-has-error input[type="password"],
.um .um-field.x7m0a-has-error input[type="tel"],
.um .um-field.x7m0a-has-error input[type="number"]{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.08), inset 0 1px 0 rgba(255,255,255,.8)!important;
}


/* v1.1.3.13: center success popup for official /login/ and /register/ pages */
.x7m0a__success-official{
  position:fixed!important;
  inset:0!important;
  z-index:1000006!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .22s ease!important;
}
.x7m0a__success-official.is-show{opacity:1!important;pointer-events:auto!important}
.x7m0a__success-official-bg{
  position:absolute!important;
  inset:0!important;
  background:rgba(15,23,42,.28)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.x7m0a__success-official-card{
  position:relative!important;
  display:block!important;
  width:min(92vw,560px)!important;
  margin:0!important;
  padding:34px 24px 30px!important;
  transform:translateY(18px) scale(.96)!important;
  transition:transform .32s cubic-bezier(.16,1,.3,1)!important;
}
.x7m0a__success-official.is-show .x7m0a__success-official-card{
  transform:translateY(0) scale(1)!important;
}
@media(max-width:767px){
  .x7m0a__success-official{
    align-items:center!important;
    padding:18px!important;
  }
  .x7m0a__success-official-card{
    width:min(92vw,520px)!important;
    padding:30px 18px 26px!important;
  }
}

/* v1.1.3.15: hard lock PWA pull-to-refresh for auth popup only */
html.x7m0-auth-pwalock,
body.x7m0-auth-pwalock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:none!important;
  height:100%!important;
}
body.x7m0-auth-pwalock{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  overflow:hidden!important;
}
html.x7m0-auth-pwalock .x7m0a.is-open,
html.x7m0-auth-pwalock .x7m0a--um.is-open{
  position:fixed!important;
  inset:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  touch-action:none!important;
}
html.x7m0-auth-pwalock .x7m0a.is-open .x7m0a__bg,
html.x7m0-auth-pwalock .x7m0a--um.is-open .x7m0a__bg{
  position:fixed!important;
  inset:0!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  touch-action:none!important;
}
html.x7m0-auth-pwalock .x7m0a.is-open .x7m0a__box,
html.x7m0-auth-pwalock .x7m0a--um.is-open .x7m0a__box--um{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:pan-y!important;
}


/* v1.1.3.23: Crisp an toàn, không dịch menu mobile; chỉ nâng khung chat lên trên menu */
@media(max-width:1024px){
  .x7m0{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
  html.x7m0-crisp-closed #crisp-chatbox,
  body.x7m0-crisp-closed #crisp-chatbox{
    pointer-events:none!important;
  }
  html.x7m0-crisp-open #crisp-chatbox,
  body.x7m0-crisp-open #crisp-chatbox{
    z-index:2147483600!important;
    pointer-events:none!important;
  }
  html.x7m0-crisp-open #crisp-chatbox iframe,
  body.x7m0-crisp-open #crisp-chatbox iframe,
  html.x7m0-crisp-open #crisp-chatbox > div,
  body.x7m0-crisp-open #crisp-chatbox > div{
    bottom:var(--x7m0-crisp-bottom,100px)!important;
    max-height:calc(100dvh - var(--x7m0-crisp-bottom,100px) - 10px - env(safe-area-inset-top))!important;
    pointer-events:auto!important;
  }
  html.x7m0-crisp-open .x7m0__chat.is-on,
  body.x7m0-crisp-open .x7m0__chat.is-on{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* v1.1.3.24: auth popup pull-to-refresh guard giống HF User Page, không dùng body fixed để tránh lệch/đơ */
html.x7m0-auth-refresh-lock,
html.x7m0-auth-refresh-lock body,
body.x7m0-auth-refresh-lock,
html.superpwa-disable-pull-refresh,
html.superpwa-disable-pull-refresh body,
body.superpwa-disable-pull-refresh,
html.pwa-disable-pull-refresh,
html.pwa-disable-pull-refresh body,
body.pwa-disable-pull-refresh,
html.superpwa-no-pull-refresh,
html.superpwa-no-pull-refresh body,
body.superpwa-no-pull-refresh,
html.spwa-no-pull-refresh,
html.spwa-no-pull-refresh body,
body.spwa-no-pull-refresh{
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
}
html.x7m0-auth-refresh-lock body,
body.x7m0-auth-refresh-lock{
  overflow:hidden!important;
  touch-action:auto!important;
  -webkit-overflow-scrolling:auto!important;
}
html.x7m0-auth-refresh-lock .x7m0a.is-open,
html.x7m0-auth-refresh-lock .x7m0a--um.is-open{
  position:fixed!important;
  inset:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  touch-action:auto!important;
}
html.x7m0-auth-refresh-lock .x7m0a.is-open .x7m0a__bg,
html.x7m0-auth-refresh-lock .x7m0a--um.is-open .x7m0a__bg{
  position:fixed!important;
  inset:0!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
  touch-action:none!important;
}
html.x7m0-auth-refresh-lock .x7m0a.is-open .x7m0a__box,
html.x7m0-auth-refresh-lock .x7m0a--um.is-open .x7m0a__box--um{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}

/* v1.1.3.25: Register popup - show all validation errors at once, compact notes under each input */
.x7m0a--um .um .um-field .x7m0a__field-error,
.um .um-field .x7m0a__field-error{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  margin:7px 0 0!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:#fff1f1!important;
  border:1px solid rgba(239,68,68,.20)!important;
  color:#b93815!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.28!important;
  letter-spacing:-.01em!important;
  box-shadow:0 8px 18px rgba(185,28,28,.045), inset 0 1px 0 rgba(255,255,255,.74)!important;
  clear:none!important;
}
.x7m0a--um .um .um-field .x7m0a__field-error::before,
.um .um-field .x7m0a__field-error::before{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  top:-6px!important;
  width:0!important;
  height:0!important;
  border-left:6px solid transparent!important;
  border-right:6px solid transparent!important;
  border-bottom:6px solid #ef4444!important;
  filter:drop-shadow(0 -1px 0 rgba(239,68,68,.10))!important;
}
.x7m0a--um .um.um-register .um-field-first_name .x7m0a__field-error,
.x7m0a--um .um.um-register .um-field-last_name .x7m0a__field-error,
.x7m0a--um .um.um-register .um-field[data-key="first_name"] .x7m0a__field-error,
.x7m0a--um .um.um-register .um-field[data-key="last_name"] .x7m0a__field-error{
  margin-top:6px!important;
  padding:7px 8px!important;
  border-radius:10px!important;
  font-size:11px!important;
  line-height:1.2!important;
  min-height:0!important;
}
@media(max-width:767px){
  .x7m0a--um .um .um-field .x7m0a__field-error,
  .um .um-field .x7m0a__field-error{
    margin-top:6px!important;
    padding:7px 9px!important;
    border-radius:11px!important;
    font-size:11px!important;
    line-height:1.22!important;
  }
  .x7m0a--um .um.um-register .um-field-first_name .x7m0a__field-error,
  .x7m0a--um .um.um-register .um-field-last_name .x7m0a__field-error,
  .x7m0a--um .um.um-register .um-field[data-key="first_name"] .x7m0a__field-error,
  .x7m0a--um .um.um-register .um-field[data-key="last_name"] .x7m0a__field-error{
    padding:6px 7px!important;
    font-size:10px!important;
    line-height:1.18!important;
  }
  .x7m0a--um .um .um-field .x7m0a__field-error::before,
  .um .um-field .x7m0a__field-error::before{
    left:14px!important;
    top:-5px!important;
    border-left-width:5px!important;
    border-right-width:5px!important;
    border-bottom-width:5px!important;
  }
}

/* v1.1.3.27: không chạy lại animation menu khi vừa reload xong */
.x7m0-booting .x7m0__glider,.x7m0-booting .x7m0__it,.x7m0-booting .x7m0__i{transition:none!important;animation:none!important}
