/* ==========================================================================
   Oilbert teaser widget — branded chat UI
   LM blue #004a99 / deep #003a78 · LM red #e1000f
   ========================================================================== */
#oilbert-teaser-root{
  position:fixed;right:22px;bottom:22px;z-index:99999;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --obt-blue:#004a99;--obt-blue-dk:#003a78;--obt-red:#e1000f;
  --obt-bg:#f4f6f9;--obt-line:#e6e9ef;--obt-ink:#1c2430;--obt-mut:#6b7585;
}
#oilbert-teaser-root *{box-sizing:border-box}

/* ---- Launcher ----------------------------------------------------------- */
.obt-launch{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  background:#fff;border-radius:40px;padding:7px 18px 7px 7px;
  box-shadow:0 6px 22px rgba(0,40,90,.22);border:1px solid var(--obt-line);
  transition:transform .15s ease,box-shadow .15s ease;
}
.obt-launch:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,40,90,.28)}
.obt-launch img{width:46px;height:46px;border-radius:50%;display:block;
  box-shadow:0 2px 6px rgba(0,0,0,.18)}
.obt-launch .obt-launch-txt{display:flex;flex-direction:column;line-height:1.15}
.obt-launch .obt-launch-txt b{font-size:15px;color:var(--obt-blue);font-weight:800}
.obt-launch .obt-launch-txt span{font-size:11.5px;color:var(--obt-mut)}
.obt-launch .obt-dot{width:9px;height:9px;border-radius:50%;background:#21b15a;
  margin-left:2px;box-shadow:0 0 0 3px rgba(33,177,90,.18)}
@media (max-width:480px){
  .obt-launch{padding:6px}.obt-launch .obt-launch-txt,.obt-launch .obt-dot{display:none}
  .obt-launch img{width:54px;height:54px}
}

/* ---- Panel -------------------------------------------------------------- */
.obt-panel{
  display:none;flex-direction:column;width:384px;max-width:94vw;
  height:600px;max-height:82vh;background:var(--obt-bg);
  border-radius:18px;box-shadow:0 18px 50px rgba(0,20,55,.34);
  overflow:hidden;border:1px solid rgba(0,0,0,.06);
  animation:obt-pop .18s ease-out;
}
.obt-panel.open{display:flex}
@keyframes obt-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

/* ---- Header ------------------------------------------------------------- */
.obt-head{
  display:flex;align-items:center;gap:11px;padding:13px 14px;
  background:linear-gradient(135deg,var(--obt-blue) 0%,var(--obt-blue-dk) 100%);
  color:#fff;
}
.obt-head img{width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.85);
  box-shadow:0 2px 8px rgba(0,0,0,.25)}
.obt-head .obt-id{flex:1;min-width:0;line-height:1.2}
.obt-head .obt-id b{font-size:16px;font-weight:800;letter-spacing:.2px;display:block}
.obt-head .obt-id span{font-size:11.5px;opacity:.82}
.obt-quota{font-size:11px;font-weight:700;background:rgba(255,255,255,.18);
  border-radius:20px;padding:3px 9px;white-space:nowrap}
.obt-x{background:transparent;border:0;color:#fff;opacity:.85;cursor:pointer;
  font-size:22px;line-height:1;padding:2px 4px;border-radius:6px}
.obt-x:hover{opacity:1;background:rgba(255,255,255,.14)}

/* ---- Messages ----------------------------------------------------------- */
.obt-msgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:12px}
.obt-msgs::-webkit-scrollbar{width:7px}
.obt-msgs::-webkit-scrollbar-thumb{background:#cdd4de;border-radius:4px}

.obt-row{display:flex;align-items:flex-end;gap:8px;max-width:100%}
.obt-row.user{justify-content:flex-end}
.obt-row .obt-ava{width:30px;height:30px;border-radius:50%;flex:0 0 30px;
  align-self:flex-start;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.obt-msg{max-width:80%;padding:10px 13px;font-size:14px;line-height:1.5;
  word-wrap:break-word;overflow-wrap:anywhere}
.obt-msg.bot{background:#fff;border:1px solid var(--obt-line);color:var(--obt-ink);
  border-radius:4px 16px 16px 16px;box-shadow:0 1px 2px rgba(0,20,55,.06)}
.obt-msg.user{background:var(--obt-blue);color:#fff;white-space:pre-wrap;
  border-radius:16px 16px 4px 16px;box-shadow:0 2px 6px rgba(0,74,153,.28)}

/* typing indicator */
.obt-typing{display:flex;gap:4px;padding:13px}
.obt-typing i{width:7px;height:7px;border-radius:50%;background:#b7c0cd;display:inline-block;
  animation:obt-bounce 1.2s infinite ease-in-out}
.obt-typing i:nth-child(2){animation-delay:.18s}
.obt-typing i:nth-child(3){animation-delay:.36s}
@keyframes obt-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

/* ---- Welcome / empty state --------------------------------------------- */
.obt-welcome{text-align:center;padding:18px 14px 6px}
.obt-welcome img{width:104px;height:104px;object-fit:contain;margin-bottom:6px;
  filter:drop-shadow(0 8px 14px rgba(0,30,80,.18))}
.obt-welcome h3{margin:0 0 4px;font-size:17px;color:var(--obt-ink);font-weight:800}
.obt-welcome p{margin:0 auto;max-width:260px;font-size:13px;color:var(--obt-mut);line-height:1.5}
.obt-sugs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.obt-sug{background:#fff;border:1px solid var(--obt-line);color:var(--obt-blue);
  border-radius:20px;padding:8px 13px;font-size:12.5px;font-weight:600;cursor:pointer;
  transition:background .12s ease,border-color .12s ease,transform .12s ease}
.obt-sug:hover{background:#eef4fb;border-color:#bcd2ec;transform:translateY(-1px)}

/* ---- CTA ---------------------------------------------------------------- */
.obt-cta{margin:4px 14px 0;background:#fff;border:1px solid var(--obt-line);
  border-radius:14px;padding:14px;text-align:center;box-shadow:0 2px 8px rgba(0,20,55,.07)}
.obt-cta p{margin:0 0 10px;font-size:13px;color:var(--obt-ink)}
.obt-cta p b{color:var(--obt-blue)}
.obt-cta a{display:inline-flex;align-items:center;gap:7px;background:var(--obt-red);color:#fff;
  text-decoration:none;padding:11px 18px;border-radius:10px;font-weight:800;font-size:13.5px;
  box-shadow:0 4px 12px rgba(225,0,15,.3);transition:transform .12s ease}
.obt-cta a:hover{transform:translateY(-1px)}

/* ---- Footer / input ----------------------------------------------------- */
.obt-foot{display:flex;align-items:center;gap:8px;padding:11px 12px;
  background:#fff;border-top:1px solid var(--obt-line)}
.obt-foot input{flex:1;border:1px solid var(--obt-line);border-radius:22px;
  padding:11px 15px;font-size:14px;outline:none;background:var(--obt-bg);color:var(--obt-ink);
  transition:border-color .12s ease,background .12s ease}
.obt-foot input:focus{border-color:var(--obt-blue);background:#fff}
.obt-foot button{flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;
  background:var(--obt-blue);color:#fff;cursor:pointer;display:flex;align-items:center;
  justify-content:center;transition:background .12s ease,transform .12s ease}
.obt-foot button:hover:not(:disabled){background:var(--obt-blue-dk);transform:scale(1.05)}
.obt-foot button:disabled{background:#aeb8c6;cursor:default}
.obt-foot button svg{width:19px;height:19px;display:block}

/* ---- Rich-text rendering inside bot bubbles ----------------------------- */
.obt-msg.bot p{margin:0 0 8px}
.obt-msg.bot p:last-child{margin-bottom:0}
.obt-msg.bot ul{margin:4px 0 8px;padding-left:18px}
.obt-msg.bot li{margin:4px 0}
.obt-msg.bot strong{font-weight:700}
.obt-chip{display:inline-block;background:#eef4fb;border:1px solid #cfe0f3;border-radius:8px;
  padding:0 7px;font-size:12.5px;font-weight:600;color:#003a78;white-space:nowrap;line-height:1.7}
.obt-sku{color:var(--obt-blue);text-decoration:none;font-weight:700}
.obt-sku:hover{text-decoration:underline}
.obt-link{color:var(--obt-blue)}
.obt-tds{display:inline-flex;align-items:center;gap:4px;background:var(--obt-red);color:#fff;
  border-radius:9px;padding:1px 8px 1px 5px;font-size:11px;font-weight:700;text-decoration:none;
  vertical-align:middle;white-space:nowrap}
.obt-tds-ico{background:#fff;color:var(--obt-red);border-radius:3px;font-size:8.5px;padding:0 3px;
  font-weight:800;letter-spacing:.3px}
