:root{--primary-500: #2563eb;--primary-600: #1d4ed8;--primary-700: #1e40af;--primary-50: #eff6ff;--primary-100: #dbeafe;--secondary-500: #059669;--secondary-600: #047857;--secondary-700: #065f46;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--success-500: #10b981;--warning-500: #f59e0b;--error-500: #ef4444;--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .12);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}body{background:radial-gradient(circle at 20% 80%,rgba(76,175,80,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(44,137,50,.12) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(92,202,87,.08) 0%,transparent 50%),linear-gradient(135deg,#f6f5f0,#f8fafcfa,#f1f5f9f2,#f8fafcfa,#f6f5f0);background-attachment:fixed;background-size:100% 100%,100% 100%,100% 100%,100% 100%;display:flex;justify-content:center;align-items:center;min-height:100vh;color:#2d3748;padding:clamp(5px,100vw,1px);letter-spacing:-.01em;width:100%;overflow-x:hidden;position:relative;zoom:.9}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 30%,rgba(76,175,80,.02) 50%,transparent 70%),linear-gradient(-45deg,transparent 30%,rgba(44,137,50,.02) 50%,transparent 70%);background-size:50px 50px,50px 50px;background-position:0 0,25px 25px;animation:shimmer 20s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes shimmer{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.6;transform:translateY(-2px)}}.container{width:1500px;min-width:900px;max-width:1000px;height:105vh;border:7px solid #F6F5F0;background-color:#f6f5f0;border-radius:24px;box-shadow:10px 15px 15px #8080801a,-10px -10px 10px #fff,inset 7px 7px 10px #8080801a,-inset -7px -7px 10px #fff;display:flex;flex-direction:column;overflow:hidden;margin:10px auto;position:relative;z-index:9}.header{background:linear-gradient(135deg,#59c260,#127d17);padding:clamp(16px,3vw,24px);display:flex;align-items:center;gap:12px;border-bottom:2px solid #000;position:sticky;top:0;z-index:10}.header .logo{width:clamp(100px,5vw,70px);height:auto;border-radius:12px;object-fit:cover}.header h1{font-size:clamp(18px,2.5vw,24px);font-weight:600;color:#161616;letter-spacing:-.02em}.igl-ai-assistant{font-family:Lucida Sans Unicode,Lucida Grande,sans-serif;color:#fff;font-size:1.5rem;text-align:center;margin:20px 0}.toggle-container{margin-left:auto;display:flex;align-items:center;gap:6px}.toggle-label{font-size:clamp(12px,1.8vw,14px);color:#e5e7eb;font-weight:500;letter-spacing:-.01em}.toggle-switch{position:relative;display:inline-block;width:36px;height:18px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#4a4a4a;transition:.3s;border-radius:18px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:#e5e7eb;transition:.3s;border-radius:50%}input:checked+.slider{background-color:#4caf50}input:checked+.slider:before{transform:translate(18px)}.chat-container{flex:1;overflow-y:auto;padding:clamp(8px,2vw,16px);display:flex;flex-direction:column;gap:clamp(6px,1.5vw,10px);width:100%;min-height:0;box-shadow:inset 0 0 20px #0000001a,inset 0 0 40px #0000000d,0 10px 30px #00000026,0 20px 60px #0000001a,0 30px 80px #0000000d,0 40px 100px #00000008;border-radius:15px;background:#f6f5f0f2;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);scroll-behavior:smooth}.welcome-message-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;max-width:80%;margin:auto;min-height:300px;text-align:center}.bot-icon{width:100px;height:auto;display:block;margin-bottom:10px}.welcome-text{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:#7f7f7c97;margin:0}.question-text{font-size:clamp(1.2rem,3.5vw,1.6rem);color:#7f7f7c97;margin:0}.chat-container::-webkit-scrollbar{width:5px}.chat-container::-webkit-scrollbar-thumb{background:#4caf50;border-radius:30px}.message{display:flex;align-items:flex-start;gap:clamp(8px,2vw,12px);max-width:85%;animation:slideIn .3s ease-out}.user-message{align-self:flex-end;flex-direction:row-reverse}.bot-message{align-self:flex-start}.message-bubble{background:#2a2a2a;border-radius:clamp(12px,2.5vw,18px);padding:clamp(10px,2.5vw,16px);max-width:100%;word-wrap:break-word;line-height:1.5;font-size:clamp(14px,2vw,16px);color:#060607;border:1px solid #3A3A3A;position:relative;overflow:hidden}.message-bubble ul,.message-bubble ol{margin:8px 0;padding-left:20px}.message-bubble li{margin-bottom:4px;line-height:1.4}.message-bubble table{width:100%;border-collapse:collapse;margin:10px 0;font-size:14px}.message-bubble th{background:#3a3a3a;color:#e5e7eb;font-weight:600;padding:8px 12px;text-align:left;border:1px solid #4A4A4A}.message-bubble td{padding:8px 12px;border:1px solid #4A4A4A}.message-bubble tr:nth-child(2n){background:#333}.message-bubble tr:hover{background:#404040}.message-bubble h3{color:#4caf50;font-size:1.1em;font-weight:600;margin-bottom:8px;border-bottom:1px solid #4A4A4A;padding-bottom:4px}.message-bubble pre{background:#1a1a1a;border:1px solid #3A3A3A;border-radius:8px;padding:12px;overflow-x:auto;margin:8px 0;font-size:14px}.message-bubble code{background:#1a1a1a;color:#4caf50;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.message-bubble pre code{background:none;padding:0;color:#e5e7eb}.message-bubble .sources{margin-top:12px;padding:12px;background:#4caf501a;border-radius:8px;border-left:4px solid #4CAF50}.message-bubble .sources h4{color:#4caf50;font-size:.9em;font-weight:600;margin-bottom:6px}.message-bubble .sources ul{list-style:none;margin:0;padding:0}.message-bubble .sources li{margin-bottom:6px;padding-left:0}.message-bubble .sources li:hover{background:#4caf500d;border-radius:4px;padding:2px 6px;margin:2px -6px}.message-bubble .sources .source-link{color:#81c784;text-decoration:none;font-weight:500}.message-bubble .sources .source-link:hover{color:#a5d6a7;text-decoration:underline}.user-message .message-bubble{background:#4caf50;color:#212121;border-color:#45a049}.bot-message .message-bubble{background:#fed525;color:#0c0c0c}.timestamp{font-size:clamp(10px,1.5vw,12px);color:#36373a;margin-top:4px;opacity:.7}.avatar{width:clamp(32px,4vw,40px);height:clamp(32px,4vw,40px);border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #3A3A3A;background:#2a2a2a}.bot-avatar{border-color:#4caf50}.error-message{background:#dc2626!important;color:#fef2f2!important;border-color:#b91c1c!important}.error-message .timestamp{color:#fca5a5!important}.loader{width:20px;height:20px;border:2px solid #3A3A3A;border-top:2px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite}.loader:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#4caf50;border-radius:50%}.typing-indicator{display:flex;align-items:center;gap:4px;padding:clamp(8px,2vw,12px)}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:#4caf50;animation:bounce 1.4s ease-in-out infinite both}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:-.32s}.input-container{padding:clamp(12px,3vw,20px);background:linear-gradient(135deg,#4caa57,#2c8932);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #3A3A3A;display:flex;align-items:center;gap:clamp(8px,2vw,12px);position:sticky;bottom:0;z-index:10}.input-textarea{flex:1;min-height:clamp(40px,8vw,52px);max-height:120px;padding:clamp(12px,2.5vw,16px) clamp(16px,3vw,20px);background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:clamp(12px,3vw,24px);color:#2d3748;font-size:clamp(14px,2vw,16px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5;resize:none;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014,0 4px 8px #0000000f,0 8px 16px #0000000a,0 12px 24px #00000008,0 16px 32px #00000005,inset 0 0 0 1px #ffffff80,inset 0 1px #fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);placeholder-color:#a0aec0}.input-textarea:focus{border-color:#4caf5066;box-shadow:0 0 0 3px #4caf501a,0 2px 4px #0000001a,0 4px 8px #00000014,0 8px 16px #0000000f,0 12px 24px #0000000a,0 16px 32px #00000008,0 20px 40px #00000005,0 24px 48px #4caf500d,inset 0 0 0 1px #4caf5033,inset 0 1px #ffffffe6;background:#fffffffa;transform:translateY(-1px)}.input-textarea:hover{border-color:#4caf5033;box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014,0 8px 16px #0000000f,0 12px 24px #0000000a,0 16px 32px #00000008,0 20px 40px #00000005,0 24px 48px #00000004,inset 0 0 0 1px #fff9,inset 0 1px #ffffffd9;background:#fffffff7}.send-button,.mic-button,.mute-button{width:clamp(40px,8vw,44px);height:clamp(40px,8vw,44px);border:none;border-radius:50%;background:#db3e17;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026,0 4px 12px #0000001a,0 8px 24px #00000014;filter:blur(.1px)}.send-button:hover,.mic-button:hover,.mute-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.send-button.processing{background:#ff9800;cursor:not-allowed}.mic-button.recording{background:#f44336;animation:glow 1.5s ease-in-out infinite alternate}.mute-button.muted{background:#f44336}.sheets-button,.sync-button{padding:clamp(6px,1.5vw,8px);border:none;border-radius:clamp(6px,1.5vw,8px);background:#ffffff1a;color:#e5e7eb;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);font-size:clamp(12px,1.8vw,14px);font-weight:500;min-width:clamp(32px,6vw,40px);height:clamp(32px,6vw,40px)}.sheets-button:hover,.sync-button:hover{background:#fff3;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.sheets-button.active{background:#4caf50;border-color:#45a049}.sync-button{margin-right:4px}.sync-button:hover{background:#fff3}.sync-button.syncing{animation:spin 1s linear infinite}.sync-button:disabled{opacity:.5;cursor:not-allowed}.sync-button.hidden{display:none}.footer{padding:clamp(8px,2vw,12px) clamp(12px,3vw,20px);background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-top:1px solid #3A3A3A;font-size:clamp(11px,1.5vw,13px);color:#9ca3af;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes glow{0%{box-shadow:0 0 5px #f44336,0 0 10px #f44336,0 0 15px #f44336}to{box-shadow:0 0 10px #f44336,0 0 20px #f44336,0 0 30px #f44336}}.retry-sync-btn{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;font-size:14px;margin-top:8px}.retry-sync-btn:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}.retry-sync-btn:disabled{background:#666;cursor:not-allowed;transform:none}.table-wrapper-scroll{overflow-x:auto;margin:10px 0}.preview-table-inline{width:100%;border-collapse:collapse;background:#2a2a2a;border-radius:8px;overflow:hidden}.preview-table-inline th,.preview-table-inline td{padding:8px 12px;text-align:left;border-bottom:1px solid #3A3A3A;color:#e5e7eb}.preview-table-inline th{background:#3a3a3a;font-weight:600;color:#4caf50}.preview-table-inline tr:nth-child(2n){background:#333}.preview-table-inline tr:hover{background:#404040}.mute-slash{stroke:#fff}.sound-waves{opacity:.8}.mute-button.muted .mute-slash{display:block}.mute-button.muted .sound-waves{display:none}.mute-button.glowing,.send-button.glowing{animation:glow 2s ease-in-out infinite alternate}@media (max-width: 800px){.container{width:calc(100vw - 90px);min-width:370px;max-width:calc(100vw - 120px);height:80vh;margin:10px auto}}
