.chat-widget{position:fixed;right:clamp(1rem,2.4vw,2rem);bottom:clamp(1rem,2.4vw,2rem);z-index:340;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.chat-widget__launcher{position:relative;width:3.75rem;height:3.75rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9999px;background:#0f0f0f;color:#fff;box-shadow:0 18px 38px -14px rgba(15,15,15,.55);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.chat-widget__launcher:hover{transform:translateY(-2px);background:#262626;box-shadow:0 22px 42px -14px rgba(15,15,15,.6)}.chat-widget--has-unread .chat-widget__launcher svg{animation:chat-widget-unread-blink .65s cubic-bezier(.16,1,.3,1) 3}.chat-widget__unread-indicator{position:absolute;top:.18rem;right:.18rem;width:.82rem;height:.82rem;border:2px solid #fff;border-radius:9999px;background:#ef4444;box-shadow:0 2px 7px rgba(0,0,0,.22)}.chat-widget__unread-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-widget__panel{width:min(23rem,100vw - 2rem);max-width:calc(100vw - 2rem);min-width:0;height:min(38rem,100vh - 7rem);min-height:28rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;overflow:hidden;border:1px solid rgba(212,212,212,.72);border-radius:1.25rem;background:#fff;box-shadow:0 30px 70px -26px rgba(15,15,15,.4);animation:chat-widget-enter .18s cubic-bezier(.16,1,.3,1) both}.chat-widget--embedded{position:static;width:100%;height:100%;align-items:stretch;gap:0;z-index:auto}.chat-widget--embedded .chat-widget__panel{width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none;animation:none}.chat-widget--embedded .chat-widget__messages{padding-inline:max(1.5rem,(100% - 52rem)/2);padding-block:1.5rem}.chat-widget--embedded .chat-widget__message{max-width:min(44rem,84%)}.chat-widget--embedded .chat-widget__composer,.chat-widget--embedded .chat-widget__email-form{padding-inline:max(1rem,(100% - 50rem)/2)}.chat-widget__header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:radial-gradient(circle at 85% 0,rgba(16,185,129,.22),transparent 48%),#0f0f0f;color:#fff}.chat-widget__avatar{position:relative;width:2.75rem;height:2.75rem;flex:0 0 2.75rem;display:inline-flex;align-items:center;justify-content:center;border:2px solid hsla(0,0%,100%,.72);border-radius:9999px;background:linear-gradient(145deg,#10b981,#059669);color:#fff;font-size:1.125rem;font-weight:700}.chat-widget__avatar img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.chat-widget__presence{position:absolute;right:-1px;bottom:-1px;width:.72rem;height:.72rem;border:2px solid #0f0f0f;border-radius:9999px;background:#10b981}.chat-widget__identity{min-width:0;display:grid;grid-gap:2px;gap:2px}.chat-widget__identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600}.chat-widget__identity small{color:hsla(0,0%,100%,.7);font-size:.75rem}.chat-widget__close{width:2.25rem;height:2.25rem;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9999px;background:hsla(0,0%,100%,.1);color:#fff;cursor:pointer}.chat-widget__close:hover{background:hsla(0,0%,100%,.18)}.chat-widget__messages{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:linear-gradient(rgba(250,250,250,.88),rgba(255,255,255,.96)),#fff}.chat-widget__loading{min-height:8rem;display:flex;align-items:center;justify-content:center;color:#737373}.chat-widget__message{width:-moz-fit-content;width:fit-content;max-width:84%;display:grid;grid-gap:3px;gap:3px}.chat-widget__message p{margin:0;padding:.68rem .82rem;border-radius:.75rem;font-size:.875rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.chat-widget__message time{color:#737373;font-size:.66rem}.chat-widget__message-author{padding:0 .25rem;color:#737373;font-size:.68rem;font-weight:500}.chat-widget__message--agent{align-self:flex-start;justify-items:start}.chat-widget__message--agent p{border:1px solid #e5e5e5;border-bottom-left-radius:.3rem;background:#fff;color:#171717;box-shadow:0 1px 2px 0 rgba(0,0,0,.03)}.chat-widget__message--visitor{align-self:flex-end;justify-items:end}.chat-widget__message--visitor p{border-bottom-right-radius:.3rem;background:#0f0f0f;color:#fff}.chat-widget__message--agent .chat-widget__attachments{justify-items:start}.chat-widget__message--visitor .chat-widget__attachments{justify-items:end}.chat-widget__attachments{display:grid;grid-gap:.25rem;gap:.25rem}.chat-widget__attachments a,.chat-widget__attachments>span{min-width:0;max-width:100%;display:flex;align-items:center;gap:.25rem;border:1px solid #e5e5e5;border-radius:.5rem;padding:.48rem .62rem;background:#fff;color:#0f0f0f;font-size:.75rem;text-decoration:none}.chat-widget__attachments a>span,.chat-widget__attachments>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-widget__attachments a:hover{border-color:rgba(15,15,15,.42);background:#fafafa}.chat-widget__attachments .chat-widget__attachment--image{width:min(12rem,100%);display:grid;grid-gap:.25rem;gap:.25rem;padding:.3rem}.chat-widget__attachments .chat-widget__attachment--image>span{padding:0 .25rem .25rem}.chat-widget__attachment-thumbnail{width:100%;aspect-ratio:4/3;display:block;border-radius:.5rem;object-fit:cover}.chat-widget__error{margin:0;padding:.5rem 1rem;border-top:1px solid rgba(239,68,68,.16);background:rgba(239,68,68,.07);color:#ef4444;font-size:.75rem;line-height:1.4}.chat-widget__composer,.chat-widget__email-form{border-top:1px solid #e5e5e5;background:#fff}.chat-widget__composer{width:100%;min-width:0;max-width:100%;display:flex;align-items:flex-end;gap:.5rem;padding:.75rem;overflow:hidden}.chat-widget__composer textarea{width:100%;min-height:2.75rem;max-height:7rem;resize:none;border:1px solid #d4d4d4;border-radius:.75rem;padding:.72rem .75rem;background:#fafafa;color:#171717;font:inherit;font-size:.875rem;line-height:1.35}.chat-widget__composer textarea::placeholder{color:#737373}.chat-widget__composer textarea:focus{outline:none;border-color:rgba(15,15,15,.55);background:#fff;box-shadow:0 0 0 3px rgba(15,15,15,.07)}.chat-widget__composer>button{width:2.75rem;height:2.75rem;flex:0 0 2.75rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:.75rem;background:#10b981;color:#fff;cursor:pointer;transition:background .15s ease}.chat-widget__composer>button:hover:not(:disabled){background:#059669}.chat-widget__composer>button:focus-visible{outline:2px solid #10b981;outline-offset:2px}.chat-widget__composer>button:disabled{opacity:.38;cursor:default}.chat-widget__composer-input{width:0;min-width:0;max-width:100%;flex:1 1;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.5rem;gap:.5rem}.chat-widget__attachment-input{display:none}.chat-widget__selected-attachments{width:100%;min-width:0;max-width:100%;display:grid;grid-gap:.25rem;gap:.25rem;overflow:hidden}.chat-widget__selected-attachments>span{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.3rem;gap:.3rem;border-radius:.5rem;padding:.3rem .35rem .3rem .5rem;background:#fafafa;color:#525252;font-size:.75rem}.chat-widget__selected-attachments>span>span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-widget__selected-attachments button{width:1.25rem;height:1.25rem;min-width:1.25rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9999px;padding:0;background:rgba(0,0,0,0);color:#737373;cursor:pointer}.chat-widget__selected-attachments button:hover{background:#f0f0f0;color:#171717}.chat-widget__selected-thumbnail{width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border-radius:.5rem;object-fit:cover}.chat-widget__composer>.chat-widget__attachment-button{background:#fafafa;color:#525252}.chat-widget__composer>.chat-widget__attachment-button:hover:not(:disabled){background:#f0f0f0;color:#0f0f0f}.chat-widget__email-form{display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem}.chat-widget__email-form label{color:#525252;font-size:.75rem;font-weight:600}.chat-widget__email-row{display:flex;gap:.5rem}.chat-widget__email-row input{min-width:0;height:2.75rem;flex:1 1;border:1px solid #d4d4d4;border-radius:.5rem;padding:0 .75rem;color:#171717;font:inherit;font-size:.875rem}.chat-widget__email-row input:focus{outline:none;border-color:rgba(15,15,15,.55);box-shadow:0 0 0 3px rgba(15,15,15,.07)}.chat-widget__email-row button{height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;border:0;border-radius:.5rem;padding:0 .75rem;background:#10b981;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease}.chat-widget__email-row button:hover:not(:disabled){background:#059669}.chat-widget__email-row button:focus-visible{outline:2px solid #10b981;outline-offset:2px}.chat-widget__email-row button:disabled{opacity:.5;cursor:default}.chat-widget__footer{padding:.45rem .75rem .55rem;border-top:1px solid #f0f0f0;color:#737373;font-size:.64rem;text-align:center}.chat-widget__spinner{animation:chat-widget-spin .8s linear infinite}@keyframes chat-widget-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chat-widget-spin{to{transform:rotate(1turn)}}@keyframes chat-widget-unread-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.18;transform:scale(.82)}}@media(prefers-reduced-motion:reduce){.chat-widget--has-unread .chat-widget__launcher svg{animation:none}}@media(max-width:540px){.chat-widget{right:.75rem;bottom:.75rem}.chat-widget__panel{width:calc(100vw - 1.5rem);height:min(39rem,100dvh - 6.25rem);min-height:25rem;border-radius:1rem}.chat-widget__composer textarea,.chat-widget__email-row input{font-size:1rem}.chat-widget--embedded .chat-widget__messages{padding:1rem}.chat-widget--embedded .chat-widget__message{max-width:88%}.chat-widget--embedded .chat-widget__composer,.chat-widget--embedded .chat-widget__email-form{padding-inline:.75rem}}