.assistant-widget { position: fixed; right: 24px; bottom: 24px; z-index: 10000; font-family: "Segoe UI", Tahoma, sans-serif; }
.assistant-widget .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.assistant-widget__launcher { display: flex; padding: 0; align-items: center; gap: 10px; cursor: pointer; border: 0; color: #0a2b2d; background: transparent; filter: drop-shadow(0 12px 25px rgba(5,31,33,.24)); }
.assistant-widget__label { padding: 11px 15px; border: 1px solid rgba(10,43,45,.12); border-radius: 99px; background: #fffdf8; font-size: .7rem; font-weight: 800; white-space: nowrap; opacity: 1; transform: translateX(0); transition: opacity .2s, transform .2s; }
.assistant-widget__icon { position: relative; display: grid; width: 62px; height: 62px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #afece2; background: #0c3638; box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); transition: background .2s, transform .2s, box-shadow .2s; }
.assistant-widget__icon svg { width: 29px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.assistant-widget__icon i { position: absolute; right: 4px; bottom: 5px; width: 12px; height: 12px; border: 3px solid #0c3638; border-radius: 50%; background: #71dfa8; transition: border-color .2s; }
.assistant-widget__launcher:hover .assistant-widget__icon { background: #12484a; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(5,31,33,.22), inset 0 0 0 1px rgba(255,255,255,.06); }
.assistant-widget__launcher:hover .assistant-widget__icon i { border-color: #12484a; }
.assistant-widget__launcher:focus-visible { outline: 3px solid rgba(40,125,118,.35); outline-offset: 4px; border-radius: 99px; }

.assistant-widget__panel { position: absolute; right: 0; bottom: 76px; width: min(440px, calc(100vw - 32px)); height: min(690px, calc(100vh - 122px)); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: #082729; box-shadow: 0 28px 80px rgba(5,31,33,.28); transform-origin: right bottom; animation: assistantPanelIn .25s ease both; }
.assistant-widget__panel[hidden] { display: none; }
.assistant-widget__panel iframe { display: block; width: 100%; height: 100%; border: 0; background: #082729; }
.assistant-widget.is-open .assistant-widget__label { pointer-events: none; opacity: 0; transform: translateX(8px); }

@keyframes assistantPanelIn { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
  body.assistant-widget-open { overflow: hidden; }
  body.assistant-widget-open::after { position: fixed; inset: 0; z-index: 9999; content: ""; background: rgba(4,22,24,.38); backdrop-filter: blur(3px); }
  .assistant-widget { right: 15px; bottom: 15px; }
  .assistant-widget__label { display: none; }
  .assistant-widget__icon { width: 56px; height: 56px; }
  .assistant-widget__panel { position: fixed; inset: 10px; width: auto; height: auto; border-radius: 20px; }
  .assistant-widget.is-open .assistant-widget__launcher { visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .assistant-widget__panel { animation: none; }
}
