:root{--dark-bg:#1a1a1a;--dark-surface:#262626;--dark-surface-hover:#2d2d2d;--dark-border:#404040;--dark-text:#f5f5f5;--dark-text-secondary:#a3a3a3;--dark-text-muted:#737373}.chat-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:flex-end;z-index:101;animation:fadeIn .3s ease-out;padding:0 20px 0 0;pointer-events:none}.chat-widget-overlay.closing{animation:fadeOut .3s ease-out forwards}.chat-widget{pointer-events:auto;width:420px;height:85vh;max-height:750px;background:var(--dark-bg);border-radius:20px 20px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.25,.46,.45,.94);border:1px solid var(--dark-border);border-bottom:none}.chat-widget.closing{animation:slideDown .3s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(max-width:768px){.chat-widget-overlay{padding:0}.chat-widget{position:absolute;bottom:0;right:0;left:0;width:100%;height:90vh;max-height:none;border-radius:20px 20px 0 0}}.chat-widget-header{background:linear-gradient(135deg,var(--primary-green-600),var(--primary-green-500));color:#fff;padding:20px;display:flex;align-items:center;justify-content:space-between;border-radius:20px 20px 0 0;position:relative}.chat-widget-header:before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:90%;height:.4px;background:linear-gradient(90deg,transparent,rgba(180,253,131,.3) 10%,#b4fd83 30%,#b4fd83 70%,rgba(180,253,131,.3) 90%,transparent);filter:drop-shadow(0 0 3px rgba(180,253,131,.4))}.chat-widget-header .chat-header-content{display:flex;align-items:center;gap:16px}.chat-widget-header .chat-header-content .chat-avatar{width:48px;height:48px;background:#b4fd83;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1)}.chat-widget-header .chat-header-content .chat-avatar .chat-avatar-logo{width:32px;height:32px;-o-object-fit:contain;object-fit:contain;border-radius:8px}.chat-widget-header .chat-header-content h3{margin:0;font-size:20px;font-weight:700;color:#fff;letter-spacing:-.5px}.chat-widget-header .chat-header-content p{margin:0;font-size:14px;opacity:.9;color:#fff;font-weight:400}.chat-widget-header .chat-close-button{background:rgba(0,0,0,0);border:none;color:#fff;cursor:pointer;padding:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-widget-header .chat-close-button:hover{transform:scale(1.2)}.chat-widget-header .chat-close-button:active{transform:scale(1.1)}.chat-widget-body{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--dark-bg)}.chat-messages{flex:1;overflow-y:auto;padding:24px;background:var(--dark-bg);min-height:200px}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:var(--dark-surface);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.chat-messages::-webkit-scrollbar-thumb:hover{background:#525252}.chat-initial-message{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.chat-initial-message .chat-message-bubble{background:var(--dark-surface);border:1px solid var(--dark-border);color:var(--dark-text)}.chat-initial-message .chat-message-bubble p{color:var(--dark-text)}.chat-initial-message .chat-message-bubble .chat-quick-actions p{color:var(--dark-text-secondary)}.chat-message{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;animation:fadeInUp .4s ease-out}.chat-message.user{flex-direction:row-reverse}.chat-message.user .chat-message-bubble{background:var(--dark-surface);border:1px solid var(--dark-border);color:var(--dark-text);word-break:break-word}.chat-message.user .chat-message-bubble p{color:var(--dark-text)!important}.chat-message.user .chat-message-bubble .chat-quick-actions p{color:var(--dark-text-secondary)!important}.chat-message.user .chat-message-time{color:hsla(0,0%,100%,.8)!important}.chat-message.bot .chat-message-bubble{background:linear-gradient(135deg,var(--primary-green-600),var(--primary-green-500));color:#fff;border:1px solid var(--primary-green-600);box-shadow:0 4px 12px rgba(34,197,94,.3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-bot-avatar{width:48px;height:48px;border-radius:40px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;color:#fff;box-shadow:0 4px 12px rgba(34,197,94,.2)}.chat-bot-avatar .chat-bot-avatar-logo{width:25px;height:25px;-o-object-fit:contain;object-fit:contain;border-radius:20px}.chat-message-bubble{max-width:320px;padding:16px 20px;border-radius:20px;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-message-bubble p{margin:0;font-weight:400}.chat-message-bubble .markdown-content,.chat-message-bubble p{font-size:15px;line-height:1.5;color:inherit}.chat-message-bubble .markdown-content p{margin:0 0 8px}.chat-message-bubble .markdown-content p:last-child{margin-bottom:0}.chat-message-bubble .markdown-content h1,.chat-message-bubble .markdown-content h2,.chat-message-bubble .markdown-content h3,.chat-message-bubble .markdown-content h4,.chat-message-bubble .markdown-content h5,.chat-message-bubble .markdown-content h6{margin:16px 0 8px;font-weight:600;color:inherit}.chat-message-bubble .markdown-content h1:first-child,.chat-message-bubble .markdown-content h2:first-child,.chat-message-bubble .markdown-content h3:first-child,.chat-message-bubble .markdown-content h4:first-child,.chat-message-bubble .markdown-content h5:first-child,.chat-message-bubble .markdown-content h6:first-child{margin-top:0}.chat-message-bubble .markdown-content ol,.chat-message-bubble .markdown-content ul{margin:8px 0;padding-left:20px;color:inherit}.chat-message-bubble .markdown-content ol li,.chat-message-bubble .markdown-content ul li{margin:4px 0;list-style-position:outside}.chat-message-bubble .markdown-content ul{list-style-type:disc}.chat-message-bubble .markdown-content ul li{display:list-item}.chat-message-bubble .markdown-content ol{list-style-type:decimal}.chat-message-bubble .markdown-content ol li{display:list-item}.chat-message-bubble .markdown-content ul ul{list-style-type:circle;margin:4px 0}.chat-message-bubble .markdown-content ul ul ul{list-style-type:square}.chat-message-bubble .markdown-content code{background:hsla(0,0%,100%,.1);padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:14px;color:inherit}.chat-message-bubble .markdown-content pre{background:hsla(0,0%,100%,.1);padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.chat-message-bubble .markdown-content pre code{background:none;padding:0}.chat-message-bubble .markdown-content blockquote{border-left:3px solid hsla(0,0%,100%,.3);padding-left:12px;margin:8px 0;font-style:italic;color:inherit}.chat-message-bubble .markdown-content strong{font-weight:600;color:inherit}.chat-message-bubble .markdown-content em{font-style:italic;color:inherit}.chat-message-bubble .markdown-content a{color:#b4fd83;text-decoration:underline}.chat-message-bubble .markdown-content a:hover{color:#d4ff9d}.chat-message-bubble .message-attachments{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.chat-message-bubble .message-attachments .message-attachment-image .attached-image{max-width:200px;max-height:150px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1px solid hsla(0,0%,100%,.1);cursor:pointer;transition:transform .2s ease}.chat-message-bubble .message-attachments .message-attachment-image .attached-image:hover{transform:scale(1.05)}.chat-message-bubble .chat-message-time{font-size:12px;color:var(--dark-text-muted);margin-top:8px;display:block;font-weight:500}.chat-message-bubble .chat-quick-actions{margin-top:12px}.chat-message-bubble .chat-quick-actions p{color:var(--dark-text-secondary);font-size:13px;font-weight:500}.chat-typing-indicator{display:flex;align-items:center;gap:12px;position:relative}.chat-typing-indicator .typing-dots{display:flex;gap:8px;align-items:center}.chat-typing-indicator .typing-dots span{width:8px;height:8px;background:hsla(0,0%,100%,.3);border-radius:50%;position:relative;overflow:hidden;animation:shimmerPulse 2s ease-in-out infinite}.chat-typing-indicator .typing-dots span:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.8) 0,transparent 70%);animation:shimmerRotate 3s linear infinite}.chat-typing-indicator .typing-dots span:first-child{animation-delay:0s}.chat-typing-indicator .typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-indicator .typing-dots span:nth-child(3){animation-delay:.4s}@keyframes shimmerPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes shimmerRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0) scale(1);opacity:.5}30%{transform:translateY(-12px) scale(1.2);opacity:1}}@keyframes typingPulse{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.chat-widget-footer{border-top:1px solid var(--dark-border);padding:20px;background:var(--dark-surface)}.chat-attachments{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.chat-attachments .chat-attachment{background:var(--dark-bg);border-radius:12px;padding:8px;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--dark-text);border:1px solid var(--dark-border);max-width:200px;transition:all .2s ease}.chat-attachments .chat-attachment:hover{background:var(--dark-surface-hover);border-color:var(--dark-text-muted)}.chat-attachments .chat-attachment .attachment-preview{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1px solid var(--dark-border);flex-shrink:0}.chat-attachments .chat-attachment .attachment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.chat-attachments .chat-attachment .attachment-remove{background:none;border:none;cursor:pointer;color:var(--dark-text-muted);transition:all .2s;padding:4px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.chat-attachments .chat-attachment .attachment-remove:hover{color:#ef4444;background:rgba(239,68,68,.1);transform:scale(1.1)}.chat-attachments .chat-attachment .attachment-remove:active{transform:scale(1)}.chat-char-counter-container{display:flex;justify-content:flex-end;padding:0 4px 8px}.chat-char-counter-container .chat-char-counter{font-size:11px;color:var(--dark-text-muted);font-weight:400;transition:color .2s}.chat-char-counter-container .chat-char-counter.chat-char-counter-warning{color:#f59e0b;font-weight:500}.chat-input-container{display:flex;align-items:center;gap:12px;background:var(--dark-bg);border:1px solid var(--dark-border);border-radius:16px;padding:12px 16px;transition:all .3s ease}.chat-input-container:focus-within{border-color:var(--primary-green-500);box-shadow:0 0 0 3px rgba(34,197,94,.1)}.chat-input-container .chat-attachment-button{background:none;border:none;cursor:pointer;color:var(--dark-text-muted);padding:8px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-input-container .chat-attachment-button:hover{color:#b4fd83;background:rgba(34,197,94,.1);transform:translateY(-2px)}.chat-input-container .chat-input{flex:1;background:none;border:none;outline:none;font-size:15px;padding:8px 0;color:var(--dark-text);font-weight:400;resize:none;min-height:20px;max-height:120px;overflow-y:auto;font-family:inherit;line-height:1.4}.chat-input-container .chat-input::-moz-placeholder{color:var(--dark-text-muted)}.chat-input-container .chat-input::placeholder{color:var(--dark-text-muted)}.chat-input-container .chat-input::-webkit-scrollbar{width:4px}.chat-input-container .chat-input::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.chat-input-container .chat-input::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:2px}.chat-trigger-button{position:fixed;bottom:20px;right:20px;width:64px;height:64px;background:linear-gradient(135deg,var(--primary-green-600),var(--primary-green-500));color:#fff;border:none;border-radius:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 32px rgba(34,197,94,.4);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:999;border:2px solid hsla(0,0%,100%,.1)}.chat-trigger-button:hover{background:linear-gradient(135deg,var(--primary-green-700),var(--primary-green-600));transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px rgba(34,197,94,.5)}.chat-trigger-button:active{transform:translateY(-2px) scale(1.02)}.feedback-buttons{margin-top:8px;display:flex;align-items:center;gap:12px}.feedback-buttons .feedback-question{font-size:13px;color:var(--dark-text-secondary);margin:0;font-weight:500;white-space:nowrap}.feedback-buttons .feedback-button-group{display:flex;gap:8px}.feedback-buttons .feedback-button-group .feedback-button{background:var(--dark-bg);border:1px solid var(--dark-border);color:var(--dark-text-muted);border-radius:8px;padding:6px 8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;min-width:30px;height:30px}.feedback-buttons .feedback-button-group .feedback-button:hover:not(:disabled){background:var(--dark-surface-hover);transform:translateY(-2px)}.feedback-buttons .feedback-button-group .feedback-button:active:not(:disabled){transform:translateY(0)}.feedback-buttons .feedback-button-group .feedback-button:disabled{opacity:.5;cursor:not-allowed}.feedback-buttons .feedback-button-group .feedback-button.feedback-button-positive:hover:not(:disabled){background:rgba(34,197,94,.1);border-color:#22c55e;color:#22c55e;box-shadow:0 4px 12px rgba(34,197,94,.2)}.feedback-buttons .feedback-button-group .feedback-button.feedback-button-negative:hover:not(:disabled){background:rgba(239,68,68,.1);border-color:#ef4444;color:#ef4444;box-shadow:0 4px 12px rgba(239,68,68,.2)}.action-buttons{margin-top:8px}.action-buttons .action-button-group{display:flex;gap:8px}.action-buttons .action-button-group .action-button{background:#22c55e;color:#fff;border:1px solid #22c55e;border-radius:8px;padding:5px 12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.action-buttons .action-button-group .action-button:hover:not(:disabled){background:#16a34a;transform:translateY(-1px);border-color:#16a34a}.action-buttons .action-button-group .action-button:active:not(:disabled){transform:translateY(0)}.action-buttons .action-button-group .action-button:disabled{background:var(--dark-border);color:var(--dark-text-muted);border-color:var(--dark-border);cursor:not-allowed;transform:none}.action-buttons .action-button-group .action-button svg{width:16px;height:16px;flex-shrink:0}.chat-ticket-form{padding:20px;background:var(--dark-surface);border-top:1px solid var(--dark-border);animation:slideInFromBottom .3s ease-out;max-height:60vh;overflow-y:auto;flex-shrink:0}.chat-ticket-form::-webkit-scrollbar{width:8px}.chat-ticket-form::-webkit-scrollbar-track{background:var(--dark-bg);border-radius:4px}.chat-ticket-form::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.chat-ticket-form::-webkit-scrollbar-thumb:hover{background:#525252}.chat-ticket-form .ticket-form-header{margin-bottom:20px;text-align:center}.chat-ticket-form .ticket-form-header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--dark-text)}.chat-ticket-form .ticket-form-header p{margin:0;font-size:14px;color:var(--dark-text-secondary)}.chat-ticket-form .form-group{margin-bottom:16px}.chat-ticket-form .form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--dark-text)}.chat-ticket-form .form-group .textarea-label-wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.chat-ticket-form .form-group .textarea-label-wrapper .char-counter{font-size:12px;color:var(--dark-text-muted);font-weight:400;transition:color .2s}.chat-ticket-form .form-group .textarea-label-wrapper .char-counter.char-counter-warning{color:#f59e0b;font-weight:500}.chat-ticket-form .form-group .select-wrapper{position:relative}.chat-ticket-form .form-group .select-wrapper .select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--dark-text-muted);pointer-events:none;transition:color .2s}.chat-ticket-form .form-group select,.chat-ticket-form .form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--dark-border);border-radius:12px;font-size:14px;background:var(--dark-bg);color:var(--dark-text);transition:all .2s}.chat-ticket-form .form-group select:focus,.chat-ticket-form .form-group textarea:focus{outline:none;border-color:var(--primary-green-500);box-shadow:0 0 0 3px rgba(34,197,94,.1)}.chat-ticket-form .form-group select:disabled,.chat-ticket-form .form-group textarea:disabled{background:var(--dark-border);color:var(--dark-text-muted);cursor:not-allowed}.chat-ticket-form .form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px}.chat-ticket-form .form-group select:disabled{cursor:not-allowed}.chat-ticket-form .form-group select:focus+.select-icon{color:var(--primary-green-500)}.chat-ticket-form .form-group textarea{resize:vertical;min-height:100px;max-height:200px;font-family:inherit}.chat-ticket-form .form-group textarea::-moz-placeholder{color:var(--dark-text-muted)}.chat-ticket-form .form-group textarea::placeholder{color:var(--dark-text-muted)}.chat-ticket-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.chat-ticket-form .form-actions .form-button{padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px}.chat-ticket-form .form-actions .form-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-ticket-form .form-actions .form-button.form-button-secondary{background:var(--dark-bg);color:var(--dark-text);border:1px solid var(--dark-border)}.chat-ticket-form .form-actions .form-button.form-button-secondary:hover:not(:disabled){background:var(--dark-surface-hover);border-color:var(--dark-text-muted);transform:translateY(-2px)}.chat-ticket-form .form-actions .form-button.form-button-primary{background:linear-gradient(135deg,var(--primary-green-600),var(--primary-green-500));color:#fff;border:1px solid var(--primary-green-600);box-shadow:0 4px 12px rgba(34,197,94,.3)}.chat-ticket-form .form-actions .form-button.form-button-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-green-700),var(--primary-green-600));transform:translateY(-2px);box-shadow:0 8px 25px rgba(34,197,94,.4)}.chat-success-footer{display:flex;justify-content:center;padding:0}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.chat-widget-overlay{padding:10px}.chat-widget{width:100%;height:100%;max-height:600px;border-radius:16px 16px 0 0}.chat-trigger-button{bottom:15px;right:15px;width:56px;height:56px}}