:root{--primary-color: #564DF1;--primary-hover: #4840d6;--header-bg: #2d3142;--chat-bg: #e8e8e8;--sidebar-bg: #f5f5f5;--text-primary: #0f172a;--text-secondary: #475569;--white: #ffffff;--border-color: #e2e8f0;--input-bg: #f8fafc;--gradient-primary: linear-gradient(135deg, #564df1 0%, #8b5cf6 50%, #ec4899 100%);--gradient-secondary: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(86, 77, 241, .15);--shadow-xl: 0 12px 32px rgba(86, 77, 241, .2)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:var(--text-primary);font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility}#root{width:100vw;width:100dvw;height:100vh;height:100dvh;position:relative;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:#00000026}::selection{background:#564df133;color:var(--text-primary)}::-moz-selection{background:#564df133;color:var(--text-primary)}*:focus-visible{outline:2px solid rgba(86,77,241,.5);outline-offset:2px;border-radius:4px}button,a,input,textarea,select{transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;width:100dvw;overflow:hidden;position:relative}.main-header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#564df1,#5a52e8);padding:12px 24px;height:72px;min-height:72px;flex-shrink:0;position:relative;z-index:100;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #564df12e}.header-logo{display:flex;align-items:center;gap:12px}.header-logo-text{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;text-align:center;width:140px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;color:var(--white);text-shadow:0 1px 2px rgba(0,0,0,.25)}.header-symphony-text{font-size:15px;font-weight:700;line-height:1.4;width:70%;white-space:nowrap;display:flex;justify-content:space-between}.header-symphony-letter{display:inline-block}.header-ai-powered-text{font-size:13px;font-weight:400;line-height:1.4;letter-spacing:.17em;width:100%;text-align:center}.header-search{display:flex;align-items:center;background:var(--white);border-radius:12px;padding:8px 12px;gap:10px;min-width:400px;max-width:600px;border:1px solid rgba(255,255,255,.25);box-shadow:0 10px 22px #0f172a2e;transition:all .2s ease}.header-search:focus-within{border-color:#fff6;box-shadow:0 0 0 3px #ffffff40,0 10px 26px #0f172a2e}.search-dropdown{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;border-right:1px solid var(--border-color);cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);transition:color .2s}.search-dropdown:hover{color:var(--primary-color)}.search-input{border:none;outline:none;flex:1;font-size:14px;padding:4px 8px;color:var(--text-primary);background:transparent}.search-input::placeholder{color:var(--text-secondary)}.search-icon{color:var(--text-secondary);cursor:pointer;transition:color .2s}.search-icon:hover{color:var(--primary-color)}.header-actions{display:flex;align-items:center;gap:20px}.header-icon{color:#ffffffeb;font-size:30px;cursor:pointer;padding:10px;border-radius:8px;transition:all .2s ease;width:35px;height:35px;display:block}.header-icon{stroke-width:2.8;opacity:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.header-icon:hover{color:var(--white);background:#ffffff24}.user-avatar{width:30px;height:30px;border-radius:50%;background:#fffffffa;color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;cursor:pointer;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 22px #0f172a2e;transition:all .2s ease}.user-avatar:hover{transform:translateY(-1px);box-shadow:0 12px 26px #0f172a38}.maestro-header{display:flex;align-items:center;justify-content:space-between;background:var(--white);padding:12px 13px;height:56px;min-height:56px;flex-shrink:0;border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d}.maestro-logo{display:flex;align-items:center;gap:12px}.maestro-logo-image{width:32px;height:32px;flex-shrink:0;border-radius:10px;object-fit:cover;background:var(--primary-color);box-shadow:0 2px 8px #564df138}.maestro-icon{color:var(--primary-color);font-size:24px;color:#232323!important}.maestro-logo span{font-size:15px;font-weight:600;color:#232323;letter-spacing:-.01em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.connection-status{font-size:10px;margin-top:3px;margin-left:-4px;transition:color .3s;font-weight:600;line-height:1;display:inline-block;transform:scale(.55);transform-origin:left center}.connection-status.connected{color:#10b981}.connection-status.disconnected{color:#ef4444}.maestro-actions{display:flex;align-items:center;gap:16px}.toggle-container{display:flex;align-items:center;gap:8px}.toggle-label{font-size:14px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.toggle-switch{position:relative;width:48px;height:26px;background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:26px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 4px #0000001a inset,0 1px 2px #0000001a}.toggle-switch.active{background:linear-gradient(135deg,#564df1,#8b5cf6);box-shadow:0 2px 8px #564df166,0 0 0 2px #564df11a}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:50%;transition:transform .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 4px #0003,0 0 0 1px #0000000d inset}.toggle-switch.active:after{transform:translate(22px);box-shadow:0 2px 6px #00000040,0 0 0 1px #ffffff1a inset}.control-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:20px;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.control-btn:hover{color:var(--text-primary);background:#0000000d}.main-content{display:flex;flex:1;overflow:hidden;min-height:0;height:100%}.sidebar{width:58px;background:var(--sidebar-bg);display:flex;flex-direction:column;align-items:center;padding:16px 0;border-right:1px solid var(--border-color)}.sidebar-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;border-radius:8px;cursor:pointer;color:var(--text-secondary);font-size:18px;transition:all .2s}.sidebar-icon:hover{background:var(--border-color);color:var(--text-primary)}.sidebar-icon.active{background:#564df11a;color:var(--primary-color)}.sidebar-spacer{flex:1}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--chat-bg);min-height:0;height:100%;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;display:flex;flex-direction:column;min-height:0;height:100%}.welcome-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.welcome-icon{font-size:64px;color:var(--primary-color);margin-bottom:16px}.welcome-maestro-logo{width:64px;height:64px;border-radius:18px;object-fit:cover;background:var(--primary-color);box-shadow:0 10px 24px #564df140;margin-bottom:16px}.welcome-greeting{font-size:20px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.welcome-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:4px}.welcome-question{font-size:16px;color:var(--text-secondary)}.message-bubble{display:flex;gap:12px;margin-bottom:16px;max-width:80%;width:auto}.message-bubble.user{align-self:flex-end;flex-direction:row-reverse}.message-bubble.ai{align-self:flex-start}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-avatar.ai{background:var(--white);color:var(--primary-color)}.message-avatar.ai .ai-avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.message-avatar.user{background:var(--primary-color);color:var(--white);font-weight:600;font-size:14px}.message-content{padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;max-width:min(95vw,1000px);width:100%;overflow:visible}.message-bubble.ai .message-content{background:linear-gradient(135deg,#fff,#f8f9fa);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid rgba(0,0,0,.05)}.message-bubble.user .message-content{background:var(--primary-color);color:var(--white);border-bottom-right-radius:4px}.message-bubble.notification-message{opacity:1;position:relative}.message-bubble.notification-message .message-content{background:var(--white);color:var(--text-secondary);border:1px solid var(--border-color);font-style:italic;position:relative;border-radius:12px;animation:notificationWave 2s ease-in-out infinite}@keyframes notificationWave{0%{box-shadow:0 0 #564df14d,0 0 #8b5cf633}50%{box-shadow:0 0 0 4px #564df133,0 0 20px 8px #8b5cf626}to{box-shadow:0 0 #564df14d,0 0 #8b5cf633}}.chat-input-container{padding:16px 24px;background:var(--chat-bg);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:center;background:var(--white);border-radius:24px;padding:8px 16px;position:relative}.input-icon{color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px;transition:color .2s}.input-icon:hover{color:var(--text-primary)}.chat-input{flex:1;border:none;outline:none;padding:8px 12px;font-size:14px;background:transparent;caret-color:#564df1}.chat-input-editable-wrap{position:relative;flex:1;min-width:0}.chat-input-editable{width:100%;white-space:pre-wrap;word-break:break-word;caret-color:#564df1}.chat-input-editable:not(:focus):empty:before,.chat-input-editable:not(:focus)[data-empty=true]:before,.chat-input-editable.is-empty:before{content:attr(data-placeholder);color:var(--text-secondary);pointer-events:none}.chat-input::placeholder{color:var(--text-secondary)}.send-btn{width:36px;height:36px;border-radius:50%;border:none;background:#ccc;color:var(--white);display:flex;align-items:center;justify-content:center;cursor:not-allowed;transition:all .2s;margin-left:8px}.send-btn.active{background:var(--primary-color);cursor:pointer}.send-btn.active:hover{background:var(--primary-hover)}.voice-btn{width:44px;height:44px;border-radius:50%;border:none;background:#564df1;color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #564df166;animation:voiceBtnBreath 3s ease-in-out infinite;transform-origin:center;position:relative}.voice-btn svg{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1);animation:voiceIconBreath 2.8s ease-in-out infinite,voiceIconPulse 3.5s ease-in-out infinite;transform-origin:center}@keyframes voiceGradientRotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes voiceBtnBreath{0%,to{box-shadow:0 4px 12px #564df166}50%{box-shadow:0 5px 14px #564df173}}@keyframes voiceBtnBreathCentered{0%,to{box-shadow:0 4px 12px #564df166}50%{box-shadow:0 5px 14px #564df173}}@keyframes voiceIconBreath{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.96}}@keyframes voiceIconPulse{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.03) rotate(2deg)}50%{transform:scale(1.05) rotate(0)}75%{transform:scale(1.03) rotate(-2deg)}}@keyframes voiceBtnFloat{0%,to{transform:translate(-50%) translateY(0) rotate(0)}25%{transform:translate(-50%) translateY(-3px) rotate(1deg)}50%{transform:translate(-50%) translateY(-1px) rotate(0)}75%{transform:translate(-50%) translateY(-2px) rotate(-1deg)}}@keyframes voiceBtnFloatHover{0%,to{transform:translate(-50%) translateY(-2px) scale(1.05) rotate(0)}25%{transform:translate(-50%) translateY(-5px) scale(1.05) rotate(1deg)}50%{transform:translate(-50%) translateY(-3px) scale(1.05) rotate(0)}75%{transform:translate(-50%) translateY(-4px) scale(1.05) rotate(-1deg)}}.voice-btn-centered{position:absolute;left:50%;top:-22px;transform:translate(-50%);z-index:10;animation:voiceBtnBreathCentered 3s ease-in-out infinite,voiceBtnFloat 4s ease-in-out infinite}.voice-btn-centered:hover{background:#4840d6;box-shadow:0 6px 16px #564df180;animation:voiceBtnBreathCentered 2s ease-in-out infinite,voiceBtnFloatHover 3s ease-in-out infinite}.voice-btn-centered:hover svg{transform:scale(1.08);opacity:1}.voice-btn.recording{background:#e74c3c;animation:voiceBtnBreathCentered 2s ease-in-out infinite,voiceBtnFloat 3s ease-in-out infinite;box-shadow:0 4px 12px #e74c3c66}.voice-btn.muted{background:#6b7280;opacity:1;cursor:not-allowed}.voice-btn.muted:hover{background:#6b7280}.mute-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--white);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;margin-right:8px;box-shadow:0 2px 4px #0000001a}.mute-btn:hover{background:#f3f4f6;color:var(--text-primary)}.mute-btn.muted{background:#fee2e2;color:#dc2626}.mute-btn.muted:hover{background:#fecaca}@media (prefers-reduced-motion: reduce){.voice-btn{animation:none}.voice-btn svg{animation:none}.voice-btn-centered:hover{animation:none;transform:translate(-50%)}.voice-btn.recording{animation:none}}@keyframes pulse{0%{box-shadow:0 0 #e74c3c66}70%{box-shadow:0 0 0 10px #e74c3c00}to{box-shadow:0 0 #e74c3c00}}.listening-indicator{position:absolute;top:-8px;right:-8px;width:12px;height:12px;display:flex;align-items:center;justify-content:center}.listening-dot{width:10px;height:10px;background:#10b981;border-radius:50%;animation:listeningPulse 1.5s ease-in-out infinite;box-shadow:0 0 #10b981b3}@keyframes listeningPulse{0%{transform:scale(1);box-shadow:0 0 #10b981b3}50%{transform:scale(1.2);box-shadow:0 0 0 4px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background:var(--white);border-radius:12px;width:fit-content}.typing-indicator span{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.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)}30%{transform:translateY(-4px)}}@media (max-width: 1024px) and (min-width: 768px){.main-header{padding:10px 20px;height:64px;min-height:64px}.maestro-header{padding:10px 12px;height:52px;min-height:52px}.header-search{min-width:300px;max-width:500px}.chat-messages{padding:20px}.chat-input-container{padding:14px 20px}.message-bubble{max-width:85%}}@media (min-width: 1024px){.app-container{max-width:100%}.chat-messages{padding:24px}.message-bubble{max-width:80%}}@media (min-width: 1440px){.chat-messages{padding:32px}.message-bubble{max-width:75%}}@media (max-width: 767px){.main-header{padding:10px 16px;height:60px;min-height:60px}.maestro-header{padding:10px 12px;height:48px;min-height:48px}.header-search{min-width:200px;max-width:300px;padding:6px 10px}.header-logo-text{width:120px}.header-symphony-text{font-size:13px}.header-ai-powered-text{font-size:11px}.chat-messages{padding:16px}.chat-input-container{padding:12px 16px}.message-bubble{max-width:90%}.message-content{padding:10px 14px;font-size:13px}}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;width:100vw;background:#0000000a}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #373640;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
