body{margin:0;padding:0}.chat-container-n8n{background-color:#f9fafb;border-radius:.5rem;flex-direction:column;height:calc(100vh - 180px);display:flex;overflow:hidden}.messages-container{scroll-behavior:smooth;flex:1;padding:20px;overflow-y:auto}.messages-wrapper{width:100%;max-width:1200px;margin:0 auto}.message-bubble{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.message-bubble.user{flex-direction:row-reverse}.message-bubble .avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.message-bubble.user .avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.message-bubble.assistant .avatar{color:#fff;background-color:#6b7280}.message-bubble.error .avatar{color:#fff;background-color:#dc2626}.message-bubble .text{white-space:pre-wrap;border-radius:12px;max-width:70%;padding:12px 16px;font-size:14px;line-height:1.5}.message-bubble.user .text{color:#fff;background-color:#3b82f6}.message-bubble.assistant .text{color:#374151;background-color:#f3f4f6;border:1px solid #e5e7eb}.message-bubble.error .text{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.typing-indicator{padding:12px 20px;display:none}.typing-dots{gap:4px;display:flex}.typing-dot{background-color:#9ca3af;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite typing}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.chat-input-area{background-color:#fff;border-top:1px solid #e5e7eb;padding:16px}.chat-input-container{gap:12px;display:flex}.chat-input{border:1px solid #d1d5db;border-radius:12px;outline:none;flex:1;padding:12px 16px;font-size:14px}.chat-input:focus{border-color:#3b82f6}.chat-send-btn{color:#fff;cursor:pointer;background-color:#000;border:none;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500}.chat-send-btn:hover{background-color:#1f2937}.badge-counter{color:#fff;background-color:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:600;display:flex}.badge-dot{background-color:#ef4444;border-radius:50%;width:10px;height:10px;margin-left:auto}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;padding:24px;overflow-y:auto}.kpi-card{background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000001a}.alert-card{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;padding:12px 16px}.table-unassigned{border-left:4px solid #f59e0b}.table-assigned{border-left:4px solid #10b981}.table-pending{border-left:4px solid #ef4444}.table-paid{border-left:4px solid #10b981}.toast{z-index:9999;background:#fff;border-radius:12px;align-items:center;gap:12px;min-width:300px;padding:16px 20px;animation:.3s ease-out slideIn;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 12px #00000026}.toast.success{border-left:4px solid #10b981}.toast.error{border-left:4px solid #ef4444}.toast.info{border-left:4px solid #3b82f6}.toast.warning{border-left:4px solid #f59e0b}@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(400px)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sortable:hover{background-color:#0000000d}.sortable:after{content:"⇅";opacity:.3;font-size:12px;position:absolute;right:8px}.sortable.asc:after{content:"↑";opacity:1}.sortable.desc:after{content:"↓";opacity:1}*{transition:background-color .2s,border-color .2s}.stats-card{animation:.5s ease-out fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.compact-mode td{padding:8px 12px!important;font-size:12px!important}.search-highlight{background-color:#fef3c7;border-radius:3px;padding:2px 4px}.confirm-modal{animation:.2s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.toast{animation:.3s ease-out slideIn}
