

/* ============================================================
   ============================================================
   RESONANCE PHARMA AI — WIDGET STYLES
   Everything is scoped under .resonance-pharma-ai
   ============================================================
   ============================================================ */

.resonance-pharma-ai{
  /* ---- design tokens ---- */
  --rpai-900:#052018;
  --rpai-800:#0a3527;
  --rpai-700:radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  --rpai-600:radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  --rpai-500: radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  --rpai-emerald:radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  --rpai-emerald-2:radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  --rpai-navy:#0b1f2c;
  --rpai-surface:#edf2ef;
  --rpai-surface-2:#f6faf8;
  --rpai-white:#ffffff;
  --rpai-ink:#0f2419;
  --rpai-muted:#5f776b;
  --rpai-line:rgba(10,53,39,.10);
  --rpai-ease:cubic-bezier(.16,1,.3,1);

  position:fixed;
  inset:0;
  z-index:2147483000;
  pointer-events:none;
  font-family:'Inter','Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  font-size:15px;
  line-height:1.5;
  font-weight:400;
  color:var(--rpai-ink);
  text-align:left;
  direction:ltr;
  letter-spacing:normal;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* ---------- scoped reset (never touches global styles) ---------- */
.resonance-pharma-ai *,
.resonance-pharma-ai *::before,
.resonance-pharma-ai *::after{box-sizing:border-box}

.resonance-pharma-ai p,
.resonance-pharma-ai h2,
.resonance-pharma-ai ul,
.resonance-pharma-ai li,
.resonance-pharma-ai span,
.resonance-pharma-ai button,
.resonance-pharma-ai input{
  margin:0;
  padding:0;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  color:inherit;
  letter-spacing:inherit;
  text-transform:none;
  background:none;
  border:0;
  list-style:none;
  -webkit-appearance:none;
  appearance:none;
}

.resonance-pharma-ai svg{display:block}

.resonance-pharma-ai button{cursor:pointer;-webkit-tap-highlight-color:transparent}

/* ============================================================
   FLOATING TRIGGER
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-trigger{
  position:absolute;
  right:24px;
  bottom:50px;
  width:45px;
  height:45px;
  border-radius:50%;
  pointer-events:auto;
  display:block;
  color:#eafff5;
  background:
    radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -3px 8px rgba(0,0,0,.22),
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 16px 30px -12px rgba(5,40,28,.60),
    0 8px 16px -8px rgba(5,40,28,.38),
    0 2px 4px rgba(5,40,28,.20);
  transition:
    transform 420ms var(--rpai-ease),
    box-shadow 320ms ease,
    opacity 320ms ease;
  transform:translateZ(0);
  will-change:transform;
}
.resonance-pharma-ai .resonance-pharma-ai-trigger::after{
  content:'';
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:1px solid rgba(31,160,106,.45);
  opacity:0;
  pointer-events:none;
  animation:rpai-halo 4.6s ease-out infinite;
}
@keyframes rpai-halo{
  0%{transform:scale(.82);opacity:0}
  30%{opacity:.55}
  100%{transform:scale(1.28);opacity:0}
}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-trigger:hover{
    transform:translateY(-4px) scale(1.045);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.5),
      inset 0 -3px 8px rgba(0,0,0,.20),
      inset 0 0 0 1px rgba(255,255,255,.14),
      0 24px 42px -14px rgba(5,40,28,.62),
      0 12px 22px -10px rgba(5,40,28,.40);
  }
}
.resonance-pharma-ai .resonance-pharma-ai-trigger:active{
  transform:translateY(1px) scale(.955);
  box-shadow:
    inset 0 3px 9px rgba(0,0,0,.34),
    inset 0 -1px 0 rgba(255,255,255,.18),
    0 6px 14px -8px rgba(5,40,28,.5);
}
.resonance-pharma-ai .resonance-pharma-ai-trigger:focus-visible{
  outline:3px solid rgba(31,160,106,.55);
  outline-offset:4px;
}

/* trigger glyph morph */
.resonance-pharma-ai .resonance-pharma-ai-trigger-glyph{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  transition:transform 520ms var(--rpai-ease), opacity 300ms ease;
}
.resonance-pharma-ai .resonance-pharma-ai-trigger-glyph svg{width:28px;height:28px}
.resonance-pharma-ai .resonance-pharma-ai-trigger-glyph--close{
  opacity:0;
  transform:rotate(-90deg) scale(.35);
}
.resonance-pharma-ai.is-open .resonance-pharma-ai-trigger-glyph--spark{
  opacity:0;
  transform:rotate(90deg) scale(.35);
}
.resonance-pharma-ai.is-open .resonance-pharma-ai-trigger-glyph--close{
  opacity:1;
  transform:rotate(0deg) scale(1);
}

/* ============================================================
   PANEL
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-panel{
  position:absolute;
  right:24px;
  bottom:104px;
  width:404px;
  height:min(660px, calc(100vh - 150px));
  height:min(660px, calc(100dvh - 150px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(180deg, #fbfdfc 0%, var(--rpai-surface) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 0 0 1px rgba(255,255,255,.65),
    0 0 0 1px rgba(10,53,39,.07),
    0 44px 84px -34px rgba(5,35,25,.48),
    0 20px 44px -24px rgba(5,35,25,.32);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform-origin:100% 100%;
  transform:perspective(1400px) translate3d(14px, 28px, 0) scale(.86) rotateX(7deg);
  transition:
    opacity 280ms ease,
    transform 540ms var(--rpai-ease),
    visibility 0s linear 540ms;
  will-change:transform, opacity;
}
.resonance-pharma-ai.is-open .resonance-pharma-ai-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:perspective(1400px) translate3d(0,0,0) scale(1) rotateX(0deg);
  transition:
    opacity 240ms ease,
    transform 540ms var(--rpai-ease),
    visibility 0s linear 0s;
}

/* ============================================================
   HEADER
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-header{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 58px 15px 16px;
  color:#fff;
  background:radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(0,0,0,.22),
    0 12px 26px -18px rgba(5,35,25,.9);
  overflow:hidden;
}
.resonance-pharma-ai .resonance-pharma-ai-header::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(120% 150% at 8% -30%, rgba(60,185,135,.40), rgba(60,185,135,0) 62%);
}

.resonance-pharma-ai .resonance-pharma-ai-avatar{
  position:relative;
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#eafff5;
  background:radial-gradient(130% 130% at 30% 18%, rgba(255,255,255,.34), rgba(255,255,255,0) 58%), linear-gradient(158deg, #0c9bdb 0%, #57b894 34%, #0c9bdb 68%, var(--rpai-800) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -3px 7px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.14),
    0 8px 16px -8px rgba(0,0,0,.7);
}
.resonance-pharma-ai .resonance-pharma-ai-avatar svg{width:23px;height:23px}
.resonance-pharma-ai .resonance-pharma-ai-avatar--sm{
  width:30px;
  height:30px;
  border-radius:10px;
  margin-top:2px;
}
.resonance-pharma-ai .resonance-pharma-ai-avatar--sm svg{width:16px;height:16px}

.resonance-pharma-ai .resonance-pharma-ai-heading{
  position:relative;
  z-index:1;
  min-width:0;
}
.resonance-pharma-ai .resonance-pharma-ai-title{
  font-size:15.5px;
  font-weight:700;
  letter-spacing:.005em;
  color:#ffffff;
  line-height:1.25;
}
.resonance-pharma-ai .resonance-pharma-ai-subtitle{
  font-size:11.5px;
  color:rgba(226,250,240,.72);
  line-height:1.4;
  margin-top:1px;
}
.resonance-pharma-ai .resonance-pharma-ai-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  font-size:9.5px;
  font-weight:650;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(178,244,214,.92);
}
.resonance-pharma-ai .resonance-pharma-ai-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #8bf0bd, #1fa06a 60%, #0e4a35);
  box-shadow:0 0 0 2px rgba(31,160,106,.22), 0 0 8px rgba(60,185,135,.85);
  animation:rpai-pulse 2.4s ease-in-out infinite;
}
@keyframes rpai-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.62;transform:scale(.86)}
}

.resonance-pharma-ai .resonance-pharma-ai-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:34px;
  height:34px;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:rgba(233,255,245,.88);
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 6px 12px -6px rgba(0,0,0,.55);
  transition:transform 300ms var(--rpai-ease), background 240ms ease, color 240ms ease;
}
.resonance-pharma-ai .resonance-pharma-ai-close svg{width:15px;height:15px}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-close:hover{
    background:linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,.10));
    color:#ffffff;
    transform:rotate(90deg);
  }
}
.resonance-pharma-ai .resonance-pharma-ai-close:focus-visible{
  outline:2px solid rgba(140,240,189,.85);
  outline-offset:2px;
}

/* ============================================================
   BODY / SCROLL AREA
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:16px 16px 8px;
  display:flex;
  flex-direction:column;
  gap:14px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(18,105,74,.35) transparent;
}
.resonance-pharma-ai .resonance-pharma-ai-body::-webkit-scrollbar{width:8px}
.resonance-pharma-ai .resonance-pharma-ai-body::-webkit-scrollbar-track{background:transparent}
.resonance-pharma-ai .resonance-pharma-ai-body::-webkit-scrollbar-thumb{
  background:rgba(18,105,74,.28);
  border-radius:99px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.resonance-pharma-ai .resonance-pharma-ai-body::-webkit-scrollbar-thumb:hover{
  background:rgba(18,105,74,.45);
  background-clip:padding-box;
}

/* ============================================================
   INTRO BLOCK
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-intro{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.resonance-pharma-ai .resonance-pharma-ai-label{
  font-size:10px;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#6d8479;
  padding-left:2px;
}
.resonance-pharma-ai .resonance-pharma-ai-welcome{
  display:flex;
  align-items:flex-start;
  gap:9px;
}

/* ============================================================
   MESSAGES
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-thread{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.resonance-pharma-ai .resonance-pharma-ai-message{
  display:flex;
  gap:9px;
  animation:rpai-msg-in 440ms var(--rpai-ease) both;
}
@keyframes rpai-msg-in{
  from{opacity:0;transform:translateY(12px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.resonance-pharma-ai .resonance-pharma-ai-message--ai{align-items:flex-start}
.resonance-pharma-ai .resonance-pharma-ai-message--user{
  align-items:flex-end;
  justify-content:flex-end;
}

.resonance-pharma-ai .resonance-pharma-ai-bubble{
  position:relative;
  max-width:100%;
  padding:11px 14px;
  border-radius:16px;
  font-size:13.5px;
  line-height:1.56;
  color:#163025;
  background:linear-gradient(180deg, #ffffff 0%, #f3f8f5 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 0 0 1px rgba(10,53,39,.065),
    0 8px 18px -12px rgba(5,40,28,.42);
}
.resonance-pharma-ai .resonance-pharma-ai-message--ai .resonance-pharma-ai-bubble{
  flex:1 1 auto;
  min-width:0;
  border-bottom-left-radius:6px;
}
.resonance-pharma-ai .resonance-pharma-ai-message--user .resonance-pharma-ai-bubble{
  max-width:84%;
  color:#eafff5;
  border-bottom-right-radius:6px;
  background:linear-gradient(158deg, #17855d 0%, #0e4a35 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -2px 6px rgba(0,0,0,.20),
    0 12px 24px -14px rgba(5,40,28,.7);
}
.resonance-pharma-ai .resonance-pharma-ai-welcome .resonance-pharma-ai-bubble{
  background:linear-gradient(180deg, #ffffff 0%, #eef8f3 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 0 0 1px rgba(31,160,106,.14),
    0 8px 18px -12px rgba(5,40,28,.42);
}
.resonance-pharma-ai .resonance-pharma-ai-bubble p{margin:0 0 9px}
.resonance-pharma-ai .resonance-pharma-ai-bubble p:last-child{margin-bottom:0}
.resonance-pharma-ai .resonance-pharma-ai-bubble strong{
  font-weight:700;
  color:#0e4a35;
}
.resonance-pharma-ai .resonance-pharma-ai-message--user .resonance-pharma-ai-bubble strong{color:#ffffff}

.resonance-pharma-ai .resonance-pharma-ai-bubble-lead{
  font-size:12px;
  font-weight:600;
  color:#5f776b;
  margin-bottom:7px !important;
}

/* topic pills */
.resonance-pharma-ai .resonance-pharma-ai-topics{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:2px;
}
.resonance-pharma-ai .resonance-pharma-ai-topics li{
  font-size:11.5px;
  font-weight:550;
  padding:5px 10px;
  border-radius:8px;
  color:#0e4a35;
  background:linear-gradient(180deg, rgba(31,160,106,.13), rgba(31,160,106,.07));
  box-shadow:
    inset 0 0 0 1px rgba(31,160,106,.20),
    inset 0 1px 0 rgba(255,255,255,.7);
}

/* structured lists (pathways / departments) */
.resonance-pharma-ai .resonance-pharma-ai-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:2px;
}
.resonance-pharma-ai .resonance-pharma-ai-list li{
  position:relative;
  padding:8px 11px 8px 25px;
  font-size:12.5px;
  line-height:1.45;
  border-radius:10px;
  color:#1b3a2c;
  background:linear-gradient(180deg, #ffffff 0%, #f2f7f4 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 0 0 1px rgba(10,53,39,.06),
    0 4px 10px -8px rgba(5,40,28,.5);
}
.resonance-pharma-ai .resonance-pharma-ai-list li::before{
  content:'';
  position:absolute;
  left:10px;
  top:14px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(160deg, #3cb987, #12694a);
  box-shadow:0 0 0 2px rgba(31,160,106,.16);
}

/* ============================================================
   ACTION BUTTONS
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
}
.resonance-pharma-ai .resonance-pharma-ai-action{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 13px;
  border-radius:11px;
  font-size:12px;
  font-weight:650;
  letter-spacing:.005em;
  color:#eafff5;
  background:linear-gradient(158deg, #1fa06a 0%, #12694a 55%, #0a3527 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -2px 5px rgba(0,0,0,.22),
    0 10px 20px -12px rgba(5,40,28,.85);
  transition:transform 240ms var(--rpai-ease), box-shadow 240ms ease, filter 240ms ease;
}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-action:hover{
    transform:translateY(-2px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.34),
      inset 0 -2px 5px rgba(0,0,0,.20),
      0 16px 26px -14px rgba(5,40,28,.9);
  }
}
.resonance-pharma-ai .resonance-pharma-ai-action:active{transform:translateY(0) scale(.98)}
.resonance-pharma-ai .resonance-pharma-ai-action:focus-visible{
  outline:2px solid rgba(31,160,106,.6);
  outline-offset:2px;
}
.resonance-pharma-ai .resonance-pharma-ai-action--ghost{
  color:#0e4a35;
  background:linear-gradient(180deg, #ffffff 0%, #eef4f1 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 0 0 1px rgba(10,53,39,.10),
    0 6px 12px -10px rgba(5,40,28,.5);
}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-action--ghost:hover{
    color:#0a3527;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.95),
      0 0 0 1px rgba(31,160,106,.30),
      0 10px 18px -12px rgba(5,40,28,.55);
  }
}

/* ============================================================
   CHIPS (quick questions / suggestions)
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.resonance-pharma-ai .resonance-pharma-ai-chips--inline{margin-top:11px}
.resonance-pharma-ai .resonance-pharma-ai-chip{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:550;
  line-height:1.35;
  text-align:left;
  color:#0e4a35;
  background:linear-gradient(180deg, #ffffff 0%, #eef4f1 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 0 0 1px rgba(10,53,39,.085),
    0 5px 12px -10px rgba(5,40,28,.55);
  transition:transform 220ms var(--rpai-ease), box-shadow 220ms ease, color 220ms ease;
}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-chip:hover{
    transform:translateY(-2px);
    color:#0a3527;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.95),
      0 0 0 1px rgba(31,160,106,.34),
      0 10px 18px -12px rgba(5,40,28,.6);
  }
}
.resonance-pharma-ai .resonance-pharma-ai-chip:active{transform:translateY(0) scale(.98)}
.resonance-pharma-ai .resonance-pharma-ai-chip:focus-visible{
  outline:2px solid rgba(31,160,106,.55);
  outline-offset:2px;
}

/* ============================================================
   CATEGORY GRID
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-categories{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:9px;
}
.resonance-pharma-ai .resonance-pharma-ai-category{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:52px;
  padding:9px 10px;
  border-radius:14px;
  text-align:left;
  color:#12402f;
  background:linear-gradient(180deg, #ffffff 0%, #eef4f1 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -2px 5px rgba(10,53,39,.045),
    0 0 0 1px rgba(10,53,39,.055),
    0 6px 14px -10px rgba(5,40,28,.5);
  transition:
    transform 260ms var(--rpai-ease),
    box-shadow 260ms ease,
    color 260ms ease,
    background 260ms ease;
}
.resonance-pharma-ai .resonance-pharma-ai-category-icon{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  color:#0e4a35;
  background:linear-gradient(180deg, rgba(31,160,106,.16), rgba(31,160,106,.07));
  box-shadow:
    inset 0 0 0 1px rgba(31,160,106,.18),
    inset 0 1px 0 rgba(255,255,255,.85);
  transition:background 260ms ease, color 260ms ease, box-shadow 260ms ease;
}
.resonance-pharma-ai .resonance-pharma-ai-category-icon svg{width:16px;height:16px}
.resonance-pharma-ai .resonance-pharma-ai-category-label{
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  line-height:1.25;
  word-break:break-word;
  hyphens:auto;
}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-category:hover{
    transform:translateY(-3px);
    color:#0a3527;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.95),
      0 0 0 1px rgba(31,160,106,.34),
      0 14px 24px -14px rgba(5,40,28,.6);
  }
}
.resonance-pharma-ai .resonance-pharma-ai-category:active{transform:translateY(-1px) scale(.985)}
.resonance-pharma-ai .resonance-pharma-ai-category:focus-visible{
  outline:2px solid rgba(31,160,106,.55);
  outline-offset:2px;
}
.resonance-pharma-ai .resonance-pharma-ai-category.is-selected{
  color:#eafff5;
  background:linear-gradient(158deg, #1fa06a 0%, #12694a 58%, #0a3527 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -2px 6px rgba(0,0,0,.24),
    0 14px 26px -14px rgba(5,40,28,.9);
}
.resonance-pharma-ai .resonance-pharma-ai-category.is-selected .resonance-pharma-ai-category-icon{
  color:#eafff5;
  background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.10));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.22),
    inset 0 1px 0 rgba(255,255,255,.3);
}

/* ============================================================
   TYPING INDICATOR
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-typing{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:14px 16px;
}
.resonance-pharma-ai .resonance-pharma-ai-typing i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(160deg, #3cb987, #12694a);
  box-shadow:0 1px 2px rgba(5,40,28,.35);
  animation:rpai-blink 1.35s ease-in-out infinite;
}
.resonance-pharma-ai .resonance-pharma-ai-typing i:nth-child(2){animation-delay:.18s}
.resonance-pharma-ai .resonance-pharma-ai-typing i:nth-child(3){animation-delay:.36s}
@keyframes rpai-blink{
  0%,80%,100%{opacity:.32;transform:translateY(0) scale(.9)}
  40%{opacity:1;transform:translateY(-3px) scale(1)}
}

/* ============================================================
   COMPOSER
   ============================================================ */
.resonance-pharma-ai .resonance-pharma-ai-composer{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px 14px;
  background:linear-gradient(180deg, rgba(237,242,239,.7) 0%, #e6ede9 100%);
  border-top:1px solid rgba(10,53,39,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.resonance-pharma-ai .resonance-pharma-ai-input-wrap{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:4px;
  padding:0 6px 0 14px;
  border-radius:14px;
  background:#e3eae6;
  box-shadow:
    inset 0 3px 7px rgba(10,53,39,.13),
    inset 0 -1px 0 rgba(255,255,255,.85),
    0 1px 0 rgba(255,255,255,.75);
  transition:box-shadow 260ms ease, background 260ms ease;
}
.resonance-pharma-ai .resonance-pharma-ai-input-wrap:focus-within{
  background:#eef4f1;
  box-shadow:
    inset 0 2px 5px rgba(10,53,39,.09),
    inset 0 -1px 0 rgba(255,255,255,.9),
    0 0 0 2px rgba(31,160,106,.38),
    0 3px 10px -5px rgba(31,160,106,.45);
}
.resonance-pharma-ai .resonance-pharma-ai-input{
  flex:1 1 auto;
  min-width:0;
  padding:14px 0;
  font-size:13.5px;
  color:#0f2419;
  background:transparent;
  outline:none;
}
.resonance-pharma-ai .resonance-pharma-ai-input::placeholder{color:#7d9188}
.resonance-pharma-ai .resonance-pharma-ai-mic{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#5f776b;
  transition:color 220ms ease, background 220ms ease, transform 220ms var(--rpai-ease);
}
.resonance-pharma-ai .resonance-pharma-ai-mic svg{width:15px;height:15px}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-mic:hover{color:#0e4a35;background:rgba(31,160,106,.10)}
}
.resonance-pharma-ai .resonance-pharma-ai-mic:focus-visible{
  outline:2px solid rgba(31,160,106,.5);
  outline-offset:1px;
}
.resonance-pharma-ai .resonance-pharma-ai-mic.is-listening{
  color:#eafff5;
  background:linear-gradient(158deg, #1fa06a, #0e4a35);
  animation:rpai-pulse 1.2s ease-in-out infinite;
}
.resonance-pharma-ai .resonance-pharma-ai-send{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:#eafff5;
  background:linear-gradient(158deg, #3cb987 0%, #12694a 58%, #0a3527 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -3px 7px rgba(0,0,0,.26),
    0 12px 22px -12px rgba(5,40,28,.85);
  transition:transform 240ms var(--rpai-ease), box-shadow 240ms ease;
}
.resonance-pharma-ai .resonance-pharma-ai-send svg{width:18px;height:18px}
@media (hover:hover){
  .resonance-pharma-ai .resonance-pharma-ai-send:hover{
    transform:translateY(-2px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.46),
      inset 0 -3px 7px rgba(0,0,0,.24),
      0 18px 28px -14px rgba(5,40,28,.9);
  }
}
.resonance-pharma-ai .resonance-pharma-ai-send:active{transform:translateY(1px) scale(.96)}
.resonance-pharma-ai .resonance-pharma-ai-send:focus-visible{
  outline:2px solid rgba(31,160,106,.6);
  outline-offset:2px;
}

/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */
@media (max-width:900px){
  .resonance-pharma-ai .resonance-pharma-ai-panel{
    width:378px;
    height:min(620px, calc(100vh - 140px));
    height:min(620px, calc(100dvh - 140px));
    bottom:98px;
    right:20px;
  }
  .resonance-pharma-ai .resonance-pharma-ai-trigger{right:20px;bottom:20px;width:62px;height:62px}
}

/* ============================================================
   RESPONSIVE — MOBILE (bottom sheet)
   ============================================================ */
@media (max-width:640px){
  .resonance-pharma-ai .resonance-pharma-ai-panel{
    left:10px;
    right:auto;
    bottom:10px;
    width:calc(100vw - 20px);
    height:min(88vh, 760px);
    height:min(88dvh, 760px);
    border-radius:24px;
    transform-origin:50% 100%;
    transform:perspective(1200px) translate3d(0, 40px, 0) scale(.94);
  }
  .resonance-pharma-ai.is-open .resonance-pharma-ai-panel{
    transform:perspective(1200px) translate3d(0,0,0) scale(1);
  }
  .resonance-pharma-ai .resonance-pharma-ai-trigger{
    right:16px;
    bottom: 31px;
    width: 45px;
    height: 45px;
  }
  .resonance-pharma-ai.is-open .resonance-pharma-ai-trigger{
    opacity:0;
    pointer-events:none;
    transform:scale(.55);
  }
  .resonance-pharma-ai .resonance-pharma-ai-trigger::after{display:none}
  .resonance-pharma-ai .resonance-pharma-ai-body{padding:14px 13px 8px}
  .resonance-pharma-ai .resonance-pharma-ai-bubble{font-size:13.5px}
  .resonance-pharma-ai .resonance-pharma-ai-category{min-height:56px}
  .resonance-pharma-ai .resonance-pharma-ai-chip{font-size:12.5px;padding:9px 13px}
  .resonance-pharma-ai .resonance-pharma-ai-action{font-size:12.5px;padding:10px 14px}
  .resonance-pharma-ai .resonance-pharma-ai-send{width:48px;height:48px}
  .resonance-pharma-ai .resonance-pharma-ai-close{width:38px;height:38px}
}

/* very small screens — true full-width sheet */
@media (max-width:380px){
  .resonance-pharma-ai .resonance-pharma-ai-panel{
    left:0;
    right:0;
    bottom:0;
    width:100vw;
    height:94vh;
    height:94dvh;
    border-radius:22px 22px 0 0;
  }
  .resonance-pharma-ai .resonance-pharma-ai-categories{
    grid-template-columns:minmax(0,1fr);
  }
}

/* landscape phones */
@media (max-height:520px) and (max-width:900px){
  .resonance-pharma-ai .resonance-pharma-ai-panel{
    height:calc(100vh - 24px);
    height:calc(100dvh - 24px);
    bottom:12px;
    right:12px;
    width:calc(100vw - 24px);
    left:auto;
  }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  .resonance-pharma-ai *,
  .resonance-pharma-ai *::before,
  .resonance-pharma-ai *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0s !important;
    scroll-behavior:auto !important;
  }
  .resonance-pharma-ai .resonance-pharma-ai-trigger::after{display:none}
  .resonance-pharma-ai .resonance-pharma-ai-message{animation:none}
}
