/* Chat assistant (public) */
.qc-btn{position:fixed;left:14px;bottom:20px;z-index:70;display:flex;align-items:center;gap:.5rem;min-height:50px;padding:0 1.1rem 0 .95rem;border:0;border-radius:999px;background:var(--pl-gradient,#149954);color:#fff;font:800 .9rem var(--pl-font-display,inherit);box-shadow:0 10px 26px rgba(20,153,84,.38);cursor:pointer}
.qc-btn i{font-size:1.25rem}
.qc-panel{position:fixed;left:14px;bottom:84px;z-index:90;width:min(380px,calc(100vw - 28px));height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--pl-line,#e3e9e5);border-radius:20px;box-shadow:0 24px 70px rgba(16,32,26,.28);overflow:hidden}
.qc-panel[hidden]{display:none}
.qc-panel header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.8rem .9rem;background:var(--pl-gradient,#149954);color:#fff}
.qc-who{display:flex;gap:.6rem;align-items:center;min-width:0}.qc-who b{display:block;font-size:.95rem}.qc-who small{opacity:.85;font-size:.72rem}
.qc-ava{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:1.1rem;flex-shrink:0}
.qc-tools{display:flex;gap:.3rem}.qc-tools button{width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.18);color:#fff;cursor:pointer;font-size:1rem}
.qc-msgs{flex:1;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:.55rem;background:#f6faf8;-webkit-overflow-scrolling:touch}
.qc-m{max-width:86%;padding:.6rem .8rem;border-radius:14px;font-size:.9rem;line-height:1.45;word-wrap:break-word;overflow-wrap:anywhere}
.qc-m.bot{align-self:flex-start;background:#fff;border:1px solid var(--pl-line,#e3e9e5);border-bottom-left-radius:4px;color:var(--pl-ink,#10201a)}
.qc-m.me{align-self:flex-end;background:var(--pl-green,#149954);color:#fff;border-bottom-right-radius:4px}
.qc-m.err{align-self:center;background:#fdeceb;color:#8c1d18;font-size:.8rem}
.qc-m a{color:var(--pl-green-dark,#0d7a41);font-weight:700;text-decoration:underline}.qc-m.me a{color:#fff}
.qc-m ul{margin:.3rem 0 0 1rem;padding:0}
.qc-typing{align-self:flex-start;display:flex;gap:4px;padding:.7rem .8rem;background:#fff;border:1px solid var(--pl-line,#e3e9e5);border-radius:14px}
.qc-typing i{width:7px;height:7px;border-radius:50%;background:#9fb8ab;animation:qcb 1s infinite}.qc-typing i:nth-child(2){animation-delay:.15s}.qc-typing i:nth-child(3){animation-delay:.3s}
@keyframes qcb{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.qc-chips{display:flex;gap:.4rem;flex-wrap:wrap;padding:.5rem .8rem 0;background:#f6faf8}
.qc-chips button{border:1.5px solid var(--pl-line,#e3e9e5);background:#fff;border-radius:999px;padding:.4rem .75rem;font:700 .76rem var(--pl-font-body,inherit);cursor:pointer;color:var(--pl-green-dark,#0d7a41);min-height:34px}
.qc-form{display:flex;gap:.5rem;padding:.6rem .8rem;border-top:1px solid var(--pl-line,#e3e9e5);background:#fff}
.qc-form input{flex:1;min-width:0;height:46px;border:1.5px solid var(--pl-line,#e3e9e5);border-radius:12px;padding:0 .8rem;font:16px var(--pl-font-body,inherit)}
.qc-form input:focus{outline:0;border-color:var(--pl-green,#149954);box-shadow:0 0 0 3px rgba(20,153,84,.18)}
.qc-form button{width:46px;height:46px;border:0;border-radius:12px;background:var(--pl-green,#149954);color:#fff;font-size:1.1rem;cursor:pointer}
.qc-form button:disabled{opacity:.5}
.qc-note{margin:0;padding:.3rem .8rem .6rem;font-size:.66rem;color:#7a8a83;text-align:center;background:#fff}
@media (max-width:900px){
  .qc-btn{left:12px;bottom:calc(86px + env(safe-area-inset-bottom))}
  .qc-btn span{display:none}.qc-btn{width:52px;padding:0;justify-content:center;border-radius:50%}
  .qc-panel{left:0;right:0;bottom:0;top:0;width:auto;height:auto;border-radius:0;border:0;z-index:200}
  .qc-form{padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.qc-typing i{animation:none}}

/* logo, attach button, attachment chips, in-chat cards (quote review with 3D preview) */
.qc-ava{background:#fff;padding:3px;overflow:hidden}.qc-ava img{width:100%;height:100%;object-fit:contain}
.qc-attach{width:46px;height:46px;border:1.5px solid var(--pl-line,#e3e9e5)!important;background:#fff!important;color:var(--pl-green-dark,#0d7a41)!important;border-radius:12px;font-size:1.15rem;cursor:pointer;flex:0 0 auto}
.qc-att{display:flex;align-items:center;gap:.5rem;align-self:flex-end;max-width:86%;background:var(--pl-green,#149954);color:#fff;border-radius:14px;border-bottom-right-radius:4px;padding:.45rem .6rem;font-size:.82rem}
.qc-att img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#fff}.qc-att .ic{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:1.1rem}
.qc-att b{display:block;word-break:break-all}.qc-att small{opacity:.85}
.qc-card{align-self:stretch;background:#fff;border:1px solid var(--pl-line,#e3e9e5);border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(16,32,26,.06)}
.qc-card h5{margin:0;padding:.6rem .8rem;font:800 .85rem var(--pl-font-display,inherit);background:#e8f7ef;color:var(--pl-green-dark,#0d7a41);display:flex;gap:.4rem;align-items:center}
.qc-card .qf-stage{height:170px;border-radius:0;background:repeating-conic-gradient(#f1f5f3 0 25%,#fff 0 50%) 0 0/14px 14px;cursor:grab}
.qc-card .qf-viewbar{margin:.3rem 0}.qc-card .qf-viewbar button{min-height:32px;font-size:.7rem;padding:.3rem .65rem}
.qc-dl{margin:0;padding:.3rem .8rem .5rem;display:grid;grid-template-columns:auto 1fr;gap:.2rem .7rem;font-size:.8rem}
.qc-dl dt{color:#6d7d76;font-weight:700}.qc-dl dd{margin:0;word-break:break-word}
.qc-btns{display:flex;gap:.4rem;padding:.2rem .8rem .8rem;flex-wrap:wrap}
.qc-btns button{flex:1 1 auto;min-height:40px;border-radius:12px;font:800 .8rem var(--pl-font-body,inherit);cursor:pointer;border:1.5px solid var(--pl-green,#149954)}
.qc-btns .yes{background:var(--pl-green,#149954);color:#fff}.qc-btns .no{background:#fff;color:var(--pl-green-dark,#0d7a41)}
.qc-btns button:disabled{opacity:.5;cursor:default}
.qc-card.sent h5{background:#fff3d6;color:#8a5a00}.qc-card .big{display:block;padding:.2rem .8rem .7rem;font-size:.85rem}.qc-card .big b{font-size:1.1rem}
.qc-msgs > *{flex-shrink:0}
