.portal-chatbot{--portal-space-1:.5rem;--portal-space-2:1rem;--portal-space-3:1.5rem;--portal-radius-sm:1rem;--portal-radius-md:1.25rem;--portal-radius-lg:1.75rem;--portal-shadow:0 1.5rem 4rem rgba(15,23,42,.2);--portal-shadow-soft:0 .75rem 2rem rgba(15,23,42,.14);--portal-bg:rgba(255,255,255,.94);--portal-bg-strong:#fff;--portal-ink:#0f172a;--portal-muted:#64748b;--portal-line:rgba(148,163,184,.22);--portal-primary:#2563eb;--portal-primary-strong:#1d4ed8;--portal-primary-soft:rgba(37,99,235,.12);--portal-success:#10b981;position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:var(--portal-space-2);font-family:inherit;font-size:clamp(0.875rem, 0.82rem + 0.28vw, 1rem);line-height:1.5;box-sizing:border-box}.portal-chatbot,.portal-chatbot *{box-sizing:border-box}.portal-chatbot-toggle,.portal-chatbot-close,.portal-chatbot-cta,.portal-chatbot-send,.portal-chatbot-suggestion,.portal-chatbot-rating button{min-width:2.75rem;min-height:2.75rem}.portal-chatbot-toggle{position:relative;width:4.25rem;height:4.25rem;padding:0;border:0;border-radius:9999px;background:transparent!important;background-color:transparent!important;background-image:none!important;cursor:pointer;display:grid;place-items:center}.portal-chatbot-toggle-icon,.portal-chatbot-toggle-pulse{position:absolute;inset:0;border-radius:9999px}.portal-chatbot-toggle-icon{overflow:hidden;display:block;background:linear-gradient(135deg,#fff,#dbeafe);box-shadow:var(--portal-shadow-soft);border:.125rem solid rgb(255 255 255 / .95)}.portal-chatbot-toggle-icon img{width:100%;height:100%;object-fit:cover;display:block}.portal-chatbot-toggle-pulse{z-index:-1;background:radial-gradient(circle,rgb(37 99 235 / .22) 0%,#fff0 72%);animation:portal-chatbot-pulse 2.6s ease-in-out infinite}.portal-chatbot-panel{width:min(100vw - 2rem,27rem);height:min(46rem,calc(100dvh - 6.5rem));max-height:calc(100dvh - 6.5rem);background:linear-gradient(180deg,rgb(239 246 255 / .98) 0%,rgb(255 255 255 / .98) 18%,rgb(255 255 255 / .98) 100%);backdrop-filter:blur(20px);border:.0625rem solid rgb(255 255 255 / .75);border-radius:var(--portal-radius-lg);box-shadow:var(--portal-shadow);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;overscroll-behavior:contain}.portal-chatbot-panel[hidden]{display:none!important}.portal-chatbot.is-open .portal-chatbot-toggle{opacity:0;pointer-events:none;transform:translateY(.5rem) scale(.92)}.portal-chatbot-handle{display:none;width:3rem;height:.3125rem;border-radius:9999px;background:rgb(148 163 184 / .45);margin:.625rem auto 0}.portal-chatbot-header{display:flex;align-items:center;justify-content:space-between;gap:var(--portal-space-2);padding:var(--portal-space-2);padding-bottom:.75rem;border-bottom:.0625rem solid var(--portal-line);background:linear-gradient(180deg,rgb(255 255 255 / .94),rgb(255 255 255 / .72))}.portal-chatbot-brand{display:flex;align-items:center;gap:.875rem;min-width:0}.portal-chatbot-brand-copy{display:grid;gap:.1875rem;min-width:0}.portal-chatbot-avatar{width:2.75rem;height:2.75rem;border-radius:1rem;object-fit:cover;display:block;box-shadow:0 .5rem 1.25rem rgb(37 99 235 / .2)}.portal-chatbot-title{font-size:1rem;font-weight:700;color:var(--portal-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-chatbot-status{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--portal-muted)}.portal-chatbot-status-dot{width:.5rem;height:.5rem;border-radius:9999px;background:var(--portal-success);box-shadow:0 0 0 .25rem rgb(16 185 129 / .12)}.portal-chatbot-header-actions{display:flex;align-items:center;gap:var(--portal-space-1)}.portal-chatbot-close{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border-radius:.875rem;border:.0625rem solid rgb(148 163 184 / .24);background:rgb(255 255 255 / .88);color:var(--portal-ink);cursor:pointer;font-size:1.375rem;line-height:1;transition:background-color 140ms ease , transform 140ms ease , box-shadow 140ms ease}.portal-chatbot-close:hover,.portal-chatbot-close:focus-visible{background:#f8fafc;transform:translateY(-.0625rem);box-shadow:0 .5rem 1.5rem rgb(15 23 42 / .08)}.portal-chatbot-intro{display:grid;gap:var(--portal-space-2);padding:1rem;border-bottom:.0625rem solid var(--portal-line)}.portal-chatbot-intro[hidden]{display:none!important}.portal-chatbot-intro-badge{display:inline-flex;align-items:center;width:fit-content;padding:.375rem .75rem;border-radius:9999px;background:var(--portal-primary-soft);color:var(--portal-primary-strong);font-size:.8125rem;font-weight:700;letter-spacing:.02em}.portal-chatbot-intro-title{font-size:clamp(1.25rem, 1.1rem + 0.8vw, 1.75rem);font-weight:800;line-height:1.18;color:var(--portal-ink);letter-spacing:-.02em}.portal-chatbot-intro-subtitle{color:var(--portal-muted);font-size:.9375rem;line-height:1.55}.portal-chatbot-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--portal-space-1)}.portal-chatbot-suggestion{padding:.75rem .875rem;border:.0625rem solid rgb(37 99 235 / .12);border-radius:1rem;background:rgb(255 255 255 / .94);color:#1e293b;font-size:.875rem;font-weight:600;text-align:left;cursor:pointer;transition:transform 140ms ease , border-color 140ms ease , background-color 140ms ease}.portal-chatbot-suggestion:hover,.portal-chatbot-suggestion:focus-visible{transform:translateY(-.0625rem);border-color:rgb(37 99 235 / .35);background:#eff6ff}.portal-chatbot-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.9375rem 1rem;border:0;border-radius:1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;cursor:pointer;font-weight:700;font-size:.9375rem;box-shadow:0 1rem 2rem rgb(37 99 235 / .25);transition:transform 140ms ease , box-shadow 140ms ease , filter 140ms ease}.portal-chatbot-cta:hover,.portal-chatbot-cta:focus-visible{filter:brightness(1.03);transform:translateY(-.0625rem);box-shadow:0 1.25rem 2.5rem rgb(37 99 235 / .28)}.portal-chatbot-body{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.portal-chatbot-messages{min-height:0;padding:1rem;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--portal-space-2);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.portal-chatbot-swipe-hint{padding:0 1rem .75rem;font-size:.75rem;color:var(--portal-muted)}.portal-chatbot-msg{position:relative;max-width:min(88%,26rem);padding:.875rem 1rem;border-radius:1.25rem;line-height:1.55;font-size:.875rem;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;box-shadow:0 .75rem 1.5rem rgb(15 23 42 / .05);transition:transform 140ms ease , box-shadow 140ms ease , outline-color 140ms ease}.portal-chatbot-msg a{color:inherit;font-weight:700;text-decoration-thickness:.08em;text-underline-offset:.15em}.portal-chatbot-msg-user{align-self:flex-end;border-bottom-right-radius:.375rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.portal-chatbot-msg-bot{align-self:flex-start;border-bottom-left-radius:.375rem;background:rgb(255 255 255 / .96);color:var(--portal-ink);border:.0625rem solid rgb(148 163 184 / .16)}.portal-chatbot-msg.is-focused{outline:.125rem solid rgb(37 99 235 / .28);outline-offset:.125rem;transform:translateY(-.0625rem);box-shadow:0 1rem 2.5rem rgb(37 99 235 / .12)}.portal-chatbot-form{display:grid;gap:var(--portal-space-1);padding:1rem;border-top:.0625rem solid var(--portal-line);background:rgb(255 255 255 / .96)}.portal-chatbot-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--portal-space-1);padding:.5rem;border:.0625rem solid rgb(148 163 184 / .22);border-radius:1.25rem;background:rgb(248 250 252 / .9);box-shadow:inset 0 .0625rem 0 rgb(255 255 255 / .9)}.portal-chatbot-input{width:100%;min-width:0;max-height:8rem;padding:.6875rem .875rem;border:0;background:#fff0;color:var(--portal-ink);font:inherit;font-size:.875rem;line-height:1.55;resize:none;outline:none;overflow-y:auto}.portal-chatbot-input::placeholder{color:#94a3b8}.portal-chatbot-send{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.875rem 1rem;border:0;border-radius:1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;white-space:nowrap;box-shadow:0 .75rem 1.5rem rgb(37 99 235 / .2)}.portal-chatbot-send-icon{font-size:.95rem;line-height:1}.portal-chatbot-composer-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;color:var(--portal-muted);font-size:.75rem}.portal-chatbot-rating{display:flex;flex-direction:column;gap:.75rem}.portal-chatbot-rating-stars{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.portal-chatbot-star{border:0;background:#fff0;padding:0;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.38;transform:translateY(0);transition:opacity 140ms ease , transform 140ms ease}.portal-chatbot-star.is-selected,.portal-chatbot-star:hover{opacity:1;transform:translateY(-.0625rem)}.portal-chatbot-rating-submit,.portal-chatbot-rating .portal-chatbot-send{align-self:flex-start}.portal-chatbot-rating-hint{font-size:.8125rem;color:#475569}@keyframes portal-chatbot-pulse{0%,100%{transform:scale(.92);opacity:.78}50%{transform:scale(1.12);opacity:.28}}@media (max-width:1199.98px){.portal-chatbot-panel{width:min(100vw - 2rem,25rem);height:min(42rem,calc(100dvh - 6rem))}}@media (max-width:1023.98px){.portal-chatbot{right:max(.875rem,env(safe-area-inset-right));bottom:max(.875rem,env(safe-area-inset-bottom))}.portal-chatbot-panel{width:min(100vw - 1.5rem,24rem);height:min(40rem,calc(100dvh - 5.75rem))}}@media (max-width:767.98px){.portal-chatbot{right:max(.5rem,env(safe-area-inset-right));left:max(.5rem,env(safe-area-inset-left));bottom:max(.5rem,env(safe-area-inset-bottom));align-items:stretch}.portal-chatbot-toggle{align-self:flex-end}.portal-chatbot-panel{width:100%;height:min(43rem,calc(100dvh - 1rem));max-height:calc(100dvh - 1rem);border-radius:1.5rem}.portal-chatbot-handle{display:block}.portal-chatbot-suggestions{grid-template-columns:1fr}.portal-chatbot-msg{max-width:92%}}@media (max-width:479.98px){.portal-chatbot{font-size:.875rem}.portal-chatbot-panel{height:calc(100dvh - .5rem);max-height:calc(100dvh - .5rem);border-radius:1.25rem}.portal-chatbot-header,.portal-chatbot-intro,.portal-chatbot-messages,.portal-chatbot-form{padding-left:.875rem;padding-right:.875rem}.portal-chatbot-composer{grid-template-columns:1fr}.portal-chatbot-send{width:100%}.portal-chatbot-composer-meta{flex-direction:column;align-items:flex-start}}@media (max-width:319.98px){.portal-chatbot{left:.25rem;right:.25rem;bottom:.25rem}.portal-chatbot-panel{height:calc(100dvh - .25rem);max-height:calc(100dvh - .25rem)}.portal-chatbot-title{font-size:.9375rem}}@media (min-width:768px){.portal-chatbot-swipe-hint{display:none}}@media (min-width:1024px){.portal-chatbot-panel{width:min(32vw,27rem);height:min(44rem,calc(100dvh - 7rem))}.portal-chatbot-msg,.portal-chatbot-input{font-size:.9375rem}}@media (min-width:1200px){.portal-chatbot{right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom))}.portal-chatbot-panel{width:min(28rem,30vw);height:min(46rem,calc(100dvh - 7.5rem))}.portal-chatbot-msg,.portal-chatbot-input,.portal-chatbot-send,.portal-chatbot-suggestion{font-size:1rem}}@media (hover:none) and (pointer:coarse){.portal-chatbot-msg{touch-action:pan-y}.portal-chatbot-send,.portal-chatbot-close,.portal-chatbot-suggestion,.portal-chatbot-toggle,.portal-chatbot-cta{-webkit-tap-highlight-color:#fff0}}@media (prefers-reduced-motion:reduce){.portal-chatbot *,.portal-chatbot-toggle-pulse{animation:none!important;transition:none!important;scroll-behavior:auto!important}}