:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--bg-glass: rgba(30, 30, 45, .6);--bg-glass-hover: rgba(40, 40, 60, .7);--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--accent-glow: rgba(99, 102, 241, .3);--positive: #22c55e;--negative: #ef4444;--neutral: #64748b;--warning: #f59e0b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-glass: rgba(255, 255, 255, .08);--border-active: rgba(99, 102, 241, .5);--shadow-glow: 0 0 30px rgba(99, 102, 241, .15);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,.15),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(139,92,246,.1),transparent)}.app{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;padding:24px;max-width:900px;margin:0 auto;width:100%}.header{text-align:center;padding:20px 0 32px}.header h1{font-size:2rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.header p{color:var(--text-secondary);font-size:.95rem}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:20px;font-size:.8rem;margin-top:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--positive);animation:pulse 2s infinite}.status-dot.offline{background:var(--negative);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mode-toggle-container{display:flex;justify-content:center;margin-top:20px}.mode-toggle{display:flex;background:var(--bg-tertiary);border:1px solid var(--border-glass);border-radius:20px;padding:4px;position:relative;gap:4px}.toggle-option{padding:8px 20px;border-radius:16px;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.toggle-option:hover{color:var(--text-primary)}.toggle-option.active{background:var(--accent-gradient);color:#fff;font-weight:600;box-shadow:0 2px 10px #6366f14d}.chat-container{flex:1;display:flex;gap:24px;overflow:hidden}.chat-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-card);overflow:hidden}.messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:3px}.message{max-width:80%;padding:14px 18px;border-radius:var(--radius-lg);animation:slideIn .3s ease;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background:var(--accent-gradient);color:#fff;border-bottom-right-radius:4px}.message.assistant{align-self:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-glass);border-bottom-left-radius:4px}.message-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.7;margin-bottom:4px}.message-content{font-size:.95rem;line-height:1.5}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;padding:40px}.empty-state svg{width:64px;height:64px;margin-bottom:16px;opacity:.3}.empty-state h3{font-size:1.1rem;font-weight:500;margin-bottom:8px;color:var(--text-secondary)}.input-area{padding:20px 24px;border-top:1px solid var(--border-glass);background:#0a0a0f80}.input-wrapper{display:flex;gap:12px;align-items:center}.input-wrapper input{flex:1;padding:14px 20px;background:var(--bg-tertiary);border:1px solid var(--border-glass);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.95rem;font-family:inherit;outline:none;transition:all .2s ease}.input-wrapper input:focus{border-color:var(--border-active);box-shadow:var(--shadow-glow)}.input-wrapper input::placeholder{color:var(--text-muted)}.send-btn{padding:14px 24px;background:var(--accent-gradient);border:none;border-radius:var(--radius-lg);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.input-upload-btn{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f126,#8b5cf626);border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-lg);font-size:1.2rem;cursor:pointer;transition:all .3s ease}.input-upload-btn:hover:not(:disabled){background:linear-gradient(135deg,#6366f140,#8b5cf640);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 6px 20px #6366f140}.input-upload-btn:disabled{opacity:.6;cursor:wait}.input-upload-result{margin-top:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;animation:slideIn .3s ease}.input-upload-result.success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:var(--positive)}.input-upload-result.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--negative)}.uploaded-file-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:12px;background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-lg);animation:slideIn .3s ease}.uploaded-file-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.file-icon{font-size:1.4rem;flex-shrink:0}.file-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.85rem;color:var(--text-muted);flex-shrink:0}.uploaded-file-actions{display:flex;gap:10px;flex-shrink:0}.cancel-upload-btn{padding:8px 14px;background:#64748b26;border:1px solid rgba(100,116,139,.3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-upload-btn:hover{background:#ef444426;border-color:#ef444466;color:var(--negative)}.send-recording-btn{padding:8px 18px;background:var(--accent-gradient);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.send-recording-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f14d}.analytics-sidebar{width:320px;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.analytics-header{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border-glass)}.analytics-header h2{font-size:1rem;font-weight:600}.analytics-card{background:var(--bg-tertiary);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:16px}.analytics-card h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px}.sentiment-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.sentiment-badge.positive{background:#22c55e26;color:var(--positive);border:1px solid rgba(34,197,94,.3)}.sentiment-badge.negative{background:#ef444426;color:var(--negative);border:1px solid rgba(239,68,68,.3)}.sentiment-badge.neutral{background:#64748b26;color:var(--neutral);border:1px solid rgba(100,116,139,.3)}.intent-text{font-size:.95rem;color:var(--text-primary);line-height:1.5}.entities-list{display:flex;flex-wrap:wrap;gap:8px}.entity-tag{padding:6px 12px;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-sm);font-size:.8rem;color:var(--accent-primary)}.no-analytics{color:var(--text-muted);font-size:.9rem;text-align:center;padding:20px}.typing-indicator{display:flex;gap:4px;padding:14px 18px;align-self:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-glass);border-radius:var(--radius-lg);border-bottom-left-radius:4px}.typing-indicator span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.header-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.upload-toggle-btn{padding:10px 20px;background:linear-gradient(135deg,#6366f133,#8b5cf633);border:1px solid rgba(99,102,241,.4);border-radius:12px;color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.upload-toggle-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-gradient);opacity:0;transition:opacity .3s ease}.upload-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f14d;border-color:var(--accent-primary)}.upload-toggle-btn:hover:before{opacity:.15}.upload-toggle-btn span{position:relative;z-index:1}.upload-section{margin-top:24px;animation:slideDown .4s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.upload-zone{background:linear-gradient(135deg,#1e1e32cc,#141423e6);border:2px dashed rgba(99,102,241,.3);border-radius:var(--radius-xl);padding:40px 32px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.upload-zone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 0%,rgba(99,102,241,.15),transparent 70%);pointer-events:none}.upload-zone:hover{border-color:var(--accent-primary);background:linear-gradient(135deg,#282841e6,#19192df2);transform:translateY(-2px);box-shadow:0 12px 40px #6366f133}.upload-zone.drag-active{border-color:var(--accent-secondary);border-style:solid;background:linear-gradient(135deg,#6366f126,#8b5cf61a);box-shadow:0 0 40px #6366f140,inset 0 0 60px #6366f10d}.upload-zone.uploading{pointer-events:none;opacity:.85}.upload-icon{font-size:3rem;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(99,102,241,.3));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.upload-text{font-size:1rem;color:var(--text-secondary);margin-bottom:10px;font-weight:500}.upload-text span{color:var(--accent-primary);font-weight:600;text-decoration:none;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer}.upload-text span:hover{text-decoration:underline}.upload-hint{font-size:.8rem;color:var(--text-muted);margin-top:4px}.upload-loading{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 20px #6366f133}@keyframes spin{to{transform:rotate(360deg)}}.upload-result{margin-top:20px;padding:16px 20px;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;animation:slideIn .3s ease;display:flex;flex-direction:column;gap:6px}.upload-result.success{background:linear-gradient(135deg,#22c55e26,#22c55e14);border:1px solid rgba(34,197,94,.4);color:var(--positive);box-shadow:0 4px 20px #22c55e26}.upload-result.error{background:linear-gradient(135deg,#ef444426,#ef444414);border:1px solid rgba(239,68,68,.4);color:var(--negative);box-shadow:0 4px 20px #ef444426}.upload-details{font-size:.8rem;opacity:.85}@media(max-width:900px){.analytics-sidebar{display:none}.main-content{padding:16px}.header-actions{flex-direction:column}}
