/* AI Chat Assistant Frontend Styles */
#aca-chat-widget{position:fixed;z-index:2147483647;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.4}
#aca-chat-widget.aca-position-bottom-right{bottom:20px;right:20px}
#aca-chat-widget.aca-position-bottom-left{bottom:20px;left:20px}
#aca-chat-widget.aca-position-top-right{top:20px;right:20px}
#aca-chat-widget.aca-position-top-left{top:20px;left:20px}
#aca-chat-toggle{background:#007cba;background:linear-gradient(135deg,#007cba 0%,#0085d3 100%);color:#fff;padding:12px 16px;border-radius:25px;cursor:pointer;box-shadow:0 4px 12px rgba(0,124,186,.3);transition:transform .12s ease, box-shadow .2s ease;display:flex;align-items:center;gap:8px;max-width:200px;border:none;font-size:14px;font-weight:500;pointer-events:auto}
#aca-chat-toggle.is-pressed{transform:scale(.98)}
#aca-chat-toggle:focus-visible{outline:3px solid rgba(255,255,255,.6); outline-offset:2px}
#aca-chat-toggle:hover{background:linear-gradient(135deg,#005a8b 0%,#006aa3 100%);box-shadow:0 6px 16px rgba(0,124,186,.4);transform:translateY(-1px)}
#aca-chat-toggle .aca-chat-icon{font-size:18px;line-height:1}
#aca-chat-container{width:350px;height:450px;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.12);border:1px solid #e1e5e9;display:flex;flex-direction:column;overflow:hidden;position:absolute;bottom:70px;right:0}
#aca-chat-widget.aca-position-bottom-left #aca-chat-container,#aca-chat-widget.aca-position-top-left #aca-chat-container{right:auto;left:0}
#aca-chat-widget.aca-position-top-right #aca-chat-container,#aca-chat-widget.aca-position-top-left #aca-chat-container{bottom:auto;top:70px}
#aca-chat-header{background:#007cba;background:linear-gradient(135deg,#007cba 0%,#0085d3 100%);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;font-weight:600;border-radius:12px 12px 0 0;flex:0 0 auto}
#aca-chat-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0;margin:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}
#aca-chat-close:hover{background-color:rgba(255,255,255,.1)}
#aca-chat-clear{background:none;border:none;color:#fff;font-size:14px;cursor:pointer;padding:4px;margin:0 8px 0 0;border-radius:4px;transition:background-color .2s ease}
#aca-chat-clear:hover{background-color:rgba(255,255,255,.1)}
#aca-chat-clear.is-loading::after{content:'';display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;margin-left:6px;vertical-align:middle;animation:spin .8s linear infinite}
#aca-chat-messages{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:100%;padding:16px;background:#f8f9fa;display:flex;flex-direction:column;gap:12px}
#aca-chat-messages::-webkit-scrollbar{width:6px}
#aca-chat-messages::-webkit-scrollbar-track{background:transparent}
#aca-chat-messages::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}
#aca-chat-messages::-webkit-scrollbar-thumb:hover{background:#a0aec0}
.aca-message{max-width:92%;margin-bottom:8px;display:flex;gap:8px}
.aca-message.enter{animation:slideFadeIn .18s ease-out both}
@keyframes slideFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.aca-message-user{align-self:flex-end;margin-left:auto}
.aca-message-ai{align-self:flex-start;margin-right:auto}
.aca-avatar{width:36px;height:36px;border-radius:50%;background:#edf2f7;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 36px;overflow:hidden}
.aca-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.aca-bubble{max-width:calc(100% - 44px)}
.aca-message-content{padding:10px 14px;border-radius:18px;word-wrap:break-word;white-space:pre-wrap;line-height:1.4}
.aca-message-user .aca-message-content{background:#007cba;color:#fff;border-bottom-right-radius:6px}
.aca-message-ai .aca-message-content{background:#fff;color:#2d3748;border:1px solid #e2e8f0;border-bottom-left-radius:6px}
.aca-message-error .aca-message-content{background:#fed7d7;color:#c53030;border:1px solid #feb2b2}
.aca-message-meta{display:flex;align-items:center;gap:8px;margin-top:4px}
.aca-message-time{font-size:11px;color:#718096}
.aca-source-indicator{font-size:10px;color:#a0aec0;margin-top:4px;font-style:italic}
.aca-fallback-badge{margin-top:6px;display:inline-block;background:#fff3cd;color:#856404;border:1px solid #ffeeba;border-radius:10px;padding:2px 8px;font-size:11px}
.aca-suggestions{margin:8px 0;padding:12px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}
.aca-suggestions-title{font-size:12px;color:#718096;margin-bottom:8px;font-weight:500}
.aca-suggestions-row{display:flex;gap:8px;flex-wrap:wrap}
.aca-chip{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568;padding:8px 12px;border-radius:999px;cursor:pointer;font-size:12px;transition:transform .1s ease, background .2s ease, border-color .2s ease}
.aca-chip:active{transform:scale(.98)}
.aca-chip:focus-visible{outline:2px solid #007cba; outline-offset:2px}
.aca-chip:hover{background:#edf2f7;border-color:#cbd5e0;color:#2d3748}
#aca-chat-input-container{padding:16px;background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:8px;align-items:flex-end;flex:0 0 auto}
#aca-chat-input{flex:1;border:1px solid #e2e8f0;border-radius:20px;padding:10px 16px;font-size:14px;resize:none;min-height:20px;max-height:80px;overflow-y:auto;outline:none;transition:border-color .2s ease;font-family:inherit}
#aca-chat-input:focus{border-color:#007cba;box-shadow:0 0 0 3px rgba(0,124,186,.1)}
#aca-chat-input::placeholder{color:#a0aec0}
#aca-chat-send{background:#007cba;background:linear-gradient(135deg,#007cba 0%,#0085d3 100%);color:#fff;border:none;border-radius:20px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:transform .12s ease, background .2s ease;min-width:60px}
#aca-chat-send.is-pressed{transform:scale(.98)}
#aca-chat-send.is-loading::after{content:'';display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;margin-left:8px;vertical-align:middle;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#aca-chat-send:hover:not(:disabled){background:linear-gradient(135deg,#005a8b 0%,#006aa3 100%);transform:translateY(-1px)}
#aca-chat-send:disabled{opacity:.6;cursor:not-allowed;transform:none}
#aca-chat-loading{padding:12px 16px;text-align:center;color:#718096;font-size:13px;background:#fff;border-top:1px solid #e2e8f0;display:none}
#aca-chat-loading.aca-typing{display:block}
#aca-chat-loading.aca-typing:before{content:' ';display:inline-block;width:6px;height:6px;border-radius:50%;background:#a0aec0;box-shadow:12px 0 0 #a0aec0,24px 0 0 #a0aec0;animation:typingDots 1s infinite ease-in-out}
@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes typingDots{0%,100%{opacity:.2}50%{opacity:1}}
@media (max-width:768px){#aca-chat-widget.aca-mobile{position:fixed}#aca-chat-widget.aca-mobile #aca-chat-container{width:100vw;height:70dvh;border-radius:12px 12px 0 0;position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom));box-shadow:0 8px 30px rgba(0,0,0,.12);border:1px solid #e1e5e9}#aca-chat-widget.aca-mobile #aca-chat-header{border-radius:12px 12px 0 0;padding:16px 20px}#aca-chat-widget.aca-mobile #aca-chat-toggle{border-radius:50%;width:60px;height:60px;padding:0;justify-content:center}#aca-chat-widget.aca-mobile #aca-chat-toggle .aca-chat-text{display:none}}
@media (max-width:480px){
  .aca-message{max-width:96%}
  #aca-chat-widget:not(.aca-mobile) #aca-chat-container{width:300px;height:400px}
  #aca-chat-widget:not(.aca-mobile){bottom:10px;right:10px;left:10px}
  #aca-chat-widget.aca-position-bottom-left:not(.aca-mobile){left:10px;right:10px}
}
@media (min-width:769px) and (max-width:1024px){#aca-chat-container{width:320px;height:420px}}
@media (prefers-contrast:high){#aca-chat-container{border-width:2px}.aca-message-content{border-width:2px}#aca-chat-input{border-width:2px}}
@media (prefers-reduced-motion:reduce){#aca-chat-toggle,#aca-chat-send,.aca-chip,.aca-message{transition:none}.aca-message{animation:none}#aca-chat-loading{animation:none}}
@media (prefers-color-scheme:dark){#aca-chat-container{background:#1a202c;border-color:#2d3748}#aca-chat-messages{background:#2d3748}.aca-message-ai .aca-message-content{background:#4a5568;color:#e2e8f0;border-color:#4a5568}.aca-suggestions{background:#4a5568;border-color:#4a5568}.aca-suggestions-title{color:#a0aec0}.aca-chip{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.aca-chip:hover{background:#1a202c}#aca-chat-input-container{background:#1a202c;border-color:#2d3748}#aca-chat-input{background:#2d3748;border-color:#4a5568;color:#e2e8f0}#aca-chat-input::placeholder{color:#718096}#aca-chat-loading{background:#1a202c;border-color:#2d3748;color:#a0aec0}}