.wba-avi{box-sizing:border-box;max-width:720px;margin:24px auto;border:1px solid #b7cfe6;border-radius:18px;overflow:hidden;background:#fff;color:#17324f;font:inherit;box-shadow:0 12px 32px #103f6818}.wba-avi *{box-sizing:border-box}.wba-avi-head{background:#063b70;color:#fff;padding:20px;display:flex;gap:14px;align-items:center}.wba-avi-head strong{display:block;font-size:21px;line-height:1.25}.wba-avi-head small{display:block;font-size:12px;opacity:.85}.wba-avi-portrait{width:84px;height:84px;object-fit:cover;object-position:center 22%;border-radius:14px;border:2px solid rgba(255,255,255,.7);flex:none}.wba-avi-messages{min-height:0;max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:20px;background:#f5f9fd}.wba-avi-bubble{max-width:92%;border-radius:15px;padding:13px 16px;font-size:17px;line-height:1.5;white-space:pre-wrap}.wba-avi-bubble.bot{background:#fff;align-self:flex-start;border:1px solid #d9e7f2}.wba-avi-bubble.user{background:#0a5696;color:#fff;align-self:flex-end}.wba-avi-choice{border:0;padding:14px 20px 6px;display:flex;flex-wrap:wrap;gap:8px 20px}.wba-avi-choice legend{font-weight:bold;font-size:14px;padding-top:12px}.wba-avi-choice label{font-size:15px}.wba-avi-actions{padding:8px 20px 14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wba-avi button{border:0;border-radius:10px;background:#0761aa;color:#fff;padding:13px 19px;font-size:16px;cursor:pointer;font-weight:700}.wba-avi button:focus-visible,.wba-avi input:focus-visible,.wba-avi select:focus-visible{outline:3px solid #ffb239;outline-offset:2px}.wba-avi button:disabled{opacity:.6;cursor:wait}.wba-avi .wba-avi-mic{font-size:18px;min-height:54px}.wba-avi .wba-avi-mic.listening{background:#a32f33}.wba-avi-status{font-size:13px}.wba-avi-chat{padding:0 20px 20px}.wba-avi-chat label{display:block;margin-bottom:7px;font-weight:700}.wba-avi-entry{display:flex;gap:8px}.wba-avi input:not([type=radio]):not([type=checkbox]),.wba-avi select{min-width:0;border:1px solid #abc5db;border-radius:8px;padding:11px;font-size:16px;width:100%;background:#fff;color:#17324f}.wba-avi-entry input{flex:1}.wba-avi-lead{border-top:1px solid #d5e4f0;padding:18px 20px}.wba-avi-lead summary{font-weight:bold;cursor:pointer;color:#07589b}.wba-avi-contact{padding-top:12px;display:grid;gap:13px}.wba-avi-contact>label:not(.wba-avi-consent){display:grid;gap:4px}.wba-avi-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px}.wba-avi-sendstatus{margin:0;font-size:14px}.wba-avi footer{background:#e8f2fb;padding:14px 20px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;font-size:13px}.wba-avi footer a{color:#074f8c;font-weight:bold}@media(max-width:520px){.wba-avi-head strong{font-size:19px}.wba-avi-messages{max-height:225px;padding:12px}.wba-avi-portrait{width:68px;height:68px}.wba-avi-head{padding:13px;gap:12px}.wba-avi-bubble{font-size:17px}.wba-avi-entry button{padding:12px}.wba-avi-actions{align-items:stretch}.wba-avi .wba-avi-mic{width:100%}}

/* Conversation grows naturally instead of leaving a 300px blank area. */
.wba-avi-messages{height:auto!important;min-height:0!important}
.wba-avi-messages:has(.wba-avi-bubble:nth-child(4)){max-height:310px}

/* Mobile-safe layout: avoid overflow from parent theme widths and flex children. */
.wba-avi{width:100%!important;max-width:min(720px,100%)!important;min-width:0!important;margin:16px auto!important;overflow:hidden!important}
.wba-avi-head>div{flex:1;min-width:0}
.wba-avi .wba-avi-bubble{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.wba-avi .wba-avi-entry{min-width:0}
.wba-avi .wba-avi-entry input{min-width:0!important;width:0!important;flex:1 1 0!important}
.wba-avi .wba-avi-entry button{flex:0 0 auto!important}
.wba-avi-audio{padding:4px 20px 14px;max-width:100%}
.wba-avi-audio audio{display:block;width:100%;max-width:100%;height:44px}
.wba-avi-audio small{display:block;font-size:12px;margin-top:4px}
.wba-avi .wba-avi-stop-speech{background:#3c566d;font-size:14px}
.wba-avi [hidden]{display:none!important}
@media(max-width:520px){.wba-avi .wba-avi-chat,.wba-avi .wba-avi-lead{padding-left:12px;padding-right:12px}.wba-avi .wba-avi-head strong{font-size:18px}.wba-avi .wba-avi-entry button{padding:10px 12px}.wba-avi .wba-avi-actions{padding-left:12px;padding-right:12px}.wba-avi .wba-avi-choice{padding-left:12px;padding-right:12px}}

/* Abby 0.2.4: compact, accessible layout on narrow phones only. */
@media (max-width:767px) {
 .wba-avi{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin:12px auto!important;border-radius:12px!important;}
 .wba-avi-head{padding:10px!important;gap:10px!important;}
 .wba-avi-portrait{width:52px!important;height:52px!important;border-radius:9px!important;}
 .wba-avi .wba-avi-head strong{font-size:16px!important;line-height:1.22!important;}
 .wba-avi-head small{font-size:11px!important;}
 .wba-avi-messages{max-height:170px!important;padding:9px!important;gap:7px!important;}
 .wba-avi-bubble{font-size:15px!important;line-height:1.35!important;padding:8px 10px!important;}
 .wba-avi-choice{padding:7px 10px 2px!important;gap:4px 10px!important;}
 .wba-avi-choice legend{font-size:12px!important;padding-top:5px!important;}
 .wba-avi-choice label{font-size:13px!important;}
 .wba-avi-actions{padding:6px 10px 8px!important;gap:8px!important;}
 .wba-avi .wba-avi-mic{min-height:45px!important;font-size:15px!important;padding:9px 14px!important;}
 .wba-avi-status{font-size:12px!important;}
 .wba-avi-chat{padding:0 10px 10px!important;}
 .wba-avi-chat label{font-size:13px!important;}
 .wba-avi .wba-avi-entry input{font-size:16px!important;}
 .wba-avi .wba-avi-entry button{padding:9px 11px!important;}
 .wba-avi-lead{padding:10px!important;}
 .wba-avi footer{padding:10px!important;font-size:12px!important;}
}

/* 0.2.5: compact contact-sharing controls. Desktop voice untouched. */
.wba-avi-quickconsent{padding:8px 16px;background:#f5f9fd;border-top:1px solid #d5e4f0;font-size:12px;line-height:1.4}
.wba-avi-quickconsent label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.wba-avi-quickconsent input{flex:none;margin-top:3px}
.wba-avi-early-status{margin:4px 0 0;font-size:12px}
.wba-avi-quickshare{padding:12px 16px;border-top:1px solid #c9deeb;background:#f1f7fc}
.wba-avi-quickshare p{margin:0 0 8px;font-size:14px}
.wba-avi-quickshare button{font-size:12px;padding:8px 10px;margin:2px}
.wba-avi-quickshare .wba-avi-decline-share{background:#5c7083}
@media(max-width:767px){.wba-avi-quickconsent{padding:7px 10px}.wba-avi-quickshare{padding:8px 10px}.wba-avi-quickshare button{font-size:12px}}
