.audio-player{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;gap:.75rem;min-width:300px;padding:1rem}.error-message{align-items:center;background:#dc35451a;border:1px solid #dc35454d;border-radius:6px;color:#dc3545;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .75rem}.loading-indicator{align-items:center;color:#fffc;display:flex;font-size:.9rem;gap:.75rem;justify-content:center;padding:1rem}.spinner{border:2px solid #0000;border-top-color:#fffc}.player-controls{align-items:center;display:flex;gap:1rem}.play-pause-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.play-pause-button:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.play-pause-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.play-pause-button.playing{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 12px #28a7454d}.play-pause-button.playing:hover:not(:disabled){box-shadow:0 6px 16px #28a74566}.progress-container{align-items:center;display:flex;flex:1 1;gap:.75rem}.time-display{color:#ffffffe6;font-family:Courier New,monospace;font-size:.8rem;font-weight:500;min-width:35px;text-align:center}.progress-bar{background:#ffffff4d;border:1px solid #ffffff1a;border-radius:3px;cursor:pointer;flex:1 1;height:6px;position:relative;transition:height .2s ease}.progress-bar:hover{height:8px}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;box-shadow:0 0 4px #667eea4d;height:100%;position:relative;transition:width .1s ease}.progress-handle{background:#fff;border:2px solid #667eea;border-radius:50%;box-shadow:0 2px 6px #0003;height:12px;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s ease;width:12px}.progress-bar:hover .progress-handle{opacity:1}@media (max-width:768px){.audio-player{min-width:250px;padding:.75rem}.player-controls{gap:.75rem}.play-pause-button{font-size:.9rem;height:36px;width:36px}.progress-container{gap:.5rem}.time-display{font-size:.75rem;min-width:30px}.volume-slider{width:50px}}@media (max-width:480px){.audio-player{min-width:200px;padding:.6rem}.player-controls{gap:.5rem}.play-pause-button{font-size:.8rem;height:32px;width:32px}.progress-container{gap:.4rem}.time-display{font-size:.7rem;min-width:28px}}.chat-message{animation:slideUp .3s ease-out;margin-bottom:1rem}.message-wrapper{align-items:flex-start;display:flex;gap:.75rem}.user-message .message-wrapper{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:15px;display:flex;flex-shrink:0;font-size:1.1rem;height:45px;justify-content:center;margin-top:.25rem;transition:all .3s ease;width:45px}.message-avatar:hover{transform:scale(1.05)}.user-message .message-avatar{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d;color:#fff}.assistant-message .message-avatar{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 15px #3b82f64d;color:#fff}.error-message .message-avatar{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 15px #ef44444d;color:#fff}.message-content{max-width:70%;min-width:100px}.user-message .message-content{align-self:flex-end}.message-bubble{word-wrap:break-word;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:1rem 1.25rem;position:relative;transition:all .3s ease}.message-bubble:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-1px)}.user-message .message-bubble{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff}.assistant-message .message-bubble{background:#fffffff2;border:1px solid #00000014;border-bottom-left-radius:8px;box-shadow:0 4px 20px #00000014}.error-message .message-bubble{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-bottom-left-radius:8px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff}.message-text{font-size:.95rem;line-height:1.4}.message-timestamp{margin-top:.25rem;text-align:right}.user-message .message-timestamp{text-align:left}@media (max-width:768px){.message-content{max-width:85%}.message-avatar{font-size:.9rem;height:35px;width:35px}.message-bubble{font-size:.9rem;padding:.6rem .8rem}}@media (max-width:480px){.message-content{max-width:90%}.message-wrapper{gap:.5rem}.message-avatar{font-size:.8rem;height:30px;width:30px}.message-bubble{font-size:.85rem;padding:.5rem .7rem}}.audio-response-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-top:1rem;padding:.75rem}.transcription-info{background:#667eea1a;border-left:3px solid #667eea;border-radius:8px;margin-top:.5rem;padding:.5rem}.transcription-info small{align-items:center;color:#667eea;display:flex;font-weight:500}@media (max-width:768px){.audio-response-section{margin-top:.75rem;padding:.6rem}.transcription-info{margin-top:.4rem;padding:.4rem}}@media (max-width:480px){.audio-response-section{margin-top:.5rem;padding:.5rem}.transcription-info{margin-top:.3rem;padding:.3rem}.transcription-info small{font-size:.75rem}}.whatsapp-input-container{background:linear-gradient(135deg,#667eea,#764ba2);border-top:1px solid #ffffff1a;flex-shrink:0;padding:.75rem 1rem;position:relative}.input-wrapper{align-items:flex-end;background:#fff;border:1px solid #e4e6ea;border-radius:24px;box-shadow:0 1px 3px #0000001a;display:flex;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.message-input{background:#0000;border:none;color:#111b21;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;line-height:1.4;max-height:120px;min-height:24px;outline:none;overflow-y:auto;padding:.5rem 0;resize:none}.message-input::placeholder{color:#8696a0;opacity:1}.message-input:disabled{color:#8696a0}.action-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;transition:all .2s ease;width:40px}.action-button:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:scale(1.05)}.action-button:active:not(:disabled){transform:scale(.95)}.action-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.action-button.mic,.action-button.send{background:linear-gradient(135deg,#667eea,#764ba2)}.action-button.recording{animation:recordingPulse 1.5s ease-in-out infinite;background:#f44}.action-button i{font-size:1rem}.loading-spinner{align-items:center;animation:pulse 1.5s ease-in-out infinite;display:flex;height:100%;justify-content:center;width:100%}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.recording-send{color:#fff!important}.recording-indicator{align-items:center;animation:slideUp .3s ease;color:#667781;display:flex;font-size:.9rem;gap:1rem;justify-content:space-between;padding:.5rem 1rem}.recording-controls,.recording-info{align-items:center;display:flex;gap:.5rem}.cancel-recording-button,.pause-resume-button,.send-recording-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.9rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.cancel-recording-button{background:#f44;color:#fff}.cancel-recording-button:hover{background:#c33;transform:scale(1.05)}.send-recording-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.send-recording-button:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:scale(1.05)}.pause-resume-button{background:#28a745;color:#fff}.pause-resume-button:hover{background:#218838;transform:scale(1.05)}.recording-animation{height:12px;position:relative;width:12px}.pulse{animation:pulse 1.5s ease-in-out infinite;background:#f44;border-radius:50%;height:12px;position:absolute;width:12px}.recording-animation.paused .pulse{animation-play-state:paused;background:orange}@keyframes recordingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.action-button i{transition:all .2s ease}.action-button.mic i,.action-button.send i{transform:scale(1)}.action-button.recording i{transform:scale(1.1)}@media (max-width:768px){.whatsapp-input-container{padding:.5rem .75rem}.input-wrapper{gap:.4rem;padding:.4rem .6rem}.message-input{font-size:.95rem;padding:.4rem 0}.action-button{height:36px;width:36px}.action-button i{font-size:.9rem}.spinner{height:14px;width:14px}}@media (max-width:480px){.whatsapp-input-container{padding:.4rem .5rem}.input-wrapper{padding:.3rem .5rem}.message-input{font-size:.9rem}.action-button{height:34px;width:34px}.action-button i{font-size:.85rem}.spinner{height:12px;width:12px}.recording-indicator{font-size:.85rem;padding:.4rem .8rem}.cancel-recording-button,.pause-resume-button,.send-recording-button{font-size:.8rem;height:32px;width:32px}}@media (prefers-contrast:high){.input-wrapper{border:2px solid #000}.action-button{border:2px solid #fff}}@media (prefers-reduced-motion:reduce){.action-button,.pulse,.recording-indicator{animation:none}.action-button:hover:not(:disabled){transform:none}}@media (prefers-color-scheme:dark){.whatsapp-input-container{background:#202c33;border-top-color:#3b4a54}.input-wrapper{background:#2a3942;border-color:#3b4a54}.message-input{color:#e9edef}.message-input::placeholder,.recording-indicator{color:#8696a0}.cancel-recording-button{background:#dc3545}.cancel-recording-button:hover{background:#c82333}.send-recording-button{background:linear-gradient(135deg,#667eea,#764ba2)}.send-recording-button:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}.pause-resume-button{background:#28a745}.pause-resume-button:hover{background:#218838}}.typing-bubble{align-items:center;background:#fff;border:1px solid #e9ecef;border-bottom-left-radius:6px;box-shadow:0 1px 2px #0000001a;display:flex;justify-content:center;min-height:50px;padding:1rem}.typing-indicator{align-items:center;display:flex;gap:4px}.typing-dot{animation:typingAnimation 1.4s ease-in-out infinite;background:#6c757d;border-radius:50%;height:8px;width:8px}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingAnimation{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.typing-bubble{animation:fadeInTyping .3s ease-out}@keyframes fadeInTyping{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.call-header{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 12px #00000026;color:#fff;justify-content:space-between;margin-bottom:15px;padding:12px 20px}.call-header,.call-info{align-items:center;display:flex}.call-info{flex:1 1}.call-status{align-items:center;display:flex;gap:10px}.call-icon{animation:pulse 2s infinite;color:#4caf50;font-size:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.status-text{font-size:14px;font-weight:500;letter-spacing:.5px}.processing-indicator{align-items:center;background:#ffffff1a;border-radius:20px;display:flex;font-size:12px;gap:8px;margin-left:15px;padding:4px 12px}.processing-indicator .fa-spinner{color:#ffe082;font-size:12px}.processing-text{color:#ffe082;font-style:italic}.call-controls{align-items:center;display:flex;gap:10px}.btn-end-call,.btn-mute{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.btn-mute{background:#ffffff1a;color:#fff}.btn-mute:hover{background:#fff3;transform:scale(1.05)}.btn-mute.muted{background:#f44336;color:#fff}.btn-mute.muted:hover{background:#d32f2f}.btn-end-call{background:#f44336;color:#fff}.btn-end-call:hover{background:#d32f2f;transform:scale(1.05)}@media (max-width:768px){.call-header{margin-bottom:10px;padding:10px 15px}.status-text{font-size:13px}.processing-indicator{margin-left:10px;padding:3px 8px}.processing-text{display:none}.btn-end-call,.btn-mute{font-size:14px;height:36px;width:36px}}@media (max-width:480px){.call-header{padding:8px 12px}.call-controls,.call-status{gap:8px}.btn-end-call,.btn-mute{font-size:13px;height:32px;width:32px}}.chat-interface{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #0000000d;border-radius:15px;box-shadow:0 15px 40px #0000001a;margin:0 auto;max-width:1000px;overflow:hidden;width:100%}.chat-container,.chat-interface{display:flex;flex-direction:column;height:100%}.chat-container,.chat-header{position:relative}.chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0;overflow:hidden;padding:1rem 1.5rem}.chat-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='20' cy='20' r='2' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='80' cy='40' r='1.5' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='40' cy='80' r='1' fill='rgba(255,255,255,0.1)'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.chat-messages{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem;position:relative;scroll-behavior:smooth}.header-content{justify-content:space-between;position:relative;width:100%;z-index:2}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:.75rem}.assistant-avatar,.header-right{align-items:center;display:flex}.assistant-avatar{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:12px;box-shadow:0 4px 12px #ff6b6b4d;flex-shrink:0;height:40px;justify-content:center;width:40px}.assistant-avatar i{color:#fff;font-size:1.1rem}.header-text{display:flex;flex-direction:column}.header-title{color:#fff;font-size:1.2rem;font-weight:600;line-height:1.2;margin:0}.header-subtitle{color:#fffc;font-size:.85rem;font-weight:400;margin-top:.1rem}.btn-call,.btn-clear-chat{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;margin-left:.5rem;padding:.4rem;transition:all .3s ease;width:32px}.btn-call:hover,.btn-clear-chat:hover{background:#fff3;box-shadow:0 4px 15px #0000001a;transform:translateY(-1px)}.btn-call{background:#22c55e33;border-color:#22c55e4d}.btn-call:hover{background:#22c55e4d;border-color:#22c55e66}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#00000040}.error-notification{animation:slideDown .3s ease-out;margin:.75rem 1.5rem}.error-content{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:15px;box-shadow:0 4px 20px #ff6b6b4d;color:#fff;display:flex;gap:.75rem;padding:1rem 1.25rem}.error-icon{flex-shrink:0;font-size:1.1rem}.error-text{flex:1 1;font-weight:500}.error-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .2s ease;width:30px}.error-close:hover{background:#ffffff4d;transform:scale(1.1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.chat-interface{border-radius:8px;height:100%;margin:0;max-width:100%}.chat-header{padding:.75rem 1rem}.chat-messages{padding:1rem}.error-notification{margin:.5rem 1rem}.assistant-avatar{height:35px;width:35px}.header-title{font-size:1.1rem}.header-subtitle{font-size:.8rem}.btn-call,.btn-clear-chat{height:32px;width:32px}.header-left{gap:.6rem}}@media (max-width:480px){.chat-interface{border-radius:6px}.chat-header{padding:.6rem .8rem}.chat-messages{padding:.8rem}.assistant-avatar{height:32px;width:32px}.header-title{font-size:1rem}.header-subtitle{font-size:.75rem}.btn-call,.btn-clear-chat{height:28px;width:28px}.error-notification{margin:.4rem .8rem}.header-left{gap:.5rem}}.App{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.App:before{background:radial-gradient(circle at 20% 80%,#7877c64d 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 40% 40%,#7877c633 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.main-content{align-items:stretch;display:flex;flex:1 1;justify-content:center;min-height:0;padding:.5rem;position:relative;z-index:1}@media (max-width:768px){.main-content{padding:.25rem}}@media (max-width:480px){.main-content{padding:.15rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.text-primary-custom{color:#06c!important}.bg-primary-custom{background-color:#06c!important}.border-primary-custom{border-color:#06c!important}.btn-primary-custom{background-color:#06c;border-color:#06c;color:#fff}.btn-primary-custom:hover{background-color:#0052a3;border-color:#0052a3}.btn-primary-custom:focus{box-shadow:0 0 0 .2rem #0066cc40}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}