.chat-launcher{position:fixed;right:1rem;bottom:1rem;z-index:var(--z-chat);width:60px;height:60px;border:0;border-radius:50%;background:var(--blue-700);color:white;box-shadow:var(--shadow);font-size:1.4rem}.chatbot{position:fixed;right:1rem;bottom:5.5rem;z-index:var(--z-chat);width:min(390px,calc(100vw - 2rem));height:min(610px,calc(100vh - 7rem));display:none;grid-template-rows:auto 1fr auto;background:white;border:var(--border);border-radius:1.25rem;box-shadow:var(--shadow);overflow:hidden}.chatbot.open{display:grid}.chatbot.left{right:auto;left:1rem}.chat-launcher.left{right:auto;left:1rem}.chat__head{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--blue-900);color:white;cursor:grab;touch-action:none}.chat__head strong{display:block}.chat__head small{display:block;color:#bcd0e2}.chat__head .icon-btn{width:34px;height:34px;margin-left:auto;background:transparent;color:white;border-color:rgba(255,255,255,.2)}.chat__messages{overflow:auto;padding:1rem;background:var(--blue-50);display:flex;flex-direction:column;gap:.75rem}.message{max-width:86%;padding:.7rem .85rem;border-radius:1rem;background:white;box-shadow:var(--shadow-sm);white-space:pre-wrap}.message.user{align-self:flex-end;background:var(--blue-700);color:white}.message.sofia{align-self:flex-start}.message__speak{display:block;border:0;background:transparent;color:var(--blue-700);padding:.35rem 0 0;font-size:.75rem}.typing{display:flex;gap:.25rem;padding:.7rem}.typing i{width:7px;height:7px;background:var(--gray-500);border-radius:50%;animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.chat__composer{padding:.75rem;border-top:var(--border)}.chat__controls{display:flex;gap:.45rem}.chat__controls textarea{flex:1;min-height:44px;max-height:100px;resize:none;border:var(--border);border-radius:.75rem;padding:.6rem}.chat__status{min-height:1.2rem;font-size:.72rem;color:var(--gray-500);margin:.35rem 0}.chat__privacy{font-size:.68rem;color:var(--gray-500);margin:.4rem 0 0}@keyframes pulse{50%{opacity:.3;transform:translateY(-2px)}}

/* Chat multimodal v4: conversas, anexos, documentos, gráficos e imagens. */
.chatbot--ai{width:min(460px,calc(100vw - 1.5rem));height:min(720px,calc(100vh - 6rem));grid-template-rows:auto 1fr auto}.chatbot--ai .chat__head>span:nth-child(2){min-width:0;flex:1}.chatbot--ai .chat__head .icon-btn{margin-left:0;flex:0 0 auto}.chat__history{position:absolute;inset:72px 0 0;z-index:5;padding:1rem;background:rgba(255,255,255,.98);overflow:auto}.chat__history>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.chat-history-close{border:0;background:transparent;font-size:1.5rem}.chat__history nav{display:grid;gap:.5rem}.chat__history nav>div{display:grid;grid-template-columns:1fr 36px;gap:.35rem}.chat__history nav button,.chat__history nav a{padding:.75rem;border:var(--border);border-radius:.75rem;background:#fff;color:var(--blue-900);text-align:left}.chat__history nav>div>button:last-child{text-align:center;color:#b42318}.chat__mode-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.chat__mode-row label{display:flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:700;color:var(--blue-900)}.chat-mode,.chat-file-button{min-height:34px;padding:.35rem .55rem;border:var(--border);border-radius:.6rem;background:#fff}.chat-file-button{cursor:pointer;color:var(--blue-700)!important;background:var(--blue-50);border-color:var(--blue-300);font-weight:800!important}.chat__attachments{display:flex;gap:.35rem;overflow:auto}.chat__attachments:empty{display:none}.chat__attachments button{max-width:180px;padding:.3rem .55rem;border:0;border-radius:999px;background:var(--blue-100);color:var(--blue-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem}.message__content{white-space:pre-wrap}.message__actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.45rem}.message__actions button,.message.sofia>a{border:0;background:transparent;color:var(--blue-700);padding:.2rem 0;font-size:.72rem;font-weight:700}.message__image{width:100%;margin:.7rem 0;border-radius:.75rem}.sofia-chart{width:100%;margin:.75rem 0 0;padding:.7rem;border:var(--border);border-radius:.75rem;background:#fff}.sofia-chart figcaption{margin-bottom:.65rem;font-weight:800;color:var(--blue-900)}.sofia-chart__row{display:grid;grid-template-columns:minmax(70px,.75fr) 1.5fr auto;align-items:center;gap:.45rem;margin:.42rem 0;font-size:.68rem}.sofia-chart__row i{height:10px;border-radius:99px;background:var(--blue-100);overflow:hidden}.sofia-chart__row b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue-600),var(--brand-green))}.voice-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;margin-top:.35rem}.voice-picker{min-width:0;min-height:32px;border:var(--border);border-radius:.55rem;background:#fff;color:var(--blue-900);padding:.3rem}.speech-option{display:block;margin-top:.35rem}
@media(max-width:520px){.chatbot--ai{right:.35rem;bottom:4.8rem;width:calc(100vw - .7rem);height:calc(100dvh - 5.5rem);border-radius:1rem}.chatbot--ai.left{left:.35rem}.chat__head{padding:.7rem}.chat__head small{font-size:.65rem}.chat__composer{padding:.6rem}.chat__mode-row{align-items:stretch}.chat__mode-row label{flex:1}.chat-mode{width:100%}.sofia-chart__row{grid-template-columns:70px 1fr}.sofia-chart__row strong{grid-column:2}}
.message__chart-download{margin-top:.65rem;border:0;background:transparent;color:var(--blue-700);padding:.2rem 0;font-size:.72rem;font-weight:800;cursor:pointer}
