.vw-root{position:fixed;right:20px;bottom:20px;z-index:9999;font-family:inherit}
.vw-bubble{width:58px;height:58px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--ct-primary,#a89062),var(--ct-primary-strong,#9a8567));box-shadow:var(--ct-shadow,0 14px 38px rgba(41,44,76,.25));cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform var(--ct-ease,180ms ease)}
.vw-bubble:hover{transform:scale(1.06)}
.vw-bubble img{width:34px;height:34px;border-radius:50%}
.vw-bubble .vw-dot{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:var(--ct-success,#24b887);border:2px solid var(--ct-surface,#fff)}
.vw-root.is-open .vw-bubble{transform:scale(.92)}
.vw-panel{position:absolute;right:0;bottom:72px;width:368px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 120px);background:var(--ct-surface,#fff);border:1px solid var(--ct-border,#e5e8f0);border-radius:var(--ct-r-lg,20px);box-shadow:var(--ct-shadow,0 18px 44px rgba(0,0,0,.25));display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(12px) scale(.98);transition:opacity var(--ct-ease,180ms ease),transform var(--ct-ease,180ms ease)}
.vw-root.is-open .vw-panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.vw-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--ct-border,#e5e8f0);background:var(--ct-primary-soft,#e6e0d2)}
.vw-head-id{display:flex;align-items:center;gap:10px}
.vw-head-id img{width:32px;height:32px;border-radius:50%}
.vw-head-id strong{display:block;font-size:14px;color:var(--ct-text,#17192b)}
.vw-head-id span{display:block;font-size:11px;color:var(--ct-muted,#737b8f)}
.vw-head-actions{display:flex;gap:4px}
.vw-head-actions button{width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:var(--ct-muted,#737b8f);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center}
.vw-head-actions button:hover{background:rgba(0,0,0,.06);color:var(--ct-text,#17192b)}
.vw-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--ct-bg,#f6f7fb)}
.vw-msg{display:flex;gap:8px;max-width:100%}
.vw-msg img{width:24px;height:24px;border-radius:50%;flex:none;margin-top:2px}
.vw-msg > div{background:var(--ct-surface,#fff);border:1px solid var(--ct-border,#e5e8f0);border-radius:var(--ct-r-md,14px);padding:9px 12px;font-size:13.5px;line-height:1.45;color:var(--ct-text,#17192b);max-width:270px}
.vw-msg--user{justify-content:flex-end}
.vw-msg--user > div{background:var(--ct-primary,#a89062);color:#fff;border-color:transparent}
.vw-msg p{margin:0 0 4px}
.vw-msg p:last-child{margin-bottom:0}
.vw-intent{display:inline-block;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ct-primary,#a89062);margin-bottom:4px;font-weight:700}
.vw-cards{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.vw-card{border:1px solid var(--ct-border,#e5e8f0);border-radius:var(--ct-r-sm,10px);padding:8px 10px;background:var(--ct-bg,#f6f7fb)}
.vw-card-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ct-muted,#737b8f)}
.vw-card h4{margin:2px 0 0;font-size:13px;color:var(--ct-text,#17192b)}
.vw-card p{margin:2px 0 0;font-size:11.5px;color:var(--ct-muted,#737b8f)}
.vw-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.vw-actions a,.vw-actions button{font-size:12px;border-radius:999px;padding:6px 12px;border:1px solid var(--ct-border,#e5e8f0);background:var(--ct-surface,#fff);color:var(--ct-primary,#a89062);text-decoration:none;cursor:pointer;font-weight:600}
.vw-actions button.vw-action--confirm{background:var(--ct-primary,#a89062);color:#fff;border-color:transparent}
.vw-actions button.vw-action--cancel{color:var(--ct-danger,#ed6b76)}
.vw-actions a:hover,.vw-actions button:hover{opacity:.85}
.vw-typing{display:flex;gap:3px;padding:4px 0}
.vw-typing i{width:6px;height:6px;border-radius:50%;background:var(--ct-muted,#9ba8c1);animation:vwBlink 1.1s infinite ease-in-out}
.vw-typing i:nth-child(2){animation-delay:.15s}
.vw-typing i:nth-child(3){animation-delay:.3s}
@keyframes vwBlink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.vw-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px}
.vw-quick button{font-size:12px;border-radius:999px;padding:6px 10px;border:1px solid var(--ct-border,#e5e8f0);background:var(--ct-surface,#fff);color:var(--ct-text,#17192b);cursor:pointer}
.vw-quick button:hover{border-color:var(--ct-primary,#a89062);color:var(--ct-primary,#a89062)}
.vw-composer{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--ct-border,#e5e8f0);background:var(--ct-surface,#fff)}
.vw-composer textarea{flex:1;resize:none;border:1px solid var(--ct-border,#e5e8f0);border-radius:var(--ct-r-sm,10px);padding:9px 10px;font-size:13px;font-family:inherit;max-height:80px;color:var(--ct-text,#17192b);background:var(--ct-bg,#f6f7fb)}
.vw-composer textarea:focus{outline:none;border-color:var(--ct-primary,#a89062)}
.vw-composer button{width:38px;height:38px;border-radius:50%;border:0;background:var(--ct-primary,#a89062);color:#fff;cursor:pointer;flex:none;font-size:15px}
.vw-composer button:disabled{opacity:.6;cursor:default}
@media (max-width:480px){
  .vw-root{right:12px;bottom:12px}
  .vw-panel{width:calc(100vw - 24px);height:calc(100vh - 100px);right:-8px}
}
html[data-theme="dark"] .vw-head{background:var(--ct-primary-soft,#332711)}
