/* Floating voice agent button */
.vb[hidden] { display: none; }
.vb { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.vb-open { display: inline-flex; align-items: center; gap: 8px; padding: 14px 20px; border: 0; border-radius: 999px; background: #0B4A3A; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; box-shadow: 0 8px 24px rgba(4,33,27,.3); }
.vb-open:hover { background: #04211B; }
.vb-open.live { background: #E0A82E; color: #04211B; }
.vb-open svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.vb-panel { width: min(320px, calc(100vw - 40px)); padding: 18px; border-radius: 18px; background: #fff; color: #04211B; box-shadow: 0 12px 36px rgba(4,33,27,.25); }
.vb-panel[hidden] { display: none; }
.vb-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 16px; }
.vb-x { width: 32px; height: 32px; border: 0; background: none; color: #4b5a55; font-size: 22px; line-height: 1; cursor: pointer; }
.vb-text { margin: 8px 0 14px; font-size: 14px; line-height: 1.5; color: #3f4f4a; }
.vb-head .vb-text { margin: 0; }
.vb-head { align-items: flex-start; }
.vb-open:disabled { opacity: .75; cursor: default; }
