@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh}.chat-history{display:flex;flex-direction:column;height:100%;background:#fafbfc;border-right:1px solid #e8ecef}.chat-history-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e8ecef}.chat-history-loading{display:flex;justify-content:center;align-items:center;padding:32px}.chat-history-empty{display:flex;justify-content:center;align-items:center;flex:1;padding:24px}.chat-history-list{flex:1;overflow-y:auto}.chat-history-list .ant-list-item{padding:0;border-bottom:none}.chat-history-item{padding:12px 16px!important;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent}.chat-history-item:hover{background:#f0f4f3}.chat-history-item.selected{background:#e8f5e9;border-left-color:#3e7c59}.chat-item-content{display:flex;align-items:flex-start;gap:12px;width:100%}.chat-item-icon{color:#8a9a92;flex-shrink:0;padding-top:2px}.chat-history-item.selected .chat-item-icon{color:#3e7c59}.chat-item-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-item-title{font-size:13px;font-weight:500;color:#2d3e36;line-height:1.4}.chat-item-preview{font-size:12px;color:#8a9a92;line-height:1.3}.chat-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.chat-item-date{font-size:11px;color:#a0b0a8}.chat-item-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease}.chat-history-item:hover .chat-item-actions,.chat-history-item.selected .chat-item-actions{opacity:1}.chat-item-actions .ant-btn{padding:2px 4px;height:auto;color:#8a9a92}.chat-item-actions .ant-btn:hover{color:#3e7c59;background:transparent}.chat-item-actions .ant-btn-dangerous:hover{color:#d32f2f}.chat-item-details .ant-input{font-size:13px}@media(max-width:768px){.chat-history{position:absolute;left:0;top:0;bottom:0;width:260px;z-index:100;box-shadow:2px 0 8px #0000001a}}:root{--chat-primary: #2563eb;--chat-primary-hover: #1d4ed8;--chat-primary-light: #dbeafe;--chat-primary-lighter: #eff6ff;--chat-accent: #6366f1;--chat-accent-light: #e0e7ff;--chat-text: #0f172a;--chat-text-secondary: #475569;--chat-text-muted: #94a3b8;--chat-border: #e2e8f0;--chat-bg: #f8fafc;--chat-surface: #ffffff;--chat-success: #10b981;--chat-warning: #f59e0b;--chat-error: #ef4444;--chat-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--chat-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--chat-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--chat-radius: 16px;--chat-radius-lg: 24px}.chat-page-clean{display:flex;flex-direction:column;height:100vh;background:linear-gradient(180deg,var(--chat-bg) 0%,#f1f5f9 100%);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;scroll-behavior:smooth}.chat-body::-webkit-scrollbar{width:6px}.chat-body::-webkit-scrollbar-track{background:transparent}.chat-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.chat-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.welcome-screen-clean{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;animation:welcomeFadeIn .6s ease-out}@keyframes welcomeFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,var(--chat-primary) 0%,var(--chat-accent) 100%);border-radius:24px;color:#fff;margin-bottom:32px;box-shadow:0 8px 32px #2563eb40;animation:iconFloat 3s ease-in-out infinite;position:relative}.welcome-icon:before{content:"";position:absolute;inset:-4px;border-radius:28px;background:linear-gradient(135deg,var(--chat-primary-light),var(--chat-accent-light));z-index:-1;animation:iconPulse 2s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes iconPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.welcome-screen-clean h1{font-size:32px;font-weight:700;color:var(--chat-text);margin:0 0 16px;letter-spacing:-.5px;background:linear-gradient(135deg,var(--chat-text) 0%,var(--chat-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-screen-clean p{font-size:16px;color:var(--chat-text-secondary);margin:0;line-height:1.7;max-width:400px}.messages-container-clean{flex:1;padding:24px 48px;max-width:1300px;width:100%;margin:0 auto}.message-clean{display:flex;gap:16px;margin-bottom:32px;animation:messageSlideIn .4s cubic-bezier(.16,1,.3,1);align-items:flex-start}.message-clean.user{align-items:flex-start}.message-clean.assistant:has(.thinking-indicator){align-items:center}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.message-clean .message-avatar{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:var(--chat-shadow-sm);transition:transform .3s ease,box-shadow .2s ease}.message-clean .message-avatar:hover{transform:scale(1.05);box-shadow:var(--chat-shadow)}.message-clean .user-avatar{background:linear-gradient(135deg,var(--chat-primary) 0%,#3b82f6 100%);color:#fff;width:36px;height:36px}.message-clean .ai-avatar{background:transparent;color:var(--chat-accent);border:none;box-shadow:none}.message-clean .ai-avatar:hover{transform:none;box-shadow:none}.message-clean .ai-avatar.thinking{animation:spinPulse 2s ease-in-out infinite}@keyframes spinPulse{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.message-content-clean{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.message-text{line-height:1.7;font-size:15px;color:var(--chat-text)}.message-clean.user .message-content-clean{flex:0 1 auto;max-width:80%}.message-clean.user .message-text{background:linear-gradient(135deg,var(--chat-primary) 0%,#3b82f6 100%);color:#fff;padding:10px 18px;border-radius:var(--chat-radius);border-top-left-radius:4px;display:inline-block;box-shadow:0 4px 12px #2563eb33;line-height:1.5;word-wrap:break-word}.message-clean.assistant .message-text{text-align:left;padding:8px 0}.message-clean.assistant .message-text:has(.thinking-indicator){padding:0;display:flex;align-items:center}.message-clean.error .message-text{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:var(--chat-error);border:1px solid #fecaca;padding:14px 20px;border-radius:var(--chat-radius);box-shadow:var(--chat-shadow-sm)}.empty-response{color:var(--chat-text-muted);font-style:italic}.thinking-indicator{display:flex;align-items:center;gap:4px;color:var(--chat-text-secondary);font-size:15px;padding:0;min-height:40px}.thinking-dots-animated{display:inline-flex;gap:4px;margin-left:4px}.thinking-dots-animated:before,.thinking-dots-animated:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--chat-primary);animation:dotBounce 1.4s ease-in-out infinite}.thinking-dots-animated:before{animation-delay:0s}.thinking-dots-animated:after{animation-delay:.2s}.thinking-dots-animated{position:relative}.thinking-dots-animated span{display:none}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.thinking-indicator:after{content:"";display:inline-flex;width:6px;height:6px;border-radius:50%;background:var(--chat-accent);animation:dotBounce 1.4s ease-in-out infinite .4s;margin-left:-2px}.thinking-section{margin-bottom:16px;border-radius:14px;background:linear-gradient(135deg,#fafbfc,#f5f7fa);border:1px solid var(--chat-border);overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}.thinking-section.expanded{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#cbd5e1;box-shadow:var(--chat-shadow-sm)}.thinking-section.active{background:linear-gradient(135deg,var(--chat-accent-light) 0%,#c7d2fe 100%);border-color:#a5b4fc;box-shadow:0 0 0 3px #6366f11a,var(--chat-shadow);animation:thinkingPulse 2s ease-in-out infinite}@keyframes thinkingPulse{0%,to{box-shadow:0 0 0 3px #6366f11a,var(--chat-shadow)}50%{box-shadow:0 0 0 6px #6366f10d,var(--chat-shadow)}}.thinking-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--chat-text-secondary);transition:all .2s ease}.thinking-header:hover:not(:disabled){background:#6366f10d}.thinking-header:disabled{cursor:default}.thinking-header-left{display:flex;align-items:center;gap:10px}.thinking-header-left svg{color:var(--chat-accent)}.thinking-brain-icon{animation:brainPulse 1.5s ease-in-out infinite}@keyframes brainPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.thinking-label{font-weight:600;color:var(--chat-text-secondary);display:flex;align-items:center}.thinking-header-right{display:flex;align-items:center;color:var(--chat-text-muted);font-size:12px}.thinking-content{padding:0 16px 16px;border-top:1px solid rgba(99,102,241,.1);margin-top:0;animation:contentExpand .3s cubic-bezier(.16,1,.3,1)}@keyframes contentExpand{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:500px;padding-top:0;padding-bottom:16px}}.thinking-content p{margin:14px 0 0;font-size:13px;line-height:1.7;color:var(--chat-text-secondary)}.thinking-content p:first-child{margin-top:14px}.message-text h1,.message-text h2,.message-text h3,.message-text h4{margin-top:20px;margin-bottom:10px;font-weight:700;color:var(--chat-text);letter-spacing:-.3px}.message-text h1:first-child,.message-text h2:first-child,.message-text h3:first-child{margin-top:0}.message-text p{margin:0 0 14px}.message-text p:last-child{margin-bottom:0}.message-text ul,.message-text ol{margin:10px 0;padding-left:24px}.message-text li{margin-bottom:6px}.message-text code{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);padding:3px 8px;border-radius:6px;font-family:SF Mono,Fira Code,Monaco,monospace;font-size:13px;color:var(--chat-accent);border:1px solid var(--chat-border)}.message-text pre{background:linear-gradient(135deg,#1e293b,#0f172a);color:#e2e8f0;padding:16px 20px;border-radius:12px;overflow-x:auto;margin:16px 0;box-shadow:var(--chat-shadow);border:1px solid #334155}.message-text pre code{background:none;padding:0;color:inherit;border:none}.message-text blockquote{border-left:4px solid var(--chat-primary);margin:16px 0;padding:12px 20px;background:var(--chat-primary-lighter);border-radius:0 12px 12px 0;color:var(--chat-text-secondary)}.message-text a{color:var(--chat-primary);text-decoration:none;font-weight:500;transition:color .2s ease}.message-text a:hover{color:var(--chat-primary-hover);text-decoration:underline}.markdown-table-wrapper{overflow-x:auto;margin:16px 0;border-radius:12px;box-shadow:var(--chat-shadow-sm)}.message-text table.markdown-table{width:100%;border-collapse:collapse;font-size:14px}.message-text .markdown-table th,.message-text .markdown-table td{border:1px solid var(--chat-border);padding:12px 16px;text-align:left}.message-text .markdown-table th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-weight:600;color:var(--chat-text)}.message-text .markdown-table tr:hover td{background:#fafbfc}.markdown-antd-table{margin:20px 0;border-radius:12px;overflow:hidden;box-shadow:var(--chat-shadow);border:1px solid var(--chat-border)}.markdown-antd-table .ant-table{background:var(--chat-surface)}.markdown-antd-table .ant-table-thead>tr>th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:var(--chat-text);font-weight:600;font-size:13px;padding:14px 18px;border-bottom:1px solid var(--chat-border);text-transform:uppercase;letter-spacing:.5px}.markdown-antd-table .ant-table-tbody>tr>td{padding:14px 18px;font-size:14px;color:var(--chat-text-secondary);border-bottom:1px solid var(--chat-border);background:var(--chat-surface);transition:background .2s ease}.markdown-antd-table .ant-table-tbody>tr:hover>td{background:#fafbfc}.table-cell-content{white-space:pre-wrap;word-break:break-word;line-height:1.6;max-width:500px}.citations-clean{margin-top:20px;padding-top:16px;border-top:1px solid var(--chat-border)}.citations-clean .citations-label{font-size:12px;font-weight:600;color:var(--chat-text-secondary);display:flex;align-items:center;gap:8px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.citations-clean .citations-list{display:flex;flex-wrap:wrap;gap:10px}.citation-chip{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--chat-surface) 0%,#fafbfc 100%);color:var(--chat-text-secondary);padding:8px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border:1px solid var(--chat-border);box-shadow:var(--chat-shadow-sm)}.citation-chip:hover{background:linear-gradient(135deg,var(--chat-primary-lighter) 0%,var(--chat-primary-light) 100%);color:var(--chat-primary);border-color:var(--chat-primary-light);transform:translateY(-2px);box-shadow:var(--chat-shadow)}.citation-chip span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-container-clean{padding:16px 24px 24px;background:linear-gradient(180deg,transparent 0%,rgba(241,245,249,.8) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.input-box-clean{max-width:900px;margin:0 auto;background:var(--chat-surface);border-radius:var(--chat-radius-lg);padding:10px 10px 10px 20px;display:flex;align-items:flex-end;gap:12px;border:2px solid var(--chat-border);box-shadow:var(--chat-shadow-lg);transition:all .3s cubic-bezier(.16,1,.3,1)}.input-box-clean:focus-within{border-color:var(--chat-primary);box-shadow:0 0 0 4px #2563eb1a,var(--chat-shadow-lg);transform:translateY(-2px)}.input-textarea-clean{flex:1;border:none!important;background:transparent!important;font-size:15px!important;font-family:Plus Jakarta Sans,sans-serif!important;color:var(--chat-text)!important;resize:none!important;padding:10px 0!important;line-height:1.6!important}.input-textarea-clean::placeholder{color:var(--chat-text-muted)!important}.input-textarea-clean:focus{box-shadow:none!important}.input-actions-clean{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-bottom:2px}.input-icon-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:12px;cursor:pointer;color:var(--chat-text-muted);transition:all .2s ease}.input-icon-button:hover:not(:disabled){background:var(--chat-primary-lighter);color:var(--chat-primary)}.input-icon-button:disabled{cursor:not-allowed;opacity:.4}.model-select-clean{flex-shrink:0}.model-select-clean .ant-select-selector{background:transparent!important;border:none!important;padding:6px 8px 6px 12px!important;height:40px!important;font-size:13px!important;font-weight:500!important;color:var(--chat-text-secondary)!important;box-shadow:none!important;min-width:auto!important}.model-select-clean .ant-select-selection-item{color:var(--chat-text-secondary)!important;line-height:28px!important;font-weight:600;padding-inline-end:20px!important}.model-select-clean .ant-select-arrow{color:var(--chat-text-muted)!important;right:8px!important}.model-select-clean:hover .ant-select-selector{background:var(--chat-primary-lighter)!important;border-radius:10px}.send-button-clean{width:48px;height:48px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--chat-primary) 0%,#3b82f6 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0;box-shadow:0 4px 12px #2563eb4d}.send-button-clean:hover:not(.disabled){background:linear-gradient(135deg,var(--chat-primary-hover) 0%,var(--chat-primary) 100%);transform:scale(1.05);box-shadow:0 6px 20px #2563eb66}.send-button-clean:active:not(.disabled){transform:scale(.98)}.send-button-clean.disabled{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:var(--chat-text-muted);cursor:not-allowed;box-shadow:none}.input-footer-clean{text-align:center;font-size:12px;color:var(--chat-text-muted);margin:12px 0 0;font-weight:500}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-shimmer{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@media(max-width:768px){.chat-header{padding:8px 12px}.welcome-screen-clean{padding:24px 16px}.welcome-icon{width:64px;height:64px;border-radius:18px;margin-bottom:24px}.welcome-screen-clean h1{font-size:24px}.welcome-screen-clean p{font-size:14px}.messages-container-clean{padding:16px}.message-clean{gap:12px;margin-bottom:24px}.message-clean .message-avatar{width:36px;height:36px;border-radius:10px}.message-clean.user .message-content-clean{max-width:90%}.message-clean.user .message-text{padding:10px 14px}.input-container-clean{padding:12px 16px 20px}.input-box-clean{padding:8px 8px 8px 16px;border-radius:20px}.send-button-clean{width:44px;height:44px;border-radius:12px}}.input-box-clean.has-attachment{flex-direction:column;align-items:stretch;padding-top:8px}.input-row{display:flex;align-items:flex-end;gap:8px;width:100%}.attachments-area{display:flex;align-items:center;justify-content:flex-start;padding:0 8px 8px 0;border-bottom:1px solid #e5e7eb;width:100%}.attachment-card-wrapper{position:relative;display:inline-block}.attachment-remove-badge{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:#ef4444;border-radius:50%;cursor:pointer;color:#fff;z-index:1;transition:all .15s ease;box-shadow:0 1px 3px #0003}.attachment-remove-badge:hover{background:#dc2626;transform:scale(1.1)}.attachment-card{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s ease;max-width:280px}.attachment-card:hover{background:#f3f4f6;border-color:#d1d5db}.attachment-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#059669;border-radius:6px;color:#fff;flex-shrink:0}.attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.attachment-name{font-size:13px;font-weight:500;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.attachment-meta{font-size:11px;color:#6b7280}.input-icon-button.has-file{color:var(--chat-primary);background:#2563eb1a}.input-icon-button.has-file:hover{background:#2563eb26}.message-attachment{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;margin-bottom:10px;background:#fffffff2;border-radius:10px;font-size:13px;color:#1f2937;box-shadow:0 1px 3px #0000001a}.message-attachment-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#059669;border-radius:6px;color:#fff;flex-shrink:0}.message-attachment-icon svg{width:16px;height:16px}.message-attachment-info{display:flex;flex-direction:column;gap:2px;min-width:0}.message-attachment-name{font-size:13px;font-weight:600;color:#1f2937;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-attachment-meta{font-size:11px;color:#6b7280;font-weight:400}.message-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.message-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s ease}.message-action-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.message-action-btn:active{transform:scale(.95)}.message-action-btn.copied{background:#ecfdf5;border-color:#10b981;color:#10b981}.usage-dashboard{padding:8px;min-height:calc(100vh - 200px)}.usage-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap;gap:16px}.usage-title-section h3{color:#0f172a;font-weight:700;letter-spacing:-.02em}.usage-title-section .ant-typography-secondary{font-size:14px;margin-top:4px}.rag-filter{min-width:220px}.rag-filter .ant-select-selector{border-radius:10px!important;border:1px solid #e2e8f0!important;background:#fff!important;box-shadow:0 1px 3px #0000000a;height:42px!important;padding:5px 12px!important}.rag-filter .ant-select-selection-item{line-height:30px!important}.metrics-row{margin-bottom:24px}.usage-metric-card{background:#fff;border-radius:16px;padding:24px;height:100%;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;border:1px solid rgba(226,232,240,.8);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.usage-metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#0ea5e9);opacity:0;transition:opacity .3s ease}.usage-metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.usage-metric-card:hover:before{opacity:1}.metric-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.metric-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.metric-trend{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:600;padding:4px 8px;border-radius:20px}.metric-trend.positive{color:#10b981;background:#ecfdf5}.metric-trend.negative{color:#ef4444;background:#fef2f2}.metric-value{font-size:32px;font-weight:700;color:#0f172a;line-height:1;letter-spacing:-.02em}.metric-title{font-size:14px;font-weight:500;color:#64748b;margin-top:8px}.metric-subtitle{font-size:12px;color:#94a3b8;margin-top:4px}.charts-row{margin-bottom:24px}.chart-card{background:#fff;border-radius:16px;padding:24px;height:100%;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;border:1px solid rgba(226,232,240,.8)}.chart-card.full-width{height:100%}.chart-header{margin-bottom:20px}.chart-header h5{color:#0f172a;font-weight:600}.chart-header .ant-typography-secondary{font-size:13px}.donut-chart-container{position:relative}.donut-center{position:absolute;top:110px;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-total{font-size:24px;font-weight:700;color:#0f172a}.donut-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.chart-legend{display:flex;flex-direction:column;gap:12px;margin-top:8px}.legend-item{display:flex;align-items:center;gap:10px}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-name{flex:1;font-size:13px;color:#64748b}.legend-value{font-size:13px;font-weight:600;color:#0f172a}.data-card{margin-bottom:24px;border-radius:16px;border:1px solid rgba(226,232,240,.8);box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;overflow:hidden}.data-card .ant-card-body{padding:0}.card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f1f5f9;background:linear-gradient(180deg,#fff,#fafbfc)}.card-header h5{color:#0f172a;font-weight:600}.usage-table{background:#fff}.usage-table .ant-table{background:#fff!important}.usage-table .ant-table-thead>tr>th{background:#fafbfc!important;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid #e2e8f0;padding:14px 16px}.usage-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid #f1f5f9;transition:background .2s ease;background:#fff!important}.usage-table .ant-table-tbody>tr:hover>td{background:#f8fafc!important}.usage-table .ant-table-tbody>tr:last-child>td{border-bottom:none}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#0ea5e9);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.user-info{display:flex;flex-direction:column}.user-name{font-weight:500;color:#0f172a;font-size:14px}.user-email{font-size:12px;color:#94a3b8}.model-cell{display:flex;align-items:center;gap:8px}.model-icon{color:#3b82f6}.model-tag{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:none;color:#1d4ed8;font-weight:500;padding:4px 12px;border-radius:6px}.table-number{font-weight:500;font-variant-numeric:tabular-nums;color:#374151}.table-number.highlight{font-weight:600;color:#0f172a}.table-number.time{display:flex;align-items:center;justify-content:flex-end;color:#64748b}.usage-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.usage-error{display:flex;align-items:center;justify-content:center;min-height:400px}@media(max-width:768px){.usage-header{flex-direction:column;align-items:stretch}.rag-filter{width:100%}.metric-value{font-size:26px}.usage-metric-card{padding:20px}}.recharts-tooltip-wrapper{z-index:1000}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.usage-metric-card,.chart-card,.data-card{animation:fadeInUp .4s ease-out}.metrics-row .ant-col:nth-child(1) .usage-metric-card{animation-delay:.1s}.metrics-row .ant-col:nth-child(2) .usage-metric-card{animation-delay:.15s}.metrics-row .ant-col:nth-child(3) .usage-metric-card{animation-delay:.2s}.metrics-row .ant-col:nth-child(4) .usage-metric-card{animation-delay:.25s}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f7f6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-container{display:flex;width:100%;max-width:1100px;min-height:650px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #00000014,0 20px 25px -5px #0000000d;margin:24px}.auth-branding{flex:1;background:linear-gradient(160deg,#0f172a,#1e293b,#334155);padding:48px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-branding:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 50%);animation:pulse-bg 15s ease-in-out infinite}@keyframes pulse-bg{0%,to{transform:translate(0)}50%{transform:translate(-10%,10%)}}.auth-branding-content{position:relative;z-index:1}.auth-logo{height:56px;margin-bottom:32px;filter:brightness(0) invert(1)}.auth-branding h1{font-size:32px;font-weight:700;color:#fff;margin:0 0 12px;letter-spacing:-.5px}.auth-branding>.auth-branding-content>p{font-size:16px;color:#94a3b8;margin:0 0 40px;line-height:1.6}.auth-features{display:flex;flex-direction:column;gap:16px}.auth-feature{display:flex;align-items:center;gap:14px;color:#e2e8f0;font-size:15px}.feature-icon{font-size:20px;width:40px;height:40px;background:#ffffff14;border-radius:10px;display:flex;align-items:center;justify-content:center}.auth-form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;background:#fff}.auth-form-container{width:100%;max-width:380px}.auth-form-header{margin-bottom:32px;text-align:center}.auth-form-header h2{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 8px;letter-spacing:-.5px}.auth-form-header p{font-size:15px;color:#64748b;margin:0}.auth-form{margin-bottom:0}.auth-form .ant-form-item{margin-bottom:20px}.auth-form .ant-form-item-label>label{font-weight:500;color:#334155}.auth-input{height:48px;border-radius:12px;border:1.5px solid #e2e8f0;font-size:15px;transition:all .2s ease}.auth-input:hover{border-color:#cbd5e1}.auth-input:focus,.auth-input.ant-input-affix-wrapper-focused{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.auth-input .ant-input{font-size:15px}.auth-input .input-icon{color:#94a3b8;font-size:16px}.auth-input.ant-input-affix-wrapper-focused .input-icon{color:#3b82f6}.auth-input.ant-input-password{padding-right:12px}.auth-form-row{display:flex;gap:12px}.auth-form-col{flex:1}.auth-submit-btn{height:48px;border-radius:12px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;box-shadow:0 4px 12px #3b82f64d;transition:all .2s ease}.auth-submit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-1px)}.auth-submit-btn:active{transform:translateY(0)}.auth-form-actions{margin-bottom:0;margin-top:28px}.auth-divider{margin:24px 0}.auth-divider .ant-divider-inner-text{font-size:13px;color:#94a3b8;font-weight:400}.auth-switch-link{display:block;text-decoration:none}.auth-secondary-btn{height:48px;border-radius:12px;font-size:15px;font-weight:500;border:1.5px solid #e2e8f0;color:#475569;background:#f8fafc;transition:all .2s ease}.auth-secondary-btn:hover{border-color:#cbd5e1;color:#334155;background:#f1f5f9}@media(max-width:900px){.auth-container{flex-direction:column;max-width:480px;min-height:auto}.auth-branding{padding:32px;min-height:auto}.auth-branding h1{font-size:24px}.auth-features{display:none}.auth-form-section{padding:32px}}@media(max-width:500px){.auth-container{margin:16px;border-radius:20px}.auth-branding{padding:24px}.auth-logo{height:40px;margin-bottom:20px}.auth-form-section{padding:24px}.auth-form-header h2{font-size:24px}.auth-form-row{flex-direction:column;gap:0}}.auth-form-container{animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--primary-color: #0056b3;--text-main: #333333;--text-secondary: #666666;--background-light: #f4f7f6;--white: #ffffff;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}body,html{margin:0;padding:0;height:100%;width:100%;font-family:var(--font-family);background-color:var(--background-light);color:var(--text-main);-webkit-font-smoothing:antialiased}#root{height:100%;width:100%}.welcome-card{background:var(--white);border-radius:12px;box-shadow:0 4px 20px #00000014;padding:3rem 4rem;text-align:center;max-width:600px}.welcome-title{margin:0;font-size:1.75rem;font-weight:400;color:var(--text-secondary)}.welcome-subtitle{margin:.5rem 0 1.5rem;font-size:2rem;font-weight:600;color:var(--primary-color)}.welcome-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 0 2rem}.welcome-description code{background-color:#f0f0f0;padding:.2rem .5rem;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.9rem;color:var(--text-main)}.tech-badges{display:flex;justify-content:center;gap:1rem}.badge{padding:.5rem 1.25rem;border-radius:20px;font-size:.9rem;font-weight:500}.badge.react{background-color:#61dafb20;color:#0d7ea0;border:1px solid #61dafb}.badge.fastapi{background-color:#00968820;color:#006b5f;border:1px solid #009688}.ant-table{background:#fff!important}.ant-table-thead>tr>th{background:#fff!important}.ant-table-tbody>tr>td{background:#fff!important}.ant-table-tbody>tr:hover>td{background:#fafbfc!important}.ant-table-wrapper{background:#f5f7fa;border-radius:8px}
