/* Scope all overrides to the public chatbot. Portal branding follows existing variables. */
.pcb-panel { width:430px; max-width:calc(100vw - 32px); bottom:24px; right:24px; border-radius:22px; box-shadow:0 16px 60px rgba(15,23,42,.18); }
.pcb-panel .chat-header { padding:16px 18px; gap:12px; }
.pcb-identity,.pcb-actions { display:flex; align-items:center; gap:10px; }
.pcb-heading { font-size:15px; letter-spacing:-.2px; }
.pcb-mark { color:var(--accent,#ff6b00); font-size:25px; }
.pcb-icon { display:grid; place-items:center; padding:0; width:32px; height:32px; border:0; border-radius:9px; background:transparent; color:var(--text-muted,#64748b); font-size:24px; line-height:1; }
.pcb-icon:hover { background:var(--bg-color,#f8fafc); color:var(--text-main,#0f172a); }
.pcb-panel .chat-body { height:450px; max-height:calc(100dvh - 210px); min-height:140px; padding:20px 18px; gap:19px; background:var(--surface-color,#fff); overscroll-behavior:contain; scroll-behavior:auto; }
.pcb-welcome { margin:auto 0; padding:10px 5px 22px; }
.pcb-welcome-mark { font-size:40px; color:var(--accent,#ff6b00); }
.pcb-welcome h3 { margin:16px 0 9px; font-size:23px; line-height:1.3; letter-spacing:-.7px; font-weight:700; color:var(--text-main,#0f172a); }
.pcb-welcome p { margin:0 0 23px; font-size:13px; line-height:1.7; color:var(--text-muted,#64748b); }
.pcb-chips { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.pcb-chip { border:1px solid var(--border-color,#e2e8f0); border-radius:12px; padding:12px 10px; background:var(--bg-color,#f8fafc); color:var(--text-main,#0f172a); font-size:12px; text-align:left; }
.pcb-chip:hover,.pcb-source:hover { border-color:var(--accent,#ff6b00); }
.pcb-panel .msg-user { align-self:flex-end; background:var(--bg-color,#f1f5f9); color:var(--text-main,#0f172a); border:1px solid var(--border-color,#e2e8f0); border-radius:16px 16px 4px 16px; padding:10px 14px; max-width:88%; box-shadow:none; }
.pcb-panel .msg-bot { align-self:stretch; border:0; border-radius:0; padding:0 2px; margin:0; background:transparent; color:var(--text-main,#0f172a); max-width:100%; box-shadow:none; }
.pcb-text { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.75; }
.pcb-sources { display:flex; flex-direction:column; gap:6px; margin-top:12px; }
.pcb-source { background:var(--bg-color,#f8fafc); border:1px solid var(--border-color,#e2e8f0); color:var(--text-main,#0f172a); border-radius:9px; padding:8px 10px; font-size:11px; line-height:1.5; text-align:left; }
.pcb-panel .chat-input { margin:8px 14px 0; padding:7px; gap:5px; border:1px solid var(--border-color,#e2e8f0); border-radius:28px; align-items:center; background:var(--bg-color,#f8fafc); }
.pcb-panel .chat-input input { min-width:0; font-size:13px; padding:10px; border-radius:20px; background:transparent; }
.pcb-panel .chat-input button { flex:0 0 36px; height:36px; width:36px; margin:0; background:var(--accent,#ff6b00); }
.pcb-note { font-size:10px; line-height:1.5; text-align:center; color:var(--text-muted,#64748b); padding:9px 18px 13px; }
.pcb-pending .pcb-text { color:var(--text-muted,#64748b); }
.pcb-error .pcb-text { color:var(--text-main,#0f172a); }
.pcb-retry { margin-top:8px; border:1px solid var(--border-color,#e2e8f0); border-radius:9px; background:var(--bg-color,#f8fafc); color:var(--text-main,#0f172a); padding:7px 12px; font-size:12px; }
.pcb-panel button:disabled { opacity:.5; cursor:wait; }
.pcb-panel button:focus-visible,.pcb-panel input:focus-visible { outline:2px solid var(--accent,#ff6b00); outline-offset:3px; }
@media(max-width:520px) { .pcb-panel { right:12px; bottom:12px; width:calc(100vw - 24px); max-width:none; } .pcb-panel .chat-body { height:440px; max-height:calc(100dvh - 190px); } }
@media(prefers-reduced-motion:reduce) { .pcb-panel { transition:none; } }
