#ppsa-launcher-button{box-sizing:border-box!important}
#ppsa-launcher-button:hover{filter:brightness(.97)!important;transform:translateY(-2px)!important}
#ppsa-launcher-button:focus-visible{outline:3px solid rgba(37,99,235,.35)!important;outline-offset:3px!important}
:root{--ppsa-accent:#2563eb;--ppsa-dark:#111827;--ppsa-muted:#64748b}
#ppsa-root{position:static!important;width:auto!important;height:auto!important;z-index:2147483000!important;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:none!important}#ppsa-root,#ppsa-root *{box-sizing:border-box}#ppsa-root{font-size:16px!important;line-height:1.4!important}#ppsa-root[hidden]{display:block!important}.ppsa-bubble,.ppsa-widget{pointer-events:auto!important}
.ppsa-bubble{position:fixed!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(18px,env(safe-area-inset-bottom))!important;width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;margin:0!important;padding:0!important;border:0!important;border-radius:999px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--ppsa-accent)!important;color:#fff!important;cursor:pointer!important;box-shadow:0 12px 30px rgba(15,23,42,.3)!important;z-index:2147483000!important;font:inherit!important;line-height:1!important;visibility:visible!important;opacity:1!important;transform:none!important;-webkit-appearance:none!important;appearance:none!important}
.ppsa-bubble svg{width:28px;height:28px;fill:currentColor;pointer-events:none;flex:0 0 auto}.ppsa-bubble-label{display:none!important;color:#fff!important;font-size:14px!important;font-weight:800!important;white-space:nowrap!important;line-height:1!important}.ppsa-bubble:hover{transform:translateY(-2px)!important}.ppsa-bubble:focus-visible,.ppsa-close:focus-visible,.ppsa-send:focus-visible,.ppsa-input:focus-visible{outline:3px solid rgba(37,99,235,.35)!important;outline-offset:2px!important}.ppsa-bubble.hidden{display:none!important}
.ppsa-widget{position:fixed!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(18px,env(safe-area-inset-bottom))!important;width:390px!important;max-width:calc(100vw - 36px)!important;height:620px!important;max-height:calc(100vh - 36px)!important;max-height:calc(100dvh - 36px)!important;margin:0!important;background:#fff!important;border:1px solid rgba(15,23,42,.12)!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 24px 70px rgba(15,23,42,.32)!important;z-index:2147483000!important;display:flex!important;flex-direction:column!important;color:var(--ppsa-dark)!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:15px!important;line-height:1.45!important;text-align:left!important;visibility:visible!important;opacity:1!important;transform:none!important}
.ppsa-widget.ppsa-is-closed{display:none!important}.ppsa-header{background:linear-gradient(135deg,#111827,#1e3a8a)!important;color:#fff!important;padding:15px 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex:0 0 auto!important}.ppsa-heading{display:flex;align-items:center;gap:10px}.ppsa-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16)}.ppsa-avatar svg{width:21px;height:21px;fill:#fff}.ppsa-title{font-size:16px!important;font-weight:700!important;color:#fff!important}.ppsa-status{display:block;font-size:12px;color:#dbeafe}.ppsa-close{width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.1)!important;border:0!important;border-radius:10px!important;color:#fff!important;font-size:25px!important;cursor:pointer!important;padding:0!important;-webkit-appearance:none!important}.ppsa-close:hover{background:rgba(255,255,255,.2)!important}
.ppsa-body{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;background:#f8fafc!important;overflow:hidden!important}.ppsa-messages{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:flex!important;flex-direction:column!important;gap:10px!important;padding:14px!important;overscroll-behavior:contain}.ppsa-message{padding:10px 12px!important;border-radius:14px!important;max-width:88%!important;overflow-wrap:anywhere!important;white-space:pre-wrap!important}.ppsa-message.bot{background:#fff!important;color:#172033!important;align-self:flex-start!important;border:1px solid #e2e8f0!important;border-bottom-left-radius:5px!important}.ppsa-message.user{background:var(--ppsa-accent)!important;color:#fff!important;align-self:flex-end!important;border-bottom-right-radius:5px!important}.ppsa-message.error{background:#fff1f2!important;color:#9f1239!important;border-color:#fecdd3!important}
.ppsa-recs{flex:0 0 auto!important;border-top:1px solid #e2e8f0!important;background:#fff!important;padding:10px 12px 4px!important;overflow-y:auto!important;max-height:45%!important;-webkit-overflow-scrolling:touch!important}.ppsa-recs:empty{display:none!important}.ppsa-recs-title{font-weight:700!important;margin:0 0 8px!important}.ppsa-card{display:block!important;border:1px solid #e2e8f0!important;border-radius:14px!important;padding:10px!important;margin:0 0 9px!important;background:#fff!important;color:inherit!important}.ppsa-card-grid{display:grid!important;grid-template-columns:72px 1fr!important;gap:10px!important}.ppsa-card.no-image .ppsa-card-grid{grid-template-columns:1fr!important}.ppsa-image{width:72px!important;height:72px!important;border-radius:10px!important;object-fit:cover!important}.ppsa-name{font-weight:700!important;line-height:1.3!important;margin-bottom:3px!important}.ppsa-excerpt{font-size:12px!important;color:#64748b!important;line-height:1.35!important;margin:3px 0 5px!important}.ppsa-price{color:#15803d!important;font-weight:700!important;font-size:13px!important}.ppsa-actions{display:flex!important;gap:7px!important;margin-top:8px!important}.ppsa-btn{flex:1!important;text-align:center!important;padding:8px 9px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;text-decoration:none!important;color:#172033!important;background:#fff!important;font-size:12px!important;font-weight:700!important}.ppsa-btn-primary{background:var(--ppsa-accent)!important;border-color:var(--ppsa-accent)!important;color:#fff!important}.ppsa-btn:hover{filter:brightness(.97)}
.ppsa-feedback{font-size:12px!important;color:#64748b!important;display:flex!important;gap:6px!important;align-items:center!important;align-self:flex-start!important;padding:0 14px 8px!important}.ppsa-feedback button{border:1px solid #cbd5e1!important;background:#fff!important;border-radius:8px!important;padding:4px 9px!important;cursor:pointer!important;color:#334155!important}.ppsa-escalation{padding:0 12px 10px!important;background:#fff!important;text-align:center!important}.ppsa-contact{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;padding:9px 12px!important;border-radius:10px!important;background:#f1f5f9!important;color:#1e3a8a!important;text-decoration:none!important;font-size:13px!important;font-weight:700!important}.ppsa-contact:hover{background:#e2e8f0!important}.ppsa-form{display:grid!important;grid-template-columns:minmax(0,1fr) 44px auto!important;gap:8px!important;border-top:1px solid #e2e8f0!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;background:#fff!important;flex:0 0 auto!important}.ppsa-input{flex:1 1 auto!important;min-width:0!important;height:44px!important;padding:9px 12px!important;border:1px solid #cbd5e1!important;border-radius:11px!important;background:#fff!important;color:#111827!important;font-size:16px!important;line-height:1.2!important;-webkit-appearance:none!important;appearance:none!important}.ppsa-voice{display:none!important;width:44px!important;height:44px!important;padding:0!important;border:1px solid #cbd5e1!important;border-radius:11px!important;background:#fff!important;color:#1e3a8a!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important}.ppsa-voice.is-supported{display:flex!important}.ppsa-voice.is-listening{background:#fee2e2!important;color:#b91c1c!important;border-color:#fecaca!important}.ppsa-voice svg{width:21px!important;height:21px!important;fill:currentColor!important}.ppsa-voice:focus-visible{outline:3px solid rgba(37,99,235,.35)!important;outline-offset:2px!important}.ppsa-send{height:44px!important;padding:0 15px!important;background:var(--ppsa-accent)!important;color:#fff!important;border:0!important;border-radius:11px!important;cursor:pointer!important;font-weight:700!important;-webkit-appearance:none!important}.ppsa-send:disabled,.ppsa-input:disabled{opacity:.6!important;cursor:not-allowed!important}.ppsa-recaptcha-notice{flex:0 0 auto!important;padding:5px 12px calc(5px + env(safe-area-inset-bottom))!important;background:#fff!important;color:#64748b!important;text-align:center!important;font-size:9px!important;line-height:1.35!important;border-top:1px solid #f1f5f9!important}.ppsa-recaptcha-notice a{color:#475569!important;text-decoration:underline!important}
body.ppsa-chat-open{overflow:hidden!important}
@media (max-width:782px){.ppsa-bubble{right:max(14px,env(safe-area-inset-right))!important;bottom:max(76px,calc(14px + env(safe-area-inset-bottom)))!important;width:auto!important;height:54px!important;min-width:108px!important;min-height:54px!important;padding:0 17px!important;gap:8px!important;box-shadow:0 10px 28px rgba(15,23,42,.38)!important}.ppsa-bubble-label{display:inline-block!important}.ppsa-bubble svg{width:24px!important;height:24px!important}.ppsa-widget{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;max-width:none!important;height:min(720px,calc(100vh - 20px))!important;height:min(720px,calc(100dvh - 20px))!important;max-height:none!important;border-radius:18px!important}.ppsa-message{max-width:92%!important}.ppsa-recs{max-height:42%!important}}
@media (max-width:480px){.ppsa-form{grid-template-columns:minmax(0,1fr) 44px auto!important;padding-left:10px!important;padding-right:10px!important}.ppsa-send{padding-left:12px!important;padding-right:12px!important}.ppsa-bubble{right:max(12px,env(safe-area-inset-right))!important;bottom:max(72px,calc(12px + env(safe-area-inset-bottom)))!important}.ppsa-widget{left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;border-radius:0!important;border:0!important}.ppsa-header{padding-top:max(14px,env(safe-area-inset-top))!important}.ppsa-recs{max-height:40%!important}.ppsa-actions{flex-wrap:wrap!important}.ppsa-btn{min-width:120px!important}.ppsa-card-grid{grid-template-columns:64px 1fr!important}.ppsa-image{width:64px!important;height:64px!important}}
@media (prefers-reduced-motion:reduce){.ppsa-bubble,.ppsa-widget{scroll-behavior:auto!important;transition:none!important}}

/* v3.3.1: hardened mobile viewport and composer sizing. */
@media (max-width:782px){
  #ppsa-root{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;overflow:visible!important;pointer-events:none!important}
  .ppsa-widget{box-sizing:border-box!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100vw!important;min-width:0!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;min-height:0!important;max-height:100vh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}
  .ppsa-header,.ppsa-body,.ppsa-messages,.ppsa-recs,.ppsa-escalation,.ppsa-form,.ppsa-recaptcha-notice{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .ppsa-header{padding-left:14px!important;padding-right:14px!important}
  .ppsa-heading,.ppsa-heading>span:last-child{min-width:0!important;max-width:100%!important}
  .ppsa-title,.ppsa-status{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .ppsa-body{overflow:hidden!important}
  .ppsa-messages{overflow-x:hidden!important;padding-left:8px!important;padding-right:8px!important}
  .ppsa-message{box-sizing:border-box!important;max-width:calc(100% - 8px)!important}
  .ppsa-form{display:grid!important;grid-template-columns:minmax(0,1fr) 44px 64px!important;align-items:center!important;gap:7px!important;padding:9px 8px calc(9px + env(safe-area-inset-bottom,0px))!important;overflow:hidden!important}
  .ppsa-input{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
  .ppsa-voice{box-sizing:border-box!important;width:44px!important;min-width:44px!important;max-width:44px!important;margin:0!important}
  .ppsa-send{box-sizing:border-box!important;width:64px!important;min-width:64px!important;max-width:64px!important;padding:0 8px!important;margin:0!important;white-space:nowrap!important}
  .ppsa-recaptcha-notice{padding:5px 10px calc(5px + env(safe-area-inset-bottom,0px))!important;overflow-wrap:anywhere!important;white-space:normal!important}
}
@media (max-width:380px){
  .ppsa-form{grid-template-columns:minmax(0,1fr) 42px 58px!important;gap:5px!important;padding-left:6px!important;padding-right:6px!important}
  .ppsa-voice{width:42px!important;min-width:42px!important;max-width:42px!important}
  .ppsa-send{width:58px!important;min-width:58px!important;max-width:58px!important;font-size:13px!important;padding:0 5px!important}
}


/* v3.3.2: native top-layer mobile dialog shell. */
.ppsa-widget::backdrop{background:transparent!important}
@media (max-width:782px){
  .ppsa-widget[open]{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:var(--ppsa-mobile-vh,100vh)!important;
    max-height:var(--ppsa-mobile-vh,100vh)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .ppsa-widget[open]::backdrop{background:#fff!important;opacity:1!important}
  .ppsa-header{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    flex:0 0 auto!important;
    padding:14px 14px!important;
    padding-top:calc(14px + env(safe-area-inset-top,0px))!important;
  }
  .ppsa-body{
    position:relative!important;
    z-index:1!important;
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    overflow:hidden!important;
    background:#f8fafc!important;
  }
  .ppsa-messages{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .ppsa-form{
    position:relative!important;
    z-index:3!important;
    flex:0 0 auto!important;
    width:100%!important;
    background:#fff!important;
  }
  .ppsa-recaptcha-notice{
    position:relative!important;
    z-index:3!important;
    flex:0 0 auto!important;
    width:100%!important;
    background:#fff!important;
  }
  body.ppsa-chat-open #ppsa-launcher-button{display:none!important}
}


/* v3.3.5 desktop anchoring and open-state polish */
@media (min-width:783px){
  #ppsa-root .ppsa-widget{
    inset:auto 24px 96px auto!important;
    top:auto!important;
    left:auto!important;
    right:24px!important;
    bottom:96px!important;
    margin:0!important;
    width:390px!important;
    max-width:calc(100vw - 48px)!important;
    height:min(620px,calc(100vh - 128px))!important;
    max-height:calc(100vh - 128px)!important;
    transform:none!important;
  }
  body.ppsa-chat-open #ppsa-launcher-button,
  #ppsa-launcher-button[aria-expanded="true"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* v3.4.3 voice status and permission feedback */
.ppsa-voice-status{display:none!important;flex:0 0 auto!important;padding:6px 12px!important;background:#f8fafc!important;border-top:1px solid #e2e8f0!important;color:#475569!important;font-size:11px!important;line-height:1.35!important;text-align:center!important}.ppsa-voice-status:not(:empty){display:block!important}.ppsa-voice-status.is-listening{background:#fff7ed!important;color:#9a3412!important}.ppsa-voice-status.is-processing,.ppsa-voice-status.is-info{background:#eff6ff!important;color:#1d4ed8!important}.ppsa-voice-status.is-success{background:#ecfdf5!important;color:#047857!important}.ppsa-voice-status.is-warning{background:#fffbeb!important;color:#92400e!important}.ppsa-voice-status.is-error{background:#fef2f2!important;color:#b91c1c!important}
.ppsa-image-placeholder{width:72px!important;height:72px!important;border-radius:10px!important;background:#eef2f7!important;overflow:hidden!important;position:relative!important}.ppsa-image{opacity:0!important;transition:opacity .18s ease!important}.ppsa-image.is-loaded{opacity:1!important}.ppsa-skeleton{position:relative!important;overflow:hidden!important;background:#e8edf3!important;border-radius:8px!important}.ppsa-skeleton:after{content:""!important;position:absolute!important;inset:0!important;transform:translateX(-100%)!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent)!important;animation:ppsa-shimmer 1.25s infinite!important}.ppsa-skeleton-title{height:16px!important;width:72%!important;margin:2px 0 10px!important}.ppsa-skeleton-line{height:11px!important;width:96%!important;margin:0 0 8px!important}.ppsa-skeleton-price{height:13px!important;width:34%!important}.ppsa-skeleton-card{pointer-events:none!important}@keyframes ppsa-shimmer{100%{transform:translateX(100%)}}@media(max-width:480px){.ppsa-image-placeholder{width:64px!important;height:64px!important}}
.ppsa-inline-link{color:#0b63ce;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;font-weight:600}.ppsa-inline-link:hover,.ppsa-inline-link:focus{color:#084a9b}

/* Structured knowledge-base resource cards */
.ppsa-resource-list{display:grid;gap:10px;margin:12px 0 4px}
.ppsa-resource-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid rgba(37,99,235,.18);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.06)}
.ppsa-resource-info{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}
.ppsa-resource-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:18px;font-weight:800}
.ppsa-resource-text{min-width:0}.ppsa-resource-title{font-weight:800;color:#0f172a;line-height:1.25}.ppsa-resource-description{margin-top:4px;color:#475569;font-size:13px;line-height:1.4}
.ppsa-resource-card .ppsa-btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:560px){.ppsa-resource-card{align-items:stretch;flex-direction:column}.ppsa-resource-card .ppsa-btn{width:100%;text-align:center;box-sizing:border-box}}

/* v3.5.6 concise, deduplicated resource cards */
.ppsa-resource-card{padding:12px 13px!important}.ppsa-resource-title{font-size:14px!important}.ppsa-resource-description{display:none!important}

.ppsa-feedback-status{font-size:12px;opacity:.85}.ppsa-feedback-saved{font-weight:600}

/* v1.1.0 recommendation badges and collection navigation */
.ppsa-badges{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 6px}.ppsa-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.ppsa-badge-sale{background:#ecfdf5;color:#047857}.ppsa-view-all{display:block;margin:12px 0 4px;padding:11px 14px;border:1px solid rgba(37,99,235,.25);border-radius:12px;background:#eff6ff;color:#1d4ed8;text-align:center;text-decoration:none;font-weight:800}.ppsa-view-all:hover,.ppsa-view-all:focus{background:#dbeafe;color:#1e40af}
