.message-feedback{opacity:.5;align-items:center;gap:10px;margin-top:8px;margin-bottom:8px;padding:0;transition:opacity .2s;display:flex}.message-feedback:hover{opacity:1}.feedback-label{color:#999;font-size:12px;font-weight:400}.feedback-buttons{gap:6px;display:flex}.feedback-button{cursor:pointer;color:#bbb;background:0 0;border:1px solid #e0e0e0;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .2s;display:flex}.feedback-button:hover{color:#666;background:#f8f8f8;border-color:#ccc}.feedback-button:active{transform:scale(.95)}.feedback-button.active{color:#4a9dd9;background:#e8f4fd;border-color:#a8d5f7}.feedback-button.active:hover{background:#d4ebfa;border-color:#90c8f3}.feedback-button svg{width:14px;height:14px}.feedback-button.active svg{fill:#4a9dd9;stroke:#4a9dd9}@media (width<=768px){.message-feedback{flex-direction:row;align-items:center;gap:8px}.feedback-label{font-size:11px}.feedback-button{width:26px;height:26px}.feedback-button svg{width:13px;height:13px}}.agent-status-indicator{flex-direction:column;gap:6px;padding:4px 8px;display:flex}.agent-status-step{align-items:center;gap:8px;display:flex}.step-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.agent-status-step.active .step-dot{background-color:#007bff;animation:1.4s ease-in-out infinite status-pulse}.agent-status-step.past .step-dot{background-color:silver}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.step-label{font-size:15px;line-height:1.4}.agent-status-step.active .step-label{color:#333}.agent-status-step.past .step-label{color:#aaa}.message-list{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.welcome-message{text-align:center;color:#666;margin:40px 0}.welcome-message h3{color:#333;margin:0 0 8px}.welcome-message p{margin:0;font-size:14px}.message{max-width:80%;display:flex}.message.user{justify-content:flex-end;align-self:flex-end}.message.assistant{justify-content:flex-start;align-self:flex-start}.message-content{word-wrap:break-word;background:#f5f5f5;border-radius:18px;padding:12px 16px;position:relative}.message.user .message-content{color:#fff;background:#007bff;border-bottom-right-radius:4px}.message.assistant .message-content{color:#333;background:#e9ecef;border-bottom-left-radius:4px}.message.assistant.product-card-message{max-width:320px}.message-text{line-height:1.4}.message-text p{margin:0}.message-text p+p,.message-text p+ul,.message-text p+ol,.message-text ul+p,.message-text ol+p{margin-top:.75em}.message-text ul,.message-text ol{margin:0;padding-left:1.4em}.message-text li{margin:.15em 0}.message-text li>p{margin:0}.message.tool-call .message-content{color:#1565c0;background:#e3f2fd;border:1px solid #bbdefb}.tool-call-container{flex-direction:column;gap:8px;display:flex}.tool-call-indicator{align-items:center;gap:8px;display:flex}.tool-call-indicator.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.tool-call-indicator.clickable:hover{opacity:.8}.tool-call-indicator.clickable:focus{outline-offset:2px;border-radius:4px;outline:2px solid #1976d2}.tool-call-indicator svg{color:#1976d2;flex-shrink:0}.tool-name{flex:1;font-style:italic;font-weight:500}.expand-icon{color:#1976d2;flex-shrink:0;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.tool-parameters{border-top:1px solid #bbdefb;flex-direction:column;gap:6px;padding-top:8px;display:flex}.tool-parameters-title{color:#1565c0;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.tool-parameters-content{color:#0d47a1;background:#f5f9fc;border:1px solid #d1e7f5;border-radius:6px;max-width:100%;margin:0;padding:10px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.tool-parameters-content::-webkit-scrollbar{height:6px}.tool-parameters-content::-webkit-scrollbar-thumb{background:#bbdefb;border-radius:3px}.tool-parameters-content::-webkit-scrollbar-track{background:#f5f9fc}.message.product-carousel-message{max-width:100%}.message.product-carousel-message .message-content{background:0 0;max-width:100%;padding:0}.product-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding:8px 4px 12px;display:flex;overflow-x:auto}.product-carousel::-webkit-scrollbar{height:8px}.product-carousel::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.product-carousel::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.carousel-card{scroll-snap-align:start;background:#fff;border:1px solid #e0e0e0;border-radius:12px;flex:none;width:200px;overflow:hidden}.carousel-card .product-image{height:150px}.carousel-card .product-info{padding:10px}.carousel-card .product-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.carousel-card .product-price{margin-top:4px;font-size:12px}.carousel-card .product-color{margin-top:4px;font-size:11px}.more-details-link{color:#007bff;cursor:pointer;text-align:left;background:0 0;border:none;border-top:1px solid #f0f0f0;width:100%;padding:8px 12px;font-size:13px;font-weight:500;transition:background .15s;display:block}.more-details-link:hover{background:#f8f9fa;text-decoration:underline}.card-actions{border-top:1px solid #f0f0f0;display:flex}.card-actions .more-details-link{border-top:none;border-right:1px solid #f0f0f0;flex:1}.add-to-cart-link{color:#28a745;cursor:pointer;text-align:center;background:0 0;border:none;flex:1;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s}.add-to-cart-link:hover{color:#fff;background:#28a745}.message.product-card-message .message-content{background:#fff;border:1px solid #e0e0e0;border-radius:12px;max-width:300px;padding:0;overflow:hidden}.product-card{flex-direction:column;display:flex}.product-card.clickable-card{cursor:pointer;transition:all .2s}.product-card.clickable-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.product-card.clickable-card:focus{outline-offset:2px;outline:2px solid #007bff}.product-card.clickable-card:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}.product-image{object-fit:cover;border-bottom:1px solid #e0e0e0;width:100%;height:200px}.product-info{padding:12px}.product-text{color:#333;margin:0;font-size:14px;line-height:1.4}.product-price{color:#666;flex-wrap:wrap;align-items:baseline;gap:6px;margin:6px 0 0;font-size:13px;display:flex}.product-price .original-price{color:#999;text-decoration:line-through}.product-price .sale-price{color:#d32f2f;font-weight:600}.product-price .discount-percentage{color:#2e7d32;font-size:12px;font-weight:500}.product-color{color:#666;margin:6px 0 0;font-size:13px}.message.product-images-message .message-content{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:12px}.product-images-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;max-width:500px;display:grid}.product-image-thumbnail{aspect-ratio:1;cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s;position:relative;overflow:hidden}.product-image-thumbnail:hover{border-color:#007bff;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.product-image-thumbnail:active{transform:scale(1.02)}.product-image-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.suggested-replies{flex-wrap:wrap;gap:8px;max-width:80%;margin-top:12px;margin-left:8px;display:flex}.message-metrics-wrapper{margin-top:4px;margin-left:8px;display:inline-block;position:relative}.message-metrics{color:#6b7280;letter-spacing:.02em;cursor:help;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:11px}.message-metrics-tooltip{z-index:1000;color:#f9fafb;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;background:#1f2937;border-radius:4px;padding:8px 10px;font-size:11px;line-height:1.4;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 12px #00000026}.message-metrics-wrapper:hover .message-metrics-tooltip,.message-metrics-wrapper:focus-within .message-metrics-tooltip{opacity:1;visibility:visible}.suggested-reply-button{color:#007bff;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #007bff;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.suggested-reply-button:hover:not(:disabled){color:#fff;background:#007bff;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.suggested-reply-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #007bff33}.suggested-reply-button:disabled{opacity:.5;cursor:not-allowed}.suggested-reply-button:focus{outline-offset:2px;outline:2px solid #007bff}.user-image-attachment{object-fit:cover;border-radius:8px;max-height:120px;margin-bottom:4px;display:block}@media (width<=768px){.product-images-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.suggested-replies{max-width:90%}.suggested-reply-button{padding:6px 12px;font-size:13px}}.message.voice-partial{opacity:.7}.message.voice-partial .message-content{font-style:italic}.message.voice-partial:after{content:"...";animation:1s infinite pulse}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.message.voice-speaking .message-content{padding:12px 16px}.speaking-indicator{align-items:center;gap:4px;display:inline-flex}.speaking-indicator .dot{background-color:#007bff;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite speaking-bounce}.speaking-indicator .dot:first-child{animation-delay:0s}.speaking-indicator .dot:nth-child(2){animation-delay:.2s}.speaking-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes speaking-bounce{0%,80%,to{opacity:.5;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}}.message-input{background:#fff;border-top:1px solid #e0e0e0;padding:20px}.input-container{align-items:flex-end;gap:12px;max-width:800px;margin:0 auto;display:flex}.message-textarea{resize:none;border:2px solid #e0e0e0;border-radius:22px;outline:none;flex:1;min-height:44px;max-height:120px;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .2s}.message-textarea:focus{border-color:#007bff}.message-textarea:disabled{cursor:not-allowed;background-color:#f5f5f5}.send-button{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .2s;display:flex}.send-button:hover:not(:disabled){background:#0056b3}.send-button:disabled{cursor:not-allowed;background:#ccc}.image-preview{max-width:800px;margin:0 auto 8px;padding:0 56px;display:inline-block;position:relative}.image-preview img{object-fit:cover;border-radius:8px;max-height:80px}.image-preview .dismiss-button{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:12px;line-height:1;display:flex;position:absolute;top:-6px;right:50px}.image-preview .dismiss-button:hover{background:#000c}.attach-button{color:#666;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:color .2s,background-color .2s;display:flex}.attach-button:hover:not(:disabled){color:#007bff;background:#f0f0f0}.attach-button:disabled{color:#ccc;cursor:not-allowed}.image-error{color:#dc3545;max-width:800px;margin-top:6px;margin-left:auto;margin-right:auto;padding:0 56px;font-size:13px}.drop-zone-active{background:#007bff0a;border:2px dashed #007bff;border-radius:12px}.voice-button{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:relative}.voice-button:hover:not(:disabled){background:#5a6268}.voice-button:disabled{cursor:not-allowed;background:#ccc}.voice-button.voice-active{background:#dc3545;animation:1.5s ease-in-out infinite voice-glow}.voice-button.voice-active:hover{background:#c82333}.voice-pulse{background:#28a745;border:2px solid #fff;border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite pulse;position:absolute;top:-4px;right:-4px}@keyframes voice-glow{0%,to{box-shadow:0 0 #dc354566}50%{box-shadow:0 0 0 8px #dc354500}}.mute-button{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.mute-button:hover{background:#218838}.mute-button.muted{color:#333;background:#ffc107}.mute-button.muted:hover{background:#e0a800}.voice-button.connecting{background:#6c757d;animation:1s ease-in-out infinite connecting-pulse}.voice-button.speaking{background:#17a2b8;animation:1s ease-in-out infinite speaking-glow}.voice-button.processing{background:#fd7e14}@keyframes connecting-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes speaking-glow{0%,to{box-shadow:0 0 #17a2b866}50%{box-shadow:0 0 0 8px #17a2b800}}.voice-speaking-pulse{background:#17a2b8;border:2px solid #fff;border-radius:50%;width:12px;height:12px;animation:.6s ease-in-out infinite speaking-pulse;position:absolute;top:-4px;right:-4px}@keyframes speaking-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.settings-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.settings-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px 24px 0;display:flex}.settings-header h2{color:#111827;margin:0;font-size:1.5rem;font-weight:600}.close-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:8px;transition:all .2s}.close-button:hover{color:#374151;background-color:#f3f4f6}.settings-content{flex:1;padding:0 24px;overflow-y:auto}.setting-group{margin-bottom:32px}.setting-label{color:#111827;margin-bottom:8px;font-size:1.1rem;font-weight:600;display:block}.setting-description{color:#6b7280;margin:0 0 16px;font-size:.9rem;line-height:1.5}.radio-group{flex-direction:column;gap:12px;display:flex}.radio-option{cursor:pointer;border:2px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:12px;padding:16px;transition:all .2s;display:flex}.radio-option:hover{background-color:#f9fafb;border-color:#d1d5db}.radio-option input[type=radio]{accent-color:#3b82f6;width:16px;height:16px;margin:2px 0 0}.radio-option input[type=radio]:checked+.radio-label{color:#1f2937}.radio-option:has(input[type=radio]:checked){background-color:#eff6ff;border-color:#3b82f6}.radio-label{flex-direction:column;flex:1;gap:4px;display:flex}.radio-label strong{color:#111827;font-size:1rem;font-weight:600}.radio-description{color:#6b7280;font-size:.875rem;line-height:1.4}.checkbox-group{flex-direction:column;gap:12px;display:flex}.checkbox-option{cursor:pointer;border:2px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:12px;padding:16px;transition:all .2s;display:flex}.checkbox-option:hover{background-color:#f9fafb;border-color:#d1d5db}.checkbox-option input[type=checkbox]{accent-color:#3b82f6;width:16px;height:16px;margin:2px 0 0}.checkbox-option input[type=checkbox]:checked+.checkbox-label{color:#1f2937}.checkbox-option:has(input[type=checkbox]:checked){background-color:#eff6ff;border-color:#3b82f6}.checkbox-label{flex-direction:column;flex:1;gap:4px;display:flex}.checkbox-label strong{color:#111827;font-size:1rem;font-weight:600}.checkbox-description{color:#6b7280;font-size:.875rem;line-height:1.4}.user-context-input{resize:vertical;border:1px solid #e1e5e9;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.4;transition:border-color .2s}.user-context-input:focus{border-color:#0969da;outline:none;box-shadow:0 0 0 3px #0969da1a}.user-context-section{flex-direction:column;gap:16px;display:flex}.context-field{flex-direction:column;gap:6px;display:flex}.context-field-label{color:#24292f;margin:0;font-size:14px;font-weight:600}.context-field-description{color:#656d76;margin:0;font-size:12px;line-height:1.4}.user-context-input.error{border-color:#d73a49;box-shadow:0 0 0 3px #d73a491a}.user-context-input.error:focus{border-color:#d73a49;box-shadow:0 0 0 3px #d73a4933}.error-message{color:#d73a49;margin:4px 0 0;font-size:12px;line-height:1.4}.user-context-input::placeholder{color:#9ca3af}.text-input{background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:.9rem;transition:all .2s}.text-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.text-input:hover{border-color:#d1d5db}.text-input::placeholder{color:#9ca3af}.model-select{cursor:pointer;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:.9rem;transition:all .2s}.model-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.model-select:hover{border-color:#d1d5db}.settings-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:24px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.button-secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.button-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.button-primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.button-primary:hover{background-color:#2563eb;border-color:#2563eb}.button:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme:dark){.settings-modal{color:#f9fafb;background:#1f2937}.settings-header{border-bottom-color:#374151}.settings-header h2{color:#f9fafb}.close-button{color:#9ca3af}.close-button:hover{color:#d1d5db;background-color:#374151}.setting-label{color:#f9fafb}.setting-description{color:#9ca3af}.radio-option{background-color:#111827;border-color:#374151}.radio-option:hover{background-color:#1f2937;border-color:#4b5563}.radio-option:has(input[type=radio]:checked){background-color:#1e3a8a;border-color:#3b82f6}.radio-label strong{color:#f9fafb}.radio-description{color:#9ca3af}.checkbox-option{background-color:#111827;border-color:#374151}.checkbox-option:hover{background-color:#1f2937;border-color:#4b5563}.checkbox-option:has(input[type=checkbox]:checked){background-color:#1e3a8a;border-color:#3b82f6}.checkbox-label strong{color:#f9fafb}.checkbox-description{color:#9ca3af}.user-context-input{color:#f9fafb;background-color:#374151;border-color:#4b5563}.user-context-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.user-context-input::placeholder{color:#6b7280}.text-input{color:#f9fafb;background-color:#374151;border-color:#4b5563}.text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.text-input:hover{border-color:#6b7280}.text-input::placeholder{color:#6b7280}.model-select{color:#f9fafb;background-color:#374151;border-color:#4b5563}.model-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.model-select:hover{border-color:#6b7280}.settings-footer{background-color:#111827;border-top-color:#374151}.button-secondary{color:#f9fafb;background-color:#374151;border-color:#4b5563}.button-secondary:hover{background-color:#4b5563;border-color:#6b7280}}.profile-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.profile-modal{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.profile-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px 24px 0;display:flex}.profile-header h2{color:#111827;margin:0;font-size:1.5rem;font-weight:600}.profile-content{flex:1;padding:0 24px;overflow-y:auto}.profile-identity{border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.profile-avatar{color:#3b82f6;background-color:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.profile-info{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-email{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.profile-auth-status{color:#6b7280;font-size:.8rem}.profile-section{margin-bottom:24px}.profile-section-label{color:#111827;margin-bottom:8px;font-size:1.1rem;font-weight:600;display:block}.profile-section-description{color:#6b7280;margin:0 0 16px;font-size:.9rem;line-height:1.5}.profile-fields{flex-direction:column;gap:16px;display:flex}.profile-field{flex-direction:column;gap:6px;display:flex}.profile-field-label{color:#24292f;margin:0;font-size:14px;font-weight:600}.profile-field-hint{color:#656d76;margin:0;font-size:12px;line-height:1.4}.profile-textarea{resize:vertical;border:1px solid #e1e5e9;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.4;transition:border-color .2s}.profile-textarea:focus{border-color:#0969da;outline:none;box-shadow:0 0 0 3px #0969da1a}.profile-textarea.error{border-color:#d73a49;box-shadow:0 0 0 3px #d73a491a}.profile-textarea.error:focus{border-color:#d73a49;box-shadow:0 0 0 3px #d73a4933}.profile-textarea::placeholder{color:#9ca3af}.profile-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:24px;display:flex}.profile-footer-actions{gap:12px;margin-left:auto;display:flex}.button-danger{color:#dc2626;background-color:#fff;border-color:#dc2626}.button-danger:hover{color:#fff;background-color:#dc2626}@media (prefers-color-scheme:dark){.profile-modal{color:#f9fafb;background:#1f2937}.profile-header{border-bottom-color:#374151}.profile-header h2{color:#f9fafb}.profile-identity{background-color:#111827;border-color:#374151}.profile-avatar{color:#60a5fa;background-color:#1e3a8a}.profile-email{color:#f9fafb}.profile-auth-status{color:#9ca3af}.profile-section-label{color:#f9fafb}.profile-section-description{color:#9ca3af}.profile-field-label{color:#f9fafb}.profile-field-hint{color:#9ca3af}.profile-textarea{color:#f9fafb;background-color:#374151;border-color:#4b5563}.profile-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.profile-textarea::placeholder{color:#6b7280}.profile-footer{background-color:#111827;border-top-color:#374151}.button-danger{color:#f87171;background-color:#374151;border-color:#dc2626}.button-danger:hover{color:#fff;background-color:#dc2626}}.conversation-history-overlay{z-index:1000;background:#0000004d;animation:.2s fadeIn;position:fixed;inset:0}.conversation-history-panel{z-index:1001;background:#fff;flex-direction:column;width:360px;max-width:85vw;animation:.25s slideIn;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 20px #00000026}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.history-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.history-header h2{color:#333;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:inline-flex}.history-refreshing{align-items:center;display:inline-flex}.history-spinner-inline{border-width:2px;width:14px;height:14px}.history-back-button,.history-new-button{color:#333;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex}.history-back-button:hover,.history-new-button:hover{background:#e9ecef}.history-new-button{color:#007bff}.history-content{flex:1;padding:8px 0;overflow-y:auto}.history-date-group{padding:0 20px}.history-date-label{color:#6c757d;padding:16px 0 8px;font-size:13px;font-weight:600}.history-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f0f0f0;width:100%;padding:12px 0;transition:background .15s;display:block}.history-item:hover{background:#f8f9fa;width:calc(100% + 40px);margin:0 -20px;padding:12px 20px}.history-item.active{background:#e8f4fd;border-left:3px solid #007bff;width:calc(100% + 40px);margin:0 -20px;padding:12px 20px}.history-item-title{color:#212529;margin-bottom:4px;font-size:15px;font-weight:500;line-height:1.3}.history-item-meta{color:#6c757d;align-items:center;gap:0;font-size:13px;display:flex}.history-item-date{color:#6c757d}.history-item-separator{color:#adb5bd;margin:0 6px}.history-item-source{color:#6c757d;text-transform:capitalize}.history-loading{color:#6c757d;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.history-spinner{border:3px solid #e9ecef;border-top-color:#007bff;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.history-error{color:#dc3545;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.history-error button{color:#dc3545;cursor:pointer;background:#fff;border:1px solid #dc3545;border-radius:4px;padding:6px 16px;font-size:13px}.history-error button:hover{color:#fff;background:#dc3545}.history-empty{text-align:center;color:#6c757d;flex-direction:column;align-items:center;padding:40px 20px;display:flex}.history-empty p{margin:4px 0;font-size:14px}.history-end{text-align:center;color:#adb5bd;padding:20px;font-size:13px}.chat-interface{background:#fff;flex-direction:column;width:100%;max-width:1200px;height:100%;margin:0 auto;display:flex;box-shadow:0 0 20px #0000001a}.chat-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px;display:flex}.header-buttons{align-items:center;gap:12px;display:flex}.chat-header h1{color:#333;margin:0;font-size:24px;font-weight:600}.profile-button,.settings-button,.new-conversation-button,.history-button,.cart-button{color:#007bff;cursor:pointer;background:#fff;border:1px solid #007bff;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;transition:all .2s;display:flex}.profile-button{color:#17a2b8;border-color:#17a2b8}.profile-button:hover:not(:disabled){color:#fff;background:#17a2b8}.settings-button{color:#6c757d;border-color:#6c757d}.settings-button:hover:not(:disabled){color:#fff;background:#6c757d}.new-conversation-button:hover:not(:disabled){color:#fff;background:#007bff}.cart-button{color:#007bff;border-color:#007bff}.cart-button:hover:not(:disabled){color:#fff;background:#007bff}.profile-button:disabled,.settings-button:disabled,.new-conversation-button:disabled,.history-button:disabled,.cart-button:disabled{opacity:.5;cursor:not-allowed}.history-button{color:#28a745;border-color:#28a745}.history-button:hover:not(:disabled){color:#fff;background:#28a745}.chat-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.initial-quick-replies{flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 16px 4px;display:flex}.chat-interface.dashboard-view{background:#f5f5f5;max-width:100%}.chat-interface.dashboard-view .chat-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:16px 24px}.chat-interface.dashboard-view .chat-header h1{color:#333;font-size:20px}.dashboard-content{flex:1;padding:0;overflow:auto}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{justify-content:center;align-items:center;height:100vh;display:flex}.app-error{text-align:center;background:#fff;border-radius:8px;max-width:500px;margin:0 auto;padding:40px;box-shadow:0 2px 10px #0000001a}.app-error h2{color:#dc3545;margin:0 0 16px}.app-error p{color:#666;margin:8px 0}.app-loading{text-align:center;background:#fff;border-radius:8px;padding:40px;box-shadow:0 2px 10px #0000001a}.app-loading .loading-spinner{width:40px;height:40px;margin:0 auto 20px}.app-loading .spinner-circle{border:4px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.app-loading p{color:#666;margin:0}.time-range-selector{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;gap:4px;padding:4px;display:flex}.time-range-button{color:#666;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:13px;transition:all .15s}.time-range-button:hover{color:#333;background:#e9ecef}.time-range-button.active{color:#fff;background:#007bff}.time-range-custom{padding:6px 16px}.kpi-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;gap:8px;min-width:180px;padding:16px 20px;transition:all .2s;display:flex;box-shadow:0 2px 10px #0000000d}.kpi-card:hover{border-color:#007bff;box-shadow:0 4px 15px #0000001a}.kpi-card-header{align-items:center;gap:8px;display:flex}.kpi-card-title{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.kpi-card-body{flex-direction:column;gap:4px;display:flex}.kpi-card-value{color:#333;font-size:28px;font-weight:600}.kpi-card-subtitle{color:#888;font-size:12px}.kpi-card-loading{color:#888;padding:8px 0;font-size:14px}.kpi-card-trend{align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.kpi-card-trend-stable{color:#888}.kpi-card-trend-up{color:#22c55e}.kpi-card-trend-down{color:#ef4444}.kpi-card-trend-icon{font-size:14px}.kpi-card-trend-value{font-weight:500}.session-list{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.session-list-header{color:#666;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;align-items:center;padding:12px 16px;font-size:12px;display:flex}.session-list-row{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;padding:12px 16px;transition:background .15s;display:flex}.session-list-row:last-child{border-bottom:none}.session-list-row:hover{background:#f5f8ff}.session-col{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-col-id{flex-shrink:0;width:100px}.session-col-query{color:#333;flex:1;min-width:200px}.session-col-feedback{text-align:center;flex-shrink:0;width:50px}.session-col-date{color:#666;flex-shrink:0;width:160px}.session-col-arrow{text-align:center;color:#999;flex-shrink:0;width:30px}.session-link{color:#007bff;text-decoration:none}.session-link:hover{text-decoration:underline}.session-list-loading,.session-list-empty{text-align:center;color:#666;padding:40px}.session-list.compact .session-list-row{padding:10px 16px}.session-list.compact .session-col-date{width:140px;font-size:13px}.drill-down-breadcrumb{background:var(--breadcrumb-bg,#fff);border:1px solid var(--border-color,#e8e8e8);border-radius:8px;margin-bottom:20px;padding:12px 16px}.breadcrumb-list{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;gap:4px;display:flex}.breadcrumb-separator{color:var(--separator-color,#ccc);align-items:center;margin:0 4px;display:flex}.breadcrumb-link{color:var(--link-color,#1976d2);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px;transition:all .15s}.breadcrumb-link:hover{background:var(--hover-bg,#e3f2fd);text-decoration:underline}.breadcrumb-current{color:var(--text-color,#333);padding:4px 8px;font-size:14px;font-weight:500}@media (prefers-color-scheme:dark){.drill-down-breadcrumb{background:#1e1e1e;border-color:#333}.breadcrumb-separator{color:#555}.breadcrumb-link{color:#64b5f6}.breadcrumb-link:hover{background:#1a3a5c}.breadcrumb-current{color:#e0e0e0}}.category-breakdown{flex-direction:column;gap:8px;display:flex}.category-breakdown.loading,.category-breakdown.empty{min-height:200px;color:var(--secondary-text,#888);justify-content:center;align-items:center;display:flex}.category-item{background:var(--item-bg,#fafafa);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px;transition:all .15s;display:flex}.category-item:hover{background:var(--hover-bg,#f0f0f0);border-color:#007bff;transform:translate(4px)}.category-rank{background:var(--rank-bg,#e8e8e8);width:28px;height:28px;color:var(--secondary-text,#666);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.category-item:first-child .category-rank{color:#333;background:gold}.category-item:nth-child(2) .category-rank{color:#333;background:silver}.category-item:nth-child(3) .category-rank{color:#fff;background:#cd7f32}.category-info{flex:1;min-width:0}.category-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.category-name{color:var(--text-color,#333);font-size:14px;font-weight:500}.category-trend{border-radius:4px;padding:2px 6px;font-size:12px;font-weight:500}.category-trend.up{color:#4caf50;background:#4caf501a}.category-trend.down{color:#f44336;background:#f443361a}.category-bar-container{background:var(--bar-bg,#e8e8e8);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.category-bar{background:#007bff;border-radius:3px;height:100%;transition:width .3s}.category-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.session-count{color:var(--secondary-text,#888);font-size:12px}.sample-query{color:var(--secondary-text,#999);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:11px;font-style:italic;overflow:hidden}.category-arrow{color:var(--secondary-text,#ccc);flex-shrink:0;transition:transform .15s}.category-item:hover .category-arrow{color:#007bff;transform:translate(4px)}@media (prefers-color-scheme:dark){.category-item{background:#252525}.category-item:hover{background:#2a2a2a}.category-rank{color:#ccc;background:#333}.category-name{color:#e0e0e0}.category-bar-container{background:#333}}.product-insights{min-height:200px}.product-insights.loading,.product-insights.empty{color:var(--secondary-text,#888);justify-content:center;align-items:center;display:flex}.products-list{flex-direction:column;gap:8px;display:flex}.product-item{background:var(--item-bg,#fafafa);border-radius:8px;align-items:center;gap:12px;padding:10px;transition:background .15s;display:flex}.product-item:hover{background:var(--hover-bg,#f0f0f0)}.product-rank{background:var(--rank-bg,#e8e8e8);width:24px;height:24px;color:var(--secondary-text,#666);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.product-info{flex:1;min-width:0}.product-name{color:var(--text-color,#333);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.product-meta{gap:8px;margin-top:2px;display:flex}.product-sku{color:var(--secondary-text,#888);font-family:monospace;font-size:11px}.product-category{color:var(--secondary-text,#888);background:var(--tag-bg,#e8e8e8);border-radius:8px;padding:1px 6px;font-size:11px}.product-stats{text-align:right;flex-shrink:0;min-width:80px}.show-count{color:var(--text-color,#333);margin-bottom:4px;font-size:12px;font-weight:500}.show-bar-container{background:var(--bar-bg,#e8e8e8);border-radius:2px;height:4px;overflow:hidden}.show-bar{background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:2px;height:100%}@media (prefers-color-scheme:dark){.product-item{background:#252525}.product-item:hover{background:#2a2a2a}.product-rank{color:#ccc;background:#333}.product-name{color:#e0e0e0}.product-category{background:#333}.show-count{color:#e0e0e0}.show-bar-container{background:#333}}.nl-insights{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;overflow:hidden;box-shadow:0 2px 10px #00000014}.insights-header{cursor:pointer;color:#fff;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);justify-content:space-between;align-items:center;padding:14px 20px;transition:opacity .15s;display:flex}.insights-header:hover{opacity:.95}.header-left{align-items:center;gap:10px;display:flex}.ai-icon{opacity:.9}.header-title{font-size:14px;font-weight:600}.header-subtitle{opacity:.8;margin-left:8px;font-size:12px}.expand-icon{opacity:.8;transition:opacity .15s}.insights-header:hover .expand-icon{opacity:1}.insights-content{padding:16px 20px;animation:.2s fadeIn}.insights-loading{color:#666;flex-direction:column;align-items:center;padding:24px;display:flex}.loading-dots{gap:6px;margin-bottom:12px;display:flex}.loading-dots span{background:#007bff;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.insights-loading p{color:#666;margin:0;font-size:14px}.insights-error{color:#dc3545;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:16px;font-size:14px}.insights-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.insight-item{color:#333;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.insight-item:hover{background:#e9ecef;border-color:#007bff}.insight-item.warning{background:#fff8e6;border-color:#ffc107;border-left-style:solid;border-left-width:3px}.insight-item.critical{background:#fef2f2;border-color:#dc3545;border-left-style:solid;border-left-width:3px}.insight-icon{color:#007bff;flex-shrink:0;margin-top:2px}.insight-item.warning .insight-icon{color:#ffc107}.insight-item.critical .insight-icon{color:#dc3545}.insight-content{flex-direction:column;gap:4px;min-width:0;display:flex}.insight-title{color:#333;font-size:14px;font-weight:600}.insight-description{color:#666;font-size:13px;line-height:1.4}.custom-query{border-top:1px solid #e0e0e0;padding-top:16px}.query-label{color:#666;margin-bottom:8px;font-size:12px}.query-input-row{gap:8px;display:flex}.query-input-row input{color:#333;background:#fff;border:1px solid #e0e0e0;border-radius:6px;outline:none;flex:1;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.query-input-row input::placeholder{color:#999}.query-input-row input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.query-input-row button{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.query-input-row button:hover:not(:disabled){background:#0056b3}.query-input-row button:disabled{opacity:.6;cursor:not-allowed}.custom-response{background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;margin-top:12px;padding:14px}.response-label{text-transform:uppercase;letter-spacing:.5px;color:#1565c0;margin-bottom:8px;font-size:11px}.custom-response p{color:#333;margin:0;font-size:14px;line-height:1.5}.nl-insights.collapsed .insights-content{display:none}@media (width<=768px){.nl-insights{margin-bottom:16px}.insights-header{padding:12px 16px}.insights-content{padding:14px 16px}.header-subtitle{display:none}.query-input-row{flex-direction:column}.query-input-row button{width:100%}}.session-detail{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e8e8e8);border-radius:12px;overflow:hidden}.session-detail.loading,.session-detail.error{min-height:300px;color:var(--secondary-text,#666);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid var(--border-color,#e0e0e0);border-top-color:var(--primary-color,#1976d2);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:1s linear infinite spin}.session-header{background:var(--header-bg,#f8f9fa);border-bottom:1px solid var(--border-color,#e8e8e8);padding:20px}.session-info{margin-bottom:16px}.session-info h2{color:var(--text-color,#1a1a2e);margin:0 0 4px;font-size:18px;font-weight:600}.session-id{color:var(--secondary-text,#666);background:var(--code-bg,#f0f0f0);border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px}.session-meta{flex-wrap:wrap;gap:24px;display:flex}.meta-item{flex-direction:column;gap:2px;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text,#888);font-size:11px}.meta-value{color:var(--text-color,#333);font-size:14px;font-weight:500}.feedback-thumbs_up{color:#4caf50}.feedback-thumbs_down{color:#f44336}.conversation-timeline{padding:20px}.conversation-timeline h3{color:var(--text-color,#333);margin:0 0 16px;font-size:14px;font-weight:600}.turns-list{flex-direction:column;gap:16px;display:flex}.turn-item{background:var(--turn-bg,#fafafa);border:1px solid var(--border-color,#e8e8e8);cursor:pointer;border-radius:8px;padding:16px;transition:all .15s}.turn-item:hover{border-color:var(--primary-color,#1976d2);box-shadow:0 2px 8px #00000014}.turn-item.selected{border-color:var(--primary-color,#1976d2);background:var(--selected-bg,#e3f2fd)}.turn-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.turn-number{color:var(--primary-color,#1976d2);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.turn-metrics{color:var(--secondary-text,#888);font-family:monospace;font-size:11px}.message{border-radius:8px;margin-bottom:8px;padding:12px}.message:last-child{margin-bottom:0}.user-message{background:var(--user-msg-bg,#e3f2fd);border-left:3px solid var(--user-msg-border,#1976d2)}.assistant-message{background:var(--assistant-msg-bg,#f5f5f5);border-left:3px solid var(--assistant-msg-border,#9e9e9e)}.message-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.message-role{text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text,#666);font-size:11px;font-weight:600}.message-time{color:var(--secondary-text,#888);font-size:11px}.message-content{color:var(--text-color,#333);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.5}.products-shown{border-top:1px solid var(--border-color,#e0e0e0);margin-top:12px;padding-top:12px}.products-label{text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text,#888);margin-bottom:8px;font-size:11px;display:block}.product-tags{flex-wrap:wrap;gap:6px;display:flex}.product-tag{background:var(--tag-bg,#e8e8e8);color:var(--text-color,#333);border-radius:12px;padding:4px 10px;font-size:12px}@media (prefers-color-scheme:dark){.session-detail{background:#1e1e1e;border-color:#333}.session-header{background:#252525;border-color:#333}.session-info h2{color:#e0e0e0}.session-id{color:#aaa;background:#333}.meta-value,.conversation-timeline h3{color:#e0e0e0}.turn-item{background:#252525;border-color:#333}.turn-item:hover{border-color:#64b5f6}.turn-item.selected,.user-message{background:#1a3a5c;border-color:#64b5f6}.assistant-message{background:#2a2a2a;border-color:#555}.message-content{color:#e0e0e0}.product-tag{color:#ccc;background:#333}}.business-dashboard{background:#f5f5f5;max-width:1400px;min-height:100vh;margin:0 auto;padding:24px}.dashboard-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;display:flex}.card-header{border-bottom:1px solid #f0f0f0;margin-bottom:16px;padding-bottom:12px}.demand-signals,.product-insights,.catalog-gaps{grid-column:span 1}.gaps-list{min-height:120px}.gap-items{margin:0;padding:0;list-style:none}.gap-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.gap-item:last-child{border-bottom:none}.gap-query{color:#333;font-size:14px;font-style:italic}.gap-count{color:#666;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:12px;padding:4px 10px;font-size:12px}.recent-sessions{grid-column:span 1}.drill-down-header{margin-bottom:20px}.loading-placeholder{color:#888;justify-content:center;align-items:center;height:120px;font-size:14px;display:flex}.empty-state{text-align:center;color:#666;flex-direction:column;justify-content:center;align-items:center;height:120px;display:flex}.empty-state p{margin:0 0 4px;font-size:14px}.empty-hint{color:#999;font-size:12px}@media (width<=1200px){.dashboard-grid{grid-template-columns:1fr}.demand-signals,.product-insights,.catalog-gaps,.recent-sessions{grid-column:span 1}}@media (width<=768px){.business-dashboard{padding:16px}.dashboard-header{flex-direction:column;gap:16px}.header-left h1{font-size:20px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.kpi-grid{grid-template-columns:1fr}}.tool-performance{min-height:200px}.tool-performance.loading,.tool-performance.empty{color:var(--secondary-text,#888);justify-content:center;align-items:center;display:flex}.tools-table{border-collapse:collapse;width:100%}.tools-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text,#888);border-bottom:1px solid var(--border-color,#e8e8e8);padding:8px 12px;font-size:11px;font-weight:600}.tools-table td{border-bottom:1px solid var(--border-color,#f0f0f0);padding:12px;font-size:13px}.tools-table tr:last-child td{border-bottom:none}.tools-table tr.clickable{cursor:pointer;transition:background .15s}.tools-table tr.clickable:hover{background:var(--hover-bg,#f5f5f5)}.tool-name{color:var(--text-color,#333);font-weight:500}.tool-calls{color:var(--secondary-text,#666)}.tool-avg,.tool-p95{font-family:monospace}.latency-good{color:#4caf50}.latency-warning{color:#ff9800}.latency-critical{color:#f44336}.error-badge{color:#f44336;background:#f443361a;border-radius:12px;padding:2px 8px;font-size:12px;display:inline-block}.ok-badge{color:#4caf50}@media (prefers-color-scheme:dark){.tools-table th{color:#999;border-color:#333}.tools-table td{border-color:#333}.tools-table tr.clickable:hover{background:#252525}.tool-name{color:#e0e0e0}.tool-calls{color:#aaa}}.latency-chart{min-height:280px}.latency-chart.loading,.latency-chart.empty{color:#888;justify-content:center;align-items:center;display:flex}.chart-legend{gap:20px;margin-bottom:16px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-color{border-radius:2px;width:12px;height:12px}.legend-color.latency{background:#007bff}.legend-color.sessions{background:#007bff33;border:1px solid #007bff66}.legend-label{color:#666;font-size:12px}.chart-container{margin-bottom:12px;position:relative}.chart-svg{width:100%;height:200px}.grid-line{stroke:#e8e8e8;stroke-width:1px}.axis-label{fill:#888;font-size:10px}.axis-label.sessions-label{fill:#007bffb3}.axis-label.x-label{font-size:11px}.line.latency{stroke:#007bff;stroke-linecap:round;stroke-linejoin:round}.line.sessions{stroke:#007bff80;stroke-dasharray:4 2;stroke-linecap:round}.area.sessions{fill:#007bff14}.threshold-line{stroke:#dc3545;stroke-width:1.5px;opacity:.7}.threshold-label{fill:#dc3545;font-size:10px;font-weight:500}.dot.latency{fill:#007bff;stroke:#fff;stroke-width:2px}.dot.latency:hover{r:6;cursor:pointer}.chart-stats{border-top:1px solid #e8e8e8;gap:32px;padding-top:16px;display:flex}.stat-item{flex-direction:column;gap:2px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:#888;font-size:11px}.stat-value{color:#333;font-size:16px;font-weight:600}@media (width<=768px){.chart-stats{flex-wrap:wrap;gap:16px}.chart-svg{height:160px}}.token-usage-breakdown{min-height:200px}.token-usage-breakdown.loading{color:var(--secondary-text,#888);justify-content:center;align-items:center;display:flex}.token-usage-breakdown .empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;display:flex}.token-usage-breakdown .empty-icon{color:var(--secondary-text,#999);margin-bottom:16px}.token-usage-breakdown .empty-title{color:var(--text-color,#333);margin:0 0 8px;font-size:14px;font-weight:600}.token-usage-breakdown .empty-description{color:var(--secondary-text,#888);max-width:280px;margin:0;font-size:13px;line-height:1.5}.total-tokens{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-direction:column;align-items:center;margin-bottom:20px;padding:20px;display:flex}.total-label{text-transform:uppercase;letter-spacing:.5px;opacity:.8;margin-bottom:4px;font-size:12px}.total-value{font-size:36px;font-weight:700}.cache-badge{background:#fff3;border-radius:12px;margin-top:8px;padding:4px 12px;font-size:12px}.token-breakdown{margin-bottom:16px}.breakdown-header{text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text,#888);margin-bottom:12px;font-size:12px;font-weight:600}.breakdown-items{flex-direction:column;gap:12px;display:flex}.breakdown-item{align-items:center;gap:12px;display:flex}.item-info{flex-direction:column;min-width:120px;display:flex}.item-label{color:var(--text-color,#333);font-size:13px}.item-count{color:var(--secondary-text,#888);font-family:monospace;font-size:11px}.item-bar-container{background:var(--bar-bg,#e8e8e8);border-radius:4px;flex:1;height:8px;overflow:hidden}.item-bar{border-radius:4px;height:100%;transition:width .3s}.item-bar.input{background:#667eea}.item-bar.output{background:#764ba2}.item-bar.cache-read{background:#4caf50}.item-bar.cache-write{background:#ff9800}.item-percent{color:var(--text-color,#333);text-align:right;min-width:50px;font-family:monospace;font-size:13px}.model-breakdown{margin-bottom:16px}.model-table{border-collapse:collapse;width:100%;font-size:13px}.model-table th{text-align:left;background:var(--table-header-bg,#f5f5f5);text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text,#666);border-bottom:1px solid var(--border-color,#e8e8e8);padding:8px 12px;font-size:11px;font-weight:600}.model-table th:last-child,.model-table td:last-child{text-align:right}.model-table td{border-bottom:1px solid var(--border-color,#e8e8e8);padding:10px 12px}.model-table tr:last-child td{border-bottom:none}.model-table .model-name{color:var(--text-color,#333);font-weight:500}.model-table .model-invocations,.model-table .model-tokens{color:var(--secondary-text,#666);font-family:monospace}.model-table .model-total{color:var(--text-color,#333);font-family:monospace;font-weight:600}@media (prefers-color-scheme:dark){.item-label{color:#e0e0e0}.item-bar-container{background:#333}.item-percent{color:#e0e0e0}.model-table th{color:#999;background:#2a2a2a;border-color:#444}.model-table td{border-color:#444}.model-table .model-name,.model-table .model-total{color:#e0e0e0}.model-table .model-invocations,.model-table .model-tokens{color:#999}}.operations-dashboard{background:var(--bg-color,#f5f7fa);max-width:1600px;min-height:100vh;margin:0 auto;padding:24px}.dashboard-subtitle{color:var(--secondary-text,#666);margin:0;font-size:14px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.dashboard-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e8e8e8);border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.card-header{margin-bottom:16px}.card-header h2{color:var(--text-color,#1a1a2e);margin:0 0 4px;font-size:16px;font-weight:600}.card-subtitle{color:var(--secondary-text,#888);font-size:12px}.latency-trends{grid-column:span 2}.tool-performance,.token-usage{grid-column:span 1}.slow-sessions{grid-column:span 2}.drill-down-view{margin-top:24px}.drill-down-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.drill-down-header h2{color:var(--text-color,#1a1a2e);margin:0;font-size:20px;font-weight:600}.tool-metrics{gap:16px;display:flex}.tool-metrics .metric{color:var(--secondary-text,#666);background:var(--metric-bg,#f5f5f5);border-radius:16px;padding:4px 12px;font-size:13px}.kpi-card[data-status=good]{border-left:3px solid #4caf50}.kpi-card[data-status=warning]{border-left:3px solid #ff9800}.kpi-card[data-status=critical]{border-left:3px solid #f44336}@media (width<=1200px){.dashboard-grid{grid-template-columns:1fr}.latency-trends,.tool-performance,.token-usage,.slow-sessions{grid-column:span 1}}@media (width<=768px){.operations-dashboard{padding:16px}.dashboard-header{flex-direction:column;gap:16px}.header-left h1{font-size:24px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.drill-down-header{flex-direction:column;align-items:flex-start;gap:12px}.tool-metrics{flex-wrap:wrap;gap:8px}}@media (width<=480px){.kpi-grid{grid-template-columns:1fr}}.dashboard-loading{color:var(--secondary-text,#666);flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.dashboard-loading .loading-spinner{border:3px solid var(--border-color,#e8e8e8);border-top-color:var(--primary-color,#667eea);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:.8s linear infinite spin}.dashboard-loading p{margin:0;font-size:14px}@media (prefers-color-scheme:dark){.operations-dashboard{background:#121212}.header-left h1{color:#e0e0e0}.dashboard-subtitle{color:#999}.dashboard-card{background:#1e1e1e;border-color:#333}.card-header h2{color:#e0e0e0}.card-subtitle{color:#888}.drill-down-header h2{color:#e0e0e0}.tool-metrics .metric{color:#aaa;background:#333}}.dashboard-app{background:#f5f7fa;min-height:100vh}.dashboard-app.loading,.dashboard-app.no-access{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.dashboard-app.no-access h2{color:#333;margin:0}.loading-spinner{border:3px solid #e8e8e8;border-top-color:#007bff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.dashboard-header{z-index:100;background:#fff;border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.header-left h1{color:#333;margin:0;font-size:20px;font-weight:600}.header-center{flex:1;justify-content:center;display:flex}.dashboard-tabs{background:#f0f2f5;border-radius:8px;gap:8px;padding:4px;display:flex}.tab-button{color:#666;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.tab-button:hover{color:#333;background:#0000000d}.tab-button.active{color:#007bff;background:#fff;box-shadow:0 1px 3px #0000001a}.header-right,.user-menu{align-items:center;gap:12px;display:flex}.user-email{color:#666;font-size:13px}.logout-button{color:#666;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font-size:13px;transition:all .2s}.logout-button:hover{color:#007bff;border-color:#007bff}.dashboard-content{max-width:1600px;margin:0 auto;padding:24px}@media (width<=768px){.dashboard-header{flex-direction:column;gap:12px;padding:12px 16px}.header-left,.header-center,.header-right{justify-content:center;width:100%}.dashboard-tabs{width:100%}.tab-button{text-align:center;flex:1}.dashboard-content{padding:16px}}.analytics-dashboard{color:#fff;background:#0f0f1a;min-height:100vh;padding:24px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-title h1{margin:0;font-size:20px;font-weight:600}.dashboard-updated{color:#666;margin-top:4px;font-size:12px;display:block}.dashboard-controls{align-items:center;gap:12px;display:flex}.tenant-selector{color:#fff;cursor:pointer;background:#1a1a2e;border:1px solid #2a2a3e;border-radius:6px;padding:8px 12px;font-size:13px}.refresh-button{color:#888;cursor:pointer;background:#1a1a2e;border:1px solid #2a2a3e;border-radius:6px;width:36px;height:36px;font-size:16px;transition:all .15s}.refresh-button:hover{color:#fff;background:#2a2a3e}.dashboard-toggle{justify-content:flex-end;margin-bottom:20px;display:flex}.toggle-label{color:#888;cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.toggle-label input{accent-color:#4a9dd9}.kpi-section{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.charts-section{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.chart-card{background:#1a1a2e;border:1px solid #2a2a3e;border-radius:8px;padding:20px}.chart-card h3{color:#888;margin:0 0 16px;font-size:14px;font-weight:500}.chart-placeholder{flex-direction:column;height:200px;display:flex}.histogram-bars{flex:1;align-items:flex-end;gap:8px;padding-bottom:8px;display:flex}.bar{background:#4a9dd9;border-radius:4px 4px 0 0;flex:1;min-height:4px;transition:height .3s}.histogram-labels{color:#666;gap:8px;font-size:11px;display:flex}.histogram-labels span{text-align:center;flex:1}.tool-performance{flex-direction:column;gap:12px;display:flex}.tool-bar-row{align-items:center;gap:12px;display:flex}.tool-name{color:#888;text-align:right;width:120px;font-size:13px}.tool-bar-container{background:#12121f;border-radius:4px;flex:1;height:24px;overflow:hidden}.tool-bar{background:linear-gradient(90deg,#8b5cf6,#6366f1);border-radius:4px;min-width:4px;height:100%}.tool-count{color:#888;width:60px;font-size:13px}.token-section{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.sessions-section{margin-top:24px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2{margin:0;font-size:16px;font-weight:500}.view-all-link{color:#4a9dd9;font-size:13px;text-decoration:none}.view-all-link:hover{text-decoration:underline}.loading,.no-data{text-align:center;color:#666;padding:20px}@media (width<=1200px){.charts-section{grid-template-columns:1fr}}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.kpi-section{grid-template-columns:repeat(2,1fr)}.token-section{grid-template-columns:1fr}}
