/* VA Assistente — usa os tokens do tema Virtual Agência; os valores depois da vírgula valem em outro tema. */
.vaa-btn { position: fixed; z-index: 70; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 20px 0 8px; border-radius: 999px; background: var(--violeta, #6a22ff); color: #fff; border: 0; font: 600 15px/1 var(--font-texto, system-ui, sans-serif); cursor: pointer; box-shadow: 0 16px 40px -10px rgba(106,34,255,.9); }
.vaa-bolha { width: 40px; height: 40px; border-radius: 999px; background: rgba(255,255,255,.16); display: grid; place-items: center; position: relative; }
.vaa-bolha::after { content: ""; position: absolute; inset: -4px; border-radius: 999px; border: 2px solid rgba(255,255,255,.5); animation: vaa-anel 2.2s infinite; }
@keyframes vaa-anel { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.35); opacity: 0; } }
.vaa-btn svg { width: 20px; height: 20px; }
.vaa { position: fixed; z-index: 71; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(88px + env(safe-area-inset-bottom, 0px)); width: min(390px, calc(100vw - 40px)); height: min(580px, calc(100svh - 120px)); background: var(--superficie, #1f1d26); color: var(--tinta, #f3f1f8); border: 1px solid var(--linha, #34313f); border-radius: 22px; box-shadow: 0 40px 100px -20px rgba(0,0,0,.9); display: grid; grid-template-rows: auto 1fr auto auto; overflow: hidden; transform-origin: bottom right; transition: transform .35s cubic-bezier(.34,1.3,.64,1), opacity .25s; font-family: var(--font-texto, system-ui, sans-serif); }
.vaa[hidden] { display: grid !important; transform: scale(.6) translateY(20px); opacity: 0; pointer-events: none; visibility: hidden; transition: transform .25s, opacity .2s, visibility 0s .25s; }
.vaa-cab { display: flex; align-items: center; gap: 12px; padding: 16px; border-bottom: 1px solid var(--linha, #34313f); background: linear-gradient(180deg, var(--lilas, #2b2148), var(--superficie, #1f1d26)); }
.vaa-av { width: 38px; height: 38px; border-radius: 999px; background: var(--violeta, #6a22ff); display: grid; place-items: center; font: 700 12px/1 var(--font-texto, system-ui); color: #fff; }
.vaa-cab b { display: block; font-family: var(--font-display, system-ui); font-size: 16px; }
.vaa-cab small { color: var(--positivo, #3fcf8e); font-size: 12px; }
.vaa-cab small::before { content: "● "; }
.vaa-fechar { margin-left: auto; background: none; border: 0; color: var(--tinta-suave, #a9a5b6); font-size: 24px; cursor: pointer; width: 40px; height: 40px; border-radius: 999px; }
.vaa-fechar:hover { background: var(--superficie-alta, #2a2833); color: var(--tinta, #fff); }
.vaa-msgs { padding: 16px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; line-height: 1.5; }
.vaa-msg { max-width: 86%; padding: 10px 14px; border-radius: 16px; white-space: pre-line; overflow-wrap: anywhere; animation: vaa-entra .35s ease-out; }
.vaa-msg a { color: inherit; font-weight: 600; }
.vaa-ia { background: var(--superficie-alta, #2a2833); border-bottom-left-radius: 4px; }
.vaa-eu { align-self: flex-end; background: var(--violeta, #6a22ff); color: #fff; border-bottom-right-radius: 4px; }
.vaa-sis { align-self: center; max-width: 100%; font-size: 12.5px; color: var(--positivo, #3fcf8e); background: rgba(63,207,142,.1); border: 1px solid rgba(63,207,142,.3); }
.vaa-digitando { display: flex; gap: 5px; padding: 14px; }
.vaa-digitando i { width: 7px; height: 7px; border-radius: 999px; background: var(--tinta-suave, #a9a5b6); animation: vaa-pulo 1s infinite; }
.vaa-digitando i:nth-child(2) { animation-delay: .15s; } .vaa-digitando i:nth-child(3) { animation-delay: .3s; }
@keyframes vaa-pulo { 0%, 60%, 100% { transform: none; opacity: .4; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes vaa-entra { from { opacity: 0; transform: translateY(8px); } }
.vaa-atalhos { display: flex; flex-wrap: wrap; gap: 6px; }
.vaa-atalhos button { background: none; border: 1px solid var(--linha, #34313f); color: var(--tinta, #fff); border-radius: 999px; padding: 8px 12px; font: 500 13px var(--font-texto, system-ui); cursor: pointer; }
.vaa-atalhos button:hover { border-color: var(--violeta-texto, #b49dff); }
.vaa-whats { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; background: #25d366; color: #0b2e17; text-decoration: none; font-weight: 600; font-size: 14px; padding: 10px 14px; border-radius: 999px; }
.vaa-form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--linha, #34313f); }
.vaa-form input { flex: 1; min-width: 0; height: 46px; border-radius: 999px; border: 1px solid var(--linha, #34313f); background: var(--fundo, #15141a); color: var(--tinta, #fff); padding: 0 16px; font: 400 16px var(--font-texto, system-ui); }
.vaa-form input:focus { outline: none; border-color: var(--violeta-texto, #b49dff); }
.vaa-form button { width: 46px; height: 46px; flex: none; border-radius: 999px; border: 0; background: var(--violeta, #6a22ff); color: #fff; cursor: pointer; display: grid; place-items: center; }
.vaa-rodape { margin: 0; padding: 0 14px 10px; font-size: 11px; color: var(--tinta-suave, #a9a5b6); text-align: center; }
@media (max-width: 520px) {
  .vaa-txt { display: none; } .vaa-btn { padding: 0 8px; }
  .vaa { right: 10px; left: 10px; width: auto; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); height: min(600px, calc(100svh - 110px)); }
}
@media (prefers-reduced-motion: reduce) { .vaa-bolha::after, .vaa-digitando i { animation: none; } .vaa, .vaa-msg { transition: none; animation: none; } }
