.upc-chatbot * { box-sizing: border-box; font-family: inherit; }
.upc-chatbot-instance { --upc-primary: #111827; --upc-accent: #9ca3af; --upc-launcher-bg: #111827; --upc-launcher-text: #ffffff; --upc-window-width: 380px; --upc-window-height: 600px; }
.upc-chatbot-shell { width: var(--upc-window-width); max-width: calc(100vw - 24px); background: #fff; border: 1px solid #d9dee5; border-radius: 18px; box-shadow: 0 12px 40px rgba(17,24,39,.18); overflow: hidden; }
.upc-chatbot-header { padding: 14px 16px; font-weight: 700; background: var(--upc-primary); color: #fff; }
.upc-chatbot-messages { height: calc(var(--upc-window-height) - 146px); min-height: 220px; overflow: auto; padding: 14px; background: #f8fafc; }
.upc-chatbot-message { margin: 0 0 12px 0; display: flex; }
.upc-chatbot-message.user { justify-content: flex-end; }
.upc-chatbot-bubble { max-width: 85%; padding: 10px 12px; border-radius: 14px; white-space: pre-wrap; line-height: 1.45; font-size: 14px; }
.upc-chatbot-message.assistant .upc-chatbot-bubble { background: #fff; border: 1px solid #e5e7eb; color: #111827; }
.upc-chatbot-message.user .upc-chatbot-bubble { background: var(--upc-primary); color: #fff; }
.upc-chatbot-form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid #e5e7eb; background: #fff; }
.upc-chatbot-form textarea { flex: 1; resize: none; min-height: 44px; max-height: 110px; border: 1px solid #d1d5db; border-radius: 12px; padding: 10px 12px; }
.upc-chatbot-form button { border: 0; background: var(--upc-primary); color: #fff; border-radius: 12px; padding: 0 14px; cursor: pointer; }
.upc-floating { position: fixed; right: 18px; bottom: 18px; z-index: 999999; }
.upc-chatbot-toggle { border: 0; border-radius: 999px; background: var(--upc-launcher-bg); color: var(--upc-launcher-text); display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; box-shadow: 0 12px 40px rgba(17,24,39,.25); font-weight: 700; }
.upc-launcher-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.upc-launcher-size-small { min-width: 96px; min-height: 56px; padding: 0 20px; font-size: 16px; }
.upc-launcher-size-medium { min-width: 140px; min-height: 84px; padding: 0 28px; font-size: 20px; }
.upc-launcher-size-large { min-width: 188px; min-height: 112px; padding: 0 36px; font-size: 24px; }
.upc-launcher-cloud.upc-launcher-size-small, .upc-launcher-text.upc-launcher-size-small { min-width: 112px; }
.upc-launcher-cloud.upc-launcher-size-medium, .upc-launcher-text.upc-launcher-size-medium { min-width: 156px; }
.upc-launcher-cloud.upc-launcher-size-large, .upc-launcher-text.upc-launcher-size-large { min-width: 204px; }
.upc-chatbot-panel { display: none; margin-bottom: 12px; }
.upc-chatbot-panel.open { display: block; }
.upc-shortcode .upc-chatbot-shell { width: 100%; max-width: 760px; }
.upc-typing { opacity: .7; font-style: italic; }
.upc-chatbot-form button:hover, .upc-chatbot-toggle:hover { background: var(--upc-accent); }
.upc-chatbot-footer { padding: 8px 14px 10px; font-size: 11px; line-height: 1.2; text-align: center; color: #6b7280; text-transform: lowercase; }
