.w360-av{
    /* Altere estas variáveis para personalizar as cores do assistente. */
    --av-brand:#AE001A;
    --av-background:#f7f5f3;
    --av-message:#ffffff;
    --av-visitor:#d9fdd3;
    --av-text:#000000;
    --av-border:#dedad6;
    --av-hover:#eee9e5;
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:99999;
    font:15px/1.5 system-ui,sans-serif;
    color:var(--av-text);
    text-align:left
}
.w360-av *{
    box-sizing:border-box
}
.w360-av [hidden]{
    display:none!important
}
.w360-av button,.w360-av input{
    font:inherit
}
.w360-av button{
    cursor:pointer;
    min-height:40px
}
.w360-av button:focus-visible,.w360-av a:focus-visible,.w360-av input:focus-visible{
    outline:3px solid var(--av-brand);
    outline-offset:3px
}
.av-launcher{
    display:flex;
    align-items:center;
    gap:12px;
    max-width:340px
}
.av-invite{
    background:var(--av-message);
    border:1px solid var(--av-border);
    border-radius:18px 18px 4px 18px;
    padding:16px;
    text-align:left;
    box-shadow:0 8px 30px #00000026;
    font-size: 14px;
    color:var(--av-text);
}
.av-avatar{
    flex:none;
    width:64px;
    height:64px;
    border-radius:50%;
    border:3px solid white;
    color:var(--av-text);
    box-shadow:0 5px 24px #00000040;
    overflow:hidden;
    padding:0;
    font-weight:bold!important
}
.av-avatar img{
    width:100%;
    height:100%;
    object-fit:cover
}
.av-dismiss{
    position:absolute;
    right:0;
    top:-36px;
    width:32px;
    height: 32px;
    border:0;
    background:var(--av-message);
    color:var(--av-text);
    border-radius:100%
}
.av-panel{
    width:390px;
    max-width:calc(100vw - 32px);
    max-height:min(740px,calc(100dvh - 48px));
    display:flex;
    flex-direction:column;
    background:var(--av-background);
    border:1px solid var(--av-border);
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 16px 60px #00000040
}
.av-panel header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:var(--av-brand);
    color: #fff;
    padding:18px
}
.av-panel header strong{
    font-size:15px
}
.av-panel small{
    display:block;
    font-size:12px;
    opacity:1
}
.w360-av .av-dismiss,
.w360-av .av-panel header button{
    appearance:none;
    display:grid;
    place-items:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
    max-width:32px;
    max-height:32px;
    padding:0;
    border:0;
    border-radius:50%;
    background:var(--av-message);
    color:var(--av-text);
    font-size:22px;
    line-height:1;
    box-shadow:none
}
.av-log{
    overflow-y:auto;
    min-height:100px;
    max-height:260px;
    padding:16px;
    background:var(--av-background);
    flex:1 1 auto
}
.av-message{
    padding:12px 14px;
    margin:0 20px 12px 0;
    border-radius:14px 14px 14px 3px;
    background:var(--av-message);
    border:1px solid var(--av-border);
    white-space:pre-wrap;
    font-size:14px
}
.av-visitor{
    background:var(--av-visitor);
    margin-left:24px;
    margin-right:0;
    border-radius:14px 14px 3px 14px
}
.av-controls{
    padding:16px;
    overflow-y:auto;
    flex:0 1 auto;
    max-height:48dvh;
    display:grid;
    gap:8px
}
.av-option{
    display:block;
    border:1px solid var(--av-border);
    background:var(--av-message);
    color:var(--av-text);
    border-radius:10px;
    padding:10px 12px;
    text-decoration:none;
    text-align:left;
    font-weight:600
}
.av-option:hover{
    background:var(--av-hover)
}
.av-form{
    display:grid;
    gap:10px
}
.av-form label{
    display:grid;
    gap:4px;
    font-size:13px
}
.av-form input:not([type=checkbox]){
    width:100%;
    min-height:42px;
    border:1px solid var(--av-border);
    border-radius:8px;
    padding:8px;
    color:var(--av-text);
    background:var(--av-message)
}
.av-form .av-consent{
    display:flex;
    align-items:flex-start;
    gap:8px
}
.av-consent input{
    margin-top:4px;
    flex:none
}
.av-form a{
    color:var(--av-text);
    text-decoration:underline;
    font-size:13px
}
.av-send{
    background:var(--av-message);
    color:var(--av-text);
    border:1px solid var(--av-brand);
    padding:12px;
    border-radius:10px
}
.w360-av button:disabled{
    opacity:.6;
    cursor:wait
}
.av-footer{
    display:flex;
    justify-content:space-between;
    border-top:1px solid var(--av-border);
    padding:4px 12px
}
.av-footer button{
    background:transparent;
    border:0;
    font-size:12px;
    color:var(--av-text)
}
.av-error{
    color:var(--av-text);
    font-size:13px;
    margin:0
}
.av-honey{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important
}
@media(max-width:480px){
    .w360-av{
        right:16px;
        bottom:16px
    }
    .av-panel{
        max-height:calc(100dvh - 32px)
    }
    .av-launcher{
        max-width:calc(100vw - 32px)
    }
    .av-avatar{
        width:58px;
        height:58px
    }
    .av-panel input{
        font-size:16px
    }
}
 
.w360-av button:hover,.w360-av button:active,.w360-av button:focus,
.w360-av a:hover,.w360-av a:visited{
    color:var(--av-text)
}
.w360-av .av-option:hover,.w360-av .av-send:hover,
.w360-av .av-dismiss:hover,.w360-av .av-panel header button:hover{
    background:var(--av-hover)
}
