.livechat{z-index:1000}.livechat.client{position:fixed;bottom:32px;right:32px}.livechat__toggle-btn{padding:10px 15px;border:none;border-radius:50%;aspect-ratio:1;background:var(--accent-primary);color:var(--txt-primary);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.livechat__toggle-btn:focus,.livechat__toggle-btn:hover{transform:scale(1.1);box-shadow:0 0 10px rgba(0,0,0,.2)}.livechat__avatar{width:35px;height:35px;border-radius:100%;-o-object-fit:cover;object-fit:cover;margin-right:6px;border:1px solid var(--bg-quaternary)}.livechat__window{height:460px;border:1px solid var(--bg-secondary);border-radius:12px;display:flex;flex-direction:column;max-width:100%;width:350px;background-color:var(--bg-primary-70);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform-origin:bottom right}.livechat__window.admin{width:100%}.livechat .animate-in{animation:chatSlideIn .3s ease forwards}.livechat .animate-out{animation:chatSlideOut .3s ease forwards}@keyframes chatSlideIn{0%{opacity:0;transform:scale(.8) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes chatSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(50px)}}.livechat__header{display:flex;justify-content:space-between;align-items:center;background:var(--accent-primary);color:var(--txt-primary);padding:12px;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:1px solid var(--bg-secondary)}.livechat__message-header{display:flex;margin-bottom:8px}.livechat__body{flex:1;padding:10px;overflow-y:auto}.livechat__author,.livechat__body{display:flex;flex-direction:column}.livechat__author{justify-content:center}.livechat__author p{font-size:1rem;line-height:normal;line-break:anywhere}.livechat__author span{font-size:.8rem;line-height:normal;line-break:anywhere;color:var(--txt-secondary)}.livechat__message{margin-bottom:12px;padding:12px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--bg-secondary);max-width:80%}.livechat__message--admin{background:var(--accent-primary);color:var(--txt-primary);align-self:flex-start}.livechat__message--user{background:var(--bg-tertiary);color:var(--txt-quaternary);align-self:flex-end}.livechat__input-box{display:flex;gap:6px;padding:8px;border-top:1px solid var(--bg-secondary)}.livechat__input-box input{flex:1;padding:8px;border:1px solid var(--bg-secondary);border-radius:6px;outline:none}.livechat__input-box button{padding:6px 12px;border:none;border-radius:6px;background:var(--accent-primary);color:var(--txt-primary);cursor:pointer;transition:background .2s ease}.livechat__input-box button:focus,.livechat__input-box button:hover{background:var(--accent-primary-dark,#444)}.livechat__start-box{display:flex;flex-direction:column;gap:6px}.livechat__start-box input{padding:6px;border-radius:4px;outline:none}.livechat__start-box input:focus{border-color:var(--accent-primary)}.livechat__start-box button{padding:6px;border:none;border-radius:4px;background:var(--accent-primary);color:var(--txt-primary);cursor:pointer;transition:background .2s ease}.livechat__start-box button:focus,.livechat__start-box button:hover{background:var(--accent-primary-dark,#444)}.livechat__actions{display:flex;gap:12px}.livechat__actions button{cursor:pointer}.livechat__actions--end-chat{background-color:var(--bg-error);color:var(--txt-primary);padding:5px 8px;border-radius:12px;border:none;transition:background .2s ease}.livechat__actions--end-chat:focus,.livechat__actions--end-chat:hover{background-color:var(--bg-error-dark,darkred)}.livechat.admin{position:relative;bottom:auto;right:auto}.livechat .unread-badge{position:relative;color:var(--txt-primary);margin-left:5px;aspect-ratio:1;font-size:.5rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:1}.livechat .unread-badge,.livechat .unread-badge:after{background-color:var(--accent-primary);border-radius:100%}.livechat .unread-badge:after{content:"";position:absolute;inset:0;opacity:.6;z-index:-1;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.8);opacity:0}to{transform:scale(1);opacity:0}}