.dm-ai-trigger{position:fixed;right:24px;bottom:24px;z-index:1010;background:#c60c10;color:#fff;border:0;border-radius:28px;padding:14px 20px;box-shadow:0 8px 26px #7e101033;font:600 14px Arial,sans-serif;cursor:pointer}.dm-ai-panel{position:fixed;right:24px;bottom:82px;z-index:1011;width:390px;height:min(660px,calc(100dvh - 110px));background:#fff;color:#202126;border:1px solid #e2e4e9;border-radius:18px;box-shadow:0 16px 60px #17172129;display:flex;flex-direction:column;overflow:hidden;font:14px/1.5 Arial,sans-serif;text-align:left}.dm-ai-panel[hidden]{display:none!important}.dm-ai-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #eee}.dm-ai-head strong{margin-right:auto}.dm-ai-panel button{font:inherit;cursor:pointer}.dm-ai-head button,.dm-ai-actions button,.dm-ai-copy{border:1px solid #e2e4e9;border-radius:8px;background:#fff;color:#454852;padding:5px 8px}.dm-ai-head button:last-child{font-size:24px;border:0;padding:0 3px}.dm-ai-note{font-size:11px;color:#626773;padding:10px 16px;margin:0}.dm-ai-actions{display:flex;gap:6px;padding:0 12px 8px;flex-wrap:wrap}.dm-ai-actions button{font-size:12px}.dm-ai-company{margin:10px 16px 0;padding:7px;border:1px solid #ddd;border-radius:7px;background:#fff}.dm-ai-history{flex:1;min-height:70px;overflow:auto;padding:8px 14px;overscroll-behavior:contain}.dm-ai-message{padding:10px 12px;border-radius:12px;background:#f4f5f8;margin:8px 0}.dm-ai-message.user{background:#fff0f0;margin-left:20px}.dm-ai-message strong{font-size:11px;color:#686c75}.dm-ai-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}.dm-ai-copy{font-size:11px!important;margin-top:8px}.dm-ai-message.error{border:1px solid #d74747}.dm-ai-form{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid #eee}.dm-ai-form textarea{flex:1;min-width:0;resize:vertical;max-height:160px;border:1px solid #d8dce4;border-radius:9px;padding:9px;font:14px/1.5 Arial,sans-serif;box-sizing:border-box}.dm-ai-form button{border:0;border-radius:9px;background:#c60c10;color:#fff;padding:10px 12px}.dm-ai-status{font-size:10px;color:#747984;padding:0 14px 10px;margin:0}.dm-ai-panel.busy .dm-ai-actions button,.dm-ai-panel.busy .dm-ai-form button{pointer-events:none;opacity:.5}.dm-ai-panel :focus-visible,.dm-ai-trigger:focus-visible{outline:3px solid #9bbdff;outline-offset:2px}@media(max-width:520px){.dm-ai-trigger{right:12px;bottom:14px}.dm-ai-panel{right:8px;left:8px;width:auto;bottom:74px;height:min(680px,calc(100dvh - 90px))}}
.dm-ai-panel button:disabled{opacity:.45;cursor:default}

.dm-ai-trigger{display:flex;align-items:center;gap:8px;padding:5px 16px 5px 6px;background:#fff;color:#a60b10;border:1px solid #e4c6c8}.dm-ai-mascot{display:inline-flex;flex:0 0 42px;width:42px;height:42px}.dm-ai-mascot svg{display:block;width:100%;height:100%;overflow:visible}.dm-ai-head .dm-ai-mascot{width:38px;height:38px;flex-basis:38px}

.dm { display: inline-grid; place-items: center; width: var(--dm-size, 40px); height: var(--dm-size, 40px); flex: none; line-height: 0; }
.dm svg { display: block; overflow: visible; }
.dm-click { cursor: pointer; }
.dm-body, .dm-eyes, .dm-mouth, .dm-extra { transform-box: fill-box; transform-origin: center; }
.dm-gray { filter: grayscale(.85); opacity: .7; }
@media (prefers-reduced-motion: no-preference) {
  .dm-idle .dm-body, .dm-wave .dm-body, .dm-cool .dm-body { animation: dm-float 3.2s ease-in-out infinite; }
  .dm-idle .dm-eyes, .dm-talking .dm-eyes, .dm-wave .dm-eyes, .dm-thinking .dm-eyes { animation: dm-blink 4.6s infinite; }
  .dm-thinking .dm-body { animation: dm-float 1.6s ease-in-out infinite; }
  .dm-thinking .dm-extra { animation: dm-rise 1.8s ease-in infinite; }
  .dm-talking .dm-body { animation: dm-nod .55s ease-in-out infinite; }
  .dm-talking .dm-mouth { animation: dm-talk .28s ease-in-out infinite alternate; }
  .dm-happy .dm-body, .dm-thumbs .dm-body { animation: dm-hop .9s ease-out infinite; }
  .dm-thumbs .dm-extra { animation: dm-pop .9s ease-out infinite; }
  .dm-party .dm-body { animation: dm-hop .6s ease-out infinite; }
  .dm-party .dm-extra { animation: dm-twinkle .8s steps(2) infinite; }
  .dm-love .dm-body { animation: dm-float 2s ease-in-out infinite; }
  .dm-love .dm-extra { animation: dm-beat .9s ease-in-out infinite; }
  .dm-wave .dm-extra { animation: dm-wave .7s ease-in-out infinite; transform-origin: 30% 80%; }
  .dm-wink .dm-body { animation: dm-tilt 1.6s ease-in-out infinite; }
  .dm-wink .dm-extra, .dm-cool .dm-extra { animation: dm-twinkle 1.2s steps(2) infinite; }
  .dm-surprised .dm-body { animation: dm-jolt .5s ease-out 1; }
  .dm-surprised .dm-extra { animation: dm-pop .6s ease-out infinite alternate; }
  .dm-sleepy .dm-body { animation: dm-float 4.5s ease-in-out infinite; }
  .dm-sleepy .dm-extra { animation: dm-drift 3s ease-in-out infinite; }
  .dm-confused .dm-body { animation: dm-tilt 2.2s ease-in-out infinite; }
  .dm-confused .dm-extra { animation: dm-pop 1.2s ease-in-out infinite alternate; }
  .dm-oops .dm-body { animation: dm-shiver .25s linear 4; }
  .dm-oops .dm-extra { animation: dm-drip 1.4s ease-in infinite; }
  .dm-sad .dm-body { animation: dm-float 4s ease-in-out infinite; }
  .dm-angry .dm-body { animation: dm-shiver .18s linear infinite; }
  .dm-bored .dm-body { animation: dm-sway 4.2s ease-in-out infinite; }
  .dm-bored .dm-eyes { animation: dm-lookslow 6s ease-in-out infinite; }
  .dm-bored .dm-mouth { animation: dm-yawn 7s ease-in-out infinite; }
  .dm-bored .dm-extra { animation: dm-dots 2.4s ease-in-out infinite; }
  .dm-mail .dm-body { animation: dm-hop .7s ease-out infinite; }
  .dm-mail .dm-extra { animation: dm-wiggle .45s ease-in-out infinite; }
  /* Касса и ТСД: сканирование важнее анимации */
  body.tsd-mode .dm *, .pos .dm * { animation: none !important; }
}
@keyframes dm-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1.6px); } }
@keyframes dm-blink { 0%, 92%, 100% { transform: scaleY(1); } 95% { transform: scaleY(.12); } }
@keyframes dm-rise { 0% { opacity: 0; transform: translateY(5px); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(-8px); } }
@keyframes dm-nod { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg) translateY(-.6px); } }
@keyframes dm-talk { from { transform: scaleY(.6); } to { transform: scaleY(1.5); } }
@keyframes dm-hop { 0%, 60%, 100% { transform: translateY(0); } 25% { transform: translateY(-5px); } }
@keyframes dm-pop { from { transform: scale(.85); } to { transform: scale(1.12); } }
@keyframes dm-twinkle { 0% { opacity: 1; } 100% { opacity: .35; } }
@keyframes dm-beat { 0%, 100% { transform: scale(1); } 30% { transform: scale(1.18); } }
@keyframes dm-wave { 0%, 100% { transform: rotate(-12deg); } 50% { transform: rotate(14deg); } }
@keyframes dm-tilt { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
@keyframes dm-jolt { 0% { transform: scale(1); } 30% { transform: scale(1.12) translateY(-3px); } 100% { transform: scale(1); } }
@keyframes dm-drift { 0% { opacity: .2; transform: translate(-2px, 4px); } 50% { opacity: 1; } 100% { opacity: .2; transform: translate(3px, -5px); } }
@keyframes dm-shiver { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-1px); } 75% { transform: translateX(1px); } }
@keyframes dm-drip { 0% { transform: translateY(-2px); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(6px); opacity: 0; } }

@keyframes dm-sway { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes dm-lookslow { 0%, 20% { transform: translateX(-1.8px); } 45%, 65% { transform: translateX(1.8px); } 85%, 100% { transform: translateX(-1.8px); } }
@keyframes dm-yawn { 0%, 78%, 100% { transform: scale(1); } 84%, 92% { transform: scale(1.3, 3.2); } }
@keyframes dm-dots { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes dm-wiggle { 0%, 100% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(10deg) scale(1.12); } }
.dm-ai-mascot{--dm-size:48px;width:48px;height:48px;flex-basis:48px}.dm-ai-head .dm-ai-mascot{--dm-size:44px;width:44px;height:44px;flex-basis:44px}@media(prefers-reduced-motion:reduce){.dm-ai-mascot *{animation:none!important}}

.dm-ai-insert{margin-left:6px;border-color:#c60c10!important;color:#a20a0e!important;font-weight:600!important}

.dm-ai-context{font-size:11px;margin-top:9px;overflow-wrap:anywhere}.dm-ai-context summary{cursor:pointer;color:#676c76}.dm-ai-context>div{padding:5px 0;border-top:1px solid #ddd}
