.sofia-root{font:14px/1.5 var(--body);color:var(--ink);--sofia-green:#128c4b}
.sofia-root button,.sofia-root textarea{font:inherit}
.sofia-root [hidden]{display:none!important}
.sofia-launch{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:20px;z-index:40;display:flex;align-items:center;gap:9px;min-height:52px;border:0;border-radius:30px;padding:12px 18px;background:var(--sofia-green);color:white;box-shadow:0 8px 24px #075e5438;font-weight:650!important}
.sofia-launch svg{width:25px;height:25px;flex:none}
.sofia-panel{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));right:20px;z-index:41;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100dvh - 116px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 65px #0e153333;overflow:hidden}
.sofia-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--sofia-green);color:#fff}
.sofia-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ffffff26;font:700 20px var(--title)}
.sofia-head strong,.sofia-head small{display:block}.sofia-head small{opacity:.9;font-size:12px}
.sofia-close{margin-left:auto;background:transparent;color:white;border:0;border-radius:8px;width:40px;height:40px;font-size:26px!important}
.sofia-log{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:12px}
.sofia-message{max-width:88%;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 13px;border-radius:16px 16px 16px 4px;background:var(--bg);flex:none}
.sofia-message.user{align-self:flex-end;background:var(--sofia-green);color:white;border-radius:16px 16px 4px 16px}
.sofia-message a{color:var(--title-green);text-decoration:underline}.sofia-message.user a{color:white}
.sofia-message small{display:block;font-size:10px;opacity:.85;margin-top:4px}
.sofia-message.sistema{align-self:center;text-align:center;font-size:12px;background:transparent;color:var(--muted)}
.sofia-notice{padding:8px 16px;color:var(--muted);font-size:12px;flex:none}
.sofia-retry{border:1px solid var(--line);border-radius:8px;padding:5px 10px;background:var(--bg);color:var(--ink);margin:5px 0}
.sofia-form{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--line);margin:0;flex:none}
.sofia-form textarea{min-width:0;flex:1;height:44px;min-height:44px;max-height:100px;resize:vertical;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);padding:10px;font-size:16px}
.sofia-send{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:var(--sofia-green);color:white;font-size:22px!important}.sofia-send:disabled{opacity:.45;cursor:default}
.sofia-footer{padding:0 16px 10px;font-size:11px;color:var(--muted)}.sofia-footer a{color:inherit;text-decoration:underline}
@media(max-width:600px){.sofia-launch{right:12px;padding:12px;width:52px;height:52px}.sofia-launch span{display:none}.sofia-panel{right:12px;width:calc(100vw - 24px)}body:has(.sofia-root) footer{padding-bottom:86px}.sofia-root.form-focus:not(.is-open) .sofia-launch{visibility:hidden}}
@media(prefers-reduced-motion:no-preference){.sofia-panel{animation:sofia-in .18s ease-out}@keyframes sofia-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}

.sofia-mute{border:0;background:transparent;color:white;font:inherit;cursor:pointer;padding:6px;border-radius:8px;flex:none}.sofia-mute:focus-visible{outline:2px solid white;outline-offset:1px}

.sofia-mute{margin-left:auto;width:36px;height:40px;display:grid;place-items:center}.sofia-mute + .sofia-close{margin-left:0;flex:none}

/* Manter cabeçalho, conversa e campo dentro da área visível com o teclado aberto. */
.sofia-head,.sofia-footer{flex-shrink:0}
@media(max-width:600px){
 .sofia-root.mobile-viewport .sofia-panel{top:var(--sofia-panel-top);bottom:auto;height:var(--sofia-panel-height)}
 .sofia-root.mobile-viewport .sofia-launch{top:var(--sofia-launch-top);bottom:auto}
 .sofia-form textarea{resize:none}
}
