.dental-assistant-launcher{position:fixed;bottom:18px;right:19px;width:86px;height:91px;z-index:42;cursor:pointer;background:transparent;border:0;padding:0;filter:drop-shadow(0 6px 12px #031b3240);transition:transform .3s}.dental-assistant-launcher:hover{transform:translateY(-5px) rotate(-4deg)}.dental-assistant-launcher>img{width:100%;height:100%;object-fit:contain;animation:tooth-float 5s ease-in-out infinite}.assistant-launch-label{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);background:#164362;color:white;font-size:8px;letter-spacing:.03em;border:1px solid #7fc9e8;border-radius:20px;padding:4px 10px;white-space:nowrap}.assistant-nudge{position:fixed;right:105px;bottom:46px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 30px #031b3224;border-radius:13px 13px 3px 13px;padding:12px 15px;font-size:11px;line-height:1.5;max-width:210px;z-index:41;animation:nudge-in .6s .5s both;pointer-events:none}.assistant-nudge strong{display:block;font-weight:500;color:var(--blue)}.assistant-panel{position:fixed;right:23px;bottom:118px;z-index:43;width:min(386px,calc(100vw - 30px));max-height:min(650px,calc(100dvh - 145px));height:600px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #02182b66;animation:chat-in .3s ease-out}.assistant-panel[hidden]{display:none!important}.assistant-head{display:flex;align-items:center;gap:10px;padding:15px 17px;background:var(--pale);border-bottom:1px solid var(--line);flex-shrink:0}.assistant-head img{width:43px;height:46px;object-fit:contain}.assistant-head h2{font:500 14px/1.4 var(--sans);letter-spacing:0;margin:0}.assistant-head small{font-size:9px;color:var(--muted)}.assistant-head-copy{flex:1}.assistant-close,.assistant-reset{border:1px solid var(--line);background:transparent;color:var(--ink);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.assistant-close:hover,.assistant-reset:hover{background:var(--paper)}.assistant-scope{font-size:9px;padding:8px 17px;background:var(--pale);border-bottom:1px solid var(--line);color:var(--muted);line-height:1.6}.assistant-messages{padding:17px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin}.assistant-msg{font-size:12px;line-height:1.75;padding:12px 14px;border-radius:13px;max-width:95%;margin-bottom:10px;white-space:pre-line;overflow-wrap:anywhere;animation:chat-in .25s ease-out}.assistant-msg.bot{background:var(--pale);border:1px solid var(--line);border-top-left-radius:3px;color:var(--ink)}.assistant-msg.user{background:#28567b;color:#f0f8fc;border-bottom-right-radius:3px;margin-left:auto;max-width:85%;padding:9px 13px}.assistant-choices{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 17px}.assistant-choice{border:1px solid #5489a7;border-radius:20px;background:transparent;color:var(--blue);font-size:10px;padding:9px 12px;line-height:1.4;cursor:pointer;text-align:left;transition:background .25s,transform .25s;min-height:36px}.assistant-choice:hover{background:var(--pale);transform:translateY(-1px)}.assistant-choice:disabled{opacity:.55;cursor:default}.assistant-input-form{display:flex;gap:8px;border-top:1px solid var(--line);padding:12px 13px;align-items:center;flex-shrink:0;background:var(--paper)}.assistant-input-form input{border:1px solid var(--line);border-radius:25px;padding:10px 13px;background:var(--pale);font-size:11px;min-width:0}.assistant-send{width:37px;height:37px;flex-shrink:0;border:0;border-radius:50%;background:#80c6e8;color:#123852;cursor:pointer;font-size:18px}.assistant-input-form input:disabled,.assistant-send:disabled{opacity:.5;cursor:default}.assistant-bottom-note{font-size:8px;text-align:center;color:var(--muted);padding:0 12px 11px;line-height:1.5}.assistant-summary{border:1px solid var(--line);background:var(--pale);border-radius:12px;padding:14px;margin:12px 0;font-size:11px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}.assistant-handoff{display:block;border-radius:25px;background:#80c6e8;color:#13374f;font-weight:500;font-size:11px;text-align:center;padding:13px 14px;margin:12px 0 8px;min-height:44px}.assistant-handoff:hover{background:#ade6fa}.assistant-share-note{font-size:9px;line-height:1.6;color:var(--muted)}.assistant-contact-link{display:block;font-size:11px;color:var(--blue);text-decoration:underline;margin:12px 0}.assistant-panel.talking .assistant-head img{animation:tooth-talk .45s ease-in-out 2}.assistant-help-link{font-size:9px;color:var(--muted);text-decoration:underline}.assistant-choice:focus-visible,.dental-assistant-launcher:focus-visible,.assistant-send:focus-visible{outline:2px solid #80c6e8;outline-offset:4px}html[data-installed=true] .dental-assistant-launcher{bottom:calc(76px + env(safe-area-inset-bottom))}html[data-installed=true] .assistant-panel{bottom:calc(176px + env(safe-area-inset-bottom));max-height:calc(100dvh - 200px)}html[data-installed=true] .assistant-nudge{bottom:calc(110px + env(safe-area-inset-bottom))}@keyframes tooth-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes tooth-talk{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(-5deg) scale(1.06)}}@keyframes chat-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes nudge-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){.dental-assistant-launcher{width:73px;height:79px;right:10px;bottom:12px}.assistant-nudge{right:83px;bottom:36px;font-size:10px;padding:10px 12px;max-width:185px}.assistant-panel{right:10px;bottom:100px;width:calc(100vw - 20px);max-height:calc(100dvh - 118px);height:560px;border-radius:16px}.assistant-head{padding:12px 14px}.assistant-messages{padding:14px}.assistant-msg{font-size:12px}.assistant-input-form input{font-size:16px;padding:9px 12px}.assistant-bottom-note{font-size:8px}.assistant-choice{font-size:11px;min-height:40px}html[data-installed=true] .assistant-panel{bottom:calc(160px + env(safe-area-inset-bottom));max-height:calc(100dvh - 180px)}}
@media(max-height:580px){.assistant-panel{bottom:12px;height:calc(100dvh - 24px);max-height:none;right:97px}.assistant-nudge{display:none}}
@media(prefers-reduced-motion:reduce){.dental-assistant-launcher img,.assistant-panel,.assistant-msg,.assistant-nudge,.assistant-panel.talking .assistant-head img{animation:none!important}.assistant-choice,.dental-assistant-launcher{transition:none}}
/* Identidad oficial DeNova: azul corporativo y celeste, sin reinterpretar el logo. */
.assistant-launch-label{background:#294f7d;border-color:#80c6e8}.assistant-msg.user{background:#294f7d}.assistant-official-smile{position:absolute;left:50%;transform:translateX(-50%);top:63%;width:31px;height:9px;pointer-events:none}.assistant-official-smile svg{display:block;width:100%;height:100%;overflow:visible}.assistant-mini-brand{width:105px;height:auto;aspect-ratio:2010/1040;display:block}.assistant-head h2{line-height:1;margin-top:-4px;margin-bottom:-2px}.assistant-head small{font-size:8px}.assistant-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}html[data-theme=dark] .assistant-mini-brand{filter:brightness(0) invert(1)}.assistant-panel{border-color:#456b85}.assistant-head{background:linear-gradient(120deg,var(--pale),color-mix(in srgb,var(--pale) 85%,#80c6e8));border-bottom-color:#80c6e833}.assistant-choice{border-color:#80c6e866}.assistant-head img{width:46px;height:50px}
@media(max-width:600px){.assistant-official-smile{width:26px;height:8px}.assistant-mini-brand{width:100px}}
.assistant-transcript{border:1px solid var(--line);border-radius:9px;margin:12px 0;background:var(--paper)}.assistant-transcript summary{font-size:10px;padding:12px 29px 12px 12px;line-height:1.6}.assistant-transcript summary:after{right:10px;top:7px;font-size:20px}.assistant-transcript p{white-space:pre-line;padding:0 12px 15px;font-size:10px;line-height:1.8;max-height:220px;overflow:auto;overflow-wrap:anywhere;color:var(--muted)}
