.jp-assistant { position: fixed; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); z-index: 10000; font-family: var(--font-main, sans-serif); line-height: 1.5; color: #1e293b; }
.jp-assistant [hidden] { display: none !important; }
.jp-assistant button { font: inherit; cursor: pointer; }
.jp-assistant button:focus-visible { outline: 3px solid #0c3287; outline-offset: 4px; }
.jp-assistant-toggle { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 14px 22px; border: 0; border-radius: 30px; color: #fff; background: var(--primary, #c8142d); box-shadow: 0 6px 24px rgb(15 23 42 / 18%); font-weight: 600 !important; }
.jp-assistant-toggle:hover { background: #a81025; }
.jp-assistant-panel { position: absolute; right: 0; bottom: 72px; width: min(400px, calc(100vw - 32px)); height: min(580px, calc(100dvh - 130px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 18px; background: #fff; box-shadow: 0 12px 48px rgb(15 23 42 / 18%); }
.jp-assistant-header { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 16px; padding: 16px 18px; background: var(--primary, #c8142d); color: white; }
.jp-assistant-brand { font-size: 17px; font-weight: 700; letter-spacing: 0.5px; }
.jp-assistant-header h2 { margin: 2px 0 0; font-size: 18px; line-height: 1.4; color: inherit; }
.jp-assistant-close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: white; font-size: 30px !important; }
.jp-assistant-close:hover { background: rgb(255 255 255 / 15%); }
.jp-assistant-body { display: flex; flex-direction: column; flex: 1; min-height: 0; position: relative; background: #f8fafc; }
.jp-assistant-status { padding: 28px 22px; font-size: 15px; color: #475569; }
.jp-assistant-status p { margin: 0; }
.jp-assistant-retry { align-self: flex-start; margin: 0 22px 22px; padding: 10px 18px; border: 1px solid #c8142d; border-radius: 8px; background: white; color: #c8142d; }
.jp-assistant-chat { flex: 1; min-height: 0; overflow: hidden; }
.jp-assistant-chat > .coze-chat-sdk { width: 100% !important; height: 100% !important; position: relative !important; inset: auto !important; border-radius: 0 !important; box-shadow: none !important; }
.jp-assistant-chat iframe { width: 100%; height: 100%; border: 0; }
.jp-assistant-chat .chat-uikit-on-boarding__bot > .coze-chat-sdk-semi-typography { max-width: 100%; white-space: normal; overflow: visible; text-overflow: clip; text-align: center; }
@media (max-width: 600px) {
    .jp-assistant { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
    .jp-assistant-toggle { min-height: 52px; padding: 12px 18px; }
    .jp-assistant-panel { bottom: 66px; height: min(560px, calc(100dvh - 112px)); }
}
