.horizon-chat-widget{--primary:#10a37f;--primary-hover:#0d8a6a;--bg:#f7f7f8;--card:#fff;--text:#1e293b;--text-secondary:#64748b;--border:#e5e5e5;--error:#ef4444;--user-bg:#10a37f;--user-text:#fff;--bot-bg:#fff;font-family:"Söhne",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;display:flex;flex-direction:column;background:var(--bg);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.12);overflow:hidden;transition:all .3s ease}.horizon-chat-widget[data-position=bottom-right]{position:fixed;bottom:20px;right:20px;z-index:9999}.horizon-chat-widget[data-position=bottom-left]{position:fixed;bottom:20px;left:20px;z-index:9999}.horizon-chat-widget.minimized{height:56px!important}.horizon-chat-widget.minimized .horizon-chat-messages,.horizon-chat-widget.minimized .horizon-chat-input-container,.horizon-chat-widget.minimized .horizon-chat-cta{display:none}.horizon-chat-header{background:var(--primary);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.horizon-chat-title{font-size:1.1rem;font-weight:600}.horizon-chat-header-actions{display:flex;align-items:center;gap:12px}.horizon-chat-token-usage{font-size:.7rem;color:rgba(255,255,255,.7);padding:2px 8px;border-radius:8px;font-weight:400}.horizon-chat-token-usage:empty{display:none}.horizon-chat-token-usage.warning{color:#fde68a}.horizon-chat-token-usage.critical{background:rgba(239,68,68,.3);color:#fecaca}.horizon-chat-counter{font-size:.8rem;color:rgba(255,255,255,.8);background:rgba(255,255,255,.15);padding:4px 10px;border-radius:12px;font-weight:500}.horizon-chat-counter.limit-reached{background:rgba(255,255,255,.25);color:#fecaca}.horizon-chat-minimize{background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1.2em;transition:all .2s;display:flex;align-items:center;justify-content:center}.horizon-chat-minimize:hover{background:rgba(255,255,255,.25)}.horizon-chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background:var(--bg)}.horizon-chat-welcome{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px;font-size:.9rem;line-height:1.7;color:var(--text)}.horizon-chat-message{max-width:85%;animation:hcFadeIn .3s ease}.horizon-chat-message-content{padding:12px 16px;border-radius:12px;line-height:1.6;word-wrap:break-word;font-size:.95rem}.horizon-chat-message-user{align-self:flex-end}.horizon-chat-message-user .horizon-chat-message-content{background:var(--user-bg);color:var(--user-text);border-bottom-right-radius:4px}.horizon-chat-message-bot{align-self:flex-start}.horizon-chat-message-bot .horizon-chat-message-content{background:var(--bot-bg);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text)}.horizon-chat-message-bot.streaming .horizon-chat-message-content::after{content:"▌";animation:hcBlink 1s infinite;color:var(--primary);margin-left:2px}.horizon-topic-id{color:var(--primary);font-weight:600;font-family:"Courier New",monospace;font-size:.9em}.horizon-chat-message-bot a{color:var(--primary)}.horizon-chat-error{color:var(--error)}.horizon-chat-input-container{padding:16px 20px;background:var(--card);border-top:1px solid var(--border)}.horizon-chat-file-section{display:flex;align-items:center;gap:8px;margin-bottom:10px}.horizon-chat-attach-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--card);cursor:pointer;font-size:1.1rem;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.horizon-chat-attach-btn:hover{border-color:var(--primary);background:#f0fdf4}.horizon-chat-filename{flex:1;font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.horizon-chat-filename.has-file{color:var(--primary);font-weight:500}.horizon-chat-clear-file{background:var(--error);color:white;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}.horizon-chat-clear-file:hover{opacity:.8}.horizon-chat-input-row{display:flex;gap:10px;align-items:flex-end}.horizon-chat-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:12px;font-size:.95rem;font-family:inherit;resize:none;outline:none;transition:border-color .2s;min-height:44px;max-height:120px}.horizon-chat-input:focus{border-color:var(--primary)}.horizon-chat-send-button{width:44px;height:44px;background:var(--primary);color:white;border:none;border-radius:12px;cursor:pointer;font-size:1.1rem;transition:background .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.horizon-chat-send-button:hover{background:var(--primary-hover)}.horizon-chat-send-button:disabled{background:var(--text-secondary);cursor:not-allowed}.horizon-chat-cta{padding:24px 20px;background:var(--card);border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.horizon-chat-cta-message{font-size:.95rem;color:var(--text);line-height:1.5}.horizon-chat-cta-button{display:inline-block;padding:14px 32px;background:var(--primary);color:white;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px rgba(16,163,127,.3)}.horizon-chat-cta-button:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 16px rgba(16,163,127,.4);color:white;text-decoration:none}.horizon-chat-messages::-webkit-scrollbar{width:6px}.horizon-chat-messages::-webkit-scrollbar-track{background:0 0}.horizon-chat-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.horizon-chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.horizon-gdpr-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.horizon-gdpr-modal{background:var(--card);border-radius:16px;padding:24px;max-width:500px;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.2);max-height:90%;overflow-y:auto}.horizon-gdpr-modal h3{margin:0 0 16px;color:#e74c3c;font-size:1.1rem}.horizon-gdpr-body{font-size:.9rem;line-height:1.6;color:var(--text)}.horizon-gdpr-body ul{padding-left:20px;margin:12px 0}.horizon-gdpr-body li{margin-bottom:8px}.horizon-gdpr-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.horizon-gdpr-btn{padding:10px 24px;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:opacity .2s}.horizon-gdpr-btn:hover{opacity:.85}.horizon-gdpr-cancel{background:#95a5a6;color:white}.horizon-gdpr-accept{background:#27ae60;color:white}@media (max-width:768px){.horizon-chat-widget[data-position=bottom-right],.horizon-chat-widget[data-position=bottom-left]{width:calc(100% - 16px)!important;height:calc(100vh - 16px)!important;bottom:8px!important;right:8px!important;left:8px!important;border-radius:12px}.horizon-chat-message{max-width:92%}}.horizon-chat-char-count{font-size:.65rem;color:rgba(0,0,0,.4);text-align:right;padding:0 8px 2px;display:block;min-height:14px}.horizon-chat-char-count:empty{display:none}.horizon-chat-char-count.warning{color:#dc2626;font-weight:600}