
/* UMIMODAL V21 — Context Chatbox
   Tách riêng hoàn toàn để không ảnh hưởng UI/logic hiện tại. */
:root{
  --umi-chat-ink:#211a16;
  --umi-chat-muted:#786b62;
  --umi-chat-line:rgba(78,58,45,.14);
  --umi-chat-bg:#fffdf9;
  --umi-chat-soft:#f7eee8;
  --umi-chat-accent:#7a5a46;
  --umi-chat-shadow:0 18px 54px rgba(42,29,21,.20);
}
.umi-chat-root{position:relative;z-index:4300;font-family:"Cormorant Garamond",Georgia,serif}
.umi-chat-launcher{
  position:fixed;
  right:max(14px,env(safe-area-inset-right));
  bottom:calc(16px + env(safe-area-inset-bottom));
  z-index:4301;
  width:48px;height:48px;border-radius:999px;
  border:1px solid rgba(79,58,44,.20);
  background:rgba(255,253,249,.98);
  color:var(--umi-chat-ink);
  display:grid;place-items:center;
  box-shadow:0 9px 28px rgba(44,30,21,.16);
  padding:0;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
body.umi-chat-has-bottom-nav .umi-chat-launcher{bottom:calc(var(--umi-agent-bottom) + 52px + env(safe-area-inset-bottom));}
.umi-chat-launcher:active{transform:scale(.97)}
.umi-chat-launcher svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.umi-chat-online{
  position:absolute;right:1px;bottom:3px;width:10px;height:10px;border-radius:50%;
  background:#6f9b78;border:2px solid #fffdf9;
}
.umi-chat-panel{
  position:fixed;
  right:max(10px,env(safe-area-inset-right));
  bottom:calc(72px + env(safe-area-inset-bottom));
  z-index:4302;
  width:min(365px,calc(100vw - 20px));
  height:min(600px,72vh);
  min-height:420px;
  display:flex;flex-direction:column;
  overflow:hidden;
  border:1px solid var(--umi-chat-line);
  border-radius:18px;
  background:var(--umi-chat-bg);
  box-shadow:var(--umi-chat-shadow);
  opacity:0;pointer-events:none;
  transform:translateY(12px) scale(.985);
  transform-origin:bottom right;
  transition:opacity .20s ease,transform .20s ease;
}
body.umi-chat-has-bottom-nav .umi-chat-panel{
  bottom:calc(122px + env(safe-area-inset-bottom));
  height:min(560px,67vh);
}
.umi-chat-root.open .umi-chat-panel{opacity:1;pointer-events:auto;transform:none}
.umi-chat-root.open .umi-chat-launcher{opacity:0;pointer-events:none}
.umi-chat-head{
  flex:0 0 auto;display:grid;grid-template-columns:38px 1fr 34px;gap:9px;align-items:center;
  padding:11px 10px 10px 12px;
  border-bottom:1px solid var(--umi-chat-line);
  background:linear-gradient(180deg,#fffdfa,#fbf5ef);
}
.umi-chat-avatar{
  width:38px;height:38px;border-radius:50%;background:#efe0d6;border:1px solid rgba(83,61,47,.12);
  display:grid;place-items:center;color:#6e4f3c;position:relative;
}
.umi-chat-avatar svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.umi-chat-avatar:after{content:"";position:absolute;right:0;bottom:1px;width:8px;height:8px;border-radius:50%;background:#6f9b78;border:2px solid #fff}
.umi-chat-title{font-size:15.5px;line-height:1.02;font-weight:700;color:var(--umi-chat-ink)}
.umi-chat-subtitle{margin-top:3px;font:500 9.5px/1.25 Arial,sans-serif;color:var(--umi-chat-muted)}
.umi-chat-close{
  width:32px;height:32px;border:0;background:transparent;border-radius:50%;
  color:#66584f;font:300 25px/1 Arial,sans-serif;display:grid;place-items:center;padding:0;cursor:pointer
}
.umi-chat-close:active{background:rgba(0,0,0,.04)}
.umi-chat-context{
  flex:0 0 auto;margin:8px 10px 0;padding:7px 9px;border-radius:10px;
  background:#f8f0ea;color:#6b584c;font:600 9px/1.35 Arial,sans-serif;
  display:none
}
.umi-chat-context.show{display:block}
.umi-chat-messages{
  flex:1 1 auto;overflow:auto;overscroll-behavior:contain;
  padding:10px 10px 8px;scrollbar-width:thin;
}
.umi-chat-row{display:flex;margin:0 0 8px}
.umi-chat-row.user{justify-content:flex-end}
.umi-chat-bubble{
  max-width:85%;padding:9px 10px;border-radius:14px;
  font:500 11.2px/1.46 Arial,sans-serif;
  color:#362b25;background:#f3e8e0;
  overflow-wrap:anywhere;
}
.umi-chat-row.user .umi-chat-bubble{background:#7a5a46;color:#fff;border-bottom-right-radius:5px}
.umi-chat-row.assistant .umi-chat-bubble{border-bottom-left-radius:5px;background:#f7eee8}
.umi-chat-bubble b{font-weight:700}
.umi-chat-bubble a{color:#6d4c39;text-decoration:underline;text-underline-offset:2px}
.umi-chat-mini-size{width:100%;border-collapse:collapse;margin-top:7px;font:600 8.4px/1.15 Arial,sans-serif;background:#fff;border-radius:8px;overflow:hidden}
.umi-chat-mini-size th,.umi-chat-mini-size td{border:1px solid #eadbd1;padding:5px 3px;text-align:center}
.umi-chat-mini-size th{background:#f4e6df;color:#655044}
.umi-chat-actions{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0 10px 0}
.umi-chat-action{
  border:1px solid rgba(112,82,63,.24);background:#fffaf6;color:#5d4638;
  border-radius:999px;padding:6px 9px;font:600 9.3px/1 Arial,sans-serif;cursor:pointer
}
.umi-chat-action:active{background:#f3e5dc}
.umi-chat-quick{
  flex:0 0 auto;display:flex;gap:5px;overflow-x:auto;padding:7px 10px 5px;
  border-top:1px solid rgba(78,58,45,.08);scrollbar-width:none;
}
.umi-chat-quick::-webkit-scrollbar{display:none}
.umi-chat-quick button{
  flex:0 0 auto;border:1px solid rgba(112,82,63,.18);background:#fff;color:#665044;
  border-radius:999px;padding:6px 9px;font:600 9px/1 Arial,sans-serif;white-space:nowrap
}
.umi-chat-form{
  flex:0 0 auto;display:grid;grid-template-columns:36px 1fr 39px;gap:7px;
  padding:7px 10px calc(9px + env(safe-area-inset-bottom));
  background:#fffdf9;border-top:1px solid rgba(78,58,45,.10)
}
.umi-chat-input{
  width:100%;height:40px;min-width:0;border:1px solid rgba(91,68,53,.19);border-radius:12px;
  background:#fff;color:#2e251f;padding:0 11px;outline:none;
  font:500 11px/1 Arial,sans-serif
}
.umi-chat-input::placeholder{color:#9a8c83}
.umi-chat-input:focus{border-color:rgba(102,73,55,.45);box-shadow:0 0 0 3px rgba(122,90,70,.07)}
.umi-chat-send{
  width:39px;height:39px;border:0;border-radius:12px;background:#7a5a46;color:#fff;display:grid;place-items:center;padding:0
}
.umi-chat-send svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.umi-chat-mic{width:36px;height:39px;border:1px solid rgba(91,68,53,.14);border-radius:12px;background:#f4ece6;color:#6d5445;display:grid;place-items:center;padding:0;font-size:15px;cursor:pointer}
.umi-chat-mic.is-listening{background:#e8f4ff;color:#237cca;box-shadow:0 0 0 3px rgba(52,160,255,.12)}
@media(max-width:430px){
  .umi-chat-panel{left:10px;right:10px;width:auto}
}
@media(max-height:700px){
  .umi-chat-panel{height:min(520px,73vh);min-height:360px}
  body.umi-chat-has-bottom-nav .umi-chat-panel{height:min(480px,64vh)}
}


/* UMIMODAL V22 — Nhân viên trực Web: 1 avatar, voice bubble, panel chỉ mở khi khách bấm. */
.umi-chat-root{--umi-agent-size:52px;--umi-agent-right:14px;--umi-agent-bottom:16px}
.umi-chat-launcher{
  width:var(--umi-agent-size);height:var(--umi-agent-size);padding:0;
  right:max(var(--umi-agent-right),env(safe-area-inset-right));bottom:calc(var(--umi-agent-bottom) + env(safe-area-inset-bottom));
  overflow:visible;background:#fff;border:2px solid rgba(34,145,255,.78);
  box-shadow:0 7px 22px rgba(37,114,201,.24),0 0 0 3px rgba(76,173,255,.08);
}
.umi-chat-launcher img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.umi-chat-online{right:-2px;bottom:0;width:13px;height:13px;background:#10d876;border:2px solid #fff;box-shadow:0 0 0 1px rgba(16,216,118,.25)}
.umi-chat-launcher.is-listening{box-shadow:0 0 0 5px rgba(52,160,255,.16),0 7px 22px rgba(37,114,201,.25)}
.umi-chat-launcher.is-listening:before{content:"";position:absolute;inset:-8px;border:2px solid rgba(52,160,255,.42);border-radius:50%;animation:umiAgentPulse 1.2s ease-out infinite}
@keyframes umiAgentPulse{0%{transform:scale(.92);opacity:.75}100%{transform:scale(1.18);opacity:0}}
.umi-chat-panel{
  width:min(330px,calc(100vw - 24px));height:min(465px,62vh);min-height:350px;
  right:max(12px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));
  border-radius:17px;
}
body.umi-chat-has-bottom-nav .umi-chat-panel{bottom:calc(124px + env(safe-area-inset-bottom));height:min(440px,58vh)}
.umi-chat-head{grid-template-columns:34px 1fr 32px;padding:9px 9px 9px 10px}
.umi-chat-avatar{width:34px;height:34px;padding:0;overflow:hidden;border:1px solid rgba(67,137,214,.25);background:#fff}
.umi-chat-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.umi-chat-avatar:after{width:7px;height:7px}
.umi-chat-title{font-family:Arial,sans-serif;font-size:13px;font-weight:700}
.umi-chat-subtitle{font-size:8.8px}
.umi-chat-greeting,.umi-chat-voice-card{
  position:fixed;right:calc(max(var(--umi-agent-right),env(safe-area-inset-right)) + var(--umi-agent-size) + 9px);
  z-index:4303;width:min(260px,calc(100vw - 96px));
  border:1px solid rgba(78,58,45,.13);background:rgba(255,255,255,.98);color:#342923;
  border-radius:15px;padding:10px 12px;box-shadow:0 12px 32px rgba(45,31,23,.17);
  font:500 11px/1.43 Arial,sans-serif;opacity:0;pointer-events:none;
  transform:translateY(5px);transition:opacity .18s ease,transform .18s ease;
}
.umi-chat-greeting.show,.umi-chat-voice-card.show{opacity:1;pointer-events:auto;transform:none}
.umi-chat-greeting{bottom:calc(var(--umi-agent-bottom) + env(safe-area-inset-bottom))}
.umi-chat-voice-card{bottom:calc(var(--umi-agent-bottom) + env(safe-area-inset-bottom));cursor:pointer}
body.umi-chat-has-bottom-nav .umi-chat-greeting,body.umi-chat-has-bottom-nav .umi-chat-voice-card{bottom:calc(var(--umi-agent-bottom) + 52px + env(safe-area-inset-bottom))}
.umi-chat-voice-card .umi-voice-state{display:block;font-size:9px;color:#7d7068;margin-bottom:4px}
.umi-chat-voice-card.speaking{border-color:rgba(55,148,235,.28)}
.umi-chat-voice-card.speaking .umi-voice-state{color:#237cca}
.umi-chat-typing-inline{display:flex;align-items:center;gap:4px;padding:8px 10px;border-radius:13px;background:#f7eee8;width:max-content;margin-bottom:8px}
.umi-chat-typing-inline i{width:5px;height:5px;background:#98877b;border-radius:50%;animation:umiType 1s infinite}
.umi-chat-typing-inline i:nth-child(2){animation-delay:.15s}.umi-chat-typing-inline i:nth-child(3){animation-delay:.3s}
@keyframes umiType{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-3px);opacity:1}}
@media(max-width:430px){
  .umi-chat-panel{left:auto;right:12px;width:min(322px,calc(100vw - 24px));height:min(430px,58vh)}
  .umi-chat-greeting,.umi-chat-voice-card{font-size:10.5px;width:min(238px,calc(100vw - 92px))}
}
