/* Pinnacle Chat Widget — brand #0D3B2E dark green + #C9A84C gold */
#pnc-root { position:fixed; right:20px; bottom:20px; z-index:999998; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
#pnc-root *, #pnc-root *::before, #pnc-root *::after { box-sizing:border-box; }

.pnc-bubble { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#0D3B2E 0%,#1A4E3C 100%); color:#C9A84C; border:3px solid #FFFFFF; cursor:pointer; box-shadow:0 10px 32px rgba(13,59,46,.45), 0 0 0 0 rgba(232,62,140,.55); display:flex; align-items:center; justify-content:center; font-size:34px; position:relative; transition:transform .2s ease, box-shadow .2s ease; animation:pncHalo 2.2s ease-in-out infinite; }
.pnc-bubble:hover { transform:scale(1.08); box-shadow:0 14px 40px rgba(13,59,46,.55), 0 0 0 14px rgba(232,62,140,.25); animation-play-state:paused; }
.pnc-bubble-icon { line-height:1; filter:drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.pnc-bubble-dot { position:absolute; top:6px; right:6px; width:16px; height:16px; background:#E83E8C; border-radius:50%; border:3px solid #FFFFFF; box-shadow:0 2px 6px rgba(232,62,140,.5); animation:pncPulse 1.4s ease-in-out infinite; }
@keyframes pncPulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.4); opacity:.75; } }
@keyframes pncHalo { 0% { box-shadow:0 10px 32px rgba(13,59,46,.45), 0 0 0 0 rgba(232,62,140,.55); } 70% { box-shadow:0 10px 32px rgba(13,59,46,.45), 0 0 0 20px rgba(232,62,140,0); } 100% { box-shadow:0 10px 32px rgba(13,59,46,.45), 0 0 0 0 rgba(232,62,140,0); } }

#pnc-root.pnc-open .pnc-bubble { transform:scale(0); opacity:0; pointer-events:none; }

.pnc-panel { position:fixed; right:20px; bottom:20px; width:380px; max-width:calc(100vw - 40px); height:580px; max-height:calc(100vh - 40px); background:#FFFFFF; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.25); display:flex; flex-direction:column; overflow:hidden; animation:pncSlide .35s ease; }
.pnc-panel[hidden] { display:none !important; }
@keyframes pncSlide { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.pnc-head { background:linear-gradient(135deg,#0D3B2E 0%,#1A4E3C 100%); color:#FFFFFF; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pnc-head-main { display:flex; align-items:center; gap:12px; }
.pnc-avatar { width:38px; height:38px; border-radius:50%; background:#C9A84C; color:#0D3B2E; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:17px; flex-shrink:0; }
.pnc-head-title { font-size:15px; font-weight:700; letter-spacing:-0.01em; }
.pnc-head-sub { font-size:12px; opacity:.85; color:#F5F0E8; margin-top:2px; }
.pnc-head-actions { display:flex; gap:4px; }
.pnc-head-actions button { background:rgba(255,255,255,.15); color:#FFFFFF; border:0; width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:16px; transition:background .15s ease; }
.pnc-head-actions button:hover { background:rgba(255,255,255,.3); }
.pnc-close { font-size:22px !important; line-height:1; }

.pnc-messages { flex:1; overflow-y:auto; padding:16px; background:#F5F0E8; display:flex; flex-direction:column; gap:10px; }
.pnc-msg { display:flex; max-width:90%; }
.pnc-msg-user { align-self:flex-end; justify-content:flex-end; }
.pnc-msg-assistant { align-self:flex-start; justify-content:flex-start; }
.pnc-bubble-msg { padding:10px 14px; border-radius:16px; font-size:14px; line-height:1.45; word-wrap:break-word; }
.pnc-msg-user .pnc-bubble-msg { background:#0D3B2E; color:#FFFFFF; border-bottom-right-radius:4px; }
.pnc-msg-assistant .pnc-bubble-msg { background:#FFFFFF; color:#0D3B2E; border:1px solid #E5DFD4; border-bottom-left-radius:4px; }
.pnc-msg.pnc-pending .pnc-bubble-msg { opacity:.6; font-style:italic; }

.pnc-input-row { display:flex; gap:8px; padding:12px; background:#FFFFFF; border-top:1px solid #E5DFD4; align-items:center; }
.pnc-input { flex:1; border:2px solid #E5DFD4; border-radius:999px; padding:10px 16px; font-size:14px; font-family:inherit; color:#0D3B2E; background:#FFFFFF; outline:none; transition:border-color .15s ease; }
.pnc-input:focus { border-color:#C9A84C; }
.pnc-send { background:#C9A84C; color:#0D3B2E; border:0; width:38px; height:38px; border-radius:50%; cursor:pointer; font-size:18px; font-weight:700; transition:background .15s ease; }
.pnc-send:hover:not(:disabled) { background:#B7933F; }
.pnc-send:disabled { opacity:.45; cursor:not-allowed; }

@media (max-width:480px) {
  .pnc-panel { right:0; bottom:0; width:100vw; height:100vh; max-width:none; max-height:none; border-radius:0; }
  #pnc-root { right:12px; bottom:12px; }
  .pnc-bubble { width:64px; height:64px; font-size:30px; }
  .pnc-bubble-dot { width:14px; height:14px; top:4px; right:4px; }
}
