*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.app-container{display:flex;flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .3s,color .3s}.app-container.dark{background-color:#1a1a2e;color:#eaeaea}.app-container.light{background-color:#f5f5f5;color:#1a1a1a}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(128,128,128,.2)}.app-header h1{margin:0;font-size:1.5rem}.app-header .subtitle{margin:0;font-size:.875rem;opacity:.7}.header-controls{display:flex;gap:1rem;align-items:center}.view-switcher{display:flex;gap:.25rem;background:#80808033;border-radius:.5rem;padding:.25rem}.view-switcher button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:.375rem;font-size:.875rem;transition:background-color .2s}.view-switcher button.active{background:#8080804d}.view-switcher button:hover{background:#80808033}.theme-switcher{display:flex;gap:.25rem;background:#80808033;border-radius:.5rem;padding:.25rem}.theme-switcher button{padding:.5rem 1rem;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:.375rem;font-size:.875rem;transition:background-color .2s}.theme-switcher button.active{background:#8080804d}.theme-switcher button:hover{background:#80808033}.app-content{flex:1;display:flex;flex-direction:column;padding:1rem;gap:1rem;overflow:hidden}.settings-card{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem;border-radius:.75rem;background:#8080801a}.setting-group{display:flex;align-items:center;gap:.5rem}.setting-group label{font-size:.875rem;display:flex;align-items:center;gap:.5rem;cursor:pointer}.setting-group input[type=text]{padding:.5rem .75rem;border-radius:.5rem;border:1px solid rgba(128,128,128,.3);background:transparent;color:inherit;width:10rem;font-size:.875rem}.setting-group input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.setting-buttons{display:flex;gap:.5rem}.setting-buttons button{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:none;border-radius:.5rem;background:#80808033;color:inherit;cursor:pointer;font-size:.875rem;transition:background-color .2s}.setting-buttons button:hover{background:#8080804d}.messages-container{flex:1;overflow-y:auto;padding:1rem;border-radius:.75rem;background:#8080801a;display:flex;flex-direction:column;gap:.75rem}.message{display:flex}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message.system{justify-content:center}.message-bubble{max-width:80%;padding:.75rem 1rem;border-radius:1rem;font-size:.9375rem;line-height:1.4}.dark .message.user .message-bubble{background:#6366f1;color:#fff}.dark .message.assistant .message-bubble{background:#2d2d44;color:#eaeaea}.dark .message.system .message-bubble{background:transparent;color:#888;font-size:.875rem}.light .message.user .message-bubble{background:#6366f1;color:#fff}.light .message.assistant .message-bubble{background:#fff;color:#1a1a1a;box-shadow:0 1px 2px #0000001a}.light .message.system .message-bubble{background:transparent;color:#666;font-size:.875rem}.date-separator{display:flex;justify-content:center;margin:1rem 0}.date-separator span{padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:500}.dark .date-separator span{background:#ffffff1a;color:#fff9}.light .date-separator span{background:#00000014;color:#00000080}.message-time{display:block;font-size:.65rem;margin-top:.25rem;text-align:right;opacity:.6}.message.user .message-time{color:#ffffffb3}.message.system .message-time{text-align:center}.message-bubble.loading{display:flex;gap:.25rem;padding:1rem 1.25rem}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.5;animation:bounce 1.4s infinite ease-in-out both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.input-area{display:flex;gap:.5rem;padding:1rem;border-radius:.75rem;background:#8080801a}.input-area input[type=text]{flex:1;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(128,128,128,.3);background:transparent;color:inherit;font-size:1rem}.input-area input[type=text]:focus{outline:none;border-color:#6366f1}.input-area input[type=text]:disabled{opacity:.5}.mic-button,.send-button{display:flex;align-items:center;justify-content:center;padding:.75rem;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s,transform .1s}.mic-button{background:#80808033;color:inherit}.mic-button:hover{background:#8080804d}.mic-button.recording{background:#ef4444;color:#fff;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.mic-button:disabled{opacity:.5;cursor:not-allowed}.send-button{background:#6366f1;color:#fff}.send-button:hover:not(:disabled){background:#5558e3}.send-button:disabled{opacity:.5;cursor:not-allowed}.hint{text-align:center;font-size:.75rem;opacity:.5;margin:0}.dashboard{flex:1;display:flex;flex-direction:column;overflow:hidden}.dashboard-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.spinner{width:40px;height:40px;border:3px solid rgba(128,128,128,.3);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-tabs{display:flex;gap:.5rem;padding:.5rem;background:#8080801a;border-radius:.75rem;margin-bottom:1rem;flex-wrap:wrap}.dashboard-tabs button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:.5rem;font-size:.875rem;transition:background-color .2s}.dashboard-tabs button.active{background:#6366f1;color:#fff}.dashboard-tabs button:hover:not(.active){background:#80808033}.dashboard-tabs .refresh-btn{margin-left:auto;padding:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{padding:1.5rem;border-radius:.75rem;background:#8080801a;text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:#6366f1}.stat-label{font-size:.875rem;opacity:.7;margin-top:.25rem}.stats-section{padding:1rem;border-radius:.75rem;background:#8080801a;margin-bottom:1.5rem}.stats-section h3{margin:0 0 1rem;font-size:1rem;opacity:.7}.stats-row{display:flex;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;align-items:baseline;gap:.5rem}.stat-number{font-size:1.5rem;font-weight:700;color:#6366f1}.stat-text{font-size:.875rem;opacity:.7}.recent-section{padding:1rem;border-radius:.75rem;background:#8080801a}.recent-section h3{margin:0 0 1rem;font-size:1rem;opacity:.7}.recent-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.recent-item:hover{background:#80808026}.recent-item .phone{flex:1;font-weight:500}.recent-item .count{font-size:.875rem;opacity:.7}.recent-item .date{font-size:.75rem;opacity:.5}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.type-badge.whatsapp{background:#25d366;color:#fff}.type-badge.voice{background:#6366f1;color:#fff}.direction-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.direction-badge.inbound{background:#10b981;color:#fff}.direction-badge.outbound{background:#f59e0b;color:#fff}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;background:#8080804d}.status-badge.completed{background:#10b981;color:#fff}.status-badge.in-progress{background:#6366f1;color:#fff}.status-badge.failed{background:#ef4444;color:#fff}.dashboard-list{flex:1;overflow-y:auto;border-radius:.75rem;background:#8080801a}.dashboard-list table{width:100%;border-collapse:collapse}.dashboard-list th,.dashboard-list td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(128,128,128,.2)}.dashboard-list th{font-weight:600;font-size:.75rem;text-transform:uppercase;opacity:.7;position:sticky;top:0;background:inherit}.dark .dashboard-list th{background:#1a1a2e}.light .dashboard-list th{background:#f5f5f5}.dashboard-list tbody tr{cursor:pointer;transition:background-color .2s}.dashboard-list tbody tr:hover{background:#8080801a}.dashboard-list .no-data{text-align:center;padding:2rem;opacity:.5}.conversation-detail{display:flex;flex-direction:column;height:100%}.back-btn{padding:.5rem 1rem;border:none;background:transparent;color:inherit;cursor:pointer;font-size:.875rem;text-align:left;opacity:.7;transition:opacity .2s}.back-btn:hover{opacity:1}.messages-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.dashboard-overview{flex:1;overflow-y:auto}.stat-card.error{border:2px solid #ef4444}.stat-card.error .stat-value,.stat-item.error .stat-number,.dashboard-tabs button.has-errors{color:#ef4444}.dashboard-tabs button.has-errors.active{background:#ef4444;color:#fff}.error-stats{display:flex;gap:2rem;padding:1rem;margin-bottom:1rem;background:#8080800d;border-radius:.5rem}.error-stat{display:flex;align-items:center;gap:.5rem}.error-stat-label{font-size:.875rem;opacity:.7}.error-stat-value{font-size:1.25rem;font-weight:700;color:#6366f1}.error-stat-value.error{color:#ef4444}.error-stat-value.warning{color:#f59e0b}.error-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.error-type-badge.error{background:#ef4444;color:#fff}.error-type-badge.not_found{background:#f59e0b;color:#fff}.error-type-badge.validation{background:#8b5cf6;color:#fff}.error-type-badge.auth{background:#ec4899;color:#fff}.error-type-badge.external{background:#06b6d4;color:#fff}.status-badge.status-400{background:#f59e0b;color:#fff}.status-badge.status-401,.status-badge.status-403{background:#ec4899;color:#fff}.status-badge.status-404{background:#f59e0b;color:#fff}.status-badge.status-500{background:#ef4444;color:#fff}.error-message-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-detail{display:flex;flex-direction:column;height:100%}.error-info{padding:1rem;flex:1;overflow-y:auto}.error-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.error-date{font-size:.875rem;opacity:.7}.error-message{font-size:1.125rem;font-weight:500;margin-bottom:1rem;padding:1rem;background:#8080801a;border-radius:.5rem;word-break:break-word}.error-meta{margin-bottom:1rem;font-size:.875rem}.error-meta>div{padding:.5rem 0;border-bottom:1px solid rgba(128,128,128,.2)}.error-meta>div:last-child{border-bottom:none}.error-stack,.error-metadata{margin-top:1rem}.error-stack pre,.error-metadata pre{margin-top:.5rem;padding:1rem;background:#0003;border-radius:.5rem;overflow-x:auto;font-size:.75rem;font-family:Monaco,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.light .error-stack pre,.light .error-metadata pre{background:#0000000d}@media(max-width:768px){.app-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-controls{width:100%;flex-wrap:wrap}.view-switcher,.theme-switcher{flex:1;justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-tabs{overflow-x:auto}.dashboard-list{font-size:.875rem}.dashboard-list th,.dashboard-list td{padding:.5rem}}.login-panel{max-width:480px;margin:2rem auto;padding:2rem;border-radius:1rem;background:#8080801a}.login-form h2{margin:0 0 .5rem;font-size:1.5rem}.login-description{margin:0 0 1.5rem;opacity:.7;font-size:.875rem}.login-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;border-radius:.5rem;background:#ef444426;color:#ef4444;font-size:.875rem}.login-input-group{margin-bottom:1rem}.login-input-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.login-input-group input{width:100%;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(128,128,128,.3);background:transparent;color:inherit;font-size:1rem;box-sizing:border-box}.login-input-group input:focus{outline:none;border-color:#6366f1}.login-method-group{margin-bottom:1.5rem}.login-method-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.method-buttons{display:flex;gap:.5rem}.method-buttons button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:2px solid rgba(128,128,128,.3);border-radius:.5rem;background:transparent;color:inherit;cursor:pointer;font-size:.875rem;transition:all .2s}.method-buttons button:hover{border-color:#80808080}.method-buttons button.active{border-color:#6366f1;background:#6366f11a;color:#6366f1}.login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:.5rem;background:#6366f1;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.login-button:hover{background:#5558e3}.login-waiting{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.login-waiting .spinner{margin-bottom:1rem}.login-waiting h3{margin:0 0 .5rem}.login-waiting p{margin:0 0 1.5rem;opacity:.7}.pulse-animation{color:#6366f1;animation:pulse 2s infinite;margin-bottom:1rem}.cancel-button{padding:.5rem 1.5rem;border:1px solid rgba(128,128,128,.3);border-radius:.5rem;background:transparent;color:inherit;cursor:pointer;font-size:.875rem;transition:background-color .2s}.cancel-button:hover{background:#80808026}.login-denied{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;color:#ef4444}.login-denied h3{margin:1rem 0 .5rem}.login-denied p{margin:0 0 1.5rem;opacity:.8;color:inherit}.retry-button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;background:#ef4444;color:#fff;font-size:.875rem;cursor:pointer;transition:background-color .2s}.retry-button:hover{background:#dc2626}.login-success{display:flex;flex-direction:column;align-items:center;text-align:center}.success-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#10b981;color:#fff;margin-bottom:1rem}.login-success h3{margin:0 0 1.5rem;color:#10b981}.user-info{width:100%;padding:1rem;border-radius:.5rem;background:#8080801a;margin-bottom:1rem;text-align:left}.user-info h4{margin:0 0 .75rem;font-size:.875rem;opacity:.7}.info-row{display:flex;padding:.5rem 0;border-bottom:1px solid rgba(128,128,128,.2);font-size:.875rem}.info-row:last-child{border-bottom:none}.info-label{width:100px;font-weight:500;opacity:.7}.info-value{flex:1;word-break:break-all}.token-section{width:100%;text-align:left;margin-bottom:1.5rem}.token-section h4{margin:0 0 .75rem;font-size:.875rem;opacity:.7}.token-container{position:relative}.token-display{margin:0;padding:1rem;border-radius:.5rem;background:#0003;font-size:.75rem;font-family:Monaco,Menlo,monospace;word-break:break-all;white-space:pre-wrap;max-height:150px;overflow-y:auto}.light .token-display{background:#0000000d}.copy-button{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border:none;border-radius:.375rem;background:#6366f1;color:#fff;font-size:.75rem;cursor:pointer;transition:background-color .2s}.copy-button:hover{background:#5558e3}.logout-button{padding:.75rem 2rem;border:1px solid rgba(128,128,128,.3);border-radius:.5rem;background:transparent;color:inherit;font-size:.875rem;cursor:pointer;transition:background-color .2s}.logout-button:hover{background:#80808026}.timings-section{width:100%;padding:1rem;border-radius:.5rem;background:#6366f11a;margin-bottom:1rem;text-align:left}.timings-section h4{margin:0 0 .75rem;font-size:.875rem;color:#6366f1}.timings-section .info-row{margin-bottom:.5rem}.timings-section .transcript{font-style:italic;color:#a5a8fc}.timings-section .decision{font-weight:700;padding:.125rem .5rem;border-radius:.25rem}.timings-section .decision.yes{background:#10b98133;color:#10b981}.timings-section .decision.no{background:#ef444433;color:#ef4444}.timings-section .decision.unclear{background:#eab30833;color:#eab308}.timings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.75rem}.timing-item{display:flex;flex-direction:column;padding:.5rem;border-radius:.375rem;background:#8080801a}.timing-item.total{grid-column:span 2;background:#6366f126}.timing-label{font-size:.75rem;opacity:.7}.timing-value{font-size:1rem;font-weight:600;font-family:Monaco,Menlo,monospace}.timing-item.total .timing-value{color:#6366f1}.recent-timings-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #333}.recent-timings-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.recent-timings-section h3{margin:0;font-size:1rem;color:#e0e0e0}.refresh-btn.small{padding:.4rem;min-width:auto;background:transparent;border:1px solid #444}.refresh-btn.small:hover{background:#333}.refresh-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timings-table{width:100%;border-collapse:collapse;font-size:.85rem}.timings-table th,.timings-table td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid #333}.timings-table th{color:#888;font-weight:500;font-size:.75rem;text-transform:uppercase}.timings-table tbody tr{cursor:pointer;transition:background .15s}.timings-table tbody tr:hover{background:#2a2a2a}.transcript-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#888;font-style:italic}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge.confirmed{background:#22c55e33;color:#22c55e}.status-badge.denied{background:#ef444433;color:#ef4444}.status-badge.no_response,.status-badge.error{background:#eab30833;color:#eab308}.timing-detail{background:#1e1e1e;border-radius:8px;padding:1rem}.timing-detail .back-btn{background:transparent;border:none;color:#6366f1;cursor:pointer;padding:0;margin-bottom:1rem;font-size:.85rem}.timing-detail .back-btn:hover{text-decoration:underline}.timing-detail-content .info-row{margin-bottom:.5rem}.info-value.mono{font-family:monospace;font-size:.8rem;color:#888}.info-value.status{padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.info-value.status.confirmed{background:#22c55e33;color:#22c55e}.info-value.status.denied{background:#ef444433;color:#ef4444}.loading-small{display:flex;justify-content:center;padding:2rem}.spinner.small{width:24px;height:24px;border-width:2px}.no-data{text-align:center;color:#666;padding:2rem;font-size:.9rem}.call-detail{padding:1rem}.call-detail .back-btn{background:transparent;border:none;color:#6366f1;cursor:pointer;padding:0;margin-bottom:1rem;font-size:.9rem}.call-detail .back-btn:hover{text-decoration:underline}.call-info{background:#1e1e1e;border-radius:8px;padding:1rem;margin-bottom:1rem}.call-info h3{margin:0 0 1rem;font-size:1rem;color:#e0e0e0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.call-messages{background:#1e1e1e;border-radius:8px;padding:1rem;margin-bottom:1rem}.call-messages h4{margin:0 0 .75rem;font-size:.9rem;color:#888}.messages-list.compact .message-bubble{padding:.5rem .75rem;font-size:.85rem}.call-logs{background:#1e1e1e;border-radius:8px;padding:1rem}.call-logs h4{margin:0 0 .75rem;font-size:.9rem;color:#888}.logs-table{width:100%;border-collapse:collapse;font-size:.8rem}.logs-table th,.logs-table td{padding:.5rem;text-align:left;border-bottom:1px solid #333}.logs-table th{color:#666;font-weight:500;font-size:.7rem;text-transform:uppercase}.event-badge{display:inline-block;padding:.15rem .4rem;border-radius:3px;font-size:.7rem;font-weight:500;font-family:monospace}.event-badge.recording_received{background:#6366f133;color:#6366f1}.event-badge.audio_fetched{background:#3b82f633;color:#3b82f6}.event-badge.transcribed{background:#10b98133;color:#10b981}.event-badge.llm_response{background:#a855f733;color:#a855f7}.event-badge.tts_generated{background:#ec489933;color:#ec4899}.event-badge.turn_complete{background:#22c55e33;color:#22c55e}.event-badge.goodbye_detected{background:#eab30833;color:#eab308}.event-badge.no_input{background:#f9731633;color:#f97316}.event-badge.error{background:#ef444433;color:#ef4444}.log-data{max-width:300px}.log-details{display:flex;flex-direction:column;gap:.25rem}.log-details .transcript,.log-details .response{font-style:italic;color:#888;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.log-details .error{color:#ef4444;font-size:.75rem}.log-details .reason,.log-details .size,.log-details .provider{color:#666;font-size:.7rem}.direction-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.direction-badge.inbound{background:#3b82f633;color:#3b82f6}.direction-badge.outbound,.direction-badge.outbound-api{background:#10b98133;color:#10b981}.voice-mode-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid #3b82f6;background:transparent;color:#3b82f6;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.voice-mode-btn:hover{background:#3b82f61a}.voice-mode-btn.active{background:#3b82f6;color:#fff}.voice-mode-btn.connecting{opacity:.7;cursor:wait}.voice-status{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:0 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.voice-status.connected{background:#10b9811a;color:#10b981}.voice-status.disconnected{background:#ef44441a;color:#ef4444}.status-indicator{width:12px;height:12px;border-radius:50%;background:currentColor;opacity:.5}.status-indicator.recording{opacity:1;animation:pulse-recording 1s infinite}@keyframes pulse-recording{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.voice-input-area{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem}.voice-hint{color:inherit;opacity:.7;font-size:.875rem;text-align:center}.message-bubble.streaming{background:linear-gradient(90deg,#3b82f64d,#3b82f61a)}.streaming-indicator{opacity:.5;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:.5}50%{opacity:1}}
